Author: Bob Durrett
Date: 06:41:18 12/10/03
Go up one level in this thread
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. Another relevant thought: I have seen engines play a move [and display 0.00] which is obviously intended to give the opponent an opportunity to repeat the position a third time. Upon further extensive analysis, I have sometimes found that the engine's doing so was a terrible mistake. Two types of "terrible mistakes" can occur: (a) the engine could have played a much stronger move but didn't, or (b) the opponent engine does not repeat the position a third time but instead plays a much stronger move which could have been prevented. In my view, engines which make these mistakes have "bugs" in them, or simple programming errors. 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.