Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rubik Cube And Group Theory
Search
USAMI Kosuke
October 03, 2020
Science
1
3.4k
Rubik Cube And Group Theory
※ Docswell に移行しました
https://www.docswell.com/s/usami-k/5XYV62-rubik-cube-and-group-theory
USAMI Kosuke
October 03, 2020
Tweet
Share
More Decks by USAMI Kosuke
See All by USAMI Kosuke
Onsager代数とその周辺 / Onsager algebra tsudoi
usamik26
0
590
Apple HIG 正式名称クイズ結果発表 / HIG Quiz Result
usamik26
0
150
ゆめみ大技林製作委員会の立ち上げの話 / daigirin project
usamik26
0
300
@ViewLoadingプロパティラッパの紹介と自前で実装する方法 / @ViewLoading property wrapper implementation
usamik26
0
450
これからUICollectionViewを実践活用する人のためのガイド / Guide to UICollectionView
usamik26
1
710
Xcodeとの最近の付き合い方のはなし / Approach To Xcode
usamik26
2
640
UICollectionView Compositional Layout
usamik26
0
740
Coding Swift with Visual Studio Code and Docker
usamik26
0
480
Swift Extension for Visual Studio Code
usamik26
2
990
Other Decks in Science
See All in Science
Transformers are Universal in Context Learners
gpeyre
0
730
はじめてのバックドア基準:あるいは、重回帰分析の偏回帰係数を因果効果の推定値として解釈してよいのか問題
takehikoihayashi
2
1.4k
大規模言語モデルの論理構造の把握能力と予測モデルの生成
fuyu_quant0
0
100
04_石井クンツ昌子_お茶の水女子大学理事_副学長_D_I社会実現へ向けて.pdf
sip3ristex
0
180
ウェーブレットおきもち講座
aikiriao
1
830
As We May Interact: Challenges and Opportunities for Next-Generation Human-Information Interaction
signer
PRO
0
380
山形とさくらんぼに関するレクチャー(YG-900)
07jp27
1
270
Reconciling Accuracy, Cost, and Latency of Inference Serving Systems
pjamshidi
0
120
butterfly_effect/butterfly_effect_in-house
florets1
1
150
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
690
統計学入門講座 第1回スライド
techmathproject
0
240
解説!データ基盤の進化を後押しする手順とタイミング
shomaekawa
1
400
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1369
200k
How GitHub (no longer) Works
holman
314
140k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
The Invisible Side of Design
smashingmag
299
50k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
Building Adaptive Systems
keathley
40
2.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
KATA
mclloyd
29
14k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
540
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Transcript
1/22 ルービックキューブと群論 宇佐見 公輔 2020 年 10 月 3 日
宇佐見 公輔 ルービックキューブと群論
2/22 自己紹介 職業:プログラマ / 趣味:数学 最近の活動(登壇・ブログ・Twitter) : 平面の敷き詰めとルート系(2020 年 6
月 / 日曜数学会) 四元数のはなし(2020 年 5 月 / 関西日曜数学友の会) はじめて学ぶリー環 ノート(2020 年 4 月〜 / Twitter) Ising 模型 ノート(2020 年 3 月〜4 月 / Twitter) Onsager 代数の話(2020 年 3 月 / 京都某所) はじめて学ぶリー群 ノート(2020 年 1 月〜3 月 / Twitter) 宇佐見 公輔 ルービックキューブと群論
3/22 今日の話 今日はルービックキューブの話です。過去の発表内容とは特に関 係ありません。 ルービックキューブを数学的に考えるにはどうするのかという話 と、SageMath での計算の紹介になります。 宇佐見 公輔 ルービックキューブと群論
4/22 ルービックキューブ 3 × 3 × 3 が普通ですが、2 × 2
× 2 など別サイズもあります。 宇佐見 公輔 ルービックキューブと群論
5/22 ルービックキューブの数学的な解析 ルービックキューブに対する興味の持ち方は様々です。 6 面完成させる解法は? スピードキューブ(完成までの時間を競う) キューブの機構はどうなっているのか? ここでは、ルービックキューブパズルを数学的に解析することを 考えます。ルービックキューブは、群論の言葉を用いて記述する ことが可能です。
宇佐見 公輔 ルービックキューブと群論
6/22 考察にあたっての前提 3 次元空間の中でキューブの位置や向きを固定して考えます。 キューブそのものを回転させることは考えません。 キューブの操作は、各面を時計回りまたは反時計回りに 90 度ずつ 動かすことを考えます。真ん中の列を回転させることはしません。 宇佐見
公輔 ルービックキューブと群論
7/22 小方体(cubelet) 小方体:キューブを構成する小立方体。中心を除いて 26 個。 1 面体:1 つの面が外側に見えている小方体。6 個。 2
面体:2 つの面が外側に見えている小方体。12 個。 3 面体:3 つの面が外側に見えている小方体。8 個。 先ほどの前提から、1 面体は動きません。2 面体と 3 面体がキュー ブの操作によって移動します。 宇佐見 公輔 ルービックキューブと群論
8/22 小面(facet) キューブの各面を構成する正方形を小面と呼びます。各面で中央 を除いて 8 個、全体で 48 個あります。 +--------------+ |
1 2 3 | | 4 top 5 | | 6 7 8 | +------------+--------------+-------------+------------+ | 9 10 11 | 17 18 19 | 25 26 27 | 33 34 35 | | 12 left 13 | 20 front 21 | 28 right 29 | 36 rear 37 | | 14 15 16 | 22 23 24 | 30 31 32 | 38 39 40 | +------------+--------------+-------------+------------+ | 41 42 43 | | 44 bottom 45 | | 46 47 48 | +--------------+ 番号づけの規則は何でもよいです。上図は SageMath の出力です。 宇佐見 公輔 ルービックキューブと群論
9/22 小面のシングマスター記法 番号づけの代わりに、シングマスター記法という方法もあります。 上下左右前後の各面に u, d, l, r, f ,
b を割り当てる 2 面体上の小面:xy 形式 x は小面を含む面 y は隣接する面 3 面体上の小面:xyz 形式 x は小面を含む面 y と z は隣接する面 例:下図の 7 は uf、18 は fu、6 は ufl、17 は flu と書けます。 +--------------+ | 1 2 3 | | 4 top 5 | | 6 7 8 | +------------+--------------+-------------+------------+ | 9 10 11 | 17 18 19 | 25 26 27 | 33 34 35 | | 12 left 13 | 20 front 21 | 28 right 29 | 36 rear 37 | | 14 15 16 | 22 23 24 | 30 31 32 | 38 39 40 | +------------+--------------+-------------+------------+ | 41 42 43 | | 44 bottom 45 | | 46 47 48 | +--------------+ 宇佐見 公輔 ルービックキューブと群論
10/22 キューブ操作のシングマスター記法 各面を時計回りに 90 度回転する操作を U, D, L, R, F,
B と書くこ とにします。 宇佐見 公輔 ルービックキューブと群論
11/22 キューブ操作と置換 X を小面 48 個の集合とします。キューブ操作は、X の置換写像で あると考えることができます。 例えば操作 R
は、以下のような置換です。小面を 20 個動かしま す。4 個の元の巡回置換が 5 つ起こります。 rf ↦→ ru ↦→ rb ↦→ rd ↦→ rf ruf ↦→ rub ↦→ rbd ↦→ rdf ↦→ ruf fr ↦→ ur ↦→ br ↦→ dr ↦→ fr fur ↦→ ubr ↦→ bdr ↦→ dfr ↦→ fur fdr ↦→ ufr ↦→ bur ↦→ dbr ↦→ fdr 宇佐見 公輔 ルービックキューブと群論
12/22 キューブ操作と置換 (2) もうひとつ例を見ます。R を 2 回行った R2 は、以下のような置換 です。2
個の元の互換が 10 個起こります。 rf ↦→ rb ↦→ rf ru ↦→ rd ↦→ ru ruf ↦→ rbd ↦→ ruf rub ↦→ rdf ↦→ rub fr ↦→ br ↦→ fr ur ↦→ dr ↦→ ur fur ↦→ bdr ↦→ fur ubr ↦→ dfr ↦→ ubr fdr ↦→ bur ↦→ fdr ufr ↦→ dbr ↦→ ufr 宇佐見 公輔 ルービックキューブと群論
13/22 対称群 集合 X の置換全体の集合 SX は群になります。これを X の対称群 と呼びます。
SX := {f : X → X | fは全単射} キューブ操作(の組み合わせ)は、小面集合 X の対称群に含まれ ます。 宇佐見 公輔 ルービックキューブと群論
14/22 ルービックキューブ群 小面集合 X の対称群 SX の中にはキューブ操作の組み合わせだけ では実現できないものもあります。 例えば、3 面体のひとつをルービックキューブから取り外して、小
面のうち 2 つの色を逆に貼り替えてからルービックキューブに戻 す、ということをします。これは小面集合 X の置換にはなってい ますが、キューブ操作だけでは元の配置に戻すことができません。 基本操作 U, D, L, R, F, B で生成される SX の部分群 G を、ルー ビックキューブ群と呼びます。 G := U, D, L, R, F, B ⊂ SX 宇佐見 公輔 ルービックキューブと群論
15/22 SageMath SageMath は数学関連のソフトウェアを統合したものです。 SageMath には、ルービックキューブ群を扱うプログラムが最初 から組み込まれています。 宇佐見 公輔 ルービックキューブと群論
16/22 ルービックキューブ群を SageMath で扱う sage : rubik = CubeGroup (
) sage : rubik . plot_cube ( " " ) sage : rubik . plot3d_cube ( " " ) 宇佐見 公輔 ルービックキューブと群論
17/22 ルービックキューブ群を SageMath で扱う (2) sage : rubik = CubeGroup
( ) sage : rubik . plot_cube ( "R" ) sage : rubik . plot_cube ( "R∗U" ) 宇佐見 公輔 ルービックキューブと群論
18/22 SageMath とシングマスター記法 sage : rubik = CubeGroup ( )
sage : rubik . display2d ( " " ) +--------------+ | 1 2 3 | | 4 top 5 | | 6 7 8 | +------------+--------------+-------------+------------+ | 9 10 11 | 17 18 19 | 25 26 27 | 33 34 35 | | 12 left 13 | 20 front 21 | 28 right 29 | 36 rear 37 | | 14 15 16 | 22 23 24 | 30 31 32 | 38 39 40 | +------------+--------------+-------------+------------+ | 41 42 43 | | 44 bottom 45 | | 46 47 48 | +--------------+ sage : from sage . groups . perm_gps . cubegroup import ∗ sage : index2singmaster (17) ’ flu ’ 宇佐見 公輔 ルービックキューブと群論
19/22 ルービックキューブ群の位数 ルービックキューブ群は定義から有限群ですが、その大きさがど れくらいなのか見てみます。 sage : rubik = CubeGroup (
) sage : rubik . order ( ) 43252003274489856000 sage : rubik . order ( ) . f a c t o r ( ) 2^27 ∗ 3^14 ∗ 5^3 ∗ 7^2 ∗ 11 宇佐見 公輔 ルービックキューブと群論
20/22 元の位数 ルービックキューブ群の元の位数(gm = 1 を満たす最小の m)も 見てみましょう。 操作 R
は 4 回行えば元に戻ります。 sage : R = rubik . move( "R" ) [ 0 ] sage : R. order ( ) 4 ルービックキューブ群には位数 1260 の元があります。そのひとつ が RU2D−1BD−1 です。これより大きい位数の元はありません。 sage : J = rubik . move( "R∗U^2∗D^−1∗B∗D^−1" ) [ 0 ] sage : J . order ( ) 1260 宇佐見 公輔 ルービックキューブと群論
21/22 その他の豆知識 どんな配置でも 20 手以内で 6 面完成できることが知られて います(ただし、180 度回転も 1
手とみなして数えた場合。 180 度回転を 2 手とするときは 26 手となる) 。 ルービックキューブ群は単純群ではありません(非自明な正 規部分群を持つ) 。 分解の例:G (Z7 3 × Z11 2 ) ((A8 × A12 ) Z2 ) 宇佐見 公輔 ルービックキューブと群論
22/22 まとめ・参考文献 ルービックキューブ群は群論の題材として(ちょっと大きいです が)良いものだと思います。また、SageMath を使うといろいろ 遊べるのも良いと思います。 参考文献: David Joyner、群論の味わい −置換群で解き明かすルービッ
クキューブと 15 パズル− 島内剛一、ルービック・キューブと数学パズル 宇佐見 公輔 ルービックキューブと群論