h-docs

Search

Search IconIcon to open search

Solution Finder: Spin

Work In Progress

This page is currently being worked on! For the meantime, assume that none of the information presented here is correct.

Solution Finder’s Spin command outputs all the ways to get a specified spin (TS0, TSS, TSD, and Mini Variants) from a specified field, given a specified pattern. The terminal output is written into a file in the specified log path, and a file containing the path data is generated in the specified output base.

1
java -jar sfinder.jar spin --tetfu <fumen> --patterns <pattern>
1
java -jar sfinder.jar spin -t <fumen> -p <pattern>

Input Parameters

Specified Field (--tetfu, -t): the fumen code that sfinder begins working with. If not specified, the file field.txt in the input folder is used.

Patterns (--patterns, -p): Determines the queues checked by sfinder. Read more about this parameter here.


Output Parameters

Format (--format, -f): Dictates the way the path output is written onto a file.

Max Layer (--max-layer, -L): refers to the outputs of path when using the html format. - By default, it is set to 2 (outputs both path_unique.html and path_minimal.html) - The only other option is -L 1, where it only outputs path_unique.html.

Key (--key, -k): refers to the way the path result is sorted when using the csv format. - By default, it is set to none. - --key solution outputs the path info grouped by solution. - --key pattern outputs the path info grouped by queue. - --key use outputs the path info grouped by pieces used - The parameters may also be shortened to just the first name (--key use = -k u).

Split (--split, -s): refers to the way the solution fumen is built. - By default, it is set to no (output is a normal fumen). - --split yes builds the solves piece-by-piece (glued fumen).


Miscellaneous Parameters

Output Base (--output-base, -o): Specify the path data file output.

Log path (--log-path, -lp): Specify the .txt file output from the output of the command.

Specified Field from a file (--field-path, -fp): instead of defining the fumen code using --tetfu, you can specify a .txt file that contains a fumen code instead.

Patterns from a file (--patterns-path, -pp): instead of defining patterns using --patterns, you can specify a .txt file that contains either the actual queues, or patterns.

Cached Bit (--cached-bit, -cb): Specify the smallest bit of the cache to use for the internal algorithm. You most likely will never need to use this parameter.


Summary

Input Parameters
ParameterShorthandDefault
--tetfu-tnull
--page-P1
--clear-line-c4
--patterns-pnull
Output Parameters
--format-fhtml
--max-layer-L2
--key-knone
--split-sno
Miscellaneous Parameters
--output-base-ooutput/path.txt
--log-path-lpoutput/last_output.txt
--field-path-fpinput/field.txt
--patterns-path-ppinput/patterns.txt
--cached-bit-cb0

Example Commands and Outputs

An example output of the path command:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#Command Line Input
java -jar sfinder.jar path -t v115@9gD8DeF8CeG8BeH8CeC8JeAgH -p *p4

# Setup Field
XXXX____XX
XXXX___XXX
XXXX__XXXX
XXXX___XXX

# Initialize / User-defined
Max clear lines: 4
Using hold: use
Drop: softdrop
Searching patterns:
  *p4

# Initialize / System
Version = 1.0
Threads = 4
Need Pieces = 3

# Enumerate pieces
Piece pop count = 4

# Cache
  -> Stopwatch start
     ... done
  -> Stopwatch stop : avg.time = 20 ms [1 counts]

# Search
  -> Stopwatch start
     ... searching
     ... done
  -> Stopwatch stop : avg.time = 353 ms [1 counts]

# Output file
Found path [unique] = 18
Found path [minimal] = 16

# Finalize
done

These are the outputs produced by various :

  1. With --format html (the default), the output looks like this for both path_minimal.html and path_unique.html:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
18 solutions [840 input sequences]
All solutions #link

No line erasure # line erasure = line clear
J-Spawn T-Reverse I-Spawn / 11.4 % [96] # these are links to fumens
T-Spawn L-Reverse I-Spawn / 7.6 % [64]
L-Right I-Left T-Reverse / 5.7 % [48]
# 2 more lines...

With line erasure
O-Spawn J-Reverse I-Spawn / 7.6 % [64]
Z-Spawn L-Reverse I-Spawn / 7.6 % [64]
S-Spawn J-Spawn I-Spawn / 7.6 % [64]
# 10 more lines...

# "J-Spawn T-Re..." refers to mino operations based on fumen.
# "/ 11.4 %" is the percentage of queues the solution works for. (cov%)
# "[96]" is the number of queues the solution works for. (cov#)

No line erasure vs with line erasure:

v115@BhAtFehlBtR4Beg0B8glAtR4ywg0B8glD8wwh0JeAg?H
v115@KhAtAeR4Beg0B8BtR4ywg0B8AtD8wwh0JeAgH
v115@DhAtHeBtBeg0B8ilAtywg0B8glD8wwh0JeAgH
  1. With --format csv --key solution, the output file (output/path.csv) contains rows that have the path info sorted by solution:
1
2
3
4
5
6
7
8
v115@9gD8g0ywF8i0G8RpH8RpwwC8JeAgWDAv/1BA, #the solution
TJO, #pieces used in the solution
1, #
1, #
32, # number of queues this solution works for
OJT, #
OJT, #
SOJT;ZOJT;JOTI;OTJL;JOTS;OJTL;... # queues this solution works for
  1. With --format csv --key pattern, the output file (output/path.csv) contains rows that have the path info sorted by queue:
1
2
3
4
5
OITL, # queue being checked
2, # number of solutions
TIL;TIO, # pieces used in the solutions
O;L, # pieces not used in the solutions (saved pieces)
v115@...;v115@...;... # solutions for this queue
  1. With --format csv --key use, the output file (output/path.csv) contains rows that have the path info sorted by pieces used:
1
2
3
4
5
ILZ, # pieces used
1, # number of solutions that use these pieces
64, # number of queues solved with these pieces
v115@9gD8zhF8ilG8BtH8glBtC8JeAgWDA6SdBA, # solutions that use these pieces
ZSIL;TZIL;... # queues the solutions work for