Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question about Input.Move of crafty

Author: Robert Hyatt

Date: 09:47:50 08/20/04

Go up one level in this thread


On August 20, 2004 at 12:41:15, Uri Blass wrote:

>I plan to teach movei to read pgn and one of the functons that I need in order
>to read pgn is to read moves in SAN notation.
>
>Crafty does it in the function InputMove.
>
>I see that Crafty gets a variable that is ponderlist and it seems that the
>reason is that Crafty is using InputMove not only to create book but also during
>pondering when it gets a move from the opponent and it seems to do the task
>harder.
>
>My question is if there is a reason to expect SAN notation during games.
>The problem is that it seems to do the task harder without advantage that I can
>see today and I will explain it.

Crafty can read most any type of move input _including_ SAN.  I did this to
avoid the obvious problems.

>
>
>Movei get only moves in the format e2e4 or g1f3 during games.
>
>I think to support SAN in order to enable movei to read games when there are
>moves like e4 or Nf3.
>
>I also may plan later to change the program to do the opposite translation in
>order to show pv like e4 e5 Nf3(it seems that I may need to make and unmake all
>the pv moves in order to do it) but I see no reason to use SAN notation when I
>have to give only a single move to the computer and I see no reason to expect it
>from a computer or a user that can usually use the mouse if he use something
>like winboard.
>
>The problem is that during pondering I do not want to take back moves unless I
>got unexpected move and I have only list of moves as integers that can be easily
>translated to  g1f3.
>It means that if I get string like g1f3 I have no problem to check if it is
>identical to the reply that I expect but if I get a string like Nf3 or Ngf3 then
>it seems to me hard task to find if I get the expected move and it seems that I
>need to save information about the expected move when I begin to ponder
>in order to do it if I do not want to take all moves back in order to check it.
>
>Uri

The problem I had to deal with in pondering is that to recognize SAN, I need a
current board and the ability to generate moves.  I can't do that in pondering
easily as I am already searching.  The ponder move list is just the list of
moves at the root that are legal, so that I can handle SAN without needing to
generate the legal move set, something that is difficult for me to do in the
middle of the search.

I take the move, convert it to from, to, moving piece, etc, then compare to the
predicted move. That way the operator does not have to enter a specific sequence
of characters, just the right move.  Makes life simpler, believe me...




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.