While bridge is a game of incomplete information, a double-dummy solver analyses a simplified version of the game where there is
perfect information; the bidding is ignored, the contract (trump suit and declarer) is given, and all players are assumed to know all cards from the very start. The solver can therefore use many of the
game tree search techniques typically used in solving two-player perfect-information win/lose/draw games such as
chess,
go and
reversi. However, there are some significant differences. • Although double-dummy bridge is in practice a competition between two generalised players, each "player" controls two hands and the cards must be played in a correct order that reflects four players. (It makes a difference which of the four hands wins a trick and must lead the next trick.) • Double-dummy bridge is not simply win/lose/draw and not exactly
zero-sum, but constant-sum since two playing sides compete for 13 tricks. It is trivial to transform a constant-sum game into a zero-sum game. Moreover, the goal (and the risk management strategy) in general contract bridge depends not only on the contract but also on the form of tournament (due to differences in scoring systems affecting the optimal general strategy). However, once the game has been reduced to deterministic double-dummy analysis, the goal is simple: one can without loss of generality aim to maximize the number of tricks taken. • Bridge is incrementally scored; each played trick contributes irreversibly to the final "score" in terms of tricks won or lost. This is in contrast to games where the final outcome is more or less open until the game ends. In bridge, the already determined tricks provide natural lower and upper bounds for
alpha–beta pruning, and the interval shrinks naturally as the search goes deeper. Other games typically need an artificial
evaluation function to enable alpha–beta pruning at limited depth, or must search to a leaf node before pruning is possible. • It is relatively inexpensive to compute "sure winners" in various positions in a double-dummy solver. This information improves the pruning. It can be regarded as a kind of
evaluation function, however while the latter in other games is an approximation of the value of the position, the former is a definitive lower bound on the value of the position. • During the course of double-dummy game tree search, one can establish equivalence classes consisting of cards with apparently equal value in a particular position. Only one card from each equivalence class needs to be considered in the subtree search, and furthermore, when using a
transposition table, equivalence classes can be exploited to improve the hit rate. This has been described as
partition search by Matthew Ginsberg. • Numerous strategy games have been proven hard in a
complexity class, meaning that any problem in that complexity class can be reduced in
polynomial time to that problem. For example, generalized
chess has been proven -complete (both in and -hard), effectively meaning that it is among the hardest problems in . However, since there is no natural structure to exploit in double-dummy bridge towards a hardness proof or disproof, unlike in a board game, the question of hardness remains. == The future ==