Genovaについて

Genovaは福岡工業大学小野研究室で開発したGA実験用のアプレットである. これを使用することによりホームページ上で実行できるプログラムを容易に 作成することができる.以下,簡単にその概要を述べる.

特徴

  1. アプレットとして使用できる:Java言語で作成されており, アプレットとしてWeb上で実行できる.

  2. 各種の遺伝子表現に対応できる:遺伝子表現によりつぎの2種を標準と している.

  3. 各種条件での実行が可能:Web上の条件設定メニューで 各種パラメータ値,シミュレーション条件などを設定ができ, これらを変えてシミュレーションを行い,比較することができる. また実行結果(グラフィック表示など)を世代をさかのぼってその進展状況を 見ることができる.

  4. グラフィック機能が充実:シミュレーション結果などをグラフィックスを 利用して,視覚的に見ることできる.

  5. オブジェクトの採用:オブジェクトプログラミング手法を採用し, 適用対象により変わる部分を別個のオブジェクトとして分けることにより, プログラムの修正,追加が容易になっている.

トップに戻る

利用上の注意

ビットストリング表現用(Genova-b)と整数順序表現用(Genova-p)とがあるので, 別々に分けて説明する.
  1. Genova-b(ビットストリング用):主な事項のみを記す.

  2. Genova-b(順序表現用):主な事項のみを記す.

トップに戻る

プログラムの構成

プログラムの構成例としてGenova-p(順序表現用)を適用したセールスマン巡回問題用GA を例に説明する.

プログラムは全体の中心になるアプレットプログラムと以下に述べる各パッケージの プログラムから構成されている.まずアプレットプログラムはつぎの部分から 構成されている.

従って,この部分は適用対象により修正の必要がある.

つぎにパッケージ部分は以下の構成になっている.

  1. Chromosome package:遺伝子表現に関するプログラムを収納している. 遺伝子の作成,初期化,突然変異(スワップ方法),コピーなど.この部分は共通に 使用でき,適用対象によって変える必要はない.

  2. Selection package:選択に関するプログラムを収納している. ランク選択,エリート選択の機能がある.この部分も共通に使用でき, 適用により変更する必要はない.

  3. Crossover package:交叉に関するプログラムを収納している. 順序表現では各種の方式:辺再組合せ交叉,順序交叉,循環交叉,部分複写交叉 などが使用者により選択できるようになっている.この部分も共通に使用できる.

  4. Cities package:巡回都市に関するプログラムを収納している. この部分は適用対象により異なってくる.機能は遺伝子表現を受けて適合値を 計算する部分が中心になる.

  5. LocFrame package:各都市の位置をマウスで入力するプログラムを 収納している.従って,この部分は適用対象により変わってくる.

  6. Graphs package:グラフィックな表示の機能であり,2種類の表示を用意 している.ひとつは世代による適合値の変化の表示であり,この部分は共通に 使用できる.今ひとつは用途に関係あるもので,このTSPの例では巡回経路の グラフ表示である.

  7. GAutilities package:共通のユティリティプログラムで,主なものは 乱数発生プログラムである.

このように大半のプログラムは用途に関係なく,共通に使用できる.

トップに戻る
小野 俊彦 (Toshihiko Ono)