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.