[Retros] At home proof games in 7.0 moves
Francois Labelle
flab at EECS.Berkeley.EDU
Thu Feb 10 03:41:46 EST 2005
Mario Richter wrote:
> I used the following algorithm to find the answer for the latter
> question:
The version I have in mind would start with
UNSOLVED = {set of all 2^30 at home diagrams};
and then for each ply count it would try to solve everything in UNSOLVED
and move the diagrams as you're doing. Am I missing an improvement?
> Raising the PLY_LIMIT to an appropriate value, the question of how many
> At-Home-SPGs (with a unique solution) there exist in total, could be
> answered as well. (Probably in less than 1000 years, if each
> At-Home-Position can be processed in less than 30s).
I had Popeye solve my at-home PGs in 7.0 moves to double-check them, and
after 6 days it only solved 1730 of them (so an average of 5 minutes per
problem). Solution times ranged from 0.000 s to 4:38:15 h:m:s
> I have the impression that the "backward" approach might be more
> suitable for answering the "All-AH-SPG"-question. What do you think?
I prefer my forward approach to enumeration. With a good pruning
heuristic, it's equivalent to the backward search of every possible
at-home problem at the same time. I also find it more satisfying. I find
it a little dirty to compose problems by trying diagrams one by one. :)
But of course only the result matters.
> But before I start debugging it would be nice if you could confirm that
> the position and the move number as given are correct (and that the
> expected outcome should be something like 2005).
All the FEN and ascii diagrams that I post are generated by my program and
so are typo-free. I also test the problems independently with a proof game
solver when possible.
In this case Popeye can confirm the problem.
Create the file "job" with the content:
beginproblem
forsyth rsbqkbs1/pppp2pp/8/8/8/8/PPP1PPPP/R1BQKBSR
stipulation dia7.0
endproblem
Then on a unix machine you would do:
% py -maxmem 32M < job | grep -c "^ 1\."
After 1h45 on my machine it returns:
2005
Francois
More information about the Retros
mailing list