« PhunにGAを導入する方法 | トップページ | なぜ私のタグがついてる? »

2012年5月 6日 (日)

なぜ退化するのか


についた、コメントに対する回答。

・40世代でいったん退化してるのは何?
・20世代100秒切ってなかった?

理由は2つあります。
・Phunはシミュレーションするたびに結果が変わる
・高速な車体は転倒しやすい(今回シミュレーションした内容では天井に衝突するところまでは行きません)

つまり、高速な車体が登場する→たまたま転倒せず走行できて次世代に引き継がれる→次世代では転倒するということがおこるので、タイムが悪化することもあり得るのです。

横軸世代、縦軸走行時間としたグラフです。

全体として、世代を経るに従ってタイムが短縮される結果になっていますが、単調減少ではないことが分かります。例えば14世代のところに95秒の個体がいますが、それ以降の世代では再現されませんでした。転倒する率が高いので、生存できなかったのでしょう。
GA的な表現では、タイムを短縮する淘汰圧と、転倒を避ける淘汰圧の均衡点あたりで振動している感じです。

« PhunにGAを導入する方法 | トップページ | なぜ私のタグがついてる? »

コメント

あ、40のコメ俺です。ありがとうございます。
たまたまですか。なるほど。毎回同じ結果にはならないし…
あとそのPhunを動かすのに外部からやったみたいなことを書かれていましたが、やり方を詳しく説明してくれれば幸いです。

詳しく説明したら、本何冊分になると思いますか。

あ、そんなに多いんですか^^;わかりました。本屋に行ってみます。
サンプルプログラムほしかったり。

私があなたのためにサンプルプログラムを書く手間をかけなければならないのですか?

あきらめます本が書店になかったので。(テン_

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1499066/45156227

この記事へのトラックバック一覧です: なぜ退化するのか:

« PhunにGAを導入する方法 | トップページ | なぜ私のタグがついてる? »