Author: Vincent Diepeveen
Date: 03:36:56 01/06/04
Go up one level in this thread
On January 05, 2004 at 22:38:45, Antonio Dieguez wrote:
>On January 05, 2004 at 19:48:25, Bas Hamstra wrote:
>
>>>>Here is what I tried (idea from Bruce I believe):
>>>>
>>>>Before you search all moves (after nullmove) you search all moves (unsorted)
>>>>with D-R
>>>
>>> Good point I had missed :)
>>> I was doing an expensive D search with (Alpha-Margin,Alpha-Margin+1) and if
>>>only one move failed high, search it again with (Alpha,Beta) extended 1 ply.
>>>
>>>>and check if there is one and only one move with a score above alpha
>>>>*and* above Alpha-Margin.
>>>
>>> So if I get it right, you search all moves with D-R and a null window around
>>>Alpha-Margin. If only one move fails high, then search it again with D-R and a
>>>null window around Alpha. If it fails high again, then that move is extended.
>>
>>It did not do this, but your idea might be better. I did one single pass with
>>window(Alpha-M, Alpha) and simply counted the results.
>
>hi
>
>I don't know if you did it or if it makes big difference, but now that i think
>of it, when searching with a window that includes ranges that are worth the same
>(areas XYZ, like Alpha-M+1 to Alpha-1 in your window above) there is an
>optimization like this, at the top of search. Don't ask me what is best.
>
>if (alpha is in an area XYZ)
>{
> alpha = higher value in area XYZ;
> if (alpha>=beta)
> { return beta; }
>}
>
>if (beta is in an area XYZ)
>{
> beta = lower value in area XYZ;
>}
This is only possible when your program does not use a transpositiontable.
Vincent
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.