Author: Peter Fendrich
Date: 14:53:41 01/02/01
Go up one level in this thread
On January 02, 2001 at 16:10:53, Christian Söderström wrote: >On January 02, 2001 at 15:36:45, Jon Dart wrote: > >>On January 02, 2001 at 05:30:07, Christian Söderström wrote: >> >>>So I am left with 4 bytes. I want to use these to store statistics >>>about the move, to support a future book-learning function. But the >>>thing is I'm not sure what information would be most useful to store! >>> >>>I have a couple of ideas obviously but I am very interested to hear >>>any ideas others might have. 4 bytes is pretty much, but not enough >>>to get too crazy :) >>> >> >>Arasan implements book learning by keeping a float value (which you >>can store in 4 bytes) for each position. If it gets a big + score a >>few moves out of book, it goes back and ups the float value for >>the last book move and (in decreasing amounts) the preceding book >>moves. Similarly it decreases the scores if the score a few moves >>out of book is bad. >> >>Crafty does something similar. The idea is that in subsequent >>games you favor moves with positive learned values and avoid moves with >>negative learned values. >> >>This is certainly not foolproof and not very sophisticated but it's >>at least a basic form of learning. > >Something like that definately works. Isn't a float a bit >overkill though? (No pun intentended) > >Anyway I always figured one of the big points of adding >learning was that the program would avoid playing openings >which it plays poorly long-term, not just those that result >in bad positions a few moves out of book. For instance, >Mint often plays the french with black now, and does very >poorly (especially against humans), however it doesn't >understand that it's doing badly (and in fact it might >objectively be fine) until it sees a material-winning >or mating attack 30 moves in the game. > >So isn't it possible to supplement your idea by also >learning from the end-result of a game? > >- Christian > >>--Jon That's what I am doing. Very shortly: I have a book file and a "post" book file. The first one is build from pgn-files. The latter one is build by Terra itself when saving the 10 or so first moves after leaving the book. The game result is affecting the values for all the moves used from the book and Postbook. I combine this with a more complex logic for Postbook that backs up part of the evaluation a couple of plies upwards in the played line. The back up value is decreased for each upward step. The last complex part is not as useful as it's beautiful! It's far to sofisticated. I have to clear the learning completely from time to time anyway. New releases plays different. Two parameters to consider is the rating of your opponent and the time settings (at least when backing up evaluation). For example when Kasparov outplays Mint (if he's lucky of course...) 10 games in a row Mint might consider 1.e4 and 1.d4 as seriously bad moves and never try them again. It's time to clear the learning again ... :-) //Peter
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.