Author: Bob Durrett
Date: 20:47:02 12/09/03
Go up one level in this thread
On December 09, 2003 at 23:37:58, Robert Hyatt wrote: >On December 09, 2003 at 23:30:41, Bob Durrett wrote: > >>On December 09, 2003 at 23:22:12, Robert Hyatt wrote: >> >>>On December 09, 2003 at 19:36:05, Bob Durrett wrote: >>> >>>>On December 09, 2003 at 13:21:35, Robert Hyatt wrote: >>>> >>>>>On December 09, 2003 at 13:02:56, Bob Durrett wrote: >>>>> >>>>>>On December 09, 2003 at 11:13:56, martin fierz wrote: >>>>>> >>>>>>>On December 09, 2003 at 10:50:23, Sune Fischer wrote: >>>>>>> >>>>>>>[snip] >>>>>>> >>>>>>>>If the bare engine had been playing he would have had to add a few things the >>>>>>>>GUI normally takes care of. >>>>>>>>For UCI engines it is expected that the GUI handles certain (trivial) things. >>>>>>> >>>>>>>claiming a draw on 3-fold repetition is *not* a trivial thing. there are >>>>>>>different possible cases: >>>>>>> >>>>>>>1) if your opponent avoids it, he loses >>>>>>>2) if your opponent avoids it, he wins >>>>>>> >>>>>>>in case 2) you should of course claim the draw, because perhaps he will notice >>>>>>>he could avoid it. in case 1) however, you can safely repeat the moves, and not >>>>>>>claim the draw. it is *not* mandatory to claim a draw on the 3rd repetition. so >>>>>>>you should basically not claim it if you might win if your opponent avoids the >>>>>>>draw. >>>>>>> >>>>>>>how do you expect a GUI to make the right decision? imagine the following >>>>>>>absurdity: jonny is running without GUI and happily repeats moves against >>>>>>>shredder, and does not claim the draw because the engine doesn't know about it. >>>>>>>shredder has a bug and allows a 3-fold repetition but will deviate before the >>>>>>>fourth repetition. now shredders GUI stops shredder from moving, and says "i >>>>>>>claim a draw with my move XY because of 3fold repetition" - this would have been >>>>>>>hilarious for everybody except SMK :-) >>>>>>> >>>>>>>since 3fold repetition is something you claim or don't claim based on the >>>>>>>current position, it is clearly something the GUI shouldn't be doing! >>>>>>> >>>>>>>cheers >>>>>>> martin >>>>>> >>>>>>THIS suggests the obvious changes which should be made to engines and GUIs ASAP >>>>>>by all chess programmers. >>>>>> >>>>>>Before an engine &/or GUI claims a draw, it should evaluate the position and >>>>>>determine whether or not it has a strong advantage. >>>>> >>>>>The engine already _does_ this. It searches every root move individually >>>>>and chooses the one that produces the best score. If you get a draw >>>>>score back, you can safely assume that no other move will give you a >>>>>"strong advantage" since the score of 0.00 was better than any other move. >>>>> >>>>>QED. It chose the drawing move, thinking a draw was the best outcome >>>>>possible in this particular position. >>>>> >>>>> >>>>>> If it does have a strong >>>>>>advantage, then claiming a draw would be precluded by the programmer. In other >>>>>>words, the software would be programmed in advance to make the sensible choice. >>>>> >>>>>Which it already does, as I explained. >>>>> >>>>> >>>>>> >>>>>>Similarly, the engine/GUI should be programmed to claim a draw by repetition in >>>>>>cases where repetition can be played and when also the engine evaluates the >>>>>>position as being a strong disadvantage. >>>>>> >>>>> >>>>>The engine will evaluate the position as 0.00 in the above case. >>>>> >>>>> >>>>> >>>>>>Obviously, humans avoid claiming repetition draws whenever they are winning and >>>>>>claim repetition draws whenever they can if they are losing otherwise. In >>>>>>positions perceived to be equal, humans may or may not claim the draw by >>>>>>repetition depending on other factors such as tournament standing. >>>>> >>>>>If you play a move that repeats for the third time. You can claim the >>>>>draw. Or your opponent can claim the draw immediately when it is his >>>>>move. Playing a repetition for the 3rd time and wishing your opponent >>>>>would not notice reminds me of "Grumpy old men". "You can wish in one >>>>>hand and crap in the other, and see which one fills up first." >>>>> >>>>>:) >>>>> >>>>>> >>>>>>Chess computers should be programmed similarly. >>>>>> >>>>>>Bob D. >>>> >>>>Bob Hyatt: I don't mean to be unkind, but perhaps you should read my bulletin >>>>again. >>>> >>>>Bob D. >>> >>>I also don't mean to be unkind, but must respond "why". Do you think I >>>missed something or misunderstood something? >>> >>>This nonsense about playing a 3-repeat move and hoping the opponent won't >>>see it is totally ridiculous in the context of alpha/beta searching that we >>>are all using. >> >>Yes, indeed. In fact, one of the mistakes I see engines making often in >>analysis is going for the 0.00 move when there is better. I am not talking >>about Crafty. > >The point is that an engine won't go for 0.00 if there is something better >that it can _see_ within its search horizon... If it can't "see" it, it >doesn't exist, however. I will try to come up with a counter-example when I return from Christmas Vacation. I have seen quite a few since I spend many hours per day doing analysis, but didn't see any need to save them. I think you are correct in saying how chess programs ought to be and maybe how Crafty actually is. I do use Crafty, but the counter-examples come from the other top engines: Hiarcs, Shredder, Fritz, Tiger, and Junior. : ) 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.