2015年1月25日日曜日

遺伝的アルゴリズムでカブロボ制作② 評価関数の設計その1

今回は遺伝的アルゴリズムの肝でもある評価関数を設計しようと思います。
ひょっと複雑になりそうなので、前半後半の2つに分けて整理しながら作っていきます。

遺伝的アルゴリズムでカブロボ制作① 遺伝子の設計

いよいよ遺伝的アルゴリズムでカブロボを作り始めたのですが、
一気につくろうと思うと気が遠くなるとおもいましたので、小分けにしてしてつくろうと思います。
まず最初に作るのは、遺伝子の設計です。

2014年12月8日月曜日

遺伝的アルゴリズムで競馬予測

遺伝的アルゴリズムを勉強している時にふと思ったのですが、
このアルゴリズムは株よりも競馬のほうが適合している気がしましたので、忘れないうちに備忘録として。

遺伝的アルゴリズムで作るカブロボの設計

前回までで遺伝的アルゴリズム基本的な練習を行いました。
いよいよ今回からカブロボのプログラムを開始しようと思います。
まず初めに、基本的な設計を考えてみます。

2014年12月7日日曜日

巡回セールスマン問題にアニメーションを付けてみる

前回pythonで巡回セールスマン問題をとく遺伝的アルゴリズムを作成したのですが、
最終結果だけの巡回順路を与えられても、うまいこと進化しているのかがわかりにくいです。
そこで、進化の過程をアニメーションで表示させてみようと思います。

2014年12月6日土曜日

pythonで遺伝的アルゴリズムの練習2 --巡回セールスマン問題

前回に引き続き、遺伝的アルゴリズムの例題をもう一つ解いてみようと思います。
今回は巡回セールスマン問題を解きます。
巡回セールスマン問題とは、例えば5つの都市があったとして、すべて都市を1回づつ訪問しようと思っている場合、
どのような順番で都市を回れば最短ルートで行くことができるのかという問題です。
都市の数が5つぐらいなら総当りでなんとかなるのですが、30、50となってくると、
組み合わせが階乗になるのでとても総当りできません。
そこで、この問題を解くのに様々な方法があるのですが、その方法の1つとして遺伝的アルゴリズムが使われています。
遺伝的アルゴリズムでは、最適解を出すことは難しく、
最適解に限りなく近い解しか出すことができませんが、いい練習になると思います。

2014年12月4日木曜日

pythonで遺伝的アルゴリズムの練習--ナップザック問題

今回は、以前からやろうと思っていました遺伝的アルゴリズムの練習としてナップザック問題を解いてみようと思います。
ナップザック問題は例えば、遠足にお菓子を持って行く場合カバンに10kgまでしか入らないとした時、どのような組み合わせでお菓子を選択することがいいかを探求する問題です。
様々な解き方があるようですが、遺伝的アルゴリズムで解く練習問題として一般的なようです。