Author: Matthias Gemuh
Date: 05:50:43 11/26/03
Go up one level in this thread
On November 26, 2003 at 08:32:18, Matthew McKnight wrote:
>On November 26, 2003 at 04:24:31, Matthias Gemuh wrote:
>
>>On November 26, 2003 at 00:53:50, Matthew McKnight wrote:
>>
>>>Hi Bob,
>>>
>>>iterate.c
>>>
>>>In the iterative deepening algorithm, where you adjust your alpha and beta
>>>values for researching, i notice this fragment:
>>>
>>>
>>> else if (value <= root_alpha) {
>>> -----> if (!(root_moves[0].status&2)) {
>>> root_moves[0].status&=255-128;
>>> root_moves[0].nodes=0;
>>> root_moves[0].status|=1;
>>> -----> if (root_moves[0].status&2) root_beta=MATE+1;
>>>
>>> ..... //code omitted
>>> }
>>> else break;
>>> }
>>>
>>>I drew arrows to the lines in question. Correct me if I'm wrong, but isn't this
>>>a contradiction? How will root_beta=MATE+1 ever be executed? I'm looking for
>>>ideas on adjusting alpha/beta at the root, as my current scheme seems poor. Is
>>>there something here I don't understand?
>>>
>>>Matt
>>
>>
>>
>>Hi Matt,
>>the line "root_moves[0].status&=255-128;" seems to make things possible,
>>though I have not tried to understand this complex stuff.
>>/Matt.
>
>255-128 = 127 (or 0x7F - all 1's), and-ing 127 to a number that we know has 0 in
>the second bit, isn't going to change that bit. Nor, is or-ing in a 1. Maybe I
>just can't see it? Time to retire from chess programming?
>
>
>Matt
You have definitely found a Crafty bug !
Looks like I should retire from chess programming again.
/Matthias.
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.