Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: What is horizon effect?

Author: Robert Hyatt

Date: 14:56:39 01/30/06

Go up one level in this thread


On January 30, 2006 at 16:51:05, David B Weller wrote:

>When a move fails high, check the null-move search on that same position to see
>if it fails low (using a lowered window for safety).  If it fails low, something
>is up here as playing move X fails high, standing pat fails low, so probably
>move X is holding off some serious threat by the opponent.  Extend and search
>again to see if you can now see what is happening with the increased depth.
>
>So,
>
>set flag if NM fails low by a certain margin
>then later, while searching real moves, if *any* one fails high
>&& flag was set by NM earlier, research node with extended depth
>
>Have I understood this correctly?

I did it the other way.  Search until you get a fail-high.  But just before you
return the value for the fail high, do the null-move threat test.  If it fails
low, you don't return the fail-high value.  You do another normal search on the
fail-high move alone, but you extend the search by some value (one ply unless
you use fractional extensions and want to try something more or less than that.)

>
>If this is correct, I am still a little unsure of what this actually describes
>in a game tree.
>
>What does the fail high prove/indicate?

The search fails high on a move that appears to be good enough to refute the
opponent's move at the previous ply.  So it is definitely good.  But if it is
the _only_ good move, would that give you any information you don't have?  Yes.
Because I'd rather have several good moves to choose from rather than just one
that seems to do the trick.

Now I know I have a good move.  If I do a null move search on a downward-offset
window, and it fails low, I learned something new.  Namely that if I do nothing,
I get crushed, while if I play the fail-high move, I appear to be doing just
fine.  But I might worry about that since it now looks like my opponent has some
threat that I have only one way to meet.  And if I only have one way to meet it,
I want to make sure there isn't some horizon-effect or insufficient-depth issues
with that move since I am going to be forced to depend on it if the search comes
this way.  It is somewhat akin to singular extensions, but not exactly the same.
 In most normal cases, the offset null-move search will fail high since the
alpha/beta window is above the window used for that search.  So you have
isolated a particular circumstance where one move fails high, and if you "pass"
you get crushed.  That's a "fishy circumstance" and you had better make sure
that one saving move will really save you by searching it deeper.




>
>
>
>BTW, where might I find older Crafty Sources?


There are some on the ftp box.  I will look to see what is there.  Most were
lost quite a few years ago in a disk crash, but I have slowly gotten a few old
versions sent to me over time by those that saved them for whatever reasons...



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.