できる!遺伝的アルゴリズム

46,124 views

Published on

オープンソースカンファレンス 2009 Hokkaido with LDD での遺伝的アルゴリズムの説明です。

Published in: Technology
  • うー,,遺伝子概念が必要なのだが....
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

できる!遺伝的アルゴリズム

  1. 1. できる! 遺伝的 アルゴリズム CLR/H  前鼻 毅
  2. 2. 自己紹介 ・前鼻 毅(まえはな つよし) ・ふつうの 基幹系 SE 兼 PM ・ 文系 大学出身 ・大体 スープカレー で出来ている ・ 数学ガール いいよね! twitter:sandinist , mixi:mae
  3. 3. 自己紹介 ・ C# 使ってます。 ・ CLR/H ・関数型言語勉強会 ・数学勉強会 とかによく行ってます。 質問は twitter:@sandinist
  4. 4. 概要 ・遺伝的アルゴリズムについて、   知識のない方を対象 に説明します。 ・遺伝的アルゴリズムを   実装例を元に解説 します。
  5. 5. 遺伝的アルゴリズムは ・ どんな もの? ・何に使える? ・ どうやって いるの? ・どこまでできるのか?
  6. 6. 目的 ・遺伝的アルゴリズムが   どんなものか 分かる
  7. 7. 目的 Ex Ex. 遺伝的アルゴリズムを   実装できそう だと思う
  8. 8. 遺伝的 アルゴリズム http://www.flickr.com/photos/fmc550uz/3446971252
  9. 9. そのまえに…
  10. 10. アルゴリズムとは <ul><li>・問題を解くための </li></ul><ul><li>  効率的手順 を </li></ul><ul><li> 定式化した形で表現したもの </li></ul><ul><li>例 </li></ul><ul><li> 数列から </li></ul><ul><li> 最大の数を見つけるアルゴリズム </li></ul>
  11. 11. 遺伝的アルゴリズム <ul><li>・遺伝的アルゴリズム </li></ul><ul><li>・ Genetic Algorithm </li></ul><ul><li>・ GA </li></ul><ul><li>1975 年 にミシガン大学の </li></ul><ul><li>ジョン・ H ・ホランド( John Henry Holland ) </li></ul><ul><li>によって提案 </li></ul>
  12. 12. どんなもの? <ul><li>遺伝的アルゴリズムは、 </li></ul><ul><li> 生物の遺伝の仕組みを </li></ul><ul><li> 模倣 した 学習的 な手順である。 </li></ul><ul><li>  </li></ul>
  13. 13. 生物の遺伝の仕組み <ul><li>・メンデルの遺伝の法則 </li></ul><ul><li>・ダーウィンの進化論 </li></ul>
  14. 14. メンデルの遺伝の法則 ①
  15. 15. メンデルの遺伝の法則 ① ②
  16. 16. メンデルの遺伝の法則 ② ③
  17. 17. メンデルの遺伝の法則 ② ③
  18. 18. 表現型と遺伝子型 表現型 Pheno Type 遺伝子型 Geno Type
  19. 19. ダーウィンの進化論
  20. 20. ダーウィンの進化論
  21. 21. ダーウィンの進化論
  22. 22. 適者生存 不適応 適応
  23. 23. 遺伝的アルゴリズムと 生物の進化 <ul><li>・各個体が、 環境への適応度 を持つ。 </li></ul><ul><li>・各個体は 遺伝子 を持つ。 </li></ul>表現型 遺伝子型 不適応 適応
  24. 24. 遺伝的アルゴリズムと 生物の進化 <ul><li>・適応度が高い個体は 生き残る 。 </li></ul><ul><li>・適応度が高い遺伝子は </li></ul><ul><li> 次世代 に受け継がれる。 </li></ul>表現型 遺伝子型 不適応 適応
  25. 25. <ul><li>Panta rhei.- Hērakleitos </li></ul>万物は流転する - ヘラクレイトス
  26. 26. どんなもの? <ul><li>遺伝的アルゴリズムは、 </li></ul><ul><li> 生物の遺伝の仕組みを </li></ul><ul><li> 模倣 した 学習的 な手順である。 </li></ul><ul><li>  </li></ul>
  27. 27. 何に使える? <ul><li>遺伝的アルゴリズムは、 </li></ul><ul><li> 適用範囲の 広い </li></ul><ul><li>  最適化 手法である。 </li></ul><ul><li>  </li></ul>
  28. 28. 例えば? <ul><li>・ ナップサック 問題 </li></ul><ul><li>・ハミルトン閉路問題 </li></ul><ul><li>・ 巡回セールスマン 問題 </li></ul><ul><li>・施設配置問題 </li></ul><ul><li>・最小極大マッチング問題 </li></ul><ul><li>・ ビンパッキング 問題 </li></ul><ul><li>・一般化割当問題 </li></ul>
  29. 29. 巡回セールスマン問題 <ul><li>・巡回セールスマン問題 </li></ul><ul><li>・ Traveling Salesman Problem </li></ul><ul><li>・ TSP </li></ul><ul><li>N 個の都市すべてを回って </li></ul><ul><li>最初の都市に戻る 巡回路 のうち、 </li></ul><ul><li>最小の距離 の順路は? </li></ul>
  30. 30. まずは見てみよう
  31. 31. Genetic Algorithm Demo
  32. 32. 遺伝的アルゴリズム <ul><li>・生物の遺伝の仕組みを </li></ul><ul><li>  模倣 した 学習的 な手順である。 </li></ul><ul><li>・適用範囲の 広い </li></ul><ul><li>  最適化手法 である。 </li></ul>
  33. 33. どうやっているの? 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了
  34. 34. 巡回セールスマンで考えよう 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了
  35. 35. 巡回セールスマンで考えよう <ul><li>5 つの都市を回る場合、 </li></ul><ul><li>5×4×3×2×1 通りの組合せがあります。 </li></ul><ul><li>逆順があるので 1/2 になり 60 通りです。 </li></ul>
  36. 36. 巡回セールスマンで考えよう <ul><li>この問題を遺伝的アルゴリズムの </li></ul><ul><li>手順で評価してみましょう。 </li></ul>
  37. 37. 巡回セールスマンで考えよう <ul><li>都市に番号を振りました。 </li></ul><ul><li>今回は①②⑤④③が最適な経路とします。 </li></ul><ul><li>まずは初期集団をつくります。 </li></ul>② ① ③ ④ ⑤
  38. 38. 巡回セールスマンで考えよう 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了
  39. 39. 初期集団 <ul><li>初期集団をつくります。 </li></ul><ul><li>今回は個体を 3 つ用意します。 </li></ul><ul><li>一人目は①②③④⑤ </li></ul><ul><li>二人目は①⑤②④③ </li></ul><ul><li>三人目は①②⑤③④ </li></ul>
  40. 40. 巡回セールスマンで考えよう <ul><li>一人目 ①②③④⑤ </li></ul><ul><li>二人目 ①⑤②④③ </li></ul><ul><li>三人目 ①②⑤③④ </li></ul>② ① ③ ④ ⑤
  41. 41. 初期集団 <ul><li>それぞれの経路を遺伝子化します。 </li></ul><ul><li>一人目は①②③④⑤ -> 00000 </li></ul><ul><li>二人目は①⑤②④③ -> 03010 </li></ul><ul><li>三人目は①②⑤③④ -> 00200 </li></ul>
  42. 42. 初期集団 <ul><li>2 人目を例に解説します </li></ul><ul><li>①⑤②④③ -> 03010 </li></ul><ul><li>①②③④⑤ という元々の順序に対して </li></ul><ul><li>①⑤②④③ という順番で取り出す、 </li></ul><ul><li>と考えます。 </li></ul>
  43. 43. 初期集団 <ul><li>①⑤②④③ -> 03010 </li></ul><ul><li>①②③④⑤   を </li></ul><ul><li>01234 という順番で見ます。 </li></ul><ul><li>まずは①を取り出すので順番は「 0 」 </li></ul><ul><li>と考えます。 </li></ul>
  44. 44. 初期集団 <ul><li>①⑤②④③ -> 03010 </li></ul><ul><li>先ほど 0 番目を取り出したので、 </li></ul><ul><li>残りは </li></ul><ul><li>②③④⑤   となり、これも </li></ul><ul><li>0123 という順番で見ます。 </li></ul>
  45. 45. 初期集団 <ul><li>①⑤②④③ -> 03010 </li></ul><ul><li>次は </li></ul><ul><li>②③④⑤   </li></ul><ul><li>0123 から⑤を取り出すので </li></ul><ul><li>順番は「 3 」となります。 </li></ul><ul><li>これで「 0 」、「 3 」と </li></ul><ul><li>取出したことになります。 </li></ul>
  46. 46. 初期集団 <ul><li>①⑤②④③ -> 03010 </li></ul><ul><li>⑤ を取り出したので、残りは </li></ul><ul><li>②③④   </li></ul><ul><li>012 です。 </li></ul><ul><li>同様に②の「 0 」を取り出します。 </li></ul><ul><li>これで「 0 」、「 3 」、「 0 」と </li></ul><ul><li>取出したことになります。 </li></ul>
  47. 47. 初期集団 <ul><li>①⑤②④③ -> 03010 </li></ul><ul><li>② を取り出したので、残りは </li></ul><ul><li>③④   </li></ul><ul><li>01 です。 </li></ul><ul><li>更に同様に④の「 1 」を取り出します。 </li></ul><ul><li>これで「 0 」、「 3 」、「 0 」、「 1 」 </li></ul><ul><li>となりました。 </li></ul>
  48. 48. 初期集団 <ul><li>①⑤②④③ -> 03010 </li></ul><ul><li>④ を取り出したので、残りは </li></ul><ul><li>③   </li></ul><ul><li>0 だけです。 </li></ul><ul><li>最後は「 0 」を取り出し、 </li></ul><ul><li>「 0 」、「 3 」、「 0 」、「 1 」、「 0 」 </li></ul><ul><li>が完成しました。 </li></ul>
  49. 49. 初期集団 <ul><li>一人目は①②③④⑤ -> 00000 </li></ul><ul><li>二人目は①⑤②④③ -> 03010 </li></ul><ul><li>三人目は①②⑤③④ -> 00200 </li></ul><ul><li>何故このように変換するかというと、 </li></ul><ul><li>後にある交叉や変異の処理が </li></ul><ul><li>簡単になるからです。 </li></ul><ul><li>これで初期集団の完成です。 </li></ul>
  50. 50. 巡回セールスマンで考えよう 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了
  51. 51. 評価 <ul><li>次にそれぞれの個体の評価を行います。 </li></ul><ul><li>巡回セールスマン問題では、総距離が短いものが高評価->適応度が高い、となります。 </li></ul>② ① ③ ④ ⑤
  52. 52. 評価 <ul><li>一人目①②③④⑤ -> 115km </li></ul><ul><li>二人目①⑤②④③ -> 105km </li></ul><ul><li>三人目①②⑤③④ -> 110km  とします。 </li></ul>② ① ③ ④ ⑤
  53. 53. 評価 <ul><li>一人目 00000 -> 115km </li></ul><ul><li>二人目 03010 -> 105km </li></ul><ul><li>三人目 00200 -> 110km   </li></ul><ul><li>としたので、 </li></ul><ul><li>2 人目が最も 適応度が高い個体 </li></ul><ul><li>であることがわかりました。 </li></ul>
  54. 54. Genetic Algorithm http://www.flickr.com/photos/viamoi/3439951085
  55. 55. 選択・交叉 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了
  56. 56. 選択・交叉 <ul><li>ここから先は 遺伝子型 に対する操作です。 </li></ul><ul><li>一人目 00000 -> 115km </li></ul><ul><li>二人目 03010 -> 105km </li></ul><ul><li>三人目 00200 -> 110km   </li></ul><ul><li>上記評価の結果から、 </li></ul><ul><li>親選び を行うのが 選択 。 </li></ul><ul><li>選んだ親から 次の世代(子ども)を </li></ul><ul><li>作るのが 交叉 です。 </li></ul>
  57. 57. 選択 <ul><li>一人目 00000 -> 115km </li></ul><ul><li>二人目 03010 -> 105km </li></ul><ul><li>三人目 00200 -> 110km   </li></ul><ul><li>親が 3 人なので子も 3 人作ります。 </li></ul><ul><li>二人目が 一番優秀 なので </li></ul><ul><li>優先的 に親に選ばれます。 </li></ul>
  58. 58. 選択 <ul><li>選択 には適応度に応じた確率で、 </li></ul><ul><li>選ばれる ルーレット方式 。 </li></ul><ul><li>適応度を元に一定の割合で確率を割り当てていく ランキング方式 。 </li></ul><ul><li>全体の集合から一部を抜き出して、その中から適応度の高い個体を選ぶ </li></ul><ul><li>トーナメント方式 などがあります。 </li></ul>
  59. 59. 選択 <ul><li>一人目 00000 -> 115km </li></ul><ul><li>二人目 03010 -> 105km </li></ul><ul><li>三人目 00200 -> 110km   </li></ul><ul><li>例としてルーレットを説明します。 </li></ul><ul><li>長さが短い方が優秀なので </li></ul><ul><li>逆数 をとります。 </li></ul>
  60. 60. 選択 <ul><li>一人目 00000 -> 115km -> 1/115*100 -> 0.87 </li></ul><ul><li>二人目 03010 -> 105km -> </li></ul><ul><li>  1/105*100 -> 0.95 </li></ul><ul><li>三人目 00200 -> 110km ->   </li></ul><ul><li>  1/110*100 -> 0.91 </li></ul>
  61. 61. 選択 <ul><li>一人目 00000 -> 115km -> 0.87 </li></ul><ul><li>二人目 03010 -> 105km -> 0.95 </li></ul><ul><li>三人目 00200 -> 110km -> 0.91 </li></ul><ul><li>合計が 0.87+0.95+0.91= 2.73 </li></ul><ul><li>となり、それぞれが選ばれる確率は </li></ul>
  62. 62. 選択 <ul><li>一人目 00000 -> 0.87/ 2.73 = 31.9% </li></ul><ul><li>二人目 03010 -> 0.95/ 2.73 = 34.8% </li></ul><ul><li>三人目 00200 -> 0.91/ 2.73 = 33.3% </li></ul><ul><li>となり、ルーレット方式ではほとんど </li></ul><ul><li>同確率で選ばれることとなります。 </li></ul>
  63. 63. 選択 <ul><li>一人目 00000 -> 115km -> 2 位 </li></ul><ul><li>二人目 03010 -> 105km -> 1 位 </li></ul><ul><li>三人目 00200 -> 110km -> 3 位 </li></ul><ul><li>ランキング形式ですと、 </li></ul><ul><li>1 位-> 50% , 2 位-> 30% , 3 位-> 20% </li></ul><ul><li>などのように固定の確立とするので </li></ul><ul><li>この例ですとルーレットに比べて、 </li></ul><ul><li>差が顕著に出ます。 </li></ul>
  64. 64. 選択 <ul><li>ルーレット </li></ul><ul><li>一人目 00000 -> 31.9% </li></ul><ul><li>二人目 03010 -> 34.8% </li></ul><ul><li>三人目 00200 -> 33.3% </li></ul><ul><li>ランキング例 </li></ul><ul><li>一人目 00000 -> 20% </li></ul><ul><li>二人目 03010 -> 50% </li></ul><ul><li>三人目 00200 -> 30% </li></ul>
  65. 65. 選択 <ul><li>一人目 00000 -> 115km </li></ul><ul><li>二人目 03010 -> 105km </li></ul><ul><li>三人目 00200 -> 110km   </li></ul><ul><li>例として、 </li></ul><ul><li>二人目と三人目から子供を作ります。 </li></ul><ul><li>二人目と三人目が 選択 </li></ul><ul><li>されたことになります。 </li></ul>
  66. 66. 交叉 <ul><li>次が交叉です。 </li></ul><ul><li>二人目 03010 </li></ul><ul><li>三人目 00200 </li></ul><ul><li>から子供を作ります。 </li></ul><ul><li>交叉にも種類がいくつかあり </li></ul><ul><li>一様交叉、一点交叉、二点交叉 などがあります。 </li></ul>
  67. 67. 交叉 <ul><li>一様交叉 の場合、交叉するように </li></ul><ul><li>フィルタのようなものを作ります。 </li></ul><ul><li>フィルタを 01101 と置くと、 </li></ul><ul><li>0 30 1 0 と 0 02 0 0 の赤字部分。 </li></ul><ul><li>0 11 0 1 のうち 1 になっている部分を </li></ul><ul><li>交換します。 </li></ul><ul><li>結果は 0 02 1 0 と 0 30 0 0 になります。 </li></ul>
  68. 68. 交叉 <ul><li>一点交叉 は任意の一点を決め、 </li></ul><ul><li>それ以降を入れ替えます。 </li></ul><ul><li>例えば 4 番目を選ぶと </li></ul><ul><li>030 10 と 002 00 の赤字部分を </li></ul><ul><li>入れ替え 030 00 と 002 10 となります。 </li></ul>
  69. 69. 交叉 <ul><li>二点交叉 は任意の二点を決め、 </li></ul><ul><li>その間を入れ替えます。 </li></ul><ul><li>例えば 2 と 4 番目を選ぶと </li></ul><ul><li>0 301 0 と 0 020 0 の赤字部分を </li></ul><ul><li>入れ替え 0 020 0 と 0 301 0 となります。 </li></ul>
  70. 70. 選択・交叉 <ul><li>一様交叉の 2 つと、一点交叉の一つ目を子供として次世代に残します。 </li></ul><ul><li>0 02 1 0 </li></ul><ul><li>0 30 0 0 </li></ul><ul><li>030 00 </li></ul><ul><li>が 2 世代目として生まれました。 </li></ul>
  71. 71. 巡回セールスマンで考えよう 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了
  72. 72. 変異 <ul><li>変異は生まれた次世代に対して、 </li></ul><ul><li>親から引き継がれる以外の特徴を </li></ul><ul><li>持つことができます。 </li></ul><ul><li>一定の確率で遺伝子を変異させます。 </li></ul>
  73. 73. 変異 <ul><li>変異率を 5% とすると。 </li></ul><ul><li>00210 </li></ul><ul><li>03000 </li></ul><ul><li>03000 </li></ul><ul><li>遺伝子は全部で 15 要素あるので </li></ul><ul><li>変異する確率は 5 * 15/100 = 0.75 で </li></ul><ul><li>一つ変異するかどうか、 </li></ul><ul><li>といった確率となります。 </li></ul>
  74. 74. 変異 <ul><li>ここでは、遺伝子が一つだけ </li></ul><ul><li>突然変異を起こしたとします。 </li></ul><ul><li>00210 </li></ul><ul><li>03000 </li></ul><ul><li>030 1 0 </li></ul><ul><li>これで 2 世代目ができあがりました。 </li></ul>
  75. 75. 巡回セールスマンで考えよう 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了
  76. 76. 評価・終了 <ul><li>2 世代目の評価を行います。 </li></ul><ul><li>遺伝子型 から 表現型 に帰ってきました。 </li></ul><ul><li>00210 -> ①②⑤④③ </li></ul><ul><li>03000 -> ①⑤②③④ </li></ul><ul><li>03010 -> ①⑤②④③ </li></ul><ul><li>がそれぞれの順番となります。 </li></ul>
  77. 77. 評価・終了 <ul><li>一人目 ①②⑤④③ </li></ul><ul><li>二人目 ①⑤②③④ </li></ul><ul><li>三人目 ①⑤②④③ です。 </li></ul>② ① ③ ④ ⑤
  78. 78. 評価・終了 <ul><li>一人目 ①②⑤④③ が </li></ul><ul><li>最適経路を通ることができました。 </li></ul>② ① ③ ④ ⑤
  79. 79. 評価・終了 <ul><li>よって遺伝子型では 00210 </li></ul><ul><li>表現型では ①②⑤④③ が </li></ul><ul><li>最適解となります。 </li></ul>② ① ③ ④ ⑤
  80. 80. 巡回セールスマンで考えよう 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了 ■ ハルモス符号
  81. 81. よくわからない… だと?
  82. 82. よろしい、ならば デモだ!
  83. 83. Genetic Algorithm Demo http:// www.flickr.com/photos/leniners/2284977041 @ C# 3.0
  84. 84. 遺伝的アルゴリズム <ul><li>・生物の遺伝の仕組みを </li></ul><ul><li>  模倣 した 学習的 な手順である。 </li></ul><ul><li>・適用範囲の 広い </li></ul><ul><li>  最適化手法 である。 </li></ul>
  85. 85. どこまでできるのか? <ul><li>・生物の遺伝の仕組みを </li></ul><ul><li>  模倣 した 学習的 な手順である。 </li></ul><ul><li>・適用範囲の 広い </li></ul><ul><li>  最適化手法 である。 </li></ul>
  86. 86. 三度、巡回セールスマン <ul><li>巡回セールスマンは計算量が </li></ul><ul><li>とても多い問題です。 </li></ul><ul><li>訪問先が 32 ヵ所あった場合に、 </li></ul><ul><li>もし全件の探索を行ったとすると、 </li></ul><ul><li>どのくらいの計算量になるのか? </li></ul>計算量については下記ページの内容を引用しています。 http://www.infonet.co.jp/ueyama/ip/software/tsp.html
  87. 87. 訪問先 32 ヵ所 <ul><li>前提として既に1軒目にいるとして </li></ul><ul><li>31!/2 通りの組合せとなります。 31!= (31 × 30 × 29 × …… × 4 × 3 × 2 × 1)/2 </li></ul><ul><li>≒ 4.11 × 10 33 通りとなる。 </li></ul>
  88. 88. 4.11 × 10 33 通り <ul><li>1秒間に1兆回 計算可能な </li></ul><ul><li>スーパーコンピュータ があるとする 。 </li></ul><ul><li>1秒間に 1兆回 ( 10 12 回 ) </li></ul><ul><li>よって、 </li></ul><ul><li>4.11 × 10 33 回の計算をするには </li></ul><ul><li>4.11 × 10 21 秒が必要となる。 </li></ul>
  89. 89. 4.11 × 10 21 秒 <ul><li>1年は、 </li></ul><ul><li>約 60 × 60 × 24 × 365 </li></ul><ul><li>=31 , 536 , 000≒ 3.15 × 10 7 秒 </li></ul><ul><li>よって、 4.11 × 10 21 秒を </li></ul><ul><li>1年≒ 3.15 × 10 7 秒で割ると、 </li></ul><ul><li>1.3 × 10 14 年。 </li></ul><ul><li>すなわち、 130 兆年 かかります。 </li></ul>
  90. 90. 一三〇〇〇〇〇〇〇〇〇〇〇〇〇年 に挑む!
  91. 91. Genetic Algorithm http://www.flickr.com_photos_43052603@N00_3391952890.jpg
  92. 92. 遺伝的アルゴリズム・一幕 <ul><li>このように、全組合せを評価すると、 </li></ul><ul><li>とても時間がかかる問題でも、 </li></ul><ul><li>短時間にある程度高い精度を持って </li></ul><ul><li>解を求めることが可能です。 </li></ul>
  93. 93. 遺伝的アルゴリズム・一幕 <ul><li>ただし、今回のデモにおいても、 </li></ul><ul><li>単純な選択・交叉・変異の処理だけでは </li></ul><ul><li>うまく収束しない場合が多く、 </li></ul><ul><li>変異時に2点交換を行うなど </li></ul><ul><li>多少の調整を行っています。 </li></ul>
  94. 94. 遺伝的アルゴリズム・一幕 <ul><li>実際に用いる場合には、 </li></ul><ul><li>該当の問題領域においての </li></ul><ul><li>調整や応用が必要となります。 </li></ul><ul><li>他にも他の最適化手法と組合せて </li></ul><ul><li>アルゴリズムを強化するなどの </li></ul><ul><li>手段があります。 </li></ul>
  95. 95. 遺伝的アルゴリズム・一幕 <ul><li>応用例は論文などでも </li></ul><ul><li>多く公開されていますので、 </li></ul><ul><li>更に効率の良い例などを見つけて、 </li></ul><ul><li>実装してみるのも面白いかもしれません。 </li></ul>
  96. 96. 最後に…
  97. 97. 僕らが旅に出る理由
  98. 98. 遺伝的アルゴリズム <ul><li>・生物の遺伝の仕組みを </li></ul><ul><li>  模倣 した 学習的 な手順である。 </li></ul><ul><li>・適用範囲の 広い </li></ul><ul><li>  最適化手法 である。 </li></ul>
  99. 99. <ul><li>Science advances funeral by funeral. </li></ul><ul><li>- Max Karl Ernst Ludwig Planck </li></ul>科学は葬儀を重ねて進歩する - マックス・プランク

×