コマンド: percent¶
概要¶
ある地形からパーフェクトできる確率を計算します。
基本コマンド¶
java -jar sfinder.jar percent --tetfu v115@9gE8DeG8CeH8BeG8CeA8JeAgH --patterns *p4
注意事項¶
solution-finderでは、必要以上にミノを入力した場合でも、最低限の組み合わせでしか探索を行いません。
たとえばパフェまでにミノ5コ必要な場合、ホールドありでは6コ、ホールドなしでは5コしか使いません。
そのため必要以上にミノを入力した場合、最終的に表示される確率が期待通りとならない可能性があります。
その場合、画面上に Warning が表示されますのでご注意下さい。
オプション一覧¶
short |
long |
default |
---|---|---|
|
|
use |
|
|
なし |
|
|
1 |
|
|
なし |
|
|
4 |
|
|
softdrop |
|
|
-1 |
|
|
3 |
|
|
100 |
|
|
output/last_output.txt |
|
|
input/field.txt |
|
|
input/patterns.txt |
-t
, --tetfu
[default: なし]¶
フィールドやオプションなどを指定したテト譜データを指定する。
テト譜で探索条件を指定する場合は --tetfu v115@vhAAgH
のように指定する。
v115のテト譜データにのみ対応。
-c
, --clear-line
[default: 4]¶
パフェまでに消去するライン数を指定する。
-d
, --drop
[default: softdrop]¶
ミノの操作に制限を加える。
以下から操作方法をひとつ選択する。
softdrop: ソフトドロップ+回転入れ(制限なし)
harddrop: ハードドロップのみ
180: ソフトドロップ+180度回転入れ。180度回転は Nullpomino のStandard Wallkickに準拠します。
t-softdrop: Tミノはソフトドロップ、その他のミノはハードドロップ
-th
, --threads
[default: -1]¶
探索時に使用するスレッド数を指定します。
1 を指定したとき、シングルスレッドでの探索となります。
もし、0以下を指定した場合は、自動的に「実行環境のコア数」を設定します。
-fc
, --failed-count
[default: 100]¶
パフェに失敗したツモ順を表示する最大個数を指定する。
デフォルトの場合、パフェできないツモ順が存在するとき100コまで表示する。
-1 を指定した場合は、すべてのツモ順を表示するように個数が自動的に設定される。
-lp
, --log-path
[default: output/last_output.txt]¶
実行時のログを保存するファイルのパスを指定する。
-fp
, --field-path
[default: input/field.txt]¶
フィールドを定義するファイルのパスを指定する。
-pp
, --patterns-path
[default: input/patterns.txt]¶
探索の組み合わせパターンを定義するファイルのパスを指定する。
出力画面のサンプル¶
出力画面について、一部コメントを追加してあります (バージョンによっては一部異なる部分がありますが御了承下さい)
# Setup Field
XXXXXX____
XXXXXX____
XXXXXX____
XXXXXX____
XXXXXX____
XXXXXX____
XXXXXXXX__
XXXXXXXX__
# Initialize / User-defined
Max clear lines: 8
Searching patterns:
[TIJLSZO]p7
# Initialize / System
Available processors = 8
Need Pieces = 7 ← パフェに必要なミノ数
# Enumerate pieces
Piece pop count = 7 ← 1度の探索で使用するミノ個数。ミノに余裕があれば、ホールドのために Need Pieces + 1 となる。
Searching pattern size (duplicate) = 5040 ← パターン定義ファイルを基に生成されたパターン数。ミノ順が重複して登録されている可能性あり
Searching pattern size ( no dup. ) = 5040 ← 実際に探索するミノ順の総数。ミノ順は重複しない
# Search
-> Stopwatch start
-> Stopwatch stop : avg.time = 4137 ms [1 counts] ← 探索にかかったミリ秒
# Output
success = 99.84% (5032/5040) ← パフェ成功確率。カッコ内は 成功数/全探索数
Success pattern tree [Head 3 pieces]: ← 先頭のミノごとのパフェ成功確率
* -> 99.8 %
∟ T -> 99.6 %
∟ TI -> 99.2 %
∟ TIL -> 95.8 %
∟ TIJ -> 100.0 %
∟ TIS -> 100.0 %
∟ TIZ -> 100.0 %
∟ TIO -> 100.0 %
∟ TL -> 99.2 %
∟ TLI -> 100.0 %
∟ TLJ -> 95.8 %
∟ TLS -> 100.0 %
∟ TLZ -> 100.0 %
∟ TLO -> 100.0 %
... 省略 ...
∟ OS -> 100.0 %
∟ OST -> 100.0 %
∟ OSI -> 100.0 %
∟ OSL -> 100.0 %
∟ OSJ -> 100.0 %
∟ OSZ -> 100.0 %
∟ OZ -> 100.0 %
∟ OZT -> 100.0 %
∟ OZI -> 100.0 %
∟ OZL -> 100.0 %
∟ OZJ -> 100.0 %
∟ OZS -> 100.0 %
∟ OS -> 100.0 %
∟ OST -> 100.0 %
∟ OSI -> 100.0 %
∟ OSL -> 100.0 %
∟ OSJ -> 100.0 %
∟ OSZ -> 100.0 %
∟ OZ -> 100.0 %
∟ OZT -> 100.0 %
∟ OZI -> 100.0 %
∟ OZL -> 100.0 %
∟ OZJ -> 100.0 %
∟ OZS -> 100.0 %
-------------------
Fail pattern (Max. 100) ← パフェができなかったパターンを表示 (デフォルトで最大100個まで)
[T, I, L, J, S, O, Z]
[T, L, J, O, Z, I, S]
[T, S, L, O, Z, J, I]
[S, T, L, O, Z, J, I]
[L, T, J, O, Z, I, S]
[J, I, S, T, O, L, Z]
[I, J, S, T, O, L, Z]
[I, T, L, J, S, O, Z]
# Finalize
done