Computer Chess Club Archives


Search

Terms

Messages

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

Author: Volker Böhm

Date: 07:52:39 04/20/04


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



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.