Author: David Rasmussen
Date: 15:54:55 01/15/03
Go up one level in this thread
On January 15, 2003 at 17:55:53, Russell Reagan wrote: > >[D]8/2p5/b4p2/8/8/2N1k3/8/4K3 w - - 0 1 > >This is similar to one of Bruce's examples. If black had just played 1. ... Ke3 >(from f3), and white (your program) only had time for a shallow search, it would >see that 2. Kd5+ <any> 3. Nxf6 would win a pawn, and so it would play Nd5+. If >black plays Kf3 to get out of check, and your program thinks that if a position >is repeated it must be a draw (only two repetitions, instead of three), it will >see that Nc3 is a draw, and Nxf6 gives a score of -1.00 (based on material), so >the program would play Nc3. > I understand what he's saying. What I would like is a test position that I can use for testing a repetition scheme for a certain problem. In this case, I would like a position that I could start with, enter some (suboptimal) moves manually to get the positions in the game history position list, and then do a search from the resulting position, that would result in the problem described, if the repetition scheme used had the bug/problem in question. > >The method TSCP uses can sometimes incorrectly claim a draw. For example, from >the opening position you can do this: > >tscp> new >tscp> g1f3 >tscp> g8f6 >tscp> f3e5 >tscp> f6e4 >tscp> e5g4 >tscp> e4g5 >tscp> g4h6 >tscp> g5h3 >tscp> h6g8 >tscp> h3g1 >tscp> g8h6 >tscp> g1h3 >tscp> h6g8 >tscp> h3g1 >1/2-1/2 {Draw by repetition} >tscp> > >Or in SAN... >1. Nf3 Nf6 2. Ne5 Ne4 3. Ng4 Ng5 4. Nh6 Nh3 5. Ng8 Ng1 6. Nh6 Nh3 7. Ng8 >Ng1 > >[D]rnbqkbNr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBnR w KQkq - 0 8 > >The method TSCP uses is that if all of the same squares are empty, it thinks the >position is the same, which is not correct, of course. > >[D]4K3/2R3QQ/8/qp6/5q2/3r4/8/4k3 w - - 0 1 > >In this position, if the computer was playing black, and white (for some reason) >wants to exchange rooks, so he plays Rd7. Your program doesn't want to and has >to play a move quickly in time pressure, so it moves its hanging rook to c3, >Rc3. White really wants to exchange rooks, so he plays Rd3. Now your program >could play Rc7! and win a queen for a rook, but since your program uses the same >method as TSCP and thinks two repetitions is a draw (instead of three), it >thinks that Rc7 is a draw, since the same squares are empty as the initial >position, so it exchanges rooks. Thanks for the explanation. /David
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.