Sokolution 3.0

2019-03-03/DrFogh

Sokolution30

The screenshot above doesn’t look as your usual program interface today. Sets you back to the 90ties and the DOS-days with console programs. By the way Word Perfect 5.1 was a fantastic program with the user in full control. Not as todays Word always trying to interpret and change what it thinks the user wants and most of the time it isn’t.

Did I digress? Sorry. Back to Sokoban.

A few days ago Florent Diedler published Sokolution 3.0.

I gave it a test.

First thing to notice is Sokolution 3.0 is a stand alone program. Not a plugin. You can’t integrate it with neither YASS nor Sokoban++.
Sokolution 3.0 doesn’t have a GUI (Graphic User Interface). It is a pure console program.
So it is a little more complicated than usual to get to work.

How to do it:

  1. Download the program packet from Florents homepage
  2. Unzip the packet to your favorite place on your harddisk. You will find Sokolution in the folder “Standalone”
  3. To start Sokolution doubleclick “config.bat”

If you didn’t change anything a console window will open and Sokolution will start solving the levelset “Boxworld”.
All the levelsets used for benchmarking sokoban solvers at sokobano.de are included. By editing “config.bat” you can get Sokolution to solve whatever levelset you prefer.
If you want to solve a level or levelset not included you need to do some work.
This is what is necessary:

  1. Make a new folder, “MyLevels” in the folder …\Standalone\Ressources\Levels
  2. Make a textfile for each of the levels you want to test. The textfile must contain nothing else but the level. The textfiles shall be named MyLevels_1.txt, MyLevels_2.txt, MyLevels_3.txt…
  3. Be sure to put your textfiles into the folder “MyLevels”
  4. Go to the folder …\Standalone\Program and rightclick “config.bat” and choose “Edit”. The file will open for editing
  5. Find the line “set PACKAGE_LIST=(boxworld)” and change it to “set PACKAGE_LIST=(MyLevels)”
  6. Save the file and doubleclick “config.bat”. The Sokolution console will open and the program will try to solve whatever you told it to.
  7. After finishing solving the chosen levelset Sokolution saves the result in an Excel spreadsheet named “MyLevels_dd-mm-yyyy-…” located in …\Standalone\Program

Is Sokolution 3.0 better at solving?

Funny thing is changing the solving code the solvers sometimes get better and sometimes get worse solving a particular collection. So is the case with Sokolution 3.0 compared with the results for Sokolution 2.02. Have a look at Florents homepage. Overall Sokolution 3.0 increases the number of solved levels by 4.
By the way, Takaken, the ruling solver for many years was finally beaten from Sokolution 2.0 and forward.

I didn’t notice Sokolution 2.02 was published several month ago so I made my “It´s All Greek” solver test with Sokolution 2.01.
Here is the test with the last three Sokolution versions:

Level 2.01
2.02 3.0
1 Alfa x x x
2 Beta x x x
3 Gamma x x x
4 Big Gamma x x x
5 Delta
6 Big Delta
7 Epsilon
8 Zeta x x x
9 Eta x x x
10Theta
11 Big Theta
12 Iota x x x
13 Kappa
14 Lambda x x x
15 Big Lambda x x x
16 Mu
17 Nu x
18 Xi x x x
19 Big Xi
20 Omicron x
21 Pi
22 Big Pi x x x
23 Rho x
24 Sigma 1 x x x
25 Sigma 2 x x x
26 Big Sigma x x
27 Tau x x x
28 Upsilon x x x
29 Big Upsilon x x x
30 Phi
31 Big Phi
32 Chi
33 Psi
34 Omega x x x
35 Big Omega x x x
Solved 19 21 19

Compared to Sokolution 2.02 a solution for 23 Rho was found by Sokolution 3.0. But solutions for 16 Mu, 20 Omicron and 26 Big Sigma was not found.

Points of interest

  • Sokolution 3.0 is limited to 256 floors. Within that you can have any levelsizes and any number of boxes.
  • Solving circular levels (levels with all boxes on goal at the start) is still not implemented. I hope it will be in the future. Also Takaken doesn’t solve circular levels while YASS and JSoko do.
  • Florent Diedler told me Sokolution 3.0 will not get a GUI.