1 / 27

情報とコンピュータ

情報とコンピュータ. 静岡大学工学部 安藤和敏. 2006.01.30. 11章 プログラム実行時間. 計算容易な問題と計算困難な問題. 検索. 体重. 名前. 身長. 1 2 3 4 5 6. 1 2 3 4 5 6. 1 2 3 4 5 6. 120 131 166 140 131 162. John Jones Sue Black Bill Smith Frak Doe Jean White Nacy Blike. 67 67 73 68 67 71. 検索. コンピュータ.

tobias
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. 情報とコンピュータ 静岡大学工学部 安藤和敏 2006.01.30

  2. 11章 プログラム実行時間 計算容易な問題と計算困難な問題

  3. 検索 体重 名前 身長 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 120 131 166 140 131 162 John Jones Sue Black Bill Smith Frak Doe Jean White Nacy Blike 67 67 73 68 67 71

  4. 検索 コンピュータ 目標の身長を与えよ. ユーザ 67 目標の体重を与えよ. コンピュータ ユーザ 131 目標の身長・体重の人は以下の通り. Sue Black Jean White 検索終了 コンピュータ こんなことをやってくれるプログラムを考える.

  5. 検索プログラムの実行時間

  6. 検索プログラムの実行時間

  7. 先週やったクイックソートの実行時間

  8. 先週やったクイックソートの実行時間

  9. 検索とソートの時間の比較

  10. ハノイの塔のプログラムの実行時間

  11. ハノイの塔のプログラムの実行時間

  12. ハノイの塔のプログラムの実行時間

  13. ハノイの塔と検索とソートの時間の比較

  14. ハノイの塔のプログラムの実行時間

  15. ハノイの塔のプログラムの実行時間

  16. 巡回セールスマン問題 A 42 B 23 20 24 C 39 40 46 33 29 44 D 22 55 56 49 F E 11 Aから出発して全ての都市を1回ずつ訪れて,Aに戻ってくる道筋の中で最短のものは?

  17. 巡回セールスマン問題 A 42 B 23 20 24 C 39 40 46 33 29 44 D 22 55 56 49 F E 11 ABCDEFA という道筋の距離は,197

  18. 巡回セールスマン問題 上の5つの道筋の中で最短のものは,190である. しかし,もっと短い道筋もあるかも知れない. 道筋の数は,全部で60個ある.

  19. 巡回セールスマン問題に対する素朴なアルゴリズム巡回セールスマン問題に対する素朴なアルゴリズム • 全ての可能な道筋を考える. • それらの道筋の距離を計算する. • 最短の距離を持つ道筋を出力する.

  20. 道筋の数(都市が6個のとき) 5×4×3×2×1=5! BCDEFとFEDCBは同じ道筋と考えられるから,同じものを考えないようにすれば, BCDEFの順列の数 道筋の数=5!/2

  21. 道筋の数(都市がn個のとき) 都市の数が6個のときと同じ考えかたで, 道筋の数=(n-1)!/2

  22. (n-1)!/2はどれくらい大きいか?

  23. 50都市の場合の計算時間 仮にコンピュータが1億分の1秒(=10-8秒)で1つの道筋の距離を調べることができると仮定すると, 3.04×1062個の道筋(50都市)の全てを調べ終わるまでに, 3.04×1054秒かかる. 3.04×1054秒=9.64×1054年 (ちなみに,ビッグバンから現在まで,3.15×1017秒(=100億年)くらいしか経過していない.)

  24. もっといい方法はないのか? • 1つの都市を無作為に選ぶ. • 現在いる都市から最も近いところにある,まだ訪れていない都市を選択する.まだ,訪れていない都市が残っている限り,このステップを繰り返す. • 最後に訪れた都市と最初に訪れた都市とを結ぶ. このアルゴリズムは速いが,最短の道筋を見つけ出せない.

  25. 巡回セールスマン問題 A 42 B 23 20 24 C 39 40 46 33 29 44 D 22 55 56 49 F E 11 ADCBEFA という道筋の距離は,173

  26. この道筋の方が短い A 42 B 23 20 24 C 39 40 46 33 29 44 D 22 55 56 49 F E 11 ADBCEFA という道筋の距離は,162

  27. いい方法はないのか? 現在までのところ誰も「いい方法」を思いついていない. もしも,そんな「いい方法」が発見すれば,一大ニュースになるくらいこれは重要な問題である. たぶん,そんな「いい方法」なんて存在しないだろうとみんな思っているのであるが,「いい方法」が存在しないということも証明されていない.

More Related