nissy-nx

A Rubik's cube optimal solver
git clone https://git.tronto.net/nissy-nx
Download | Log | Files | Refs | README | LICENSE

commit 51dff333ceb5228b8de98dd621c0c2b62ed43441
parent bedc3ef9af6bc54f3ede135f1ad72565a8494f84
Author: Sebastiano Tronto <sebastiano.tronto@gmail.com>
Date:   Sat, 25 Dec 2021 10:08:02 +0100

Changed -s (max solutions) option to -n and -n (NISS) to -N

Diffstat:
MTODO.md | 3++-
Mdoc/nissy.1 | 28++++++++++++++--------------
Mnissy | 0
Mnissy-2.0beta9.tar.gz | 0
Mnissy.exe | 0
Msrc/commands.c | 4++--
6 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/TODO.md b/TODO.md @@ -26,6 +26,8 @@ It's more of a personal reminder than anything else. * for solve -v, solving in different orientation does not give meaningful info, because I need to transform the alg as I go. * for solve -v, print certain info like average branching value +* solve -O n find solutions within n moves from optimal + (-o is the same as -O 0) ### New features * cleanup: translate an alg to the standard HTM moveset + reorient at the end @@ -33,7 +35,6 @@ It's more of a personal reminder than anything else. * configure max ram to be used (via config file and/or command line option) * command to transform cube and alg * command notation to list available moves -* ## Distribution diff --git a/doc/nissy.1 b/doc/nissy.1 @@ -99,18 +99,9 @@ Only look for solution that are at most .Ar MAX moves long. . -.It Fl n -Allow use of NISS. -. -.It Fl o -Only find solutions that require the minimum number of moves. -. -.It Fl p -Plain style: do not print the number of moves. -. -.It Fl s Ar n +.It Fl n Ar N Try to find -.Ar n +.Ar N solutions. By default and unless the .Fl M or @@ -124,12 +115,21 @@ is used, all the solutions found within the given bounds are returned. The option .Fl s overwrites these default behaviors and at most -.Ar n +.Ar N solutions are returned, still satisfiyng the other constraints. . -.It Fl t Ar n +.It Fl N +Allow use of NISS. +. +.It Fl o +Only find solutions that require the minimum number of moves. +. +.It Fl p +Plain style: do not print the number of moves. +. +.It Fl t Ar N Use -.Ar n +.Ar N CPU threads. By default nissy uses only 1 thread. Using more than one thread will improve performance, but the optimal number depends on your machine and operating system. Generally, using one less than the number diff --git a/nissy b/nissy Binary files differ. diff --git a/nissy-2.0beta9.tar.gz b/nissy-2.0beta9.tar.gz Binary files differ. diff --git a/nissy.exe b/nissy.exe Binary files differ. diff --git a/src/commands.c b/src/commands.c @@ -163,7 +163,7 @@ solve_parse_args(int c, char **v) return a; } a->opts->nthreads = val; - } else if (!strcmp(v[i], "-s") && i+1 < c) { + } else if (!strcmp(v[i], "-n") && i+1 < c) { val = strtol(v[++i], NULL, 10); if (val < 1 || val > 1000000) { fprintf(stderr, @@ -175,7 +175,7 @@ solve_parse_args(int c, char **v) } else if (!strcmp(v[i], "-o")) { a->opts->optimal_only = true; infinitesols = true; - } else if (!strcmp(v[i], "-n")) { + } else if (!strcmp(v[i], "-N")) { a->opts->can_niss = true; } else if (!strcmp(v[i], "-v")) { a->opts->verbose = true;