The original way of passing data to the program, before the
web front end was added, was with a board
file, which looked a lot like the board files which John Chew's DOoMs
generate. In expert mode, you can enter one of these files
directly and bypass the possibly slower form filling.
Here are the three main ways you can run simulations:
- bdendgame shows the format for getting the program to solve an
endgame. Note this is a Sowpods game, so be sure to chose sowpods from the dictionary menu,
and to press the "Perform exhaustive endgame analysis" button.
- bdsim2 shows the format for Monte Carlo simulations. This one is
again sowpods. There are two ways to do simulations: you can do
n-move lookaheads, or complete-game sims.
- I've made bdsim2 be for 2-move lookaheads (this is done with the
"sd 4" command, where 4 is the number of 1/2 moves you wish to look
ahead.) The length of the sim is 40,000 iterations ("sl 40000"), and
in this case our rack is in "r0 ABLLOSU". If some or all of the
opponent's rack were known, e.g., due to losing a turn when they
played a phony, we could have "r1 xxx" where xxx are opp's known tiles
-- the simulator will place those known tiles on opp's rack when
choosing random racks for opp. Pressing "Run sims
to given ply depth" is equivalent to the command line
"simul -ldd s bdsim2".
- To play out games to the end, press the "Run sims to end of game"
button. This is equivalent to the command line
"simul -ldd p 10000 bdsim2 |
countwins -n 4 -p 4000", which will play out 10,000 games to the end
and produce log2s of the result. The pipe command and "countwins" are
a perl script which summarizes the results: it knows there are 4 moves
being simulated ("-n 4"), and it will print out an intermediate set of
results every 4,000 log2s ("-p 4000", which corresponds to 1,000 games
with each of the 4 moves).
- bdblank is a blank file you can use to start your
own input file. However I recommend using the web front end, which makes
input easier and still produces a suitable file for you - it's easier than
creating one with a text editor.
Here is some sample output from the command-line version:
pizzabox:~/scrabble/jacsim> ./simul -ldd s bdsim2
After 0 iterations:
27.0 ( 0.0) 6f LOB
26.5 ( 0.0) 4i BUHL
26.0 ( 0.0) l2 BOA
24.0 ( 0.0) 4k HULLO
After 400 iterations:
27.8 (43.5) 4i BUHL
23.6 (47.7) 6f LOB
17.4 (53.2) 4k HULLO
12.4 (39.8) l2 BOA
After 800 iterations:
26.9 (44.4) 4i BUHL
22.7 (45.7) 6f LOB
18.8 (53.5) 4k HULLO
12.0 (41.0) l2 BOA
...
After 38800 iterations:
27.2 (45.7) 4i BUHL
22.8 (44.9) 6f LOB
21.3 (51.9) 4k HULLO
11.8 (42.2) l2 BOA
After 39200 iterations:
27.2 (45.7) 4i BUHL
22.8 (44.8) 6f LOB
21.3 (51.9) 4k HULLO
11.8 (42.2) l2 BOA
After 39600 iterations:
27.1 (45.7) 4i BUHL
22.8 (44.8) 6f LOB
21.3 (52.0) 4k HULLO
11.8 (42.2) l2 BOA
After 40000 iterations:
27.1 (45.7) 4i BUHL
22.8 (44.8) 6f LOB
21.3 (52.0) 4k HULLO
11.8 (42.2) l2 BOA