■ 人工知能について

従来の計算機としてのコンピュータは、数値計算やデータ処理など 人間が行うと多大な労力と時間を伴う仕事(主にルーチンワーク)を 肩代わりする道具として利用されてきました。 近年のコンピュータはその計算能力も飛躍的に向上し、 2011年に日本で開発されたスーパーコンピュータ「京」では 1秒間に1京回(1兆の1万倍)の数値計算が可能です。 こうしたコンピュータの性能の向上に伴い、これまで人手で解けなかった数学の問題 などもコンピュータを使って解くことができるようになりました。 また、近年のインターネットの普及により、コンピュータは計算だけではなく、 コミュニケーションにおいても欠かせない道具となり、 今日のコンピュータは人間の社会活動のあらゆる側面を支えています。 さて、このように高性能化、高機能化されていくコンピュータですが、今後の 技術の発展によって、コンピュータはどこまで人間に近づくことができるのでしょうか?

古くは中世の自動機械から、現代のSFにおける人造人間やロボットに至るまで、 知能を持った機械の実現は、古来からの人間の夢でした。 今日のコンピュータはさまざまな人間の知的活動を代行できるようになりましたが、 その多くが人間が与えたプログラムに従って動いているものです。 今後コンピュータが我々の日常生活により身近なものとして浸透していくためには、 プログラミングやコンピュータの専門知識を持たない一般の人が容易に扱え、 またコンピュータ自身が能動的に人間の思考や発想を支援するような 技術が必要となります。このように知能を持ったコンピュータの実現に向けて、 人間の知能のメカニズムを解明し、コンピュータ上で実現する方法を研究する分野を 人工知能(Artificial Intelligence: AI)といいます。 人工知能の研究の始まりは 1950 年代まで遡ります。約半世紀の研究を経て、 現在その可能性と限界が次第に明らかにされつつありますが、未解決の問題も 数多く残されています。その中から、以下では私の研究テーマを簡単に紹介します。

◆非単調/常識推論

我々が日常行う「AならばB。BならばC。よって、AならばC」 といった推論は演繹(えんえき)推論 と呼ばれるものです。 演繹推論は推論結果を単調に積み重ねていくことが出来、 コンピュータが扱える最も容易な推論の一つです。しかし、 我々の日常生活においてはこうした単調な推論で対処できる状況ばかりとは限らず、 一般に非単調な推論が要求される複雑な問題が 数多く存在します。 このような非演繹的な推論一般を常識推論と 呼びます。こうした常識推論をコンピュータ上で実現するためには、 我々人間が日常行なう常識推論を抽象化し、機械化する作業が必要となります。 本研究では実世界において人間が行うさまざまな常識推論を数学的に形式化し、 コンピュータ上で実現するための方法論を研究します。 本研究における常識推論の形式化という作業を通して 人間の推論メカニズムが明らかにされ、 計算量を解析することによってコンピュータで実現可能な 機械推論の限界が明らかにされることが期待されます。

◆知識表現

コンピュータが人間のように推論を行うためには、 人間が持っている知識をコード化してコンピュータに蓄えておく必要があります。 知識表現とはこうした知識をコンピュータ上で どのような形式で表現するかという問題です。 このようにコード化された人間の知識は 知識ベースと呼ばれるプログラムとなり、 このプログラムの計算によって機械的な推論が実現されるわけです。 本研究では、こうした知識を記述するための言語として 論理と呼ばれる数学的手法を用いることにより、 汎用性の高い知識表現の基礎技術を構築することを目的としています。

◆知識更新

現代の情報化社会では、情報はめまぐるしく変化します。 こうした状況においては、我々は一旦取り込んだ古い情報を 新しいものに随時更新していかなくてはなりません。これはコンピュータにおける 知識ベースにおいても同様です。しかし、知識ベースの更新問題はそう単純では ありません。単に古い情報を新しい情報で置き換えるだけでは、 新旧の情報が一体となることによって 矛盾が生じることもあります。 また、ある情報を更新したい場合に関連する情報の更新の問題、また更新による 波及効果をより少なくするための極小変化の問題 など多くの課題があります。 本研究では、こうした知識更新のための諸問題を検討し、 更新を機械的に実現するための枠組の構築を行います。

◆機械学習

人間は経験や学習を通じて自らの知識を増やし、成長・進化していくことが 出来ます。一方、現在のコンピュータは受動的で、人間がプログラム作成して、 入力してやらないと動作しません。将来、コンピュータが人間のように能動的に 学習・進化する機能を持ち、未知の入力情報に対して自ら適応する能力が備われば、 人間の労力は軽減し、コンピュータの利用価値はさらに高まるでしょう。 このように、コンピュータが入力プログラムやデータから新たなプログラムを 自動的に構成し、新しい情報環境に適応する知識を機械的に獲得するための 技術を機械学習といいます。 機械学習を実現するための推論としては、 帰納推論発想推論(アブダクション)などが代表的で、 本研究ではこれらの推論を使った知識の発見や学習のメカニズムを探求します。

◆マルチエージェントシステム

人工知能において問題解決を行う知的主体のことを エージェントと呼ぶことがあります。 マルチエージェントシステムとは、 単体のエージェントでは解決出来ない複雑な問題を、 複数のエージェントが協調して解決を図るシステムのことです。 従来の人工知能における知識の表現や推論の研究が、 主に「単体のエージェント=人間」を模倣するシステムの開発に 主眼が置かれてきたのに対して、 マルチエージェントシステムは、「複数のエージェント=社会」を模倣するシステムの 開発を目的としています。 そこでは、エージェント間のコミュニケーション、相互作用、協調と競争、 駆け引きの戦略など、単体のエージェントでは起こらない様々な問題が具現します。 本研究では、マルチエージェントシステムにおけるエージェント間の相互作用や 社会的推論の枠組について研究を行います。

■ 計算論理について

コンピュータ科学においては、「アルゴリズム=論理+制御」 という関係が成り立ちます。 つまり、アルゴリズム(計算手続き)は論理(問題の記述)と計算方法(制御)からなるということです。 計算論理はこの関係式における「論理」に相当するもので、解くべき問題を コンピュータが計算可能な形式でどのように論理的に記述するか? という問題に焦点を当てます。 問題をコンピュータが計算可能な形式で記述するための言語は、 プログラミング言語と呼ばれます。 プログラミングはその目的によってさまざまなパラダイム(方法論)が存在しますが、 論理プログラミングはこうした プログラミングパラダイムの一つで、プログラムが論理式の集合で与えられ、 プログラムの計算が論理式からの導出 と呼ばれる推論によって行われます。 論理プログラミングが計算論理の記述言語として支持されるのは、 以下のような理由があります。

多くのプログラミング言語は手続き的であると いわれます。これは最初にどの手続きを実行し、次にどの手続きを実行するかといった 計算の手順(how)がプログラム中に記述されているということです。 これに対して、論理プログラミングはプログラムが 宣言的である特徴を持っています。これは、プログラム中には 知識の内容(what)のみが記述されており、それらを使ってどのように計算 を進めるかといった実行手順は一切記述されていないということです。 このように論理プログラミングでは、プログラムの記述と制御が切り離されているため、 上で述べた「アルゴリズム=論理+制御」の思想と一致するのです (ただし、論理プログラミング言語 Prolog には効率化のために実行制御機能が導入されている)。 宣言的プログラミング言語は手続き的プログラミング言語と比較すると、 プログラムの一部だけを取り出しても意味がある、あるいは プログラムの一部を削除しても全体として無意味になることはない、 といったメリットがあります。 例えば、Cなどの手続き的言語では、プログラムの一部を取り出しても その部分だけでは無意味であり、また全体のプログラムから一行削除するだけで、 全体として動作しなくなるといった問題があるわけです。 人間の頭の中に蓄えられた情報は宣言的です。即ち、ある断片的情報を 取り出してもそれ自体に意味があり、また、一部の情報を忘れてしまっても 頭の中が機能しなくなるということはありません。 論理プログラミングが人工知能の記述言語としても有効であると考えられるのは こうした理由があります。

このような背景から、計算論理の記述言語として主に論理プログラミングに関する研究を行っています。 論理プログラミングが提唱されたのは1970年代で、 1980 年代には日本の第五世代コンピュータプロジェクトの 基本パラダイムとして採用され世界的な注目を集めました。 初期の論理プログラミングはホーン節と呼ばれる 確定的知識を使った演繹(えんえき)推論の機能しか持っていませんでしたが、 その後プログラムの表現能力、推論機能が拡張され、現在では 論理プログラミングに基づく多くの知識表現/推論パラダイムが存在します。 以下では、こうした最近の論理プログラミングにおける私の研究テーマを簡単に紹介します。

◆仮説・不確定・帰納論理プログラミング

仮説論理プログラミング(abductive logic programming) とは、論理プログラミングに アブダクションと呼ばれる仮説推論の枠組を導入したものです。 アブダクションとは、ある事象が観測されたときにその原因 となる仮説をプログラムから自動生成する推論です。 不確定論理プログラミング(disjunctive logic programming) とは、「A または B」のような不確定な情報を含むプログラムを扱う枠組です。 帰納論理プログラミング(inductive logic programming) とは、与えられた観測事象から一般規則を帰納的に 学習する機能を持つものです。 こうした3つの論理プログラミングの枠組は、従来の確定的知識に基づく 演繹機能しか持たない論理プログラミングの表現能力と推論機能を 拡張・強化するもので、人工知能における常識推論の 実現に向けてのアプローチといえます。

◆解集合プログラミング

不確定・不完全な情報を含む論理プログラムは、一般に複数のモデル (プログラムを満たす解釈)を持ちます。このようなモデルのうち、極小なものを 極小モデルあるいは解集合と呼びます。 複数の解集合を持つプログラムでは、Prolog のようなトップダウン型の計算手続きは 一般に正確に機能しないことが知られています。 そこで解集合プログラミング(answer set programming)では、 プログラムに含まれる記述式を解が満たすべき制約式とみなし、 プログラムの持つ複数の解集合をボトムアップに計算します。 解集合プログラミングは論理プログラミングの新しい計算パラダイムとして、近年、注目されています。

◆意味論

プログラムの意味論とは、 プログラムの数学的な解釈を研究する学問です。 論理プログラムの意味は、プログラム中の論理式から導かれる結果によって 特徴付けられます。人間の知識を論理プログラムで記述したとすると、 そのプログラムの意味は、人間が知識を使って推論した結果に対応するわけです。
  プログラム        ⇔  知識
  プログラムの意味   ⇔  推論結果
プログラムが確定的な知識しか含まない場合は、そこから得られる推論結果は 容易に得ることができますが、プログラムが不確定・不完全な知識を含む場合には、 そこからどのような情報が導かれるかを決めることは難しい問題です。 これは人間が断片的な情報しか持ち合わせていない場合に、いかに経験的規則、 常識的推論を働かせて、判断・行動するかという問題に対応しています。 このようにプログラムが不確定・不完全な知識を含む場合に、 人工知能の常識推論を使って機械的に結論を導く方法を調べるのが 本研究のテーマです。

◆プログラム変換

プログラム変換とは、 あるプログラムの構造を機械的に変形して別のプログラムに変換することです。 ここで、変換前のプログラムと変換後のプログラムとを比較したときに、 両者が意味的にどういう関係にあるかということが問題になります。 両者がもし同じ意味であるとすると、あるプログラム(知識)を別の意味的に等価な プログラム(知識)に変換する機械的な変換規則が存在することがいえます。 また、こうした変換によってプログラムをより良いものに変形していく ことも重要です。より良いプログラムとはコンピュータ上で効率的に処理される プログラムのことです。全く同じ計算を行うプログラムでも、書き方によっては 処理効率には大きな差が出てきます。プログラムの意味を保ちつつ、 より効率的なプログラムに変換することがプログラム変換の目標です。 人間が書いたプログラムをコンパイルして、コンピュータが実行可能なコードに 変換するのも、元のプログラムの意味を保ちつつ効率的に処理可能なコードに 変換するという意味でプログラム変換の一種といえます。

◆演繹データベース

コンピュータが利用可能な形態で整理・蓄積されたデータの集まりを データベースと呼びます。 データの整理方法は種々ありますが、このうちデータが満たす関係に基づいて 整理したものを関係データベースといいます。

名前 所属
野茂 ドジャース
イチロー マリナーズ
松井 ヤンキース

関係データベースの例

さて、データベースはそこに蓄積されたデータを検索・利用することは出来ますが、 データを使って新しい事実を導き出すことは出来ません。 そこで、関係データベースに論理プログラミングの演繹推論機能を付加したものを 演繹データベースといいます。 演繹データベースは論理プログラミングを使って記述されますが、 その使用形態において一般に膨大なデータをいかに効率よく処理するかが 焦点になります。また、不確定なデータの扱い、データベースの更新問題なども 不確定論理プログラミングや人工知能における知識更新の問題と密接な関係があります。

★ 人工知能関連サイト

人工知能に関する研究動向は、IJCAI (人工知能国際会議)のサイトで 発表論文を見ることができます。国内の学会としては、人工知能学会 があります。また、日本語のテキストは多数出版されていますが、 エージェントアプローチ人工知能 第2版(共立出版)が人工知能分野のトピックを網羅的にカバーしています。
Maintained by Chiaki Sakama