' Winnables

cellmate's Webpages
(works in progress)

Visit freecell.net Home page
Learn about and play freecell the NetCELL way


deck standard collection of 52 playing cards, ace thru king, 4 suits
game number There are 32768 game numbers 0 thru 32767
shuffle (shuffled deck) game number is used as seed to a pseudo-random number generator which is used to select cards from a deck with some adjustment controlled by level
level

level is used to adjust the shuffle slightly so that on average lower level shuffles are easier to win

level is also referred to as difficuly level. And climate

The concept is that making low cards playable sooner makes the game easier. This appears to hold true but is not the only factor that affects a games difficulty so is not a guarentee

Level 10 is an unadjusted shuffle

Lower levels (easier) are achieved by adding more high cards early in the shuffle. The lower the level, the more high cards added. This results in more low cards being available for play sooner.

Higher levels (harder) does the reverse. More low cards are added early in the shuffle. This results in low cards being buried.

eg an 8x4 level 6 game should be easier to win than the same 8x4 level 10 game

There is no attempt to ensure consistency for a level. A shuffle might already be 'easy'. Level adjustment may make it even easier.

layout (tableau) Columns x Freecells, the standard freecell layout being 8x4
deal is dealing cards from a shuffle to a layout
variant is a grouping shuffles with the same level being dealt to the same layout
eg 8x4-6 represents level 6 shuffles dealt to an 8x4 layout
9x3-6 is the same shuffles but dealt to a 9x3 layout
n-sum is a grouping of layouts by the sum of columns and freecells eg 8x4 is a 12-sum
Answer: No

Over the years attempts have been made to identify the unwinnable games
Players organized to attempt to solve, or confirm unwinnable, all unwon deals. The more difficult games were escalated to the more skilled players.

Shuffles vary by game number and level. The same shuffles are used for all layouts

levelsshuffles
per level132768
levels 1 thru 44131072
levels 5 thru 10 - streak play6196608
levels 1 thru 1010327680
levels 1 thru 12 - custom play12393216
levels 1 thru 14 - solver14458752

Layouts range from 4 thru 13 columns and varying number of freecells 0 thru 10 depending on number of columns.
The number of freecells does not effect the deal.

deals (layouts * variants * 32768)
streakcustom
levels 1-45-101-101-12
layoutsvariants 461012
4x4 thru 4x107917504137625622937602752512
5x3 thru 5x1081048576157286426214403145728
6x2 thru 6x1091179648176947229491203538944
7x1 thru 7x991179648176947229491203538944
8x0 thru 8x891179648176947229491203538944
9x0 thru 9x781048576157286426214403145728
10x0 thru 10x67917504137625622937602752512
11x0 thru 11x56786432117964819660802359296
12x0 thru 12x4565536098304016384001966080
13x0 thru 13x3452428878643213107201572864
Total9437184141557762359296028311552
deals (layouts * variants * 32768)
solver
levels 1-14
layoutsvariants 14
4x3 thru 4x12104587520
5x2 thru 5x11104587520
6x1 thru 6x10104587520
7x0 thru 7x9104587520
8x0 thru 8x894128768
9x0 thru 9x783670016
10x0 thru 10x673211264
11x0 thru 11x562752512
12x0 thru 12x452293760
13x0 thru 13x341835008
Total362414086

The number of variants per layout changes depending on how many levels you include
Each streak play layout includes levels 5 thru 10 so every layout has 6 variants

variants
streakcustom
layoutslevels 1-45-101-101-12
per layout461012
4x4 thru 4x10728427084
5x3 thru 5x10832488096
6x2 thru 6x109365490108
7x1 thru 7x99365490108
8x0 thru 8x89365490108
9x0 thru 9x7832488096
10x0 thru 10x6728427084
11x0 thru 11x5624366072
12x0 thru 12x4520305060
13x0 thru 13x3416244048
Total288432720864
variants
solver
layoutslevels 1-14
per layout114
4x3 thru 4x1210140
5x2 thru 5x1110140
6x1 thru 6x1010140
7x0 thru 7x910140
8x0 thru 8x89126
9x0 thru 9x78112
10x0 thru 10x6798
11x0 thru 11x5684
12x0 thru 12x4570
13x0 thru 13x3456
Total1106

FC-SOLVE is well known as a freecell game solver (which can also solve many other solitaire games)

fc-solve binaries are available to run on your windows or linux machine but these are limited to 10 columns and ?? freecells. The source code and build scripts are also available. It was necessary to rebuild fc-solve from source to increase the limits to get a fc-solve that can attempt to solve all of the NetCELL layouts.

A script was required to automate the running of fc-solve against a full set of games covering

That's a wider range than standard NetCELL for a total of 36241408 ( 79 * 14 * 32768 ) games

6 fc-solve methods were run against the full set of games

The first pass was run with -mi 6000000. Most games were solved (or unsolved) within a couple of seconds. For those that exceeded the limit (less than 1%) it was around 30 seconds
Patsolve took about 2.5 weeks to complete. Each of the others closer to 4 weeks

MethodSolvedUnsolvedExceeded
a-star28206023797258762798
dfs28222048797258746773
patsolve28222202801917828
random-dfs28204934797258763887
random-dfs-cn28263483789517582750
random-dfs-lg28256467797043814503

A second pass of the games that exceeded the limit were rerun with -mi 12000000. About 75% of those finished within the limit.
Each method took another 2-4 weeks

MethodSolvedUnsolvedExceeded
a-star replays18832318340783
dfs replays13407318330183
patsolve replays000
random-dfs replays18502318342202
random-dfs-cn replays146831320354864
random-dfs-lg replays150746488348

MethodSolvedUnsolvedExceeded
combined2830284779385610

Once the scripts were running it was just a great deal of patience ( and monitoring to deal with problems) waiting for the processing to complete.

I could have saved some time by not playing eg an 8x4 game if it had already been solved as 8x3, or if it had already been solved by a previous run, but i also collected a couple of other stats, eg moves and iterations, which required the full runs. I hoped it might give some indication of game difficulty but it became apparent quite quickly that this was not the case.

Anyway... just extra time. Also nice to see the differences where where some methods could solve a game whereas another could not but collectively a fuller set of solved games

Solved means
  • fc-solve found a solution

Unsolved can mean...
  • the game is not solvable
  • fc-solve couldn't solve it
  • the attempt exceeded the '-mi' limit ( 6m )
  • fc-solve crashed or was killed while trying to solve it
note: 6x6 23218-9 is an example of a game solved by human but not by the fc-solve methods tried here (although yet another method was able to)

Data:
     
     
     

Filters:
Levels:
N-Sums:
Columns:
Freecells:

Show as:

Results from tbd



FC-SOLVE data

download merged results (used for this page) in csv format csv

csv files containing games solved flags for variants used to create merged results
use game number to index into that long string of 0's and 1's
4x 5x 6x 7x 8x 9x 10x 11x 12x 13x