aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2023-11-05 19:59:45 +0100
committerSebastiano Tronto <sebastiano@tronto.net>2023-11-05 19:59:45 +0100
commit0c9a5d0e5c1702d07b24eeac181f78d1689c05cc (patch)
treeb07e7ade80e4d0c5163db49ccb7b542a500f28c8 /README.md
parent1964938ca6abef6e5c81d9dccdf42c55abacb5e9 (diff)
downloadnissy-core-0c9a5d0e5c1702d07b24eeac181f78d1689c05cc.tar.gz
nissy-core-0c9a5d0e5c1702d07b24eeac181f78d1689c05cc.zip
Added coord_eo
Diffstat (limited to 'README.md')
-rw-r--r--README.md48
1 files changed, 36 insertions, 12 deletions
diff --git a/README.md b/README.md
index 4ec5eff..d829af4 100644
--- a/README.md
+++ b/README.md
@@ -30,30 +30,54 @@ for benchmarks.
30 30
31## TODO: 31## TODO:
32 32
33### Documentation and interface 33### Coordinates
34
35* inline some documentation as comments in cube.h or cube.c
36* README.md (maybe convert to txt?) becomes the reference documentation
37 34
38### More features 35* [done] eo
36* co
37* ep
38* epsep
39* cp
40* cpsep
41* cphtr
39 42
40* move() that takes a string (alg) as input 43What about symcoord?
41* coordinates: co, eo, epsep, cpsep_sym, cocpsep_sym, cphtr_sym, cocphtr_sym
42 44
43### Solving 45### Solving
44 46
45* Fixed depth 47All solving functions take a cube and some parameters as input.
46* pruning tables (1 bit per entry + fallback) 48
47* Takes as parameters the amount of memory to use and a FILE for the tables 49* Depth [uint, <= 20]: all solvers work at fixed depth. The caller
48* Use multi-move (up to 4/5 moves at once) 50 implementation can implement an A* search.
51* Full [bool]: if false, stop at first solution found, otherwise
52 find all solutions at that depth.
53* Table [uint8_t *]: table with all the necessare pre-computed info.
54 The table can be generated with a companion function, but reading
55 from and writing to file is delegated to the caller implementation.
56
57Implement the following solvers:
58* Slow: basic solver without any table.
59* H48: one-bit-per-entry table + fallback, 48 symmetries and so on.
60 See planner.
61* nxopt31: mostly for comparison.
62* other nxopt solvers: make generic and take the type as parameter.
63* Step solver: take a coordinate function and a moveset as a parameter.
49 64
50### cube.h changes 65### cube.h changes
51 66
52* Consider removing zerocube() from the api 67* Consider removing zerocube() from the api
53* prefix public functions with nissy_ or something similar 68* prefix public functions with nissy_ or something similar
69* move() that takes a string (alg) as input
70
71### Documentation and interface
54 72
55### Future optimizations 73* inline some documentation as comments in source code
74* README.md (maybe convert to txt?) becomes the reference documentation
75
76### Optimizations
56 77
78* Trans: don't do full compose, for some trans composing perm is enough.
79 Split out sumco() as a separate function and refactor, optimize.
80* Use multi-move (up to 4/5 moves at once)
57* CO is the worst part of moving, transforming and inverting. Try basing 81* CO is the worst part of moving, transforming and inverting. Try basing
58 everything on representing the cube without CO and apply it only at the 82 everything on representing the cube without CO and apply it only at the
59 end to check that it is actually solved. 83 end to check that it is actually solved.

Generated with cgit - Back to sebastiano.tronto.net