Removing Impossible positions

Discussion about development of draughts in the time of computer and Internet.
Post Reply
Alvaro
Posts: 15
Joined: Thu Mar 07, 2013 13:12
Real name: Alvaro Cardoso

Removing Impossible positions

Post by Alvaro » Mon Nov 17, 2014 00:10

Hi,
while examining Martin Fierz's EGTB compressor, I notice he tried to remove 'impossible positions' to improve compression, but later disabled this code.
In the code he commented that impossible positions are positions where there are no unmoves.
Have you tried this trick? Is this really safe? And what % do these impossible positions represent in the entire db?

best regards,
Alvaro

BertTuyt
Posts: 1580
Joined: Wed Sep 01, 2004 19:42

Re: Removing Impossible positions

Post by BertTuyt » Mon Nov 17, 2014 20:43

I did not apply the trick.
Maybe even more interesting is the number of illegal positions.
These are positions which are not theoretically possible through game-play.
See below diagram of an illegal position.
But here it is even harder to prove which positions are illegal.
For 20-20 I was able to calculate and determine exactly the number of legal positions.
For 19 - 19 I was unable so far.

Image

Bert

Alvaro
Posts: 15
Joined: Thu Mar 07, 2013 13:12
Real name: Alvaro Cardoso

Re: Removing Impossible positions

Post by Alvaro » Mon Nov 17, 2014 21:36

Thanks, that's what I meant, illegal positions, I'm not an english native speaker.
If only we could find some rules to detect this maybe there could be some gain in the final compressed size of the database.

Alvaro

Rein Halbersma
Posts: 1721
Joined: Wed Apr 14, 2004 16:04
Contact:

Re: Removing Impossible positions

Post by Rein Halbersma » Mon Nov 17, 2014 22:23

Alvaro wrote:Hi,
while examining Martin Fierz's EGTB compressor, I notice he tried to remove 'impossible positions' to improve compression, but later disabled this code.
In the code he commented that impossible positions are positions where there are no unmoves.
Have you tried this trick? Is this really safe? And what % do these impossible positions represent in the entire db?

best regards,
Alvaro
When the positions are genuinely impossible, I think it's not dangerous to exclude "impossible" positions where no unmove is possible. E.g. take this one:
Image
black to move

In all draughts variants (checkers, international, etc.), there is no white move that could have produced this position. However, consider this seemingly related one:

Image
black to move

Under the international rules, this could have arisen through a capture sequence:

Image
black to move

After 1... g3-f2 2. g1xa3 we get the previous diagram. So you can't just test for regular "unmove", but also for "uncapture" to conclude that a position is actually illegal. This seems to at least to give a lot of overhead to determine illegality (I am not saying it's incorrect, but it seems at least inefficient).

Post Reply