Author: Dann Corbit
Date: 20:08:54 07/08/04
Go up one level in this thread
On July 08, 2004 at 21:58:34, Norm Pollock wrote: >What exactly does "book learning" do? It collects statistics about "what happened when we were here." Suppose that you load a database of chess games, and there is some position like this: [D]rnbqkb1r/1p3ppp/p2ppn2/6B1/3NP3/2N5/PPP2PPP/R2QKB1R w KQkq - In your database, there are 300 games that chose f4 and none choosing any other move after that. Of those games, white won 38% and drew 33%. You decide that this is good enough so you make the move. But you end up losing the game. The simplest thing you could do is to tag the move "don't play this." But maybe you were playing a program 500 Elo stronger than you and you were going to lose no matter what you did. So another thing you might do is to increment the losses count for that choice. If you keep playing it and you keep losing, eventually it will get a bad score and not get played. Another thing that might happen is you might play another program that gets into that position and moves instead Qf3. That program happens to win. So you either update the statistics for choice Qf3 or add it to your database. If other opponents keep trying it and winning, eventually it will get the nod. There are obvious problems with this approach. For instance, what happens if you beat some nitwit 30 times with a bad opening. It will take a very long time to recover from that. There are many other things you can store for a book position. You can score the depth of your search the last time you analyzed it and what the evaluation was for it. You can store recent statistics to see if some hole has recently been uncovered for a given opening (last 15 games or something). You can store the average Elo of the player who makes the move under consideration. Probably as many different facts about a move as you can think of could be stored. You could store annotations from BCO, MCO, NCO, ECO. The more data you collect and the more accurate the data, the better. >And suppose multiple engines are all using the same book in a tournament, and >that book learning is on. Won't the book learning of engine A influence the >opening choice for engine B? Some contests require that learning be turned off. Of course, if you do that, the result is more reporducible. On the other hand, it won't play like the copy of the program that you use because it is much smarter to turn it on. >Wouldn't it be much better for each engine to have its own personal copy of the >"shared" book? It depends on what you want to measure. Perhaps you don't even care about wins and losses from the tournament, but the actual goal is to fortify a book for the Orangutan opening by having 10 top engines play against each other with learning turned on and using a book that forces 1. b4. In such a case, you want them to share a book.
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.