Computer Chess Club Archives


Search

Terms

Messages

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

Author: leonid

Date: 17:46:31 11/26/99

Go up one level in this thread


On November 26, 1999 at 11:45:55, Heiner Marxen wrote:

>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/

I will try to see the usage of illegal moves for the ply one. This ply I regard
as the most speed responsive. Ply zero is already was changed into the illegal
moves ply but gave me hardly any improvement in speed. The last change for the
ply zero was done for "political reason". This change permitted me for the first
time calculate directly nodes per second rate. Anyway, I see now the "illegal
moves" programming as very attractive and new for me. I am eager to try it. If
there will come some good result will say it for sure.

But speaking about you (have natural habit to speak about me in the first
place), did you tryed also both ways (legal, illegal) before stopping with legal
moves?

Leonid.



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.