サブサンプションアーキテクチャによる知的な振る舞いの創発
以下の記事の一環として行いました。
1.はじめに
- AGI実現が最終目標
キーワード
→サブサンプションアーキテクチャに注目する
方法、実験、考察、結論の順で説明する
サブサンプションアーキテクチャの説明
以下の画像がわかりやすい
従来の知能ロボットの処理系は、モジュールが縦に並んでいる。センサからの情報をモジュールが1つずつ順に処理して、最後、アクチュエータにつながる。
サブサンプションアーキテクチャは、モジュールが横に並んでいる。複数のモジュールが、同時に、独立に、非同期に、動いている感じ。
2. 方法
- サブサンプションアーキテクチャを試せるシミュレーションソフト、SB-MASEを利用する
- 知的な振る舞いをするエージェントを作る
- つまり、賢そう、複雑そう、考えてそう的な動きをするやつを作る
SB-MASEの説明
2枚目の画像がシミュレーション世界です。赤いやつがエージェントです。
1枚目の画像は、このエージェントの中身です。サブサンプションアーキテクチャでエージェントの動きを構築できます。
3. 実験
- サブサンプションアーキテクチャを1層ずつ重ねていく
- 最終的に5層にして、
「獲物がいないなら待機、直進を繰り返す。いるなら追いかける。見失っても数秒その方向に進む。エージェント」
を作る
1層
- WALK:ひたすら直進する
→ひたすら直進する
2層
- WALK:ひたすら直進する
- AVOID:障害物があったら避ける
→障害物を避けながら、ひたすら直進する
3層
- WALK:ひたすら直進する
- AVOID:障害物があったら避ける
- PROWL:獲物がいないなら待機。いるなら直進
- STEER:獲物の方向に向き変更
→獲物がいないなら待機。いるなら追いかける
4層
- WALK:ひたすら直進する
- AVOID:障害物があったら避ける
- PROWL:獲物がいないなら待機。いるなら直進
- STEER:獲物の方向に向き変更
- PROWLKEEP:見失っても、直進を数秒続ける
→獲物がいないなら待機。いるなら追いかける。見失っても数秒その方向に進む。
5層
- WALK:ひたすら直進する
- AVOID:障害物があったら避ける
- PROWL:獲物がいないなら待機。いるなら直進
- STEER:獲物の方向に向き変更
- PROWLKEEP:見失っても、直進を数秒続ける
- EXPLORE:直進、待機を繰り返す
→獲物がいないなら待機、直進を繰り返す。いるなら追いかける。見失っても数秒その方向に進む。
以下のリンクで、5層サブサンプションアーキテクチャのエージェントの動きが確認できます。緑のやつです。
4. 考察と結論
- 賢そうな動きをするエージェントを作ることができた
→サブサンプションアーキテクチャで知的な振る舞いが創発できた!
- 構造はかなりシンプル
- サブサンプションアーキテクチャすごい!
- 推論、記憶などは実現できるのか?
- ハードウェアレベルで実装したい
- 身体性と絡めたい