Strict Minimals
Strict Minimals
Strict minimals are the smallest possible covering set for a given set of solutions. It can be found through a lot of methods but it is always computationally expensive or tedious to do so.
Here’s an example diagram of strict minimals’ output. It’s not illustrative of how it actually finds the set because that’s a tad bit complicated, but it finds that only solutions A and E are necessary to maximize cover, as opposed to sfinder requiring solutions A, C, and E.
Solution Covers | |||||
---|---|---|---|---|---|
Solution A | |||||
Solution B | |||||
Solution C | |||||
Solution D | |||||
Solution E |
>
Strict | |||||
---|---|---|---|---|---|
Finding Strict Minimals
Downloade NodeJS:
- Go to the
NodeJS download page. Installing it should be straight-forward.
- When installing, make sure that
NodeJS
andnpm
are added to PATH. This appears in the Custom Setup step of installation.
- When installing, make sure that
- Open a terminal (Command Prompt, PowerShell, etc.)
- Type in
npm install -g sfinder-strict-minimal
and press enter. This should install the necessary requirements to be able to use the program anywhere on your device.
Creating the files that sfinder-strict-minimal works off of:
Solution finder’s Path Command is used to produce a csv file that is used to find minimals. The sfinder command is identical to a normal path command, but you must specify --format csv
(-f csv
) and --key pattern
(-k p
).
Using sfinder-strict-minimal:
- To use the program, simply enter
sfinder-minimal output/path.csv
into a terminal.- This assumes that the terminal’s directory is set to the folder where
sfinder.jar
is.
- This assumes that the terminal’s directory is set to the folder where
Program Run-Time
The program mostly runs for a few seconds up to a few minutes. If it lasts longer than that, there may be too many solutions and the result may take quite a while to produce.
This alternative by Knewjade can be used to find a slightly larger set in exchange for a much shorter run-time. I also wrote about how to use it over here.
If there are multiple minimal sets, you may need to choose between solutions. An interactive prompt (use your arrow keys and press enter when you’ve chosen) is used for the user to choose between sets of solutions. Choose according to your needs– if you want ease, prioritize easy-looking solutions. If you want saves, prioritize solutions that save better pieces.
Outputs are written to
path_minimal_strict.md
. It’s placed in the directory the terminal is linked to. Opening it by itself will allow you to see the solutions if you have a markdown editor. However, you can extract the fumens from the markdown file using the makeMinimals Script (Direct download link)- Using the makeMinimals Script is straight-forward. Extract it into the same folder
path_minimal_strict.md
is in, then enterpy true_minimal.py
onto a terminal.
- Using the makeMinimals Script is straight-forward. Extract it into the same folder
Example Path and Strict-Minimal Commands
Here's an example run on how to get strict minimals starting from generating the path file.
Don’t forget -f csv
and -k p
. This should create a file in the /output/
folder named path.csv
.
|
|
From this, you can already find minimals. Simply enter the following:
|
|
There can different sets of solutions that all qualify as a minimal set. To choose the best one, choices are presented to the user for them to choose between solutions and pin-point their ideal set. Simply use your arrow keys and press enter to choose between setups.
The output will be written onto path_minimal_strict.md
. The resulting minimals may differ depending on how you chose, but these are my results:
As a bonus, you can get the fumen codes extracted from path_minimal_strict.md
by using the makeMinimals script.
|
|