tag:blogger.com,1999:blog-960996361686987882024-03-13T13:31:45.166-07:00Solving Freecell and Other GamesShlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.comBlogger45125tag:blogger.com,1999:blog-96099636168698788.post-89418043258154770252020-08-04T08:54:00.001-07:002020-08-04T09:00:37.632-07:00New Freecell Solver version: 6.0.1<p>
<a href="https://fc-solve.shlomifish.org/">Freecell Solver</a>
is an open source library
and some command line applications, for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
There is a new release of the solver, version 6.0.1
with more details available in <a href="https://fc-solve.shlomifish.org/docs/distro/NEWS.html">NEWS file</a>.
Note that this version does not break compatibility with the older releases,
and we just felt like incrementing the primary digit.
</p>
<p>
Among the highlights are some code cleanups, some fixes, and some new features.
Special thanks go to <a href="https://github.com/antonio-rojas">Antonio Rojas</a>
for reporting a build issue in v6.0.0, which prompted a fix.
</p>
<p>
Share and enjoy!
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-46414664952262019972020-04-11T03:26:00.000-07:002020-04-11T03:26:25.047-07:00New Freecell Solver version: 5.22.0
<p>
<a href="https://fc-solve.shlomifish.org/">Freecell Solver</a>
is an open source library
and some command line applications, for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
There is a new release of the solver (version 5.22.0)
with more details available in <a href="https://fc-solve.shlomifish.org/docs/distro/NEWS.html">NEWS file</a>.
Among the highlights are cleanups, fixes, and some new features.
</p>
<p>
In addition, we are proud to announce that our attempt at classifying as many
<a href="https://github.com/shlomif/freecell-pro-0fc-deals">zero freecells' deals</a>
as possible, as winnable or impossible to solve, has recently gone below
300,000 remaining unknown / intractable deals.
</p>
<p>
Share and enjoy!
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com1tag:blogger.com,1999:blog-96099636168698788.post-12742126477229901132019-12-31T03:27:00.000-08:002019-12-31T03:27:22.385-08:00New Freecell Solver version: 5.16.0<p>
<a href="https://fc-solve.shlomifish.org/">Freecell Solver</a>
is an open source library
and some command line applications, for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
There is a new release of the solver (version 5.16.0)
with more details available in <a href="https://fc-solve.shlomifish.org/docs/distro/NEWS.html">NEWS file</a>.
Among the highlights are the unbundling of the <a href="https://github.com/shlomif/rinutils/">rinutils library</a>,
generating .msi installers using <a href="https://en.wikipedia.org/wiki/WiX">WiX</a>,
and some refactoring and optimisation.
</p>
<p>
Share and enjoy!
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com1tag:blogger.com,1999:blog-96099636168698788.post-24759265844847692582019-04-14T14:48:00.000-07:002019-04-14T14:48:05.744-07:00Graphical and Animated Display for the Online Freecell Solver
<p>
We are happy to announce that the <a href="https://fc-solve.shlomifish.org/js-fc-solve/text/">online web-based Freecell solver</a> now
has a graphical and animated solution display, thanks to the open source
version of <a href="https://github.com/shlomif/Solitairey/branches">Solitairey</a>.
The older text-based solution display is still available.
</p>
<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a>
is an open source library
and some command line applications, for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
Also of note is the new releases of the solver (up to version 5.6.0)
with more details available in <a href="https://fc-solve.shlomifish.org/docs/distro/NEWS.html">NEWS file</a>,
and some progress in <a href="https://github.com/shlomif/fc-solve/blob/master/fc-solve/docs/debondt-compact-freecell-positions--document.asciidoc">compactly
storing Freecell positions/states</a>, going
below the 64-bits threshold.
</p>
<p>
Share and enjoy!
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com2tag:blogger.com,1999:blog-96099636168698788.post-48281321748849907182018-10-27T11:52:00.000-07:002018-10-27T11:52:42.919-07:00Freecell Solver 5.0.0 was Released<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a> version 5.0.0,
has been released. It is available in
the form of a source archive, Windows 32-bit and 64-bit binaries,
and a live online version (which requires JavaScript, and is compatible with
most modern browsers, including those for mobile devices) from
<a href="http://fc-solve.shlomifish.org/download.html">the
download page</a>. Freecell Solver is an open source library
and some command line applications, for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
The new release puts the headers under a <code>#include <freecell-solver/…></code>
prefix, adds some new executables, command line options, and compile-time
options, and implements several cleanups and speedups.
</p>
<p>
Also of note is that the website was improved with a modified design which is
friendlier to mobile devices (so-called <a href="https://en.wikipedia.org/wiki/Responsive_web_design">“responsive” web design</a>),
some content updates, and some usability enhancements.
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-1805126935545483782018-03-22T05:29:00.001-07:002018-03-22T05:29:09.424-07:00Freecell Solver 4.18.0 was Released
<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a> version 4.18.0,
has been released. It is available in
the form of a source archive, from
<a href="http://fc-solve.shlomifish.org/download.html">the
download page</a>. Freecell Solver is an open source library
and some command line applications, for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
We now have a <a href="http://fc-solve.shlomifish.org/js-fc-solve/find-deal/">Microsoft Freecell deal finder</a>
(available online) which is faster than a naive search, provide
x86-64 Windows binaries, and have a new “looking-glass” with improved
performance.
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-65315530275438133512017-10-20T07:58:00.000-07:002017-11-22T06:30:44.384-08:00Freecell Solver 4.14.1 was Released<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a> version 4.14.1,
has been released. It is available in
the form of a source archive, from
<a href="http://fc-solve.shlomifish.org/download.html">the
download page</a>. Freecell Solver is an open source library
and some command line applications, for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
There have been several intermediate releases since the last release that was
announced on this news feed and you are well advised to upgrade.
More
information on the changes can be found in the <a href="http://fc-solve.shlomifish.org/docs/distro/NEWS.html">NEWS.txt / NEWS.html</a>.
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-48618236571791960662016-10-05T08:08:00.001-07:002017-10-20T07:27:29.701-07:00Freecell Solver 4.4.0 was Released<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a> version 4.4.0,
has been released. It is available in
the form of a source archive, from
<a href="http://fc-solve.shlomifish.org/download.html">the
download page</a>. Freecell Solver is an open source library
and some command line applications, for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
This release is dedicated to the memory of <b>Christina Grimmie</b>
( <a href="https://en.wikipedia.org/wiki/Christina_Grimmie">Wikipedia Page</a> ;
<a href="https://www.youtube.com/user/zeldaxlove64">YouTube account</a> ), a
musician and singer whom I was
fond of and who was killed on 10 June 2016. The name of the new scan
“one-big-family” was inspired by the name of
<a href="https://www.youtube.com/watch?v=DNq1bkrWjbk">this video of hers</a>.
Some others of my favourite videos by Grimmie:
</p>
<ul>
<li>
<a href="https://www.youtube.com/watch?v=jDl88R6z2Fw">Cover of “I Will Always
Love You”</a>
</li>
<li>
<p>
<a href="https://www.youtube.com/watch?v=kYX8sjIzjGw">Feelin’ Good</a>
</p>
</li>
<li>
<p>
<a href="https://www.youtube.com/watch?v=PpntEOQLpzI">Cover of “Stay” by
Rihanna</a>
</p>
</li>
<li>
<p>
<a href="https://www.youtube.com/watch?v=BSODBu95AaY">Singing “Some Nights”
on The Voice</a>
</p>
</li>
</ul>
<p>
The new release features the new scan, fixes several bugs,
and incorporates many code cleanups, refactorings and optimisations. More
information can be found in the <a href="http://fc-solve.shlomifish.org/docs/distro/NEWS.html">NEWS.txt / NEWS.html</a>. It also
adds the transpose-freecell-board.py program (thanks to Manish for the idea)
and removes some old board generation programs that are no longer relevant.
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-30115345621212335302016-03-25T09:14:00.002-07:002016-03-25T09:14:51.183-07:00Freecell Solver 4.2.0 was Released
<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a> version 4.2.0,
has been released. It is available in
the form of a source archive, from
<a href="http://fc-solve.shlomifish.org/download.html">the
download page</a>. Freecell Solver is an open source library
and some command line applications, for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
This release sports the new configuration theme “-l conspiracy-theory”
(or “-l ct”) which is somewhat faster than the best contender up to it,
“-l amateur-star”, some relatively minor bug fixes, new compile-time
options, and many small and somewhat larger code cleanups, refactorings, and
optimisations.
</p>
<p>
“conspiracy-theory” is a reference to the Jewish holiday of
<a href="https://en.wikipedia.org/wiki/Purim">Purim</a>, which took place
around the time of its release and an
<a href="http://shlomif.livejournal.com/62243.html">old post</a> of mine
about it.
</p>
<p>
Enjoy!
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-44492170815394551402015-09-28T07:51:00.002-07:002016-03-11T09:10:58.814-08:00Freecell Solver 4.0.0 was Released<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a> version 4.0.0,
has been released. It is available in
the form of a source archive, from
<a href="http://fc-solve.shlomifish.org/download.html">the
download page</a>. Freecell Solver is an open source library
and some command line applications, for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
This release sports the integration of the scans of Tom Holroyd’s patsolve
for improved atomic moves-based solving, some other new flags with bug fixes,
a transition of the Python code to Python 3, and some other changes that are
mentioned in
<a href="http://fc-solve.shlomifish.org/docs/distro/NEWS.html">the NEWS
file</a>.
</p>
<p>
The most significant digit was increased due to the integration of patsolve.
Enjoy!
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-81778897635337187242014-05-19T01:17:00.003-07:002014-05-19T06:20:55.977-07:00Freecell Solver 3.26.0 was Released
<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a> version 3.26.0,
has been released. It is available in
the form of a source archive, from
<a href="http://fc-solve.shlomifish.org/download.html">the
download page</a>. Freecell Solver is an open source library
and some command line applications, for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
This release features some fixes for crashes on malformed input, as
<a href="https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=freecell-solver-bin;dist=unstable">reported</a> by the Mayhem team to the Debian bug tracker
(thanks!), fixes for newer versions of the GCC compiler, CMake and
Games::Solitaire::Verify, and some other changes that are mentioned in
<a href="http://fc-solve.shlomifish.org/docs/distro/NEWS.html">the NEWS
file</a>.
</p>
<p>
Enjoy!
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-67739850298318116652014-02-21T09:12:00.001-08:002016-03-11T09:08:04.586-08:00Freecell Solver 3.24.0 Release: Mourning Adrian Ettlinger
<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a> version 3.24.0,
has been released. Freecell Solver 3.24.0 is available in
the form of a source archive, from
<a href="http://fc-solve.shlomifish.org/download.html">the
download page</a>. Freecell Solver is an open source framework (library
and some command line applications), for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
This release is dedicated to the memory of
<a href="https://en.wikipedia.org/wiki/Adrian_Ettlinger">Adrian Ettlinger</a>
who passed away on
23 October 2013, who was a good Internet friend of the primary maintainer of
Freecell Solver (= Shlomi Fish), and who contributed a great deal to Freecell
Solver and to Freecell research and programming in general (among other major
life achievements, and contributions to man kind). You can read
<a href="https://groups.yahoo.com/neo/groups/fc-solve-discuss/conversations/messages/1379">an obituary of Mr. Ettlinger by Shlomi Fish</a> as it was
posted to the Freecell Solver Discussions mailing list, and also read
an
<a href="http://www.shlomifish.org/open-source/interviews/adrian-ettlinger.html">an
interview that Fish conducted with him</a> back in 2003.
</p>
<p>
The new <code>video-editing</code> preset was named in honor of Ettlinger’s
previous work in pioneering <a href="https://en.wikipedia.org/wiki/Non-linear_editing_system">non-linear video editing</a> back when he worked as
an Electrical Engineer (and later as a software developer) for
CBS corporation.
</p>
<hr />
<p>
In any case, the main highlights of this release are:
</p>
<ol>
<li>
<p>
<b>New Feature:</b> the <code>-l video-editing</code> (or <code>-l ve</code>
for short) flare-based preset that tends to yield shorter solutions on average.
See <a href="https://groups.yahoo.com/neo/groups/fc-solve-discuss/conversations/messages/1378">a post</a> with some performance analysis.
</p>
</li>
<li>
<p>
A bug was fixed when providing input without a trailing newline character
(“\n”). This was reported against the online JavaScript version was Olaf and
was fixed globally. Thanks, Olaf!
</p>
</li>
<li>
<p>
The distribution now contains the sources for the Split FCC (= Fully
Connected Component) Solver which was an unsuccessful attempt to
solve Windows Freecell deal No. 384,243 with two freecells. It may prove
of general utility in the future, though.
</p>
</li>
</ol>
<p>
Hope you enjoy this release and we extend our sadness to the other family
members and friends of the late Mr. Ettlinger.
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-7578591112649819162013-10-07T10:29:00.000-07:002013-10-07T10:36:15.591-07:00Freecell Solver 3.22.0 was Released: Bug Fixes
<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a> version 3.22.0,
has been released. Freecell Solver 3.22.0 is available in
the form of a source archive, from
<a href="http://fc-solve.shlomifish.org/download.html">the
download page</a>. Freecell Solver is an open source framework (library
and some command line applications), for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
The highlights of this version are some bug fixes: the Win32 NSIS (= Nullsoft
Installer) package should now build, run and process the presets (e.g:
<code>-l as</code> properly). Furthermore, there's a bug fix to the command line
flags processing, where flags whose prefixes are known flags were erroneously
recognised as such (e.g: <code>--resetjunk</code> vs. <code>--reset</code>).
</p>
<p>
On the new features side, the
<a href="http://fc-solve.shlomifish.org/js-fc-solve/text/">JavaScript-based solver</a>
now accepts arbitrary fc-solve command line options, so it can be used to
solve any of the supported variants of Solitaire, as well as support most other
fc-solve features.
</p>
<p>
Enjoy!
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com1tag:blogger.com,1999:blog-96099636168698788.post-31279114091715792222013-06-26T11:12:00.001-07:002013-06-26T11:12:24.241-07:00Freecell Solver 3.20.0 was Released: Major Simple Simon Optimisations
<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a> version 3.20.0,
has been released. Freecell Solver 3.20.0 is available in
the form of a source archive, from
<a href="http://fc-solve.shlomifish.org/download.html">the
download page</a>. Freecell Solver is an open source framework (library
and some command line applications), for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
The highlights of this version are some major optimisations to the solving
code of <a href="http://en.wikipedia.org/wiki/Simple_Simon_%28solitaire%29">Simple
Simon</a>, as well as many code cleanups, refactorings and smaller
optimisations. Furthermore, the “qualified-seed-improved” preset was added,
which yields shorter solutions.
</p>
<p>
Enjoy!
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-20783671280924329312013-05-30T10:39:00.001-07:002013-05-30T10:39:24.610-07:00Freecell Solver 3.18.0 was Released: JavaScript port
<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a> version 3.18.0,
has been released. Freecell Solver 3.18.0 is available in
the form of a source archive, from
<a href="http://fc-solve.shlomifish.org/download.html">the
download page</a>. Freecell Solver is an open source framework (library
and some command line applications), for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
The highlights of this version are the new
<a href="http://fc-solve.shlomifish.org/js-fc-solve/text/">port</a> to
JavaScript, courtesy of the wonderful
<a href="https://github.com/kripken/emscripten">emscripten compiler</a>
from LLVM to JavaScript, that allows Freecell Solver to run inside modern
browsers, as well as the fact that the test suite and the relevant now work
on 32-bit systems (previously they only worked on 64-bit ones).
</p>
<p>
Enjoy!
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-80536649977738580972013-04-01T09:06:00.000-07:002016-03-11T07:55:55.051-08:00Freecell Solver Enterprises™ Acquires Google Inc.
<p>
<b>1 April, 2013, Tel Aviv, Israel:</b>
Due to the spectacular commercial success of Freecell Solver Enterprises™’s
<a href="http://fc-solve.blogspot.co.il/2010/03/01-april-2010-freecell-solver.html">Enterprise Edition</a>
and its
<a href="http://fc-solve.blogspot.co.il/2011/03/freecell-solver-goes-webscale.html">Webscale™ edition</a>,
we have amassed quite a bit of cash in the bank, so we decided to make
a small but important strategical acquisition. As a result, Freecell Solver
Enterprises™ is proud to announce its upcoming acquisition of
<a href="https://en.wikipedia.org/wiki/Google">Google Inc.</a>, which
will result in an exciting synergetic merger.
</p>
<p>
Some of the upcoming changes would be replacing Google’s tech support
(which is notoriously bad) by Freecell Solver Enterprises™’s world-famous and
superb tech support (as detailed in the essay
<a href="http://www.joelonsoftware.com/articles/customerservice.html">“Seven
steps to remarkable customer service”</a> by Joel on Software), as well
as integrating Google search into
<a href="http://fc-solve.shlomifish.org/">Freecell Solver™</a> for an
enhanced experience in solving Freecell. We are also planning on creating
a separate YouTube top-level category for card Solitaire-related videos
(including screencasts and presentations).
</p>
<p>
We are sure that the upcoming acquisition is going to allow Freecell Solver
Enterprises™ to further its competitive edge, and allow us to have
even more significant growth, which will in turn allow us to make even more
significant acquisitions. As our CTO,
<a href="http://www.shlomifish.org/">Shlomi Fish</a>, notes:
“good times are coming.”.
</p>
<p>
Soon, people will say “Let’s Freecell Solver Enterprises™ Superheroic Web
Search™ it!” instead of “Let’s Google it!”, for an exciting
Web 3.141592™ experience.
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com1tag:blogger.com,1999:blog-96099636168698788.post-71200162397114103632012-12-10T05:19:00.002-08:002016-03-11T07:53:30.052-08:00Freecell Solver 3.16.0 was Released + New Screencast
<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a> version 3.16.0,
has been released. Freecell Solver 3.16.0 is available in
the form of a source archive, from
<a href="http://fc-solve.shlomifish.org/download.html">the
download page</a>. Freecell Solver is an open source framework (library
and some command line applications), for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
This new release took about a month to prepare, and also contains less
profound changes than the previous release, but still quite a lot to look
for. It features the <tt>-l micro-finance-improved</tt> and
<tt>-l qualified-seed</tt> presets, which improve upon the average
solution length (at the expense of speed). The
<tt>--flares-choice</tt> flag was added and one can specify
<tt>--flares-choice fcpro</tt> to choose based on the length of the
Freecell Pro moves. Another additional flag is
<tt>--flares-iters-factor</tt> which multiplies the time the flares run at
by a factor for a speed/solution-length trade-off.
</p>
<p>
Finally, the individual flares are now recycled and their memory is
reused when they are no longer needed which yields a RAM optimisation
in certain cases.
</p>
<p>
More information about all these can be found in the
<a href="http://fc-solve.shlomifish.org/docs/#distributed-docs">distributed
documents</a> of Freecell Solver.
</p>
<p>
In addition to all that,
<a href="http://www.youtube.com/watch?v=hYdqNuX4WJc">a new screencast
of PySolFC solving Freecell using Freecell Solver</a> is now available on
YouTube. Make sure you expand the details for all the credits of the software
and other material that was used for its creation.
</p>
<p>
Enjoy and happy holidays.
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-26121287080372207742012-11-04T08:22:00.003-08:002012-11-04T08:22:49.282-08:00Freecell Solver 3.14.1 was Released
<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a> version 3.14.0,
shortly followed by Freecell Solver 3.14.1, which fixed a build problem on
Microsoft Windows, have been released. Freecell Solver 3.14.1 is available in
the form of a source archive, and a Win32 self-installing executable, from
<a href="http://fc-solve.shlomifish.org/download.html">the
download page</a>. Freecell Solver is an open source framework (library
and some command line applications), for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
This release features several new features: we added a 6th Best-First-Search
weight of the inverse of the number of cards not above parents, which has
proven useful. We now also allow test groups inside the <tt>--tests-order</tt>
and <tt>--depth-tests-order</tt> with the <tt>random-dfs</tt> scan to be
ordered using the function <tt>=asw(…)</tt> based on those BeFS weights.
</p>
<p>
As a result, the preset <tt>-l amateur-star</tt> or <tt>-l as</tt> for short
has been added, that uses that and is our fastest preset yet. Another new
preset is <tt>-l micro-finance</tt> (or <tt>-l mf</tt> for short), which
yields especially short solutions.
</p>
<p>
There are also some not-as-major features: input boards can now contain a
leading
colon (":") at the beginning of the line of columns, so they can be
copy-and-pasted directly from the output of fc-solve with the <tt>-p</tt>
flag. The <tt>dbm_fc_solver</tt> and <tt>depth_dbm_fc_solver</tt> now store
the positions more compactly (which aided in researching two-freecell deals),
and the core libfreecell-solver code was made more 64-bit enabled and many
of the limits were converted to 64-bit friendly ones.
</p>
<p>
A final note: we have dropped support for building Freecell Solver with
<a href="http://en.wikipedia.org/wiki/Visual_C%2B%2B">Microsoft Visual C++</a>
and other non-GCC compatible compilers, which do not support the newer
C standards, and other useful features of GCC. Building Freecell Solver with
GCC, clang and other compatible compilers will be continued to be supported
on Microsoft Windows as well as on Linux and other UNIX-like systems.
</p>
<p>
More information about all these can be found in the
<a href="http://fc-solve.shlomifish.org/docs/#distributed-docs">distributed
documents</a> of Freecell Solver.
</p>
<p>
Enjoy!
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-51654264299453214872012-09-02T02:19:00.000-07:002016-03-11T07:47:18.127-08:00Two Freecell Solvability Report for the First 400,000 Deals
<p>
With some help from some people on <a href="http://tech.groups.yahoo.com/group/fc-solve-discuss/">the fc-solve-discuss list</a> and off the list (namely
Amadiro from <a href="http://www.uio.no/english/">the University of
Oslo</a> and someone else that I met on IRC
, I ran my solvers on the first 400,000 Windows Freecell deals
with only two available freecells to see how many of them can be solved.
</p>
<p>
Here is the report:
</p>
<table border="1">
<tr>
<th>Start Index</th>
<th>End Index</th>
<th>Solved</th>
<th>Impossible</th>
<th>Intractable</th>
</tr>
<tr>
<td>1</td>
<td>32,000</td>
<td>25,381</td>
<td>6,619</td>
<td>0</td>
</tr>
<tr>
<td>32,001</td>
<td>50,000</td>
<td>14,302</td>
<td>3,698</td>
<td>0</td>
</tr>
<tr>
<td>50,001</td>
<td>100,000</td>
<td>39,775</td>
<td>10,225</td>
<td>0</td>
</tr>
<tr>
<td>100,001</td>
<td>400,000</td>
<td>238,415</td>
<td>61,584</td>
<td>1 (No. 384243)</td>
</tr>
<tr>
<td colspan="2">Total</td>
<td>317,873</td>
<td>82,126</td>
<td>1</td>
</tr>
</table>
<p>
So about 79.47% of the deals can be solved and the rest are impossible. The
only intractable deal that none of my solvers could yield a verdict for is
No. 384,243, and it spans a very large number of states:
</p>
<ul>
<li>
<p>
The dbm_fc_solver got into <q>Reached 12,821,000,000 ;
States-in-collection: 13,620,999,440</q>
before it failed to produce more results due to a limitation of the
hardware where it was deployed on.
</p>
</li>
<li>
<p>
The depth_dbm_fc_solver yielded this:
</p>
<blockquote>
<p>
Reached 13,763,700,000 ; States-in-collection: 16,226,294,490 ; Time: 1345126456.520408
Queue Stats: inserted=16,226,294,490 items_in_queue=2,462,594,490 extracted=13,763,700,000
</p>
</blockquote>
<p>
with a curr_depth of 38. However, that solver may have some yet undiscovered
bugs.
</p>
</li>
</ul>
<p>
So what's next? I’d like to investigate some ways to scale to a larger
number of states, perhaps by creating a distributed solver. A <a href="https://www.google.com/search?q=distributed%20breadth%20first%20search">Google search for distributed breadth
first search</a> yields some results:
</p>
<p>
I hope you enjoy the statistics for the time being.
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com9tag:blogger.com,1999:blog-96099636168698788.post-39297150264383643612012-06-13T06:31:00.001-07:002012-06-13T06:31:51.799-07:00Freecell Solver 3.12.0<p>
<a href="http://fc-solve.shlomifish.org/">Freecell Solver</a> version 3.12.0
has been released. It is available in the form of a source archive from
<a href="http://fc-solve.shlomifish.org/download.html">the
download page</a>. Freecell Solver is an open source framework (library
and some command line applications), for automatically solving several
variants of card Solitaire / Patience games, including Freecell.
</p>
<p>
The first item to note is that the URL of its site changed from under
*.berlios.de to
<a href="http://fc-solve.shlomifish.org/">http://fc-solve.shlomifish.org/</a>,
and that there is a redirect in place. Moreover, we have switched the version
control system from one based on Subversion to a git repository which is
<a href="https://github.com/shlomif/fc-solve">currently hosted on GitHub</a>
(though we may move it later).
</p>
<p>
This release adds a new flag - <tt>--show-exceeded-limits</tt> or
<tt>-sel</tt> for short, that removes some ambiguity in the output,
and fixes a problem with starting the solver with <tt>--set-pruning r:tf</tt>
in conjunction with <tt>-opt</tt>. A new preset - <tt>-l three-eighty</tt>
(or <tt>-l te</tt> for short) has been added, which provides somewhat better
performance.
</p>
<p>
The experimental <tt>dbm_fc_solver</tt> is now less experimental and can now
store the positions inside binary trees in memory, and its memory consumption
has been greatly reduced since earlier versions. We also added another
experimental solver called <tt>fcc_fc_solver</tt> which aims to determine
the solvability of a deal by analysing fully-connected-components (“FCCs”).
</p>
<p>
We also added support for building and testing the distribution in an
out-of-tree build, and there are some cleanups to the code.
</p>
<p>
More information about all these can be found in the
<a href="http://fc-solve.shlomifish.org/docs/#distributed-docs">distributed
documents</a> of Freecell Solver.
</p>
<p>
Enjoy!
</p>Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com1tag:blogger.com,1999:blog-96099636168698788.post-47065980021238297322012-01-15T11:46:00.001-08:002012-01-15T11:46:47.944-08:00Freecell Solver 3.10.0 was Released<p>
<a href="http://fc-solve.berlios.de/">Freecell Solver</a> version 3.10.0
has been released. It is available in the form of a source tarball from
<a href="http://fc-solve.berlios.de/download.html">the
download page</a>.
</p>
<p>
This release fixes two bugs - one with the <tt>--max-iters</tt> affecting
only the last instance, and one with reading foundations with <tt>0</tt>,
and implements many small optimisations and cleanups. It also adds some
experimental code with the so-called <tt>delta-states</tt>, where states
are compactly encoded based on the original state. This functionality is not
available in the main solver yet, but it powers the experimental
on-disk-key/value-databases-based solver, which end up not scaling very well
during testing.
</p>
<p>
Enjoy!
</p>Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-27455021867643920272011-07-03T07:36:00.000-07:002011-07-03T07:37:49.364-07:00Freecell Solver 3.8.0 was Released<p>
<a href="http://fc-solve.berlios.de/">Freecell Solver</a> version 3.8.0
has been released. It is available in the form of a source tarball from
<a href="http://fc-solve.berlios.de/download.html">the
download page</a>.
</p>
<p>
This release fixes some crashes using <tt>--trim-max-stored-states</tt>,
adds a more meaningful man page instead of the token one that was previously
present, adds <tt>scripts/parallel-range-solver-total</tt> to solve a range
of deals in parallel by splitting them into chunks, and many smaller
improvements and fixes.
</p>
<p>
We also forgot to mention the 3.6.0 release, which fixed the installation of
<tt>fcs_dllexport.h</tt>, added the <tt>--tracemem</tt> compile time option,
added a bug fix for incrementally increasing the iterations/stored-states
limits, added a built-in version of
<a href="http://www.kylheku.com/~kaz/kazlib.html">kazlib</a>'s balanced
binary search tree as a possible back-end for storage, and had some
other improvements.
</p>
<p>
Enjoy!
</p>Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com4tag:blogger.com,1999:blog-96099636168698788.post-84187827732959973052011-03-31T15:12:00.000-07:002017-10-20T06:35:27.707-07:00Freecell Solver™ Goes Webscale<p>
<b>1 April, 2011, Tel Aviv, Israel:</b>
Freecell Solver Enterprises™, Inc., on behalf of the
<a href="http://fc-solve.berlios.de/">Freecell Solver™</a> development
team, is glad to announce the upcoming availability of the
Webscale™ Edition of Freecell Solver™, the solver for various types of
<a href="http://en.wikipedia.org/wiki/Patience_%28game%29">Patience
games</a>.
</p>
<p>
Freecell Solver™, has until now made use of a compile-time choice of primitive,
in-memory, data-structures such as
<a href="http://en.wikipedia.org/wiki/Hash_table">hash tables</a>
or
<a href="http://en.wikipedia.org/wiki/Self-balancing_binary_search_tree">self-balancing
binary trees</a>, but now we decided that it's time to move on to something
more in the spirit of 2010s. Since SQL databases have already become passé,
we decided to skip directly to the
<a href="http://en.wikipedia.org/wiki/NoSQL">NoSQL</a> trend of databases
(also known as "Oh no! No SQL!") and to write alternative backends for
Freecell Solver™ for distributed NoSQL stores such as
<a href="http://en.wikipedia.org/wiki/Cassandra_%28database%29">Cassandra</a>,
<a href="http://en.wikipedia.org/wiki/MongoDB">MongoDB</a>,
or <a href="http://en.wikipedia.org/wiki/CouchDB">CouchDB</a>.
</p>
<p>
Freecell Solver Enterprises™ is certain that using these modern,
high-performance, and highly distributed stores will increase
Freecell Solver™'s webscalability, and allow it to process a larger amount of
stored positions than it could at the moment at a far greater speed
and make Freecell Solver™ be ready for the cloud. As our CTO, Shlomi Fish,
says “If you're not excited about it now, you should be.”
</p>
<p>
Expect the upcoming availability of Freecell Solver™ Webscale™ Edition from
the <a href="http://fc-solve.berlios.de/">homepage</a> of Freecell Solver™.
</p>
Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com0tag:blogger.com,1999:blog-96099636168698788.post-5625807644365146932010-12-05T14:26:00.000-08:002010-12-05T14:27:37.720-08:00Freecell Solver 3.4.0 was Released<p>
<a href="http://fc-solve.berlios.de/">Freecell Solver</a> version 3.4.0
has been released. It is available in the form of a source tarball from
<a href="http://fc-solve.berlios.de/download.html">the
download page</a>.
</p>
<p>
In this release, we've added the <tt>--set-pruning</tt> flag to turn on
the Horne's play prune, which improves performance. There are two new presets
- <tt>-l enlightened-ostrich</tt> (or <tt>-l eo</tt> for short), which makes
use of <tt>--set-pruning</tt> and is the fastest preset yet, and
<tt>-l maliciously-obscure</tt> (<tt>-l mo</tt>) which is slow but generates
especially short solutions.
</p>
<p>
We added a compile-time option to use
<a href="http://fc-solve.berlios.de/to-do.html#rcs_state_storage">RCS-like
states storage</a> which conserves a lot of RAM and allowed Freecell
Solver to scale to over 200 million positions on an x86-64 machine with
64 GB of RAM (which was utilised for that courtesy of Amadiro's university).
There are many other major and minor speed and memory optimisations in this
release.
</p>
<p>
The <tt>--ms</tt> and <tt>-M</tt> flags were added to
the <tt>make_pysol_freecell_board.py</tt> program, to generate Microsoft
deals even for numbers higher than 32,000, which are different in
PySol and PySolFC. Furthermore, the CMake configuration was updated to
use "lib${LIB_SUFFIX}", so it can be built on some 64-bit systems.
</p>
<p>
Finally, there's an experimental <tt>--trim-max-stored-states</tt> which
currently may crash the solver, but we decided to release it despite this fact.
</p>
<p>
All of these changes prove to be a huge step forward for Freecell Solver making
this release its best release yet.
</p>Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com2tag:blogger.com,1999:blog-96099636168698788.post-73659278275740819112010-07-14T02:03:00.000-07:002010-07-14T02:04:13.479-07:00Freecell Solver 3.2.0 was Released<p>
<a href="http://fc-solve.berlios.de/">Freecell Solver</a> version 3.2.0
has been released. It is available in the form of a source tarball from
<a href="http://fc-solve.berlios.de/download.html">the
download page</a>. We hope to release a Windows binary soon.
</p>
<p>
This release implements the <tt>--depth-tests-order</tt> flag that allows
varying the tests' order based on the depth which allows for interesting
(and faster) searches. Several new presets : <tt>-l the-iglu-cabal</tt>
, <tt>-l foss-nessy</tt> and <tt>-l tea-for-two</tt> have been added
, the latter optimised for two freecell deals. There are also several
bug-fixes, optimisations and code cleanups.
</p>Shlomi Fishhttp://www.blogger.com/profile/03931260511676488069noreply@blogger.com7