aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano.tronto@gmail.com>2021-12-24 17:39:13 +0100
committerSebastiano Tronto <sebastiano.tronto@gmail.com>2021-12-24 17:39:13 +0100
commit5c3796633f7e02542c054f88a942f749851c0c39 (patch)
treeaadb5fe3bc2e7b212e4ce4c7570ce0a9615c0ffe /README.md
parent119ee0af023b702651b14d8e8e4e46d021a11845 (diff)
downloadnissy-5c3796633f7e02542c054f88a942f749851c0c39.tar.gz
nissy-5c3796633f7e02542c054f88a942f749851c0c39.zip
Cited nxopt, updated performance description
Diffstat (limited to '')
-rw-r--r--README.md25
1 files changed, 13 insertions, 12 deletions
diff --git a/README.md b/README.md
index 89a9c80..7bd8c8f 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,19 @@
1# Nissy 1# Nissy
2 2
3A Rubik's cube solver and FMC assistant. 3A Rubik's cube solver and FMC assistant.
4For optimal HTM solving nissy uses the same method as Herbert Kociemba's 4For optimal HTM solving Nissy uses techniquest from Herbert Kociemba's
5[Cube Explorer](http://kociemba.org/cube.htm). When using a single CPU thread 5[Cube Explorer](http://kociemba.org/cube.htm) and Tomas Rokicki's
6its performance are comparable, but nissy is much faster when using multiple 6[nxopt](https://github.com/rokicki/cube20src/blob/master/nxopt.md).
7threads (with the -t option for the solve command). 7With 4 cores at 2.5GHz and using less than 3Gb of RAM, Nissy can find an
8issy can also solve many different substeps of 8optimal solution in less than a minute (18 moves or less) to a few minutes.
9Thistlethwaite's algorithm (DR/HTR), and can use NISS (Normal-Inverse Scramble Switch).
10 9
10Nissy can also solve many different substeps of Thistlethwaite's algorithm
11(DR/HTR), and can use NISS (Normal-Inverse Scramble Switch).
11It can be useful to analyze your DR solves (and more, once I implement more features). 12It can be useful to analyze your DR solves (and more, once I implement more features).
12 13
13## Why should I use nissy? 14## Why should I use Nissy?
14 15
15You should use nissy if you: 16You should use Nissy if you:
16* Want to analyze your DR solutions or check for multiple optimal (or sub-optimal) 17* Want to analyze your DR solutions or check for multiple optimal (or sub-optimal)
17solutions for EO/DR/HTR or similar substeps. 18solutions for EO/DR/HTR or similar substeps.
18* You just want a Rubik's cube solver and you like command line interfaces. 19* You just want a Rubik's cube solver and you like command line interfaces.
@@ -20,7 +21,7 @@ solutions for EO/DR/HTR or similar substeps.
20 21
21## Requirements 22## Requirements
22 23
23A full installation of nissy requires a little more than 2Gb of space, 24A full installation of Nissy requires a little more than 2Gb of space,
24of which 1.6Gb are occupied by the huge pruning table for fast optimal solving, 25of which 1.6Gb are occupied by the huge pruning table for fast optimal solving,
25and running it requires the same amount of RAM. 26and running it requires the same amount of RAM.
26One can choose to never use this function and not to install the relative 27One can choose to never use this function and not to install the relative
@@ -48,14 +49,14 @@ Follows the instructions below to install the pruning tables.
48### Tables 49### Tables
49Nissy needs to generate certain large tables to work. These tables are by default 50Nissy needs to generate certain large tables to work. These tables are by default
50generated the first time they are needed (e.g the first time you ask to solve a 51generated the first time they are needed (e.g the first time you ask to solve a
51certain step) and then saved to a file. The following times nissy simply loads the 52certain step) and then saved to a file. The following times Nissy simply loads the
52corresponding file from the hard disk. 53corresponding file from the hard disk.
53 54
54The very large table for optimal solving can take some time to generate (about 20 55The very large table for optimal solving can take some time to generate (about 20
55minutes on my fairly old but decent laptop, using 8 CPU threads). All other 56minutes on my fairly old but decent laptop, using 8 CPU threads). All other
56tables are much faster. 57tables are much faster.
57 58
58You can ask nissy to generate all the tables it will ever need with the **gen** 59You can ask Nissy to generate all the tables it will ever need with the **gen**
59command. It is recommended to use more than one thread, if your CPU has them. 60command. It is recommended to use more than one thread, if your CPU has them.
60For example, you can run: 61For example, you can run:
61 62
@@ -86,7 +87,7 @@ I'll try to explain here the main parts of the program.
86 87
87### Cube, moves and transformations 88### Cube, moves and transformations
88 89
89There are many ways to represent a cube. In nissy I use two: 90There are many ways to represent a cube. In Nissy I use two:
90* An array representation `CubeArray`: 3 arrays representing the permutation 91* An array representation `CubeArray`: 3 arrays representing the permutation
91of corners, edges and centers and 2 arrays for the orientation of corners and edges. 92of corners, edges and centers and 2 arrays for the orientation of corners and edges.
92* An 11-integers representation `Cube`: 3 integers for edge orientation (with respect 93* An 11-integers representation `Cube`: 3 integers for edge orientation (with respect

Generated with cgit - Back to sebastiano.tronto.net