This is the Ntest engine, developed originally by Chris Welty. The engine is capable of playing online at the Generic Game Server (GGS) located at the University of Alberta, Canada. See http://www.cs.ualberta.ca/~mburo/ for more details about that.
I have created a simple client/server system to enable distributed opening book building. The server generates a list of candidate lines by using a method called drop-out expansion. This method prioritizes long lines with scores close to 0, to find many draws, but also shorter lines that are further from 0. This enables the book to expand promising lines as well.
First you need to start the server. Choose a level (depth) and a port:
C:\ntest-server> type parameters.txt 32 3.2 JA s26 0 0 0 0 1 1 -1 -1 JA s20 0 0 0 0 1 1 -1 -1 # coeff params black white black_rand white_rand show_book_black sbw .... # negamax showbook_info_me showbook_info_opponent C:\ntest-server> ntest.exe b11 s26 300 1 server 1234
You need to edit the second line of parameters.txt with the level you intend to use. The first line specifies the size of the hashtable and the approximate processor speed.
Clients are also launched using ntest.exe. You can launch one or more clients but each needs to be in its own directory. They can even be on separate machines - the whole point of distributed computing ;-). Here's how you would connect to the server:
C:\ntest-client-1> type parameters.txt 128 3.2 JA s26 0 0 0 0 1 1 -1 -1 JA s20 0 0 0 0 1 1 -1 -1 # coeff params black white black_rand white_rand show_book_black sbw .... # negamax showbook_info_me showbook_info_opponent C:\ntest-client-1> ntest.exe b11 s26 300 1 client localhost 1234
The parameters are similar to the server parameters.
This should kick off the server which starts by generating lines. If the book is empty the first move to expand will be D3. After a while though the client will synchronize and the server will have more lines to prioritize next. Check variations.txt in the server directory to see the working queue.
The server writes a few files to enable simple monitoring.
You should download one of the big books in the downloads section. Place the book file in your server's Coefficients directory. This will save you a couple of years of computing time ;-).
<UserMacro Name="BOOST_INCLUDE_DIR" Value="C:\Users\Daniel.SBG\Programming\boost_1_41_0" /> <UserMacro Name="BOOST_LIB_DIR" Value="C:\Users\Daniel.SBG\Programming\boost_1_41_0\stage\lib" />
These applications can be used to browse the book. NBoard connects to a version of ntest that can even analyze positions too!
It would be nice to have the ntest books in WZebra format as well. I know there are converters out there so if someone would like to help, I would be most grateful!
If this happens it means you need to install the redistributable package from Microsoft.