nissy-fmc

A Rubik's cube FMC assistant
git clone https://git.tronto.net/nissy-fmc
Download | Log | Files | Refs | README | LICENSE

commit 9d3c52efd1115e3d01869f729f274027813422c3
parent 68f985857041fb0ae17f663adce7b7ca26dce5f8
Author: Sebastiano Tronto <sebastiano.tronto@gmail.com>
Date:   Thu, 23 Dec 2021 00:31:00 +0100

Added some TODOs

Diffstat:
MTODO.md | 20++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/TODO.md b/TODO.md @@ -17,6 +17,7 @@ It's more of a personal reminder than anything else. * QTM optimal solving (important: fix possible_next, which works only for HTM now) * Block-building steps (cross, roux blocks, ...) * Other common steps (LSE, ...) +* optimal after eo (without breaking eo) ### Improvements to currently implemented commands * solve should re-orient first if needed and not just give up if centers are off @@ -30,6 +31,9 @@ It's more of a personal reminder than anything else. ### New features * cleanup: translate an alg to the standard HTM moveset + reorient at the end * configurability: add an `alias` command, run config file at startup +* 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 @@ -41,9 +45,17 @@ It's more of a personal reminder than anything else. ## Technical stuff ### Memory management +* free pruning table after solve is done? if so, I need to add another way + of doing batch solving (I don't want to re-load the tables every time); + for example I could add the possibility of reading scrambles from file, + and execute the same solve command to every line; also improve multi-threading: + I can just solve one scramble per thread, it's better because there is no lock. +* alternative: just add a command "free" to free up memory; it is not + user friendly (who wants to manage memory manually?) but on the other hand + it will only be used by the few who have less than 4(?) Gb of ram. * Check if memory is enough for loading pruning tables; if not, abort -* For optimal solver: choose largest that fits in memory between - khuge, shug6 and light +* For optimal solver: choose largest that fits in memory between nxopt and light +* Remove ptable khuge ### Performance * solve (allow_next): filter out based on base_move; only check once for each @@ -55,10 +67,6 @@ It's more of a personal reminder than anything else. * Another idea: DR + cornershtr (5Gb table); same as above, de Bondt's trick does not work but I can use half-turn trick -### Coordinates, symmetries, pruning tables -* Use pruning values mod 4 instead of mod 16 (or maybe not, I like the -current system) - ### Structural changes * client/server architecture: run a server process in the background so that multiple client processess can send it queries and get results; this would