This software evaluates double-dummy bridge hands.
I have made some attempts to make the system
not overly user-hostile.
This software is tricky to write correctly,
and it is hard to verify
correctness.
- EVAL:
evaluates a bridge hand and, optionally, produces a playing tree
This program determines whether one side
can take the specified number of tricks against
perfect defense and, if so, exactly how it can be done.
Newer versions have dramatically improved
performance.
- PLAY:
uses the playing tree to play optimally
You get to play defense against the program's perfect offense.
In this manner, you will observe how any possible defense
can be overcome.
- The Version 1 system uses
alpha-beta search, including some
amenities:
dynamic rank equivalence, suit ordering,
and dynamic rank ordering.
A brief discussion of some
implementation details is available.
- The Version 2 system uses
node isomorphism and is an order
of magnitude faster than Version 1.
It also allows the user to configure memory usage.
This version was a bit trickier to code since now there is a DAG
(directed acyclic graph) rather than merely a tree.
- The Version 3 system uses
node equivalence.
For difficult problems it is an order of magnitude faster than
Version 2. Version 3 files are fundamentally different from
and incompatible with earlier versions.
- The Version 4 system uses dynamic backtracking, some dynamic
heuristics that are enhanced by learning techniques utilizing
self-organizing lists, and some code tuning.
Version 4 appears to be about twice as fast as Version 3.
(For some hard hands, it is an order of magnitude faster
than Version 3 for tree construction.)
Optionally, the program determines the maximum number
of tricks that are guaranteed makable, as opposed to just
deciding the question for a specified number of tricks.
- Can you solve this
devilish hand, which was described in rec.games.bridge?
If not, EVAL can solve it for you.
-
Here is another hand.
- This slam hand was presented
as the Bridge Plaza Deal of the Week in April 1997.
NOTE ADDED March 2008:
The old EVAL software will not run on newer architectures.
Some year, when I have a chance, I will recompile it.
Back to my home page.
Dan Hirschberg
Computer Science Department
University of California, Irvine, CA 92697-3435
dan at ics.uci.edu
Previous modified: Nov 24, 2000
Last modified: Mar 17, 2008