Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: developing Junior (and other pro programs)

Author: Robert Hyatt

Date: 08:49:42 09/03/02

Go up one level in this thread


On September 03, 2002 at 11:30:35, Gian-Carlo Pascutto wrote:

>On September 03, 2002 at 11:21:53, Robert Hyatt wrote:
>
>>Maybe or maybe not.  If what you "pick up" is a potentially game-winning
>>or game-losing "think" I'd think you would want a significant score change
>>to reflect that?
>>
>>I do...
>
>You should have picked up a part of it in the last iteration.
>
>--
>GCP


Frogs should have pockets so they could carry guns/knives and not have to
worry about snakes.

I don't know about you, but the reason I do a depth+1 iteration is to pick
up something new that I didn't see in the previous iteration.  Otherwise I
wouldn't waste the time.

If you pick up "part" of it in the last iteration, then your score must have
changed significantly.  mtd(f) would have had problems there.  And now you
are going to pick up another "part" of it in this iteration.  And again, mtd(f)
is going to have problems...

So long as your score changes in any significant way, mtd(f) will be hurt by
it.  And how much fail-soft is going to help in reducing the number of
researches depends on how good your move ordering is in a tree where things
suddenly went badly wrong to throw the score way outside the current alpha/beta
window...

I would never say it won't work.  But for the kind of evaluation I have, I
don't believe it will ever work well.  For the kinds of eval swings I have
seen from previous versions of Fritz, as well as Tiger and others, I don't
believe it will work particularly well for them either...


Back to the basic idea.  mtd(f) is supposedly a 10% improvement over PVS.

Suppose your program changes its mind significantly once every 5 consecutive
moves.  Four of those searches will be 10% more efficient with mtd(f).  The
last search will take a big hit.  Probably at least a factor of two.  Is it
worth it to save 10% four times, then lose 100% once?  It takes a pretty simple
evaluation, or at least one that is _very_ stable (which to me implies simple
still) to avoid this.

I worked on trying it for about three months.  I didn't go "all the way" and
add both upper/lower scores/moves into the hash table entries, as mtd(f) really
needs.  But I had to do so many re-searches that I didn't deem it worthwhile to
worry with that...  I did spend a lot of time trying to limit the number of
re-searches.  But if you do three or more, you begin to lose to straight PVS
in the general case...

and you are going to be forced to do at least two searches in the best case...




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.