Computer Chess Club Archives




Subject: Re: Rybka code

Author: Chrilly Donninger

Date: 06:19:53 12/12/05

Go up one level in this thread

On December 12, 2005 at 09:05:22, Alessandro Scotti wrote:

>On December 12, 2005 at 07:18:32, Chrilly Donninger wrote:
>>The code from where I know that Rybka uses PVS:
>>.text:0040D156                 call    sub_40D1B0
>>.text:0040D15B                 mov     esi, eax
>>.text:0040D15D                 lea     eax, [esp+278h+var_238]
>>.text:0040D161                 push    eax
>>.text:0040D162                 push    edi
>>.text:0040D163                 neg     esi
>>.text:0040D165                 call    sub_40A780
>>.text:0040D16A                 add     esp, 18h
>>.text:0040D16D                 cmp     esi, [esp+268h+var_25C]
>>.text:0040D171                 jle     short loc_40D183
>>.text:0040D173                 cmp     esi, ebx
>>.text:0040D175                 mov     [esp+268h+var_25C], esi
>>.text:0040D179                 jle     short loc_40D183
>>.text:0040D17B                 cmp     esi, [ebp+arg_4]
>>.text:0040D17E                 mov     [ebp+arg_0], esi
>>.text:0040D181                 jge     short loc_40D13A
>Hi Chrilly,
>this part doesn't look much PVS'ish...

In Pseudo-C it is:
if(val>BestVal) { BestVal=val; }
if(val>Alpha) { Alpha=val; }
if(val>Beta) { return val; }

You are right. It looks more than plain ALpha-Beta than PVS. My main point was:
Its not MTD(). In a Null-Window-Search Updating of Alpha makes no sense. Also
one paramter sufficies (either Alpha or Beta, but not both).


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.