Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Fail soft alpha-beta

Author: Dieter Buerssner

Date: 14:41:44 09/09/03

Go up one level in this thread


On September 08, 2003 at 23:21:53, Russell Reagan wrote:

>These all sound like good reasons to use fail soft. What are the drawbacks to
>fail soft, and the reasons to use fail hard?

I really cannot explain the reasons. I have some ideas. In my engine, I can
configure various parts of the search as fail hard or fail soft. For example, I
have:


#define FAIL_HARD_NULL         0
#define FAIL_HARD_HASH         0
#define FAIL_HARD_SEARCH       0
#define FAIL_HARD_EGTB         0
#define FAIL_HARD_EGTB_HASH    0

In various positions, setting one or more of those to != 0 yields in (sometimes
very significant) faster times. In general, using fail soft seems to produce
smaller trees (as to be expected). One reason for fail hard beeing better might
be move ordering. In fail soft, you have a "best fail low move", in fail hard,
any move fails low the same. Specific search trees might change more often at
some points with fail soft. Ernst Heinz told me "fail hard läuft einfach
besser". I cannot translate it as idiomatic, as it sounds in German language.
Something like "(Often) fail hard just works better". He did not give any
reasoning. You might know, that he is one researcher in this area with many
publications. Just saying such a sentence, without any reasoning, might
indicate, that one cannot understand it easily.

Anyway, I use fail soft as stringent as possible, normally.

Also note, that it is easy, to do it not stringent enough. For example by some
lazy eval code. A fail soft implementation, that returns alpha or beta in the
easy eval cases (where score is certainly are out of the search window) will
make the whole search more or less fail hard.

Regards,
Dieter



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.