Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: question about building a book for my program

Author: Uri Blass

Date: 21:07:39 04/07/02

Go up one level in this thread


On April 07, 2002 at 22:07:30, David Dory wrote:

>On April 07, 2002 at 10:15:21, Uri Blass wrote:
>
>>I think to build a small book for my program when the target is mainly to save
>>time on the clock and not to learn.
>>
>>I do not like the idea of a big book because I do not want my program to blunder
>>by playing a book move that the program never looked at it and I also never
>>looked at it.
>>
>>I think to have the book as a text file when every line includes the following
>>information:
>>1)FEN of a legal position
>>2)one book move by algebric notation(the target of the book is not to give a
>>variety of possibility but only to save time so I am not going to give more than
>>one move)
>>3)maximal target time (should be dependent of the speed of the computer) when
>>the book move is going to be played only when the time that my program expect to
>>waste on the move is smaller than that number and in other cases my program is
>>going to calculate.
>>
>>The strings in the text file should be ordered by lexisographic order from the
>>smallest to the biggest.
>>
>>Every time my program plays a move in a game from a position that is not in book
>>it should add the position together with the target time that it knows to it's
>>book in order to prevent it from calculating the same position again.
>>
>>Every time the opponent plays a move my program should check if the position is
>>in book because it is known that it is possible to get the same position in
>>different ways so the fact that my program is out of book should not prevent it
>>to search if the position is in book.
>>
>>Are there programs with free source code that do it in that way and what is the
>>simplest program that does it?
>>
>>Even if there is only a free program for another thinking game that is not chess
>>I may be interested to see the relevant source code.
>>
>>Uri
>
>When you say:
>
>>Every time the opponent plays a move my program should check if the position is
>>in book because it is known that it is possible to get the same position in
>>different ways so the fact that my program is out of book should not prevent it
>>to search if the position is in book.
>
>I'd suggest saving that info to a file for later checking into, but I'd sure not
>put it into the opening book. Seems you could dilute a good opening book into a
>mine field! YMMV
>
>I think putting the FEN for every position in your opening book is more than you
>need. Just store the moves, and your program will show you the position, on
>screen. Are you thinking of finding the next move by searching through the
>FEN's,? Haven't seen any like that, but it sounds creative. Curious to see what
>get's recommended to you.
>
>
>
>Dave

Yes
I think to search through the FEN's and if they are ordered by lexisographic
order then it should not take a long time.

There is a reason that I do not like the idea of remembering the moves.
The same position can happen in a different order of moves and I want to know
that I am in book not only after 1.e4 e6 2.d4 d5 but also after 1.d4 e6 2.e4 e5
and also with opposite sides after 1.d3 e5 2.e3 d5 3.d4

If I store moves I need to remember all of these games and if I store FEN's then
I need to remember only one FEN.

Uri



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.