Double Dummy Solver
DDS is the fastest and most widely used public-domain double-dummy solver for bridge hands. I released the first version in 2006, and in 2014 Soren Hein became a co-author due to his many contributions.
At its core, DDS solves a single bridge hand for a single declarer and a single strain (trump suit or NT). It does this from the beginning of the hand or from a given position during the play.
On top of this, DDS makes a large number of functions available to programmers for common tasks. These functions make highly efficient use of the core functions, sometimes in ways that a programmer could not do on his or her own. Examples are:
- SolveAllBoards which solves several hands in parallel in a single batch.
- CalcDDtable which calculates the double-dummy results for all four possible declarers and all five possible strains in a single function call.
- CalcAllTables which solves a group of double-dummy hands efficiently.
- Par calculation functions based on the double-dummy results.
- AnalysePlay which takes the played cards in a hand and scores each card compared to double-dummy play.
DDS includes source code as well as DLL executables. The program is free and is licensed under the open source license Apache 2.0.
There is a development repository, bridge-dds, for DDS on GitHub for interested contributors. My website remains though as the official place for publishing distributions.
DDS has been implemented for Windows, Linux and Mac OS X. Andrew Orsich has made a .NET wrapper.
The DLLs are for Windows. They can be freely used for any purpose without charge. If you use a DLL for your own publicly available program, please give a reference to DDS and please let us know, so that we can include your program in the list.
The function interface to DDS has grown over the years, and we are considering a modest streamlining as described in the Callable Functions. If you have comments, do let us know.
The DDD driver for DDS has been adapted to DDS 2.8.0, DDD 1.1.0. It has been written by PM Cronje and released under the GPL, the modifications needed for the DDS 2.8.0-adaptation have been done by Soren Hein.