dds/hands at develop · dds-bridge/dds · GitHub
Skip to content

Latest commit

 

History

History

hands

Folders and files

The text files in this directory are input files for the `dtest` program.

For detailed information about the `dtest` program and the format of these input files, please see the [dtest documentation](../library/tests/README.md).

Related utilities (outside this directory):

- Generate a new list: `bazelisk run //python/utilities:create_list_for_dtest -- -n 42 --seed 42 -o hands/list42.txt`
- Regenerate every `listN.txt` size found in the hands directory: `./utilities/src/regenerate_hand_lists.sh`
- Verify lists with every dtest solver mode: `./utilities/src/verify_lists.sh hands/list*.txt`

See also [python/utilities/README.md](../python/utilities/README.md) and [utilities/README](../utilities/README).

For the curious, the hands are as below.

masterDD.txt
------------
Consists of Richard Pavlicek's collection of hands from
top-level play (which in turn comes from another source), 
as well as many of the hands that Soren Hein played with his 
partner online over a five-year period.

Of the 83,692 individual hands, by far most of them are from
Pavlicek's archives.  About 5-6,000 of them are Soren's play,
many of them with results from the other table as well.

Overall this database has a fair amount of duplicated hands
played at more than one table, though clearly less than 50%.
In that sense it is a good test of the duplication recognition
in DDS.

listNNN.txt
------------
Unique deals generated by our create_list_for_dtest utility.

To verify uniqueness across files, from the repository root these two
commands should return the same result.
Awk captures the deal string from the PBN line - it's enclosed in double quotes.
cat hands/list*.txt | awk '/^PBN / { s=$0; sub(/^[^"]*"/, "", s); sub(/".*$/, "", s); print s }' | wc -l
cat hands/list*.txt | awk '/^PBN / { s=$0; sub(/^[^"]*"/, "", s); sub(/".*$/, "", s); print s }' | sort | uniq | wc -l

legacy/listNNN.txt
-------------
These are excerpts from the larger masterDD.txt file,
preserved for reference or comparison with runs from earlier
DDS versions. legacy/list1000.txt and legacy/list10000.txt
contain many duplicates. We've determined that duplicates
are not a major use-case for DDS, so we prefer that our
benchmarks contain only unique deals.

largest.txt
-----------
These are 21 hands from masterDD.txt that take a particularly
long time to solve.

thomas1.txt
thomas2.txt
-----------
These are artificially constructed hands that take a very long
time to solve.

sol100000.txt
sol10.txt
-------------
These are hands with CalcTable solutions.  I think they came from
an original DDS test program.

nothing_makes.txt
-----------------
A deal where neither side can take more than six tricks at double-dummy.
In v3.0.0 and earlier, dtest was unable to parse such deals.