Computer Chess Club Archives


Search

Terms

Messages

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

Author: Heiner Marxen

Date: 06:01:21 11/27/99

Go up one level in this thread


On November 26, 1999 at 20:55:52, leonid wrote:

>On November 26, 1999 at 20:46:31, leonid wrote:
>
>>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.
>
>Sorry! Did a mistake when I wrote my previous message. I forget to see that
>probably you speak about "mate solver" and not positional logic, like I had in

Yes, that is right.  My experience is with my mate prover, not with a
playing program.  Pseudo legal move generation has been considered
in the design phase, but the design team voted against that approach.

Generally all the different techniques are applicable to mate solvers
and to playing programs.  It is a design decision and influenced by
other design considerations as well.

>my mind. And if it is really about the "mate solver" that we speak, I wrote two
>versions. With illegal moves was slower in around 30% that with legal. But now
>(aftet he ideas that I found here) I see that existe the next way to write the
>illegal logic and maybe more succesfully. What will be pleasure to be able to
>stay only with the game and nothing more just for one year!!!!!!!!!!!

Good luck!

Heiner



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.