Fhourstones solver equipped with 8x8 solving book
C++ Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
C4.cpp
Game.h
Makefile
README.md
Search.cpp
Search.h
Window.cpp
Window.h
book88

README.md

Fhourstones 8x8

This version of Fhourstones supports bitboards beyond 64-bits, as needed for the 8x8 size popular on littlegolem.net and itsyourturn.com.

It was used to solve the 8x8 game in the late 2014 and early 2015, with the file book88 retaining all solved positions of at most 16 plies.

After running make, the program C488 repeatedly accepts lines containing digits 1-8, and will solve the resulting position. An example session:

> make
g++ -std=c++11 -O3 -Wextra -Wall -DWIDTH=8 -DHEIGHT=8 -DBOOKWORK=24 -DLOCKSIZE=50 -DTRANSIZE=8306069 C4.cpp Search.cpp Window.cpp -o C488
> ./C488
444445555
Solving . . .    
score +  work 33  1 pos / 1 msec = 1 Kpos/sec
1111111188888888222222777777
Solving . . .    
score +  work 15  513960 pos / 153 msec = 3359 Kpos/sec
^D
Be seeing you...

Do not enter an empty line, as the book is too sparse to recognize the 2nd player win there. It does recognize all 4 winning first-move replies (14,23,34,44) though.

Scores are given for the side to move; - = + for a lost, drawn, or won position, respectively. Solutions requiring at least work BOOKWORK get permanently added to the opening book.

With the default transposition table size of 8306069, the program uses just under 500MB of memory. Larger sizes increase the search efficiency. If you have at least 12GB of free memory, then you can compile with -DLOCKSIZE=42 -DTRANSIZE=1040187403 which reduces the size of hashtable entries from 14 to 12 bytes.