ルービックキューブの群論的構造:半直積と 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 型部分群 のパリティ制約付きファイバー積として記述される。半直積の構造は「置換が向きを並べ替える」という物理的操作を忠実に反映しており、群の元どうしの積・逆元・共役をすべて明示的に計算可能にする。