Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Selectivity at depth == 1

Author: Tony Werten

Date: 04:42:27 01/17/06

Go up one level in this thread


On January 17, 2006 at 02:17:23, Tony Werten wrote:

>On January 16, 2006 at 14:53:52, Stuart Cracraft wrote:
>
>>Hi - does this make any sense?
>>
>>#ifdef SELECTIVE
>>      // If depth is 1 and no reductions or extensions and eval is bad relative
>>to alpha
>>      // then search only captures, promotions or checking moves
>>      if (depth == 1 && reduction == 0 && extension == 0)
>>        if (eval(bd,QUIET) <= alpha+(1*uparams[pawn]))
>>          if (!(sml[mvi].cap!=0||sml[mvi].pro!=0||incheck(bd))) {
>>            unmakemv(bd);
>>            continue;
>>          }
>>#endif
>>
>>I don't see any great improvement for 1*uparams[pawn], 3*uparams[pawn],
>>and 5*uparams[pawn].
>>
>>The point is that if at depth == 1 and no reductions or extensions and
>>eval is worse with respect to alpha and it is not a capture, promotion
>>or the move didn't put us into check, then skip searching it.
>>
>>I sense the above is not doing anything at all and that what I'm seeing
>>is just a non-change.
>>
>>Perhaps someone can see what is wrong with the above.
>
>What do you expect to happen ?  I don't think the code isn't doing something. If
>you don't reduce, you'll jump into qsearch, do an eval, get a score back that is
>bigger than beta and jump back with score<alpha.
>
>Pretty much the same you are doing now, except for 1 function call.

In addition, if the eval(bd,QUIET) you mention is a lazy eval, you will only
save nodes when it is incorrect. (nice one to think about)


>
>Tony



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.