人工ニューラルネットワーク、身体性、進化をテーマとした修士論文の経過。


by systole
領域を小さくすることで、ガーデン内の全てのグリッドを通過するという目的を達成し訳すさせるため、ガーデン領域を400×300から100*80に変更し、障害物を無くす。

フィット値は実験1又は2と同様にする。

結果:
* フィット値は当初の低い値から増えない。
[PR]
# by systole | 2004-07-26 09:54

実験2:移動量を考慮

フィット値=通過したグリッドの総数 * 直進移動回数

結果:障害物の無い大きい領域で、緩やかな長方形を描くようになった。

考察:ガーデンの中央に障害物を置き、その周りをぐるぐる回る障害物回避行動を行うロボットがあるが、それは、障害物や壁との距離が絶妙な状況で観察者から見た結果であり、ロボットが異常に小さければ、障害物の周りではなく、障害物と壁との間をぐるぐる回る可能性があるのでは。
[PR]
# by systole | 2004-07-26 09:51

実験1

タスク=ガーデン(ロボットの置かれている箱庭)内を隈なく動く。
フィット値=通過したグリッドの総数

グリッドはガーデン内で10×10の間隔で配置している点の集合。
エネルギー残量は考慮しない。

ベスト個の挙動
* 頭を左右に振りながら、又は、頻繁に後進ながら、少しずつ移動。
  広い場所では前進又は後進。
  壁や障害物の近くでは横滑りをする。
* 壁と障害物との空間の中で開始する場合、その中間的な場所で輪を作るケースが多い。
* 障害物の間を直進し、壁にぶつかるケースもある。
* 広い場所で動かなくなるケースもある。
[PR]
# by systole | 2004-07-26 09:33

実験開始

シミュレータを動かしている間に書いてます。

ケペラ風ロボットのシミュレーターを作り、恣意的タスクが増加するにつれ人工ニューラルネットワークが増殖云々、という修士論文を書くつもりでやってきましたが...

ANNの構造は、単純パーセプトロン、バイアス-1、Elman再帰。ウェイトは0から1まで。閾値は0以上。伝達関数はステップ関数。

出力は4つで、右興奮、右抑制、左興奮、左抑制を意味する。右左それぞれで興奮と抑制を足し、正、負、ゼロの組み合わせでロボットの動きを制御する。すなわち、両方正なら前進、両方負なら後進(正面を向いたまま)、両方ゼロなら留まる。右が興奮で左が抑制なら左旋回、その逆も同様。右が興奮で左がゼロなら45度回転して半進、その逆も同様。

進化は、ベスト5がそれぞれ20の子孫を作り、100世代繰り返して、ウェイトとステップ関数の閾値を決める。生存中の学習はしない。

障害物の検知を実装するのは面倒だなぁ。2つの線分が交わるかなど、皆どうやっているのだろう。今回は、外壁と丸い障害物なので、座標をみるか、d <= r1 + r2、で済ませてしまったけど。

次回はこれまでの実験結果の詳細について書くつもりです。
[PR]
# by systole | 2004-07-24 10:39