« anlifeも面白そう | トップページ | なぜ退化するのか »

2012年5月 4日 (金)

PhunにGAを導入する方法

そういえば大事なことを書いていなかった。

これで使った全体的なフレームワークの説明。

1. Perlスクリプトで遺伝子を決定し、車体とステージを含むphnファイルを生成。
2. PerlスクリプトからPhunを起動。phnファイルを引数に指定することで読み込ませる。
3. PerlスクリプトからUWSCを起動。
4. UWSCはスクリプトによって、Phunへスペース(シミュレーション開始)、スペース(シミュレーション停止)、[Ctrl]+[S](ファイル保存)、[Ctrl]+[Q](Phunの終了)を送信する。
5. UWSCが終了したら、Perlスクリプトは保存されたphzファイルをzipへリネームしてコピーし、展開する。
6. 展開されたphnファイルを解析して走行時間を得る。(boxにtext = ""の形で入っている)
7. 新たな遺伝子を生成して1へ戻る。

一番の親ルーチンになってるのはPerlスクリプト。別にPerlでなくても良い。イベントドリブンな言語は避けた方が良い。
キモはPhunのコントロールにUWSCを使うところ。C#からSendkeysを使ったら、Phunが反応しなかった。一般的なキー入力ルーチンを使っていないようだ。

« anlifeも面白そう | トップページ | なぜ退化するのか »

コメント

すみません、その"Perl"とやらがぐぐっても⊂( ・∀・)ワケ ( ・∀・)つワカ ⊂( ・∀・)つラン♪
…なのでなんかデータ的なものを配布(?)してもらえないでしょうか?
基本的なところからわかりませんので…

Perlはスクリプト言語です。
今回作ったツール群は、自分のPC環境に合わせて正しく設定しないと動作しません。Perlが分からない人には無理でしょう。
関連ファイルは公開しません。人にあげるのが嫌だからではなく、あなたの環境で正しく動作するまでつきあってられないからです。

コメントを書く

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

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

トラックバック

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

この記事へのトラックバック一覧です: PhunにGAを導入する方法:

« anlifeも面白そう | トップページ | なぜ退化するのか »