Many Faces uses position value collection.  Positions are hashed and looked
up in the position table (with a hash invariant to rotations and
reflections).  Each node has information about the position (wins, losses,
strongest players at this position, etc).  It's easy enough to do a 1 ply
search to get position -> move values.  It's easy to fill the table with
professional positions to get a pro game collection.  It's easy to map a
game tree to the table.  So I think this is the most general solution.

Earlier versions used a game tree since that is much easier to code.  I
switched to the position/value collection in version 12.

David

-----Original Message-----
From: computer-go-boun...@computer-go.org
[mailto:computer-go-boun...@computer-go.org] On Behalf Of Willemien
Sent: Wednesday, June 17, 2009 4:45 AM
To: computer-go@computer-go.org
Subject: [computer-go] opening book structure

I was puzzeling what is the best way to organise an opening book?

i am writing a program to be very strong on 7x7 go program (as
prelimary for writing a very strong 9x9 program ) and am wondering
what is the best structure for an opening book.

Where i am at the moment is:

There are about 4 fundamentally different ways to structure it

1  a position -> move collection (if the position is such make that move)
2 a position value collection (this position is good, that position is
bad for the colur who is on the move)
3  a professional game collection (let the program just play like the pro's)
4 a game tree (game with lots of variations)


all have there advantages and disadvantages.

1 is close to what the program uses but is a long list. (difficult to
maintain?)
2 same problem as 1 maybe even more extreme, but easy to use for the program

3 are reasonably easy to find. (for standard sizes Godod ed) but has
many hiatus (what if
my opponent doesn't play like Go Seigen)
4 is easy to use with go editors (Drago ed) but problems with
transpositionings ed.

I would like to hear from others what kind of opening book they use
and why. and how they maintain it.
and if i am missing important things.
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to