diff options
| -rw-r--r-- | README.md | 32 |
1 files changed, 20 insertions, 12 deletions
| @@ -11,8 +11,8 @@ Nissy can also solve many different substeps of Thistlethwaite's algorithm | |||
| 11 | (DR/HTR), and can use NISS (Normal-Inverse Scramble Switch). | 11 | (DR/HTR), and can use NISS (Normal-Inverse Scramble Switch). |
| 12 | It can be useful to analyze your DR solves (and more, once I implement more features). | 12 | It can be useful to analyze your DR solves (and more, once I implement more features). |
| 13 | 13 | ||
| 14 | You get Nissy from [nissy.tronto.net](https://nissy.tronto.net). The download | 14 | You can get Nissy from [nissy.tronto.net](https://nissy.tronto.net). |
| 15 | links and installation instructions can be found on the | 15 | The download links and installation instructions can be found on the |
| 16 | [download page](https://nissy.tronto.net/download). | 16 | [download page](https://nissy.tronto.net/download). |
| 17 | 17 | ||
| 18 | ## Structure of the code | 18 | ## Structure of the code |
| @@ -78,17 +78,25 @@ When a value of `v=1,2,3` is read it is simply returned as `v+b`, while if | |||
| 78 | `0` is a successive lookup to a fallback table is performed. The base value `b` | 78 | `0` is a successive lookup to a fallback table is performed. The base value `b` |
| 79 | is picked to maximize the sum frequency of the values `1,2,3`. | 79 | is picked to maximize the sum frequency of the values `1,2,3`. |
| 80 | 80 | ||
| 81 | There is one caveat: each coordinates also needs an inverse function that takes a | 81 | In order to generate the pruning tables, it is necessary to be able to move |
| 82 | coordinate value and returns a cube which has that coordinate. This is in general | 82 | a transform a coordinate; it is possible to do so without passing through a |
| 83 | more complicated, but luckily the cube does not need to be fully built or consistent. | 83 | complete cube representations, in a way similar to what Cube Explorer does. |
| 84 | This inverse-coordinate is used only in one specific step when generating symmetry | 84 | More documentation on this and on the different types of coordinates (base |
| 85 | data, and I don't know if it is possible to avoid it (maybe it is). It is also used | 85 | vs composed) is work in progress. |
| 86 | when building pruning tables, but in that case it is avoidable. | ||
| 87 | 86 | ||
| 88 | Note: this part is different from what Cube Explorer does. Overall I think it is | 87 | The two paragraphs below are not true anymore since version 2.1 (June 2022). |
| 89 | conceptually easier, although in practice it was still hard to implement. | 88 | |
| 90 | If anything it is more generalizable and one can use it to build any coordinate | 89 | ~~~There is one caveat: each coordinates also needs an inverse function that takes a~~~ |
| 91 | they might like. | 90 | ~~~coordinate value and returns a cube which has that coordinate. This is in general~~~ |
| 91 | ~~~more complicated, but luckily the cube does not need to be fully built or consistent.~~~ | ||
| 92 | ~~~This inverse-coordinate is used only in one specific step when generating symmetry~~~ | ||
| 93 | ~~~data, and I don't know if it is possible to avoid it (maybe it is). It is also used~~~ | ||
| 94 | ~~~when building pruning tables, but in that case it is avoidable.~~~ | ||
| 95 | |||
| 96 | ~~~Note: this part is different from what Cube Explorer does. Overall I think it is~~~ | ||
| 97 | ~~~conceptually easier, although in practice it was still hard to implement.~~~ | ||
| 98 | ~~~If anything it is more generalizable and one can use it to build any coordinate~~~ | ||
| 99 | ~~~they might like.~~~ | ||
| 92 | 100 | ||
| 93 | ### Solving | 101 | ### Solving |
| 94 | 102 | ||
