そこで、人工知能とか認知科学という科学的パラダイムがでてくるわけです が、それはどういう話かっていうと、つまり、いくつかの人間がやっている高 次の処理っていうのはどうも、その刺激と反応ですね、刺激と反応の中を結び つける過程の中で非常にステップワイズな状態の推移が起こる、と。つまり何 かの刺激を与えてすぐぱっと反応するっていうわけじゃなくて、例えば、プラ ニング、といった、そういう問題を扱おうと思ったら、刺激を与えてから反応 がでるまでに、僕らの心の中で非常に複雑な状態の推移というのが起こる。そ こで実際に処理が行われてしまう、という話になります。ですからこの刺激と 反応というのが短絡的にぴっとくっついているわけではなくて刺激があたえら れてから反応がでるまでにかなりの複雑な計算というものが行われる。実際に その計算というものが行われるということは、ある種の過去の蓄積からできた、 知識というやつがあって、その知識というのと組み合わされて、この刺激って いう奴が処理されて、反応というのが導き出される。だから、その刺激と反応っ ていうのがもう本当にぱっとくっついているんじゃなくて、ある種の情報処理 というのがこの過程で行われていて、その情報処理の過程では過去の蓄積され た知識が関与した、ある種の情報処理が行われる。ここで複雑なことが起こっ ているんだっていうことになるっていうわけ、ですね。実際にどういうことかっ ていうと、ま、それだけではなくって、結局僕らの、こういう風に言えばいい と思うんですが、先ほど、刺激からこういう反応がでてくるっていったんです けど、刺激と反応を結びつける計算の過程があると、ただその計算の過程って いうのが、その過去の蓄積された知識っていう、抽象的なものが関与してこの 刺激から反応が導き出される、ということなんですが、ここである種の計算が 行われるっていうことなんですけど、この型算っていうのも実は僕らの頭の中 で起こっているわけ、ですね。えと、ですからこの刺激から反応がでてくるま での過程っていうのは、僕らの頭の中での情報処理という話になるわけ、です。

[過去の経験と学習]

そうすると、過去の経験なり、なんなりってやつが、僕らの知識って形で、僕 らの頭の中に内化されている、僕らの頭の中に内部的に表現されている、てい う話になりますね。それからあるいは刺激と反応といった単純な話だけだとい いんですが、実際に刺激が与えられるときはある環境の中で僕らに刺激が与え られて反応しているわけですから、単純な一発の入力だけじゃなくてその入力 をとりかこむみたいな文脈、コンテクストといってもいいんですが、まわりの 環境そのものも僕らの頭の中に内化されて、それが刺激の中で結びつけられる 計算の中に使われる、と。だから僕らの頭の中にはここでいわれている知識だ とか、あるいは僕がここで立ってしゃべっているときには、学生の頭がみんな 見えるわけですし、僕がどういうポジションにいるかっていうこともわかって いるわけですから、そういうことが僕らの頭の中に一回内化されているわけで すね。そういうコンテクストに関することも僕らの内部で表現されていて、そ の二つが実際に刺激から計算される過程で使われる、という話になっているわ け、ですね。

[過去の経験・学習・知識と文脈]

だからそういう人工知能っていうのが、どっかのところで表象主 義といわれているやつと近い立場をとることになります。つまり、僕らは現実 世界そのものを対象として何か操作をしているんじゃなくて、現実世界が一回 僕らの頭の中でrepresentされて、表現されて、それが実際の情報過程で使わ れていく。だから世界に関する知識とか、文脈に関する知識、文脈というのは 僕らが置かれている状況ということですが、それが情報処理の機構の中で一回 表現されている、

[表象主義]

その表現されたものを計算するという形で処理がすすめられ ていく。人工知能っていうのは人工知能の入門書を読めばよくでてくる言葉と して表象主義という立場をとる、つまり僕らの知識、外界状況認識がなんらか の形で頭の中に表現されている、

[知識の表現と世界の表現]

それらを計算の過程で使っていく、という話 になる、つまりここで起こっていることをある種の計算プログラム言語で表現 して、内部をモデル化していこう、つまり、人工知能っていうのは僕らの知能 というのを表象主義と、計算主義の立場でもって説明していこうっていう話に なるわけですね。

抽象的ですけどいいですかね。当たり前な話な気はしますが (先生苦笑)。いいですか。で、もう少し具体的に話しをしないとわかりにく いと思うので、もう少し話をしていきます。

[蜂と窓と太陽] で、結局知的とはどんなことなの か考えていきたいんですが、漫画が下手で何をかいているかわかんないと思う んですが(先生苦笑)えーと、ここに窓があると思ってください、で、これは 蜂でも蝿でもいいんですが、なんかの昆虫です。で、これが太陽と思ってくだ さい(先生笑)よく部屋の中に蜂とか蝿が入ると窓に何回もがんがんぶつかる ことありますよね。そういうのを描いたつもりなんですけど、こういうのみる とあんまり賢く無いなあ、という感じがするわけですよね。というのはこうい う蝿とか蜂とかってもっと知的な活動をするように見えるわけですよね。例え ば、蜂なんかだと蜜のとれるような花園をみつけるとダンスして他の蜂にその 場所を知らせたりするということをやるわけですよね。つまり、下等な昆虫と かでもある種のコミュニケーションが行われていて、かなり複雑なことをやっ ていると。そういう意味では知的という感じがするんですが、彼らの行動は実 は本能的で、例えば光に向かって直進する、ということを繰り返すわけですね。

[猿とバナナ] それに対して、猿、猿っていうと変だけど(なんで?)人工知能の典型的な問 題にmonkey and bananaという問題があるんですが、ここにお腹のすいた猿、 ま、これはロボットでもいいんですが、これロボットみたいに描いていますが、 ま、猿がいいですね、で、ここにバナナがつるしてあって、椅子があって棒が あると、で、猿はバナナをとりたいんだけど、バナナをとるためには椅子を移 動させて、棒をとってバナナをたたき落とすとバナナがとれる、と。ここでは 何が起こっているのかというと、お腹がすいてこれがとりたいと思ったときに、 猿がある種の行動の計画を立てないといけないんですよね。その行動の計画を たてるためには自分がどういう状況におかれているかということ、抽象的な話 ではコンテクストと呼んでいましたが、その自分がどういう状況におかれてい るかということを一回自分の中に内化して、つまりどこにバナナがあって、ど こに棒があって、どこに椅子があるかということを自分の頭の中にいったんと りこんで、自分がどういうことができるか、ということや、バナナが自分より 高いところにあってそれをとるためにはどういうことをすればよいか、という 知識、自分は机の上にのぼることができる、棒をもったらたたき落とすことが できる、というような知識とそれから棒がどこにあって椅子がどこにあって、 バナナがどこにあるかという認識があってかみあわさって、まず机をここまで はこんできて椅子をはこんできてそれにのってバナナをたたき落とすというこ とをしないといけない。それは明らかに本能的に行動していることとは違う、 蜂や蝿だと自分がどういう状況にいるかということを認識していなくてただ単 純に太陽に向かっていくだけですね、ところが知的なロボットとか、人間とか、 猿だと、まず、自分のやりたいことと、与えられて現場の状況と、自分はどう いうことができるかということに関する知識があって、その目的を達成するた めの計画をたてて実際に行動をするということをしているわけ。

人工知能の一 つの立場って言うのは、こういう光に向かってひたすら飛んでいくようなロボッ トをつくるじゃなくて、自分がおかれている状況の認識と、自分がどういうこ との意識を組み合わせて、その状況にあった適切な行動がとれるようなある種 の判断機能が付いたロボットを作りたいというわけ。先ほどの図の内部の中に 与えられた状況に関する表現を頭の中につくるとか、あるいは自分がどういう ことができるかということが知識として内化されている、とか、この二つを使っ て行動の計画を組み立てることができる。そういうシステムをつくろう、とい う話になる。結局表象主義というのは、こういう文脈とか、過去に蓄積された 知識を使って、僕らの情報処理機構の内部に表現しておいてやって、これらを もちいて計算することによって目的にそった行動をとるという、そういう話に なります。結局、問題解決とかプラニングというのはどういう話になるかって いうと、実際に僕らが行動する前に外界について表象を操作することによって 行動の帰結を計算することができる、つまり、自分が今こういう行動をとった ら相手はこう反応するだろうし、相手がこう反応したら自分はこう反応しましょ う、というようなことを頭の中で計算できるということですね。行動をとる以 前に。例えば将棋やチェスのプログラムというのはまさにそういうことをして いるわけですよね。自分がこのコマをこういう風に動かしたら相手はたぶんこ う動かすであろうし、相手がこう動かすのなら自分はこう動かすということを 実際にコマを動かすことなく頭の中で計算することによってその中で自分の目 的にあった最適のパスを選ぶということをやっているというわけ。

ですから、 かなり多くの問題はこういう形で定式化できるというわけですね。で、実際に 実現するためのプログラムがどういうものかっていうことを実際に計算してい きましょう、という話になります。ですから最初の問題解決とかプラニングの トピックのところではそういう話をするんですが、もう少し具体的に、一つ別 の話をすると、徐々に知識の方に近づいていくわけですが、先ほどのmonkey and banana問題では、猿は自分がどういう行動ができるかという知識はあるん ですよね、それを組み合わせて解くんですね。そうすると、あるactionがある と、チェスだとコマを運ぶ、とかmonkey and bananaだと椅子を運ぶとか、自 分が移動するとか、そういう行動に関する知識がコンピュータの中に representされないといけない、表象しておいてやらないといけない、という こと。人間の知能の理論だとすると、それが僕らの心の中で何らかの実体をもっ た形としてあると、で、それを頭の中で操作すると、いう話になるわけですね。 ですから、初期の人工知能の研究では行動の知識をどう表現するかとか、どう やって使うかということが研究されていたわけですね。

[現在の状態と目的の状態の差]

それもやっぱり表象主義的な考えにそっていてactionというのは二つの要因 でもって規定できると、一つはアクションというのはどういう条件の時にそれ を行うことができるか、ということと、そのアクションによって状況というの がどう変わっていくかということの二つを表現しておいてやれば行為という知 識に関してはそれなりに表現できると、それでアクションというのは preconditionという条件とそれからeffectと言われている、そのアクションの 結果どういうことが起こるかということの二つに分けてアクションというのを 表現しておきたい、という話になりますよね。そうすると実際にやりたいこと はなんなのかというと、monkey and bananaだと、現在の状態を何らかの形で 記号表現してやって、それから目的の状態もなんらかの形で記号表現してやる、 いう話になるわけ、ですね。実際にやることは何かというと、この二つの状態、 つまりこれが望ましい状態ですね、こういう状態にいきたいって話ですよね、 これが現在置かれている状態、で、明らかにこの二つの状態に差があるわけ、 ですよね、つまり、差がなかったら自分はバナナをもっているということにな りますから、この二つの差を計算してやって、この差っていうやつがでてくる と、この差を効果としてもつような行為を選んでおいてやると、その行為を実 行することにその差を解消するわけですから、目的の状態にいけるわけ、です ね。ですから現在の状態が何らかの形で表現できていて、目的の形を何らかの 形で表記できると、その差を計算してやってその差を縮めるような効果を持つ ような行為を選択してやる、そうすると、そのアクション自身がconditionを もっていますから、そのアクションを実行するための条件がありますから、そ の条件を達成すると言うことが次の目標になりますよね。で、結局この条件と 現在の状態の差をとってやって、またこの条件を満たすようなアクションをま た選んでやる、という形で再帰的に繰り返すとどういう行為の系列で目的の状 態にいけるかということが計算できる、という話になります。これが、次の授 業の時にはなしておきますが、General Problem Solverといわれている、CMU で特に研究された問題解決の基本的なメカニズムになっているわけですね。だ から、まあ、これをみてもわかるようにある種の表象主義だとか、プランをた てていくっていうことっていうのが基本になっているっていうことがわかりま すよね。いいですか。ok。 [積木の問題] 初期の人工知能の研究っていうのは問題の多くが探索、searchの問題として 定式できるっていう話になっていくわけですね。もっと単純な、こういった積 み木の世界の問題を考えてやると、テーブルの上に三つの積み木が置かれてい ると、で、最終的に積み木の位置をこのようにしたいと、で、このような状態 にするための行動の系列をみつけなさい、ということ。この場合ロボットとい うのは一本だけ腕をもっていて、その腕を動かすことによって、AをBの上にお くとか、Aをテーブルの上におくといったことができる、だからできる行動も かなり限定されていてロボットが積み木をつかんで移動できると、で与える初 期状態というのはこういう状態の積み木で、目標はこういう状態の積み木にす るという感じで与えることができる、ですよね。行動的にはプラニングと一緒 で、プラニングもある種の初期状態があって、目標とする最終状態にもってい くための行動の系列を導く、と。そういう感じで初期の人工知能の研究は単純 な問題にまずしぼって、それでどういうことができるかっていうことをやって みたわけ。

[目的状態へのパス]

実際には自分のできる行動を闇雲に実行していって、つまり最初の 状態からできることは、Aを動かすか、Cを動かすか、ぐらいですから、この次 の状態というのはBの上にCがあって、Cの上にAがあってという状態か、あるい はCを動かしてAの上にのせるか、またはテーブルにおくかといった三つぐらい の行動しかないわけですから、この状態から次の状態というのは三つぐらいし かないわけ。またその各々に対してできる行動がある、というわけ、で、やみ くもにやってできる行動というのを全てエミュレートしてやって、実際にここ に到達できるようなパスをみつけてやればよろしい。一つの状態にたいしてで きることは、基本的に複数個あるわけですから、非常に大きな探索空間を実際 にはサーチをしていって目的状態に達するようなパスをみつける、というよう なことをやっていたわけ。


Prev Next

 

〔トップページへ〕 〔知能システム論の仮想講義のindexページへ〕
<vu@is.s.u-tokyo.ac.jp>

Last updated on 7 May, 1999