Solver Statistics

From Sokoban Wiki

(Difference between revisions)
Jump to: navigation, search
(Statistics for Push-Optimal Solvers: Added Junghanns' thesis)
(New Sokolution website)
 
(313 intermediate revisions not shown)
Line 1: Line 1:
-
Sokoban solvers are programs that solve sokoban levels. There are many programs available that can solve Sokoban levels (see [[Links#Sokoban Solvers |Sokoban solvers]]).
+
A Sokoban solver program is a program that <u>''tries to''</u> solve Sokoban levels. There are several solver programs available. (See [[Links#Sokoban Solvers |Sokoban solvers]].)
-
There are different solver types:
+
Solver programs may have different objectives:
-
# Solvers which just try to find any solution
+
# Find any solution
-
# Solvers which try to find push optimal solutions
+
# Find push optimal solutions
-
# Solvers which try to find push optimal solutions with best moves
+
# Find push optimal solutions with best moves
-
# Solvers which try to find move optimal solutions
+
# Find move optimal solutions
-
# Solvers which try to find move optimal solutions with best pushes
+
# Find move optimal solutions with best pushes
-
Usually a solver is designed to just find any solution. If the solution is to be optimized an optimizer program can be used ([[Links#Sokoban Solvers |Optimizers]]).
+
Given the computational complexity of these tasks, a solver program is usually designed for just finding any solution. If a solution is to be optimized, an optimizer program can be used. (See [[Links#Sokoban Solvers |Optimizers]].)
-
To get an impression of what levels are solvable by which solver here are some statistics.<br />  
+
The statistics presented here provide a picture of what the best freely available Sokoban solvers can do.<br />  
For copyrights, credits and redistribution of these statistics, please read the disclaimer.
For copyrights, credits and redistribution of these statistics, please read the disclaimer.
-
== Statistics for Various Level Sets ==
+
== General benchmarking information ==
 +
 
 +
For practical reasons, almost all tests have been performed with a 10 minutes time limit. The tests are, however, not a 10 minutes contest but a showcase for what the solvers can do, so other time limits are entirely feasible.
 +
 
 +
The hardware used for the tests is a standard PC with a modern operating system (64bit).
 +
 
 +
Tests are performed with default solver settings.
 +
 
 +
{| class="soko-table feature-list"
 +
!Solver                                                                    || Version || Author                        || Architecture || CPU usage || Source code available || More info
 +
|-
 +
|<span class="plainlinks">[https://festival-solver.site/ Festival]</span>                                  || 3.1    || Yaron Shoham ||  64bit        || 8 threads    || <span class="plainlinks">[https://festival-solver.site/ Festival 3.1]</span>                || <span class="plainlinks">[https://festival-solver.site/ Website with papers about the solver]</span>
 +
|-
 +
|<span class="plainlinks">[http://sokolution.infinityfreeapp.com/ Sokolution]</span>                        || 6.33 || Florent Diedler                || 64bit        || all threads || no                  || <span class="plainlinks">[[Sokoban solver "scribbles" by Florent Diedler about the Sokolution solver | Sokoban solver "scribbles" by Florent Diedler]]</span>
 +
|-
 +
|<span class="plainlinks">[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]</span>    || 7.4    || Ken'ichiro Takahashi (takaken) || 64bit        || 2 threads || no                  || <span class="plainlinks">[https://computerpuzzle.net/puzzle/sokoban/ver731/index.html Description of the used algorithms]</span>
 +
|-
 +
|<span class="plainlinks">[https://festival-solver.site/curry/ Curry]</span>                                || 0.3    || Yaron Shoham                  || 64bit        || 1 thread  || <span class="plainlinks">[https://festival-solver.site/curry/ Curry 0.3] || <span class="plainlinks">[https://festival-solver.site/curry/ Website with paper about the solver]</span>
 +
|-
 +
|<span class="plainlinks">[https://sourceforge.net/projects/sokobanyasc/files/sokobanyasc/ YASS]</span>    || 2.151  || Brian Damgaard                || 32bit        || 1 thread  || <span class="plainlinks">[https://sourceforge.net/projects/sokobanyasc/files/sokobanyasc/ YASS 2.151]</span>  || <span class="plainlinks">[[Sokoban solver "scribbles" by Brian Damgaard about the YASS solver | Sokoban solver "scribbles" by Brian Damgaard]]</span>
 +
|-
 +
|<span class="plainlinks">[https://www.sokoban-online.de/ JSoko]</span>                                    || 2.04    || Matthias Meger                || 64bit        || 1 thread  || <span class="plainlinks">[https://sourceforge.net/projects/jsokoapplet/files/JSoko/Version%202.03/ JSoko 2.04]</span>  || [[Solver | Solver information]]
 +
|-
 +
|<span class="plainlinks">[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html Rolling Stone]</span> || 1.0    || Andreas Junghanns              || 32bit        || 1 thread  || <span class="plainlinks">[https://webdocs.cs.ualberta.ca/~games/Sokoban/Src/ RS] || <span class="plainlinks">[https://scholar.google.com/scholar?hl=de&as_sdt=0%2C5&q=rolling+stone+sokoban&btnG= Rolling Stone papers]</span>
 +
|}
 +
 
 +
Contact: SokobanoWiki@gmail.com
 +
 
 +
== XSokoban Test Suite ==
 +
 
 +
The XSokoban level set is the de facto standard test suite in the academic literature on Sokoban solver programming.
 +
 
{| class="soko-table"
{| class="soko-table"
|-
|-
-
! colspan="8" | Solver Statistics - Solved Levels
+
! colspan="11" | Sokoban Solver Statistics - XSokoban Test Suite - Solved Levels
<!-- Header -->
<!-- Header -->
Line 24: Line 55:
| width="160"  |                Author
| width="160"  |                Author
| width=" 70"  |                Levels
| width=" 70"  |                Levels
-
| width=" 80"  |                 BoxSearch
+
| width= "90"  | <span class="plainlinks">[https://www.researchgate.net/publication/2305703_Pushing_the_Limits_New_Developments_in_Single-Agent_Search Rolling Stone]</span>
-
| width= "80"  | <span class="plainlinks">[http://www.ic-net.or.jp/home/takaken/e/soko/index.html                Takaken]</span>
+
| width= "80"  | <span class="plainlinks">[https://computerpuzzle.net/english/sokoban/ver740/index.html                Takaken]</span>
| width=" 80"  | <span class="plainlinks">[https://sourceforge.net/projects/sokobanyasc/ YASS]</span>
| width=" 80"  | <span class="plainlinks">[https://sourceforge.net/projects/sokobanyasc/ YASS]</span>
| width=" 80"  | [[JSoko Solver    | JSoko]]
| width=" 80"  | [[JSoko Solver    | JSoko]]
-
| width=" 80"  | <span class="plainlinks">[http://codeanalysis.fr/sokoban/ Sokolution ]</span>
+
| width=" 80"  | <span class="plainlinks">[http://sokolution.infinityfreeapp.com/ Sokolution ]</span>
 +
| width=" 80"  | <span class="plainlinks">[https://festival-solver.site/curry/ Curry ]</span>
 +
| width=" 80"  | <span class="plainlinks">[https://festival-solver.site/ Festival ]</span>
-
<!-- -------------------------------------------------------------------------------------------- -->
+
<!-- -------------------------------------------------------------------------------------------------------- -->
-
<!-- Aymeric du Peloux. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution" -->
+
<!-- XSokoban. "Collection, author, levels, Rolling Stone, Takaken, YASS, JSoko, Sokolution, Festival" -->
-
<!-- -------------------------------------------------------------------------------------------- -->
+
<!-- -------------------------------------------------------------------------------------------------------- -->
|- align="right"
|- align="right"
-
| align="left" bgcolor="#f1efe5"           | [[Solver Statistics - Aymeric | Aymeric]]
+
| align="left" bgcolor="#f1efe5" | <span class="plainlinks">[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/ XSokoban]</span>
-
| align="left"                             | Aymeric du Peloux
+
| align="left"                                               | Thinking Rabbit, ...
-
|                                               282
+
|                                                                 90
-
|                                           '''282'''
+
| <span class="plainlinks">[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html 59*]</span>
-
| [[SolverStatistics-takaken-Aymeric      | '''282''' ]]
+
| <span class="plainlinks">[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Takaken%20-%20XSokoban.html '''90''']</span>
-
| [[SolverStatistics-yass-Aymeric          | '''282''' ]]
+
| <span class="plainlinks">[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/YASS%20-%20XSokoban.html 89]</span>
-
| [[SolverStatistics-jsoko-AymericduPeloux | '''282''' ]]
+
| [[SolverStatistics-jsoko-ThinkingRabbit-XSokoban            |   67    ]]
-
| [[SolverStatistics-sokolution-Aymeric    | '''282''' ]]
+
| <span class="plainlinks">[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Sokolution%20-%20XSokoban.html '''90''']</span>
 +
| <span class="plainlinks">[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Curry%20-%20XSokoban.html '''90''']</span>
 +
| <span class="plainlinks">[https://sokoban-solver-statistics.sourceforge.io/statistics/XSokoban/Festival%20-%20XSokoban.html '''90''']</span>
-
<!-- -------------------------------------------------------------------------------------------- -->
+
|}
-
<!-- BoxWorld. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"          -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                  | [[Solver Statistics - BoxWorld - Various Authors| BoxWorld]]
+
-
| align="left"                                    | Various Authors
+
-
|                                                      100
+
-
|                                                      87
+
-
| [[SolverStatistics-takaken-BoxWorld              | '''98''' ]]
+
-
| [[SolverStatistics-yass-BoxWorld                |    94    ]]
+
-
| [[SolverStatistics-jsoko-VariousAuthors-BoxWorld |    82    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-BoxWorld      | '''98''' ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
*) 59 solved puzzles according to paper [https://sokoban.dk/wp-content/uploads/2016/02/Single-Agent.pdf Sokoban Enhancing general single-agent search methods using domain knowledge]
-
<!-- Grigr2001. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"        -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                    | [[Solver Statistics - Grigr2001 - Evgeny Grigoriev| Grigr2001]]
+
-
| align="left"                                      | Evgeny Grigoriev
+
-
|                                                        100
+
-
|                                                        93
+
-
| [[SolverStatistics-takaken-Grigr2001              |    94    ]]
+
-
| [[SolverStatistics-yass-Grigr2001                  |    93    ]]
+
-
| [[SolverStatistics-jsoko-EvgenyGrigoriev-Grigr2001 |    91    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-Grigr2001      | '''95''' ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
{| class="soko-table"
-
<!-- Grigr2002. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"        -->
+
|-
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                    | [[Solver Statistics - Grigr2002 - Evgeny Grigoriev| Grigr2002]]
+
-
| align="left"                                      | Evgeny Grigoriev
+
-
|                                                         40
+
-
|                                                        37
+
-
| [[SolverStatistics-takaken-Grigr2002              |    37    ]]
+
-
| [[SolverStatistics-yass-Grigr2002                  |    38    ]]
+
-
| [[SolverStatistics-jsoko-EvgenyGrigoriev-Grigr2002 |    34    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-Grigr2002      | '''40''' ]]
+
<!-- -------------------------------------------------------------------------------------------- -->
<!-- -------------------------------------------------------------------------------------------- -->
-
<!-- GrigrSpecial. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"     -->
+
! colspan="7" | Sokoban Solver Statistics - XSokoban Test Suite - Push-optimal Solutions
-
<!-- -------------------------------------------------------------------------------------------- -->
+
|- bgcolor="#f1efe5" align="center"
-
|- align="right"
+
| width="115" align="left" | Collection
-
| align="left" bgcolor="#f1efe5"                       | [[Solver Statistics - GrigrSpecial - Evgeny Grigoriev| GrigrSpecial]]
+
| width="160"             | Author
-
| align="left"                                         | Evgeny Grigoriev
+
| width=" 70"             | Levels
-
|                                                           40
+
| width=" 80"              | <span class="plainlinks">[https://www.researchgate.net/publication/2305703_Pushing_the_Limits_New_Developments_in_Single-Agent_Search Rolling Stone]</span>
-
|                                                            39
+
| width=" 80"              | <span class="plainlinks">[http://www.ijcai.org/Abstract/16/100 Pereira et al.]</span>
-
| [[SolverStatistics-takaken-GrigrSpecial              | '''40''' ]]
+
| width=" 80"              | <span class="plainlinks">[http://sourceforge.net/projects/jsokoapplet/ JSoko]</span>
-
| [[SolverStatistics-yass-GrigrSpecial                  | '''40''' ]]
+
| width=" 80"              | <span class="plainlinks">[http://sokolution.infinityfreeapp.com/ Sokolution ]</span>
-
| [[SolverStatistics-jsoko-EvgenyGrigoriev-GrigrSpecial |    39    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-GrigrSpecial      | '''40''' ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
 
-
<!-- Holland. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"          -->
 
<!-- -------------------------------------------------------------------------------------------- -->
<!-- -------------------------------------------------------------------------------------------- -->
|- align="right"
|- align="right"
-
| align="left" bgcolor="#f1efe5"             | [[Solver Statistics - David Holland| Holland]]
+
| align="left" bgcolor="#f1efe5" | XSokoban
-
| align="left"                               | David Holland
+
| align="left"                   | Thinking Rabbit, ...
-
|                                                 81
+
|               90
-
|                                                56
+
|               <span class="plainlinks">[https://webdocs.cs.ualberta.ca/~games/Sokoban/program.html 6 ]</span>
-
| [[SolverStatistics-takaken-Holland        | '''65''' ]]
+
|               [[SolverStatistics-Pereira-ThinkingRabbit-XSokoban-Push-Optimal | 28 ]]
-
| [[SolverStatistics-yass-Holland            |   59    ]]
+
|               <span class="plainlinks">[https://www.sokoban-online.de/jsoko/solver-statistics/ 31 ]</span>
-
| [[SolverStatistics-David Holland-Holland  |    55    ]]
+
|               [[SolverStatistics-Sokolutionv4.0-ThinkingRabbit-XSokoban-Push-Optimal | '''59''' ]]
-
| [[SolverStatistics-sokolutionv3.01-Holland | '''65''' ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
|}
-
<!-- Kenyam Set A. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"      -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                    | [[Solver Statistics - Kenya Maruyama| Kenyam Set A]]
+
-
| align="left"                                      | Kenya Maruyama
+
-
|                                                        52
+
-
|                                                        48
+
-
| [[SolverStatistics-takaken-KenyamSetA            |    50    ]]
+
-
| [[SolverStatistics-yass-KenyamSetA                |    51    ]]
+
-
| [[SolverStatistics-jsoko-KenyaMaruyama-KenyamSetA |    45    ]]
+
-
| [[SolverStatistics-sokolution3.01-KenyamSetA      | '''52''' ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
The statistic shows that Sokolution is by far the best solver when searching for push optimal solutions.
-
<!-- Microban. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"          -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                  | [[Solver Statistics - Microban - David W. Skinner| Microban]]
+
-
| align="left"                                    | David W. Skinner
+
-
|                                                      155
+
-
|                                                  '''155'''
+
-
| [[SolverStatistics-takaken-Microban            | '''155''' ]]
+
-
| [[SolverStatistics-yass-Microban                | '''155''' ]]
+
-
| [[SolverStatistics-jsoko-DavidWSkinner-Microban | '''155''' ]]
+
-
| [[SolverStatistics-sokolutionv3.01-Microban    | '''155''' ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
== Large Test Suite ==
-
<!-- Microban II. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"      -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                    | [[Solver Statistics - Microban II - David W. Skinner| Microban II]]
+
-
| align="left"                                      | David W. Skinner
+
-
|                                                        135
+
-
|                                                        134
+
-
| [[SolverStatistics-takaken-Microban-II            |    134    ]]
+
-
| [[SolverStatistics-yass-Microban-II                | '''135''' ]]
+
-
| [[SolverStatistics-jsoko-DavidWSkinner-MasMicroban | '''135''' ]]
+
-
| [[SolverStatistics-sokolutionv3.01-Microban-II    |    132    ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
The large test suite comprises level packs selected for being a challenge for the solvers, but not too difficult. The statistics shows the results for the leading Sokoban solver programs.  
-
<!-- Sasquatch. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"        -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                  | [[Solver Statistics - Sasquatch - David W. Skinner| Sasquatch]]
+
-
| align="left"                                    | David W. Skinner
+
-
|                                                      50
+
-
|                                                      22
+
-
| [[SolverStatistics-takaken-Sasquatch            | '''36''' ]]
+
-
| [[SolverStatistics-yass-Sasquatch                |    26    ]]
+
-
| [[SolverStatistics-jsoko-DavidWSkinner-Sasquatch |    28    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-Sasquatch    | '''36''' ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
This test suite is not subject to change, as it is intended to be a "Large Standard Test Suite" for Sokoban solver programs.  
-
<!-- Sasquatch II. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"     -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                      | [[Solver Statistics - Sasquatch II - David W. Skinner| Sasquatch II]]
+
-
| align="left"                                        | David W. Skinner
+
-
|                                                          50
+
-
|                                                          16
+
-
| [[SolverStatistics-takaken-Sasquatch-II            | '''33''' ]]
+
-
| [[SolverStatistics-yass-Sasquatch-II                |    20    ]]
+
-
| [[SolverStatistics-jsoko-DavidWSkinner-MasSasquatch |    18    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-Sasquatch-II    |    32    ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
{| class="soko-table"
-
<!-- Sasquatch III. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"    -->
+
|-
-
<!-- -------------------------------------------------------------------------------------------- -->
+
! colspan="6" | Sokoban Solver Statistics - Large Test Suite - Solved levels
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                      | [[Solver Statistics - Sasquatch III - David W. Skinner| Sasquatch III]]
+
-
| align="left"                                        | David W. Skinner
+
-
|                                                          50
+
-
|                                                          14
+
-
| [[SolverStatistics-takaken-Sasquatch-III            |    22    ]]
+
-
| [[SolverStatistics-yass-Sasquatch-III              |    13    ]]
+
-
| [[SolverStatistics-jsoko-DavidWSkinner-SasquatchIII |    12    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-Sasquatch-III    | '''25''' ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
<!-- Header -->
-
<!-- Sasquatch IV. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"     -->
+
|- bgcolor="#f1efe5" align="center"
-
<!-- -------------------------------------------------------------------------------------------- -->
+
| width="115" align="left" |  
-
|- align="right"
+
| width=" 70"   | Levels
-
| align="left" bgcolor="#f1efe5"                     | [[Solver Statistics - Sasquatch IV - David W. Skinner| Sasquatch IV]]
+
| width= "80"  | <span class="plainlinks">[https://festival-solver.site/ Festival ]</span>
-
| align="left"                                       | David W. Skinner
+
| width=" 80"  | <span class="plainlinks">[http://sokolution.infinityfreeapp.com/ Sokolution]</span>
-
|                                                         50
+
| width=" 80"  | <span class="plainlinks">[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]</span>
-
|                                                        27
+
| width=" 80"  | <span class="plainlinks">[https://sourceforge.net/projects/sokobanyasc/ YASS]</span>
-
| [[SolverStatistics-takaken-Sasquatch-IV            | '''37''' ]]
+
-
| [[SolverStatistics-yass-Sasquatch-IV              |   30    ]]
+
-
| [[SolverStatistics-jsoko-DavidWSkinner-SasquatchIV |    25    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-Sasquatch-IV    |    35    ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
|- bgcolor="#f1efe5" align="right"
-
<!-- Sasquatch V. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"      -->
+
| align="left" | Total levels
-
<!-- -------------------------------------------------------------------------------------------- -->
+
|   3272      <!-- Total levels -->
-
|- align="right"
+
| '''3205'''  <!-- Festival    -->
-
| align="left" bgcolor="#f1efe5"                    | [[Solver Statistics - Sasquatch V - David W. Skinner| Sasquatch V]]
+
|    3172      <!-- Sokolution  -->
-
| align="left"                                     | David W. Skinner
+
|    2953      <!-- Takaken      -->
-
|                                                       50
+
|    2891      <!-- YASS        -->
-
|                                                       30
+
-
| [[SolverStatistics-takaken-Sasquatch-V            |    36    ]]
+
-
| [[SolverStatistics-yass-Sasquatch-V              |    29    ]]
+
-
| [[SolverStatistics-jsoko-DavidWSkinner-SasquatchV |    25    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-Sasquatch-V    | '''37''' ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
|}
-
<!-- Sasquatch VI. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"      -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                    | [[Solver Statistics - Sasquatch VI - David W. Skinner| Sasquatch VI]]
+
-
| align="left"                                      | David W. Skinner
+
-
|                                                        50
+
-
|                                                        30
+
-
| [[SolverStatistics-takaken-Sasquatch-VI            |    32    ]]
+
-
| [[SolverStatistics-yass-Sasquatch-VI              |    25    ]]
+
-
| [[SolverStatistics-jsoko-DavidWSkinner-SasquatchVI |    26    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-Sasquatch-VI    | '''38''' ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
'''[https://sokoban-solver-statistics.sourceforge.io/statistics/LargeTestSuite/ Click here to see the detailed results for the Large Test Suite].'''
-
<!-- Sasquatch VII. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"    -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                      | [[Solver Statistics - Sasquatch VII - David W. Skinner| Sasquatch VII]]
+
-
| align="left"                                        | David W. Skinner
+
-
|                                                          50
+
-
|                                                          30
+
-
| [[SolverStatistics-takaken-Sasquatch-VII            |    31    ]]
+
-
| [[SolverStatistics-yass-Sasquatch-VII              |    26    ]]
+
-
| [[SolverStatistics-jsoko-DavidWSkinner-SasquatchVII |    25    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-Sasquatch-VII    | '''40''' ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
Download the entire test suite [https://sourceforge.net/projects/sokoban-solver-statistics/files/Large%20Test%20Suite.zip/download here] or the individual level sets from [http://sokobano.de/de/levels.php www.sokobano.de].
-
<!-- SokEvo. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"            -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"      | [[Solver Statistics - SokEvo - Lee J Haywood | SokEvo]]
+
-
| align="left"                        | Lee J Haywood
+
-
|                                          107
+
-
|                                        '''107'''
+
-
| [[SolverStatistics-takaken-SokEvo    | '''107''' ]]
+
-
| [[SolverStatistics-yass-SokEvo      | '''107''' ]]
+
-
|                                        '''107'''
+
-
| [[SolverStatistics-sokolution-SokEvo | '''107''' ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
== Open Test Suite ==
-
<!-- SokHard. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"          -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"              | [[Solver Statistics - Lee J Haywood | SokHard ]]
+
-
| align="left"                                | Lee J Haywood
+
-
|                                                  163
+
-
|                                                '''163'''
+
-
| [[SolverStatistics-takaken-SokHard          | '''163''' ]]
+
-
| [[SolverStatistics-yass-SokHard              | '''163''' ]]
+
-
| [[SolverStatistics-jsoko-LeeJHaywood-SokHard |    158    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-SokHard  | '''163''' ]]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
The statistics shows the results for the leading Sokoban solvers for various level collections. Please note that the grand totals are simple summations. The number of solved unique levels may differ slightly due to duplicate levels in the level packs.
-
<!-- Sven. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"              -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"              | [[Solver Statistics - Sven Egevad | Sven ]]
+
-
| align="left"                                | Sven Egevad
+
-
|                                                  1623
+
-
|                                                  1170
+
-
| [[SolverStatistics-takaken-SvenEgevad        |    1384  ]]
+
-
| [[SolverStatistics-yass-SvenEgevad          |    1251  ]]
+
-
| [[SolverStatistics-jsoko-SvenEgevad-Sven    |    1147  ]]
+
-
| [[SolverStatistics-sokolutionv3.1-SvenEgevad | '''1432''']]
+
-
 
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
<!-- XSokoban. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"          -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5" | [[Solver Statistics - XSokoban - Thinking Rabbit & Various Authors| XSokoban ]]
+
-
| align="left"                                                | Thinking Rabbit, ...
+
-
|                                                                  90
+
-
|                                                                  42
+
-
| [[SolverStatistics-takaken-ThinkingRabbit-XSokoban          | '''86''' ]]
+
-
| [[SolverStatistics-yass-ThinkingRabbit-XSokoban            |    84    ]]
+
-
| [[SolverStatistics-jsoko-ThinkingRabbit-XSokoban            |    71    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-ThinkingRabbit-XSokoban  |    80    ]]
+
-
 
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
<!-- Y.M. Auto. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"        -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                              | [[Solver Statistics - Y.M. Auto - Yoshio Murase| Y.M. Auto ]]
+
-
| align="left"                                                | Yoshio Murase
+
-
|                                                                  52
+
-
|                                                                '''52'''
+
-
| [[SolverStatistics-takaken-YoshioMuraseAutogenerated        | '''52''' ]]
+
-
| [[SolverStatistics-yass-YoshioMuraseAutogenerated            | '''52''' ]]
+
-
|                                                                '''52'''
+
-
| [[SolverStatistics-sokolutionv3.01-YoshioMuraseAutogenerated | '''52''' ]]
+
-
 
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
<!-- Y.M. Handmade. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"    -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                          | [[Solver Statistics - Y.M. Handmade - Yoshio Murase| Y.M. Handmade ]]
+
-
| align="left"                                            | Yoshio Murase
+
-
|                                                              54
+
-
|                                                          '''54'''
+
-
| [[SolverStatistics-takaken-YoshioMuraseHandmade        | '''54''' ]]
+
-
| [[SolverStatistics-yass-YoshioMuraseHandmade            |    52    ]]
+
-
| [[SolverStatistics-jsoko-YoshioMurase-Handmade          |    52    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-YoshioMuraseHandmade |    53    ]]
+
-
 
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
<!-- Perfect "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"    -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                            | [[Solver Statistics - Perfect - Thinking Rabbit | Sokoban Perfect ]]
+
-
| align="left"                                              | Thinking Rabbit
+
-
|                                                                306
+
-
| [[SolverStatistics-BoxSearch-ThinkingRabbit-Perfect      |    66*  ]]
+
-
| [[SolverStatistics-takaken-ThinkingRabbit-Perfect        | '''261''' ]]
+
-
| [[SolverStatistics-yass-ThinkingRabbit-Perfect            |    188    ]]
+
-
| [[SolverStatistics-jsoko-ThinkingRabbit-Perfect          |    188    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-ThinkingRabbit-Perfect |    233    ]]
+
-
 
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
<!-- Revenge "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution"    -->
+
-
<!-- -------------------------------------------------------------------------------------------- -->
+
-
|- align="right"
+
-
| align="left" bgcolor="#f1efe5"                            | [[Solver Statistics - Revenge - Thinking Rabbit | Sokoban Revenge ]]
+
-
| align="left"                                              | Thinking Rabbit
+
-
|                                                                306
+
-
| [[SolverStatistics-BoxSearch-ThinkingRabbit-Revenge      |    76*  ]]
+
-
| [[SolverStatistics-takaken-ThinkingRabbit-Revenge        | '''244''' ]]
+
-
| [[SolverStatistics-yass-ThinkingRabbit-Revenge            |    194    ]]
+
-
| [[SolverStatistics-jsoko-ThinkingRabbit-Revenge          |    171    ]]
+
-
| [[SolverStatistics-sokolutionv3.01-ThinkingRabbit-Revenge |    214    ]]
+
-
 
+
-
<!-- -------------------------------------------------------------------------------------------------------- -->
+
-
<!-- Total solved levels by solver. "Collection, author, levels, BoxSearch, Takaken, YASS, JSoko, Sokolution" -->
+
-
<!-- -------------------------------------------------------------------------------------------------------- -->
+
-
|- bgcolor="#f1efe5" align="right"
+
-
| align="left" | Total
+
-
|
+
-
|    4036      <!-- Total levels -->
+
-
|    2830      <!-- BoxSearch    -->
+
-
|    3533      <!-- Takaken      -->
+
-
|    3207      <!-- YASS        -->
+
-
|    3023      <!-- JSoko        -->
+
-
| '''3536'''  <!-- Sokolution  -->
+
-
 
+
-
|}
+
-
 
+
-
* = Results for BoxSearch have been done with "moves/pushes" solving method,
+
-
not with "any solution" method, which is much better. The results will be updated
+
-
as soon as the better results are available.
+
-
== Statistics for Push-Optimal Solvers ==
+
This test suite may be changed by adding new level collections from time to time.
{| class="soko-table"
{| class="soko-table"
|-
|-
 +
! colspan="6" | Sokoban Solver Statistics - Open Test Suite - Solved levels
-
<!-- -------------------------------------------------------------------------------------------- -->
+
<!-- Header -->
-
! colspan="7" | Solver Statistics - Push-optimal Solutions
+
|- bgcolor="#f1efe5" align="center"
|- bgcolor="#f1efe5" align="center"
-
| width="115" align="left" | Collection
+
| width="115" align="left" |  
-
| width="160"              | Author
+
| width=" 70"   | Levels
-
| width=" 70"             | Levels
+
| width= "80"   | <span class="plainlinks">[https://festival-solver.site/ Festival]</span>
-
| width=" 80"             | [https://www.researchgate.net/publication/2305703_Pushing_the_Limits_New_Developments_in_Single-Agent_Search Junghanns]
+
| width=" 80"   | <span class="plainlinks">[http://sokolution.infinityfreeapp.com/ Sokolution]</span>
-
| width=" 90"             | [http://www.ijcai.org/Abstract/16/100 Pereira et al.]
+
| width=" 80"   | <span class="plainlinks">[https://computerpuzzle.net/english/sokoban/ver740/index.html Takaken]</span>
-
| width=" 80"             | [http://sourceforge.net/projects/jsokoapplet/ JSoko]  
+
| width=" 80"   | <span class="plainlinks">[https://sourceforge.net/projects/sokobanyasc/ YASS]</span>
-
| width=" 80"             | [http://codeanalysis.fr/sokoban/ Sokolution ]
+
-
<!-- -------------------------------------------------------------------------------------------- -->
 
-
|- align="right"
 
-
| align="left" bgcolor="#f1efe5" | XSokoban
 
-
| align="left"                  | Thinking Rabbit, ...
 
-
|                90
 
-
|                <span class="plainlinks">[https://www.researchgate.net/publication/2305703_Pushing_the_Limits_New_Developments_in_Single-Agent_Search '''50''' ]</span>
 
-
|                [[SolverStatistics-Pereira-ThinkingRabbit-XSokoban-Push-Optimal | 28 ]]
 
-
|                <span class="plainlinks">[https://www.sokoban-online.de/jsoko/solver-statistics/ 31 ]</span>
 
-
|                [[SolverStatistics-Sokolutionv3.01-ThinkingRabbit-XSokoban-Push-Optimal | 38 ]]
 
-
 
-
<!-- -------------------------------------------------------------------------------------------- -->
 
|- bgcolor="#f1efe5" align="right"
|- bgcolor="#f1efe5" align="right"
-
| align="left" | Total
+
| align="left" | Total levels
-
|  
+
|   10773      <!-- Total levels -->
-
|    90
+
| '''9950'''   <!-- Festival    -->
-
| '''50'''
+
|    9694      <!-- Sokolution  -->
-
|    28
+
|    8919      <!-- Takaken      -->
-
|    31
+
|    8485      <!-- YASS        -->
-
|    38
+
|}
|}
 +
 +
'''[https://sokoban-solver-statistics.sourceforge.io/statistics/OpenTestSuite/ Click here to see the detailed results for the Open Test Suite].'''
== GroupEffort Test Suite ==
== GroupEffort Test Suite ==
-
The reason for benchmarking the GroupEffort test suite is to show the limited veracity of the statement made in section "6 Conclusion" of the thesis, where the author writes that the GroupEffort solver "outperforms existing solvers".  
+
The only reason for benchmarking the GroupEffort test suite is to demonstrate the limited veracity of the statement made in section "6 Conclusion" of the thesis, where the author writes that the GroupEffort solver "outperforms existing solvers".  
The benchmarks show that this was only true for the cherry-picked small test set at the time the thesis was published, never for the presumably more representative large test set.  
The benchmarks show that this was only true for the cherry-picked small test set at the time the thesis was published, never for the presumably more representative large test set.  
Line 407: Line 182:
{| class="soko-table"
{| class="soko-table"
|-
|-
-
! colspan="7" | Solver Statistics - GroupEffort Test Suite
+
! colspan="8" | Sokoban Solver Statistics - GroupEffort Test Suite - Solved Levels
<!-- -------------------------------------------------------------------------------------------- -->
<!-- -------------------------------------------------------------------------------------------- -->
Line 415: Line 190:
| width = "115" align="left" | Collection
| width = "115" align="left" | Collection
| width =  "80" |                                                        Levels
| width =  "80" |                                                        Levels
-
| width =  "80" | [https://baldur.iti.kit.edu/theses/SokobanPortfolio.pdf GroupEffort]
+
| width =  "80" | <span class="plainlinks">[https://baldur.iti.kit.edu/theses/SokobanPortfolio.pdf GroupEffort]</span>
-
| width =  "80" | [http://codeanalysis.fr/sokoban/                       Sokolution]  
+
| width =  "80" | <span class="plainlinks">[https://festival-solver.site/                         Festival]</span>
-
| width =  "80" | [http://www.ic-net.or.jp/home/takaken/e/soko/index.html Takaken]  
+
| width =  "80" | <span class="plainlinks">[http://sokolution.infinityfreeapp.com/                  Sokolution]</span>
-
| width =  "80" | [https://sourceforge.net/projects/jsokoapplet/          JSoko]
+
| width =  "80" | <span class="plainlinks">[http://www.ic-net.or.jp/home/takaken/e/soko/index.html Takaken]</span>
-
| width =  "80" | [https://sourceforge.net/projects/sokobanyasc/          YASS]
+
| width =  "80" | <span class="plainlinks">[https://sourceforge.net/projects/jsokoapplet/          JSoko]</span>
 +
| width =  "80" | <span class="plainlinks">[https://sourceforge.net/projects/sokobanyasc/          YASS]</span>
<!-- -------------------------------------------------------------------------------------------- -->
<!-- -------------------------------------------------------------------------------------------- -->
Line 428: Line 204:
| 200
| 200
| 196 (a)(c)  
| 196 (a)(c)  
 +
| [[SolverStatistics-Festival-GroupEffort-Small-Set  | '''200''' (b) ]]
| [[SolverStatistics-Sokolution-GroupEffort-Small-Set | '''200''' (a) ]]
| [[SolverStatistics-Sokolution-GroupEffort-Small-Set | '''200''' (a) ]]
| [[SolverStatistics-Takaken-GroupEffort-Small-Set    |    192 (b)    ]]  
| [[SolverStatistics-Takaken-GroupEffort-Small-Set    |    192 (b)    ]]  
Line 440: Line 217:
| 2851
| 2851
| 1566 (a)(c)
| 1566 (a)(c)
-
| [[SolverStatistics-Sokolution-GroupEffort-Large-Set | '''2471''' (a) ]]
+
| [[SolverStatistics-Festival-GroupEffort-Large-Set   | '''2766''' (b) ]]
 +
| [[SolverStatistics-Sokolution-GroupEffort-Large-Set |    2471 (a)   ]]
| [[SolverStatistics-Takaken-GroupEffort-Large-Set    |    2462 (b)    ]]
| [[SolverStatistics-Takaken-GroupEffort-Large-Set    |    2462 (b)    ]]
| [[SolverStatistics-JSoko-GroupEffort-Large-Set      |    2165 (b)    ]]  
| [[SolverStatistics-JSoko-GroupEffort-Large-Set      |    2165 (b)    ]]  
Line 452: Line 230:
|    3051      <!-- Total levels -->
|    3051      <!-- Total levels -->
|    1762      <!-- Group Effort -->
|    1762      <!-- Group Effort -->
-
| '''2671'''  <!-- Sokolution  -->
+
| '''2966'''  <!-- Festival    -->
 +
|    2671      <!-- Sokolution  -->
|    2654      <!-- Takaken      -->
|    2654      <!-- Takaken      -->
|    2345      <!-- JSoko        -->
|    2345      <!-- JSoko        -->
|    2471      <!-- YASS        -->  
|    2471      <!-- YASS        -->  
-
 
|}
|}
Line 480: Line 258:
   and/or other materials provided with the distribution.
   and/or other materials provided with the distribution.
  <br>
  <br>
-
  Credits (in no particular order)
+
  Credits (in no particular order)
-
  =================================
+
  ================================
-
<br>
+
-
Many thanks to minglw for doing the solver tests for the sets: Sokoban Perfect and Sokoban Revenge.
+
-
<br>
+
-
Sokolution
+
-
Copyright (C) 2016 by Florent DIEDLER
+
-
E-mail: fdiedler2000@gmail.com
+
-
Web site: http://codeanalysis.fr/sokoban/ 
+
-
<br>
+
-
BoxSearch
+
-
Copyright (C) 2007 by Ge Yong
+
-
E-mail: notabdc@hotmail.com
+
-
Web site: unknown 
+
-
<br>
+
-
JSoko
+
-
Copyright (C) by Matthias Meger
+
-
E-mail: JSoko@online.de
+
-
Web site: http://www.sokoban-online.de
+
-
<br>
+
-
Sokoban Automatic Solver (aka Takaken solver)
+
-
Copyright (C) 2002 - 200X Ken'ichiro Takahashi (aka takaken)
+
-
E-mail: takaken@ic-net.or.jp
+
-
Web site: http://www.ic-net.or.jp/home/takaken/e/soko/index.html
+
-
<br>
+
-
YASS - Yet Another Sokoban Solver and Optimizer - For Small Levels
+
-
Copyright (C) 2007 by Brian Damgaard
+
-
E-mail: BrianDamgaard@jubii.dk
+
-
Web site: http://sourceforge.net/projects/sokobanyasc/
+
  <br>
  <br>
  CosmoNotes, CosmoPoly, LOMA, MicroCosmos, MiniCosmos,
  CosmoNotes, CosmoPoly, LOMA, MicroCosmos, MiniCosmos,
Line 531: Line 282:
  E-mail: grigr@yandex.ru
  E-mail: grigr@yandex.ru
  Web site: http://grigr.narod.ru/
  Web site: http://grigr.narod.ru/
-
<br>
 
-
Kenyam Set A
 
-
Copyright (C) 2000-2006 by Kenya Maruyama
 
-
E-mail: rmckenyam@hotmail.com
 
-
Web Site: http://www.geocities.jp/rmcsokoban/soko/skrmc_a.htm
 
  <br>
  <br>
  SokEvo and SokHard level sets
  SokEvo and SokHard level sets
Line 546: Line 292:
  E-mail: sven.egevad@telia.com
  E-mail: sven.egevad@telia.com
  Web Site: unknown
  Web Site: unknown
 +
<br>
 +
Sokoban Perfect and Sokoban Revenge level sets
 +
Copyright (C) 1989, 1991 by Thinking Rabbit
 +
Web Site: https://sokoban.jp/
  <br>
  <br>
  Y.M. Auto and Y.M. Handmade level sets
  Y.M. Auto and Y.M. Handmade level sets
Line 552: Line 302:
  Web Site: http://www.ne.jp/asahi/ai/yoshio/sokoban/index.html
  Web Site: http://www.ne.jp/asahi/ai/yoshio/sokoban/index.html
  <br>
  <br>
-
  Box World
+
  JSoko
-
  Copyright (C) 1998 by Jeng-Long Jiang
+
  Copyright (C) by Matthias Meger
-
  E-mail: unknown
+
  E-mail: JSoko@mail.de
-
  Web Site: unknown
+
  Web site: https://www.sokoban-online.de
  <br>
  <br>
-
  Sokofan
+
  Sokoban Automatic Solver (aka Takaken solver)
-
  Copyright (C) 2005-2007 by Eric Leung
+
  Copyright (C) 2002 - 200X Ken'ichiro Takahashi (aka takaken)
-
  E-mail: eleung2@hotpop.com
+
  E-mail: takaken@ic-net.or.jp
-
  Web Site: unknown
+
  Web site: https://computerpuzzle.net/english/sokoban/ver740/index.html
  <br>
  <br>
-
  Sokoban YASC
+
  YASS - Yet Another Sokoban Solver and Optimizer - For Small Levels
  Copyright (C) 2007 by Brian Damgaard
  Copyright (C) 2007 by Brian Damgaard
-
  E-mail: BrianDamgaard@jubii.dk
+
  Web site: https://sourceforge.net/projects/sokobanyasc/
 +
<br>
 +
Sokoban YASC
 +
Copyright (C) 2001-2020 by Brian Damgaard
  Web Site: https://sourceforge.net/projects/sokobanyasc/
  Web Site: https://sourceforge.net/projects/sokobanyasc/
  <br>
  <br>
Line 576: Line 329:
  E-mail: andru@cs.cornell.edu
  E-mail: andru@cs.cornell.edu
  Web Site: http://www.cs.cornell.edu/andru/xsokoban.html
  Web Site: http://www.cs.cornell.edu/andru/xsokoban.html
 +
<br>
 +
Sokofan
 +
Copyright (C) 2005-2007 by Eric Leung
 +
E-mail: eleung2@hotpop.com
 +
Web Site: unknown
 +
<br>
 +
Sokolution
 +
Copyright (C) 2016-2019 by Florent DIEDLER
 +
E-mail: fdiedler2000@gmail.com
 +
Web site: http://sokolution.infinityfreeapp.com/
 +
<br>
 +
Festival
 +
Copyright (C) 2020 by Yaron Shoham
 +
Web site: https://festival-solver.site/
  <br>
  <br>
  Trademarks
  Trademarks
Line 586: Line 353:
  =======
  =======
  <br>
  <br>
-
  E-mail: sokoban@online.de
+
  E-mail: sokobanowiki@gmail.com

Current revision as of 18:40, 8 October 2024

A Sokoban solver program is a program that tries to solve Sokoban levels. There are several solver programs available. (See Sokoban solvers.)

Solver programs may have different objectives:

  1. Find any solution
  2. Find push optimal solutions
  3. Find push optimal solutions with best moves
  4. Find move optimal solutions
  5. Find move optimal solutions with best pushes

Given the computational complexity of these tasks, a solver program is usually designed for just finding any solution. If a solution is to be optimized, an optimizer program can be used. (See Optimizers.)

The statistics presented here provide a picture of what the best freely available Sokoban solvers can do.
For copyrights, credits and redistribution of these statistics, please read the disclaimer.


Contents

General benchmarking information

For practical reasons, almost all tests have been performed with a 10 minutes time limit. The tests are, however, not a 10 minutes contest but a showcase for what the solvers can do, so other time limits are entirely feasible.

The hardware used for the tests is a standard PC with a modern operating system (64bit).

Tests are performed with default solver settings.

Solver Version Author Architecture CPU usage Source code available More info
Festival 3.1 Yaron Shoham 64bit 8 threads Festival 3.1 Website with papers about the solver
Sokolution 6.33 Florent Diedler 64bit all threads no Sokoban solver "scribbles" by Florent Diedler
Takaken 7.4 Ken'ichiro Takahashi (takaken) 64bit 2 threads no Description of the used algorithms
Curry 0.3 Yaron Shoham 64bit 1 thread Curry 0.3 Website with paper about the solver
YASS 2.151 Brian Damgaard 32bit 1 thread YASS 2.151 Sokoban solver "scribbles" by Brian Damgaard
JSoko 2.04 Matthias Meger 64bit 1 thread JSoko 2.04 Solver information
Rolling Stone 1.0 Andreas Junghanns 32bit 1 thread RS Rolling Stone papers

Contact: SokobanoWiki@gmail.com

XSokoban Test Suite

The XSokoban level set is the de facto standard test suite in the academic literature on Sokoban solver programming.

Sokoban Solver Statistics - XSokoban Test Suite - Solved Levels
Collection Author Levels Rolling Stone Takaken YASS JSoko Sokolution Curry Festival
XSokoban Thinking Rabbit, ... 90 59* 90 89 67 90 90 90
Sokoban Solver Statistics - XSokoban Test Suite - Push-optimal Solutions
Collection Author Levels Rolling Stone Pereira et al. JSoko Sokolution
XSokoban Thinking Rabbit, ... 90 6 28 31 59

The statistic shows that Sokolution is by far the best solver when searching for push optimal solutions.

Large Test Suite

The large test suite comprises level packs selected for being a challenge for the solvers, but not too difficult. The statistics shows the results for the leading Sokoban solver programs.

This test suite is not subject to change, as it is intended to be a "Large Standard Test Suite" for Sokoban solver programs.

Sokoban Solver Statistics - Large Test Suite - Solved levels
Levels Festival Sokolution Takaken YASS
Total levels 3272 3205 3172 2953 2891

Click here to see the detailed results for the Large Test Suite.

Download the entire test suite here or the individual level sets from www.sokobano.de.

Open Test Suite

The statistics shows the results for the leading Sokoban solvers for various level collections. Please note that the grand totals are simple summations. The number of solved unique levels may differ slightly due to duplicate levels in the level packs.

This test suite may be changed by adding new level collections from time to time.

Sokoban Solver Statistics - Open Test Suite - Solved levels
Levels Festival Sokolution Takaken YASS
Total levels 10773 9950 9694 8919 8485

Click here to see the detailed results for the Open Test Suite.

GroupEffort Test Suite

The only reason for benchmarking the GroupEffort test suite is to demonstrate the limited veracity of the statement made in section "6 Conclusion" of the thesis, where the author writes that the GroupEffort solver "outperforms existing solvers".

The benchmarks show that this was only true for the cherry-picked small test set at the time the thesis was published, never for the presumably more representative large test set.

Sokoban Solver Statistics - GroupEffort Test Suite - Solved Levels
Collection Levels GroupEffort Festival Sokolution Takaken JSoko YASS
Small Set 200 196 (a)(c) 200 (b) 200 (a) 192 (b) 180 (b) 191 (b)
Large Set 2851 1566 (a)(c) 2766 (b) 2471 (a) 2462 (b) 2165 (b) 2260 (b)
Total 3051 1762 2966 2671 2654 2345 2471

(a): Time limit: 5 minutes     (b): Time limit: 10 minutes     (c): Best GroupEffort solver configuration

Disclaimer

Sokoban
=======

Sokoban (R) Registered Trademark of Falcon Co., Ltd., Japan Sokoban Copyright (C) 1982-2004 by Hiroyuki Imabayashi, Japan Sokoban Copyright (C) 1989, 1990, 2001-2004 by Falcon Co., Ltd., Japan
License =======
Redistribution and use of the Sokoban Solver statistics are permitted provided that the following conditions are met:
* Redistributions may not be sold, nor may they be used in a commercial product or activity. * Redistributions must reproduce the entire content of this disclaimer in the documentation and/or other materials provided with the distribution.
Credits (in no particular order) ================================
CosmoNotes, CosmoPoly, LOMA, MicroCosmos, MiniCosmos, NaboCosmos and PicoCosmos level sets Copyright (C) by Aymeric du Peloux. E-mail: aymeric.du-peloux@gadz.org Web site: unknown
dh1, dh2, bagatelle, cantrip, and maelstrom level sets Copyright (C) by David Holland E-mail: unknown Web site: unknown
Microban, Mas Microban, Sasquatch, Mas Sasquatch, Sasquatch III, Sasquatch IV, Sasquatch V, Sasquatch VI and Sasquatch VII level sets. Copyright (C) by David W. Skinner E-mail: sasquatch@bentonrea.com Web site: unknown
Grigr2001, Grigr2002 and GrigrSpecial level sets Copyright (C) by Evgeny Grigoriev (aka GRIGoRusha) E-mail: grigr@yandex.ru Web site: http://grigr.narod.ru/
SokEvo and SokHard level sets Copyright (C) 2002-2006 by Lee J Haywood E-mail: fruise@gmail.com Web Site: http://leehaywood.org/games/sokoban/
Sven level set Copyright (C) 2007 by Sven Egevad E-mail: sven.egevad@telia.com Web Site: unknown
Sokoban Perfect and Sokoban Revenge level sets Copyright (C) 1989, 1991 by Thinking Rabbit Web Site: https://sokoban.jp/
Y.M. Auto and Y.M. Handmade level sets Copyright (C) Yoshio Murase E-mail: yoshio@asahi.email.ne.jp Web Site: http://www.ne.jp/asahi/ai/yoshio/sokoban/index.html
JSoko Copyright (C) by Matthias Meger E-mail: JSoko@mail.de Web site: https://www.sokoban-online.de
Sokoban Automatic Solver (aka Takaken solver) Copyright (C) 2002 - 200X Ken'ichiro Takahashi (aka takaken) E-mail: takaken@ic-net.or.jp Web site: https://computerpuzzle.net/english/sokoban/ver740/index.html
YASS - Yet Another Sokoban Solver and Optimizer - For Small Levels Copyright (C) 2007 by Brian Damgaard Web site: https://sourceforge.net/projects/sokobanyasc/
Sokoban YASC Copyright (C) 2001-2020 by Brian Damgaard Web Site: https://sourceforge.net/projects/sokobanyasc/
YSokoban Copyright (C) 2007 by George Petrov E-mail: YGP@WriteMe.com Web Site: http://ygp.orgfree.com/sokoban.html
XSokoban Copyright (C) by Andrew Myers E-mail: andru@cs.cornell.edu Web Site: http://www.cs.cornell.edu/andru/xsokoban.html
Sokofan Copyright (C) 2005-2007 by Eric Leung E-mail: eleung2@hotpop.com Web Site: unknown
Sokolution Copyright (C) 2016-2019 by Florent DIEDLER E-mail: fdiedler2000@gmail.com Web site: http://sokolution.infinityfreeapp.com/
Festival Copyright (C) 2020 by Yaron Shoham Web site: https://festival-solver.site/
Trademarks ==========
Company names, brand names and product names are trademarks or registered trademarks of their respective holders.
Contact =======
E-mail: sokobanowiki@gmail.com

Personal tools