Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Extending Checks

Author: José Carlos

Date: 09:45:05 09/11/04

Go up one level in this thread


On September 11, 2004 at 12:04:23, Aivaras Juzvikas wrote:

>On September 11, 2004 at 11:47:35, José Carlos wrote:
>
>>On September 10, 2004 at 21:35:58, Stuart Cracraft wrote:
>>
>>>I read, somewhere, and I forget who, about
>>>if 1 legal move, extend 2 ply,
>>>2 or more legal moves, then 1 ply.
>>>Anyone have any stats on the effects
>>>on play of the above instead of
>>>always extend 1 legal move. Does it
>>>blow up?
>>
>>
>>  I guess you read it in Ed's programming page about Rebel. He does that in
>>qsearch, and regarding checking moves generation.
>>  I tried his idea in my private program and it didn't work for me. It generated
>>too many nodes, but I probably did something wrong.
>>
>>
>>>How do people get around the cost
>>>of determining that there is only
>>>1 legal move?
>>
>>
>>  If you're in check (you know it before generating moves) you can use a special
>>move generator that generates only escapes from check (capturing checking piece,
>>moving the king, putting a piece in between...). In that case, you know in
>>advance the number of legal moves.
>
>how about puttin a piece in between which uncovers attack on king by another
>piece?this legal move generator doesnt look so simple to me somehow, am i
>missing smth?


  No, you aren't. It's not simple, but it's simpler that I had thought before
trying. For your uncovered attack case, I calculate pinned pieces (easy with
bitboards) and then I don't allow a pinned piece to cover a check. There're also
other particular cases, like en passant, promotions, double checks... Once you
think about them all and draw the algorithm, implementing it is easy.

  José C.



>>
>>  José C.
>>
>>
>>>For me, that's an expensive operation
>>>involving usually dozens of makemove/unmakemove's
>>>with a test to see if the king is attacked,
>>>at every single node, before doing the search
>>>of the 1 move with the increased depth.
>>>
>>>Only rarely is it just 1 legal move to get
>>>out of check. But the determination of that
>>>is not rare. It has to be done for every
>>>sweep of the moves at each node.
>>>
>>>Thanks,
>>>
>>>Stuart



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.