|
虎のホームページ
|
|
ソフトウェアの未来 コンピューターを実際に動かすためには、ソフトウェアが必要である。ハードウェアのほうはメモリーチップの集積度が上がるといった技術革新が進み、ダウンサイジングが進んで来た。その結果、我々の周囲でもパソコンを利用する機会が格段に増加してきている。そして、もう一方で、これらの端末が互いに結ばれるというネットワーク化の流れがある。このような状況から、ソフトウェアの世界で今何が考えられているかというと、インテリジェント・エージェントというものがある。エージェントを日本語に訳すと代理人であるから、トラベルエージェントもあればネットワークエージェントもあるわけで、ここで説明するのは、コンピューターのソフトウェアでできているエージェントについての事である。 例えば、我々の身近で考えた時、企業でもその他の団体でも、組織のあるレベル以上の人には秘書がいる。秘書が本人に代わって、身の回りの事を色々と処理してくれるという状況があるわけで、そのような仕事を電子的にやってもらうという考えである。 ネットワークを利用しようとする際、電子メールを使ってみるとすぐに嫌になってしまうのは、メールが山のように来て、それをどう仕分けするかだけで日常の大問題となってしまうからである。それをエージェントにやってもらう。メールの中身を読み、返事を出してくれる、あるいは放置しておく。そういう事を実際に処理してくれるソフトウェアのエージェントが考えられている。 また、我々の世界で困っているのが会議のスケジュール調整である。これについても当人達が自ら調整するのではなく、それぞれのエージェント同士が適当にコミュニケーションして決めてくれる、あるいはサジェストしてくれる。当然、それぞれのエージェントが優先順位を持っていて、会議スケジュールが決まっていく。 あるいは、現在急増しているインターネットの利用で考えてみると、論文をどこに送るとかあるいは関係する情報を探して取って来るという仕事は、自分の手で処理するとなるとかなり煩雑な作業が伴う。これを、電子的エージェントに任せればかなり楽になるわけで、このような電子秘書を作ろうということが実際に行われている。 電子的な個人秘書が持っているインテリジェンスを実現させる方法としては、従来は人工知能的手法で考えられていたが、最近ではソフトウェアに学習させるという方法が考えられている。これは、最初はユーザーが端末の操作を行い、その行動を全てある種のメモリーに記録しておく。これはMemory-based-reasoningと呼ばれている方法であるが、基本的には、全てのパターンを覚えておく。そして新しい状況が出たとき、前に行動したケースとの距離を取るという感じで、その状況に近いものを取り出して来る。その次の時には、過去にやった行動に近い方法を取るという形で情報を蓄積していく。その繰り返しをしながら学習し賢くなっていく。 同じようなことで、全部覚えておく必要のある話とか、ある条件下でしてもらっては困るといった事を、エージェントが作業した結果に基づき記憶させていく。そうすると、これを覚えていくことによって訓練、教育が進んで行く。また、ある程度進んだ所である種の一般化を行う。そういう技術がいくつか出てきて、メールのハンドリングやスケジューリングなどでは、ある程度使えるような状況になってきた。個別のエージェントが教育されていくと、次にはそれぞれのエージェント同士が話をして自ら学習能力を高めていく。もっとよく訓練を受けた秘書がどこかにいるわけで、それをエージェント自らが探しにいくようになる。このような場合、どのように技術的に対応すべきかということがかなり研究されている。したがって、個人電子秘書レベルのソフトであれば、比較的早く実現できるようになると思う。 もう一方で、個人秘書とは異なりかなり専門的な知識を持ったソフトウェアが、一人歩きする可能性が出て来ると思う。ソフトウェア・エージェントの社会であり、マルチ・エージェントとも呼ばれる。複数のエージェントが存在して、互いに協力したり協調したりして問題を解決していく。昔は、これを分散人工知能と言っていたが、エージェントを研究していく中でこの話が復活してきた。以前は、かなり仮想的な話であったが、現在ではこの分野の研究が非常に盛んになってきた。 エージェントの社会とは、ネットワークでつながった多くのコンピューターが存在する世界の中で、仮想的にソフトウェアがあたかも人間のように生きている社会である。その中では、エージェント同士のコミュニケーション方法である訳で、プロコトルを決めるとか、エージェント同士の言語をどうするかといった問題を解決する必要があり、そのためにある種のエージェント言語を研究しいてるグループもある。 では、この様なエージェントを使用して何をするのかというと、例えば、インターネットを利用する時、自分の求める情報がどこにあるのか調べるのは非常に大変である。結局は、人間同士のコミュニケーションを通して口コミで聞くとか、どこかの電子伝言板を見て、そこへ入り込んでいって情報を取ってくるといった事をしなくてはならない。この部分をエージェントにやってもらう。例えば、情報を取って来る部分、仕事ができる人を探す部分、あるいは仕事の発注・交渉などである。そういうものを実際にネットワークの中を渡り歩いて処理してくる。渡り歩くという意味は、物理的にプログラムが動いて、ソフトウェアを移動して向こうの出先の人のエージェントと交渉してくる。場合によっては、最初のところが駄目であれば次の対応を取るといった具合いに、コミュニケーションを回線を通して行うだけでなく、本当にプログラムごと出かけていってやってくるといった世界を実現しようとしている。何故、プログラムが実際物理的に動くのかというと、第一は、ネットワークの交通量は今でももう大変だからである。また、こちらとしてもその都度遠くの方でやっていることを干渉したくない、また、発注した仕事は早く忘れたい。あるいは、出かけて行ってみなければ分からないことも沢山ある。そういう事を実際にやってもらいたい。 このような擬人化されたソフトウェアの社会があって、それが我々の社会の中に埋め込まれるわけで、経済活動や社会活動のあらゆる領域をカバーすることになる。したがってこのマルチエージェントに関しては、社会学や経済学を始めとして色々な人達によって議論され、学会をつくるといった話もある。 この世界では、人間社会にある殆ど全ての現象の比喩がエージェントの世界に対応するわけで、それ自身多くの場合意味がある。例えば、この世界で子供が生まれるということは、二つのエージェントの持っている知識を合体して一つの子供を作るとか、あるいはそれを少し修正した形でつくるといったことになる。エージェントが学習するということは、子供が成長するのと同じである。また、必要がなくなったら殺してしまうとか自殺するということも考えられる。それから、エージェント同士が集まったグループ全体としての所属が、民族であったり国であったりすることもある。そこで、エージェント同士の戦いが起こるということも有り得る。また、エージェント同士のコミュニケーションでどういう言語を使うかプロコトルを使うかで、ある種の文化圏みたいなものができる可能性も十分ある。そこでは、人間社会のように異なる言語を翻訳する通訳のエージェントが出て来るといった具合いで、我々の社会の中で起きているあらゆるでき事が、ネットワークを介して電子の空間の中で可能になるという事である。 このようなソフトウェア開発の背景として、幾つかの事が考えられる。まず、コンピューターが小型化されてたくさんの人が使用するようになった。そうすると、だれでも使えるようにしないと売れない。使い易いという点を追及していくと、どうしても何となく人間の話しているようなインターフェィス機能を持たせる必要が出て来る。そういう社会の状況が一方に存在する。また、我々のコンピューターに対する認識も、以前は、ある種の方程式を解くあるいは情報処理をするといった、問題を解決するための道具として考えていた。しかし、最近では多くの人が指摘しているように、コンピューターは自己を表現するための表現手段になりつつある。これからは、その方向でコンピューターを捉えていく部分が増加していくだろう。その辺が社会的コンセンサスを得ているかどうかは分からないが、ある意味で自己表現の道具としての使い方が、社会の中で広がっているのは事実である。 もう一方では、メモリー容量が飛躍的に拡大したとか計算機のスピードが速くなったという技術的な要因がある。計算機が安くなり計算量が豊富になってくると、上で述べたような事が現実に可能になってくる。すなわち、社会的なニーズとテクノロジーの進歩が両輪相まっているように思う。そして、従来は単独で動いていた計算機がネットワークでつながり始めたという状況により、アイデアとしては70年代からあったものが、もう一度ニーズがあるという事で見直されて、もう少し真面目に研究したらどうかという風潮になりつつあるのが現実ではないかと思う。ハードウェアやソフトウェアの進歩もあるが、社会的な反響がある意味で変わってきたという感じがする。 # router...ルータについて。。。 ・複数のネットワークを接続するための装置の名. ブリッジがデータリンク # bridge...ブリッジについて。。。 ・Ethernet で使用される装置の一つで, ケーブルの長さが足りない場合に # network...ネットワークについて。。。 ・網の目. および網の目が張り巡らされた状態のこと. 放送業界や商業上で
|