Computer Chess Club Archives


Search

Terms

Messages

Subject: No explosions

Author: Matthias Gemuh

Date: 14:40:09 01/11/02

Go up one level in this thread



[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.





This page took 0.05 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.