■ルービックキューブと数学

1. はじめに
このページは Speedcubing Advent Calendar 2013 という企画の第12日目(2013/12/12)の記事として作成されました。
作成者が個人ブログを持っていないので、キューブ関係のコラムとしてTRCCサイトに間借りしています。

さて、ルービックキューブは数学と関係があると聞いたことがある方もいると思います。
ですが実際に遊んでみると学校で習う算数や数学とは全く違ったものに感じられるかもしれません。
それもそのはず、ルービックキューブに最も関係が深いと言われている数学の分野は
高校まででは習わない「群論(ぐんろん)」という理論だからです。
大まかな分類でいうと群論は代数学の一分野と考えるのが一般的ですが、ここでいう代数学も
中学、高校でやるような数の計算や微積分をひたすらやるのではなく、その「数」そのものがどんなものか
調べることが中心になります。

群を使って何かを解くのはむずかしいので、ここでは「群」とはどんなものかを紹介してみます。
中学生でも読めるくらいにやさしく書いたつもりです。数学や計算が苦手という方も、頭をやわらかくして読んでみてください。
逆にここでは厳密な話は一切しないので、数学がとても得意な人はそういうつもりで読んでください。
また、ちゃんと群の定義を習った方にはかえって分かりにくいかもしれませんがご了承ください。


2. 群
2-1. そもそも群とは?
さて、「群(ぐん)」とは何かと言われたとき、私ならまず
「いろんなものに“足し算”を考えてみたもの」
と説明します。
これではもちろん説明不足なので、少しずつ説明していきます。

群というものは何か一つしかないのではなく、いろいろな群があります。
たとえば整数というのは一例で、もちろん整数同士で足し算をしてまた整数が得られます。

ここでいう整数のように、最初に足し算の「登場人物」をはっきりさせます。
この場合、登場人物は「(1) すべての整数」、つまり負の整数も含めたもので、-3, 0, 200などです。
後に出てくる例だとたとえば「(2) 0から6の整数」のような数に関わるものから、
「(3) 3つのコップの並び替え方」のように数とはいえないものまでいろいろなものを考えられます。


2-2. 足し算を考えてみる
次に、実際にその登場人物の間の「足し算とは何か」をはっきりさせます。
たとえば「(1) 整数」の例では、足し算は普通の足し算、つまり3+4=7や5+(-11)=-6のようなものを
考えればいいでしょう。

「(2) 0から6の整数」で同じように足し算を考えてみましょう。
しかしここで4+5=9となるのですが9は(2)の例の登場人物ではありません。
群の世界ではこのようなことは認めないことになっています。つまりこのような足し算では
「0から6の整数」は群とはいえないのです。
なので登場人物を増やすか足し算の方法を変える必要がありますが、
ここでは足し算の方法を変えてみることにしましょう。

新しい足し算は普通の数の足し算と区別するために+ではなく・で書くことにしましょう。数のかけ算ではないです。
そして0から6の2つの整数a, bについて、
a・b=“a+bを7で割った余り”
ということにします。たとえば5・2=0です。
すると、整数を7で割った余りは必ず0から6の整数になり、しっかり登場人物になっています。
慣れないと気持ち悪いかもしれないですが、よくわからなければ
「足し算、かけ算に代わる新たな計算」と思ってしまえばいいでしょう。


2-3. 足し算の“条件”
さて、登場人物2つについて「足し算」を計算する方法を決めました。
しかし(2)の例では普通とは少し違った「足し算」を考えていて、気持ちが悪いでしょう。
実際、このような計算が何でも「足し算」と呼べるわけではありません。
群で計算を「足し算」と呼ぶにはルールがあります。
これについては細かいことなので読み飛ばしてもいいかもしれません。
2-3-1. 好きなところから計算できる (結合法則)
たとえば普通の数の足し算で、3+4+5というのを計算するときは
3+4=7、7+5=12と計算しても、後ろから先に4+5=9、3+9=12と計算してもOKですよね。
式の形で書けば (3+4)+5=3+(4+5)ということです。
このように3つ以上の「足し算」でどこから計算してもよいというのが「足し算」の条件のひとつです。
ただし、足すものの左右の順序は変えてはいけません。
普通の数だと3+4=4+3ですが(交換法則)、これは成り立たなくても群と呼ぶことができます。
「左から計算しなければいけない」わけではないということで、右から計算してもOKです。
2-3-2. 「0」がある (単位元の存在)
登場人物に「0」に当たるものがあることも「足し算」の条件です。
「0」とは、つまりどの登場人物と足し算を計算しても変わらないようなものです。
普通の数なら0+4も4+0も4で、4以外の数についても同じようなことがいえます。
「(2) 0から6の整数」でも0が同じ役割ですね。
2-3-3. 「-1倍」がある (逆元の存在)
ここで「-1倍」と言っているのはかけ算のことではなく、「aがあれば-aがある」ことです。
つまり、どんな登場人物についても、それと足すと「0」になる登場人物がいることが必要です。
普通の数なら普通の意味での-1倍がそうですが、上の「(2) 0から6の整数」の場合はそう簡単にもいきません。
たとえば3を考えると、-3は登場人物に含まれません。しかし、4・3=3・4=0なので 3の「-1倍」は4ということになります。
これですべてのルールです。このようなルールに合った足し算と登場人物を両方合わせて「群」といいます。

2-3. 数以外の「足し算」
さて、これまでは数またはそれに似たものの足し算を扱いましたが、
「(3) 3つのコップの並び替え方」のような数ではないものの足し算も考えてみましょう。
ここで、並び替え方は「動かさない」も含めて全部で6通りあります。
コップ3つが右、中、左と一列に並んでいる状況では、この6つは
[動かさない], [中←→右], [左←→右], [左←→中], [左→中→右→左], [右←左←中←右]
と表せます。
この足し算は、たとえば[中←→右]・[左←→右]は[中←→右]の交換をしてから[左←→右]をする、
というようにしましょう。
つまり[中←→右]・[左←→右]=[右←左←中←右]となります。
ところで、この順番を逆にしてみると
[左←→右]・[中←→右]=[左→中→右→左]となり結果が変わってきます。
これは普通の数の足し算とは違う性質ですが、実はこれは群では認められています。
このような「足し算」を考えると、これは群の足し算のルール3つをみたしています。
[動かさない]は数でいう0の役割を果たし、[左←→中]の-1倍は[左←→中]自身となります。


3. ルービックキューブと群
さて、群というものが何か紹介しました。
厳密なことは気にしないで、ルービックキューブとの関わりを見ていきましょう。
基本的には考えていることはコップの並び替えの例と同じです。
3-1. 登場人物
ルービックキューブの群を考えるときには、1個1個のキューブではなく
「手順」がその群の登場人物となります。
UやR2のような簡単なものから、A-permやコーナー3点交換などもすべてが群の登場人物です。
また先ほどのコップと同じように、「何もしない」も登場人物の1人です。
ただし、A-permの回し方はいろいろありますがどれも結果が同じものは同一人物とみなします。
(キューブの状態の変化を登場人物と思えばいいでしょう。)
3-2. 足し算
足し算はコップの並び替えと同じように続けて手順を回すこととします。
R Uと書けば普通はRを回してからUを回すことですが、これがR+Uに当たります。
ですがここではわざわざ+は書かないことにしましょう。
このようにすると、この「ルービックキューブの手順すべて」は群になります。
「何もしない」が数でいう0にあたり、これをeと書くことにしましょう。
また、Rの-1倍はR'、T-permの-1倍はT-permです。
この群はルービックキューブ群という名前で呼ぶことが多いようです。
この群のことをGと書くことにします。(群は英語groupの訳なので頭文字のGをとります。)
3-3. 群としてのルービックキューブ
さて、ルービックキューブの手順が群をなすことがわかりました。
ですが多くの人は「で、それで何なの?」といったところでしょう。
私自身群の専門家ではないので深いことはわかりませんが、初歩的な群論から得られる結果や解釈を紹介します。
3-3-1. 同じ手順の繰り返し
ルービックキューブ群は「有限群」とよばれる群の1つです。
つまり登場人物の数が無限ではないような群なわけです。
その登場人物の数は
8! x 12! x (3^7) x (2^11) / 2 で計算でき、
43,252,003,274,489,856,000個です。(この数を|G|と書くことにします。)
さて、有限群の初歩の理論を使うと次のことがわかります。
「ある手順Aを繰り返すと有限回で元に戻る。」
「ある手順Aを繰り返して元に戻すのにn回かかるとき、そのnは|G|を割り切る。」 本当はもっとよく調べるとnの値はもっと限られたものになりますが、
ここまでは群論を学びたてでも証明できます。
3-3-2. inverse scrambleの技術
最少手数競技FMCは群論の言葉では次のように言い表せます。
「ある手順Aに対して、A B=eとなる手順Bを、1時間以内でできるだけ短い形に書き下す。」
ここで群論らしい計算を少ししてみましょう。
Bの-1倍をB'と書くと、A B=eの両辺にB'を右から足すと
A B B'=e B'で、eは何もしていないので計算するとA = B'で、AはBの-1倍です。
これの両辺にAの-1倍であるA'を左から足すとe=A' B'となります。
つまりスクランブルAの逆手順A'を回してそれを直す手順B'を探し、
そのB'の逆手順としてBが得られるわけです。
3-3-3. コミュテーター
コミュテーターは群論の用語で、二つの登場人物a,bについてその-1倍を
それぞれa',b'としたときa b a' b'の形で書かれるものです。(足し算の記号は省略)
ここで、もし足し算が可換、つまり左右が入れ替えられるなら
a b a' b'=a a' b b'=eとなりコミュテーターは意味がありません。
しかしキューブではコミュテーターでさまざまな手順を作ることができ、
これはルービックキューブ群の難しさを表しているとも言うことができます。

なかなか難しい話だったかもしれませんが、要は
「キューブの手順で計算ができるから計算の理論を使うことができる。(ただし大きすぎて難しすぎる)」
ということですね。
もっと群論に詳しければそれを競技にも応用できるのかもしれませんね。

書く時間が少なく画像もないですがこんなもので。

作成:田Φ