On Monday 22 Mar 2010 14:10:22 Shlomi Fish wrote:
> Hi all!
>
> I recently got a new Acer laptop which is x86-64, 3 GB RAM, Dual Core, and
> much faster than my Pentium 4 2.4 GHz stationary machine. So I benchmarked
> Freecell Solver there (running Mandriva Linux 2010.0):
>
> <<<
> $ ARGS="-l by" bash scripts/time-threads-num.bash 2 2
> $ perl scripts/time-fcs.pl DUMPS/dump002
> 36.3274490833282
> $ ARGS="-l by" bash scripts/time-threads-num.bash -p 2 2
> Testing 2
> $ perl scripts/time-fcs.pl DUMPS/dump002
> 36.3902530670166
> >>>
>
> So the first 32,000 are getting solved at 36.3 seconds (880 boards per
> second).
>
> Next, by inspiration from the author of freecelljsolver (a solver for
> Freecell in Java) I proceeded to benchmark the first 1,000,000 (1 Million)
> deals. The results there were that it solved them in 19:42. Here is the
> complete dump:
[SNIP]
>
I've now ran the same benchmark without KDE (or any graphical environment)
running and the 1M-deals benchmark finished in 19:35 minutes, which is an
improvement of 7 seconds (851 deals per second).
> It reports 10 boards as unsolved:
>
> <<<
> Unsolved Board No. 11982 at 1268298946.279086
> Unsolved Board No. 146692 at 1268299106.516749
> Unsolved Board No. 186216 at 1268299152.719760
> Unsolved Board No. 254076 at 1268299231.181402
> Unsolved Board No. 455889 at 1268299467.668028
> Unsolved Board No. 495505 at 1268299515.233634
> Unsolved Board No. 512118 at 1268299535.224423
> Unsolved Board No. 517776 at 1268299542.204378
> Unsolved Board No. 739671 at 1268299804.262154
> Unsolved Board No. 781948 at 1268299854.074747
> >>>
>
> According to the Freecell FAQ , there are 8 unsolvable deals below 1
> million and they are:
>
> <<<
> 11982, 146692, 186216, 455889, 495505, 512118, 517776, 781948
> >>>
>
> So fc-solve could not solve deal No. 254,076 and deal No. 739,671 with the
> "-l by" configuration. However:
>
> <<<
> shlomi:~$ pi-make-microsoft-freecell-board 254076 | fc-solve | tail -3
> This game is solveable.
> Total number of states checked is 5314.
> This scan generated 5416 states.
> shlomi:~$ pi-make-microsoft-freecell-board 254076 | fc-solve -l cj | tail
> -3 This game is solveable.
> Total number of states checked is 26810.
> This scan generated 18025 states.
> shlomi:~$
> >>>
>
> So it is generally solvable by the meta-move-based fc-solve. The other game
> is not solvable using it, but it is using "-l gi":
>
> <<<
> $ pi-make-microsoft-freecell-board 739671 | fc-solve -l gi | tail -3
> This game is solveable.
> Total number of states checked is 1193481.
> This scan generated 1133337 states.
> >>>
>
> I don't understand why "-l by" erroneously reports 254,076 as unsolvable
> since it should yield the same verdicts as "-l cj" and an option less
> "fc-solve". So I guess I'll need to investigate.
>
I've now found the reason. When the scans synergy was set to mark-dead-ends, I
stopped after the first scan reported a "cannot solve" verdict. But it's
possible it was blocked from solving by other scans (a.k.a "soft threads"),
and as a result it yielded a false report. This is now fixed in trunk.
Regards,
Shlomi Fish
--
-----------------------------------------------------------------
Shlomi Fish http://www.shlomifish.org/
Interview with Ben Collins-Sussman - http://shlom.in/sussman
Deletionists delete Wikipedia articles that they consider lame.
Chuck Norris deletes deletionists whom he considers lame.
Please reply to list if it's a mailing list post - http://shlom.in/reply .
Received on Wed Mar 24 2010 - 23:51:05 IST