Author: Andreas Herrmann
Date: 03:50:01 07/18/01
Go up one level in this thread
On July 18, 2001 at 06:27:30, Rafael Andrist wrote: >On July 18, 2001 at 06:23:37, Andreas Herrmann wrote: > >>On July 18, 2001 at 06:21:49, Andreas Herrmann wrote: >> >>>On July 18, 2001 at 06:00:32, Rafael Andrist wrote: >>> >>>>My program missed to avoid a draw in a game (see below) due to some strange >>>>interactions between search and hash. I investigated it and recognized the >>>>following problem: >>>> >>>>- at move 33 my program recognizes a 2x and a 3x rep. during the search. The 2x >>>>rep. is allowed and the 3x is avoided. But in the hash, the move leading to a 3x >>>>rep. is stored. >>>>- I get PV completly from hash, so the displayed PV is incorrect (shows 3x rep.) >>>>but the real PV (inside the search) is correct >>>>- at move 35 my porgram gets the PV leading to a 3x rep. from hash. The PV has a >>>>length of 8 ply >>>> >>>>---> my program cannot search to 9 ply because it has not enough time (fixed >>>>time per move), so it takes the move recommended from hash and draws. >>>> >>>>Has anyone a nice solution to this problem? Or is it so seldom that it can be >>>>ignored? >>>> >>>>Rafael B. Andrist >>>> >>>> >>>>[Event "Betatest"] >>>>[Site "Steffisburg"] >>>>[Date "2001.07.17"] >>>>[White "Wilhelm"] >>>>[Black "Der Bringer"] >>>>[Round "1"] >>>>[Result "1/2-1/2"] >>>> >>>>1. e2-e4 e7-e5 2. Ng1-f3 Nb8-c6 3. Bf1-b5 a7-a6 4. Bb5xc6 d7xc6 5. O-O f7-f6 >>>>6. d2-d4 Bc8-g4 7. d4xe5 Qd8xd1 8. Rf1xd1 f6xe5 9. Rd1-d3 Bf8-d6 10. Nb1-d2 >>>>Ng8-f6 11. Nd2-c4 O-O 12. Nf3xe5 Bg4-e2 13. Rd3-e3 Be2xc4 14. Ne5xc4 Nf6-g4 15. >>>>Re3-e2{7 0.35} Bd6xh2+ 16. Kg1-h1{7 0.31} Bh2-d6 17. f2-f3{8 0.31} Ng4-e5 18. >>>>Nc4xe5{7 0.35} Bd6xe5 19. c2-c3{7 0.36} Ra8-d8 20. Bc1-g5{7 0.36} Rd8-d3 21. >>>>Bg5-h4{7 0.36} Rf8-f7 22. Ra1-e1{7 0.44} Rf7-d7 23. Kh1-g1{7 0.42} g7-g6 24. >>>>Kg1-f2{7 0.48} Kg8-g7 25. Bh4-g3{8 0.45} Kg7-f6 26. f3-f4{8 0.43} Kf6-e6 27. >>>>Re2-e3{8 0.47} Rd3-d2+ 28. Re3-e2{8 0.47} Rd2-d3 29. Re2-e3{8 0.47} Rd3-d2+ 30. >>>>Re1-e2{9 0.48} Be5-g7 31. Re2xd2{8 0.46} Rd7xd2+ 32. Re3-e2{8 0.44} Rd2-d3 33. >>>>Re2-e3{8 0.44} Rd3-d2+ 34. Re3-e2{9 0.46} Rd2-d3 35. Re2-e3{8 0.44} Rd3-d2+ >>>>1/2-1/2 >>> >>>Do you write the Draw value to the hash? I don't do that. Before i made a probe >>>from the hash i check for a draw. >>> >>>1. Check for draw >>>2. Get Probe from Hash >>>3. Nullmove >>>..... >>> >>>Andreas >> >>I also don't write draw positions to hash. >> >>Andreas > >Drawn positions are writen to the hash, but they get a special flag and only the >recommended move is taken from hash, not the value. >But this ist not the problem. > >The problem occurs _only_ if I search the same position later in the game and >_only_ if the search is terminated before reaching a higher depth than stored in >the hash. > >Rafael B. Andrist It seems that you made a value up to date after each finished depth that is important for your draw recognition. Only an idea. Andreas http://www.wbholmes.de
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.