Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: questions about book learning

Author: Robert Hyatt

Date: 20:24:25 01/04/04

Go up one level in this thread


On January 04, 2004 at 22:52:32, Bob Durrett wrote:

>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?



No.  Any useful program has some sort of user interface, otherwise the user
is not going to be able to do much with the program...

>
>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.


Depends on the program.  Some have a GUI and it is part of the program.  Some
have a GUI that is separate (xboard/winboard for example).  Some don't have
a GUI at all.  All must have a UI of some sort however.



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.