Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: questions about book learning

Author: Bob Durrett

Date: 19:52:32 01/04/04

Go up one level in this thread


On January 04, 2004 at 22:19:22, Robert Hyatt wrote:

>On January 04, 2004 at 13:39:37, Bob Durrett wrote:
>
>>On January 03, 2004 at 23:46:10, Robert Hyatt wrote:
>>
>>>On January 03, 2004 at 21:22:51, K. Burcham wrote:
>>>
>>>>
>>>>
>>>>I am not sure how this book learning works for each book move.
>>>>The value that is changed, is this only because of the loss?
>>>>Is the program using positional values once out of book to change the learned
>>>>value?
>>>
>>>Here is a thumbnail of what I do.
>>>
>>>1.  Crafty remembers the evaluations for the first 10 moves out of book,
>>>after each search has been completed.  It uses these evaluations to detect
>>>a "trend".  IE is the evaluation good and getting better?  Is it bad and
>>>getting worse?  Is it good but dropping (ie it grabbed a gambit pawn and
>>>is beginning to see that it was bad) or is it bad but getting better (IE it
>>>offered a gambit, the opponent took it, and the score is going up).
>>>
>>>It factors all of that together and marks the book line as good or bad.
>>>
>>>2.  Crafty takes the result of a game when it loses, and updates the book
>>>line so that moves tried near the end of the line simply don't get played,
>>>and alternatives near the front of the book line get tried next.
>>>
>>>There is more to it than that, and you can look at the crafty.doc file to
>>>at least see what I am doing in more detail.  It is _very_ effective.
>>>
>>>
>>>
>>>>Lets say e4 is the most solid, dependable first move.
>>>>Lets say we lose 25 games with e4.
>>>>now we have a learned value for something.
>>>>Is this learned value only for e4?
>>>>Is this learned value only for the first move, regardlesss of the line played?
>>>
>>>For me, the entire line gets some "learning adjustment".  The closer to the
>>>first move, the "smaller" the adjustment.
>>>
>>>
>>>>
>>>>If program A plays d4 against program B and wins 25 games.
>>>>If program A plays d4 against program C and loses 25 games.
>>>>If program C plays d4 against program B and loses 25 games.
>>>>I am not sure how this helps the high level book.
>>>
>>>The danger is that you are not learning about the "book", but about
>>>the "engines".  That is a problem.  Fortunately, it is not that common.
>>>
>>>
>>>
>>>
>>>>
>>>>Is all this learning for only the first book move?
>>>
>>>No.  Crafty learns for _all_ moves along a line that was played.
>>>
>>>In fact, if you beat it with a line, you can expect to play against that
>>>line when you change colors and play it again.  :)
>>>
>>>
>>>
>>>>
>>>>kburcham
>>
>>Bob H:
>>
>>I get the impression that the communication with the book, and it's modification
>>is done by a GUI [or UI].  Does this imply that you have modified somebody's GUI
>>[or UI]?
>>
>>Bob D.
>
>Nope.  I have specific code in Crafty.  IE LearnBook() which is called by
>the Crafty UI after each non-book move is played...  And at the end of the
>game when the "result" is known.

The crafty UI?????  That means you are more than just a mere engine designer.  :
)  [you also do UIs]

Are you talking about a highly specialized UI you designed for automated games
at ICC?

Just curious.

My main interest is in getting a better handle on the division of labor between
engines and software external to the engine, such as a GUI, tablebases, and
maybe an opening book.  [may depend on programmer?] Partly, this is an attempt
to find a more precise definition of an "engine."  I thought engine developers
HATED programming GUIs and UIs.  : )  Where does the engine stop and the rest
begin?

Bob D.



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.