aboutsummaryrefslogtreecommitdiff
path: root/TODO.md
diff options
context:
space:
mode:
Diffstat (limited to 'TODO.md')
-rw-r--r--TODO.md36
1 files changed, 21 insertions, 15 deletions
diff --git a/TODO.md b/TODO.md
index b7481f1..fb57dd1 100644
--- a/TODO.md
+++ b/TODO.md
@@ -3,20 +3,28 @@
3This is a list of things that I would like to add or change at some point. 3This is a list of things that I would like to add or change at some point.
4It's more of a personal reminder than anything else. 4It's more of a personal reminder than anything else.
5 5
6## After symcoord
7### Solving standard coordinates
8* add Void * extradata to DfsArg and a custom move function
9* add optional custom pre-process for generating special table (nx)
10* copy_dfsdata should copy extra too!
11* Pruning: remove base value?
12### nx.c
13* implement nxopt with all tables and all tricks
14 (maybe compile time variable for maximum memory to use?)
15* custom pruning table, copy some code from pruning.h
16* generate compressed: hard-code the base value, doable!
17* special type of pruning table with fallback and whatnot
18* is_valid should also unniss / cleanup the alg
19### fst_cube
20* slightly different from cube in v2.0.2: each "side" coordinate
21 is a transformation of the other, not an eorl or similar (changes
22 the permutation!)
23* add fst_index for some coordinates?
24* inverse: for edges, just generate ep[12] and convert back
25* corners: big table (150Mb if 16bit integers are used)
26
6## For version 2.1 27## For version 2.1
7### Slow: it is slower than the old nissy 2.0.2 :(
8* nxopt's trick (switching to reduce branching) actually saves about 50%!
9* Another factor is estimating *while* moving (i.e. do not move all
10 coordinates if the first one already gives a high value!)
11* simplify solve, remove everything that is used only by optimal solvers
12* Good compromise: each stepalt offers one of two alternatives: either solve
13 by simply using pruning tables and moving coordinates, or using a custom
14 estimator and moving a cube (or fast_cube) and computing coordinates
15 in the estimator
16* is there really no way to use inverse branching trick with current system?
17* new file optimal.c with the old solve logic; try first with the simple
18 cube implementation and the new indexers, if it is still slow change
19 to fast_cube (intermediate nissy v2.0.2 implementation)
20### Changes to Step and Solve 28### Changes to Step and Solve
21* remove cube from dfsarg? (i still need to save the scramble somewhere, 29* remove cube from dfsarg? (i still need to save the scramble somewhere,
22 but I really only use it in dfs_niss) 30 but I really only use it in dfs_niss)
@@ -24,8 +32,6 @@ It's more of a personal reminder than anything else.
24* steps.c: checkers (use coordinates), all stepalt and steps (WIP...) 32* steps.c: checkers (use coordinates), all stepalt and steps (WIP...)
25* commands gen and freemem 33* commands gen and freemem
26* commands.c: twophase, ...? 34* commands.c: twophase, ...?
27* Coordinate should have a moveset field? No, at worst there are some garbage
28 values in mtable, but no risk for errors
29### Rotate, not transform, before solving 35### Rotate, not transform, before solving
30* solve should re-orient first if needed and not just give up if centers are off 36* solve should re-orient first if needed and not just give up if centers are off
31### Documentation 37### Documentation

Generated with cgit - Back to sebastiano.tronto.net