Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: My fail soft reduces quality of collected PV. Help needed.

Author: Fabien Letouzey

Date: 08:17:02 04/20/04

Go up one level in this thread


On April 20, 2004 at 10:52:39, Volker Böhm wrote:

>Hi,
>
>when looking at crafty I love his nearly perfect PV he returns after search. I
>have implemented a PV collection (that I think is bug-free) but it hasn´t the
>same "quality" i.e. it often does not show the PV to full depth.
>There are three problems:
>1. A "exact" hash hit (not too often in PV, crafty has the same problem)
>2. Leaving the initial search window. A new search with wider window will bring
>the right PV.
>3. A problem with hash, PVS and fail-soft. Crafty hasn´t got this problem as it
>is more "fail-hard" then my engine.
>
>My problem is:
>
>I am only adding moves to the current PV if their value is inside the current
>search-window.
>
>I use PVS. In PVS I search again if the "current move" is better or equal than
>current alpha and it is not a fail high (> alpha & < Beta). (slightly
>simplified, yes you need to find one move > alpha first)
>
>When searching "current move" again, now with Bounds -Beta, -Alpha, the hash
>will allmost everytime have an entry at the next ply. The entry will be a
>"upper-bound" entry (from the past fail low leading to a score > alpha at
>current ply).
>
>I use lower or higher bounds from hash to reduce the current window. An
>upper-bound entry will reduce beta to this entry.
>
>If the new search of "current-move" does return exactly the same score as last
>time it will fail-high against the reduced beta.
>
>Consequence: neither the first nor the second search of this PVS move is stored
>in the PV. Fail hard solves this problem in most cases. But in my tests I had
>additional nodes if I implement a bit more fail-hard.
>
>Has anybody a good solution for my problem? I don´t want to increase nodes
>searched just to get a better PV. Hope I explaned the problem well!
>
>Greetings Volker

I don't know of any solution that does not use larger windows, sorry.

I fail to see, however, how fail hard solves the problem:

Say at a PV node the first move gets value +8.  You search the next
move with window [+8,+9] and get +9.  You re-search with window
[+9,beta] (same result if you use [+8,beta] then shrink the window
using the hash table).  Say you obtain +9 again (that's the exact
value of the second move).  I don't see how you can get a complete PV
then.

I suggest you try without the window-bound update.  I know you don't
want to do that, but measure how many more nodes you search :)

Fabien.




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.