1 / 24

東京電機大学 理工学部 村田和也  松浦昭洋

ハノイグラフの生成と最短経路の導出. 東京電機大学 理工学部 村田和也  松浦昭洋. 2009/3/3 組合せゲーム・パズル ミニ研究集会(東工大). 目次. ハノイの塔 研究内容 ハノイグラフについて ダイクストラのアルゴリズム 実験結果 まとめと今後の課題. ハノイの塔. 1883 年、 E. Lucas によって考案された組合せゲーム. 柱 3 本、円盤数 n のとき、最小移動回数は 2 n – 1. k=4 のとき、 1907 年の Dudeney 以来考察されている. しかし、 k > 4 のとき、最小解は未だ解明されていない.

Download Presentation

東京電機大学 理工学部 村田和也  松浦昭洋

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ハノイグラフの生成と最短経路の導出 東京電機大学 理工学部 村田和也  松浦昭洋 2009/3/3 組合せゲーム・パズル ミニ研究集会(東工大)

  2. 目次 • ハノイの塔 • 研究内容 • ハノイグラフについて • ダイクストラのアルゴリズム • 実験結果 • まとめと今後の課題

  3. ハノイの塔 • 1883年、E. Lucasによって考案された組合せゲーム • 柱3本、円盤数nのとき、最小移動回数は2n– 1

  4. k=4のとき、1907年のDudeney以来考察されている しかし、k>4のとき、最小解は未だ解明されていない k本ハノイの塔 ・ 最良の上界: [Frame, 1941], [Stewart, 1941] ・ 最良の下界: [Chen, 2004]

  5. 研究内容 k本ハノイの塔問題に対してグラフを用いたモデル化を行う グラフを利用してプログラム上で最小移動回数の実験的な導出を行う

  6. 状態の符号化 1 (7, 0, 0) 7 2 4 ○ (6, 0, 1) (6, 1, 0) ○ ○ ハノイグラフ 全円盤の配置された状態を頂点とし、 遷移しうる状態間に辺を引いた(無向)グラフ

  7. (Wolfram, MathWorldより) ハノイグラフ(柱3本) • 円盤数 n = 1, 2, 3, 4,・・・のとき、 → チェルピンスキーの三角形に収束

  8. 一般のk本ハノイの塔に対して、ハノイグラフの生成法を示す一般のk本ハノイの塔に対して、ハノイグラフの生成法を示す ハノイグラフ(柱4本以上) M.-K. Lee, “The graph for the Tower of Hanoi with four pegs”, Pythagoras, Vol. 57, pp. 27-31, 2003. 課題 ・ 円盤数nに対する一般的な生成法が示されておらず,  柱の数4本以上のハノイグラフの生成法も未知

  9. k=4のときのハノイグラフの生成法 (0,0,0,0) (1,0,0,0) (0,0,0,0) (0,0,0,1) (0,0,0,0) (0,0,0,0) (0,1,0,0) (0,0,0,0) (0,0,1,0)

  10. (1,0,0,0) (3,0,0,0) (2,0,0,1) (0,0,0,1) (1,0,0,0) (1,0,0,2) (0,0,0,1) (0,0,0,3) (2,1,0,0) (0,1,0,0) (0,0,1,0) (2,0,1,0) (0,1,0,0) (0,1,0,2) (0,0,1,2) (0,0,1,0) + (2,0,0,0) + (0,0,0,2) + (0,2,0,0) + (0,0,2,0) (0,0,0,1) (0,0,2,1) (1,0,2,0) (1,0,0,0) (1,2,0,0) (1,0,0,0) (0,2,0,1) (0,0,0,1) (0,1,2,0) (0,1,0,0) (0,0,1,0) (0,0,3,0) (0,1,0,0) (0,3,0,0) (0,0,1,0) (0,2,1,0)

  11. (15,0,0,0) (8,0,0,7) (7,0,0,8) (0,0,0,15) (0,0,1,14) (8,1,0,6) (8,0,1,6) ・・・ ・・・ ・・・ (8,7,0,8) (8,6,1,0) (8,0,7,0) (0,7,0,8) (0,6,1,8) (0,0,7,8) ・・・ ・・・ (7,8,0,0) (0,8,0,7) (7,0,8,0) (0,0,8,7) (0,8,1,6) (0,1,8,6) (0,0,9,6) ・・・ ・・・ ・・・ (0,0,15,0) (0,15,0,0) (0,8,7,0) (0,7,8,0)

  12. (1,0,0,・・・,0) (0,0,・・・,0,1) (0,1,0,・・・,0) (0,0,・・・,1,0) (0,0,1,・・・,0) k本ハノイグラフ (1)円盤数 n=1 H1 = Kk

  13. (3,0,0,・・・,0) (1,0,0,・・・,0) (2) n=2 (2,0,・・・,0,1) (0,0,・・・,0,1) (2,1,0,・・・,0) (0,1,0,・・・,0) (2,0,・・・,1,0) (0,0,・・・,1,0) +(2,0,0,・・・,0) (2,0,1,・・・,0) (0,0,1,・・・,0) (1,0,0,・・・,2) (1,0,0,・・・,0) (0,0,・・・,0,3) (0,0,・・・,0,1) (0,1,0,・・・,2) (0,1,0,・・・,0) (1,2,0,・・・,0) (1,0,0,・・・,0) (0,0,・・・,1,2) (0,0,・・・,1,0) +(0,0,・・・,0,2) (0,3,0,・・・,0) (0,1,0,・・・,0) (0,0,1,・・・,2) (0,0,1,・・・,0) (0,2,・・・,0,1) (0,0,・・・,0,1) (0,2,・・・,1,0) (0,0,・・・,1,0) (0,2,1,・・・,0) (0,0,1,・・・,0) +(0,2,0,・・・,0) (1,0,2,・・・,0) (1,0,0,・・・,0) (0,0,・・・,0,1) (0,0,・・・,0,1) (0,1,2,・・・,0) (0,1,0,・・・,0) (0,0,・・・,1,0) (0,0,・・・,1,0) (0,0,3,・・・,0) (0,0,1,・・・,0) +(0,0,2,・・・,0) H2

  14. (n) n円盤 k本 n-1枚 ・・・ +(2n-1,0,・・・,0,0) +(0,0,・・・,0,2n-1) +(0,2n-1,・・・,0,0) 辺が存在する条件は? +(0,0,2n-1,・・・,0) Hn-1,1 Hn-1,2 Hn-1, i1内の頂点  Hn-1,k ai1,i2,・・・,in a3,1,・・・,in ai1,i2,・・・,in a3,i2,・・・,in aj1,j2,・・・,jn Hn Hn-1,3

  15. (1) i1=j1のとき,それらがHn-1で辺をもつ (2) i1≠j1のとき, i1{ i2, i3, ・・・,in} かつ j1{ j2, j3, ・・・,jn} かつ i2 = j2, ・・・, in = jn ハノイグラフHnに関する定理    定理: 点 ai1,i2,・・・,in と aj1,j2,・・・,jn の間に辺が存在

  16. i1 j1 i1{ i2, i3, ・・・,in} j1{ j2, j3, ・・・,jn} i2 = j2, ・・・, in = jn 定理の略証 i1 j1 ai1,i2,・・・,in aj1,j2,・・・,jn

  17. (7,0,0) (6,0,1) (6,1,0) ・・・ ・・・ (1,0,6) (0,7,0) (0,0,7) (0,1,6) ・・・ ダイクストラのアルゴリズムを適用 ハノイの塔の最小手数=ハノイグラフの最短経路

  18. ダイクストラのアルゴリズム   グラフ上の二点間の最短距離を求める アルゴリズム S1 S3 1 基準点 4 (5) 3 6 (9) 3 (4) S2 ( )内の数字 ・・・ 基準点からの距離

  19. 4本ハノイグラフにおける最短手数の導出結果4本ハノイグラフにおける最短手数の導出結果 円盤枚数 n 4 5 6 7 8 9 10 移動回数 9 13 17 25 33 41 - 処理時間[s] 0 0.015 0.14 2.6 77 1696 - (CPU:2.01GHz メモリ:1.21GB OS:Microsoft WindowsXP SP3) 実験結果

  20. 4本ハノイの処理時間 1696 77 0 0 0 2.6 0 0.14 0 0.015

  21. 柱5本の場合 5本ハノイグラフにおける最短手数の導出結果 (CPU:2.01GHz メモリ:1.21GB OS:Microsoft WindowsXP SP3)

  22. 5本ハノイの処理時間 100150 3756 0 0 0 0 2.2 0 0.083 143

  23. まとめ ○一般的なk本ハノイについてハノイグラフの生成法を示した ○最短経路導出のプログラムを実装し,   柱4本と5本のハノイの塔について,n < 9 での最短経路を導出した

  24.   ○ハノイグラフの最短経路を理論的に導    出する   ○最短経路導出のアルゴリズムや測定    環境の改善を行い、導出にかかる時間    を短縮する 今後の課題

More Related