忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

Silverlightで『模型は心を持ちうるか』ver2

模型は心を持ちうるか』という人工知能の本があります。
私はまだろくに読んでないのですが、一部だけ見た感じだと、こんな感じのようです:

こんなロボットがあったとします。
(リンク先から引用)

Vehicle2.JPG



このロボットは本体+2つのセンサーと2つの車輪からなっています。
上にある手のように見えるものは実は手ではなく光センサーです。
そこから信号を伝える電線が下の車輪に伸びています。

このとき、電線のつなぎ方は2通りあります。
平行に繋ぐ方法とクロスさせる方法。
aとbはその2通りのつなぎ方を表しています。

実は、このつなぎ方によって振る舞いに大きな違いが生まれるのです。
というか、単にセンサーと車輪をつなぐだけでも、面白い振る舞いが生まれます。

Vehicle2Behavior.JPG

このとおり、aのようなつなぎ方をすると光を恐れるようになり、bのようなつなぎ方をすると光を追いかけるようになります。
単純な仕掛けから高等に見えるふるまいが出てくる。
人工知能のエッセンスですね。

さてこれをSilverlightで再現してみました。



このSilverlightでは光ではなくマウスポインタを追いかけます。
チェックボックスにチェックを入れると内部の配線が切り替わり、今度は逆に光から逃げるようになります。


おまけ

プロジェクトファイルです。
このようなケースでMVVMを使うのは難しいですね。











拍手[1回]

PR