Computer Chess Club Archives


Search

Terms

Messages

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

Author: leonid

Date: 13:05:20 11/27/99

Go up one level in this thread


On November 27, 1999 at 09:01:21, Heiner Marxen wrote:

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


It is interesting if this is a team project. If it is not a secret, say me more
about the whole project as such. Since I dedicated more that three years for
writing the "mate solving logic", it will be curious to know.

About the point that could probably make this first "mate solving logic" 30%
more slower legal moves logic. I never used the hash tables. Those tables could
make the difference as well.

Already started my illegal moves "positional logic" rewriting. Today changed ply
zero and tomorrow will rewrite ply one. After ply one it will be visible if this
way is really promissing, or it is a waist of time. By simple guessing I am
uncapable to say for sure what should be expected. One moment I am sure that
nothing and the next good push in speed.

Leonid.



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.