IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許7468649矛盾検知装置、矛盾検知方法およびコンピュータ読み取り可能な記録媒体
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】矛盾検知装置、矛盾検知方法およびコンピュータ読み取り可能な記録媒体
(51)【国際特許分類】
   G06N 5/04 20230101AFI20240409BHJP
【FI】
G06N5/04
【請求項の数】 9
(21)【出願番号】P 2022532179
(86)(22)【出願日】2020-06-25
(86)【国際出願番号】 JP2020025036
(87)【国際公開番号】W WO2021260885
(87)【国際公開日】2021-12-30
【審査請求日】2022-12-07
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103090
【弁理士】
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【弁理士】
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】平川 志穂
【審査官】渡辺 順哉
(56)【参考文献】
【文献】国際公開第2020/044415(WO,A1)
【文献】特表2015-502620(JP,A)
【文献】特開2013-008221(JP,A)
【文献】特開平06-195220(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 5/04
(57)【特許請求の範囲】
【請求項1】
一以上の観測事象を含む一連の観測事象の入力を受け付ける受付手段と、
前記観測事象をノードとし、当該観測事象それぞれの遷移関係をエッジとして、当該観測事象の真偽値を知識ベースに基づいて決定する決定グラフにおいて、前記受付手段が受け付けた観測事象に対応するノードに接続されるエッジのうち、当該観測事象を否定する側への遷移を示すエッジを削除する削除手段と、
前記削除手段がエッジを削除した後の前記決定グラフにおいて、根ノードから真値を示す葉ノードへのパスが存在するか否か判定する判定手段と、
前記真値を示す葉ノードへのパスが存在しないと前記判定手段が判定した場合、前記知識ベースに対して前記一連の観測事象が矛盾すると決定する決定手段とを備えた
ことを特徴とする矛盾検知装置。
【請求項2】
根ノードから真値を示す葉ノードへのすべてのパスを決定グラフから抽出する抽出手段と、
抽出されたパスのすべてにパス番号を割り当てる割当手段と、
矛盾すると決定された一連の観測事象に含まれる各観測事象を否定する側への遷移を示すエッジを含むパスを検出する検出手段と、
検出されたパスのパス番号を、前記各観測事象に対応付けて付与する付与手段と、
パス番号が付与された観測事象から、全パス番号の極小集合被覆を導出する導出手段とを備えた
請求項1記載の矛盾検知装置。
【請求項3】
判定手段は、削除手段がエッジを削除した後の決定グラフにおいて、最終遷移先に真値を示す葉ノードへのパスが存在しないノードにラベルを設定し、根ノードに前記ラベルが設定された場合に、真値を示す葉ノードへのパスが存在しないと判定する
請求項1または請求項2記載の矛盾検知装置。
【請求項4】
知識ベースのエルブラン空間に基づき、グラウンディング操作を行うグラウンディング操作手段と、
前記グラウンディング操作手段により生成された命題論理式から決定グラフを構築する構築手段とを備えた
請求項1から請求項3のうちのいずれか1項に記載の矛盾検知装置。
【請求項5】
決定手段によって矛盾すると決定された一連の観測事象を出力する出力手段を備えた
請求項1から請求項4のうちのいずれか1項に記載の矛盾検知装置。
【請求項6】
一以上の観測事象を含む一連の観測事象の入力を受け付け、
前記観測事象をノードとし、当該観測事象それぞれの遷移関係をエッジとして、当該観測事象の真偽値を知識ベースに基づいて決定する決定グラフにおいて、受け付けた観測事象に対応するノードに接続されるエッジのうち、当該観測事象を否定する側への遷移を示すエッジを削除し、
前記エッジが削除された後の前記決定グラフにおいて、根ノードから真値を示す葉ノードへのパスが存在するか否か判定し、
前記真値を示す葉ノードへのパスが存在しないと判定された場合、前記知識ベースに対して前記一連の観測事象が矛盾すると決定する
ことを特徴とする矛盾検知方法。
【請求項7】
根ノードから真値を示す葉ノードへのすべてのパスを決定グラフから抽出し、
抽出されたパスのすべてにパス番号を割り当て、
矛盾すると決定された一連の観測事象に含まれる各観測事象を否定する側への遷移を示すエッジを含むパスを検出し、
検出されたパスのパス番号を、前記各観測事象に対応付けて付与し、
パス番号が付与された観測事象から、全パス番号の極小集合被覆を導出する
請求項6記載の矛盾検知方法。
【請求項8】
コンピュータに、
一以上の観測事象を含む一連の観測事象の入力を受け付ける受付処理、
前記観測事象をノードとし、当該観測事象それぞれの遷移関係をエッジとして、当該観測事象の真偽値を知識ベースに基づいて決定する決定グラフにおいて、受け付けた観測事象に対応するノードに接続されるエッジのうち、当該観測事象を否定する側への遷移を示すエッジを削除する削除処理、
前記エッジが削除された後の前記決定グラフにおいて、根ノードから真値を示す葉ノードへのパスが存在するか否か判定する判定処理、および、
前記真値を示す葉ノードへのパスが存在しないと判定された場合、前記知識ベースに対して前記一連の観測事象が矛盾すると決定する決定処理
を実行させるための矛盾検知プログラム。
【請求項9】
コンピュータに、
根ノードから真値を示す葉ノードへのすべてのパスを決定グラフから抽出する抽出処理
抽出されたパスのすべてにパス番号を割り当てる割当処理、
矛盾すると決定された一連の観測事象に含まれる各観測事象を否定する側への遷移を示すエッジを含むパスを検出する検出処理、
検出されたパスのパス番号を、前記各観測事象に対応付けて付与する付与処理、および、
パス番号が付与された観測事象から、全パス番号の極小集合被覆を導出する導出処理を実行させ
請求項8記載の矛盾検知プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、観測された事象に推論知識を適用して仮説を導出する際の矛盾を検知する矛盾検知装置および矛盾検知方法に関し、更には、これらを実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【0002】
論理的推論の一種に、仮説推論と呼ばれる手法が知られている。仮説推論は、与えられた知識(ルール)と観測事象(得られた事実)とから、最良の仮説を導く手法である。例えば、知識として「A⇒B(Aが成り立っているならばBが成り立つ)」が存在し、観測事象として「B(Bが成り立っている)」が取得されたとする。この場合、仮説推論により、仮説として「A(Aが成り立っている)」が得られる。
【0003】
この仮説推論を、計算機によって実行する試みがなされている(例えば、特許文献1参照)。計算機によって仮説推論を行えば、事実から得られた情報に基づいて、様々な事態を推理することが可能となる。このため、計算機による仮説推論は、出店計画、犯罪捜査、災害時の避難、環境管理などに有用であり、仮説推論を利用すればシミュレーションの精度の向上が期待できる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2000-242499号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
一方、特許文献1では、観測事象が知識に対して矛盾する場合を想定していない。そのため、仮説推論において、観測事象が知識に対して矛盾している場合、正しい仮説を導くことができない。このような場合、無駄な推論を行うことで、時間を無駄にし、また、正しい推論結果が導けない恐れがある。このため、仮説を導出する際に、知識ベースに対する観測事象の矛盾を検知できることが望まれる。
【0006】
本発明の目的の一例は、知識ベースに対する観測事象の矛盾を検知できる矛盾検知装置、矛盾検知方法およびコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明の一側面における矛盾検知装置は、一以上の観測事象を含む一連の観測事象の入力を受け付ける受付手段と、観測事象をノードとし、その観測事象それぞれの遷移関係をエッジとして、観測事象の真偽値を知識ベースに基づいて決定する決定グラフにおいて、受付手段が受け付けた観測事象に対応するノードに接続されるエッジのうち、その観測事象を否定する側への遷移を示すエッジを削除する削除手段と、削除手段がエッジを削除した後の決定グラフにおいて、根ノードから真値を示す葉ノードへのパスが存在するか否か判定する判定手段と、真値を示す葉ノードへのパスが存在しないと判定手段が判定した場合、知識ベースに対して一連の観測事象が矛盾すると決定する決定手段とを備えたことを特徴とする
【0008】
また、上記目的を達成するため、本発明の一側面における矛盾検知方法は、一以上の観測事象を含む一連の観測事象の入力を受け付け、観測事象をノードとし、その観測事象それぞれの遷移関係をエッジとして、観測事象の真偽値を知識ベースに基づいて決定する決定グラフにおいて、受け付けた観測事象に対応するノードに接続されるエッジのうち、その観測事象を否定する側への遷移を示すエッジを削除し、エッジが削除された後の決定グラフにおいて、根ノードから真値を示す葉ノードへのパスが存在するか否か判定し、真値を示す葉ノードへのパスが存在しないと判定された場合、知識ベースに対して一連の観測事象が矛盾すると決定することを特徴とする
【0009】
更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、コンピュータに、一以上の観測事象を含む一連の観測事象の入力を受け付ける受付処理、観測事象をノードとし、その観測事象それぞれの遷移関係をエッジとして、観測事象の真偽値を知識ベースに基づいて決定する決定グラフにおいて、受け付けた観測事象に対応するノードに接続されるエッジのうち、その観測事象を否定する側への遷移を示すエッジを削除する削除処理、エッジが削除された後の決定グラフにおいて、根ノードから真値を示す葉ノードへのパスが存在するか否か判定する判定処理、および、真値を示す葉ノードへのパスが存在しないと判定された場合、知識ベースに対して一連の観測事象が矛盾すると決定する決定処理を実行させるための矛盾検知プログラムを記憶することを特徴とする。
【発明の効果】
【0010】
本発明によれば、知識ベースに対する観測事象の矛盾を検知できる。
【図面の簡単な説明】
【0011】
図1】本発明による矛盾検知装置の第一の実施形態の構成例を示すブロック図である。
図2】決定グラフの例を示す説明図である。
図3】エッジを削除する処理の例を示す説明図である。
図4】エッジを削除する処理の他の例を示す説明図である。
図5】エッジを削除する処理の他の例を示す説明図である。
図6】第一の実施形態の矛盾検知装置の動作例を示すフローチャートである。
図7】本発明による矛盾検知装置の第二の実施形態の構成例を示すブロック図である。
図8】極小矛盾集合検知装置の構成例を示すブロック図である。
図9】パス番号が割り当てられた決定グラフの例を示す説明図である。
図10】観測事象に対して遮断するパスの一覧を示す説明図である。
図11】第二の実施形態の矛盾検知装置の動作例を示すフローチャートである。
図12】極小矛盾集合検知装置が行う極小集合被覆計算処理の例を示すフローチャートである。
図13】本発明による矛盾検知装置の第三の実施形態の構成例を示すブロック図である。
図14】パスが存在するか否か判定する処理の例を示す説明図である。
図15】パスが存在するか否か判定する処理の例を示す説明図である。
図16】到達可能性について判定処理を行う例を示すフローチャートである。
図17】パスが存在するか否か判定する処理の他の例を示す説明図である。
図18】パスが存在するか否か判定する処理の他の例を示す説明図である。
図19】パスが存在するか否か判定する処理の他の例を示す説明図である。
図20】本発明による矛盾検知装置の第四の実施形態の構成例を示すブロック図である。
図21】第四の実施形態の矛盾検知装置の動作例を示すフローチャートである。
図22】矛盾検知装置を実現するコンピュータの一例を示すブロック図である。
図23】本発明による矛盾検知装置の概要を示すブロック図である。
【発明を実施するための形態】
【0012】
本発明の実施形態における矛盾検知装置、矛盾検知方法およびコンピュータ読み取り可能な記録媒体について、図面を参照しながら説明する。
【0013】
(実施形態1)
[装置構成]
図1は、本発明による矛盾検知装置の第一の実施形態の構成例を示すブロック図である。本発明による矛盾検知装置は、観測された事象(以下、観測事象と言う。)が知識ベースに対して矛盾するかを検知する装置である。本実施形態の矛盾検知装置1は、構築部11と、受付部12と、削除部13と、判定部14と、繰り返し制御部15と、決定部16と、出力部18とを備えている。
【0014】
構築部11は、知識ベースに基づいて、観測事象をノードとし、観測事象それぞれの遷移関係をエッジとして、観測事象の真偽値を知識ベースに基づいて出力する決定グラフを構築する。具体的には、決定グラフの葉ノードが、真偽値を示すノードである。
【0015】
知識ベースは、仮説推論を実行するためのデータである。知識ベースは、不図示の記憶装置に記憶される。その記憶装置は、矛盾検知装置1の外部に設けられてもよいし、矛盾検知装置1が備えていてもよい。
【0016】
知識ベースは、例えば、一階述語論理式の含意関係ルールによって表現される。知識ベースは、例えば、「前状態(前提)⇒後状態(帰結)」の形式で表現される。この形式は、観測される前提となる前状態が真ならば、必然の帰結となる後状態が導かれる、ことを示している。また、この形式では、「後状態」は「前状態」が成り立つための必要条件である。「前状態」は「後状態」が成り立つための十分条件である。また、十分条件は複数の命題の連言で表現することもできる。知識ベースは、例えば、「前状態(前提)∧動作⇒後状態」と表現されていても良い。
【0017】
また、観測事象は、例えば、一階述語論理式によって表される。観測事象は複数与えられることもあり、複数与えられた場合の観測事象のまとまりを一連の観測事象と呼ぶ。知識ベースと一連の観測事象とから偽値(以下、Falseと記すこともある。)のみが導かれる場合、矛盾していると判断される。つまり,知識ベースと一連の観測事象とで表わされる決定グラフにおいて、根ノードから真値を示す葉ノードへのパスが存在しない場合、矛盾していることになる。
【0018】
構築部11は、例えば、知識ベースに基づいて論理式の値をすべての変数について場合分けした結果を二分決定木で表わし、これを縮約することにより、決定グラフとしてZDD(Zero-suppressed Binary Decision Diagram)を構築してもよい。
【0019】
図2は、構築部11が構築した決定グラフの例を示す説明図である。図2に例示する決定グラフは、知識ベースを表したZDDである。この決定グラフは、ノードとエッジとからなる。各ノードは、観測される事象である。各エッジは、ノードとノードとを繋ぎ、各ノードの遷移関係を表わす。図2に示す例では、ノードが真である場合に遷移する方向のエッジ(以下、「True」のエッジと記す。)を実線の矢印で示し、ノードが偽である場合に遷移する方向のエッジ(以下、「False」のエッジと記す。)を破線の矢印で示す。
【0020】
図2に例示する決定グラフにおいて、根ノードは、親ノードを持たないノードであり、ノード「P」である。また、葉ノードは、子ノードを持たないノードであり、図2に示す例では、「True」および「False」のノードである。この決定グラフからは、観測事象の真偽値、つまり、「True」または「False」が導き出される。
【0021】
ZDDの性質より、ノード「P」に接続された「False」のエッジは、「¬Q」と「¬R」を含んでおり、ノード「Q」に接続された「True」のエッジは、「¬R」を含んでいる。同様に、ノード「R」に接続された「True」エッジと「False」エッジは「¬S」を含んでおり、ノード「S」に接続された「False」エッジは「¬T」を含んでいる。また、ノード「T」に接続された「True」エッジは「¬U」を「False」エッジは「¬U」と「¬V」を含んでおり、ノード「U」に接続された「True」エッジは「¬V」を含んでいる。
なお、構築部11は、決定グラフとして、SDD(Sentential Decision Diagram)を構築してもよい。
【0022】
受付部12は、観測事象を受け付ける。具体的には、受付部12は、一以上の観測事象を含む一連の観測事象の入力を受け付ける。
【0023】
削除部13は、決定グラフにおいて、受付部12が受け付けた観測事象に対応するノードに接続されるエッジのうち、観測事象を否定する側への遷移を示すエッジを削除する。図3は、エッジを削除する処理の例を示す説明図である。図2に例示する決定グラフにおいて、観測事象を否定する側への遷移を示すエッジとは、例えば、観測事象が「¬S」である場合、ノード「S」に接続された「True」のエッジ(図3に例示する(A)のエッジ)である。
【0024】
判定部14は、削除部13がエッジを削除した後の決定グラフにおいて、根ノードから、真値を示す葉ノードへのパスが存在する否か判定する。具体的には、判定部14は、削除部13がエッジを削除した後の決定グラフにおける「True」の葉ノードへの到達可能性を判定する。
【0025】
到達可能性とは、根ノードから「True」の葉ノードへのパス(以下、単に「True」へのパスと記す。)の存在の有無である。「True」へのパスが存在する場合、判定部14は、到達可能性があると判定する。一方、「True」へのパスが存在しない場合、判定部14は、到達可能性がないと判定する。図3に例示する決定グラフにおいて、(A)のエッジを削除しても、「True」へのパスは存在する。したがって、判定部14は、図3に例示する決定グラフについて、到達可能性があると判定する。
【0026】
繰り返し制御部15は、「True」へのパスが存在すると判定部14が判定した場合、受付部12、削除部13および判定部14に、上述する処理を繰り返し実行させる制御を行う。図4および図5は、エッジを削除する処理の他の例を示す説明図である。以下、受付部12が、観測事象「¬U」、「P」、および、「Q」の入力を順に受け付けたものとする。
【0027】
まず、受付部12は、次の観測事象である「¬U」の入力を受け付ける。削除部13は、ノード「U」に接続された「True」のエッジ(図4に例示する(B)のエッジ)を削除する。判定部14は、削除部13によるエッジ削除後の決定グラフにおける到達可能性を判定する。
【0028】
この段階では、「True」へのパスが存在する。そこで、受付部12は、次の観測事象である「P」の入力を受け付ける。ノード「P」に接続された「False」のエッジを削除しても、「True」へのパスが存在する。そこで、受付部12は、次の観測事象である「Q」の入力を受け付ける。図5に例示する決定グラフは、ノード「Q」に接続された「False」のエッジを削除した後の決定グラフを示す。
【0029】
図5に例示する決定グラフでは、根ノードから「True」の葉ノードへのパスが存在しない。つまり、判定部14は、到達可能性がないと判定する。すなわち、図5に例示する決定グラフは、以降、どのような事象が観測されても、常に「False」が出力されることを意味する。
【0030】
判定部14が「True」へのパスが存在するか否か判定する方法は任意である。判定部14は、例えば、根ノードから葉ノードまでのエッジを総当たりで探索して「True」へのパスが存在するか否か判定してもよい。
【0031】
決定部16は、真値を示す葉ノードへのパスが存在しないと判定部14が判定した場合、知識ベースに対して一連の観測事象が矛盾すると決定する。例えば、図2から図4に示す例の場合、決定部16は、一連の観測事象(「¬S」、「¬U」、「P」、「Q」)が知識ベースに対して矛盾すると決定する。
【0032】
出力部18は、決定部16によって矛盾すると決定された一連の観測事象(具体的には、矛盾を検知するまでに受付部12が受け付けた観測事象)を出力する。出力部18は、例えば、一連の観測事象により決定グラフのエッジが削除される過程を順次出力してもよい。
【0033】
構築部11と、受付部12と、削除部13と、判定部14と、繰り返し制御部15と、決定部16と、出力部18とは、プログラム(矛盾検知プログラム)に従って動作するコンピュータのプロセッサ(例えば、CPU(Central Processing Unit )、GPU(Graphics Processing Unit))によって実現される。
【0034】
例えば、プログラムは、矛盾検知装置1の記憶部(図示せず)に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、構築部11と、受付部12と、削除部13と、判定部14と、繰り返し制御部15と、決定部16と、出力部18として動作してもよい。また、構築部11と、受付部12と、削除部13と、判定部14と、繰り返し制御部15と、決定部16と、出力部18の各機能がSaaS(Software as a Service )形式で提供されてもよい。
【0035】
また、構築部11と、受付部12と、削除部13と、判定部14と、繰り返し制御部15と、決定部16と、出力部18とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【0036】
また、構築部11と、受付部12と、削除部13と、判定部14と、繰り返し制御部15と、決定部16と、出力部18の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0037】
次に、本実施形態の矛盾検知装置1の動作を説明する。図6は、本実施形態の矛盾検知装置1の動作例を示すフローチャートである。第1の実施形態では、矛盾検知装置1を動作させることによって、矛盾検知方法が実施される。よって、第1の実施形態における矛盾検知方法の説明を、以下の矛盾検知装置1の動作説明に代える。
【0038】
構築部11は、知識ベースに基づいて決定グラフを構築する(ステップS1)。次に、受付部12は、事象の観測が終了したかを判定する(ステップS2)。事象の観測が終了していない場合(ステップS2:NO)、観測事象の入力を受け付ける(ステップS3)。一方、事象の観測が終了した場合(ステップS2:YES)、本処理は終了する。
【0039】
削除部13は、ステップS1で構築された決定グラフにおいて、ステップS3で受け付けた観測事象に対応するノードに接続されるエッジのうち、観測事象を否定する側への遷移を示すエッジを削除する(ステップS4)。そして、判定部14は、ステップS4でエッジが削除された後の決定グラフにおける到達可能性を判定する(ステップS5)。
【0040】
到達可能性がある場合(ステップS6:YES)、繰り返し制御部15は、受付部12、削除部13および判定部14それぞれに、ステップS2からステップS5までの各処理を繰り返し実行させる制御を行う。一方、到達可能性がない場合(ステップS6:NO)、決定部16は、これまでに受け付けた一連の観測事象が知識ベースに対して矛盾すると決定する(ステップS7)。そして、出力部18は、一連の観測事象を出力する(ステップS8)。
【0041】
以上のように、本実施形態では、受付部12が、一連の観測事象の入力を受け付け、削除部13が、決定グラフにおいて、受け付けた観測事象に対応するノードに接続されるエッジのうち、その観測事象を否定する側への遷移を示すエッジを削除する。そして、判定部14が、エッジが削除された後の決定グラフにおいて、根ノードから真値を示す葉ノードへのパスが存在するか否か判定し、真値を示す葉ノードへのパスが存在しないと判定された場合、決定部16が、知識ベースに対して一連の観測事象が矛盾すると決定する。よって、知識ベースに対する観測事象の矛盾を検知できる。
【0042】
(実施形態2)
次に、本発明による矛盾検知装置の第二の実施形態を説明する。図7は、本発明による矛盾検知装置の第二の実施形態の構成例を示すブロック図である。本実施形態の矛盾検知装置2は、構築部11と、受付部12と、削除部13と、判定部14と、繰り返し制御部15と、決定部16と、極小矛盾集合検知装置30と、出力部18とを備えている。
【0043】
すなわち、本実施形態の矛盾検知装置2は、第一の実施形態の矛盾検知装置1と比較し、極小矛盾集合検知装置30をさらに備えている点において異なる。それ以外の構成は、第一の実施形態と同様である。以下、第一の実施形態と同様の構成については、同一の符号を付し、説明を省略する。
【0044】
極小矛盾集合検知装置30は、冗長な観測事象を取り除いて、真に矛盾する観測事象の集合を検知する装置であり、知識ベースに対して矛盾する一連の観測事象から極小集合被覆を検知する装置である。
【0045】
なお、図7に示す例では、極小矛盾集合検知装置30が矛盾検知装置2に含まれる構成を例示しているが、極小矛盾集合検知装置30は、矛盾検知装置2とは独立して設けられていてもよい。
【0046】
図8は、極小矛盾集合検知装置30の構成例を示すブロック図である。極小矛盾集合検知装置30は、決定グラフ取得部31と、観測事象取得部32と、極小集合被覆導出部33と、出力部34とを含む。
【0047】
決定グラフ取得部31は、構築部11が構築した決定グラフを取得する。
【0048】
観測事象取得部32は、決定部16によって、知識ベースに対して矛盾すると決定された一連の観測事象を取得する。ここでは、観測事象取得部32が、第一の実施形態で矛盾すると決定された一連の観測事象「¬S」、「¬U」、「P」および「Q」を取得したものとする。
【0049】
極小集合被覆導出部33は、観測事象取得部32が取得した一連の観測事象を、決定グラフを用いて、極小集合被覆問題に変換することにより極小集合被覆を求める。極小集合被覆導出部33は、抽出部331と、割当部332と、検出部333と、付与部334と、導出部335とを有する。
【0050】
抽出部331は、決定グラフにおいて、根ノードから「True」の葉ノードへのすべてのパスを抽出する。パスを抽出する方法は任意であり、抽出部331は、例えば、総当たり的にパスを抽出してもよい。
【0051】
割当部332は、抽出部331が抽出した根ノードから「True」の葉ノードへのパスのすべてにパス番号を割り当てる。図9は、パス番号が割り当てられた決定グラフの例を示す説明図である。割当部332は、図9に示すように、パスを構成する各エッジに、パス番号(1)~(6)を割り当てる。
【0052】
検出部333は、観測事象取得部32が取得した一連の観測事象のうち、どの事象が観測された場合に、パス番号(1)~(6)が割り当てられたパスを遮断するかを検出する。具体的には、検出部333は、矛盾すると決定された一連の観測事象に含まれる各観測事象を否定する側への遷移を示すエッジを含むパスを検出する。例えば、観測事象が「¬S」である場合、検出部333は、パス番号(1)および(5)のパスを検出する。
【0053】
図10は、観測事象に対して遮断するパスの一覧を示す説明図である。第一の実施形態で例示するように、知識ベースに対して矛盾すると決定された一連の観測事象が(「¬S」、「¬U」、「P」、「Q」であったとする。上述するように、検出部333は、観測事象「¬S」に対してパス番号(1)および(5)のパスを検出する。また、検出部333は、観測事象「¬U」に対して、パス番号(2),(4)および(6)のパスを検出する。同様に、検出部333は、観測事象「P」に対してパス番号(5)および(6)のパスを検出し、観測事象「Q」に対して、パス番号(3)および(4)のパスを検出する。
【0054】
付与部334は、矛盾すると決定された一連の観測事象に含まれる各観測事象に対して検出されたパスのパス番号を、各観測事象に対応付けて付与する。具体的には、付与部334は、図10に例示するような対応付けを行う。
【0055】
導出部335は、パス番号が付与された観測事象から、全パス番号の極小集合被覆を導出する。つまり、導出部335は、すべてのパス番号(1)~(6)を充足する、観測事象の最小の組み合わせを導出する。図10に示す例の場合、事象「¬S」、「¬U」、「Q」の組み合わせで、パス番号(1)~(6)すべてを充足する。これは、知識ベースに対して矛盾する観測事象の極小の組み合わせの一つが、「¬S」、「¬U」、「Q」であることを意味する。このように、知識ベースに対して矛盾するとされた複数の観測事象から極小集合被覆を求めることで、矛盾検知の信頼性を向上させることができる。
【0056】
出力部34は、極小集合被覆導出部33により求められた極小集合被覆の結果を出力する。なお、出力部34は、決定部16が矛盾を検知した場合、矛盾を決定するまでに受付部12が受け付けた一連の観測事象、「¬S」、「¬U」、「P」、「Q」を出力してもよい。また、出力部34は、例えば、極小集合被覆の結果を矛盾検知装置2の外部へ出力してもよい。また、矛盾検知装置2が表示装置(図示せず)を備える場合、出力部34は、その表示装置に極小集合被覆の結果を出力してもよい。
【0057】
抽出部331と、割当部332と、検出部333と、付与部334と、導出部335とは、プログラムに従って動作するコンピュータのプロセッサによって実現される。なお、このプログラムは、上述する矛盾検知プログラムの一部に含まれていてもよく、単体のプログラム(極小集合被覆導出プログラム)であってもよい。
【0058】
次に、本実施形態の矛盾検知装置2の動作を説明する。図11は、本実施形態の矛盾検知装置2の動作例を示すフローチャートである。第二の実施形態では、矛盾検知装置2を動作させることによって、矛盾検知方法が実施される。よって、第二の実施形態における矛盾検知方法の説明を、以下の矛盾検知装置2の動作説明に代える。
【0059】
なお、知識ベースに対して矛盾する一連の観測事象を決定するステップS1からステップS7までの処理は、図6に例示するフローチャートのステップS1からステップS7までの処理と同様である。
【0060】
極小矛盾集合検知装置30は、知識ベースに対して矛盾する一連の観測事象から極小集合被覆を検知する極小集合被覆計算処理を行う(ステップS10)。そして、出力部18は、一連の観測事象を出力する(ステップS8)。
【0061】
図12は、極小矛盾集合検知装置30が行う極小集合被覆計算処理の例を示すフローチャートである。
【0062】
決定グラフ取得部31は、構築部11が構築した決定グラフを取得する(ステップS11)。観測事象取得部32は、決定部16が矛盾すると決定した一連の観測事象を取得する(ステップS12)。極小集合被覆導出部33の抽出部331は、ステップS11で取得した決定グラフにおいて、根ノードから「True」の葉ノードへのすべてのパスを抽出する(ステップS13)。
【0063】
極小集合被覆導出部33の割当部332は、図9に例示するように、ステップS13で抽出したパスのすべてにパス番号を割り当てる(ステップS14)。次に、極小集合被覆導出部33の検出部333は、パス番号が割り当てられたパスを遮断する観測事象を、一連の観測事象から検出する(ステップS15)。そして、極小集合被覆導出部33の付与部334は、図10に例示するように、ステップS15で検出した観測事象に、遮断するパスのパス番号を対応付けて付与する(ステップS16)。
【0064】
導出部335は、ステップS16でパス番号が付与された観測事象から、全パス番号の極小集合被覆を導出する(ステップS17)。そして、出力部34は、導出した極小集合被覆を出力する(ステップS18)。
【0065】
以上のように、本実施形態では、抽出部331が、根ノードから真値を示す葉ノードへのすべてのパスを決定グラフから抽出し、割当部332が、抽出されたパスのすべてにパス番号を割り当てる。また、検出部333が、矛盾すると決定された一連の観測事象に含まれる各観測事象を否定する側への遷移を示すエッジを含むパスを検出し、付与部334が、検出されたパスのパス番号を各観測事象に対応付けて付与する。そして、導出部335が、パス番号が付与された観測事象から、全パス番号の極小集合被覆を導出する。
【0066】
よって、第一の実施形態の効果に加え、冗長な観測事象を取り除いて、真に矛盾する観測事象の集合を検知できる。
【0067】
(実施形態3)
次に、本発明による矛盾検知装置の第三の実施形態を説明する。第三の実施形態では、第一の実施形態と比較し、知識ベースに対して到達可能性を判定する方法が異なる。図13は、本発明による矛盾検知装置の第三の実施形態の構成例を示すブロック図である。本実施形態の矛盾検知装置3は、構築部11と、受付部12と、削除部13と、判定部24と、繰り返し制御部15と、決定部16と、出力部18とを備えている。
【0068】
すなわち、本実施形態の矛盾検知装置3は、第一の実施形態の矛盾検知装置1と比較し、判定部14の代わりに判定部24を備えている点において異なる。それ以外の構成は、第一の実施形態と同様である。以下、第一の実施形態と同様の構成については、同一の符号を付し、説明を省略する。なお、矛盾検知装置3が、第二の実施形態の極小矛盾集合検知装置30を備えていてもよい。
【0069】
判定部24は、第一の実施形態の判定部14と同様に、削除部13がエッジを削除した後の決定グラフにおいて、根ノードから、真値を示す葉ノードへのパスが存在する否か判定する。なお、本実施形態の判定部24は、削除部13がエッジを削除した後の決定グラフにおいて、最終遷移先に真値を示す葉ノードへのパスが存在しないノードにラベルを設定する。そして、判定部24は、根ノードにラベルが設定された場合に、真値を示す葉ノードへのパスが存在しないと判定する。以下の説明では、このラベルのことを「False」のラベルと記すこともある。
【0070】
以下、具体例を用いて、本実施形態の判定部24の動作を説明する。図14および図15は、判定部24によってパスが存在するか否か判定する処理の例を示す説明図である。
【0071】
判定部24は、削除部13によりエッジが削除された決定グラフにおいて、最終遷移先に「True」の葉ノードを含まないノードに「False」のラベルを設定する。図14に示す例において、観測事象が「¬S」である場合、削除部13は、ノード「S」に接続される「True」のエッジを削除する。この場合、最終遷移先に「True」の葉ノードを含まないノードは存在しない。
【0072】
図15は、図14に例示する決定グラフに対し、削除部13がノード「S」に接続される「True」のエッジを削除した後のグラフを示す。例えば、次の観測事象が「¬U」である場合、削除部13は、ノード「U」に接続される「True」のエッジを削除する。この結果、ノード「U」、およびノード「S」は、最終遷移先に「True」の葉ノードを含まない。そこで、判定部24は、ノード「U」およびノード「S」に対して「False」のラベルを設定する。図15に示す例では、「False」のラベルを(F)で表わしている。
【0073】
この処理を繰り返し、判定部24は、根ノード(ノード「P」)にラベルが設定された場合、根ノードから、「True」の葉ノードへのパスが存在しないと判定する。つまり、この場合、判定部24は、到達可能性がないと判定する。一方、根ノードにラベルが設定されていない場合、判定部24は、根ノードから、「True」の葉ノードへのパスが存在すると判定する。つまり、この場合、判定部14は、到達可能性があると判定する。
【0074】
繰り返し制御部15は、第一の実施形態と同様、判定部24が到達可能性ありと判定した場合、受付部12、削除部13および判定部24それぞれに、処理を再度実行させる制御を行う。
【0075】
構築部11と、受付部12と、削除部13と、判定部24と、繰り返し制御部15と、決定部16と、出力部18とは、プログラム(矛盾検知プログラム)に従って動作するコンピュータのプロセッサによって実現される。
【0076】
次に、本実施形態の矛盾検知装置3の動作を説明する。第3の実施形態では、矛盾検知装置3を動作させることによって、矛盾検知方法が実施される。よって、第3の実施形態における矛盾検知方法の説明を、以下の矛盾検知装置3の動作説明に代える。本実施形態の矛盾検知装置3の動作は、図6に例示するフローチャートで示す動作と同様である。ただし、到達可能性判定を行う図6のステップS5の処理が第一の実施形態と異なる。
【0077】
図16は、到達可能性について判定処理を行う例を示すフローチャートである。以下、観測事象が「¬S」、「¬U」、「Q」の順に入力されたものと仮定して、本実施形態の判定処理を具体的に説明する。図17から図19は、パスが存在するか否か判定する処理の他の例を示す説明図である。
【0078】
まず、受付部12が観測事象「¬S」の入力を受け付け、削除部13がノード「¬S」に接続される「True」のエッジを削除する(図14参照)。この削除後の決定グラフにおいて、判定部24は、子ノードが「False」の葉ノード又は「False」のラベルが設定されたノードのみか否か判定する(ステップS31)。具体的には、判定部24は、ノード「S」の子ノードが、「False」の葉ノード又は「False」のラベルが設定されたノードのみであるか否か判定する。図14に例示するように、ノード「S」の子ノード「U」にはラベルが設定されていない。この場合(ステップS31:NO)、判定部24は、「True」への到達可能性があると判定し(ステップS37)、ステップS31以降の処理を繰り返す。
【0079】
続いて、受付部12が観測事象「¬U」の入力を受け付け、削除部13がノード「U」に接続される「True」のエッジを削除する(図15参照)。この削除後の決定グラフにおいて、判定部24は、ノード「U」の子ノードが、「False」の葉ノード又は「False」のラベルが設定されたノードのみであるか否か判定する(ステップS31)。図15に例示するように、ノード「U」の遷移先は、葉ノード「False」のみである。この場合(ステップS31:YES)、判定部24は、ノード「U」に対して、「False」のラベルを設定する(ステップS32)。
【0080】
次に、判定部24は、ラベルを設定したノードの親ノードに接続される子ノードの数が一つか否か判定する(ステップS33)。具体的には、判定部24は、ノード「U」の親ノード「R」の子ノードが一つであるか否か判定する。図15に例示するように、ノード「R」の子ノードはノード「U」とノード「T」の二つである(ステップS33:NO)。さらに、判定部24は、上記親ノードの他の子ノードが「False」のラベルが設定されている又は「False」の葉ノードであるか否か判定する(ステップS35)。具体的には、判定部24は、親ノード「R」のもう一方の子ノード「T」が「False」のラベルが設定されている又は「False」の葉ノードであるか否か判定する。図15に例示するように、ノード「R」のもう一方の子ノード「T」には「False」のラベルが設定されていない(ステップS35:NO)。
【0081】
その後、判定部24は、他の親ノード全ての判定処理が完了したか否か判定する(ステップS39)。図15に例示するように、もう一方の親ノード「S」の処理が完了していない(ステップS39:NO)。そこで、判定部24は、ノード「U」のもう一方の親ノード「S」の子ノードが一つであるか否か判定する(ステップS33)。図15に例示するように、親ノード「S」の子ノードは一つである(ステップS33:YES)。よって、判定部24は、ノード「S」に「False」のラベルを設定する(ステップS34)。
【0082】
続いて、判定部24は、「False」のラベルが設定されたノード「S」の親ノードについてラベル操作を行う。
【0083】
判定部24は、ノード「S」の親ノード「Q」の子ノードが一つであるか否か判定する(ステップS33)。図15に例示するように、ノード「Q」の子ノードはノード「R」とノード「S」の二つである(ステップS33:NO)。続いて、判定部24は、親ノード「Q」のもう一方の子ノード「R」が「False」のラベルが設定されている又は「False」の葉ノードであるか否か判定する(ステップS35)。図15に例示するように、親ノード「Q」のもう一方の子ノード「R」には「False」のラベルが設定されていない(ステップS35:NO)。
【0084】
その後、判定部24は、他の親ノード全ての判定処理が完了したか否か判定する(ステップS39)。図15に例示するように、もう一方の親ノード「P」の処理が完了していない(ステップS39:NO)。そこで、判定部24は、ノード「S」の親ノード「P」の子ノードが一つであるか否か判定する(ステップS33)。図15に例示するように、ノード「P」の子ノードはノード「Q」とノード「S」の二つである(ステップS33:NO)。続いて、親ノード「P」のもう一方の子ノード「Q」が「False」のラベルが設定されている又は「False」の葉ノードであるか否か判定する(ステップS35)。図15に例示するように、親ノード「P」のもう一方の子ノード「Q」には「False」のラベルが設定されていない(ステップS35:NO)。
【0085】
その後、判定部24は、他の親ノード全ての判定処理が完了したか否か判定する(ステップS39)。図15に例示するように、他の親ノード全ての判定処理が完了している(ステップS39:YES)。そこで、判定部24は、根ノードにラベルが設定されているか否か判定する(ステップS36)。図15に例示するように、根ノード「P」にラベルは設定されていない。この場合(ステップS36:NO)、判定部24は、到達可能性ありと判定する(ステップS37)。
【0086】
続いて、受付部12が観測事象「Q」の入力を受け付け、削除部13がノード「Q」に接続される「False」のエッジを削除する(図17参照)。この削除後の決定グラフにおいて、判定部24は、ノード「Q」の子ノードが、「False」の葉ノード又は「False」のラベルが設定されたノードのみであるかを判定する(ステップS31)。図17に例示するように、ノード「Q」の子ノード「S」には「False」のラベルが設定されている。この場合(ステップS31:YES)、判定部24は、ノード「Q」に対して、「False」のラベルを設定する(ステップS32)(図18参照)。
【0087】
続いて、判定部24は、ノード「Q」の親ノード「P」の子ノードが一つであるか否か判定する(ステップS33)。図17に例示するように、ノード「P」の子ノードは、ノード「Q」とノード「S」の二つである(ステップS33:NO)。
【0088】
続いて、判定部24は、ノード「Q」の親ノード「P」のもう一方の子ノード「S」が、「False」のラベルが設定されている又は「False」の葉ノードであるか否か判定する(ステップS35)。図18に例示するように、親ノード「P」のもう一方の子ノード「S」は「False」のラベルが設定されている。この場合(ステップS35:YES)、判定部24は、ノード「P」に「False」のラベルを設定する(ステップS32)(図19参照)。
【0089】
ノード「P」は根ノードであり、親ノードがない。この場合(ステップS33:NO)(ステップS35:NO)(ステップS39:NO)、判定部24は、根ノードにラベルが設定されているか否か判定する(ステップS36)。図19に例示するように、根ノードにラベルが設定されている。この場合(ステップS36:YES)、判定部24は、到達可能性がないと判定する(ステップS38)。
【0090】
以上のように、本実施形態では、判定部24が、エッジが削除された後の決定グラフにおいて、最終遷移先に真値を示す葉ノードへのパスが存在しないノードにラベルを設定し、根ノードにラベルが設定された場合に、真値を示す葉ノードへのパスが存在しないと判定する。
【0091】
よって、第一の実施形態の効果に加え、各ノードに最終遷移先のラベルを設定することで、到達可能性の判定処理を早くできる。その結果、矛盾を検知する処理時間を短くできる。
【0092】
(実施形態4)
次に、本発明による矛盾検知装置の第四の実施形態を説明する。第四の実施形態では、決定グラフを構築する具体的方法を説明する。図20は、本発明による矛盾検知装置の第四の実施形態の構成例を示すブロック図である。本実施形態の矛盾検知装置4は、グラウンディング操作部17と、構築部21と、受付部12と、削除部13と、判定部14と、繰り返し制御部15と、決定部16と、出力部18とを備えている。
【0093】
すなわち、本実施形態の矛盾検知装置4は、第一の実施形態の矛盾検知装置1と比較し、グラウンディング操作部17をさらに備え、構築部11の代わりに構築部21を備えている点において異なる。それ以外の構成は、第一の実施形態と同様である。以下、第一の実施形態と同様の構成については、同一の符号を付し、説明を省略する。なお、矛盾検知装置4が、第二の実施形態の極小矛盾集合検知装置30を備えていてもよい。また、矛盾検知装置4の判定部14が、第三の実施形態の判定部24で実現されていてもよい。
【0094】
グラウンディング操作部17は、知識ベースのエルブラン空間に基づき、グラウンディング操作を行う。第一の実施形態で説明したように、知識ベースは、一階述語論理式の含意関係ルールによって表現される。エルブラン空間は、一階述語論理式について、各述語の変数に入り得る定数が定まった領域である。グラウンディング操作は、エルブラン空間の定数を一階述語論理式に代入し、命題論理式として扱えるようにする処理である。
【0095】
例えば、Eat(people、food)と言う述語がある場合、「people」と、「food」とは、述語の変数である。そして、エルブラン空間とは、people={Andy、Bob、Cathy}、food={Donuts、Eggs、Fish}などである。これに対してグラウンディング操作を行うと、命題論理式として、Eat(Andy、Donut)、Eat(Andy、Egg)、Eat(Cathy、Fish)、などが生成される。
【0096】
構築部21は、グラウンディング操作部17により生成された命題論理式から、決定グラフを構築する。構築部21が決定グラフを生成する方法は、第一の実施形態の構築部11が決定グラフを生成する方法と同様である。
【0097】
グラウンディング操作部17と、構築部21と、受付部12と、削除部13と、判定部14と、繰り返し制御部15と、決定部16と、出力部18とは、プログラム(矛盾検知プログラム)に従って動作するコンピュータのプロセッサによって実現される。
【0098】
次に、本実施形態の矛盾検知装置4の動作を説明する。図21は、本実施形態の矛盾検知装置4の動作例を示すフローチャートである。第4の実施形態では、矛盾検知装置4を動作させることによって、矛盾検知方法が実施される。よって、第4の実施形態における矛盾検知方法の説明を、以下の矛盾検知装置4の動作説明に代える。
【0099】
まず、グラウンディング操作部17は、知識ベースのエルブラン空間に基づき、グラウンディング操作を行うことで、命題論理式を生成する(ステップS21)。そして、構築部21は、ステップS21で生成された命題論理式から、決定グラフを構築する(ステップS22)。
【0100】
以降、知識ベースに対して矛盾する一連の観測事象を決定するステップS2からステップS8までの処理は、図6に例示するフローチャートのステップS2からステップS8までの処理と同様である。
【0101】
以上のように、本実施形態では、グラウンディング操作部17が、知識ベースのエルブラン空間に基づき、グラウンディング操作を行い、構築部21が、生成された命題論理式から決定グラフを構築する。よって、第一の実施形態の効果に加え、知識ベースがエルブラン空間で表わされている場合であっても、適切に決定グラフを構築することが可能になる。
【0102】
[物理構成]
ここで、実施形態1~4で説明したプログラムを実行することによって、矛盾検知装置を実現するコンピュータを、図22を用いて説明する。図22は、矛盾検知装置を実現するコンピュータの一例を示すブロック図である。
【0103】
図22に例示するように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて又はCPU111に代えて、GPU、又はFPGA(Field-Programmable Gate Array)を備えていてもよい。
【0104】
CPU111は、記憶装置113に格納された、実施形態1~4におけるプログラム(コード)をメインメモリ112に展開し、これらを所定の順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、実施形態1~4におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、実施形態1~4におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。
【0105】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0106】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0107】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、またはCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
【0108】
なお、実施形態1~4における矛盾検知装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、矛盾検知装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【0109】
次に、本発明の概要を説明する。図23は、本発明による矛盾検知装置の概要を示すブロック図である。本発明による矛盾検知装置80(例えば、矛盾検知装置1~4)は、一以上の観測事象を含む一連の観測事象の入力を受け付ける受付手段81(例えば、受付部12)と、観測事象をノードとし、その観測事象それぞれの遷移関係をエッジとして、観測事象の真偽値を知識ベースに基づいて決定する決定グラフにおいて、受付手段81が受け付けた観測事象に対応するノードに接続されるエッジのうち、その観測事象を否定する側への遷移を示すエッジを削除する削除手段82(例えば、削除部13)と、削除手段82がエッジを削除した後の決定グラフにおいて、根ノードから真値を示す葉ノード(例えば、「True」のノード)へのパスが存在するか否か判定する判定手段83(例えば、判定部14)と、真値を示す葉ノードへのパスが存在しないと判定手段83が判定した場合、知識ベースに対して一連の観測事象が矛盾すると決定する決定手段84(例えば、決定部16)とを備えている。
【0110】
そのような構成により、知識ベースに対する観測事象の矛盾を検知できる。
【0111】
また、矛盾検知装置80は、根ノードから真値を示す葉ノードへのすべてのパスを決定グラフから抽出する抽出手段(例えば、抽出部331)と、抽出されたパスのすべてにパス番号を割り当てる割当手段(例えば、割当部332)と、矛盾すると決定された一連の観測事象に含まれる各観測事象を否定する側への遷移を示すエッジを含むパスを検出する検出手段(例えば、検出部333)と、検出されたパスのパス番号を、各観測事象に対応付けて付与する付与手段(例えば、付与部334)と、パス番号が付与された観測事象から、全パス番号の極小集合被覆を導出する導出手段(例えば、導出部335)とを備えていてもよい。
【0112】
そのような構成により、冗長な観測事象を取り除いて、真に矛盾する観測事象の集合を検知できる。
【0113】
また、判定手段83は、削除手段82がエッジを削除した後の決定グラフにおいて、最終遷移先に真値を示す葉ノードへのパスが存在しないノードにラベルを設定し、根ノードにラベルが設定された場合に、真値を示す葉ノードへのパスが存在しないと判定してもよい。
【0114】
そのような構成により、到達可能性の判定処理を早くできるため、矛盾を検知する処理時間を短くできる。
【0115】
また、矛盾検知装置80は、知識ベースのエルブラン空間に基づき、グラウンディング操作を行うグラウンディング操作手段(例えば、グラウンディング操作部17)と、グラウンディング操作手段により生成された命題論理式から決定グラフを構築する構築手段(例えば、構築部21)とを備えていてもよい。
【0116】
また、矛盾検知装置80は、決定手段84によって矛盾すると決定された一連の観測事象を出力する出力手段(例えば、出力部18)を備えていてもよい。
【0117】
上述した実施形態の一部又は全部は、以下に記載する(付記1)~(付記11)によって表現することができるが、以下の記載に限定されるものではない。
【0118】
(付記1)一以上の観測事象を含む一連の観測事象の入力を受け付ける受付手段と、前記観測事象をノードとし、当該観測事象それぞれの遷移関係をエッジとして、当該観測事象の真偽値を知識ベースに基づいて決定する決定グラフにおいて、前記受付手段が受け付けた観測事象に対応するノードに接続されるエッジのうち、当該観測事象を否定する側への遷移を示すエッジを削除する削除手段と、前記削除手段がエッジを削除した後の前記決定グラフにおいて、根ノードから真値を示す葉ノードへのパスが存在するか否か判定する判定手段と、前記真値を示す葉ノードへのパスが存在しないと前記判定手段が判定した場合、前記知識ベースに対して前記一連の観測事象が矛盾すると決定する決定手段とを備えたことを特徴とする矛盾検知装置。
【0119】
(付記2)根ノードから真値を示す葉ノードへのすべてのパスを決定グラフから抽出する抽出手段と、抽出されたパスのすべてにパス番号を割り当てる割当手段と、矛盾すると決定された一連の観測事象に含まれる各観測事象を否定する側への遷移を示すエッジを含むパスを検出する検出手段と、検出されたパスのパス番号を、前記各観測事象に対応付けて付与する付与手段と、パス番号が付与された観測事象から、全パス番号の極小集合被覆を導出する導出手段とを備えた付記1記載の矛盾検知装置。
【0120】
(付記3)判定手段は、削除手段がエッジを削除した後の決定グラフにおいて、最終遷移先に真値を示す葉ノードへのパスが存在しないノードにラベルを設定し、根ノードに前記ラベルが設定された場合に、真値を示す葉ノードへのパスが存在しないと判定する付記1または付記2記載の矛盾検知装置。
【0121】
(付記4)知識ベースのエルブラン空間に基づき、グラウンディング操作を行うグラウンディング操作手段と、前記グラウンディング操作手段により生成された命題論理式から決定グラフを構築する構築手段とを備えた付記1から付記3のうちのいずれか1つに記載の矛盾検知装置。
【0122】
(付記5)決定手段によって矛盾すると決定された一連の観測事象を出力する出力手段を備えた付記1から付記4のうちのいずれか1つに記載の矛盾検知装置。
【0123】
(付記6)一以上の観測事象を含む一連の観測事象の入力を受け付け、前記観測事象をノードとし、当該観測事象それぞれの遷移関係をエッジとして、当該観測事象の真偽値を知識ベースに基づいて決定する決定グラフにおいて、受け付けた観測事象に対応するノードに接続されるエッジのうち、当該観測事象を否定する側への遷移を示すエッジを削除し、
前記エッジが削除された後の前記決定グラフにおいて、根ノードから真値を示す葉ノードへのパスが存在するか否か判定し、前記真値を示す葉ノードへのパスが存在しないと判定された場合、前記知識ベースに対して前記一連の観測事象が矛盾すると決定することを特徴とする矛盾検知方法。
【0124】
(付記7)根ノードから真値を示す葉ノードへのすべてのパスを決定グラフから抽出し、抽出されたパスのすべてにパス番号を割り当て、矛盾すると決定された一連の観測事象に含まれる各観測事象を否定する側への遷移を示すエッジを含むパスを検出し、検出されたパスのパス番号を、前記各観測事象に対応付けて付与し、パス番号が付与された観測事象から、全パス番号の極小集合被覆を導出する付記6記載の矛盾検知方法。
【0125】
(付記8)コンピュータに、一以上の観測事象を含む一連の観測事象の入力を受け付ける受付処理、前記観測事象をノードとし、当該観測事象それぞれの遷移関係をエッジとして、当該観測事象の真偽値を知識ベースに基づいて決定する決定グラフにおいて、受け付けた観測事象に対応するノードに接続されるエッジのうち、当該観測事象を否定する側への遷移を示すエッジを削除する削除処理、前記エッジが削除された後の前記決定グラフにおいて、根ノードから真値を示す葉ノードへのパスが存在するか否か判定する判定処理、および、前記真値を示す葉ノードへのパスが存在しないと判定された場合、前記知識ベースに対して前記一連の観測事象が矛盾すると決定する決定処理を実行させるための矛盾検知プログラムを記憶するコンピュータ読み取り可能な記録媒体。
【0126】
(付記9)コンピュータに、根ノードから真値を示す葉ノードへのすべてのパスを決定グラフから抽出する抽出処理抽出されたパスのすべてにパス番号を割り当てる割当処理、矛盾すると決定された一連の観測事象に含まれる各観測事象を否定する側への遷移を示すエッジを含むパスを検出する検出処理、検出されたパスのパス番号を、前記各観測事象に対応付けて付与する付与処理、および、パス番号が付与された観測事象から、全パス番号の極小集合被覆を導出する導出処理を実行させるための矛盾検知プログラムを記憶する付記8記載のコンピュータ読み取り可能な記録媒体。
【0127】
(付記10)コンピュータに、一以上の観測事象を含む一連の観測事象の入力を受け付ける受付処理、前記観測事象をノードとし、当該観測事象それぞれの遷移関係をエッジとして、当該観測事象の真偽値を知識ベースに基づいて決定する決定グラフにおいて、受け付けた観測事象に対応するノードに接続されるエッジのうち、当該観測事象を否定する側への遷移を示すエッジを削除する削除処理、前記エッジが削除された後の前記決定グラフにおいて、根ノードから真値を示す葉ノードへのパスが存在するか否か判定する判定処理、および、前記真値を示す葉ノードへのパスが存在しないと判定された場合、前記知識ベースに対して前記一連の観測事象が矛盾すると決定する決定処理を実行させるための矛盾検知プログラム。
【0128】
(付記11)コンピュータに、根ノードから真値を示す葉ノードへのすべてのパスを決定グラフから抽出する抽出処理抽出されたパスのすべてにパス番号を割り当てる割当処理、矛盾すると決定された一連の観測事象に含まれる各観測事象を否定する側への遷移を示すエッジを含むパスを検出する検出処理、検出されたパスのパス番号を、前記各観測事象に対応付けて付与する付与処理、および、パス番号が付与された観測事象から、全パス番号の極小集合被覆を導出する導出処理を実行させる付記10記載の矛盾検知プログラム。
【産業上の利用可能性】
【0129】
本発明は、観測された事象に推論知識を適用して仮説を導出する際の矛盾を検知する矛盾検知装置に好適に適用される。
【符号の説明】
【0130】
1,2,3,4 矛盾検知装置
11,21 構築部
12 受付部
13 削除部
14,24 判定部
15 繰り返し制御部
16 決定部
17 グラウンディング操作部
18 出力部
30 極小矛盾集合検知装置
31 決定グラフ取得部
32 観測事象取得部
33 極小集合被覆導出部
331 抽出部
332 割当部
333 検出部
334 付与部
335 導出部
34 出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23