帰納論理プログラミングは、帰納推論と論理プログラミングを統合した新たな
学問領域であり、帰納推論を一階述語論理の上で展開する強力なアプローチで
ある。従来、経験学習の主流は、ID3や、などに見られる決定木の自動作
成を行なうものであった。これらの帰納推論システムの特徴は、属性および属
性値の対の並び、およびその所属クラスからなる例の集合を与えて、各例がど
のクラスに属するかを属性に対する条件比較を繰り返して判定する決定木を自
動作成する点である。その判定は、命題論理式で表されることが知られている。
また、各例も命題論理式で表せる。すなわち、決定木自動作成システムは、命
題論理に基づく帰納推論システムである。
その言語を命題論理から一階述語論理に拡張することによって、表現力が大 幅に拡張されることが予想される。これまでは、それに伴う処理効率の低下が あまりにも著しいため、この拡張は実用の観点から日の目を見なかったが、最 近の研究の著しい発展によって、それが実用になりつつある。
一階述語論理への拡張は、背景知識の利用を可能にする点で、画期的なもの である。この機能により、知識の連続的な獲得が可能となり、システムに成長 機能を持たせることが出来る。また、十分な背景知識を準備することによって、 これまで処理できなかった問題に対処できるようになり、かなり困難な学習問 題を扱えるようになった。即ち、帰納論理プログラミングが、今後、論理プロ グラミングのアプリケーションとして、大変重要になると予想される。
ところが、表現力の強化は、実行効率の犠牲を伴う。そのため、その実用化 のための条件として、システムの高速化が強く望まれている。例えば、データ ベースからの知識発見などへの応用を考えると、たちまち計算量の壁が問題と なってくる。それが帰納論理プログラミングの並列化の要請が生まれてくる理 由である。
本研究の目的は、KL1によって、帰納論理プログラミングシステムを実装し、 その並列化を図ることである。
帰納論理プログラミングシステムは、FOIL (Quinlan), CIGOL (Muggleton
and Buntine), GOLEM (Muggleton), PROGOL (Muggleton and Srinivasan)など
が知られているが、この中で、機能的にも、効率面でも、PROGOLが最も優れて
いる。機能的には、PROGOLは、背景知識として、基底単位節以外にも、任意の
ホーン節を用いることが出来る。これによって、背景知識の記述力が大幅に向
上した。また、PROGOLは、最弱仮説をボトムとした概念ラティス上での、
アルゴリズムを用いたトップダウン探索を用いており、効率面でも大変優れて
いる。
以上のような理由により、本研究では、並列化の対象として、PROGOLを取り 上げる。
さらに、その並列PROGOLを用いて、機械学習の各種のベンチマーク問題を初 め、データベースからの知識発見や、プログラムの自動合成、技能獲得などの 問題の解決を試み、その有用性の実証を行なう。
本提案の意義は、既に述べたように、帰納論理プログラミングの実用性をいっ そう促進することである。また、KL1にとっては、新たな応用領域が開けるこ とになる。その応用領域は、人工知能の究極的な問題を扱っているので、研究 の面でも、大変有意義であると考えられる。