Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Recapture Extension

Author: Georg v. Zimmermann

Date: 08:56:54 01/10/02

Go up one level in this thread


On January 10, 2002 at 09:09:41, David Rasmussen wrote:

>On January 10, 2002 at 06:09:01, Georg v. Zimmermann wrote:
>
>>On January 09, 2002 at 10:15:53, David Rasmussen wrote:
>>
>>I do this:
>>
>>
>>  /* Capture extensions.
>>   * Conditions:
>>   * Last move was a capture of the piece that
>>   * just moved and it was the only way to capture it
>>   */
>>
>>	if ((!wasNullMove) && (AIBoard.captureExtensionCondition()))
>>
>>		{
>>			extensions += CAPTURE_EXTENSION;
>>                        stats_capext+= CAPTURE_EXTENSION;
>>
>>			#ifdef GAMETREE
>>			if (tree_positionsSaved < GAMETREE)
>>			{ fprintf(fi[ply],"Capture extension: depth+ %d<br>\n", CAPTURE_EXTENSION); }
>>			#endif
>>		}
>>
>>
>>It works very well for me. When I implemented this idea in Crafty instead of its
>>original recap extensions Crafty solved one position more in WAC 5secs on my
>>k6ii/800. I didnt play enough games to statistically prove it got better,I think
>>the improvement was small but existing.
>>
>>Georg
>
>Mmm. This is a capture extension, not a recapture extension. In many cases,
>capturing the last piece moved _is_ the best move, as the last move was hanging
>a piece. But as I see it, there is no need to extend such lines, because these
>are often idiotic futile lines, that will make a beta cutoff anyway. I think it
>is important to ensure somehow that only captures that brings the value with the
>alpha-beta window are extended.

What you describe is what everyone is doing. For me, the above works better.

It does extend on lines where a ply ago there might have been an idiotic move,
quite right, but

a) it will find some combinations much faster
b) it helps a lot with horizon trouble (thats why your idea with "negative
extensions" doesnt work , it will greatly increase horizon problems)
c) it doesnt make silly lines blow the tree, cause an effective NullMove
Algorithm will catch those.

Remember that capture extensionsor recap or a hybrid like what I am doing will
in only very rare cases work with a 1 ply extension, I use 1/2 ply.

Georg



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.