APL の基礎と特性(テトリスと数学の基礎知識 #1)
皆さん、こんにちは。Ogonek:Macron です。
以前のパリティに関するシリーズを書いていた時期から長い期間が経ってしまい、どういう話運びにしようとしていたか忘れてしまいました。もし思い出せたら続きを書きたいですが、当面は別の話題で記事を書こうと思います。
「テトリスと数学の基礎知識」シリーズについて
テトリスを数学的に考察する取り組みは様々行われていますが、その知見を集積する取り組みは不十分であるように思います。
そこで、本シリーズでは、難易度が高くない基本的な知識を中心に、思い付いたものから順次紹介していく予定です。
例えば、テトリスのコミュニティーでは「TSD 連打よりも TSS 連打のほうが効率が良い」という主張を見かけることがあります。この主張は誤りと考えて差し支えありません。「効率」の定義が何なのかという話はありますが、よほど不自然な定義をしない限りは誤りと言えるでしょう。
ところが、テトリスのコミュニティーはこのような誤った主張に対抗できる環境を十分に備えることができていません。そこで、基本的な事項でも一々記事にする価値があると考えました。
さて、先ほど例示した「TSD 連打よりも TSS 連打のほうが効率が良い」という誤った主張は、大抵の場合「APL」という概念に対する誤解が原因でしょう。そこで、当記事から数回にわたり APL について取り上げます。
APL (Attack Per Line) とは
「APL」はテトリスで用いられる指標の一種で、“Attack Per Line” の略です。主に火力効率について論じるときに使います。
有名どころの指標である APM や PPS に比べると、APL を見かける機会はかなり少ないです。
ひとまず定義を確認しておきましょう。
$$
APL = \text{攻撃段数} / \text{消した段数}
$$
Attack Per Line という文字通りの計算式ですね。
APL の例
では、それぞれのライン消去の方法で APL がどのような値になるのか、一例を見ていきましょう。表中の APL は小数第 4 位を四捨五入し、小数第 3 位まで表示しています。
$$
\begin{array}{c|c|c|c}
& \begin{array}{c} 攻撃 \\ 段数 \\ \end{array} & \begin{array}{c} 消去 \\ 段数 \\ \end{array} & APL \\
\hline
\text{Single} & 0 & 1 & 0.000 \\
\text{Double} & 1 & 2 & 0.500 \\
\text{Triple} & 2 & 3 & 0.667 \\
\text{Tetris} & 4 & 4 & 1.000 \\
\text{TSS} & 2 & 1 & 2.000 \\
\text{TSD} & 4 & 2 & 2.000 \\
\text{TST} & 6 & 3 & 2.000 \\
\text{B2BTetris} & 5 & 4 & 1.250 \\
\text{B2BTSS} & 3 & 1 & 3.000 \\
\text{B2BTSD} & 5 & 2 & 2.500 \\
\text{B2BTST} & 7 & 3 & 2.333 \\
\end{array}
$$
なお、Ren やパーフェクトクリア(以下、パフェ、または PC)、T-Spin Mini は除いています。
この表によれば、B2BTSD よりも B2BTSS のほうが APL が高いです。これが恐らく「TSS 連打のほうが効率が高い」と誤解される一因なのでしょう。ここで次の表もご覧ください。
$$
\begin{array}{c|c}
& APL \\
\hline
\text{平積み} & 1.250 \\
\text{ハンバーグ積み} & 1.833 \\
\text{ST 積み} & 2.083 \\
\text{LST 積み} & 2.143 \\
\text{永久機関} & 2.333 \\
\text{Ren, PC を除く理論値} & 2.357 \\
\end{array}
$$
この表では、Ren, PC やお邪魔ブロックを考慮しない場合に代表的な積み方の APL がいくらになるか示しています。TSS を連打するハンバーグ積みよりも、TSD を連打する ST 積みなどのほうが APL が高いですね。
実際の計算の過程は次回以降に紹介しますが、気になる方はご自分でも計算してみてください。
他の指標との比較
ここでは、火力関連の様々な指標と比較しながら、APL の特性を考えてみましょう。
分母が空間量の指標
まず、APP (Attack Per Piece) と比較してみます。APL と APP はともに、分母が空間量になっている指標です。
$$
APP = \text{攻撃段数} / \text{置いたミノ数}
$$
お邪魔ブロックが関係しない場合は、 $${APL = 2.5APP}$$ あるいは $${APP = 0.4APL}$$ という関係が成り立ちます。この等式が崩れるのは、お邪魔ブロックの消去が関係してくる場合です。
APL の分母は「自分でミノを置いて埋めた段」と「自分で置いていないお邪魔」を区別しません。一方、APP の分母は自分で置いた分のリソース量です。このため、お邪魔の消去に関しては、APL よりも APP のほうが高く評価する特性があります。
ところで、置いた 1 ミノあたりの火力というのは直感的に分かりにくいですから、1 巡 = 7 ミノあたりの火力を考えることもできます。あまり見かけない指標ですが、「APB」(Attack Per Bag) とでも名付けておきましょう。
$$
APB = 7APP
$$
APB は APP と「単位が違うだけ」なので、常に換算可能です。
今紹介した以外にも、様々な指標を考えることができるでしょう。
例えばお邪魔ブロックに注目してみます。お邪魔ブロックは消去方法の制約が自積みよりも大きいです。また、そもそもお邪魔を消すことは相手の攻撃を相殺していると捉える向きもあります。このため、指標におけるお邪魔の扱い方には工夫の余地があります。
分母が時間量の指標
APL や APP は、ライン消去時間やソフトドロップ時間のロスを考慮していません。これは長所でもあり短所でもあります。
短所としては、「T-Spin という戦略を選択する時点で、ソフトドロップやライン消去による時間的ロスがある程度増える」などの点を評価できないことが挙げられます。逆に長所としては、ゲームタイトルによって差が大きいソフトドロップやライン消去の時間に影響されず、ゲームタイトルが変わっても流用しやすい指標であるということが挙げられます。
さて、分母が時間量である火力指標の代表格には、APM (Attack Per Minute) があります。
$$
APM = \text{攻撃段数} / (\text{時間 [分]})
$$
APM は、APL や APP が扱えなかった「ソフトドロップやライン消去の時間的ロス」を扱えます。しかし、APM は「プレイヤーの基本的な速度」という要素に大きな影響を受けてしまいます。
単位時間でどれだけ火力を出せるか、というのもある意味では「効率」と言えます。しかし、テトリスのコミュニティで「効率」と言ったら普通「速度」の要素は除外されます。そもそも「速度以外の要素から火力量を考察するとどうなるか」という文脈で「効率」という単語が登場することが多いからです。
話が脱線しそうになったので戻しますが、時間的な要素を分解するとおよそ以下のようになります。
最低限消費する必要がある時間
操作速度に起因する時間的ロス
設置や消去の方法に起因する時間的ロス
わざと操作しないことによる時間的ロス
ほかにも私が見落としているものがあるかもしれません。
ともかく、ライン消去やソフトドロップにかかる時間的ロスの大小は 3. に属すると考えられます。
APL や APP はこれら 4 項目のいずれからも影響を受けませんが、APM は 4 項目すべての影響を受けます。そこで、時間的要素のうち一部のみを反映する指標を作ることができれば、APL や APP と APM の中間的な特性を持つ指標になるかもしれません。
終わりに
次回以降は、平積みや LST 積みなど、それぞれの積み方を続ける場合に APL がどうなるか具体的に計算していきます。