aboutsummaryrefslogtreecommitdiff
path: root/doc/nissy.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/nissy.html')
-rw-r--r--doc/nissy.html314
1 files changed, 0 insertions, 314 deletions
diff --git a/doc/nissy.html b/doc/nissy.html
deleted file mode 100644
index f39100e..0000000
--- a/doc/nissy.html
+++ /dev/null
@@ -1,314 +0,0 @@
1<!-- Creator : groff version 1.22.4 -->
2<!-- CreationDate: Mon Feb 21 22:56:07 2022 -->
3<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
4"http://www.w3.org/TR/html4/loose.dtd">
5<html>
6<head>
7<meta name="generator" content="groff -Thtml, see www.gnu.org">
8<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
9<meta name="Content-Style" content="text/css">
10<style type="text/css">
11 p { margin-top: 0; margin-bottom: 0; vertical-align: top }
12 pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
13 table { margin-top: 0; margin-bottom: 0; vertical-align: top }
14 h1 { text-align: center }
15</style>
16<title></title>
17</head>
18<body>
19
20<hr>
21
22
23<p>NISSY(1) BSD General Commands Manual NISSY(1)</p>
24
25<p style="margin-top: 1em"><b>NAME</b></p>
26
27<p style="margin-left:6%;"><b>nissy</b> &mdash; a
28Rubik&rsquo;s cube solver and FMC assistant</p>
29
30<p style="margin-top: 1em"><b>SYNOPSIS</b></p>
31
32<p style="margin-left:14%;"><b>nissy</b> [<b>&minus;b</b>]
33<b><br>
34nissy</b> <i>command</i> [options...]</p>
35
36<p style="margin-top: 1em"><b>DESCRIPTION</b></p>
37
38<p style="margin-left:6%;"><b>nissy</b> is a Rubik&rsquo;s
39Cube solver. It uses techniques from Herbert
40Kociemba&rsquo;s Cube Explorer and Tomas Rokicki&rsquo;s
41nxopt. With 4 cores at 2.5GHz and using less than 3Gb of
42RAM, Nissy can find the optimal solution for a random
43Rubik&rsquo;s cube position in about a minute on average.
44Nissy can also solve different substeps of the
45Thistlethwaite&rsquo;s algorithm and more.</p>
46
47<p style="margin-left:6%; margin-top: 1em">When run without
48any argument an interactive shell is launched, otherwise the
49provided <i>command</i> is executed and nissy terminates. If
50the option <b>&minus;b</b> is given, every argument after it
51is ignored and the shell is launched without any prompt or
52welcome message. This can be used to run nissy in batch
53mode, for example writing a list of commands in a
54<i>file</i> (one per line) and running <i>nissy -b &lt;
55file</i></p>
56
57<p style="margin-left:6%; margin-top: 1em">The commands
58that can be run in the interactive shell are the same that
59can be run non-interactively and are provided below.</p>
60
61<p style="margin-top: 1em"><b>COMMANDS</b></p>
62
63<p style="margin-left:6%;">The available <i>commands</i>
64are the following:</p>
65
66<p style="margin-top: 1em"><b>commands</b></p>
67
68<p style="margin-left:17%;">List all available
69commands.</p>
70
71<p style="margin-top: 1em"><b>gen</b> [<b>&minus;t</b>
72<i>N</i>]</p>
73
74<p style="margin-left:17%;">Generate all tables used by
75nissy. Run this to complete your installation. If <i>N</i>
76is specified, <i>N</i> CPU threads will be used (defaults to
771).</p>
78
79<p style="margin-top: 1em"><b>help</b> [<i>command</i>]</p>
80
81<p style="margin-left:17%;">Display help. If no
82<i>command</i> is given, a generic help message is printed,
83otherwise a specific help relative to <i>command</i> is
84returned.</p>
85
86<p style="margin-top: 1em"><b>invert</b>
87<i>scramble</i></p>
88
89<p style="margin-left:17%;">Invert the given scramble.</p>
90
91<p style="margin-top: 1em"><b>print</b> <i>scramble</i></p>
92
93<p style="margin-left:17%;">Display a text-only description
94of the cube obtained after applying <i>scramble</i>.</p>
95
96<p style="margin-top: 1em"><b>quit</b></p>
97
98<p style="margin-left:17%; margin-top: 1em">Quit nissy.</p>
99
100<p style="margin-top: 1em"><b>scramble</b> [ <b><br>
101&minus;n</b> <i>N</i>] [ <i><br>
102type</i>]</p>
103
104<p style="margin-left:17%;">Print a randomly-generated
105(random position) scramble If <i>N</i> is given, it produces
106<i>N</i> scrambles. <i>type</i> can be specified to be one
107of the following:</p>
108
109<p style="margin-top: 1em"><i>eo</i></p>
110
111<p style="margin-left:27%; margin-top: 1em">Scramble with
112solved EO on F/B axis.</p>
113
114<p style="margin-top: 1em"><i>corners</i></p>
115
116<p style="margin-left:27%;">Scramble with solved edges
117(only cornes are scrambled).</p>
118
119<p style="margin-top: 1em"><i>edges</i></p>
120
121<p style="margin-left:27%; margin-top: 1em">Scramble with
122solved corners (only edges are scrambled).</p>
123
124<p style="margin-top: 1em"><b>solve</b> <i>step</i> [
125<i><br>
126options</i>] <i>scramble.</i></p>
127
128<p style="margin-left:17%;">Solve the given <i>step</i> on
129the given <i>scramble.</i> By default it finds only one
130(shortest) solution, without using niss, and it displays the
131number of moves at the end of the line. The options for the
132<i>solve</i> command are the following:</p>
133
134<p style="margin-top: 1em"><b>&minus;a</b></p>
135
136<p style="margin-left:27%; margin-top: 1em">Print all
137solutions: some solutions are filtered out by default for
138some steps, for examples EOs that finish with F', with this
139options they are not.</p>
140
141<p style="margin-top: 1em"><b>&minus;c</b></p>
142
143<p style="margin-left:27%; margin-top: 1em">Display only
144the number of solutions found, not the solutions
145themselves.</p>
146
147<p style="margin-top: 1em"><b>&minus;m</b> <i>min</i></p>
148
149<p style="margin-left:27%; margin-top: 1em">Only look for
150solution that are at least <i>min</i> moves long.</p>
151
152<p style="margin-top: 1em"><b>&minus;M</b> <i>MAX</i></p>
153
154<p style="margin-left:27%; margin-top: 1em">Only look for
155solution that are at most <i>MAX</i> moves long.</p>
156
157<p style="margin-top: 1em"><b>&minus;n</b> <i>N</i></p>
158
159<p style="margin-left:27%; margin-top: 1em">Try to find
160<i>N</i> solutions. By default and unless the
161<b>&minus;M</b> or <b>&minus;o</b> options are used, at most
162one solution is returned. If at least one of <b>&minus;M</b>
163and <b>&minus;o</b> is used, all the solutions found within
164the given bounds are returned. The option <b>&minus;s</b>
165overwrites these default behaviors and at most <i>N</i>
166solutions are returned, still satisfiyng the other
167constraints.</p>
168
169<p style="margin-top: 1em"><b>&minus;N</b></p>
170
171<p style="margin-left:27%; margin-top: 1em">Allow use of
172NISS.</p>
173
174<p style="margin-top: 1em"><b>&minus;o</b></p>
175
176<p style="margin-left:27%; margin-top: 1em">Only find
177solutions that require the minimum number of moves.</p>
178
179<p style="margin-top: 1em"><b>&minus;O</b> <i>N</i></p>
180
181<p style="margin-left:27%; margin-top: 1em">Only find
182solutions that require at most <i>N</i> moves more than the
183optimal solution. If <i>N</i> is 0, this is equivalent to
184<b>&minus;o</b></p>
185
186<p style="margin-top: 1em"><b>&minus;p</b></p>
187
188<p style="margin-left:27%; margin-top: 1em">Plain style: do
189not print the number of moves.</p>
190
191<p style="margin-top: 1em"><b>&minus;t</b> <i>N</i></p>
192
193<p style="margin-left:27%; margin-top: 1em">Use <i>N</i>
194CPU threads. By default nissy uses only 1 thread. Using more
195than one thread will improve performance, but the optimal
196number depends on your machine and operating system.
197Generally, using one less than the number of threads of your
198CPU works quite well.</p>
199
200<p style="margin-top: 1em"><b>&minus;v</b></p>
201
202<p style="margin-left:27%; margin-top: 1em">Verbose mode:
203print some information during the search and print each
204solution as it is found instead of only printing them all
205together at the end.</p>
206
207<p style="margin-top: 1em"><b>steps</b></p>
208
209<p style="margin-left:17%; margin-top: 1em">List all
210available <i>steps</i> for the <i>solve</i> command.</p>
211
212<p style="margin-top: 1em"><b>twophase</b>
213<i>scramble</i></p>
214
215<p style="margin-left:17%;">Find a solution using a
216two-phase method. This does not guarantee to return an
217optimal solution (and in fact most often it does not), but
218it is very fast.</p>
219
220<p style="margin-top: 1em"><b>unniss</b>
221<i>scramble</i></p>
222
223<p style="margin-left:17%;">Rewrite the scramble without
224using NISS.</p>
225
226<p style="margin-top: 1em"><b>version</b></p>
227
228<p style="margin-left:17%;">Display version
229information.</p>
230
231<p style="margin-top: 1em"><b>SCRAMBLES</b></p>
232
233<p style="margin-left:6%;">All the commands above that
234accept a scramble also accept a <b>&minus;i</b> option with
235no arguments. If this option is given, multiple scrambles
236are read from standard input (one per line) until and EOF is
237found, at which point stdin is cleared.</p>
238
239<p style="margin-top: 1em"><b>ENVIRONMENT</b></p>
240
241<p style="margin-left:6%;">Data is stored in the folder
242pointed to by <b>$NISSYDATA.</b> If that variable is unset
243the folder <b>$XDG_DATA_HOME/nissy</b> or
244<b>$HOME/.nissy</b> is used instead. If none of this
245environment variables is defined (e.g. in a non-UNIX
246system), the current folder is used.</p>
247
248<p style="margin-top: 1em"><b>EXAMPLES</b></p>
249
250<p style="margin-left:6%;">The command:</p>
251
252<p style="margin-left:14%;">nissy solve -v -O 1
253&quot;R'U'FD2L2FR2U2R2BD2LB2D'B2L'R'BD2BU2LU2R'U'F&quot;</p>
254
255<p style="margin-left:6%;">Returns:</p>
256
257<p style="margin-left:14%;">Searching depth 0 <br>
258Searching depth 1 <br>
259(some more lines) <br>
260Searching depth 16 <br>
261D2 F' U2 D2 F' L2 D R2 D F B2 R' L2 F' U' D <br>
262Searching depth 17 <br>
263D2 F' U2 D2 F' L2 D R2 D F B2 R' L2 F' U' D (16)</p>
264
265<p style="margin-left:6%;">Notice that the solution is
266printed twice: the first time it is printed as soon as it is
267found as requested by the -v option.</p>
268
269<p style="margin-left:6%; margin-top: 1em">The command:</p>
270
271<p style="margin-left:14%;">nissy solve eofb -m 4 -M 5 -N
272-n 6 &quot;R'U'FD2L2 FR2 U2R2BD2 L B2 D' B2 L' R'&quot;</p>
273
274<p style="margin-left:6%;">Returns:</p>
275
276<p style="margin-left:14%;">U B U' B (4) <br>
277U (B R' B) (4) <br>
278(U B R' B) (4) <br>
279U2 F R2 F (4) <br>
280U2 B U2 B (4) <br>
281(U2 B R' B) (4)</p>
282
283<p style="margin-left:6%; margin-top: 1em">On a UNIX shell,
284the composite command</p>
285
286<p style="margin-left:14%;">nissy scramble -n 2 | nissy
287solve -i &gt; file.txt</p>
288
289<p style="margin-left:6%;">Generates two random scrambles,
290solves them and saves the result to file.txt. The file will
291look something like this:</p>
292
293<p style="margin-left:14%;">&gt;&gt;&gt; Line: D U2 F D B'
294F L2 D' F2 R2 L B2 L' U2 B2 R F2 L' D2 <br>
295U2 R2 F2 L B2 D' R2 D' F U L2 B' U' R2 D2 R2 U (17) <br>
296&gt;&gt;&gt; Line: D B R U' B' L2 U L U D2 R L B2 U2 L2 U2 R
297U2 B2 L F2 <br>
298D' F R' D B L2 B R2 L U L U2 B D' U R U F2 (18)</p>
299
300<p style="margin-top: 1em"><b>AUTHORS</b></p>
301
302<p style="margin-left:6%;">Sebastiano Tronto
303&lt;<i>sebastiano.tronto@gmail.com</i>&gt;</p>
304
305<p style="margin-top: 1em"><b>SOURCE CODE</b></p>
306
307<p style="margin-left:6%;">Source code is available at
308<b>https://github.com/sebastianotronto/nissy</b></p>
309
310<p style="margin-left:6%; margin-top: 1em">BSD
311February&nbsp;21, 2022 BSD</p>
312<hr>
313</body>
314</html>

Generated with cgit - Back to sebastiano.tronto.net