• Tidak ada hasil yang ditemukan

GAPを用いたRubik's Cube 解法表示ソフトについて

N/A
N/A
Protected

Academic year: 2024

Membagikan "GAPを用いたRubik's Cube 解法表示ソフトについて"

Copied!
20
0
0

Teks penuh

(1)

GAPを用いたRubik's Cube 解法表示ソフトについて

田崎拓馬 (オービック) 藤本光史 (福岡教育大学) 藤本光史 (福岡教育大学)

8/Nov/2007 RIMS, Kyoto

Computer Algebra - Design of Algorithms, Implementations and Applications

(2)

Rubik’s Cube について Rubik s Cube について

E ő R bik

( ガリ の建築学者)によ

…

Ernő Rubik

(ハンガリーの建築学者)によっ

て考案された立方体パズル 年代 世界的なブ

…

1980

年代に世界的なブーム

… 3×3×3のタイプが有名

† 2×2×2 Pocket Cube

† 4×4×4 Rubik’s Revenge

† 5×5×5 Professor's Cube

… 速さを競うスピードキュービング世界大会が速さを競う ドキ グ世界大会が 毎年開催

† 2007年優勝者は日本人(中島悠・釧路高専2年)

† 優勝タイム 12秒46(世界記録は9秒77)

(3)

Rubik’s Cube と数式処理 Rubik s Cube と数式処理

…

Daniel Kunkle & Gene Cooperman, Towards the Optimal Bound for Solutions to Rubik's Cube, ISSAC2007

† 3×3×3のルービックキューブを解くために必 要な手数の上限は26手以下であることを計算によ り示した。

† 1手の定義は face-turn metric

(4)

Rubik’s Cube と群 Rubik s Cube と群

… 緑・黄・青・白・赤・橙の各面を時計と逆周 りに

90

度回転させる操作をそれぞれ

g, y, b, w, r, o

とおく

とおく。

… ルービックキューブのすべての操作は、この

b

の積で表現できる

g, y, b, w, r, o

の積で表現できる。

… 言い換えれば、ルービックキューブのあらゆ る模様

(

状態

)

は、

g, y, b, w, r, o

の積で 表現できる。
(5)

Rubik’s Cube と群 Rubik s Cube と群

ルービックキューブの各面に このように番号を付ける

このように番号を付ける。

(6)

Rubik’s Cube と群 Rubik s Cube と群

g y b w r oは以下の置換で表現できる

g, y, b, w, r, oは以下の置換で表現できる。

g := (17, 19, 24, 22)(18, 21, 23, 20)(6, 25, 43, 16) (7 28 42 13)(8 30 41 11);

(7, 28, 42, 13)(8, 30, 41, 11);

y := (33, 35, 40, 38)(34, 37, 39, 36)(3, 9, 46, 32) (2, 12, 47, 29)(1, 14, 48, 27);

( , , , 9)( , , 8, );

b := (25, 27, 32, 30)(26, 29, 31, 28)(3, 38, 43, 19) (5, 36, 45, 21)(8, 33, 48, 24);

w := (9, 11, 16, 14)(10, 13, 15, 12)(1, 17, 41, 40) (4, 20, 44, 37)(6, 22, 46, 35);

r := (1, 3, 8, 6)(2, 5, 7, 4)(9, 33, 25, 17) (10, 34, 26, 18)(11, 35, 27, 19);

(41 43 48 46)(42 45 47 44)(14 22 30 38) o := (41, 43, 48,46)(42, 45, 47, 44)(14, 22, 30, 38)

(15, 23, 31, 39)(16, 24, 32, 40);

(7)

Rubik’s Cube と群 Rubik s Cube と群

成 換群(

…

g, y, b, w, r, o

を生成元とする置換群(

48

次対 称群の部分群)としてルービックキューブ群 が定義できる。

有限群 有限群

数式処理で扱うことが可能 数式処理で扱うことが可能

(8)

GAP GAP

…

Groups, Algorithms, Programming

の頭文字

…

1986

年 アーヘン工科大学で開発スタート年 科 開

…

1997

年アーヘン工科大学からセントアンド リュース大学に拠点が移って現在に至る

リュ ス大学に拠点が移って現在に至る 計算群論 特 数式処

… 計算群論に特化した数式処理システム

… 位数

1024

を除いて

2000

までの有限群をデータ ライブラリとして持つ
(9)

ルービックキューブ群を定義する ル ビックキュ ブ群を定義する

換表 実

…

g, y, b, w, r, o

の置換表現を入力し、次を実行

するだけ

gap> cube := Group(g,y,b,w,r,o);

… 群の位数は次で求められる。

gap> Size(cube);

43252003274489856000

(10)

Rubik’s Cube に関する問題 Rubik s Cube に関する問題

ブ 解 表

… ルービックキューブの解法表示

† バラバラにした状態から元に戻す手順を求める

… 与えられた模様は実現できるか

… 一連の操作を何回繰り返すと元に戻るか

(11)

与えられた模様は実現できるか 与えられた模様は実現できるか

ビ クキ ブ群 おけ

…

ルービックキューブ群におけるメンバー シップ問題

gap> (8,19,25)(24,30,43) in cube;

true

gap> (8,19,25)(24,43,30) in cube;

false

(12)

何回繰り返すと元に戻るか 何回繰り返すと元に戻るか

ブ群 位数

… ルービックキューブ群における元の位数問題

† 例えば「黄→緑^-1→白^-1→青^-1」という一連の 操作だと何回で元に戻るか?

gap> Order(y*g^-1*w^-1*b^-1);

12

12

(13)

ルービックキューブの解法表示 ル ビックキュ ブの解法表示

ブ 態 換表

Input:

ルービックキューブの状態の置換表現

Output: p

戻す操作(

g, y, b, w, r, o g y

の積)

… 群の元を生成元の積で表す問題

… 群の元を生成元の積で表す問題

† GAPの組込関数GroupHomomorphismByImagesを用い

GetWordOfElementsという関数を定義して利用

GetWordOfElementsという関数を定義して利用

gap> p:=GetWordOfElements(cube ["g" "y" "b" "w" "r" "o"]

gap> p:=GetWordOfElements(cube,[ g , y , b , w , r , o ], (8,19,25)(24,30,43));

(14)

ルービックキューブの解法表示 ル ビックキュ ブの解法表示

g*r*w*g*w^-1*g^-1*r^-1*g^-1*b^-1*g^-1*o^-1*g*o*b*g^2*b

*g*b^-1*r*g^-1*r^-1*g*b*g^-1*b^-1*g*r^-1*b*r*b^-1*g gap> p^-1;

g^-1*b*r^-1*b^-1*r*g^-1*b*g*b^-1*g^-1*r*g*r^-1*b*g^-1*b^-1

*g^-2*b^-1*o^-1*g^-1*o*g*b*g*r*g*w*g^-1*w^-1*r^-1*g^-1 この操作を右側から順に行うと元に戻せる!

(15)

解法表示ソフトについて 解法表示ソフトについて

… マウスやペンでドラッグすることにより、回転・

移動・拡大が可能 移動 拡大が可能

… 各面の色のボタンをクリックすることにより、そ の色の面を反時計回りに

90

度回転

…

Reset

ボタンを押すことで、最初の状態に戻す

…

Send

ボタンを押すことで、現在のルービック

…

Send

ボタンを押すことで、現在のル ビック

キューブの状態

(

置換表現

)

GAP

に渡し、計算 を開始

…

Result

ボタンで

GAP

が計算した手順でルービック キューブの自動操作を実行
(16)

スクリーンショット

スクリ ンショット

(17)

実装方法 実装方法

…

GUI

† Java3Dを用いて作成

… 解法エンジン

… 解法エンジン

† GAPを利用

…

GUI

GAP

の通信

† 原始的なファイルのやりとりで実現

(18)

デモ

デモ

(19)

活用法 活用法

数 群論 授業

… 代数学の群論の授業

† 置換表現を求める

† Lagrangeの定理の理解を深める

… ジュニアサイエンス

子ども達に楽しんでもらう

† 子ども達に楽しんでもらう

† パズルの解法に数学が利用できることを体験

(20)

今後の課題 今後の課題

…

GAP

との通信に

OpenMath

OpenXM

を利用

…

LBL

法などの高速解法モードの追加法 解法

… マウスやペンによるキューブ操作の実現

キ ブの

20

個のピ スをバラバラにした状

… キューブの

20

個のピースをバラバラにした状 態からマウスやペンを使って様々な模様を作 成できるようにする

成できるようにする。

→その模様が実現可能かどうかを判定させる

Referensi

Dokumen terkait

À.最高裁判決の概要 1.法廷意見パート¿およびÀ―A 2.法廷意見パートÀ―B 3.法廷意見パートÁ 政府の代替的追加的主張は認められない 4.ソトマイヤー同意意見 5.アリトー意見 6.アリトー意見¿―A 7.アリトー意見¿―B Á.憲法学からの考察 1.第四修正とトレスパスの基本的な理解 2.ジョーンズ判決の法廷意見の射程をはかる

27 記入式インタビュー用紙 所属:長等商店街 氏名:B 氏 (お差支えの無い範囲でお答えください) 1.ホテル講がオープンしたことにより、商店街の利用者数や店舗の売り上げに変化はあり ましたか。 ない 2.ホテル講の取り組み(商店街ツアーの実施など)は商店街の人々の意欲や活力の上昇に 繋がっていると思いますか。 ない

B:総勘定元帳に転記された数字を集計して、合計試算表 と残高試算表という2種類の試算表を、その相違点を理解 しながら作成することができる。与えられた資料を適切に 使いながら、問題文の指示に従った試算表を作成すること ができる。 C:簿記独特の整理手法である仕訳の概念を理解し、収益 と費用・商品売買など基本的な取引について仕訳すること

図5−3 尾張徳川美術館 昭和6年にコンペを実施し、一等佐野時平案を基に建設、同9年に完成した。国の登録 以上を含め、帝冠様式建築は学者、評論家によって必ずしも一致していないが、大体共 表5−1 建設年次 設計手法(下段当選者) 文化財になっている。 通して帝冠様式と呼ばれている建築を整理してみると次表のようになる。 図 名称 神奈川県庁

ることとする.ところで神長(1984),沖田(1995),後藤(1996), 恩田(1998)など,数学史についての研究はみられるがそれを活 用した授業の実践例は多くない.そこで私は平成11年高等学校 学習指導要領の「図形と方程式」の単元のなかで目標として挙げ られている「座標と式を用いた処理の有用性」に注目した.とこ

IPSJ SIG Technical Report 反復を要しない射影変換の高精度解法 新 妻 弘 崇†1 プラサンナ・ランガラヤン†2 金 谷 健 一†1 2画像の対応点から射影変換を計算する高精度な解法を提案する.最尤推定に基づ く方法は理論的には最適であるが,反復を要するため誤差が大きいと収束しないこと