Skip to content

Latest commit

 

History

History
105 lines (78 loc) · 7.22 KB

robot_sight.md

File metadata and controls

105 lines (78 loc) · 7.22 KB

ロボットの視野

01/18/2008 11:54:06 AM

ずいぶん前に「心はプログラムできるか」を読んだ。
著者の有田氏は、計算機による実験を通して、心とは何かを探り続けている人だ。

その本に基づいて考えたエントリなので、
できれば読んでからもういちど見ていただきたい。

本書の後半に、「心の理論」の再帰レベルについて切り込んでいる部分がある。
これは本書の核心部分である。

>レベル 0 「高野は計算機の中に心が作れると信じている」

>レベル 1 後藤は「高野は計算機の中に心が作れると信じている」ことを知っている

>レベル 2 小島は「後藤は「高野は計算機の中に心が作れると信じている」
> ことを知っている」かどうか疑っている

>レベル 3 佐藤は「小島は「後藤は「高野は計算機の中に心が作れると信じている」
> ことを知っている」かどうか疑っている」ことをばかにしている

>レベル 4 松田は「佐藤は「小島は「後藤は「高野は計算機の中に心が作れると信じている」
> ことを知っている」かどうか疑っている」ことをばかにしている」
> ことを気にしている

・・・

チンパンジーはレベル2まで、人間でも普通はレベル4までしか理解できないという。
人間は文字やツールなどの道具を使えるので、
時間さえかければ無尽蔵なレベルを扱うことができるはずだが、
脳の機能を問う場合には、外部のツールを使わずに処理できる限界が問題となる。

「空気を読めない人」という日本語があるが、この言葉は、
「レベル3や4がすぐには理解できない人」なのかもしれない。
これは容易にテストできる。実際、多人数に対して理解度のテストをして、
人間はおよそレベル4だ、という結果が出ている。
人間の能力はおそらくつりがね状の分布をしているのだろう。

有田氏は、このレベルが高ければ高いほど「良い」のか?
どのレベルが最適なのか? について疑問を抱く。

まず心の理論を計算機の中でシミュレートするには、仮想空間にロボットを入れる。
ロボットは狭い空間の中をできるだけぶつからずに目的地に到達しなければならない。

> レベル0のロボットは、目的地までまっすぐに行こうとする。
> レベル1のロボットは、他のロボットがレベル0であると予想して、他のロボットを避ける
> レベル2のロボットは、他のロボットがレベル1であると予想して・・

というように物理的な挙動にモデル化してしまう。

この結果が面白すぎるのだが全部を書くと本を買う意味がなくなるので
その結果だけを述べると「ロボットの視界の広さ」がすべてなのである。
どの「心の理論」のレベルが最適なのかは、視界の広さによる。
考えてみれば当たりまえのことだが・・いざ言葉になると、おどろいてしまう。

さらに、視界の広さが極端に狭かったり広かったりすると、レベル2が最適、
とかある値に落ち着くが、視界の広さがちょうど良いと、
レベルが高ければ高いほど良くなる。
人間の視界の広さだと、レベルが高ければ高いほど良い、
という結論になる可能性が高いという。
実際、このレベルは、これまでの人類の歴史を通して、じわじわと進化してきているという。

引用が長くなった。

さて、この理論の結果をwebシステムに応用することを相変わらず考える。

gumonji MMO版の運営でわかったこととして、
1. 十分に土地が余っているときは、みんな好き放題遊ぶことができるが、
ほぼ個人的な営みや、ランダムな営みに終わる。
2. 余剰の土地が無くなってきたら、みんな遠慮しはじめ、行動が減ってしまう。
3. ちょうどよい状況のときは、良いコラボレーションが生まれる。

以前MMO版を運営したときは、1から3を経由して2に至ってしまった。
2に至る原因は、人数の増加と、各プレイヤーの行動の蓄積だ。

ロボットによるシミュレーションは、以下のような結論になるという。
a. 視野が大きいと、あまり避けないレベル0やレベル2が多くなる。(最適)
b. 視野が小さいと、大きく避けるレベル1や3(奇数レベル)が多くなる。(最適)
c. 視野がちょうど良いと、無限に進化し続ける。

a. のあまり避けないというのは「好き放題でランダム」に対応し、
b.の大きく避けるのは「遠慮して行動が減る」に対応すると思う。

人間の認知能力に限界があるならば、
人数(人口密度)の増加は視野の縮小を推進するかもしれない。

仮想空間の中でちょうどよいコミュニケーションが産まれるようにするために、
プレイヤーの人口密度を保つだけでなく、
ゲームシステムやゲーム内のコミュニケーションツールの仕組みを
あるプレイヤーが見える範囲という観点から整理してデザインし直せるかもしれない。
多分ひとつ言えるのは、プレイヤーの視野の広さを1個に決めるのではなく、
あとで調整できるような設計にしておくことが肝心である、ということかもしれない。

それを実現するには、基本的には、プレイヤーの行動に関する情報を
可能な限り記録して検索可能な状態にしておくが、
その量は圧倒的に人間の処理能力を越えているようにする
(1プレイヤーあたり数GB以上など)。
そのうえで、必要な情報を探し出すフィルタを用意して、
その時点で適切な視野を与える。このフィルタがデータベースの層と
綺麗にわかれていて、あとで修正しやすいpluggableなものになっていて、
状況にあわせて動的に調整可能であるなら、
初期にデザインを確定させるという危険を冒さなくて済むかもしれない。