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.