============================================================ コマンド: percent ============================================================ 概要 ============================================================ ある地形からパーフェクトできる確率を計算します。 基本コマンド ============================================================ ``java -jar sfinder.jar percent --tetfu v115@9gE8DeG8CeH8BeG8CeA8JeAgH --patterns *p4`` 注意事項 ============================================================ solution-finderでは、必要以上にミノを入力した場合でも、最低限の組み合わせでしか探索を行いません。 たとえばパフェまでにミノ5コ必要な場合、ホールドありでは6コ、ホールドなしでは5コしか使いません。 そのため必要以上にミノを入力した場合、最終的に表示される確率が期待通りとならない可能性があります。 その場合、画面上に Warning が表示されますのでご注意下さい。 オプション一覧 ============================================================ ======== ====================== ====================== short long default ======== ====================== ====================== ``-H`` ``--hold`` use ``-t`` ``--tetfu`` なし ``-P`` ``--page`` 1 ``-p`` ``--patterns`` なし ``-c`` ``--clear-line`` 4 ``-d`` ``--drop`` softdrop ``-th`` ``--threads`` -1 ``-td`` ``--tree-depth`` 3 ``-fc`` ``--failed-count`` 100 ``-lp`` ``--log-path`` output/last_output.txt ``-fp`` ``--field-path`` input/field.txt ``-pp`` ``--patterns-path`` input/patterns.txt ======== ====================== ====================== ``-H``, ``--hold`` [default: use] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ホールドの有無を指定する。 ホールドなしで探索する場合は ``--hold avoid`` を指定する。 ``-t``, ``--tetfu`` [default: なし] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ フィールドやオプションなどを指定したテト譜データを指定する。 テト譜で探索条件を指定する場合は ``--tetfu v115@vhAAgH`` のように指定する。 v115のテト譜データにのみ対応。 ``-P``, ``--page`` [default: 1] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ テト譜でロードするページを指定する。 ページを変更したい場合は ``--page 31`` のように指定する。 ``-p``, ``--patterns`` [default: なし] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 探索ミノの組み合わせパターンを指定する。 パターンを変更したい場合は ``--pattern *p7`` のように指定する。 ``-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以下を指定した場合は、自動的に「実行環境のコア数」を設定します。 ``-td``, ``--tree-depth`` [default: 3] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 先頭のミノごとのパフェ成功確率を表示するツリーの深さを指定する。 デフォルトの場合、先頭3ミノごとのパフェ成功確率を表示する。 ``-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