Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: What is the principle continuation of Rxb2?

Author: Larry Griffiths

Date: 11:22:05 08/31/00

Go up one level in this thread


On August 31, 2000 at 10:11:56, Dieter Buerssner wrote:

>On August 30, 2000 at 12:47:18, Larry Griffiths wrote:
>
>>On August 30, 2000 at 09:51:25, Dieter Buerssner wrote:
>>
>>>On August 30, 2000 at 09:32:28, Larry Griffiths wrote:
>>>
>>>>On August 30, 2000 at 08:59:51, Michel Langeveld wrote:
>>>>
>>>>>On August 30, 2000 at 08:35:26, Larry Griffiths wrote:
>>>>>
>>>>>>I am testing the following WAC position...
>>>>>>
>>>>>>[D]8/7p/5k2/5p2/p1p2P2/Pr1pPK2/1P1R3P/8 b - - bm Rxb2; id "WAC002";
>>>>>>What is the principle contiunation after Rxb2.  I figure that it promotes a pawn
>>>>>>somehow.
>>>>>8/7p/5k2/5p2/p1p2P2/Pr1pPK2/1P1R3P/8 b - - acd 14; acn 114206936; ce 322; pv Rxb
>>>>>2 Rxb2 c3 Rb6+ Ke7 Rb7+ Kd6 Rb6+ Kc5 Rb7 c2 Rxh7 d2 Rc7+ Kd6 Rxc2 d1=Q+ Re2 Qf1+
>>>>> Rf2 Qd3 h4 Qxa3; pm Rxb2; bm Rxb2; id "WAC.002";
>>>>
>>>>It looks like I must run this to 17 or 18 plys deep then.  I thought the
>>>>promotion might occur before 17 or 18 plys.
>>>
>>>If you have search extensions, you may need quite a few plies less. Before the
>>>promotion, there are 3 checks, 1 recapture and one pawn push to the 7th row.
>>>This may save 5 plies. Also, if you promote in qsearch, this can save another
>>>ply. I.e. Yace finds this allways at depth 10, and depending on settings, can
>>>find it also at depth 9.
>
>>Bummer, no qsearch or extensions in my program yet.
>
>Perhaps, you should consider implementing qsearch. I think, this should make the
>search much more stable. A first try might be very
>fast to implement. Just substitute all calls to eval with calls to qsearch.
>
>An easy qsearch (without any "tricks" and without updating of the PV and
>other structures needed) might look like
>
>int qsearch(int side, int alpha, int beta, int ply)
>{
>  int best, score;
>  best = eval(side);
>  if (best > alpha)
>  {
>    alpha = best;
>    if (best >= beta)
>      return best; /* No need to search any further */
>  }
>  GenerateAllCaptureAndPromotionMoves(ply); /* May want to not generate
>                                            underpromotions in qsearch */
>  /* Perhaps sort the moves */
>  for (all capture/promotion moves)
>  {
>    makemove();
>    /* If you generate pseudo legal moves, you will need to check, if
>       the move is legal here */
>    score = -qsearch(side^1, -beta, -alpha, ply+1);
>    unmakemove();
>    if (score > best)
>    {
>      best = score;
>      if (best > alpha)
>      {
>        alpha = best;
>        if (best >= beta)
>          return best;
>      }
>    }
>  }
>  return best;
>}
>
>
>>It chooses Rxb2 at 15 plys, but chooses C3 again at 16 plys.  I have not seen if
>>it locks in to Rxb2 at higher plys as my last run wanted to spend eternity at
>>ply 16...
>
>If you are curious, just do Rxb2 Rxb2 (the forced reply) on the board, and
>search from this position. If you don't have any extensions, this will
>need exactly two plies less. You then can compare the score, with the score
>after the initial position.
>
>Regards,
>Dieter

Thanks Dieter,

Maybe I can put it in this weekend.

Larry.



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.