Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: draw recognition and hash interactions

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.