Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: questions about book learning

Author: Bob Durrett

Date: 07:39:51 01/05/04

Go up one level in this thread


On January 04, 2004 at 23:24:25, Robert Hyatt wrote:

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

I guess you force me to reveal my ignorance.  I no longer "understand" the
meaning of "UI"  : (

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.