コマンド: path

概要

ある地形からパーフェクトまでの操作手順をすべて列挙する

  • 指定したミノの組み合わせから、パーフェクトまでの全パターンを列挙してファイルに出力

  • 次の2種類の結果を列挙して出力
    • ミノの接着場所が異なるパターンを列挙 (unique)

    • あるパフェパターンに対して、同じようなミノ順をカバーできるパターンが他にあるとき、片方をカットした手順を列挙 (minimal)
      • ※ 厳密にすべてのパターンを網羅する最小の組み合わせではありませんのでご注意下さい

基本コマンド

java -jar sfinder.jar path --tetfu v115@9gE8DeG8CeH8BeG8CeA8JeAgH --patterns *p4

出力フォーマット

出力フォーマットは、以下の方式から選択できます。 変更したい場合は、オプションから変更できます。

  • html: シンプルなHTML形式のテト譜リンク

  • csv: csv形式(詳細は後述)

HTML形式

サンプル

S-Spawn T-Right L-Left O-Spawn Z-Spawn I-Spawn / 30.0 % [1512]
  • S-Spawn T-Right L-Left O-Spawn Z-Spawn I-Spawn
    • パフェ手順の一例

  • 30.0 %
    • 入力パターンで指定したツモのうち、この手順でパフェできる割合

  • 1512
    • 入力パターンで指定したツモのうち、この手順でパフェできるツモ数

オプション一覧

short

long

default

-H

--hold

use

-t

--tetfu

なし

-P

--page

1

-p

--patterns

なし

-c

--clear-line

4

-f

--format

html

-k

--key

none

-s

--split

no

-L

--max-layer

2

-so

--specified-only

yes

-r

--reserved

false

-d

--drop

soft

-th

--threads

-1

-cb

--cached-bit

0

-o

--output-base

output/path.txt

-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 のように指定する。

複数パターンを指定したい場合は ; で連結する (--pattern T,*;I,*)

-c, --clear-line [default: 4]

パフェまでに消去するライン数を指定する。

-f, --format [default: html]

以下の出力フォーマットのうち、ひとつを指定する。

  • html: シンプルなHTML形式のテト譜リンク
    • 互換性のため linkhtml と同じように動作します

  • csv: csv形式
    • keyオプションで出力する項目をさらに選択します

-k, --key [default: none]

formatオプションに csv を選択したとき、さらに出力する項目を指定する。

以下の出力項目のうち、ひとつを指定する。

  • solution: パフェ手順をキーとして、対応ツモをまとめた形式

  • pattern: 入力パターンをキーとして、対応地形をまとめた形式

  • use: 使用ミノをキーとして、対応ツモ・地形をまとめた形式

  • none: 1行につき、1つのパフェでの操作手順を記述した形式(旧csvフォーマット形式)

各出力項目の詳細なフォーマットは CSV形式 を参照してください。

なお、オプションは先頭の1文字だけでも指定することができます。 (solution → s)

-s, --split [default: no]

出力フォーマットがlinkのときに出力されるテト譜で、手順を1ミノずつ分割するか指定する。

  • yes: 1ページにつき1ミノずつ表示される形で出力

  • no: すべてのミノが1ページに納まった形で出力

-L, --max-layer [default: 2]

手順の絞り込みをどこまで行うかを指定する。 次の数字を指定すると、対応するところまで絞り込みを行う。

  • 1: unique

  • 2: unique, minimal の両方

-so, --specified-only [default: yes]

minimalの絞り込みにおいて、パターンの重複をチェックするとき、そのパターンを入力パターン内に限定するならyesを指定。 noの場合、解自体から抽出したパターンをもとに、重複をチェックします。

-r, --reserved [default: false]

ミノの接着場所を予約します。

たとえば テンプレ+縦I を入力したとします。

このとき探索開始には クレーの地形 が適用され、 最終的に色のあるブロック通りに配置されるパフェが探索対象となります。

なおこのとき、色のついたブロックは4個単位である必要はありません(1ブロックでも可)。

この機能を有効にする場合は true を指定してください。

-d, --drop [default: soft]

ミノの操作に制限を加える。

以下から操作方法をひとつ選択する。

  • softdrop: ソフトドロップ+回転入れ(制限なし)

  • harddrop: ハードドロップのみ

  • 180: ソフトドロップ+180度回転入れ。180度回転は Nullpomino のStandard Wallkickに準拠します。

  • t-softdrop: Tミノはソフトドロップ、その他のミノはハードドロップ

  • any-tspin (any, tspin0): Tミノは必ずT-Spin(Mini含むすべてのT-Spin)をする。その他のミノはハードドロップ

  • tss (tspin1): Tミノは必ずT-Spin Single,Double,Tripe(Miniは含まない)をする。その他のミノはハードドロップ

  • tsd (tspin2): Tミノは必ずT-Spin Double,Tripe(Miniは含まない)をする。その他のミノはハードドロップ

  • tst (tspin3): Tミノは必ずT-Spin Tripe(Miniは含まない)をする。その他のミノはハードドロップ

※ T-Spin系のdropでは、「T-Spinできないケース」や「ライン消去が発生しないT-Spinになるケース」ではミノを置きません。 また、Tミノを使わないケースでは harddrop と同じになる点にご注意ください (solutionが省略されるわけではありません)。

-th, --threads [default: -1]

探索時に使用するスレッド数を指定します。

1 を指定したとき、シングルスレッドでの探索となります。

もし、0以下を指定した場合は、自動的に「実行環境のコア数」を設定します。

-cb, --cached-bit [default: 0]

内部のアルゴリズムで使用するキャッシュの最小ビットを指定します。

基本的にこの値を変更する必要はありません。

実行環境で使用できるメモリが小さく、OutOfMemoryErrorが頻発して計算が続行できなくなる場合のみ、この値を変更してください。

この数値を大きくすることで計算結果を保存せずにその都度計算するようになるため、実行時間が非常に長くなります。

そのため、値を調節するときは1ずつ大きくしていき、再実行して確認しながら調整してください。

-o, --output-base [default: output/path.txt]

実行後に結果を出力するファイルのパスを指定する。 ただし、拡張子は出力形式によって変更される可能性があります。

実際は、このオプションで指定したファイル名 + suffix にあたるファイルとして出力されます。

出力されるファイルは以下の通りです。

  • 指定したファイル名 + _unique に unique (重複をのぞいた手順) の結果が出力される。

  • 指定したファイル名 + _minimal に minimal (同じミノ順をカバーするパターンをのぞいた手順) の結果が出力される。

--format csv の場合に限り、 - を指定することで、CSVファイルと同じ結果を標準出力します。 特に --key none の場合は --max-layer によって出力されるCSVファイルが選択されます。

-lp, --log-path [default: output/last_output.txt]

実行時のログを保存するファイルのパスを指定する。

-fp, --field-path [default: input/field.txt]

フィールドを定義するファイルのパスを指定する。

-pp, --patterns-path [default: input/patterns.txt]

探索の組み合わせパターンを定義するファイルのパスを指定する。