ルービックキューブの群論的構造:半直積と wreath product
前回までの記事で、ルービックキューブ群の位数が であることを導出した。本記事では、この群の内部構造を半直積と wreath product(花冠積)の言葉で精密に記述する。位数を数えるだけでは見えない、群の「骨格」を明らかにするのが目標だ。
直積と半直積の復習
2 つの群 と が与えられたとき、直積 は元の組 に成分ごとの積
を入れる構成だ。 と は互いに干渉しない。
半直積 はこれを一般化する。準同型 が与えられたとき、積を
と定める。 が の元を「並べ替える」ことが許される点が直積との本質的な違いだ。
と が完全に独立に動く。積の第 1 成分は で、 の影響を受けない
の元が の内部構造を変形する。積の第 1 成分に が現れ、 が に作用する
ルービックキューブ群では、置換(位置の入れ替え)が向き(ツイスト・フリップ)に作用する。これはまさに半直積の構造だ。
コーナー群の構造
コーナーの状態は、位置置換 と向きベクトル の組 で表される。ただしツイスト制約 があるから、実際には (最後の成分は他から決まる)と考えてよい。
2 つのコーナー操作 と の積は
で与えられる。ここで とは、ベクトル の成分を置換 で並べ替える操作だ。具体的には、 の第 成分は である。
この積の構造は、 を「成分の並べ替え」として定めた半直積そのものだ。
具体例で確認する。 R 操作のコーナーへの作用を考えよう。R はコーナー置換 とツイスト変化 を引き起こす。次に U 操作を施すと、コーナー置換 でツイスト変化なし。
の合成では、まず R のツイスト変化を施し、次に U の置換がツイストベクトルを並べ替えてから U のツイスト変化(ゼロ)を加える。結果として、R で生じたツイストは U の置換によって別の位置に「運ばれる」。これが の意味するところだ。
wreath product(花冠積)
半直積 には特別な名前がつく。一般に、群 と対称群 に対し、
を と の wreath product(花冠積) と呼ぶ。 は の成分を置換する標準的な作用を持つ。
コーナーの場合、制約なしでは だが、ツイスト制約により向きの自由度が 1 つ減り、実際のコーナー群は
となる。ここで は総和が 0 になるベクトル全体の部分群だ。
wreath product の名前は、花冠(wreath)のように小さな群が環状に並び、それを対称群が回す構造に由来する。記号 は、花冠の形を模したリース記号と呼ばれる。
ドイツ語の Kranzprodukt(花冠積)の直訳。英語圏では wreath product が定着している。
エッジ群の構造
エッジについても全く同様の議論ができる。エッジの状態は で表され、 は位置置換、 は向きベクトルだ。フリップ制約 により、
が得られる。これは の制約付き部分群だ。
| 部分群 | 向きの群 | 置換群 | 制約 |
|---|---|---|---|
| コーナー群 | ツイスト総和 | ||
| エッジ群 | フリップ総和 |
パリティ制約と全体の構造
コーナー群 とエッジ群 が独立に動けるなら、全体は直積 になる。しかし、パリティ制約 がこれを許さない。
パリティ制約の意味を代数的に整理しよう。写像 を
で定めると、 は準同型であり、ルービックキューブ群 は
として実現される。 は を満たす元全体からなる指数 2 の部分群だ。
別の見方をすれば、符号写像 と を用いて、ファイバー積
と表せる。ここで は、両方の符号写像が一致する元のみを取り出す操作だ。
全体像のまとめ
以上を組み合わせると、ルービックキューブ群 の完全な代数的記述が得られる。
ここで
であり、各半直積における の作用は成分の並べ替えである。
:コーナーのツイストとエッジのフリップを表す。位置を固定したまま向きだけを変える操作全体。これは の正規部分群をなす。
(パリティ制約付き):コーナーとエッジの位置を入れ替える操作。 が成り立つ。
正規部分群の連鎖
の正規部分群をいくつか特定しておく。これは後の記事で可解性を議論する際に重要になる。
向き部分群 は の正規部分群だ。なぜなら、任意の と に対し、
が成り立つからだ。共役をとっても置換部分は恒等置換のままで、向きベクトルが並べ替えられるだけである。
商群 を考えると、
となる。この群の位数は
であり、 の正規列
が得られる。
wreath product の普遍性
wreath product がルービックキューブに限らず広く現れる構造であることを確認しておく。一般に、 個の同一な対象があり、それぞれが内部状態を持ち、かつ対象どうしの入れ替えが許される場合、その対称性は wreath product で記述される。
8 個のコーナーキュービーがあり、各コーナーは の内部状態(向き)を持ち、位置の入れ替え が許される。→
12 個のエッジキュービーがあり、各エッジは の内部状態(向き)を持ち、位置の入れ替え が許される。→
位数の再導出
群構造から位数を再計算して整合性を確認する。
パリティ制約は の指数 2 部分群を取ることに相当するから、
C = 3**7 * 40320 # 88179840
E = 2**11 * 479001600 # 980995276800
G = C * E // 2
print(f"|G| = {G:,}")
# |G| = 43,252,003,274,489,856,000
前回導出した値と完全に一致する。群構造の記述と位数の計算が整合していることが確認できた。
半直積の計算規則
最後に、半直積における逆元と共役の公式をまとめておく。これらは解法アルゴリズムの理解に直結する。
の逆元は
で与えられる。向きベクトルを反転させるだけでなく、逆置換で並べ替える必要がある点に注意しよう。
共役 は
となる。置換部分は通常の共役 だが、向き部分は置換に依存した複雑な変換を受ける。この公式が、ルービックキューブの解法における共役テクニック の数学的基盤となる。次の記事で、この公式を解法の文脈で具体的に活用する。
まとめ
ルービックキューブ群 は、コーナーの wreath product 型部分群 とエッジの wreath product 型部分群 のパリティ制約付きファイバー積として記述される。半直積の構造は「置換が向きを並べ替える」という物理的操作を忠実に反映しており、群の元どうしの積・逆元・共役をすべて明示的に計算可能にする。