Some time ago I've started to play Go, after having played Chess since a young age. I've always been an avid user of chess software, both for analyzing games and casual playing against old/weak chess engines. I actually have an electronic DGT chess board for this.
Compared to the number of Chess engines, Go engines are few and far between. I've read good things about Pachi, but had little success in using the current Windows build under the Drago GUI. The 32-bit Windows version on the Pachi site (http://http://pachi.or.cz/) is crash prone due to memory problems, especially when using large opening books and pattern files. According to Pachi's readme, it should limit the memory usage to stay around 1.4GB (excluding patterns and opening books), but it doesn't do so. I have had this version crash and terminate unexpectedly multiple times.
Therefore, I've decided to compile Pachi 11.0 myself to see if this can be improved. I failed to compile it under MinGW/MSYS. I tried both the native version and Cygwin version, both 32-bit and 64-bit, and custom make-files, but I kept receiving loads of compiler errors. However, it did work perfectly fine under Cygwin's default compiler, after a small change in its make-file. The only drawback is that this version needs Cygwin's Linux-to-Windows compatibility layer, which makes the engine somewhat larger.
Attached to this post you'll find this Cygwin-build, in both 32-bit and 64-bit. I've tested both of them under Drago, using the largest patterns and opening books. The 32-bit version, using the default memory settings (which is, provide no setting), caps out at 1750 MB. The 64-bit version, using max_tree_size=8192, caps out at 7850 MB. Both versions have played several full games without problems.
Note: Drago adds the option "-d 0" by default, due to the settings in its config file. If you leave this option in place, Pachi will be unable to load the pattern files or opening books. I do not know if this is a bug, or by design. After adding Pachi to Drago, click the [...] button next to "Parameters" in the engine settings window, and replace the command line, completely removing "-d 0":
32-bit version: -f "C:\Programs\Go\Engines\Pachi_11_0\32-bit\books\book_pro_6d.dat" threads=1
64-bit version: -f "C:\Programs\Go\Engines\Pachi_11_0\64-bit\books\book_pro_6d.dat" threads=1,max_tree_size=8192
Change the following where needed:
-f option path: point to the location where you have put the opening books.
threads=1: My 4-core i7-6820HQ with HT (4 physical cores, 4 logical) hits 90% when running 6 threads. This setting depends on the number of cores your CPU has available.
max_tree_size=8192: I can spare 8GB for Pachi if I want. Reduce this number if you don't have that much memory. The 32-bit version cannot use more than 2GB RAM; by default (when nothing else is specified), it'll top out at 1750 MB when using the largest books and patterns.
It is highly recommended to download the pattern files here: http://pachi.or.cz/pat/
If you haven't got an archiver to extract them, you can use 7-zip: http://www.7-zip.org/
The pattern files need to be in the folder where pachi.exe is located. If you want to install both the 32-bit and 64-bit version, you'll have to have two copies of the files, or work with symbolic links.
Note on GoGUI: Pachi's scoring commands are not compatible with GoGui. It does not score the game after it ends. You can hit "Score" in the menu, but the score will be wrong, as dead groups are not declared dead. You can get the correct score by clicking each dead group. (The other way around is also true: Fuego's scoring commands or not compatible with Drago, as mentioned int the Fuego thread.)
I hope this contribution is of use to you
Versions:
Pachi 11.0 Retsugen: http://asmoda.net/files/pachi_11_0_win32_win64.zip
Pachi 11.99 (bèta), 14-06-2016: http://asmoda.net/files/pachi_11_99_201 ... _win64.zip