Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Search behavior in a case of root fail high/low

Author: Tord Romstad

Date: 10:55:46 03/11/04

Go up one level in this thread


On March 10, 2004 at 14:20:29, Sergei S. Markoff wrote:

>I think that MTD(f) or MTD(f)-like schemer are very perspective in
>future. But in SmarThink it seems not to work. Because of SmarThink
>1) Hasn't any mechanism to keep PV excluding hash-table; 2)
>SmarThink hashing scheme isn't quite good to use MTD(f)-drive.
>In critical case it frequently produces a larger tree than
>current method. Anyway if your engine works well with MTD(f)
>you can try some of my ideas. For example in some cases you can
>try after first move fail low to search all remaining moves instead
>of trying to determine exact score of the first move. Than you can
>discover that the first move is the only move that has eval >=
>starting bound. Sometimes it's a good idea to stop failing low and
>try to determine move singularity. At vice versa, you can try to stop
>failing high to find other instead of failed. Be sure that not
>all zero-window searches are equal. Larger bound causes a faster
>searching (it's obvious, but...).

Interesting ideas, I will think about them.

>About null-move. Now only one hint. You have seen, I think, that
>in Crafty, for example, zero move search result is using only
>if it >= beta. Why not to use this result if it >alpha, but <beta?
>Interesting question? In MTD(f) practically usual zero-move works
>exactly this way.

In MTD(f), of course >alpha but <beta is not even possible.

>It's interesting: I think that in Fritz at least we can see some
>non-well-known modifications of null-move search. It frequently
>avoids zugzwang in positions that is absolutely ununderstandable
>for standart scheme.

I have no idea what Fritz does, but I have a primitive technique
which at least helps in some simple cases:  I don't allow null
moves in positions where the side to move has very few safe
pseudo-legal moves.

>SmarThink before regular null-move search is trying to search
>zero move to Depth=1 ply. Only if it causes result >= beta, than
>SmarThink trying to search null-move to a full width. Anyway it's
>not solving a most of null-move search problems.

This is another technique I have experimented with, but the last time
I tried it didn't work very well.

Tord



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.