Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: No explosions

Author: Matthias Gemuh

Date: 15:06:24 01/11/02

Go up one level in this thread


On January 11, 2002 at 17:52:50, Uri Blass wrote:

>On January 11, 2002 at 17:40:09, Matthias Gemuh wrote:
>
>>
>>[D] 3r3k/3r1P1p/pp1Nn3/2pp4/7Q/6R1/Pq4PP/5RK1 w - - 0 1
>>
>>Even when I limit extensions to 2 !!! (instead of 1),
>>no explosion occurs.
>>Positive side effect is I see this mate then at ply 3 (instead of 5).
>>My extensions are then
>>
>>    nLocalExt = 0; MultiVariant->nExt[nPly] = 0;
>>    if (ChsStrct->extCheck[nPly]) { nCounters.nExtCheck++; nLocalExt += 400; }
>>    if ((nPly >= 2)&&(ChsStrct->extCheck[nPly-2])&&(ChsStrct->extCheck[nPly]))
>>            { nCounters.nDoubleCheck++; nLocalExt += 200; }
>>    if ((nPly)&&(ChsStrct->extCapture[nPly-1])) {
>>        if (ChsStrct->extCapture[nPly] == 2) { nCounters.nExtRecap++; nLocalExt
>>+= 260; }
>>    }
>>    if (mate_threat) nLocalExt += 400;
>>    if (ChsStrct->extOneMove[nPly]) nLocalExt += 400;
>>    if (ChsStrct->extPromo[nPly]) { nCounters.nExtPromo++; nLocalExt += 400; }
>>    if (ChsStrct->goodMoves[nPly] == 1) nLocalExt += 120;
>>    else if (ChsStrct->goodMoves[nPly] == 2) nLocalExt += 80;
>>    else if (ChsStrct->goodMoves[nPly] == 3) nLocalExt += 40;
>>    nLocalExt += 5*ChsStrct->extPawnPush[nPly];
>>    if ((nPly)&&(ChsStrct->extCapture[nPly-1])) {
>>        if (ChsStrct->extCapture[nPly] == 1) { nCounters.nExtRecap++; nLocalExt
>>+= 160; }
>>    }
>>    if ((nPly >= 2) &&
>>((MultiVariant->megaMove[nPly-1]-MultiVariant->megaMove[nPly-2]) > PAWNVALUE) &&
>>        ((MultiVariant->megaMove[nPly-1]-MultiVariant->megaMove[nPly-2]) < >>2*PAWNVALUE))
>>                { nCounters.nExtMegaMove3++; nLocalExt += 60; }
>>    if (nPly >= 2) {
>>        if ((MultiVariant->megaMove[nPly-1]-MultiVariant->megaMove[nPly-2]) >
>>3*PAWNVALUE)
>>                { nCounters.nExtMegaMove1++; nLocalExt += 180; }
>>        else if ((MultiVariant->megaMove[nPly-1]-MultiVariant->megaMove[nPly-2])
>>> 2*PAWNVALUE)
>>                { nCounters.nExtMegaMove2++; nLocalExt += 120; }
>>    }
>>    nLocalExt /= 400; if (nLocalExt < 0) nLocalExt = 0;
>>    nLocalExt = min(2, nLocalExt); MultiVariant->nExt[nPly] = nLocalExt;
>>
>>
>>400 pts = 1 ply
>>I have just increased 1 reply from 300 to 400, still no explosion.
>>Store your extensions locally at the nodes!! That is the key.
>
>I do not understand this code because I do not know
>the meaning of the variables
>
>I am not going to look at it for many hours in order to try to guess the meaning
>of the variables.
>
>Guessing the meaning of part of them correctly is not enough.
>Can other programmers understand the meaning of this code?
>
>Uri



The code was not meant for you.
If David Rasmussen does not understand any part of it,
he will ask me and I will clearify him. Don't think I have
lots of time to explain things unnecessarily.
Stick to your tscp clone.

Matthias.







This page took 0.01 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.