dealer — bridge hand generator

Synopsis

dealer [-023ehuvmqV] [-p n] [-g n] [-s seed] [-l n] [inputfile]

Description and example

The program dealer can be used to generate hands for partnerships bidding training or for generating statistics that can be used to design conventions, or win postmortems.

Running the program involves 3 steps. First, the user has to write an input file containing hand-descriptions and action. A very simple example would look something like:

    condition shape(north, any 4333 + any 4423) and hcp(north)>=19
    action printall

The first line specifies a condition for the north hand, in this case, a hand with 4333 or 4432 shape and at least 19 high card points. The second line tells the program to print the 4 hands. The program reads from standard input, so in principle, it is possible to enter the conditions directly into the program. Using a file is a lot more practical though, as it allows the user to re-use conditions and fine-tune the conditions.

Then the program has to be run, it reads the file, looks at the various command line switches and then produces a number of hands. The output appears on the screen but can be re-directed to a file.

Finally, the user has to look at output and analyze the produced hands. Alternatively, the output can be used for a playing program.

Options

-e
Exhaust mode (alpha version).
-g number
Maximum number of hands to generate (default is 1000000).
-l number
Instead of shuffling, deals are read from the file library.dat by M. Ginsberg (see [1]). When using this, the tricks() function is quite fast and bridge.exe from GIB is not used.

[1] ftp://ftp.cirl.uoregon.edu/pub/users/ginsberg/bridge/

-m
Shows a progress meter.
-p number
Maximum number of hands to produce (default is 40).
-q
Suppress PBN output (useful for testing, then switch it back on when generating the ``final'' sample).
-s number
Uses number as the seed for the random generator, running the program twice with the same seed will produce the same sequence of hands.
-u
Select uppercase for the symbols ``AKQJT'' (default is lowercase).
-v
Toggle verbose output, prints statistics at the end of the run (default is on).
-V
Emit a version-identification string and exit.
-h
Help, prints the syntax.
-0
No swapping, each deal is generated normally (shuffling) (default).
-2
2-way swapping, after each shuffle another deal is generated by permuting E and W, leaving N and S in place (NB: not fully compatible with predeal).
-3
3-way swapping, after each shuffle another 5 deals are generated by permuting E, W, and S every which way, leaving N in place (NB: not fully compatible with predeal).

Bugs

I would prefer if you did not use this program for generating hands for tournaments. I have not investigated the random number generation closely enough for me to be comfortable with that thought.

Authors

Hans van Staveren <sater@sater.home.cs.vu.nl>
Henk Uijterwaal <henk@ripe.net>
Manpage: Christoph Berg <cb@df7cb.de>