Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: I don't use illegal moves EVER

Author: Heiner Marxen

Date: 08:45:55 11/26/99

Go up one level in this thread


On November 25, 1999 at 21:16:19, leonid wrote:

>On November 25, 1999 at 17:58:27, Heiner Marxen wrote:
>
>>>For me the fact of recognition os the check is almost as
>>>time consuming as legality of all the pieces beside the king
>>
>>If you know the last move, which leads to the position in question,
>>you need not search much to find the checking piece(s).  With the
>>exception of e.p. and castling moves, there are just two chances:
>>(d) the last moved piece may give a direct check from its target square
>>(i) the last moved piece may have discovered a check on its source square
>>
>>(i) is possible only, if your kingĀ“s square is related to the last pieces
>>from square: on same row, column or diagonal.  That can be detected fast.
>>For (d) similar geometric considerations are possible.
>>
>>Heiner
>
>Very good consideration and very well explained! I must look into it. The only
>inconvience here I see in two facts:
>
>1) Once mistake about the position of the king could lead to the accumulation
>and mistakes and collapse of entire game. When on each new position all the data
>about the fire against the king is recollected, such domino effect is excuded.

Ok, but that would be a bug, which has to be corrected.  Therefore, I have
a debug mode, which before and after each make or unmake move checks all
redundant data for validity.  Can be *very* helpful.  Recommended.

>2) All the data that recognize the legality of the moves, beyond the moves of
>the king, will be not available. This data is recollected in the same procedure
>that recognize if the king is under the fire.

Therefore my program generates strictly legal moves, only.  The way I do it,
it does not cost more than it gains.  And the additional redundant data
(attack data for all squares) does help a lot at other places.
But that is different for every program, there is no single best way to do it.

Heiner Marxen   heiner@drb.insel.de     http://www.drb.insel.de/~heiner/



This page took 0.01 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.