I'm looking for ideas and opinions on how to develop custom opening books for your chess program. Not for testing, but for playing. Presumably there would be a tournament version and more variety based version or it would be integrated into one book somehow.
And this would assume that one does not have the resources to hire or manually produce a high quality book.
I'm not looking for information on how to code it up, this is about how to select the moves to play.
Any ideas?
Opening book
Moderator: Ras
-
bob
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Opening book
Classic book learning works well, the problem is to avoid playing games at too different a time control from what you will play in tournaments, so that what you learn remains relevant.Don wrote:I'm looking for ideas and opinions on how to develop custom opening books for your chess program. Not for testing, but for playing. Presumably there would be a tournament version and more variety based version or it would be integrated into one book somehow.
And this would assume that one does not have the resources to hire or manually produce a high quality book.
I'm not looking for information on how to code it up, this is about how to select the moves to play.
Any ideas?
-
Don
- Posts: 5106
- Joined: Tue Apr 29, 2008 4:27 pm
Re: Opening book
What do you mean by classic book learning? I have seen a million different schemes for book learning and as I have been out of touch for a few years I am not up on the state of the art.
bob wrote:Classic book learning works well, the problem is to avoid playing games at too different a time control from what you will play in tournaments, so that what you learn remains relevant.Don wrote:I'm looking for ideas and opinions on how to develop custom opening books for your chess program. Not for testing, but for playing. Presumably there would be a tournament version and more variety based version or it would be integrated into one book somehow.
And this would assume that one does not have the resources to hire or manually produce a high quality book.
I'm not looking for information on how to code it up, this is about how to select the moves to play.
Any ideas?
-
mclane
- Posts: 18949
- Joined: Thu Mar 09, 2006 6:40 pm
- Location: US of Europe, germany
- Full name: Thorsten Czub
Re: Opening book
IMO you need to store infos about the moves such as
1-9 (how often the move shall be played),
0 if the move should not be played
and if this is possible, bob is right, one could store the result of the line and maybe also the time-control ...
take a normal PGN, and store the info as {doch_book:0} or {doch_book:9}
then later you can merge all PGN games or lines to a tree.
people can enhance the book by merging PGNs with {doch_book:} information to certain moves.
when doch moves, show an info line with the possible moves in the order, e.g.:
doch_book: e2e4:9 d2d4:8 c2c4:6 f2f4:0
so the users or book makes can see the prioritys.
1-9 (how often the move shall be played),
0 if the move should not be played
and if this is possible, bob is right, one could store the result of the line and maybe also the time-control ...
take a normal PGN, and store the info as {doch_book:0} or {doch_book:9}
then later you can merge all PGN games or lines to a tree.
people can enhance the book by merging PGNs with {doch_book:} information to certain moves.
when doch moves, show an info line with the possible moves in the order, e.g.:
doch_book: e2e4:9 d2d4:8 c2c4:6 f2f4:0
so the users or book makes can see the prioritys.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
Here we have a fairy tale of the day after tomorrow....
-
Ferdy
- Posts: 4851
- Joined: Sun Aug 10, 2008 3:15 pm
- Location: Philippines
Re: Opening book
How about thisDon wrote:I'm looking for ideas and opinions on how to develop custom opening books for your chess program. Not for testing, but for playing. Presumably there would be a tournament version and more variety based version or it would be integrated into one book somehow.
And this would assume that one does not have the resources to hire or manually produce a high quality book.
I'm not looking for information on how to code it up, this is about how to select the moves to play.
Any ideas?
1. (c) moves from recent games with won result (weight=?)
2. (c) moves from strong players (weight=?)
3. (a) moves from weaker players that won vs strong players (weight=?)
4. (c) moves from games with high won percentage (weight=?)
5. (b) moves from games of strong players, limit moves to withing 16 moves or less (weight=?)
6. (a) moves from won games of your program (weight=?)
7. (a) moves from world championship games(weight=?)
8. (a) moves from games of players that drew stronger opponents (weight=?)
9. (c) moves from games of your favorite strong players (weight=?)
10. (a) moves from games based on time control (weight=?)
11. (c) moves from games based on opening, say sicilian, ruy, benoni, etc. (weight=?)
12. (c) moves from most no. of games (weight=?)
13. (c) moves from games based on average players' ratings (weight=?)
14. (a) moves from games based on the number of moves the game has finished (weight=?)
a = use computer games
b = use human games
c = use computer and human games
Decide the weight on each item, then calculate the overall weight, select the move with largest weight.
-
Don
- Posts: 5106
- Joined: Tue Apr 29, 2008 4:27 pm
Re: Opening book
Interesting idea, but there is something called the credit assignment problem that probably should be factored in.
I remember Bob explaining how he did it many years ago and wonder if that is still how people do it. It involved credit assignment. I cannot remember the details, but I seem to remember that he gave decreasing weights to each move in book starting from the last position out of book. For instance if the game was a loss, the last book move got most of the blame, the one before that got a little less blame, etc. That may have been conditioned on the strength of the opponents or something.
I remember Bob explaining how he did it many years ago and wonder if that is still how people do it. It involved credit assignment. I cannot remember the details, but I seem to remember that he gave decreasing weights to each move in book starting from the last position out of book. For instance if the game was a loss, the last book move got most of the blame, the one before that got a little less blame, etc. That may have been conditioned on the strength of the opponents or something.
Ferdy wrote:How about thisDon wrote:I'm looking for ideas and opinions on how to develop custom opening books for your chess program. Not for testing, but for playing. Presumably there would be a tournament version and more variety based version or it would be integrated into one book somehow.
And this would assume that one does not have the resources to hire or manually produce a high quality book.
I'm not looking for information on how to code it up, this is about how to select the moves to play.
Any ideas?
1. (c) moves from recent games with won result (weight=?)
2. (c) moves from strong players (weight=?)
3. (a) moves from weaker players that won vs strong players (weight=?)
4. (c) moves from games with high won percentage (weight=?)
5. (b) moves from games of strong players, limit moves to withing 16 moves or less (weight=?)
6. (a) moves from won games of your program (weight=?)
7. (a) moves from world championship games(weight=?)
8. (a) moves from games of players that drew stronger opponents (weight=?)
9. (c) moves from games of your favorite strong players (weight=?)
10. (a) moves from games based on time control (weight=?)
11. (c) moves from games based on opening, say sicilian, ruy, benoni, etc. (weight=?)
12. (c) moves from most no. of games (weight=?)
13. (c) moves from games based on average players' ratings (weight=?)
14. (a) moves from games based on the number of moves the game has finished (weight=?)
a = use computer games
b = use human games
c = use computer and human games
Decide the weight on each item, then calculate the overall weight, select the move with largest weight.
-
rjgibert
- Posts: 317
- Joined: Mon Jun 26, 2006 9:44 am
Re: Opening book
Romichess has a simple opening book learning mechanism that is surprisingly effective:
http://rybkaforum.net/cgi-bin/rybkaforu ... l?tid=3154
http://rybkaforum.net/cgi-bin/rybkaforu ... l?tid=3154