QSearch problem

Discussion of chess software programming and technical issues.

Moderator: Ras

tvrzsky
Posts: 128
Joined: Sat Sep 23, 2006 7:10 pm
Location: Prague

QSearch problem

Post by tvrzsky »

Hi,
recently I have encountered a problem in my QSearch.
In this position
[d]7R/4K1k1/8/5B2/8/8/8/8 b
where Alfa = 0, Beta = 1 and CurrentEvaluation = -(RookValue + BishopValue), move Kxh8 gets excluded from the search because its SEE value (RookValue) is not great enough to raise the CurrentEvaluation above Alfa. There is just a too big discrepancy between the expected evaluation after the capture (-BishopValue) and reality (Draw because of insufficient material).
So my QSearch returns -(RookValue + BishopValue) instead of Draw from this position what eventually spoiled the whole search via hashtable.
How do you deal with this problem?
Ferdy
Posts: 4851
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: QSearch problem

Post by Ferdy »

tvrzsky wrote:Hi,
recently I have encountered a problem in my QSearch.
In this position
[d]7R/4K1k1/8/5B2/8/8/8/8 b
where Alfa = 0, Beta = 1 and CurrentEvaluation = -(RookValue + BishopValue), move Kxh8 gets excluded from the search because its SEE value (RookValue) is not great enough to raise the CurrentEvaluation above Alfa. There is just a too big discrepancy between the expected evaluation after the capture (-BishopValue) and reality (Draw because of insufficient material).
So my QSearch returns -(RookValue + BishopValue) instead of Draw from this position what eventually spoiled the whole search via hashtable.
How do you deal with this problem?
In my case, I don't prune moves with SEE >= 0 :)

You might want to add condition related to material, like don't do this in ending stage.
tvrzsky
Posts: 128
Joined: Sat Sep 23, 2006 7:10 pm
Location: Prague

Re: QSearch problem

Post by tvrzsky »

Ferdy wrote:
In my case, I don't prune moves with SEE >= 0 :)
It is quite restricting, I am afraid, but I will try it.
You might want to add condition related to material, like don't do this in ending stage.
I like this proposal much more.
Anyway, thanks for ideas!
mridul

Re: QSearch problem

Post by mridul »

Just allow all winning captures ... saves a lot of headache - and the node jump is not too high.
i really dont know why people make qsearch unstable with futility !


YMMV ofcourse :-)

Mridul
Sergei Markoff

Re: QSearch problem

Post by Sergei Markoff »

Just include captures which results in having no mating material for the opponent and also use some bound to handle bad trade scores and so on. And also check only See >= captures as was stated above.
tvrzsky
Posts: 128
Joined: Sat Sep 23, 2006 7:10 pm
Location: Prague

Re: QSearch problem

Post by tvrzsky »

Thanks for all your suggestions, my brain looked little bit empty this morning, but you have got me on the right track, I hope :) .
Filip