(57)【要約】  推論装置１０は、観測された事象に推論知識を適用して仮説を導出するための装置である。推論装置１０は、推論知識に、推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、推論知識拡張部１１と、観測された事象を論理表現によって表現する観測論理式に、推論知識又は新たな推論知識を適用して推論を行ない、観測論理式を導くことが可能な仮説候補を生成する、仮説候補生成部１２と、を備えている。
2020044412.tif 000002
【特許請求の範囲】
【請求項１】
観測された事象に推論知識を適用して仮説を導出するための推論装置であって、
前記推論知識に、前記推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、推論知識拡張手段と、
前記観測された事象を論理表現によって表現する観測論理式に、前記推論知識又は前記新たな推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、仮説候補生成手段と、
を備えている、ことを特徴とする推論装置。
【請求項２】
請求項１に記載の推論装置であって、
前記推論知識拡張手段は、生成した前記新たな推論知識が、予め設定されている制約に反する場合に、前記新たな推論知識を破棄する、
ことを特徴とする推論装置。
【請求項３】
請求項１または２に記載の推論装置であって、
前記推論知識が前件と後件とを有しており、
前記推論知識拡張手段が、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する別の前記推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とする推論装置。
【請求項４】
請求項１または２に記載の推論装置であって、
前記推論知識が前件と後件とを有しており、
前記推論知識拡張手段が、前記観測された事象に、前記推論知識を前向きに適用して、仮の推論知識を生成し、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する、生成した前記仮の推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とする推論装置。
【請求項５】
観測された事象に推論知識を適用して仮説を導出するための推論方法であって、
（ａ）前記推論知識に、前記推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、ステップと、
（ｂ）前記観測された事象を論理表現によって表現する観測論理式に、前記推論知識又は前記新たな推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
を備えている、ことを特徴とする推論方法。
【請求項６】
請求項５に記載の推論方法であって、
前記（ａ）のステップにおいて、生成した前記新たな推論知識が、予め設定されている制約に反する場合に、前記新たな推論知識を破棄する、
ことを特徴とする推論方法。
【請求項７】
請求項５または６に記載の推論方法であって、
前記推論知識が前件と後件とを有しており、
前記（ａ）のステップにおいて、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する別の前記推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とする推論方法。
【請求項８】
請求項５または６に記載の推論方法であって、
前記推論知識が前件と後件とを有しており、
前記（ａ）のステップにおいて、前記観測された事象に、前記推論知識を前向きに適用して、仮の推論知識を生成し、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する、生成した前記仮の推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とする推論方法。
【請求項９】
コンピュータによって、観測された事象に推論知識を適用して仮説を導出するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）前記推論知識に、前記推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、ステップと、
（ｂ）前記観測された事象を論理表現によって表現する観測論理式に、前記推論知識又は前記新たな推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
を実行させる命令を含む、プログラムを記録していることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１０】
請求項９に記載のコンピュータ読み取り可能な記録媒体であって、
前記（ａ）のステップにおいて、生成した前記新たな推論知識が、予め設定されている制約に反する場合に、前記新たな推論知識を破棄する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１１】
請求項９または１０に記載のコンピュータ読み取り可能な記録媒体であって、
前記推論知識が前件と後件とを有しており、
前記（ａ）のステップにおいて、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する別の前記推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１２】
請求項９または１０に記載のコンピュータ読み取り可能な記録媒体であって、
前記推論知識が前件と後件とを有しており、
前記（ａ）のステップにおいて、前記観測された事象に、前記推論知識を前向きに適用して、仮の推論知識を生成し、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する、生成した前記仮の推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、観測された事象に推論知識を適用して仮説を導出するための、推論装置及び推論方法に関し、更には、これを実現するためのコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
例えば、サイバーセキュリティの分野では、コンピュータシステムにおいて何らかの事象が観測されたときに、観測された事象が、サイバー攻撃によるものかどうかを判断する必要がある。このような判断を行うための手法としては、仮説推論が最も有望である。【０００３】
仮説推論は、論理式で与えられた推論知識（ルール）と観測された事象（観測事象）とから、妥当な仮説を導くことである。従って、上述の例であれば、コンピュータシステムについて予め用意されているルールに、観測事象を適用して仮説を導けば、サイバー攻撃があったかどうかを簡単に判断できる。【０００４】
また、導かれる仮説が単一ではなく、複数である場合があるが、この場合において最良の仮説を特定する手法としては、重み付き仮説推論がある（例えば、非特許文献１参照）。重み付き仮説推論では、各ルールに対して重みが割り当てられ、更に各観測事象にはコストが割り当てられる。そして、重み付きのルールと、コスト付きの観測事象とに対して、後ろ向き推論が行われて仮説候補が生成され、加えて、単一化操作によって各仮説候補のコストが計算される。また、生成された仮説候補のうち、コストが小さい仮説候補ほど、良い仮説とされる。【０００５】
ところで、仮説候補の生成が後ろ向き推論だけで行われるとすると、仮説候補の生成ができない場合がある。例えば、以下のルールＲ１〜Ｒ３が存在する場合に、以下の観測事象Ｏ１が与えられているとする。この場合では、仮説候補は生成されない。
Ｒ１：Ａｐｐｌｅ（ｘ）⇒Ｆｏｏｄ（ｘ）
Ｒ２：Ｂｕｙ（ｘ、ｙ）⇒Ｇｅｔ（ｘ、ｙ）
Ｒ３：Ｅａｔ（ｘ、ｙ）⇒Ｇｅｔ（ｘ、ｙ）∧Ｆｏｏｄ（ｙ）
Ｏ１：Ｂｕｙ（Ｘ、Ｙ）∧Ａｐｐｌｅ（Ｙ）【０００６】
これに対して、非特許文献１は、前件と後件とを入れ替えて新たなルールを作成し、作成した新たなルールを用いて、後ろ向き推論を適用する手法を提案している。この手法によれば、例えば、上記のルールＲ１及びＲ２それぞれの前件と後件とを入れ替えて下記のＲ１’とＲ２’とが作成されるので、これらと観測事象Ｏ１とをルールＲ３に適用することで、仮説候補Ｅａｔ（Ｘ、Ｙ）が生成される。
Ｒ１’：Ｆｏｏｄ（ｘ)⇒Ａｐｐｌｅ（ｘ）
Ｒ２’：Ｇｅｔ（ｘ、ｙ）⇒Ｂｕｙ（ｘ、ｙ）【０００７】
なお、単純に前件と後件とを入れ替えただけでは、ルールＲ１’：Ｆｏｏｄ（ｘ)⇒Ａｐｐｌｅ（ｘ）のように、正しくない論理式が生成されてしまう。但し、ルールＲ１’に、Ａｐｐｌｅの特徴である何か（＝ｅｔｃ）を前件に加えれば、論理式として正しくなる（Ｆｏｏｄ（ｘ）∧ｅｔｃ（ｘ）⇒Ａｐｐｌｅ（ｘ））ので、ルールＲ１’を重み付き仮説推論の推論知識として採用することができると非特許文献１では述べている。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】J. R. Hobbs, M. Stickel, P. Martin, and D. Edwards, “Interpretationas abduction”, Artificial Intelligence, Vol. 63, pp. 69-142,1993.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
このように、非特許文献１に開示されている上記の手法によれば、後ろ向き推論だけでは得ることができない仮説候補を生成することが可能となる。しかしながら、この手法には、余計な仮説候補を生成してしまい、仮説推論における計算コストを増加させるという問題が存在する。【００１０】
具体的には、上記の例では、観測事象Ｏ１と、新たなルールＲ１’とによって、仮説候補Ｆｏｏｄ(Ｙ)が生成されてしまう。更に、観測事象Ｏ１と、新たなルールＲ２’とによって、仮説候補Ｇｅｔ（Ｘ、Ｙ）も生成されてしまう。そして、これらの生成された仮説候補は余計な仮説候補であり、計算コストを増加させてしまう。【００１１】
本発明の目的の一例は、上記問題を解消し、仮説候補を生成できる範囲を拡大しつつ、計算コストの増大を抑制し得る、推論装置、推論方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明の一側面における推論装置は、観測された事象に推論知識を適用して仮説を導出するための推論装置であって、
前記推論知識に、前記推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、推論知識拡張部と、
前記観測された事象を論理表現によって表現する観測論理式に、前記推論知識又は前記新たな推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、仮説候補生成部と、
を備えている、ことを特徴とする。【００１３】
また、上記目的を達成するため、本発明の一側面における推論方法は、観測された事象に推論知識を適用して仮説を導出するための推論方法であって、
（ａ）前記推論知識に、前記推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、ステップと、
（ｂ）前記観測された事象を論理表現によって表現する観測論理式に、前記推論知識又は前記新たな推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
を備えている、ことを特徴とする。【００１４】
更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、コンピュータによって、観測された事象に推論知識を適用して仮説を導出するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）前記推論知識に、前記推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、ステップと、
（ｂ）前記観測された事象を論理表現によって表現する観測論理式に、前記推論知識又は前記新たな推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
を実行させる命令を含む、プログラムを記録していることを特徴とする。
【発明の効果】
【００１５】
以上のように、本発明によれば、仮説候補を生成できる範囲を拡大しつつ、計算コストの増大を抑制することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の実施の形態における推論装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態における推論装置の具体的構成を示すブロック図である。
【図３】図３は、本発明の実施の形態における推論装置の動作を示すフロー図である。
【図４】図４は、本発明の実施の形態における推論装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１７】
（実施の形態）
以下、本発明の実施の形態における、推論装置、推論方法、及びプログラムについて、図１〜図４を参照しながら説明する。
【００１８】
［装置構成］
最初に、図１を用いて、本実施の形態における推論装置の概略構成について説明する。図１は、本発明の実施の形態における推論装置の概略構成を示すブロック図である。
【００１９】
図１に示す、本実施の形態における推論装置１０は、観測された事象に推論知識を適用して仮説を導出するための装置である。図１に示すように、本実施の形態における推論装置１０は、推論知識拡張部１１と、仮説候補生成部１２とを備えている。
【００２０】
推論知識拡張部１１は、推論知識に、推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する。仮説候補生成部１２は、観測された事象を論理表現によって表現する観測論理式に、推論知識又は新たな推論知識を適用して推論を行ない、観測論理式を導くことが可能な仮説候補を生成する。
【００２１】
このように、推論装置１０は、従来のように、前件と後件とを入れ替えて新たな推論知識を生成しておらず、演繹によって導出される帰結を用いて新たな推論知識を生成している。推論装置１０によれば、余計な仮説候補を生成することはないので、仮説候補を生成できる範囲を拡大しつつ、計算コストの増大を抑制することができる。
【００２２】
続いて、図２を用いて、本実施の形態における推論装置の構成及び機能をより具体的に説明する。図２は、本発明の実施の形態における推論装置の具体的構成を示すブロック図である。
【００２３】
図２に示すように、本実施の形態では、推論装置１０は、上述した、推論知識拡張部１１及び仮説候補生成部１２に加えて、推論知識格納部１３と、観測論理式格納部１４とを備えている。
【００２４】
推論知識格納部１３は、前件と後件とを有する推論知識を格納している。観測論理式格納部１４は、観測された事象を論理表現によって表現する観測論理式を格納している。なお、図２の例と異なり、推論知識格納部１３及び観測論理式格納部１４は、推論装置１０とは異なる別の装置に設けられていても良い。また、以降においては、推論知識は、「ルール」とも表記されるとする。
【００２５】
推論知識拡張部１１は、本実施の形態では、まず、推論知識格納部１３からルールを取得する。そして、推論知識拡張部１１は、特定の１つのルールにおける後件の全部又は一部を、それと後件の全部又は一部が共通する別のルールの前件で置換して、新たなルールを生成する。例えば、推論知識拡張部１１は、ルールＡの後件がルールＢの後件を包含するとき、ルールＢの前件でルールＡの後件を置換した新しいルールを生成する。
【００２６】
「ルールＡの後件がルールＢの後件を包含するとき」とは、例えば、以下のように、ある述語が上位概念の組合せによる論理式で表現されている場合を意味する。このような場合、推論知識拡張部１１は、上位概念を個別の下位概念に書き下すことで、新たなルールを生成する。
【００２７】
下位概念ｃ１⇒上位概念Ｃ
下位概念ｃ２⇒上位概念Ｃ
下位概念ｄ１⇒上位概念Ｄ
・・・
【００２８】
述語Ｌ⇒上位概念Ｃ∧上位概念Ｄ
述語Ｍ⇒上位概念Ｃ∧上位概念Ｅ
・・・
【００２９】
なお、上述した上位下位の関係のほかに、時間的な前後関係なども個別に書き下すことができる。ここで、時間的な前後関係とは、「雨が降る⇒地面がぬれる」、「水を撒く⇒地面がぬれる」のように、ある事象が起きた後に別の事象が起こるような関係を意味する。
【００３０】
ここで、上述したルールＲ１〜Ｒ３が存在し、上述した観測事象Ｏ１が与えられているとする。この場合、Ｒ１の後件Ｆｏｏｄ（）はＲ３の後件に包含されており、更に、Ｒ２の後件Ｇｅｔ（）もＲ３の後件に包含されている。従って、推論知識拡張部１１は、Ｒ３の後件を、Ｒ１の前件とＲ２の前件とで置換し、下記のＲ３’を生成する。
Ｒ３’:Ｅａｔ（ｘ，ｙ） ⇒ Ｂｕｙ（ｘ，ｙ）∧Ａｐｐｌｅ（y）
【００３１】
ところで、前向き推論（演繹）では、前件が真ならば、後件も真となる。従って、Ｒ２より、Ｂｕｙ（ｘ，ｙ）が真ならば、Ｇｅｔ（ｘ，ｙ）も真となる。また、Ｒ１より、Ａｐｐｌｅ（ｙ）が真ならば、Ｆｏｏｄ（ｙ）も真となる。このことから、Ｒ３’の後件（Ｂｕｙ（ｘ，ｙ）∧Ａｐｐｌｅ（ｙ））が真であれば、即座に、Ｒ３の後件(Ｇｅｔ（ｘ、ｙ）∧Ｆｏｏｄ（ｙ)）も真である。つまり、新たなルールであるＲ３’は、Ｒ３を利用していることになる。
【００３２】
なお、Ｒ３’(Ｅａｔ（ｘ，ｙ）⇒Ｂｕｙ（ｘ，ｙ）∧Ａｐｐｌｅ（ｙ）)では、演繹的な解釈ができず、他のルールと「⇒」の意味が異なっている。つまり、Ｒ３’では、前件が真であっても、後件が真とは限らないので、Ｒ３’は、後ろ向き推論にのみ適用されるルールである。
【００３３】
また、上述の例では、推論知識拡張部１１は、Ｒ１、Ｒ２、及びＲ３から、Ｒ３’を一気に導いているが、次に示すように、順々に置換することによってＲ３’を導くこともできる。具体的には、推論知識拡張部１１は、まず、Ｒ１の前件でＲ３の後件のＦｏｏｄ（）を置き換えて、下記のＲ３’―１を生成する。更に、同様にして、推論知識拡張部１１は、Ｒ２とＲ３とから下記のＲ３’−２を生成する。
【００３４】
Ｒ３’―１：Ｅａｔ（ｘ，ｙ）⇒Ｇｅｔ（ｘ，ｙ）∧Ａｐｐｌｅ（ｙ）
Ｒ３’−２：Ｅａｔ（ｘ，ｙ）⇒Ｂｕｙ（ｘ，ｙ）∧Ｆｏｏｄ（ｙ）
【００３５】
そして、Ｒ３’-１の後件には、Ｒ２の後件が含まれているので、推論知識拡張部１１は、Ｒ３’-１の後件を、Ｒ２の前件で置換し、これによってＲ３’を生成する。また、推論知識拡張部１１は、同様にして、Ｒ３’−２とＲ１とから、Ｒ３’を生成することもできる。
【００３６】
また、推論知識拡張部１１は、本実施の形態では、生成した新たなルールが、予め設定されている制約に反する場合に、この新たなルールを破棄することができる。つまり、推論知識拡張部１１は、背反事象が存在する場合は、これに違反する置き換えは行わないようにする。
【００３７】
具体的には、ルールＲ１０とＲ１１とが存在しているとする。なお、ルールＲ１０の後件はＲ１の後件と包含関係にある。
Ｒ１０：Ｏｒａｎｇｅ（ｘ）⇒Ｆｏｏｄ（ｘ）
Ｒ１１：Ａｐｐｌｅ（ｘ）∧Ｏｒａｎｇｅ（ｘ）⇒⊥
【００３８】
この場合、推論知識拡張部１１は、下記のルールＲ１’とＲ１０’とを生成するが、これらは、Ｒ１１（Ａｐｐｌｅ（）とＯｒａｎｇｅ（）とは同時に成立しない）に違反する。
よって、推論知識拡張部１１は、下記のルールＲ１’とＲ１０’とを直ちに破棄する。
Ｒ１’：Ａｐｐｌｅ（ｘ）⇒Ｏｒａｎｇｅ（ｘ）
Ｒ１０’：Ｏｒａｎｇｅ（ｘ）⇒Ａｐｐｌｅ（ｘ）
【００３９】
また、仮説候補生成部１２は、本実施の形態では、観測論理式格納部１４から、観測された事象を論理表現によって表現する観測論理式を取得する。そして、仮説候補生成部１２は、取得した観測論理式に、推論知識格納部１３に格納されているルール又は新たに生成されたルールを適用して推論を行ない、観測論理式を導くことが可能な仮説候補を生成する。
【００４０】
例えば、推論知識拡張部１１によって、上述したＲ３’（Ｅａｔ（ｘ，ｙ） ⇒ Ｂｕｙ（ｘ，ｙ）∧Ａｐｐｌｅ（y））が生成されているとする。この場合、仮説候補生成部１２は、観測Ｏ１（Ｂｕｙ（Ｘ，Ｙ）∧Ａｐｐｌｅ（Ｙ））に、Ｒ３’を適用して、仮説候補としてＥａｔ（Ｘ，Ｙ）を直接導出する。
【００４１】
［装置動作］
次に、本発明の実施の形態における推論装置１０の動作について図３を用いて説明する。図３は、本発明の実施の形態における推論装置の動作を示すフロー図である。以下の説明においては、適宜図１及び図２を参酌する。また、本実施の形態では、推論装置１０を動作させることによって、推論方法が実施される。よって、本実施の形態における推論方法の説明は、以下の推論装置１０の動作説明に代える。
【００４２】
図３に示すように、最初に、推論知識拡張部１１は、推論知識格納部１３からルールを取得する（ステップＳ１）。
【００４３】
次に、推論知識拡張部１１は、ステップＳ１で取得したルールにおける後件の全部又は一部を、それと後件の全部又は一部が共通する別のルールの前件で置換して、新たなルールを生成する（ステップＳ２）。なお、ステップＳ２は、存在する全てのルールを対象にして実行される。
【００４４】
次に、仮説候補生成部１２は、観測論理式格納部１４から観測論理式を取得する（ステップＳ３）。
【００４５】
次に、仮説候補生成部１２は、ステップＳ３で取得した観測論理式に、ステップＳ１で取得されたルール又はステップＳ２で生成された新たなルールを適用して推論を行ない、ステップＳ３で取得された観測論理式を導くことが可能な仮説候補を生成する（ステップＳ４）。
【００４６】
ステップＳ４の実行により、推論装置１０における処理は一旦終了する。また、推論知識格納部１３に、ステップＳ１〜Ｓ４の処理が行われていないルールが格納されている場合は、再度、このルールと既存のルールとを対象にしてステップＳ１〜Ｓ４が実行され、別の新たな仮説候補が生成される。
【００４７】
［具体例］
ここで、上記ステップＳ２の具体例１〜具体例２について以下に説明する。
【００４８】
具体例１：
具体例１は、ルールの前件と後件とで変数が異なる例である。例えば、下記のようなルールＲ２１とＲ２２とが存在しているとする。
Ｒ２１:Ｋｉｌｌ（ｘ，ｙ）⇒ Ａｒｒｅｓｔ（ｚ，ｘ）
（「ｘがｙを殺す」なら「ｚがｘを逮捕する」）
Ｒ２２：Ｐｒｉｓｏｎｅｒ（ｘ）⇒Ａｒｒｅｓｔ（ｚ，ｘ）∧ＩｎＰｒｉｓｏｎ（ｘ）
（「ｘは囚人である」なら「ｚがｘを逮捕する」かつ「ｘは牢獄にいる」）
【００４９】
この場合、Ｒ１では、前件に出現する変数ｘ及びｙと、後件に出現する変数ｘ及びｚとが異なっている。そして、Ｒ２２の後件のＡｒｒｅｓｔ（）をＲ２１の前件で置き換えると、下記のルールＲ２’が得られる
Ｒ２２’：Ｐｒｉｓｏｎｅｒ（ｘ）⇒Ｋｉｌｌ（ｘ，ｙ）∧ＩｎＰｒｉｓｏｎ（ｘ）
（「ｘは囚人である」なら「ｘがｙを殺す」かつ「ｘは牢獄にいる」）
【００５０】
この場合、Ａｒｒｅｓｔ（ｚ，ｘ）は、陽には仮説されなくなる。しかしながら、「ｚがｘを逮捕する」のｚがだれであろうとかまわない、という解釈になる
【００５１】
具体例２：
具体例２は、置換する側のルールに、前件又は後件にしか出現しない変数が含まれている例である。例えば、下記のようなルールＲ３１とＲ３２とが存在しているとする。
Ｒ３１：Ａ（ｘ，ｙ，ｚ）⇒Ｍ（ｙ，ｚ）
Ｒ３２：Ｄ（ｙ，ｚ，ｕ）⇒Ｍ（ｙ，ｚ）∧Ｎ（ｕ）
【００５２】
この場合、推論知識拡張部１１は、Ｒ３２の後件Ｍ（ｙ，ｚ）を、Ｒ３１の前件Ａ（ｘ，ｙ，ｚ）で置き換え、下記のＲ３２’を生成する。
Ｒ３２’：Ｄ（ｙ，ｚ，ｕ）⇒Ａ（ｘ，ｙ，ｚ）∧Ｎ（ｕ）
【００５３】
このように、置換する側のルールＲ３１の前件にしか出現しない変数ｘがある場合、この前件にしか出現しない変数ｘは、生成されるルールＲ３２’の後件にのみ出現する。なお、Ｒ３２’が後ろ向き推論に用いられる場合、変数ｘが、Ｒ３２’の前件に影響を与えることはない。
【００５４】
また、例えば、下記のようなルールＲ３３とＲ３４とが存在しているとする。
Ｒ３３：Ａ（ｘ，ｙ）⇒Ｍ（ｗ，ｘ，ｙ）
Ｒ３４：Ｄ（ｗ，ｘ，ｙ，ｕ）⇒Ｍ（ｗ，ｘ，ｙ）∧Ｎ（ｕ）
【００５５】
この場合、推論知識拡張部１１は、Ｒ３４の後件Ｍ（ｗ，ｘ，ｙ）をＲ３３の前件Ａ（ｘ，ｙ）で置き換え、下記のＲ３４’を生成する。
Ｒ３４’：Ｄ（ｗ，ｘ，ｙ，ｕ）⇒Ａ（ｘ，ｙ）∧Ｎ（ｕ）
【００５６】
このように、置換する側のルールＲ３３の後件にしか出現しない変数ｗがある場合、この後件にしか出現しない変数ｗは、生成されるルールＲ３４’の後件には出現しない。なお、Ｒ３４’が後ろ向き推論に用いられる場合、前件にのみ出現する変数ｗが存在することになる。
【００５７】
具体例３：
具体例３は、連言の取り扱いを示す例である。まず、置換する側のルールの前件が連言をとる場合について説明する。
【００５８】
例えば、下記のようなルールＲ４１とＲ４２とが存在しているとする。
Ｒ４１：Ａ（ｘ）∧Ｂ（ｙ）⇒Ｍ（ｘ，ｙ）
Ｒ４２：Ｄ（ｘ，ｙ，ｕ）⇒Ｍ（ｘ，ｙ）∧Ｎ（ｕ）
【００５９】
この場合、推論知識拡張部１１は、Ｒ４２の後件Ｍ（ｘ，ｙ）をＲ４１の前件Ａ（ｘ）∧Ｂ（ｙ）で置き換え、下記のＲ４２’を生成する。
Ｒ４２’:Ｄ（ｘ，ｙ，ｕ）⇒Ａ（ｘ）∧Ｂ（ｙ）∧Ｎ（ｕ）
【００６０】
また、置換する側のルールの後件が連言をとる場合について説明する。例えば、下記のようなルールＲ４３とＲ４４とが存在しているとする。
Ｒ４３：Ａ（ｘ，ｙ）⇒Ｌ（ｘ）∧Ｍ（ｙ）
Ｒ４４：Ｄ（ｘ，ｙ，ｚ）⇒Ｌ（ｘ）∧Ｍ（ｙ）∧Ｎ（ｚ）
【００６１】
この場合、Ｒ４３の後件Ｌ（ｘ）∧Ｍ（ｙ）が、Ｒ４４の後件Ｌ（ｘ）∧Ｍ（ｙ）∧Ｎ（ｚ）に含まれている。よって、推論知識拡張部１１は、Ｒ４４の後件のＬ（ｘ）∧Ｍ（ｙ）を、Ｒ４３の前件Ａ（ｘ，ｙ）で置き換え、下記のＲ４４’を生成する。
Ｒ４４’：Ｄ（ｘ，ｙ，ｚ）⇒Ａ（ｘ，ｙ）∧Ｎ（ｚ）
【００６２】
具体例３に示すように、本実施の形態では、置換する側のルールの前件又は後件に連言が含まれている場合、包含関係は、連言単位で扱うことができる。
【００６３】
［実施の形態における効果］
以上のように本実施の形態では、探索空間の増大を抑えつつ、対象となる前向き推論だけを扱うことができる。つまり、従来においては、例えば、上述したＲ１及びＲ２において、Ｆｏｏｄ（Ｙ）及びＧｅｔ（Ｘ，Ｙ）を陽に仮説が行われているのに対して、本実施の形態では、仮説を短絡した新しいルールが生成される。このため、本実施の形態によれば、余計な仮説候補を生成する必要がない。
【００６４】
また、本実施の形態では、ルールを前処理しておくことで、推論時に矛盾する仮説を棄却する手間が省ける。このため、ルールの前処理に処理時間を押し込めることができるので、何度も推論をする場合に推論処理時間を軽減することができる
【００６５】
［変形例］
続いて、本実施の形態における変形例１及び変形例２について説明する。
【００６６】
変形例１：
変形例１においては、推論知識拡張部１１は、まず、観測された事象に、ルールを前向きに適用して、仮のルールを生成する。そして、推論知識拡張部１１は、特定の１つのルールにおける後件の全部又は一部を、それと後件の全部又は一部が共通する、仮のルールの前件で置換して、新たなルールを生成する。
【００６７】
例えば、上述のＲ１（Ａｐｐｌｅ（ｘ）⇒Ｆｏｏｄ（ｘ)）とＲ２（Ｂｕｙ（ｘ、ｙ）⇒Ｇｅｔ（ｘ、ｙ））とを、観測事象Ｏ１（Ｂｕｙ（Ｘ、Ｙ）∧Ａｐｐｌｅ（Ｙ））に前向きに適用することを考える。
【００６８】
この場合、推論知識拡張部１１は、仮のルールとして、下記のルールＲ５１とＲ５２とを生成する。
Ｒ５１：Ｂｕｙ（Ｘ，Ｙ）⇒Ｇｅｔ（Ｘ，Ｙ）
Ｒ５２：Ａｐｐｌｅ（Ｙ）⇒Ｆｏｏｄ（Ｙ）
【００６９】
そして、推論知識拡張部１１は、ルールの中で、Ｆｏｏｄ（）及びＧｅｔ（）を用いているルール、即ち、上記の例ではＲ３において、後件の全部又は一部を、仮のルールの前件で置換して、新たなルールＲ３’を生成する。この結果、Ｒ３’によって、観測Ｏ１から、Ｅａｔ（Ｘ，Ｙ）が直接仮説される。
Ｒ３’：Ｅａｔ（Ｘ，Ｙ）⇒Ｂｕｙ（Ｘ，Ｙ）∧Ａｐｐｌｅ（Ｙ）
【００７０】
このように、変形例１によれば、現在得られている観測に関係するルールに対してのみ前処理が行われるので、追加するルールの数が多くならずに済むことになる。なお、ルールの前処理にかかる時間と、ルールの数による推論処理にかかる時間とのトレードオフに基づいて、上述した実施の形態と本変形例１とのいずれかが選択される。
【００７１】
変形例２：
変形例２においては、特定の１つのルールの後件が連言の場合に、推論知識拡張部１１は、この特定の１つのルールにおける後件の一部を、それと後件の一部が共通する別のルールの前件で置換して、新たなルールを生成する。
【００７２】
例えば、後件が連言である下記のＲ６１とＲ６２とが存在しているとする。
Ｒ６１：Ａ（ｘ，ｙ）⇒Ｍ（ｘ）∧Ｌ（ｙ）
Ｒ６２：Ｄ（ｘ，ｕ）⇒Ｍ（ｘ）∧Ｎ（ｕ）
【００７３】
この場合、Ａ（ｘ，ｙ）が真であれば、「Ｍ（ｘ）が真」且つ「Ｌ（ｙ）が真」と解釈することができるので、推論知識拡張部１１は、Ｒ６２のＭ（）をＡ（ｘ，ｙ）で置き換えることも可能である。よって、推論知識拡張部１１は、下記のＲ６２’を生成する。なお、Ｒ６１の後件とＲ６２の後件とは包含関係にはない。
Ｒ６２’：Ｄ（ｘ，ｕ）⇒Ａ（ｘ，ｙ）∧Ｎ（ｕ）
【００７４】
また、上述のＲ１〜Ｒ３の例に当てはめると、Ｒ３より、Ｅａｔ（）が真ならば「Ｇｅｔ（）が真」且つ「Ｆｏｏｄ（）が真」となるので、推論知識拡張部１１は、Ｒ１の後件をＲ３の前件で置き換えて、Ｒ１’を生成する。また、同様に、推論知識拡張部１１は、Ｒ２の後件をＲ３の前件で置き換えて、Ｒ２’を生成する。
Ｒ１’：Ａｐｐｌｅ（ｘ）⇒Ｅａｔ（ｙ，ｘ）
Ｒ２’：Ｂｕｙ（ｘ，ｙ）⇒Ｅａｔ（ｘ，ｙ）
【００７５】
このように、本変形例２によれば、予め用意されたルールから、飛躍した仮説を得ることが可能となる。本変形例２は、仮説の網羅性を重視したい場合に効果的である。
【００７６】
［プログラム］
本実施の形態におけるプログラムは、コンピュータに、図３に示すステップＳ１〜Ｓ４を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における推論装置１０と推論方法とを実現することができる。この場合、コンピュータのプロセッサは、推論知識拡張部１１、及び仮説候補生成部１２として機能し、処理を行なう。
【００７７】
また、本実施の形態では、推論知識格納部１３、及び観測論理式格納部１４は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現できる。
【００７８】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、推論知識拡張部１１、及び仮説候補生成部１２のいずれかとして機能しても良い。また、推論知識格納部１３、及び観測論理式格納部１４は、本実施の形態におけるプログラムを実行するコンピュータとは別のコンピュータ上に構築されていても良い。
【００７９】
ここで、本施の形態におけるプログラムを実行することによって、推論装置１０現するコンピュータについて図４用いて説明する。図４は、本発明の実施の形態における推論装置を実現するコンピュータの一例を示すブロック図である。
【００８０】
図４示すように、コンピュータ１１０は、ＣＰＵ（Central Processing Unit）１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。なお、コンピュータ１１０は、ＣＰＵ１１１に加えて、又はＣＰＵ１１１に代えて、ＧＰＵ（Graphics Processing Unit）、又はＦＰＧＡ（Field-Programmable Gate Array）を備えていても良い。
【００８１】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００８２】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００８３】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００８４】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体が挙げられる。
【００８５】
なお、本実施の形態における推論装置１０は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、推論装置１０は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【００８６】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１２）によって表現することができるが、以下の記載に限定されるものではない。
【００８７】
（付記１）
観測された事象に推論知識を適用して仮説を導出するための推論装置であって、
前記推論知識に、前記推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、推論知識拡張部と、
前記観測された事象を論理表現によって表現する観測論理式に、前記推論知識又は前記新たな推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、仮説候補生成部と、
を備えている、ことを特徴とする推論装置。
【００８８】
（付記２）
付記１に記載の推論装置であって、
前記推論知識拡張部は、生成した前記新たな推論知識が、予め設定されている制約に反する場合に、前記新たな推論知識を破棄する、
ことを特徴とする推論装置。
【００８９】
（付記３）
付記１または２に記載の推論装置であって、
前記推論知識が前件と後件とを有しており、
前記推論知識拡張部が、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する別の前記推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とする推論装置。
【００９０】
（付記４）
付記１または２に記載の推論装置であって、
前記推論知識が前件と後件とを有しており、
前記推論知識拡張部が、前記観測された事象に、前記推論知識を前向きに適用して、仮の推論知識を生成し、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する、生成した前記仮の推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とする推論装置。
【００９１】
（付記５）
観測された事象に推論知識を適用して仮説を導出するための推論方法であって、
（ａ）前記推論知識に、前記推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、ステップと、
（ｂ）前記観測された事象を論理表現によって表現する観測論理式に、前記推論知識又は前記新たな推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
を備えている、ことを特徴とする推論方法。
【００９２】
（付記６）
付記５に記載の推論方法であって、
前記（ａ）のステップにおいて、生成した前記新たな推論知識が、予め設定されている制約に反する場合に、前記新たな推論知識を破棄する、
ことを特徴とする推論方法。
【００９３】
（付記７）
付記５または６に記載の推論方法であって、
前記推論知識が前件と後件とを有しており、
前記（ａ）のステップにおいて、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する別の前記推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とする推論方法。
【００９４】
（付記８）
付記５または６に記載の推論方法であって、
前記推論知識が前件と後件とを有しており、
前記（ａ）のステップにおいて、前記観測された事象に、前記推論知識を前向きに適用して、仮の推論知識を生成し、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する、生成した前記仮の推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とする推論方法。
【００９５】
（付記９）
コンピュータによって、観測された事象に推論知識を適用して仮説を導出するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）前記推論知識に、前記推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、ステップと、
（ｂ）前記観測された事象を論理表現によって表現する観測論理式に、前記推論知識又は前記新たな推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
を実行させる命令を含む、プログラムを記録していることを特徴とするコンピュータ読み取り可能な記録媒体。
【００９６】
（付記１０）
付記９に記載のコンピュータ読み取り可能な記録媒体であって、
前記（ａ）のステップにおいて、生成した前記新たな推論知識が、予め設定されている制約に反する場合に、前記新たな推論知識を破棄する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【００９７】
（付記１１）
付記９または１０に記載のコンピュータ読み取り可能な記録媒体であって、
前記推論知識が前件と後件とを有しており、
前記（ａ）のステップにおいて、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する別の前記推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【００９８】
（付記１２）
付記９または１０に記載のコンピュータ読み取り可能な記録媒体であって、
前記推論知識が前件と後件とを有しており、
前記（ａ）のステップにおいて、前記観測された事象に、前記推論知識を前向きに適用して、仮の推論知識を生成し、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する、生成した前記仮の推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【００９９】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【０１００】
以上のように、本発明によれば、仮説候補を生成できる範囲を拡大しつつ、計算コストの増大を抑制することができる。本発明は、仮説を生成することが求められる各種システムに有用である。
【符号の説明】
【０１０１】
１０  推論装置
１１  推論知識拡張部
１２  仮説候補生成部
１３  推論知識格納部
１４  観測論理式格納部
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2020044412.tif 000003
【図２】
2020044412.tif 000004
【図３】
2020044412.tif 000005
【図４】
2020044412.tif 000006
【手続補正書】
【提出日】令和3年2月25日(2021.2.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
観測された事象に推論知識を適用して仮説を導出するための推論装置であって、
前記推論知識に、前記推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、推論知識拡張手段と、
前記観測された事象を論理表現によって表現する観測論理式に、前記推論知識又は前記新たな推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、仮説候補生成手段と、
を備えている、ことを特徴とする推論装置。
【請求項２】
請求項１に記載の推論装置であって、
前記推論知識拡張手段は、生成した前記新たな推論知識が、予め設定されている制約に反する場合に、前記新たな推論知識を破棄する、
ことを特徴とする推論装置。
【請求項３】
請求項１または２に記載の推論装置であって、
前記推論知識が前件と後件とを有しており、
前記推論知識拡張手段が、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する別の前記推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とする推論装置。
【請求項４】
請求項１または２に記載の推論装置であって、
前記推論知識が前件と後件とを有しており、
前記推論知識拡張手段が、前記観測された事象に、前記推論知識を前向きに適用して、仮の推論知識を生成し、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する、生成した前記仮の推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とする推論装置。
【請求項５】
観測された事象に推論知識を適用して仮説を導出するための推論方法であって、
（ａ）前記推論知識に、前記推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、ステップと、
（ｂ）前記観測された事象を論理表現によって表現する観測論理式に、前記推論知識又は前記新たな推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
を備えている、ことを特徴とする推論方法。
【請求項６】
請求項５に記載の推論方法であって、
前記（ａ）のステップにおいて、生成した前記新たな推論知識が、予め設定されている制約に反する場合に、前記新たな推論知識を破棄する、
ことを特徴とする推論方法。
【請求項７】
コンピュータによって、観測された事象に推論知識を適用して仮説を導出するためのプログラムであって、
前記コンピュータに、
（ａ）前記推論知識に、前記推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、ステップと、
（ｂ）前記観測された事象を論理表現によって表現する観測論理式に、前記推論知識又は前記新たな推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
を実行させる、プログラム。
【請求項８】
請求項７に記載のプログラムであって、
前記（ａ）のステップにおいて、生成した前記新たな推論知識が、予め設定されている制約に反する場合に、前記新たな推論知識を破棄する、
ことを特徴とするプログラム。
【請求項９】
請求項７または８に記載のプログラムであって、
前記推論知識が前件と後件とを有しており、
前記（ａ）のステップにおいて、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する別の前記推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とするプログラム。
【請求項１０】
請求項７または８に記載のプログラムであって、
前記推論知識が前件と後件とを有しており、
前記（ａ）のステップにおいて、前記観測された事象に、前記推論知識を前向きに適用して、仮の推論知識を生成し、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する、生成した前記仮の推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とするプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、観測された事象に推論知識を適用して仮説を導出するための、推論装置及び推論方法に関し、更には、これを実現するためのプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明の目的の一例は、上記問題を解消し、仮説候補を生成できる範囲を拡大しつつ、計算コストの増大を抑制し得る、推論装置、推論方法、及びプログラムを提供することにある。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによって、観測された事象に推論知識を適用して仮説を導出するためのプログラムであって、
前記コンピュータに、
（ａ）前記推論知識に、前記推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、ステップと、
（ｂ）前記観測された事象を論理表現によって表現する観測論理式に、前記推論知識又は前記新たな推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
を実行させる、プログラム。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００９５
【補正方法】変更
【補正の内容】
【００９５】
（付記９）
コンピュータによって、観測された事象に推論知識を適用して仮説を導出するためのプログラムであって、
前記コンピュータに、
（ａ）前記推論知識に、前記推論知識に基づいた演繹によって導出される帰結を用いて、新たな推論知識を生成する、ステップと、
（ｂ）前記観測された事象を論理表現によって表現する観測論理式に、前記推論知識又は前記新たな推論知識を適用して推論を行ない、前記観測論理式を導くことが可能な仮説候補を生成する、ステップと、
を実行させる、プログラム。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００９６
【補正方法】変更
【補正の内容】
【００９６】
（付記１０）
付記９に記載のプログラムであって、
前記（ａ）のステップにおいて、生成した前記新たな推論知識が、予め設定されている制約に反する場合に、前記新たな推論知識を破棄する、
ことを特徴とするプログラム。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００９７
【補正方法】変更
【補正の内容】
【００９７】
（付記１１）
付記９または１０に記載のプログラムであって、
前記推論知識が前件と後件とを有しており、
前記（ａ）のステップにおいて、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する別の前記推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とするプログラム。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
（付記１２）
付記９または１０に記載のプログラムであって、
前記推論知識が前件と後件とを有しており、
前記（ａ）のステップにおいて、前記観測された事象に、前記推論知識を前向きに適用して、仮の推論知識を生成し、特定の１つの前記推論知識における後件の全部又は一部を、それと後件の全部又は一部が共通する、生成した前記仮の推論知識の前件で置換して、前記新たな推論知識を生成する、
ことを特徴とするプログラム。
【国際調査報告】
2020044412.tif 000007
2020044412.tif 000008
2020044412.tif 000009