Author: Uri Blass
Date: 14:52:50 01/11/02
Go up one level in this thread
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
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.