アドリブパフェの積み方
この記事は、「テトリス Advent Calendar 2024」の12月14日の記事です。
連パフェには興味あるけどパフェ知識の細かい暗記はハードルが高いという人に向けて、パフェ経験がそれなりに長い僕が、細かい知識に頼らずにアドリブで連パフェする方法を紹介します。
※2017年のAdvent Calendarのknewjadeさんの記事 パフェのための基礎理論 に書かれている知識はアドリブパフェでも必要なので、こちらを読んだことがないという人は先に読んでおいてほしいです。
自己紹介
はじめまして、パルフェです。
僕のことを知らない人が多いと思うので自己紹介します。
僕がテトリスを始めたのは、2015年の3DSのぷよテトからです。
2019年に連パフェに興味を持って、40ラインで10連パフェするようになりました。しばらくは10連パフェにしか興味がなかったのですが、2022年からパフェの回数を究める本格的な連パフェをするようになり、2023年にはJstris PC Modeで109連パフェを達成しました。
最近は、Tetr.ioなどパソコンのテトリスを主にプレイしています。
パフェが好きということで、ユーザーネームもパフェにちなんだものにしたいと思いパルフェやparfaitという名前にしましたが、パフェを代表したみたいな名前で少し恥ずかしいところもあります笑。
アドリブパフェとは
この記事では、アドリブパフェの積み方を紹介していきます。
まず、アドリブパフェとは何かということですが、ここでは個々の場面に特化した専用の知識なしでパフェすることとします。要するに、ある程度適当にパフェするということです。
ガチの連パフェでは、現在のパフェが1~7回目のどれなのか把握してそれぞれに最適な積み方をしていきますが、その積み方を覚えるのはハードルが高いです。
なので、この記事ではパフェの回数関係なしに、連パフェ全体で総合してパフェ率の高い形を紹介していきます。
一人プレイの連パフェだけでなく、実戦で途中パフェを取った後の何回目のパフェか分からない場面でも使えます。
なお、パフェ率の形の紹介に関してはshiwehiさんがある程度https://shiwehi.com/tetris/template/pcsetups.phpで紹介してくださっているので、この記事では自分なりに計算したパフェ率など他の知識を紹介できればと思います。
開幕パフェ積みのパフェ率
まず、良く知られている積み方として、開幕パフェ積み(I以外)の形がどのぐらいのパフェ率なのか見てみましょう。開幕テンプレとして有名なだけあって、パフェの知識がない状態だとこの積み方でパフェしようとしがちです。パフェ1回目では84.6%ありますが、2回目以降も合わせて連パフェ全体ではどのぐらいのパフェ率なのでしょうか。自分なりに計算してみました(詳しい方法はこの記事の最後に書いてあります)。

結論としては、約79%です。パフェ1回目は84.6%ありますが、2回目~7回目だと約75%です。
パフェを1、2回するならこれで十分かもしれませんが、もっとパフェしようとするとまだまだ低いです。この記事ではもっと高いパフェ率(90%以上!)を出すことを目指して、パフェ率の高い積み方を多く紹介していきます。
パフェ率の高い積み方をするには?
具体的な積み方を紹介する前に、パフェ率の高い積み方の条件について考えたいと思います。
使うミノを4ミノにする
当たり前ではありますが、パフェ率を高くするにはセットアップに使うミノ数を少なくすることが有効です。
パフェ率を高くしようとすると、セットアップで置くミノの数は4ミノが基本になってきます。

パフェするにはホールドのミノを考慮すると11ミノ必要ですが、フィールドに4ミノ置くと「今降ってきているミノ、ホールドのミノ、ネクスト5つ」の7ミノと合わせて11ミノが出現するのでパフェの有無が確定します。
5ミノ目以降はパフェの可能性が狭まっていくので、置くミノは4ミノだけにしたいです。
使うJLを1個以下にする
セットアップに使うJLの個数が多いと、縦パリティが原因でパフェに失敗する可能性が高まります。
下の開幕パフェの形だと、経験上分かる人も多いと思いますがパフェはありません。

縦パリティを考えると、パフェするにはJLとT縦の個数の合計が偶数でなければいけません。開幕パフェ積みではJLとT縦を3個使っているので、パフェするにはネクストの中にJLTが最低1個は必要です。しかし、このツモには1つも含まれていないので詰みの状態で、絶対にパフェできません。
この問題を防ぐには、JLTを使いすぎないということが重要です。単純に考えて、1回のパフェの中で使えるJLTの個数は平均で 10×3÷7 = 4.3 個です。例えばセットアップでJLを2個使った場合、平均ではJLTがもう2個来てくれるのでパフェがある可能性はそれなりにありますが、1個しか来ない可能性もあり、その場合は詰んでしまいます。
なので、セットアップで置くJLTの数は1個までにしたいです。
Tを使わない
下図の場合も、パフェはありません。

この場合、JLが来ているので縦パリティ的には詰んではいませんが、1個あれば十分な状況で2個も来てしまったので逆に厳しくなっています。JLの片方しか使うことができないので、JLのもう片方はホールドした状態でパフェを終えることになります。そうすると少なくともSZを置く間はホールドが使えないことになり、置き方の制約が厳しくなってパフェしにくくなります。
実際、下の図はパフェ1回目の開幕パフェ積みで2巡目の最初にJが来たときのパフェ率ですが、JLが両方とも来たときだけパフェ率が低くなっています。

この問題を防ぐには、Tを使わないということが重要です。Tは置く向きによって縦パリティ要員になる場合とならない場合を使い分けることができます。なので、Tを置かずにセットアップすれば、後のツモのJLの個数が奇数であっても偶数であっても対応できるようになります。
これらの3点を踏まえると、セットアップでは4ミノだけ置いて、Tを使わず、JLを1個以下だけ使うことが良いと分かります。
以降は、パフェ率の高い積み方を、僕の調べた範囲で計算したパフェ率とともに紹介していきます。
(同じミノの組み合わせで同じ形に組める場合はそのパフェ率も一緒に計算してあります。)
JLを1個使う積み方
これまでの考察を踏まえて一番安定の積み方です。実際にパフェ率が高い積み方が多いです。これらの形が組めそうなら真っ先に組んでしまって問題ないです。
IJOS



上2つは組めさえすれば無条件でパフェ率97%ということでかなり強いです。下2つの積み方でIJOSのすべてのミノ順に対応できますが、一番上がかなり強いので優先的に組みたいです。
IJOZ



JOSZ


IJSZ




最後の積み方は無難そうに見えますが意外とパフェ率が低いので注意が必要です。
JLを2個使う積み方
先ほど説明したとおり、JLを2個使う積み方は縦パリティで詰む可能性があるので、JL1個の場合に比べて素のパフェ率は落ちます。
初期状態(フィールドにミノを置いていない状態)でJLTの個数を確認して、最低3個、できれば4個以上見えた場合に組むと良いかなと思います。

IJLO

素では約91%ですが、初期状態でJLTが3個見えた場合に限ると約94%になります。4個以上見えた場合は縦パリティで詰むことはなくなるので約99%まで上がります。
IJLS

こちらも素では約91%ですが、JLTが3個見えた場合は約93%、4個以上見えた場合は約98%まで上がります。
JLOS

素では約90%ですが、JLTが3個見えた場合は約92%、4個以上見えた場合は約98%まで上がります。
Oの位置は右側でもパフェ率はほとんど変わりません。
Tだけを1個使う形
Tを置かない方が良いと先ほど説明しましたが、劇的にパフェ率が低くなるというわけではなく、それなりには強いです。JLを1個置く場合と比べるとパフェ率は落ちます。
ISTZ

OSTZ

Tが2つ見えたときに強い形
初期状態でTが2個見えた場合は、Tを置いて全く問題ないです。ただでさえ便利なTが2つも来ているので、とてつもなくパフェ率が高いです。
JSTZ

基本的に100%パフェできる驚きの積み方です。
また、この形は消し方もけっこう簡単です。100%のうちほぼ全ての約99%が、2つ目のTを左上のくぼみに入れる消し方でパフェできます。

ちなみに素の状態では約91%です。
IJST

その他強い形
その他、条件つきでかなり強い形をいくつか紹介しておきます。
同じミノを含む4ミノ置き



組めれば非常にパフェ率が高いので頼もしいです。
5ミノ置き




初期状態でTが2個の5ミノ置き


Tミノが2個見えた場合に紹介したJSTZの形ですが、IやOを足してもまだ100%近くあります。
6ミノ置き

6ミノ置いて約92%は破格です。
まとめ
いろいろ積み方を紹介していくと長い記事になってしまいましたが、連パフェについて細かい知識がなくても、95%以上や、ほぼ100%の積み方も可能だということに驚いた人も多かったのではないでしょうか。
紹介した積み方だけでは対応しきれないツモもありますが、これだけで20連や30連できるポテンシャルも全然あると思うので、ぜひ試してみてください。
おまけ 全体的なパフェ率の計算方法
パフェ率の詳しい計算方法についてですが、1回目から7回目のパフェで生じるすべてのツモ(ホールドの関係で重複している場合は除く)に対して、「その地形にセットアップできる確率」「セットアップした後パフェできる確率」をsolution finderと数十行のプログラミングを組み合わせて計算して、そこから「もしその地形にセットアップできた場合にパフェできる確率」を計算しました。
具体例がないとわかりにくいと思うので、例として開幕パフェ積みのパフェ率を計算する手順を説明します。
solution finderのrun_cover.batを以下のように設定して、任意のツモに対して開幕パフェ積みにセットアップできるかどうか調べます。
cd %~dp0
cd ../
echo|sfinder.bat cover -p *,*,*,*,*,*,* -t v115@vhFyOJTkBmfB0sB9tBXjB v115@vhF2OJzkBifB0sB9tBXjB
pause
JLOの向きが逆の場合も形と用いるミノが全く同じなので一緒に計算しています。

また、run_percent.batを以下のように設定して、セットアップした後の状態から任意のツモについてパフェできるか調べます。
cd %~dp0
cd ../
echo|sfinder.bat percent -c 4 -fc -1 -p *,*,*,*,* -t v115@9gC8EeE8DeF8CeG8DeC8JeAgH
pause
fc (failed count)を-1にして無制限に設定することで、パフェできないツモが全部分かるようにします。パフェできるツモをここから消去法で求められます。
coverとpercentによって出力されたcover.csvとpercent.txtをプログラミングで読み込みます。
それらを使って、パフェ1回目~7回目の全ツモ
「*p7, *p4」「*p4, *p7」「*p1, *p7, *p3」「*p5, *p6」「*p2, *p7, *p2」「*p6, *p5」「*p3, *p7, *p1」に対して、セットアップできるか、セットアップした状態からパフェできるかをプログラミングで求めます。
結果は下のようになります。

1回目~7回目の計算結果をもとに、「もしその形にセットアップできた場合にパフェできる確率」を全体のパフェ率を計算して79.94%となります。
ここで注意すべきなのは、全体のパフェ率は7つのパフェ率の平均ではなく、「セットアップかつパフェできる確率の合計/セットアップ率の合計」だということです。
どういうことかというと、例えば、開幕パフェ積みはパフェ1回目でのセットアップ率が高いので、もしアドリブパフェしているときに開幕パフェ積みの形に積めた場合、そのパフェは1回目の可能性が高いということになります。なので、全体的なパフェ率は、7つのパフェ率を単純に平均した値より84.64%に近くなるので、それを考慮したいということです。
計算したパフェ率は、ホールドしているミノが古い場合にミノが通常の7種1巡より重複する場合を考えていないので、あくまで目安として記事の中では「約」を付けて表現しています。