Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Crafty question: root iteration

Author: Sanjiv Karnataki

Date: 19:45:21 02/12/00

Go up one level in this thread


On February 12, 2000 at 19:39:44, Robert Hyatt wrote:

>On February 12, 2000 at 17:46:51, Sanjiv Karnataki wrote:
>
>>Hi All,
>>
>>I was trying to put in MTD(f) in my amateur program, but it seemed to worsen the
>>search times so I decided to do what every amateur does when they get stuck ;) I
>>looked at Crafty's code to see if it did something similar, but I cannot figure
>>out what it is doing.
>>
>>Could someone (possibly Dr. Hyatt) please explain in small words the logic in
>>iterate.c and searchr.c? I understand that it maintains a sorted root move list,
>>but I cannot understand all the stuff it is doing with root_alpha, root_beta,
>>root_moves[0].status. It also modifies root_beta in SearchRoot !?.
>>
>>Any help is greatly appreciated, thank you in advance !
>>
>>Sanjiv.
>
>
>first, I don't use mtd(f).  I tried it, but didn't like it.
>
>iterate simply calls SearchRoot() over and over.  If the value returned is
>< alpha, I relax alpha and search again, same depth.  If the value returned is
>> beta, I relax beta and search again, same depth.  Otherwise I go to the next
>ply.
>
>Other than that I am not sure what you don't understand..  feel free to ask
>specific things however..

Thank you Dr. Hyatt.

A couple of specific questions:
a) Crafty seems to use the two least significant bits of root_moves[0].status in
some way that controls how alpha and beta are relaxed. What do the bits mean and
why different rules for relaxing alpha/beta?

b) If iterate.c controls calls to searchroot, why is SearchRoot in turn also
modifying root_beta ? does that improve the window somehow?

Thank you for your patience and answers !


Sanjiv.



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.