|
Stimulus-Response Agents (S-Rエージェント)
2.1知覚と動作この章では、内部の状態を持たず、その環境における即座の刺激に単純な反応を示す機械を考慮する。我々はこれらの機械を刺激応答エージェント(stimulus-response agents 以下、S-Rエージェント)と呼ぶ。様々なロボットは、いくぶん単純な即座の感覚入力機能に対する、モータ応答に基く、驚くほど興味深い動作を示すように作られ得る。この種類のロボットで最も早期の例のうちの1つは、Grey WalterのMachina speculatrixである―モータ、フォト‐セル、及び2本の真空管をもつ動くデバイス[Walter 1953]は、穏やかな強度の光の方へ進み、明るい光を回避した。類似した機械がBraitenbergによって述べられている[ Braitenberg 1984 ]。 討論を実例で始めよう。図2.1において示された二次元の格子空間世界におけるロボットについて考慮する。このロボットの世界は境界に完全に囲まれており、示されたような他の大きい不可動の物体を含むかもしれない。この世界は“タイトな空間“(オブジェクト及び境界の間がわずか1セルの幅しかない空間)を持たず、ロボットの設計にその事実を利用することになる。
図2.1
我々は、このロボットが次の動きを実行することを望む。境界またはオブジェクトに隣接するセルに行き、その後、周囲の境界に沿った動きを永続する。そのような境界追跡(boundary-following)の動きを可能とするためには、ロボットがあるセルを占めることができるかどうかを知覚できなければならず、さらに、ある一定の原始的な行動ができなければならない。 そのロボットはそれを囲む8つのセルがフリーであるかどうかを知覚できる。これらの感覚入力は、バイナリ変数 ロボットは、その行、または列において(フリーな)隣接したセルに動くことができる。そのような動作は4個ある。 1. 北は、セルの格子内でロボットを1セル上に移動させる 2. 東は、ロボットを1セル右に動かす 3. 南は、ロボットを1セル下に動かす 4. 西は、ロボットを1セル左に動かす 動作の全ては、ロボットがフリーではないセルに動こうと試みない限りは、示された効果を持つ。そのような場合、その動作は、効果を持たない。
図2.2
ロボットが居住するであろう、世界の種類の特質(例えば図2.1)が与えられた後、そのロボットが機能(境界を追跡)し、ロボットが感覚とモータ能力を持つためのタスクがあり、設計者の仕事は、タスクに対して、適切な動作を選択するための、感覚入力の関数を指定することである(我々の例では もちろん知覚及び動作間の分割は、完全に随意である。私は、知覚(動作北が世界において適切な状態にあるのに気づく)、もしくは、動作(動作北が未加工の感覚データに基づいて適切であると計算される)のような全プロセスを一まとめにしたであろう。通常、分割は同じ特徴が様々なタスクに繰り返して使われるような方法によりなされる。異なるタスクは、同じ特徴ベクトルを用いるであろうが、異なる動作が機能する。コンピュータプログラムを見たとき、感覚信号からの特徴値の計算が、多くの異なる動作計算によって必要とされる、ライブラリルーチンとして使われたように、しばしば見なされ得る。いかに2つのプロセスに分割されるかを決定することは、これらの機械を設計する芸術の一部であり、私があまりここでその芸術について言う必要はないであろう。 いかに分割するかを決定した後、我々には2つの問題がのこされている—(1)未加工の感覚のデータを特徴ベクトルに変換する、及び、(2)動作関数を特定する。例の文脈中において、各々の問題について簡潔に論じる。
図2.3
2.1.1知覚境界追跡ロボットのための感覚入力は、 この例のために、知覚の処理は、比較的単純な計算から成る。更に複合的な世界、そして、更に複合的なセンサとタスクを持つロボットのために、適切な知覚の処理を設計することは、挑戦的であるかもしれない。同じく多くの真のタスクにおいて知覚の処理は、時おりロボットの環境に関する、誤り、曖昧さ、または、不完全な情報を与えるであろう。そのような誤りは、タスク、そして環境に応じた不適当な動作を喚起するであろうが、それらがまれであるならば、不十分に選択された動作は、さほどあまり害を引き起こさないかもしれない。知覚の主題に関しては第6章で述べる。
2.1.2動作4つの特徴値を与えられたら、適切な境界追跡の動作を選択するための関数を今度は指定しなければならない。我々は最初に、特徴値のうちのいずれも値1を持たないならば (すなわち、ロボットが感知するその周囲のセルの全てがフリーであるならば)、ロボットが境界に遭遇するまで、あらゆる方向に動くことができることに注目する。それを北に動かそう。他の特徴値のうち少なくとも1つが値1を持っているときはいつでも、境界追跡の動きは次の動作の規則によって獲得される: もしも もしも もしも もしも ロボットがこれらの様々な行動をとるべき条件は、この場合 特徴値のブール結合(Boolean combinations)である。それらの特徴値は、それら自体同じく感覚入力のブール結合である。いくらかの重要な知覚と動作の選択方法がブール関数を包含するので、我々の例を続ける前にそれらについて論じるため、簡潔にここで脱線することは、役に立つであろう。 2.1.3ブール代数ブール関数(Boolean
function)、 次に示すブール代数のための規則により、これらの定義を簡潔に行う。
例えば、境界追跡ロボットが北に動くための条件は、式 時折、ブール関数の引数及び値は、1の代わりに定数T ( True )、0の代わりに定数F ( False )で表される。 連結語 我々は複雑な式における連結語
DeMorganの法則はブール関数を単純化するためにしばしば使われ得る。例えば、
他の重要な法則は分配法則である。
2.1.4ブール関数のクラス及びフォームブール関数は様々なフォーム(form)に含まれる。重要なフォームの一つは n変数場合、ちょうど
場所
は二項係数である。 節(clause)は、あらゆる式 ブール関数は、項の選言として書けるならば、選言標準形(Disjunctive
Normal Form 以下DNF
) であると言える。DNFにおけるいくらかの例は 選言標準形は対となる形を持つ—連言標準形( Conjunction
Normal Form 以下CNF
)がそうである。ブール関数は、それが節の連言として書かれ得るならば、CNFにあると言える。CNFにおける例は
2.2動作関数の表現と実行もしRの実行可能な動作が存在するならば、動作を計算するために特徴ベクトルの適切なR値を持つ関数を求めなければならない。動作関数を表現、実行する様々な方法が調査されているので、次にそれらのうちのいくらかについて述べる。
2.2.1プロダクション・システム動作関数のための便利な描写フォームの一つがプロダクション・システムである。プロダクション・システムは、プロダクション・ルール、または単にプロダクションと呼ばれる規則の整然としたリストを含む。フォーム
概して、規則の条件部分は、感覚信号の知覚処理に起因する特徴のあらゆるバイナリ値 境界追跡ロボットのためにブール代数を用い、早期に特徴リテラルを定義したため、ここで境界追跡ルーチンのプロダクション・システムの表現を示す。
境界追跡動作は(決して終わることのない)継続的(durative)な処理の一例である。ロボットは、永久に動作を実行し続ける。一方、いくらかのタスクは、ある特定の終了状態(goal condition)が獲得されてはじめて作用し、動作を中止する。例として、我々のロボットに永久に境界を追跡させる代りに、それが(凹面の)コーナーに行き、そしてそこに留まることを望むであろう。コーナーを検出する特徴cが与えらたとき、ロボットがコーナーに居るならば、cは値1を持ち、次のプロダクション・システムは、ロボットをコーナーに着かせるだろう。(もし、見つかるコーナーがあれば。) :
ここで、nilは、ヌル(null)、または何もしない動作であり、b-f(boundary-following)は境界追跡処理(我々がちょうど定義した)である。
図2.4
ゴール到達のプロダクション・システムにおいて、リストにおける最初の規則の条件部分
2.2.2ネットワークブール関数、プロダクション・システムは、コンピュータプログラムによって容易に実行される。代りに、それらは電子回路として直接実行され得る。回路構成への入力は、それ自身が感覚信号であり得る。論理回路において、ブール関数は論理的ゲート( AND、 NAND、OR、その他)のネットワークによって通常実行される。ポピュラーなタイプのサーキットは、入力の総和の重みを負った非一次関数を計算するための、しきい値エレメント(threshold elements)、または他のエレメントのネットワークから成る。そのようなエレメントの例は、図2.4.において示されている、しきい値論理ユニット( Threshold Logic Unit 以下TLU )である。それは入力を、重荷を負った和として算定し、この和をしきい値と比較し、和がしきい値を越えられるならば、a 1を出力する。他の場合はa 0を出力する。
図2.5
TLUによって実行可能なブール関数は、線形分離可能な関数(linearly
separable functions )と呼ばれる。(
TLUはの空間を分割する、しきい値を超えた応答をもたらす入力ベクトルと、しきい値未満の応答をもたらす入力ベクトルの空間を、線の表面(linear surface)—n次元のハイパープレーン(hyperplane)と呼ばれる—により分割する。全てではないが多数のブール関数は、線形分離可能である。例えば、あらゆる単項式(リテラルの連言)、または、あらゆる節(リテラルの選言)は、線形に分離できる。図2.5において単項式のTLUを示す。TLUの重みは、それらの一致する入力ラインの隣に示され、そのしきい値はTLUを表すサークルの中に引かれる。しかしながら、2変数関数である排他的論理和(exclusive-or)
図2.6
境界追跡ロボットによって使われる関数は、TLUによって実行され得る。例として、 わずか2つの可能な動作がある応用例において、入力として特徴ベクトルのコード化された表現を与えられれば、1つのTLUが適切な動作を計算し得るかも知れない。更に複合的な問題のために、このようなエレメントのネットワークが必要とされる。そのような回路は神経ネットワーク(neural networks)と呼ばれる。それは、TLUが生物学的ニューロンの単純モデル(発火するかしないかは、様々な強さのシナプスを横断する入力が合計された強さに依存する)であると考えられているためである。我々は、次の章において更に詳細に神経ネットワークを研究する。
図2.7
Katzはインバーターの結合の繰り返しからなる単純なネットワーク構造と、ANDゲート( TLUによって実行され得る)があらゆるT-Rプログラムを実行するために使われ得ることを提案した。図2.7.において、そのようなネットワークの私のバージョンを示す。ネットワークへの入力は条件のバイナリ値
2.2.3サブサンプション・アーキテクチャー即座の感覚入力を動作に変換するために提案された他の形式主義がいくつかあった。これらの中に、Rodney
Brooksのサブサンプション・アーキテクチャー(subsumption
architecture)[Brooks
1986、Brooks
1990、Connell
1990]がある。そのようなアーキテクチャを構成するものの、正確な定義があるように思われないが、一般的アイデアは、エージェントの動きがいくつかの「動作モジュール」(behavior
modules)によってコントロールされることである。各モジュールは、世界から感覚情報を直接受け取る。感覚入力がそのモジュールに特有の前提条件を満たすならば、同様にそのモジュールに特有のある動作プログラムが実行される。1つの動作モジュールは、別のものを包括し得る。図2.8において、各上位のモジュールは、その一つ下のものを包括し得る。モジュール
図2.8
2.3さらなる読取りと討論S-Rエージェントは、我々の現代の電子世界に偏在する。温度を維持するためのサーモスタット、自動車スピード維持のための巡航制御装置、コンピュータ・オペレーティング・システムの割込み駆動のコンポーネント、そして工場の何千もの異なる自動装置は全てS-Rエージェントである。 通常この種のシステム、及びデバイスは人工知能の主題の一部とみなされないが、私はそれらを私の処置に入れる。なぜなら、それらが更に知的なシステムへ向けての旅行の初めの領域に居住するからだ。 ロボット工学、及び、AIにおけるいくらかの研究課程において、学生はS-Rロボットを、レゴ部品を用いて組み立てる(例えば[Resnick 1993]を見よ)。戦略制御を行う行動‐ベース(behavior-based)を探究するAI研究者は、歩き回り、障害回避、及び、壁の追跡が可能なソナーに導かれたS-Rロボットを実験した[ Mataric 1990,Connell 1990 ]。 我々により提案された知覚と動作の分割は、エージェントの設計において一般的である。 以下に続く[ Kaelbling & Rosenschein 1990]、我々は知覚処理を未加工の感覚入力をもとに、特徴ベクトルを計算するタスクに割り当て、動作関数を特徴ベクトルに基づいた、動作を選択するタスクに割り当てる。 KaelblingとRosenscheinはこのBrooksの水平式構造と対照的な垂直式のアーキテクチャ・スタイルについて考察する。これらの2つのスタイルを比較して、彼らが述べる [ Kaelbling & Rosenschein 1990、pp.36-37]
知覚と動作と交差する水平式分解法は、Brooksによってエージェントの設計における実用的方法として支持された。…水平式のアプローチは、設計者が同時に特定の行動をサポートするのに必要とされる知覚と動作の限られた側面を考察することを可能にする。これに代わるものとして、多重ソース[i.e.知覚]から広く有益な情報を回収する、個別のシステムモジュールと、他の多重目的[i.e.動作]のために開発するものを持つ、垂直式の戦略がある。情報抽出、及び、動作生成の本来の順列組合せ論は、プログラマの努力の効率的な使用法として垂直式のアプローチを魅力的にする。
実際に、知覚と動作間の分割は、水平式のアプローチに同じく適応する。特徴ベクトルは個々の領域に分割され得る—サブサンプション・アーキテクチャーとして、各々の領域は、特殊化した知覚装置と、動作または行動がおきることから、計算される。 T-Rプログラム、及び他の反応システムは動物の行動の、様々な動物行動学的モデルと密な関係を持つ[ McFarland 1987 ]。これらのモデルのいくつかは、ゴール到達(goal-achieving)する動物的動作の順序において、次の動作を「誘う」(releases)、刺激またはトリガとしてのある動作行動の結果を、工夫することによって引き出される。T-Rプログラムの条件と動作は、プログラムがこの方法において機能するように選択される。T-Rプログラムにおける私の研究は、[ Deutsch 1960 ]の本によって部分的に生み出された。 ある刺激を捜し、それに向かって進む動物は、向性(tropism)と呼ばれるものを示す。例えば、屈光性(Phototropic)の動物は、光の方へ進む。[ Genesereth & Nilsson 1987 ]が論じるエージェントの種類はこの章では向性のエージェント(tropistic agents)である。 いくらかの実験的研究は物理的なものより、むしろシミュレートされたS-Rロボットを使う。シミュレーションは時折、“成功する運命である”と批評される[Brooks & Mataric 1993、p. 209 ]。しかし、それらが知覚と動作の戦略を洗練するのを助けるのに十分な成功をするとは限らない。そして、時折、そのシミュレーションは実際に「真のもの」である。例えば、コンピュータベースの教育、娯楽、及び、劇的な芸術において、活発なキャラクタは、それらのシミュレートした環境とユーザに相互に作用する[Bates 1994 Blumberg 1996]。(BlumbergのALIVEシステムは、対話型キャラクタを作るために動物行動学からの原理を用いる別な例である。) 更に多くのブール関数に関しては [Unger 1989]を参照する。プロダクション・システムは、決定リスト(decision list)と呼ばれるブール関数の一般化と考えられ得る [ Rivest 1987 ]。
|