ルービックキューブで学ぶ大学数学入門
演算・群・ラグランジュの定理・フェルマーの小定理
高校までの数学では,計算問題を解いたり,公式を使ったりする場面が多い. しかし,大学数学では,身近な現象を数学の言葉に翻訳し,その中にある共通の構造を見つけることも大切である.
この講義では,ルービックキューブを題材にして,次のことを見る.
数学は,公式に当てはめて計算するだけの学問ではない.
足し算や掛け算だけでなく,操作の手順を合わせることも演算として考えられる.
ルービックキューブの操作全体は,群という数学的な構造をもつ.
有限群に成り立つラグランジュの定理から,フェルマーの小定理も理解できる.
数学は公式を使うだけの学問ではない
高校までの数学では,次のような印象が強いかもしれない. \[ \text{計算する,公式を覚える,公式に当てはめる.} \] たとえば,方程式を解く,因数分解する,微分や積分を計算する,三角関数の公式を使う,といった内容である.
もちろん,計算は数学にとって重要である. しかし,本来の数学は,決められた公式に数を代入するだけの学問ではない. 実際,公式がそのまま使える場面は本来はごく一部である. たとえば,方程式を解くことや因数分解することは,一般には非常に難しい問題である. 大きな数を素因数分解することの難しさは,現代の暗号にも関係している.
数学はかなり自由度の高い学問であり,自然界や社会に現れるさまざまな現象を数学の言葉に翻訳し,そこにある構造や法則を調べることも,数学の大切な一面である. この「現象を数学の言葉に翻訳する」という考え方は,情報科学やプログラミングでも重要である.現実の問題をコンピュータで扱うためには,まずその問題を数学的・論理的な形に整理する必要がある.
大学数学では,まず何を考えるのかをはっきりさせる. そのために定義を作り,その定義のもとで,どのような普遍的な法則が成り立つかを調べる.
今回のキーワードは \[ \boxed{\text{演算}} \] である.
現象を「演算」として見る
足し算だけが演算ではない
演算というと,足し算や掛け算を思い浮かべるかもしれない. たとえば, \[ 2+3=5, 2\times 3=6 \] である. しかし,演算は数に対してだけ考えるものではない.
ある種類のものを2つ選び,決められたルールで組み合わせて,また同じ種類のものを1つ作ることを演算という.
ここで大切なのは,何の集まりで考えているかである. たとえば,正の整数全体 \[ 1,2,3,… \] で引き算を考えると, \[ 2-5=-3 \] となる.しかし,$-3$ は正の整数ではない. したがって,引き算は正の整数全体の上の演算ではない.
| 考えるもの | 演算 | 意味 |
|---|---|---|
| 整数 | $a+b$ | いつもの足し算 |
| 文字列 | $uv$ | 文字列をつなげる |
| 阿弥陀籤 | 上下にくっつける | 2つの手順から新しい手順を作る |
| ルービックキューブの手順 | $AB$ | $A$ のあと $B$ を行う手順 |
次のルールは,指定された集まりの上の演算になっているか考えよ.
偶数全体で,足し算をする.
奇数全体で,足し算をする.
0でない実数全体で,掛け算をする.
0でない実数全体で,足し算をする.
操作の手順を合わせる
今日の主役は,数の演算ではなく,操作の手順を合わせるという演算である. ここで言いたいのは,単に同じ操作を何度も繰り返すということではない. そうではなく, \[ \boxed{\text{2つの操作手順をつなげて,1つの新しい操作手順と見る}} \] という考え方である.
たとえば,手順Aと手順Bがあるとき, \[ \text{手順Aのあとに手順Bを行う} \] という全体を,1つの新しい手順と考える. これも演算の一種である.
阿弥陀籤をくっつける
阿弥陀籤を考えてみよう. 1つの阿弥陀籤は,上の入口を下の出口へ移す「手順」と見ることができる. さらに,2つの阿弥陀籤を上下にくっつけると,新しい1つの阿弥陀籤ができる.
これは, \[ \text{上の阿弥陀籤を通る} \text{そのあと} \text{下の阿弥陀籤を通る} \] という2つの手順を合わせて,1つの新しい手順を作っていると考えられる. つまり,阿弥陀籤の世界にも演算がある.
ルービックキューブの操作
操作を並べる
ルービックキューブでも同じことが起こる. 6つの面を回す操作を基本操作として考える. たとえば,上面を時計回りに $90^\circ$ 回す操作を $U$,右面を時計回りに $90^\circ$ 回す操作を $R$ と書く.
この講義では, \[ RU \] を \[ \text{まず }R\text{ を行い,次に }U\text{ を行う手順} \] と読むことにする. つまり,操作を横に並べることで,新しい1つの操作手順を作っている.
順番で結果が変わる
数の足し算では, \[ 2+3=3+2 \] である. しかし,操作の世界では,順番を入れ替えると結果が変わることがある. ルービックキューブでは,一般に \[ RU\neq UR \] である.
演算において,順番を入れ替えると結果が変わることがある. このような演算を可換でないという. ルービックキューブの操作は,可換でない演算の代表的な例である.
このように,数の足し算とは違う演算を考えると,新しい現象が見えてくる. ここに大学数学らしい考え方がある.
群という考え方
ここまで見てきたように,演算は数に対してだけ考えるものではない. 阿弥陀籤を上下につなげることや,ルービックキューブの手順を合わせることも,演算として考えることができる. 数学では,演算をもつ世界の中で,特に性質のよいものを群と呼ぶ.
まずは,よく知っている整数の足し算を例にして,群のイメージを見てみよう.
整数全体 \[ …,-2,-1,0,1,2,3,… \] を考える.この世界では,足し算が演算になっている. たとえば, \[ 2+3=5 \] であり,2つの整数を足すと,また整数が得られる.
また,足しても何も変えない数がある.それが \(0\) である. 実際, \[ 2+0=2 \] である.このようなものを,演算における「何もしないもの」と考えることができる.
さらに,\(2\) に対しては \(-2\) を足すと \(0\) に戻る.つまり, \[ 2+(-2)=0 \] である.この \(-2\) は,足し算に関して \(2\) を打ち消すものと考えられる.
最後に,3つの数を足すときには,括り方を変えても結果は変わらない. たとえば, \[ (2+3)+1=2+(3+1) \] である.
この例から,群に必要な性質の雰囲気が見えてくる.
群とは,演算がうまく振る舞う世界を表す数学の言葉である. ここでは厳密な定義ではなく,次のように理解しておけばよい.
演算しても何も変えない特別なものがある.
どのものにも,演算によって元に戻すものがある.
3つ以上を演算するとき,括り方を変えても結果は同じである.
本当の群の定義では,「2つのものを演算すると,また同じ世界の中のものが得られる」という条件も必要である. これは,演算という言葉をきちんと使うために大切な条件である. 整数の足し算では,2つの整数を足すとまた整数になるので,この条件が成り立っている.
整数の足し算では,演算は「足すこと」であった. ルービックキューブでは,演算は「操作の手順を合わせること」である. つまり,群とは必ずしも数だけの話ではない. 演算がうまく振る舞う世界であれば,数の世界でも,操作の世界でも,同じ言葉で扱うことができる.
ルービックキューブの操作全体は,群になる. 何もしない操作があり,各操作には逆向きに回すことで元に戻す操作がある. また,操作手順を合わせると,また1つの操作手順になる. さらに,3つ以上の操作手順を合わせるとき,どこで括っても最終的な手順は変わらない.
ルービックキューブ群の大きさと位数
ルービックキューブ群の元の個数
ルービックキューブでは,面を回す操作をいろいろ組み合わせることで,非常に多くの状態を作ることができる. 通常の $3\times3\times3$ のルービックキューブで,実際に到達できる状態の個数は \[ 43,252,003,274,489,856,000 \] である. これは約 \[ 4.3\times 10^{19} \] 個である.
ルービックキューブの状態は非常に多い. しかし,無限ではなく有限個である. したがって,ルービックキューブの操作全体からなる群は,非常に大きな有限群である.
元の位数
群には演算がある. そこで,群の中の1つの元を,その演算で何度も合わせることを考える. その結果,いつか「何もしない元」に戻ることがある. このとき,初めて何もしない元に戻るまでの回数を,その元の位数という.
群の元 $g$ に対して, \[ g^n=e \] となる最小の正の整数 $n$ を,$g$ の位数という. ここで $e$ は,その群の演算における「何もしない元」である. もしそのような正の整数 $n$ が存在しないとき,$g$ の位数は無限であるという.
ここで $g^n$ は,$g$ を演算で $n$ 回合わせることを表す. たとえば,演算が足し算なら,$g$ を何回も足すことを考える. 演算がルービックキューブの手順を合わせることなら,$g$ という手順を何回も合わせることを考える.
整数全体の足し算の群を考える. この群で,何もしない元は $0$ である. 元 $1$ を何度も足していくと, \[ 1, 1+1=2, 1+1+1=3, … \] となる. 何回足しても $0$ には戻らない. したがって,整数の足し算の群において,$1$ の位数は無限である.
このように,群の元の位数はいつも有限とは限らない. しかし,このあと見るラグランジュの定理から,有限群では各元の位数が必ず有限になることが分かる. しかも,ただ有限になるだけではなく,その位数は群全体の元の個数を割り切る. ここが有限群の重要な特徴である.
ルービックキューブの操作全体からなる群は有限群である. したがって,ルービックキューブのどの元も有限の位数をもつ. たとえば,何もしない元 $e$ は「何もしない操作」であり,右面を $90^\circ$ 回す操作を $R$ とすると, \[ R^4=e \] である. これは,$R$ という元を,ルービックキューブの演算で4回合わせると何もしない元に戻る,という意味である. したがって,$R$ の位数は $4$ である.
ルービックキューブ群には,もっと大きな位数をもつ元も現れる. たとえば, \[ RU \] という元の位数は \[ 105 \] である. つまり,$RU$ という元を105回合わせると初めて何もしない元に戻る.
さらに, \[ g=RU^2D^{-1}BD^{-1} \] という元を考えると,この元の位数は \[ 1260 \] である. ここで,$U^2$ は $U$ を2回行う操作,$D^{-1}$ は $D$ の逆向きの操作を表す. この元 $g$ は,3次ルービックキューブ群の中で可能な最大の位数をもつ例であり, 1260回合わせて初めて何もしない元に戻る.
実際にルービックキューブを1260回動かして確かめるのは大変である. しかし,群として考えると,この位数は計算によって求めることができる.
考え方は次の通りである. ルービックキューブの小さな部品に番号をつけると,1つの手順は,それらの番号を入れ替える規則として表せる. この入れ替わりは,いくつかの「輪になった入れ替わり」に分解できる. たとえば,記号の意味だけを示すと, \[ (a_1\ a_2\ a_3\ a_4) (b_1\ b_2\ \cdots\ b_9) (c_1\ c_2\ \cdots\ c_5) (d_1\ d_2\ \cdots\ d_7) \] のように書ける. ここで \[ (a_1\ a_2\ a_3\ a_4) \] は,$a_1$ が $a_2$ へ,$a_2$ が $a_3$ へ,$a_3$ が $a_4$ へ,最後に $a_4$ が $a_1$ へ戻るような入れ替わりを表す. この輪の長さは $4$ であり,4回繰り返すとこの部分は元に戻る.
同じように,長さが $9,5,7$ の輪があると,それぞれ $9$ 回,$5$ 回,$7$ 回で元に戻る. 全体が同時に元に戻るためには,これらすべてが同時に元に戻る必要があるので,必要な回数は最小公倍数 \[ \operatorname{lcm}(4,9,5,7)=1260 \] になる.
ラグランジュの定理
位数は,無限になることもある. しかし,群全体の元の個数が有限である場合には,位数について非常に強い定理が成り立つ. それがラグランジュの定理である.
有限群では,各元の位数は有限であり,しかも群全体の元の個数を割り切る.
ここでは証明はしないが,この定理は有限群の基本定理の1つである. 整数全体の足し算のような無限群では,元の位数が無限になることがある. 一方,有限群ではラグランジュの定理により,どの元も有限の位数をもつ. さらに,その戻るまでの回数は,群全体の元の個数を必ず割り切る.
もう少しイメージで言うと,1つの元 $g$ から \[ e, g, g^2, g^3, … \] を作っていくと,これらは群の中にある小さな世界を作る. その小さな世界の元の個数が,ちょうど $g$ の位数である. ラグランジュの定理は,その小さな世界の大きさが,群全体の大きさを割り切ることを主張している.
ルービックキューブの群は有限群である. したがって,ルービックキューブ群のどんな元を選んでも,その元の位数は有限であり,さらにルービックキューブ群全体の元の個数 \[ 43,252,003,274,489,856,000 \] を割り切る.
たとえば,先ほど出てきた \[ 4, 105, 1260 \] は,すべてこの巨大な数を割り切る. 一方で,$13$ はこの数を割り切らない. したがって,ラグランジュの定理により,ルービックキューブ群には位数 $13$ の元は存在しない. つまり,「13回合わせると初めて元に戻る」ようなルービックキューブの手順はない.
ルービックキューブの具体的な操作手順はとても複雑である. しかし,群という言葉で見ると,その背後には \[ \boxed{\text{有限群では,元の位数は全体の個数を割り切る}} \] という単純で普遍的な法則がある.
余りの世界の掛け算とフェルマーの小定理
余りだけを見て計算する
ここで,まったく違う話に見える「余りの世界」を考える. たとえば,$5$ で割った余りだけを見ると,どんな整数も \[ 0,\ 1,\ 2,\ 3,\ 4 \] のどれかと同じものとして扱うことができる.
ここで,余りを表す記号を1つ導入しておく. 整数 $a$ と $b$ を $m$ で割った余りが等しいとき, \[ a\equiv b \pmod m \] と書く. これは「$a$ と $b$ は $m$ で割った余りが同じ」という意味である. たとえば, \[ 7\equiv 2 \pmod 5 \] は,$7$ を $5$ で割った余りと $2$ を $5$ で割った余りがどちらも $2$ であることを表している. 同じように, \[ 8\equiv 3 \pmod 5, 56\equiv 1 \pmod 5 \] である.
余りの世界では,掛け算も余りだけを使って計算できる. たとえば, \[ 7\times 8=56 \] であり,$56$ を $5$ で割った余りは $1$ である. 一方で, \[ 7\equiv 2 \pmod 5, 8\equiv 3 \pmod 5 \] であるから, \[ 7\times 8\equiv 2\times 3=6\equiv 1 \pmod 5 \] となる.
つまり,大きな数をそのまま掛け算しなくても,それぞれの余りを先に見てから掛け算してよい. これが余りの世界の便利なところである.
たとえば, \[ 84\times 91 \] を $5$ で割った余りを考える. 直接計算してもよいが,余りだけを見れば, \[ 84\equiv 4 \pmod 5, 91\equiv 1 \pmod 5 \] なので, \[ 84\times 91\equiv 4\times 1=4 \pmod 5 \] とすぐに分かる.
大きな数が積の形で書かれているときには,それぞれの因数を割った余りを見ればよい. これは,大きな数の余りを調べるときに非常に便利である.
しかし,指数が大きくなると,余りだけを追う計算でも大変になる. たとえば, \[ 3^{100} \] を $7$ で割った余りを知りたいとき,$3$ を100回掛けるのは大変である. ここで役に立つのが,フェルマーの小定理である.
フェルマーの小定理
$p$ を素数とし,$a$ を $p$ で割り切れない整数とする. このとき, \[ a^{p-1}\equiv 1 \pmod p \] が成り立つ.
たとえば $p=7$, $a=3$ とすると, \[ 3^6\equiv 1 \pmod 7 \] である. これを余りの世界の掛け算として確認してみよう.
\[ 3^2=9\equiv 2 \pmod 7, \] \[ 3^3\equiv 2\cdot 3=6 \pmod 7, \] \[ 3^4\equiv 6\cdot 3=18\equiv 4 \pmod 7, \] \[ 3^5\equiv 4\cdot 3=12\equiv 5 \pmod 7, \] \[ 3^6\equiv 5\cdot 3=15\equiv 1 \pmod 7. \] したがって, \[ 3^6\equiv 1 \pmod 7 \] となる.この定理を使うと,大きな指数の計算が簡単になる. たとえば,$3^{100}$ を $7$ で割った余りを考える. フェルマーの小定理より, \[ 3^6\equiv 1 \pmod 7 \] である.したがって, \[ 3^{100}=3^{96}\cdot 3^4=(3^6)^{16}\cdot 3^4 \] なので, \[ 3^{100}\equiv 1^{16}\cdot 3^4\equiv 3^4 \pmod 7. \] さらに, \[ 3^4=81\equiv 4 \pmod 7 \] であるから, \[ 3^{100}\equiv 4 \pmod 7 \] と分かる.
フェルマーの小定理と群
なぜフェルマーの小定理が成り立つのだろうか. その背後には,ここまで見てきた群の考え方がある.
$7$ で割った余りのうち,$0$ 以外の \[ 1,\ 2,\ 3,\ 4,\ 5,\ 6 \] を考える. これらは,「掛け算をしてから $7$ で割った余りを見る」という演算で群になる. ここでの演算は足し算ではなく掛け算なので,何もしないものは $0$ ではなく $1$ である. 実際,どの数に $1$ を掛けても変わらない: \[ 2\cdot 1\equiv 2 \pmod 7, 5\cdot 1\equiv 5 \pmod 7. \] また,それぞれの数には,掛けると $1$ になる相手がある. たとえば, \[ 3\cdot 5=15\equiv 1 \pmod 7 \] なので,余りの世界では $5$ は $3$ を打ち消す役割をもっている.
この群の元の個数は $6$ 個である. したがって,ラグランジュの定理により,どの元の位数も $6$ を割り切る. そのため,$7$ で割り切れない数 $a$ に対して, \[ a^6\equiv 1 \pmod 7 \] が成り立つ. 一般の素数 $p$ でも同じ考え方により, \[ a^{p-1}\equiv 1 \pmod p \] が得られる.
ルービックキューブの操作と,余りの世界の掛け算は,一見まったく違うものに見える. しかし,どちらも群という同じ数学の言葉で捉えることができる. そして,どちらにもラグランジュの定理という同じ法則が働いている.
まとめ
今回見たことをまとめよう.
数学は,公式を使って計算するだけの学問ではない.
さまざまな現象を数学の言葉に翻訳して考えることができる.
今回は「演算」という見方で,操作の手順を合わせることを考えた.
ルービックキューブの操作全体は群になる.
ルービックキューブ群は非常に大きな有限群であり,元の個数は \[ 43,252,003,274,489,856,000 \] である.
有限群では,元の位数は有限であり,群全体の元の個数を割り切る.
同じ考え方から,フェルマーの小定理も理解できる.
ルービックキューブの操作と,余りの世界の計算は,一見まったく違うものに見える. しかし,どちらも「群」という同じ数学の言葉で捉えることができる. このように,異なる現象の背後に共通する構造を見つけることが,大学数学の大きな魅力の1つである.