Computer Chess Club Archives


Search

Terms

Messages

Subject: Internal Format of Opening Book - Advice Needed!

Author: Steve Maughan

Date: 06:49:08 01/11/05


I'm starting to think about adding an opening book to Monarch and I'd appreciate
advice or insights than anyone may have.  There seems to be (at least) two ways
to internally manage the opening book information:

1) For each position store the Hash Value and weight for all candidate moves.
Monarch would then probe for each possible move to see if it finds a match;
playing a weighted random move from the ones it finds.  This has a couple of
advantages - firstly it's relatively simple and handles transpositions.  There
are two possible problems that I see.  Firstly, the transposition may be silly
e.g. take the following game:

[Event "?"]
[Site "?"]
[Date "2005.01.11"]
[Round "?"]
[White "?"]
[Black "?"]
[Result "*"]

1. d4 e6 2. Bg5 Nf6? *

The move 2. Bg5 is an error and black can win with 2... Qxg5.  However 2...Nf6
takes black back into the book.  I guess you'd get around this by only playing
moves if the root position is also in the book - so this may be a minor
disadvantage.  Any comments?

The second disadvantage is that if you have 30 possible moves and you're doing a
binary search of a large opening book this may take about 20 probes per
candidate move.  This would mean about 600 probes per position - this seems a
lot to me (although I have little experience in this matter).  I guess it would
be reduced if Monarch first probes the root position and then only go on to
probe the candidate moves if the root position is found.  Can anyone comment of
the time / cost of probing the hash table this many times for each position?

2) The second possible opening book format would store the hash value of the
root position along with some form of linked list of candidate moves.  This
would reduce the number of probes but would add complexity to the internal
structure.  I think YACE uses this format.

Are there any other methods?  What have I missed?  What do you recommend?

Thanks,

Steve Maughan (Monarch)



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.