人間の直面する様々な問題の解決を電子計算機をよって自動的に行わせることを目標とする研究は、計算機が出現してからほぼ同時に開始され、ハードウェア技術の驚異的な進歩に支えられ現在なおいっそう精力的に続けられている。しかしその目標の実現は非常に困難であることが研究の進展とともに認識されてきた。この壁を克服するためには、要素研究の積み重ねだけではなく、大局的な視野を持った人工知能技術の体系化が必要とされる。このために必要不可欠な機能として、直面している問題を、取扱可能な規模に分割することを通じて、既存の知識による問題解決が可能となる形に整理していくことがあげられる。人間が現在の計算機では取扱うことのできない現実の問題を、試行錯誤を繰り返しながらも解決へとすすめることができるのは、実世界で生じる極めて複雑で見通しの悪い問題を、これまで科学技術の様々な領域で研究され、蓄積されてきた問題領域固有の問題解決手法を生かせる形に変換できるからだと考えられるためである。 本研究の目的は、計算機支援環境における人間-機械の問題解決への役割分担を明確にし、上記に述べた問題分割の機能を包含する適切な問題解決のための枠組みを提案すること、さらにその枠組みに基づいて実行可能なシステムとして計算機上に実装することでその妥当性を検証することである。 上記の目的を達成するために、まずこれまでの人工知能分野における問題解決研究が直面してきた問題点を現実世界の情報の無限性という観点から整理し、知識の明示的な記号表現に基づく知識処理システムにおいては人間の問題解決には不可欠な人間の身体に基づく志向性を表現することは不可能であるとの認識から、知的な問題解決システムにおける人間の役割を、個別の状況における高度に抽象的な判断を行う問題解決主体として定位すべきことを主張した。 この認識のもとに、問題解決行動の動機となる人間の問題意識の表現方法について論じ、人間の問題意識を、その主観的な価値観に基づいた実世界の構造の属性に対する不満足ととらえ、これを属性値に対する不満足値として定量的に返す関数を計算機上の問題表現として定めることで主観的な人間の問題意織を操作可能なものとして定式化した。 次に、問題解決過程を可能な限り計算機上で実行可能なものとするために、人間の問題解決においてなされている試行錯誤の過程を計算機上に表現する手段として、モデルを中心とした解決過程を用いた。これは、入力された問題表現の情報量が解を一意に定めるために不十分であり、解決過程において解を生成するための自由度が大きい設計型の問題に対して、必要な情報を一意に定めるために十分な情報を持つ実体構造をモデルとしてまず定め、それを評価に成功するまで変更を繰り返すことで許容される解を生成するものである。ここでのモデルとは、それまでの問題解決で用いられた情報のうち有用なものだけを凝縮した仮設であると解釈できる。 この考え方を基本に据え、問題解決の開始時点において解決のために必要な情報を確定することが期待できない大規模複雑な実問題を解くための計算機上での実行可能モデルを提案した。この枠組では、問題解決の解候補としての対象構造のモデル化とともに、その解決過程における問題表現も人間の曖昧な問題意織の近似表現であるとの認識のもとにモデル化を行うことで、柔軟な問題解決の実現を可能にしている。 これは人間の持つ問題意識を明確化してその解決のための問題構造を設計するレベルと、そこで定式化された問題の解となる対象構造を定めるレベルの2階層に対してモデル中心の基本的思考方法を適用することを意味している。本研究では、このレベルをそれぞれ要求レベル、対象レベルと呼び、そのレベルで生成されるモデルを要求モデル、対象モデルと呼んでいる。 入力された問題の解決は、まず要求レベルでの要求モデルの生成、すなわち表現された要求を既存の問題解決手法で処理可能な形に構造化することで始められる。この構造化にも過去の問題解決により蓄積された知識が援用される。対象とする問題に対するこのような知識の妥当性は実際に適用しモデルを検証してみなければ正しく確認することはできない。逆に、モデル中心の問題解決過程を通じてそれらの知識の利用方法が洗練され、知識構造が定められていくことになる。 要求モデルが一つ決まれば、そのモデル構造に対応して対象レベルにおける問題解決過程の構造が定まる。これはもとの問題を要求の構造化を通じて適切な形に分割することを意味している。対象レベルでは生成された問題において解候補となる対象モデルが構築され、問題意識に基づいて評価されることで解決が進行する。分割された問題の解は最終的に統合されることで初めの問題意識の解となり得る。 要求モデル構造に基づいて生成された対象レベルの問題解決に失敗した場合には、要求モデルの構造を変更することで新たな問題解決過程を生成し、再び対象モデルでの問題解決を行う。最終的に満足できる解が得られるまで、このサイクルが繰り返される。すなわち、要求モデルの評価はその構造が定める個々の問題解決の成功/失敗に対応している。 以上をまとめると、本研究によって提案した大規模問題解決の枠組においては、その問題の性質が判明していない未知なる問題に対して ・問題表現(要求モデル) ・対象問題に対する問題解決過程 ・問題解決手法の知識 ・解としての実世界の実体構造を表現する対象モデル の4つが動的に構造化することで解決がなされることになる。 この問題解決過程の定式化を設計問題に適用した場合の処理の流れの例を図1に示す。この図において左端の問題解決器(AGENT)上に表現さた問題意識が、問題解決知識の適用によって次列の3つの副問題に分割されている。分割された副問題は再帰的に上記の問題解決過程を適用して解かれることになる。このとき、分割された副問題の干渉の解消を含む解の統合は、問題解決器が起動された時点で動的に組み込まれた領域知識によってなされる。 図1:問題分割に基づく大規模設計問題解決過程 提案する定式化では問題分割による問題解決過程構築知識の記述様式として(1)並列分割:分割してそれぞれを並列に解く(2)順次分割:分割した問題を制約条件を継承しながら定められた順番に解く、の2つを提供し、この組合せで大規模問題解決過程全体を表現することとした。また、この2種類の分割方針の適用によって、有効な問題解決過程の詳細化を実現できることを論じた。 ここに定式化した問題解決過程は、HIPS(Human-machine Interactive Problem Solver)と名付けられたシステムとして計算機ネットワーク上に実装された。このシステムは大規模設計問題の例として衛星打ち上げ系の設計問題に適用され、その実効性を示した。 本研究の課題として次のような点が指摘できる。 ・入力された問題を解決に適用可能な問題解決手法が知識ベース中に存在しない場合、人間が低レベルの解決手法記述を行わなければならないこと。 ・問題解決知識を入力するためのエディタが存在しないため、人間が直接知識表現言語(KAUS)のシンタックスで記述しなければならないこと。 ・成功した問題解決過程を学習して再利用するための枠組みが定式化されていないこと. これらは知識表現と学習に関わる問題である。ここで提案した問題解決過程は、モデル中心の考え方に基づき、解決の進行とともに獲得されていく情報をモデルに反映することで解の詳細化を行っているが、その情報はモデルという事例の形にすべて昇華されてしまっているため、最終的に成功事例としてのみ蓄積されるだけで、問題解決の過程における試行錯誤の経験を明示的に学習することはできない。この問題点に対して問題解決の履歴を以後の再利用に有効な形で蓄積する手法の検討が望まれる。 |