index.html (8026B)
1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <title> Nissy </title> 5 <meta name="viewport" content="width=device-width" /> 6 <link rel="stylesheet" type="text/css" href="/style-3.css"> 7 <link rel="icon" href="/favicon.png"> 8 <meta charset="utf-8"> 9 </head> 10 11 <body> 12 13 <h1>Nissy</h1> 14 15 <p class=subtitle>A Rubik's cube solver and FMC assistant</p> 16 17 <p> 18 Nissy is a command-line Rubik's cube solver. It can find optimal solutions 19 for random positions using techniques from Herbert Kociemba's 20 <a href="http://kociemba.org/cube.htm">Cube Explorer</a> and 21 Tomas Rokicki's 22 <a href="https://github.com/rokici/cube20src/blob/master/nxopt.md">nxopt</a>. 23 With 4 cores at 2.5GHz and using about 3Gb of RAM, Nissy can find an optimal 24 solution in about a minute on average. 25 </p> 26 27 <p> 28 Nissy aims at being a complete tool 29 for FMC (Fewest Moves Challenge) practice. It can solve different steps 30 of Thistlethwaite's algorithm (also know as DR/HTR) and cans use NISS 31 (Normal-Inverse Scramble Switch). 32 </p> 33 34 <p> 35 You should use Nissy if: 36 </p> 37 <ul> 38 <li> 39 You want to analyze your DR solutions or check for multiple optimal 40 (or sub-optimal) solutions for EO/DR/HTR or similar steps. 41 </li> 42 <li> 43 You just want a Rubik's cube solver and you like command line interfaces. 44 </li> 45 <li> 46 You want an alternative to Cube Explorer. 47 </li> 48 </ul> 49 50 <p> 51 You can also look at its source code by cloning the git repository: 52 </p> 53 54 <pre> 55 <code>git clone https://git.tronto.net/nissy-classic</code> 56 </pre> 57 58 <p> 59 For a summary of changes and a list of older versions see the bottom of 60 this page. Some versions (for example 1.0) are not available directly, 61 but can be obtained from the git repository. 62 </p> 63 64 <h2 id="Installation">Installation</h2> 65 66 <p> 67 You can get the latest version of nissy at the following links: 68 </p> 69 70 <table class="dltable"> 71 <tr> 72 <td></td> 73 <td><strong>Source code</strong></td> 74 <td><strong>Windows executable</strong></td> 75 </tr> 76 <tr> 77 <td><strong>Latest version</strong></td> 78 <td><a href="/nissy-2.0.8.tar.gz">nissy-2.0.8.tar.gz (71Kb)</a></td> 79 <td><a href="/nissy-2.0.8.exe">nissy-2.0.8.exe (758Kb)</a></td> 80 </tr> 81 </table> 82 83 <h3>System requirements</h3> 84 85 <p> 86 A full installation of nissy requires about 3.1Gb of space, 87 of which 2.3Gb are occupied by the huge pruning table for fast optimal solving, 88 and running it requires the same amount of RAM. 89 One can choose to never use this function and not to install the relative 90 pruning table. There is an alternative (slower) 91 optimal solving function that uses about 500Mb of RAM. 92 93 When generating the pruning tables automatically (see the section Tables below), 94 at least 5.3Gb or RAM are required. 95 </p> 96 97 <h3>Windows</h3> 98 99 <p> 100 Try downloading and executing in a terminal the file <code>nissy.exe</code>, 101 then follow the instructions in the <strong>Tables</strong> section below for 102 installing the pruning tables. 103 If <code>nissy.exe</code> does not work, you can try following the UNIX instructions 104 in WSL (Windows Subsystem for Linux) or in a similar environment. 105 </p> 106 107 <h3>UNIX (Linux, MacOS, *BSD...)</h3> 108 <p> 109 Download the source archive (.tar.gz). Extract it 110 with your favorite archive program, for example with 111 </p> 112 <pre><code>tar -xvzf nissy-VERSION.tar.gz</code></pre> 113 <p> 114 Open a terminal in the directory just extracted. 115 If you wish, edit the <code>Makefile</code> to match your local configuration 116 (this is usually not necessary, but you may want to change the 117 <code>PREFIX</code> variable to change the installation path) and run 118 <pre><code>make</code></pre> 119 <p> 120 followed by 121 </p> 122 <pre><code>make install</code></pre> 123 <p> 124 Then follow the instructions below to install the pruning tables. 125 </p> 126 127 <h3>Tables</h3> 128 129 <p> 130 Once you have installed nissy, run 131 </p> 132 133 <pre><code>nissy gen</code></pre> 134 135 <p> 136 to generate all the tables that Nissy will ever need. 137 Running this command requires around 5.3Gb of RAM, and it can take some time 138 (about 90 minutes on my 9 year old but laptop, with 4 CPU threads). 139 </p> 140 141 <p> 142 Some unnecessary technical detail: by default this command is going to use 143 at most 64 threads. If you want you can choose to use more threads (if your CPU 144 is very powerful) or fewer threads (if you for example want to run this command 145 in the background while you do other stuff) with the <code>-t</code> option, for 146 example <code>nissy gen -t 1</code>. 147 </p> 148 149 <p> 150 Alternatively, you can 151 <a href="/nissy-tables-2.0.4.zip">download all the tables (1.7Gb)</a> and 152 copy them into the correct folder (see manual page, <code>ENVIRONMENT</code> 153 section). On UNIX operating systems this folder is either 154 <code>.nissy/tables</code> in the user's home directory or 155 <code>$XDG_DATA_HOME/nissy/tables</code> if the XDG variable is configured. 156 On Windows it is the same directory as the <code>nissy.exe</code> executable 157 file. 158 </p> 159 160 <h2 id="Upgrade">Upgrading</h2> 161 <p> 162 <strong> Upgrading from 2.0.4 or later to any later version: </strong> 163 Follow the general upgrading instructions below, no other step required. 164 </p> 165 <p> 166 <strong> Important note for upgrading to 2.0.4:</strong> 167 A bug in 2.0.3 and earlier versions caused HTR-related tables to be 168 generated incorrectly on ARM platforms (Mac M1, Android...). 169 If you are upgrading to 2.0.4 on such a device, you need to re-generate 170 these tables. You can do this by removing all the files wiht <code>htr</code> 171 in their name and let nissy re-generate them (after upgrading), or by 172 downloading the <a href="/nissy-tables-2.0.4.zip">new tables</a> and 173 replacing the old ones. 174 </p> 175 <p> 176 <strong> General upgrading instrutions </strong> 177 If you already have nissy installed and you want to upgrade to a more 178 recent version, you can simply repeat the installation process: 179 </p> 180 <ul> 181 <li> 182 On Windows: simply replace nissy.exe with the new file with the same name. 183 </li> 184 <li> 185 On UNIX systems: download the new version of the source code, extract it in 186 a new folder and run <code>make</code> and <code>make install</code> again. 187 </li> 188 </ul> 189 <p> 190 Between each version new table files might have been added, or old ones 191 may be not used anymore. Nissy will deal with this automatically unless 192 otherwise reported in this page (see above). 193 </p> 194 195 <h2>Version history</h2> 196 197 <h3>Nissy v2</h3> 198 199 <table class=dltable> 200 <tr> 201 <td><strong>Version</strong></td> 202 <td><strong>Date</strong></td> 203 <td><strong>Comment</strong></td> 204 </tr> 205 <tr> 206 <td><a href="/nissy-2.0.8.tar.gz">2.0.8</a></td> 207 <td>2025-02-19</td> 208 <td>Fixed bug in DR scramble generation; thanks to Jeremy 209 Mrzyglocki for reporting it.</td> 210 </tr> 211 <tr> 212 <td><a href="/nissy-2.0.7.tar.gz">2.0.7</a></td> 213 <td>2024-06-28</td> 214 <td>Improved solution ordering; print less solutions for 215 htr and drslice; fixed bugs.</td> 216 </tr> 217 <tr> 218 <td><a href="/nissy-2.0.6.tar.gz">2.0.6</a></td> 219 <td>2023-09-24</td> 220 <td>Added: drfin step; solve -L option; ptable command. 221 Better ordering for output of many solutions.</td> 222 </tr> 223 <tr> 224 <td><a href="/nissy-2.0.5.tar.gz">2.0.5</a></td> 225 <td>2023-08-16</td> 226 <td>Bugfix: DR from EO did not check both sides</td> 227 </tr> 228 <tr> 229 <td><a href="/nissy-2.0.4.tar.gz">2.0.4</a></td> 230 <td>2023-05-03</td> 231 <td>Fixed bug on ARM; added corners-dr step</td> 232 </tr> 233 <tr> 234 <td><a href="/nissy-2.0.3.tar.gz">2.0.3</a></td> 235 <td>2022-09-10</td> 236 <td>Fixed bug in scramble dr</td> 237 </tr> 238 <tr> 239 <td><a href="/nissy-2.0.2.tar.gz">2.0.2</a></td> 240 <td>2022-06-01</td> 241 <td>Improved table generation speed</td> 242 </tr> 243 <tr> 244 <td><a href="/nissy-2.0.1.tar.gz">2.0.1</a></td> 245 <td>2022-02-22</td> 246 <td>Bugfix release</td> 247 </tr> 248 <tr> 249 <td>2.0</td> 250 <td>2021-12-29</td> 251 <td>Rewritten from scratch; much faster optimal solver</td> 252 </tr> 253 </table> 254 255 <h3>Nissy v1</h3> 256 257 <p> 258 Nissy v1 was released in 2020. It was slow, full of bugs and the code 259 was quite terrible. But in practice it got its job done most of the time. 260 </p> 261 262 <hr class="line"> 263 264 <nav class="bottom"> 265 <table class="footer"> 266 <tr> 267 <td class="contact"> 268 <a href="https://sebastiano.tronto.net">sebastiano.tronto.net</a> 269 </td> 270 <td class="hosted"> 271 <a href="mailto:sebastiano@tronto.net"> 272 sebastiano@tronto.net 273 </a> 274 </td> 275 </tr> 276 </table> 277 </nav> 278 279 </body> 280 </html>