偶奇性理論の拡張
テトリス Advent Calendar 2024 17日目です。
どうも。LLYと申します。パフェ愛好家の集まったPC GangというDiscordサーバーの管理者をやってます。よろしくお願いします。
この記事は偶奇性(パリティ)および偶奇性関連の理論について語っていきます。
はじめに
便宜上、パフェを4ラインとする。
数式中に現れる変数は対応するミノの個数を表す。
例:$${\text{T}}$$はTミノの個数を表す。添字が付いた変数は特定の向きのミノの個数を表す。添字は向きを右回転の回数で表す。
例:$${\text{T}_0}$$は上向きだけのTミノの個数を表す。ミノの回転対称性によって同じ形であるミノを同じミノとして扱う。
例:$${\text{S}_1 = \text{S}_3}$$
例:$${\text{O} = \text{O}_0 = \text{O}_1 = \text{O}_2 = \text{O}_3}$$
パフェに潜む普遍性
パフェって8760290個あんねん(knewjade)。
なんと、すべてのパフェに共通点がある。最も分かりやすいのは
すべてのパフェは10個のミノで出来ている
ということです。一目瞭然ですね。ありがとうございました。また次回のアドカレでお会いしましょう。
さて、改めて、
この事実を数式で表すと以下のようになります。
$$
\textbf{\text{T} + \text{I} + \text{L} + \text{J} + \text{S} + \text{Z} + \text{O} = 10}
$$
もちろん、これは必要条件であって、十分条件ではない。
証明
ミノの占める面積は種類を問わず4マスなので、40マスを完璧に埋めるには(40マス)÷(4マス毎ミノ)=ぴったり10個のミノが必要です。
この証明には何か足りない感じがするので、ちょっと遠回りしてもっと複雑にしますね ^_^
これから使う証明の方針を大まかに説明すると、
まずはすべてのマスに数値を与える。ミノを置く時、そのミノが覆うマスに与えられた数値の和をそのミノの値とする。パフェを完成させるにはつまり以下の必要条件を満たさなければならない:
置かれるミノの値の和 = 40マスの数値の和
証明再び
2024年なので、すべてのマスに2024という数値を与える。
このとき、すべてのミノの値は置く場所に関係なく2024×4になるので、以下の数式が成り立つ:
$$
\begin{align*}
\left(2024 \times 4 \right) \times \left( \text{T} + \text{I} + \text{L} + \text{J} + \text{S} + \text{Z} + \text{O} \right) &= 2024 \times 40\\
\textbf{\text{T} + \text{I} + \text{L} + \text{J} + \text{S} + \text{Z} + \text{O}} &= \textbf{10}
\end{align*}
$$
結局、2024と関係なかったですね。
続いて、偶奇性理論をこのフレームワークで解説していきます。
偶奇性理論
偶奇性を広義に解釈すると「二属性のいずれか一方に排することである」(ウィキペディア)。テトリスにおける偶奇性はさまざまな形式で登場します。それは二属性が複数の異なる方法で定義できるからです。
先ほど紹介した証明の方針ですが、偶奇性を適用できます。数式を合同式にすることで、より使いやすいのだが、より弱い必要条件が生まれます:
置かれるミノの値の和 ≡ 40マスの数値の和 mod 2
左辺に書かれたものは偶奇性の一種です。これはフィールドの性質の一つで、ミノを置くこととライン消去によって変わります。
先ほどの証明ではすべてのマスに同じ数値を与えたんですが、これからはそうでない場合を探っていきたいと思います。
縦パリティ
パフェを完成させるには、LミノとJミノと縦Tミノの総数が偶数でなければならない。
証明
下図の通り、すべてのマスに数値を与える。
このとき、すべてのミノにおいて「ミノの値 mod 2」は置く場所に関係なく一定値なので、以下の数式が成り立つ:
$$
\begin{align*}
0 \times \left( \text{T}_{0} + \text{T}_{2} + \text{I} + \text{S} + \text{Z} + \text{O} \right) + 1 \times ( \text{T}_{1} + \text{T}_{3} + \text{L} + \text{J}) &\equiv 20 &\pmod 2\\
\textbf{\text{T}}_{1}\textbf{ + }\textbf{\text{T}}_{3}\textbf{ + }\textbf{\text{L}}\textbf{ + }\textbf{\text{J}} &\equiv \textbf{0} &\pmod 2
\end{align*}
$$
横パリティ(簡略版)
ライン消去なしの場合、4x10の長方形を完成させるには、LミノとJミノと横Tミノの総数が偶数でなければならない。
縦パリティのすべてを右回転すれば横パリティが得られるので証明は省きます。ライン消去を処理するのはややこしいので、この記事では深掘りしません。
市松パリティ(簡略版)
ライン消去なしの場合、4x10の長方形を完成させるには、Tミノの数が偶数でなければならない。
縦パリティと横パリティの数式をそのまま足すと市松パリティが得られるので証明は省きます。
偶奇性理論の拡張
「フィールドを白黒に塗ってマスを数えるのと変わんなくない?」(参照)
そこのあなた!そう!アナタです!!
今からこのフレームワークの力を発揮します。
今までの証明では「すべてのミノにおいて『ある値』は置く場所に関係なく一定値になる」という数式が書ける便利な前提で話を進めた。そのままミノの値を使って「すべてのパフェは10個のミノで出来ている」ことを証明できたし、「ミノの値 mod 2」を使って古典的なパリティを導き出せたが……
縦「四色パリティ」
下図の通り、すべてのマスに数値を与える。
このとき、すべてのミノにおいて「ミノの値 mod 4」は置く場所に関係なく一定値なので、以下の数式が成り立つ:
$$
\begin{align*}
0 \left( \text{T}_0 + \text{T}_2 + \text{I}_1 + \text{S}_0 + \text{Z}_0 \right) + 1 \left( \text{T}_1 + \text{L}_{0} + \text{L}_{1} + \text{J}_{1} + \text{J}_{2} \right) + 2 \left( \text{I}_{0} + \text{S}_{1} + \text{Z}_{1} + \text{O} \right) + 3 \left( \text{T}_3 + \text{L}_{2} + \text{L}_{3} + \text{J}_{0} + \text{J}_{3} \right) &\equiv 52 \pmod 4\\
\textbf{\text{T}}_1\textbf{ + }\textbf{\text{L}}_{0}\textbf{ + }\textbf{\text{L}}_{1}\textbf{ + }\textbf{\text{J}}_{1}\textbf{ + }\textbf{\text{J}}_{2}\textbf{ + }\textbf{2 }\textbf{(}\textbf{\text{I}}_{0}\textbf{ + }\textbf{\text{S}}_{1}\textbf{ + }\textbf{\text{Z}}_{1}\textbf{ + }\textbf{\text{O}}\textbf{)}\textbf{ + }\textbf{3 }\textbf{(}\textbf{\text{T}}_3\textbf{ + }\textbf{\text{L}}_{2}\textbf{ + }\textbf{\text{L}}_{3}\textbf{ + }\textbf{\text{J}}_{0}\textbf{ + }\textbf{\text{J}}_{3} ) &\equiv \textbf{0} \pmod 4
\end{align*}
$$
パフェを完成させるにはこの数式を満たさなければならない。
両辺にmod 2をとると縦パリティになります。
もっと詳しく知りたいなら拙著「Four-colour Parity Theory」(英語)をご参照いただければと思います。
課題
(ライン消去なしの場合)横「四色パリティ」を導き出せ。
そして、両辺にmod 2をとると横パリティになることを示せ。ライン消去が偶奇性・「四色パリティ」に及ぼす影響を具体的に表せ。
「ミノの値 mod n」が一定値になる条件を求めよ。
一目瞭然ですね。ありがとうございました。また次回のアドカレでお会いしましょう。
あとがき
感謝
校正
参考文献
knewjade 「パフェのための基礎理論」