Hi Gérard,
TAILLE wrote:Should my quesion have concerned non legal position I would have begun by showing the following quite simple position
![Image](http://fmjd.org/dias2/save/15304635986.png)
128 moves
You are playing with words. For me the "obvious" properties that a position must have are:
- at most one piece on a given square (sounds obvious, but draughts FEN does not enforce this syntactially so we have to state it explicitly)
- no man on the last rank
- not more than 20 pieces for one side
- at least one piece for the side who just moved
Are those arbitrary "Fabien's definition of legal positions"? I don't think so. For one thing, it's easy to imagine a program, especially array based, crashing if one of those is not met. This is the computer subforum, after all. We often make assumptions like these in advanced implementations, so we'd better check them. As another example, we all use those conditions when enumerating positions to build endgame tables. Or do you stay true to your definition?
So why choose the "wrong" definition (above), then? I claim that it's mathematically superior. It's easy to check (even without thinking about it), does not go haywire when we make a small change in the position (e.g. taking hours to check), and programs will generally behave in a predictable manner when the conditions are met (interestingly enough, with the possible exception of an astronomical number of captures, including Scan).
Of course I quite understand you prefer Rein approach and I undertand you do not see a great interest in legal positions.
Indeed I argue above that your definition of a legal position (reachability) is not easily manipulated either by humans or programs. I can imagine, with a lot of implementation effort, an optimised algorithm for this problem, but it will still occasionally choke for a long time on difficult positions, presumably near the frontier between reachable and unreachable. Furthermore, it would serve no purpose similar to protecting programs from crashes.
Fabien.