人工知能における重要なテーマの一つに、人間が行う常識的な推論やそれを越 える高次推論の自動化と高速化が挙げられている。このため不完全な知識の計 算機による処理を目指して、論理をベースとした知識表現の理論研究が大きく 発展した。特に、知識の追加により元の理論の定理が棄却されてしまう推論 ( 非単調推論)や、観測結果からその原因を説明するために仮説を生成 する推論( アブダクション) に関する理論的基礎に関しては、近年か なり解明された。それとともに、これらの高次推論体系の効率的実現のための 研究も行われている。
この点に関してわれわれは、モデル生成型定理証明器 MGTP上において、 失敗による否定(negation as failure; NAF)、 選言的論 理プログラミング(disjunctive logic programming)、および アブダ クション(abduction)の処理を実現するソフトウェアとして、 アブダ クティブ論理プログラミング (abuductive logic programming)の処理系 ( ALP処理系)を開発してきた[2]。 また本研究の1年目の成果として、MGTP上のALP処理系第1版をリリースした。
一方、非単調推論やアブダクションを用いる重要な応用として、ダイナミック に環境や知識が変化する問題領域における、 状態変化を伴う推論の実 現が考えられる。状態変化を扱うことはAIにとって古典的な問題であるが、最 近エージェントやロボット・プランニングなどでも脚光を浴びている。この問 題に正面から取り組もうとすると、フレーム問題や状態の推定などの問題にお いて、非単調推論やアブダクションの技術が有効であることが知られている。
状態変化を表現する一手法として、 アクション言語と呼ばれる宣言的 な言語が存在する。状態変化を表現するためにアクション言語を用いるメリッ トには、
最も基本的なアクション言語はGelfondとLifshcitzにより提案された言語 A [1]であり、ここでは アクショ ン(action)の効果について述べる命題と、ある状況での フルーエント (fluent)の値を限定する命題のみが表現可能である。A を拡張し た言語に AR [3], AC [4] などがあり、フルーエント間 の 制約(constraint)が表現できるようになっている。しかし、これら の言語においては、あるアクションの実行により複数のフルーエントのうちの いずれかが成立するというような 非決定性アクション (nondeterministic action) の表現方式に問題がある。このような非決定性ア クションが扱えると、例えばコインを投げると表か裏が出るというような領域 も表現可能となり、様々な状態変化領域が表現できるようになる。
また、[1,4]では計算機で状態変化領域を推論するた めに、A や AC を 拡張論理プログラム(extended logic program)に変換することを提案している。拡張論理プログラムの推論を 計算機上で実現しているシステムは、ALP処理系も含めて数多く存在するので、 実際に計算機で状態変化領域を推論するために論理プログラムを用いることは 有効である。ただし、[1,4] での論理プログラムへの変換は理論上の 提案であり、実際に計算機上で推論を実現し、性能や効率の評価を行った研究 はほとんど報告されていない。
したがって本研究においては、非決定性アクションを含む状態変化領域をアク ション言語で表現し、それを論理プログラムに変換することにより、上記ALP 処理系上で非決定性アクションを含む状態の変化を伴う推論を実現することを 考える。