Author: Uri Blass
Date: 22:45:56 01/11/02
Go up one level in this thread
On January 11, 2002 at 18:06:24, Matthias Gemuh wrote: >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. 1)Some details about my source code Most of the code is the move generator and it is clearly not taken from TSCP. I copied some names of varaibles and I use similiar search rules *for now* I also use similiar structure in the main function but it is not a code that I started by changing TSCP. 2)If you do not want to answer directly to my question you do not have to answer me but I still expect at least to explain how do you expect David to understand it. Do you expect David to understand it because of previous knowledge about your code that you sent him by email or maybe because of previous knowledge about Crafty's code or another free code? Uri
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.