LGPC for ant

LGPCによるant problem(アリの食餌最適化)を解法するシミュレータです

ここにはProblem Setting,Population Setting,GPRunの3つのシートがあります。以下それぞれの内容を見ていきましょう。

Problem Configuration

プログラムに解かせる問題の設定を行います。

餌を撒くフィールドのサイズの設定です。8から20までの値をとることが出来ます。

アリの初めに持っているエネルギー値です。

訓練データです。フィールドのマスをクリックすることで餌を撒くことが出来ます。アリのス タート地点は赤で、あなたの撒いた餌は緑で示されます。

テストデータです。このデータを使って発生した個体の評価をします。

GPで使う非終端記号を選択します。次の3つの関数が選べます。

GPで使う終端記号を選択します。アリには、前進(Move forward)右に曲がる(Turn right)左に曲がる(Turn left)の最大3つの動きが許されています。

Population Setting

GPに使うパラメータの設定をします。

集団の数を設定します。以下のパラメータは各集団ごとに設定することが出来ます。

個体数を設定します。

何世代進化させるかを決めます。

戦略を決定します。戦略にはルーレット方式(Proportional) トーナメント方式(Tournament)ランダムの3つがあり、オプションとしてエリート戦略をとるかどうかを選択することが出来ます。

遺伝子の制限を設定します。遺伝子の最大長を決めます。

交叉(Crossover)や突然変異(Mutation)の起こる確率を決めます。

初期状態の各ノードに関数が入る確率と終端記号が入る確率を決めます。

設定した値世代ごとに計算を止めることが出来ます。

Result

各集団を進化させた結果を示すシートです。

左側にはその世代で最も優秀な個体の適合度や遺伝子長、全個体の平均遺伝子長などがリアルタイムに示されます。右上は最も適合度が高い個体の遺伝子コードで、右下はその世代で最も効率よく全ての餌にたどり着いたアリの動きを示しています。