立方体の6面色塗りの総数をJulia で解決!
https://zenn.dev/dannchu/articles/c2d1b6181c1c1b
を読んで書いた記事です。
立方体の面の塗り分けを行い、回転して重なるものは同一視する、という問題ですが、
これは群論を用いることで手計算でも簡単に答えを得ることができます。
集合Xに対して、関係
元xと同値なものの集合をxの同値類という。
また、Xを同値類に分割できる。この操作を同値類で割るという。
異なる同値類に入っているものが重複することはない。もしそうなるとその2つの同値類のどのペアを取ってきても、共通に入っている元による推移律によって最初から同値だったことになってしまうからである。
集合G、
Gの元e(単位元)、
単項演算
二項演算
の組
1.単位元は掛けてもなにもしない
2.逆元とくっつくと消える(なにもしない単位元になる)
3.結合法則
これがあるので、
群Gと集合Xに対して、(左)作用という演算を定義する。
群の定義と作用の定義より、
群
また、
(
左辺と右辺とを1対1で対応させる。
まず、同値類ごとに代表として元を1つ選んでおく。
右辺
ある
右辺から左辺に、
逆に 左辺
とすると、
よって、一対一で対応していることがわかる。
そうしないと同じはずの元から違う結果が返ってくるようなことになり、関数にならないという問題があるからです。
赤球、白球がたくさんあるとき、これらのうち6つを円状に並べる方法はいくつあるか。
回転で重なるものは同じとする。
群Gを巡回群
なる群である。
Xを
作用を
例:
そうすると、
立方体の6面を赤色、青色、黄色の3色で2面づつ塗り分ける方法は何通りか。
回転で重なるものは同じとする。
群Gを立方体を回転(鏡写しはふくまない)して重ねる方法の全体、
サイコロで考えると、1の行き先が6種類、2はその隣の面4つのどれかなので、24通りの回転があるが、後々のために別の方法で分類する。
立方体の6面を赤色、青色、黄色の3色で塗り分ける方法は何通りか。
使わない色があったり全ての面を同じ色に塗ってもよく、回転で重なるものは同じとする。