Double Attack

From Chessprogramming wiki
Jump to: navigation, search

Home * Chess * Tactics * Double Attack

Le duelliste à l'épée et au poignard [1]

A Double Attack attacks two or more pieces or important squares simultaneously with one move, either by forking with the moving piece, or at least by a single direct attack of the moving piece in conjunction with a discovered attack. The so called royal knight fork winning the queen is most important, but like other double attacks involving checks already covered by usual move selection heuristics.

Seeing Potential Forks

Like a skewer or other tactical threats, it might be nice to determine the availability of forks in advance, to either try those moves early, to don't prune or reduce them, or even to try them at the horizon in quiescence search. As always, it depends on the board representation and the availability of appropriate data structures like Attack and Defend Maps, whether additional effort in determination of fork pattern, what kind of pieces to consider etc., makes sense and pay off.

Knight and Pawn

A common technique in bitboards to determine fork move target sets for respective pieces is to treat potential opponent targets as the kind of piece which may fork, and to pairwise intersect all their disjoint direction attacks, as demonstrated in knight forks.

Pawn fork targets have only two different and contact attacking directions. For instance, white pawn fork targets need the intersection of east and west black pawn attacks of all black pieces, excluding the guarding real black pawn attacks. If this resulting set intersects with white pawn push targets, white has likely (considering pins) one or more pawn forks.

Single pawn and knight forks are easy to determine with any board representation, since the patterns are simple. For knight forks one may rely on knight-distance of two, implying the precondition of same square color between all potential attacking targets and one own attacking knight.

Sliding Pieces

For sliding piece forks, Mailbox or 0x88 based board representations may rely on techniques as described in Intersection Squares, while it seems bitboards have an edge using attack set intersection of a pair of targets.

See also

Forum Posts

External Links