JPH0820959B2 - 知識ベース管理方法 - Google Patents
知識ベース管理方法Info
- Publication number
- JPH0820959B2 JPH0820959B2 JP4109152A JP10915292A JPH0820959B2 JP H0820959 B2 JPH0820959 B2 JP H0820959B2 JP 4109152 A JP4109152 A JP 4109152A JP 10915292 A JP10915292 A JP 10915292A JP H0820959 B2 JPH0820959 B2 JP H0820959B2
- Authority
- JP
- Japan
- Prior art keywords
- knowledge base
- knowledge
- rule
- rules
- condition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【産業上の利用分野】本発明は、エキスパートシステム
をはじめとする知識処理を行なうための知識ベース管理
方法に係わり、特に、知識ベース中の冗長なルールの管
理及び矛盾の検出に好適な知識ベース管理方法に関す
る。
をはじめとする知識処理を行なうための知識ベース管理
方法に係わり、特に、知識ベース中の冗長なルールの管
理及び矛盾の検出に好適な知識ベース管理方法に関す
る。
【0002】
【従来の技術】エキスパートシステム等に用いられる知
識ベースを利用するには、次のような問題がある。
識ベースを利用するには、次のような問題がある。
【0003】まず、知識ベースに知識を追加したとき
に、知識が冗長になる恐れがあることである。
に、知識が冗長になる恐れがあることである。
【0004】次に、知識ベース中のルールを増やす場
合、ルール間の整合性を保つことが困難であることであ
る。複数のルール同士が矛盾した結論をだせば、推論シ
ステムが機能しなくなるからである。特に、知識ベース
のデバッグを行う際や、既存の知識ベースに新たなルー
ルを追加する際には、知識間での矛盾をなくし、整合性
を図ることが必要である。
合、ルール間の整合性を保つことが困難であることであ
る。複数のルール同士が矛盾した結論をだせば、推論シ
ステムが機能しなくなるからである。特に、知識ベース
のデバッグを行う際や、既存の知識ベースに新たなルー
ルを追加する際には、知識間での矛盾をなくし、整合性
を図ることが必要である。
【0005】上記の課題に対して、従来の技術として
「事例を用いた知識洗練支援システム」(情報処理学会
第41回(平成2年後期)全国大会予稿集第2巻、53
〜56ページ)がある。
「事例を用いた知識洗練支援システム」(情報処理学会
第41回(平成2年後期)全国大会予稿集第2巻、53
〜56ページ)がある。
【0006】この技術では、知識ベース内のルール群を
以下のような木構造の形式で表現している。
以下のような木構造の形式で表現している。
【0007】ルール: (条件1の値...条件Mの値
結論) この表現は条件1から条件Mを満足すれば、結論が成立
するということを意味する。ここで、個々のルールにつ
いて条件値の組合せを条件値パターンと定義している。
結論) この表現は条件1から条件Mを満足すれば、結論が成立
するということを意味する。ここで、個々のルールにつ
いて条件値の組合せを条件値パターンと定義している。
【0008】ルール間の整合処理は以下のとおりであ
る。まず、新規に追加するルールの条件値パターンと知
識ベース内のルールを比較する。次に、一つだけ異なる
条件値を持つ知識ベース内のルールを検出する。ただ
し、新規に追加するルールの条件部に含まれていない条
件値については、比較の対象としない。最後に、異なる
条件値を修正して、ルールを修正する。
る。まず、新規に追加するルールの条件値パターンと知
識ベース内のルールを比較する。次に、一つだけ異なる
条件値を持つ知識ベース内のルールを検出する。ただ
し、新規に追加するルールの条件部に含まれていない条
件値については、比較の対象としない。最後に、異なる
条件値を修正して、ルールを修正する。
【0009】従来技術におけるルールの変更について、
図11〜図14を用いて説明する。図11は、新たなル
ールの条件値パターン、帰結部ともに知識ベース内に存
在しない場合である。ここでは、新たなルールが (a1 b2 ハ) 知識ベース内の既存のルールが [(a1 b1 イ) (a2 − ロ)] である例を考える。この場合、a1のみ等しいので、枝
を一つ追加し、知識ベースを以下のように更新する。
図11〜図14を用いて説明する。図11は、新たなル
ールの条件値パターン、帰結部ともに知識ベース内に存
在しない場合である。ここでは、新たなルールが (a1 b2 ハ) 知識ベース内の既存のルールが [(a1 b1 イ) (a2 − ロ)] である例を考える。この場合、a1のみ等しいので、枝
を一つ追加し、知識ベースを以下のように更新する。
【0010】[(a1 b1 イ) (a1 b2 ハ) (a2 − ロ)] 図12は、新たなルールの条件値パターンは知識ベース
内に存在しないが、帰結部が知識ベース内に存在する場
合である。ここでは、新たなルールが (a1 b2 イ) 知識ベース内の既存のルールが [(a1 b1 イ) (a2 − ロ)] である例を考える。この場合、条件Bについての条件値
を書き直し、知識ベースを以下のように更新する。
内に存在しないが、帰結部が知識ベース内に存在する場
合である。ここでは、新たなルールが (a1 b2 イ) 知識ベース内の既存のルールが [(a1 b1 イ) (a2 − ロ)] である例を考える。この場合、条件Bについての条件値
を書き直し、知識ベースを以下のように更新する。
【0011】[(a1 b1 or b2 イ) (a2 − ロ)] なお、条件Bがb1とb2しか取らないというメタ知識
があれば、条件Bについては省略でき、以下のようにな
る。
があれば、条件Bについては省略でき、以下のようにな
る。
【0012】[(a1 − イ) (a2 − ロ)] 図13は、新たなルールの条件値パターンは知識ベース
内に共通する部分を持つが、帰結部が知識ベース内に存
在しない場合である。ここでは、新たなルールが (a2 b2 ハ) 知識ベース内の既存のルールが [(a1 b1 イ) (a2 − ロ)] である例を考える。この場合、知識ベースの条件Bはb
1とb2しかないという知識があれば知識ベースは以下
のように更新できる。
内に共通する部分を持つが、帰結部が知識ベース内に存
在しない場合である。ここでは、新たなルールが (a2 b2 ハ) 知識ベース内の既存のルールが [(a1 b1 イ) (a2 − ロ)] である例を考える。この場合、知識ベースの条件Bはb
1とb2しかないという知識があれば知識ベースは以下
のように更新できる。
【0013】[(a1 b1 イ) (a2 b1 ロ) (a2 b2 ハ)] 図14は、新たなルールの条件値パターンは知識ベース
内に存在するが、帰結部が知識ベース内に存在しない場
合である。すなわち、新たなルールが既存の知識ベース
に矛盾する場合である。ここでは、新たなルールが (a2 − ハ) 知識ベース内の既存のルールが [(a1 b1 イ) (a2 − ロ)] である例を考える。この場合、新たなルールと既存のル
ールを区別するための新たな条件が無いかを問い合わせ
る。条件Nによって区別できれば、知識ベースは以下の
ように更新できる。
内に存在するが、帰結部が知識ベース内に存在しない場
合である。すなわち、新たなルールが既存の知識ベース
に矛盾する場合である。ここでは、新たなルールが (a2 − ハ) 知識ベース内の既存のルールが [(a1 b1 イ) (a2 − ロ)] である例を考える。この場合、新たなルールと既存のル
ールを区別するための新たな条件が無いかを問い合わせ
る。条件Nによって区別できれば、知識ベースは以下の
ように更新できる。
【0014】[(a1 b1 − イ) (a2 − n1 ロ) (a2 − n2 ハ)]
【0015】
【発明が解決しようとする課題】かかる従来の技術で
は、ルール間の比較を行なった際に、条件値パターンの
単純な比較しか行なっていないため、条件値が一種類の
み異なる場合にしか適用できないという問題がある。
は、ルール間の比較を行なった際に、条件値パターンの
単純な比較しか行なっていないため、条件値が一種類の
み異なる場合にしか適用できないという問題がある。
【0016】さらに、従来の技術では、一部のルールに
おいて複数の条件値が異なっていても、それらの条件値
を互いに比較解析することにより見つけることができる
冗長な条件値を取り除くことができないという問題があ
る。
おいて複数の条件値が異なっていても、それらの条件値
を互いに比較解析することにより見つけることができる
冗長な条件値を取り除くことができないという問題があ
る。
【0017】したがって、本発明の目的は、ルール間の
条件部の条件値と帰結部をそれぞれ比較することによ
り、複数の条件値の変更を行ない、知識ベース内の冗長
な条件を除去する方法を提供するものである。
条件部の条件値と帰結部をそれぞれ比較することによ
り、複数の条件値の変更を行ない、知識ベース内の冗長
な条件を除去する方法を提供するものである。
【0018】
【0019】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明は、新規に追加されるルールまたは上記知
識ベース内の任意のルール(以下特定のルール)と知識
ベース内の他のルール間に対して、知識比較手段にて、
上記特定のルールの条件値が知識ベース内の他のルール
の条件値と一致しておらず、ルールの条件部が知識ベー
ス内の部分集合でなく、ルールの帰結部が知識ベース内
の他のルールの帰結部と一致しているか否かを判定し、
知識洗練手段にて、ルールの帰結部が知識ベース内の他
のルールの帰結部と一致しており、かつ異なる条件値が
一種類でない場合に、ルール間で条件値同士に重複関係
を持つものがあるか否かを判定し、重複部分を持つもの
であればその条件値を重複する部分と重複しない部分に
分割し、重複する部分について複数の条件値を統合する
ことにより、重複しない部分について排反関係にある条
件値がないかどうかを調べ、排反関係にある条件値を削
除することにより、冗長性を除去して新規ルールを作成
し、上記知識ベースに格納するようにしている。
めに、本発明は、新規に追加されるルールまたは上記知
識ベース内の任意のルール(以下特定のルール)と知識
ベース内の他のルール間に対して、知識比較手段にて、
上記特定のルールの条件値が知識ベース内の他のルール
の条件値と一致しておらず、ルールの条件部が知識ベー
ス内の部分集合でなく、ルールの帰結部が知識ベース内
の他のルールの帰結部と一致しているか否かを判定し、
知識洗練手段にて、ルールの帰結部が知識ベース内の他
のルールの帰結部と一致しており、かつ異なる条件値が
一種類でない場合に、ルール間で条件値同士に重複関係
を持つものがあるか否かを判定し、重複部分を持つもの
であればその条件値を重複する部分と重複しない部分に
分割し、重複する部分について複数の条件値を統合する
ことにより、重複しない部分について排反関係にある条
件値がないかどうかを調べ、排反関係にある条件値を削
除することにより、冗長性を除去して新規ルールを作成
し、上記知識ベースに格納するようにしている。
【0020】
【作用】本発明によれば、新規に追加されるルールまた
は上記知識ベース内の任意のルール(以下特定のルー
ル)と知識ベース内の他のルール間に対して、知識比較
手段にて、上記特定のルールの条件値が知識ベース内の
他のルールの条件値と一致しておらず、ルールの条件部
が知識ベース内の部分集合でなく、ルールの帰結部が知
識ベース内の他のルールの帰結部と一致しているか否か
を判定し、知識洗練手段にて、ルールの帰結部が知識ベ
ース内の他のルールの帰結部と一致しており、かつ異な
る条件値が一種類でない場合に、ルール間で条件値同士
に重複関係を持つものがあるか否かを判定し、重複部分
を持つものであればその条件値を重複する部分と重複し
ない部分に分割し、重複する部分について複数の条件値
を統合することにより、重複しない部分について排反関
係にある条件値がないかどうかを調べ、排反関係にある
条件値を削除することにより、冗長性を除去して新規ル
ールを作成し、上記知識ベースに格納するようにしたの
で、知識ベース内のルールの冗長性を減少させ、整合性
を保ち、体系化を図ることができる。
は上記知識ベース内の任意のルール(以下特定のルー
ル)と知識ベース内の他のルール間に対して、知識比較
手段にて、上記特定のルールの条件値が知識ベース内の
他のルールの条件値と一致しておらず、ルールの条件部
が知識ベース内の部分集合でなく、ルールの帰結部が知
識ベース内の他のルールの帰結部と一致しているか否か
を判定し、知識洗練手段にて、ルールの帰結部が知識ベ
ース内の他のルールの帰結部と一致しており、かつ異な
る条件値が一種類でない場合に、ルール間で条件値同士
に重複関係を持つものがあるか否かを判定し、重複部分
を持つものであればその条件値を重複する部分と重複し
ない部分に分割し、重複する部分について複数の条件値
を統合することにより、重複しない部分について排反関
係にある条件値がないかどうかを調べ、排反関係にある
条件値を削除することにより、冗長性を除去して新規ル
ールを作成し、上記知識ベースに格納するようにしたの
で、知識ベース内のルールの冗長性を減少させ、整合性
を保ち、体系化を図ることができる。
【0021】図2は、本発明の知識ベース管理方法を実
施するための知識ベース管理装置の一実施例である。装
置全体の構成と動作の概要を説明する。
施するための知識ベース管理装置の一実施例である。装
置全体の構成と動作の概要を説明する。
【0022】装置は、制御装置(CPU)200と主メ
モリ206、磁気ディスク208、CRT202、キー
ボード204からなる。知識ベース100は、磁気ディ
スク装置208に格納されている。また、知識比較部1
04や知識洗練部116のプログラムも磁気ディスク装
置208に格納されている。キーボード204は、プロ
グラムの指示のために使用する。CRT202は結果の
表示などに使用する。
モリ206、磁気ディスク208、CRT202、キー
ボード204からなる。知識ベース100は、磁気ディ
スク装置208に格納されている。また、知識比較部1
04や知識洗練部116のプログラムも磁気ディスク装
置208に格納されている。キーボード204は、プロ
グラムの指示のために使用する。CRT202は結果の
表示などに使用する。
【0023】必要に応じて、知識比較部や知識洗練部の
プログラムや、知識ベースの内容が主メモリ206にロ
ーディングされる。この操作は、キーボード204から
行われる。また、推論部や推論制御部のプログラムを主
記憶206に呼び込むための指令や実行開始指令の指定
もキーボード204から行われる。推論経過や結果など
は、CRT202に表示される。
プログラムや、知識ベースの内容が主メモリ206にロ
ーディングされる。この操作は、キーボード204から
行われる。また、推論部や推論制御部のプログラムを主
記憶206に呼び込むための指令や実行開始指令の指定
もキーボード204から行われる。推論経過や結果など
は、CRT202に表示される。
【0024】以下、本発明を具体的に説明する。まず、
一実施例の概要について説明する。図1は、全体のプロ
グラムおよびデータ構成について示したものである。知
識比較部104は知識ベース100よりルールを取りだ
し、条件比較部106と帰結部比較部110において、
それぞれ、条件部と帰結部が互いに異なるかどうかを判
定する。さらに、条件比較部106の条件値解析部10
8において、個々の条件値を比較解析し、冗長な条件値
を検出する。知識比較部104から得られた条件値のパ
ターンと冗長な条件値、および帰結部の情報は、知識洗
練部114に伝えられ、条件値変更部114により新し
い条件値パターンを生成して、新規ルール120を作成
する。この新規ルール120を知識ベース100に記録
し、前記の処理を繰り返すことにより、冗長性のないル
ールを持つ知識ベースの管理が可能である。
一実施例の概要について説明する。図1は、全体のプロ
グラムおよびデータ構成について示したものである。知
識比較部104は知識ベース100よりルールを取りだ
し、条件比較部106と帰結部比較部110において、
それぞれ、条件部と帰結部が互いに異なるかどうかを判
定する。さらに、条件比較部106の条件値解析部10
8において、個々の条件値を比較解析し、冗長な条件値
を検出する。知識比較部104から得られた条件値のパ
ターンと冗長な条件値、および帰結部の情報は、知識洗
練部114に伝えられ、条件値変更部114により新し
い条件値パターンを生成して、新規ルール120を作成
する。この新規ルール120を知識ベース100に記録
し、前記の処理を繰り返すことにより、冗長性のないル
ールを持つ知識ベースの管理が可能である。
【0025】次に、知識比較部と知識洗練部の処理につ
いて、図3から図5を用いて説明する。まず、比較対象
とするルールを記録し(302)、記録されたルールの
条件値パターンを知識ベース内の他のルールの条件値パ
ターンと一致するかどうかを調べる(304)。条件値
パターンが一致するものがあれば、それらのルールの間
で帰結部同士を比較する(306)。帰結部も一致する
場合には、比較対象のルールは知識ベース内の他のルー
ルと同じものであるので、知識ベースを更新せず終了す
る(320)。また、306で帰結部を比較した結果、
比較対象のルールの帰結部が知識ベース内のルールの帰
結部の部分集合となっている場合には、比較対象のルー
ルは知識ベース内の他のルールを狭く解釈したものであ
るので、知識ベースを更新せず終了する(320)。
いて、図3から図5を用いて説明する。まず、比較対象
とするルールを記録し(302)、記録されたルールの
条件値パターンを知識ベース内の他のルールの条件値パ
ターンと一致するかどうかを調べる(304)。条件値
パターンが一致するものがあれば、それらのルールの間
で帰結部同士を比較する(306)。帰結部も一致する
場合には、比較対象のルールは知識ベース内の他のルー
ルと同じものであるので、知識ベースを更新せず終了す
る(320)。また、306で帰結部を比較した結果、
比較対象のルールの帰結部が知識ベース内のルールの帰
結部の部分集合となっている場合には、比較対象のルー
ルは知識ベース内の他のルールを狭く解釈したものであ
るので、知識ベースを更新せず終了する(320)。
【0026】306において、帰結部が一致するものが
ない場合には、同じ条件値パターンを持ちながら互いに
異なる結論を持つルールが存在することになるので、比
較対象のルールは知識ベース内の他のルールと矛盾して
いる。したがって、矛盾除去の処理(308)を行な
う。この処理は、図6で説明する。
ない場合には、同じ条件値パターンを持ちながら互いに
異なる結論を持つルールが存在することになるので、比
較対象のルールは知識ベース内の他のルールと矛盾して
いる。したがって、矛盾除去の処理(308)を行な
う。この処理は、図6で説明する。
【0027】一方、304において、条件値パターンが
異なる場合には、比較対象のルールの条件部が知識ベー
ス内のルールの条件部の部分集合となっているものがあ
るかどうかを調べる(310)。部分集合になっていれ
ば、それらのルールの間で帰結部同士を比較する(31
2)。帰結部も一致する場合には、比較対象のルールは
知識ベース内の他のルールより少ない条件で成立するこ
とになるので、既存の知識ベースは冗長である。したが
って、冗長性の除去の処理を行なう(314)。
異なる場合には、比較対象のルールの条件部が知識ベー
ス内のルールの条件部の部分集合となっているものがあ
るかどうかを調べる(310)。部分集合になっていれ
ば、それらのルールの間で帰結部同士を比較する(31
2)。帰結部も一致する場合には、比較対象のルールは
知識ベース内の他のルールより少ない条件で成立するこ
とになるので、既存の知識ベースは冗長である。したが
って、冗長性の除去の処理を行なう(314)。
【0028】312において、帰結部が一致しなけれ
ば、比較対象のルールは知識ベース内の他のルールと矛
盾するので、矛盾除去の処理を行なう(308)。
ば、比較対象のルールは知識ベース内の他のルールと矛
盾するので、矛盾除去の処理を行なう(308)。
【0029】さらに、310において比較対象のルール
の帰結部が知識ベース内のルールの条件部の帰結部とな
っているものがあるかどうかを調べる(316)。帰結
部が一致する場合には、比較対象のルールは知識ベース
内の他のルールと冗長である可能性があるので、冗長性
の除去を行なう処理(316)を行なう。
の帰結部が知識ベース内のルールの条件部の帰結部とな
っているものがあるかどうかを調べる(316)。帰結
部が一致する場合には、比較対象のルールは知識ベース
内の他のルールと冗長である可能性があるので、冗長性
の除去を行なう処理(316)を行なう。
【0030】316において、帰結部が一致しなけれ
ば、比較対象のルールは知識ベース内の他のルールとは
異なるので、そのルールを新規のルールとして知識ベー
スに追加する(318)。
ば、比較対象のルールは知識ベース内の他のルールとは
異なるので、そのルールを新規のルールとして知識ベー
スに追加する(318)。
【0031】図3の314における冗長性の除去1の処
理を、図4を用いて説明する。この場合、比較対象のル
ールは知識ベース内の他のルールより少ない条件で成立
することになるので、既存の知識ベースは冗長である。
したがって、比較対象のルールを知識ベースに登録し
(402)、既存のルールを知識ベースから削除する
(404)。
理を、図4を用いて説明する。この場合、比較対象のル
ールは知識ベース内の他のルールより少ない条件で成立
することになるので、既存の知識ベースは冗長である。
したがって、比較対象のルールを知識ベースに登録し
(402)、既存のルールを知識ベースから削除する
(404)。
【0032】図3の316における冗長性の除去2の処
理を、図5を用いて説明する。まず、異なる条件値パタ
ーンのうち、異なる条件値が一種類であれば(50
2)、それらの条件値の和集合を取ることにより(50
4)、条件値を修正して一つのルールに統合して(50
6)、知識ベースに登録する(520)。そして、既存
のルールを知識ベースから削除する(522)。
理を、図5を用いて説明する。まず、異なる条件値パタ
ーンのうち、異なる条件値が一種類であれば(50
2)、それらの条件値の和集合を取ることにより(50
4)、条件値を修正して一つのルールに統合して(50
6)、知識ベースに登録する(520)。そして、既存
のルールを知識ベースから削除する(522)。
【0033】502において、異なる条件値が一種類で
ないときには、ルール間で重複関係にある条件値がない
かどうか調べる(508)。重複するものがあれば、そ
れらの条件値を重複している部分と重複していない部分
に分割する(510)。重複している部分を条件値パタ
ーンに持つものについては(512)、それらのルール
間で排反関係にある条件値がないか調べる(514)。
排反関係にある条件値があれば、前述の重複する条件値
の範囲では、排反関係にある条件値はどのような値でも
よいので、排反関係にある条件値を条件値パターンから
除去することにより(516)、ルールの修正を行う
(518)。
ないときには、ルール間で重複関係にある条件値がない
かどうか調べる(508)。重複するものがあれば、そ
れらの条件値を重複している部分と重複していない部分
に分割する(510)。重複している部分を条件値パタ
ーンに持つものについては(512)、それらのルール
間で排反関係にある条件値がないか調べる(514)。
排反関係にある条件値があれば、前述の重複する条件値
の範囲では、排反関係にある条件値はどのような値でも
よいので、排反関係にある条件値を条件値パターンから
除去することにより(516)、ルールの修正を行う
(518)。
【0034】512において、重複している部分を条件
値パターンに持たないものについても、条件値を変更し
てルールを修正する(518)。これらの処理を、知識
ベース内の全てのルールの間で、508において、条件
値に重複関係を持つものがなくなるか、514におい
て、排反関係にある条件値を持つものがなくなるまで繰
り返し行い、冗長性のないルールを作成し、知識ベース
に登録する(520)。そして、既存のルールを知識ベ
ースから削除する(522)。この図5で説明した処理
により、知識ベースの冗長性を減少させることができ
る。
値パターンに持たないものについても、条件値を変更し
てルールを修正する(518)。これらの処理を、知識
ベース内の全てのルールの間で、508において、条件
値に重複関係を持つものがなくなるか、514におい
て、排反関係にある条件値を持つものがなくなるまで繰
り返し行い、冗長性のないルールを作成し、知識ベース
に登録する(520)。そして、既存のルールを知識ベ
ースから削除する(522)。この図5で説明した処理
により、知識ベースの冗長性を減少させることができ
る。
【0035】図3の308における矛盾の除去の処理
を、図6を用いて説明する。まず、矛盾であることを利
用者に知らせ(602)、矛盾を解消するために新しく
追加するべき条件値がないかを聞く(604)。新しく
追加する条件値があれば、その条件値を条件値パターン
に追加してルールを修正し(606)、修正したルール
を知識ベースに登録する(608)。そして、既存のル
ールを知識ベースから削除する(610)。604にお
いて新しく追加する条件値がなければ、比較対象のルー
ルは知識ベース内の他のルールと矛盾していることとを
知らせる(612)。図6で説明した処理により、知識
ベースの整合性を保つことができる。
を、図6を用いて説明する。まず、矛盾であることを利
用者に知らせ(602)、矛盾を解消するために新しく
追加するべき条件値がないかを聞く(604)。新しく
追加する条件値があれば、その条件値を条件値パターン
に追加してルールを修正し(606)、修正したルール
を知識ベースに登録する(608)。そして、既存のル
ールを知識ベースから削除する(610)。604にお
いて新しく追加する条件値がなければ、比較対象のルー
ルは知識ベース内の他のルールと矛盾していることとを
知らせる(612)。図6で説明した処理により、知識
ベースの整合性を保つことができる。
【0036】なお、以上の説明では、あらかじめ知識ベ
ースに存在するルールについて冗長性の除去を行なった
が、この処理は、図7に示すように、既存の知識ベース
700に新たなルール704を追加する際にも適用でき
る。その他は図1と同様である。
ースに存在するルールについて冗長性の除去を行なった
が、この処理は、図7に示すように、既存の知識ベース
700に新たなルール704を追加する際にも適用でき
る。その他は図1と同様である。
【0037】また、本発明はルール同士の比較を行なっ
ているので、図6で説明した矛盾に対応した処理を用い
て、知識ベース内のルールの矛盾の検出610をはじめ
とする知識ベースの整合性を保つ処理にして応用するこ
とができる。さらに、本発明は構築中の知識ベースのデ
バッグに応用することができる。
ているので、図6で説明した矛盾に対応した処理を用い
て、知識ベース内のルールの矛盾の検出610をはじめ
とする知識ベースの整合性を保つ処理にして応用するこ
とができる。さらに、本発明は構築中の知識ベースのデ
バッグに応用することができる。
【0038】次に、本発明を簡単なルールの冗長性の削
除に応用した例を図8を用いて説明する。図8において
帰結部が同じで、条件部が1と2に示す2つのルールが
与えられた場合を考える。条件値は条件Aも条件Bも異
なる。ここで、条件Bはb1とb2しかとらないとす
る。条件Aについてはa2が重複しているので、ルール
1をルール1−1、1−2に、ルール2をルール2−
1、2−2に分割する。すると、ルール1−2とルール
2−1は条件Aが共通で、条件Bが排反関係にあるの
で、条件Bを削除し、新たにルール3を作成する。した
がって、ルール3ではa2のみを満たせばよいことにな
る。
除に応用した例を図8を用いて説明する。図8において
帰結部が同じで、条件部が1と2に示す2つのルールが
与えられた場合を考える。条件値は条件Aも条件Bも異
なる。ここで、条件Bはb1とb2しかとらないとす
る。条件Aについてはa2が重複しているので、ルール
1をルール1−1、1−2に、ルール2をルール2−
1、2−2に分割する。すると、ルール1−2とルール
2−1は条件Aが共通で、条件Bが排反関係にあるの
で、条件Bを削除し、新たにルール3を作成する。した
がって、ルール3ではa2のみを満たせばよいことにな
る。
【0039】次に、本発明をシュミット・トリガの挙動
推論で得た知識の管理に応用した例を、シュミット・ト
リガ回路の回路図である図9と入出力特性である図10
を用いて説明する。この2つの図において、同じ参照番
号は同じものをさす。この回路は電源電圧(Vcc)8
04を付加し、入力電圧(Vi)800を増加、減少さ
せることにより、出力電圧(Vo)802が、図9に示
すようなヒステリシスのある入出力特性を持つ。ここ
で、V1(901)は出力電圧の値が電源電圧804か
ら低い値(V3)904に変化する入力電圧の値。V2
(902)はその逆の変化を行なう入力電圧の値であ
る。入力電圧800を0から出力電圧802が飽和する
まで増加させるシミュレーションと、入力電圧800を
出力電圧802が飽和している状態から減少させるシミ
ュレーションを行なうと以下のような知識が得られる。
推論で得た知識の管理に応用した例を、シュミット・ト
リガ回路の回路図である図9と入出力特性である図10
を用いて説明する。この2つの図において、同じ参照番
号は同じものをさす。この回路は電源電圧(Vcc)8
04を付加し、入力電圧(Vi)800を増加、減少さ
せることにより、出力電圧(Vo)802が、図9に示
すようなヒステリシスのある入出力特性を持つ。ここ
で、V1(901)は出力電圧の値が電源電圧804か
ら低い値(V3)904に変化する入力電圧の値。V2
(902)はその逆の変化を行なう入力電圧の値であ
る。入力電圧800を0から出力電圧802が飽和する
まで増加させるシミュレーションと、入力電圧800を
出力電圧802が飽和している状態から減少させるシミ
ュレーションを行なうと以下のような知識が得られる。
【0040】(1)入力電圧(Vi)増加時 (a)dVi/dt>0,0≦Vi<V2 のとき V
o=V3 (b)dVi/dt>0,V2≦Vi のときVo=V
cc (2)入力電圧(Vi)減少時 (c)dVi/dt<0,V1<Vi のとき Vo=
Vcc (d)dVi/dt<0,0≦Vi≦V1 のときVo
=V3 上記の4つのルールのうち、(a)と(d)を比較する
と、条件部が異なる(304)が、帰結部はVo=V3
で同じである(312)。この2つのルールについてV
iに関しては、0≦Vi<V2の範囲は重複している
(508)。Viについての条件値を分割する(51
0)と、重複している範囲では、dVi/dtは正と負
の両方共取ることができるため、dVi/dtの条件は
排反関係である(514)。したがって、この範囲では
dVi/dtの値はどのような値でもよい。そこで、こ
の条件を冗長として除去することにより(516)、
(a)と(d)のルールの代わりに以下の2つのルール
を作成することができる。
o=V3 (b)dVi/dt>0,V2≦Vi のときVo=V
cc (2)入力電圧(Vi)減少時 (c)dVi/dt<0,V1<Vi のとき Vo=
Vcc (d)dVi/dt<0,0≦Vi≦V1 のときVo
=V3 上記の4つのルールのうち、(a)と(d)を比較する
と、条件部が異なる(304)が、帰結部はVo=V3
で同じである(312)。この2つのルールについてV
iに関しては、0≦Vi<V2の範囲は重複している
(508)。Viについての条件値を分割する(51
0)と、重複している範囲では、dVi/dtは正と負
の両方共取ることができるため、dVi/dtの条件は
排反関係である(514)。したがって、この範囲では
dVi/dtの値はどのような値でもよい。そこで、こ
の条件を冗長として除去することにより(516)、
(a)と(d)のルールの代わりに以下の2つのルール
を作成することができる。
【0041】 (e)0≦Vi<V1 のとき Vo=V3 (f)dVi/dt<0,V1≦Vi≦V2 のときV
o=V3 同様に、(b)と(c)の代わりに以下の2つのルール
を作成することができる。
o=V3 同様に、(b)と(c)の代わりに以下の2つのルール
を作成することができる。
【0042】(g)V2≦Vi のときVo=Vcc (h)dVi/dt<0,V1<Vi≦V2 のとき
Vo=Vcc このように、ルールの冗長な条件を取り除き、条件値を
変更することで、ルールの冗長性を減少させることがで
きる。
Vo=Vcc このように、ルールの冗長な条件を取り除き、条件値を
変更することで、ルールの冗長性を減少させることがで
きる。
【0043】
【発明の効果】以上説明したように、本発明によれば、
知識ベース内の冗長な条件を除去することにより、知識
ベースの冗長性を減らすことができ、個別のルール適用
範囲を広げることができる。さらに、知識ベース内のル
ールを整合性を保つことができる。
知識ベース内の冗長な条件を除去することにより、知識
ベースの冗長性を減らすことができ、個別のルール適用
範囲を広げることができる。さらに、知識ベース内のル
ールを整合性を保つことができる。
【図1】本発明の知識ベース管理方法を実施するための
知識ベース管理装置の一実施例のブロック図。
知識ベース管理装置の一実施例のブロック図。
【図2】本発明の知識ベース管理方法を実施するための
知識ベース管理装置の全体構成図。
知識ベース管理装置の全体構成図。
【図3】ルールの比較を示すフローチャート。
【図4】冗長性の除去1の処理を示すフローチャート。
【図5】冗長性の除去2の処理を示すフローチャート。
【図6】矛盾除去の処理を示すフローチャート。
【図7】本発明の知識ベース管理方法を実施するための
知識ベース管理装置の他の一実施例のブロック図。
知識ベース管理装置の他の一実施例のブロック図。
【図8】ルールの冗長性の除去を示す図。
【図9】シュミットトリガ回路を示す図。
【図10】シュミットトリガ回路の入出力特性を示す
図。
図。
【図11】従来の技術におけるルールの変更を示す図。
【図12】従来技術におけるルールの変更を示す図。
【図13】従来技術におけるルールの変更を示す図。
【図14】従来技術におけるルールの変更を示す図。
100…知識ベース、104…知識比較部、116…知
識洗練部、120…新規ルール。
識洗練部、120…新規ルール。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 阿部 正博 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 情報処理学会第41回(平成2年後期)全 国大会講演論文集P.2−53〜2−54
Claims (1)
- 【請求項1】条件部とその条件が満足されたときに有効
となる帰結部を持つルールの集合を格納する知識ベース
を有し、ルール同士を比較する知識比較手段と上記知識
比較手段からの出力に基づき新規ルールを作成する知識
洗練手段に関するプログラムを格納する外部記憶装置
と、 上記知識ベースの内容及び上記知識比較手段と上記知識
洗練手段に関するプログラムをローディングする主メモ
リと、 上記主メモリにローディングされた上記知識ベースの内
容及び上記知識比較手段と上記知識洗練手段に関するプ
ログラムを用いて、知識処理を行う制御装置とを備え、
上記知識ベースを管理する知識ベース管理方法であっ
て、 新規に追加されるルールまたは上記知識ベース内の任意
のルール(以下特定のルール)と上記知識ベース内の他
のルール間に対して、 上記知識比較手段にて、上記特定のルールの条件値が知
識ベース内の他のルールの条件値と一致しておらず、ル
ールの条件部が知識ベース内の部分集合でなく、ルール
の帰結部が知識ベース内の他のルールの帰結部と一致し
ているか否かを判定し、 上記知識洗練手段にて、ルールの帰結部が知識ベース内
の他のルールの帰結部と一致しており、かつ異なる条件
値が一種類でない場合に、ルール間で条件値同士に重複
関係を持つものがあるか否かを判定し、重複部分を持つ
ものであればその条件値を重複する部分と重複しない部
分に分割し、重複する部分について複数の条件値を統合
することにより、重複しない部分について排反関係にあ
る条件値がないかどうかを調べ、排反関係にある条件値
を削除することにより、冗長性を除去して新規ルールを
作成し、上記知識ベースに格納する、 ことを特徴とする知識ベース管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4109152A JPH0820959B2 (ja) | 1992-04-03 | 1992-04-03 | 知識ベース管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4109152A JPH0820959B2 (ja) | 1992-04-03 | 1992-04-03 | 知識ベース管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05282152A JPH05282152A (ja) | 1993-10-29 |
JPH0820959B2 true JPH0820959B2 (ja) | 1996-03-04 |
Family
ID=14502948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4109152A Expired - Lifetime JPH0820959B2 (ja) | 1992-04-03 | 1992-04-03 | 知識ベース管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0820959B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4887985B2 (ja) * | 2006-09-05 | 2012-02-29 | 日本電気株式会社 | ポリシ検査システム、方法、及び、プログラム |
JP6221177B2 (ja) * | 2013-12-17 | 2017-11-01 | 三菱重工業株式会社 | ルール検証装置、ルール検証方法、及びプログラム |
JP5737643B2 (ja) * | 2014-10-15 | 2015-06-17 | 洋彰 宮崎 | 自律学習型知識構築機 |
WO2024075307A1 (ja) * | 2022-10-07 | 2024-04-11 | 富士通株式会社 | 情報処理プログラム、情報処理方法、および情報処理装置 |
-
1992
- 1992-04-03 JP JP4109152A patent/JPH0820959B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
情報処理学会第41回(平成2年後期)全国大会講演論文集P.2−53〜2−54 |
Also Published As
Publication number | Publication date |
---|---|
JPH05282152A (ja) | 1993-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Forgy | Rete: A fast algorithm for the many pattern/many object pattern match problem | |
US6826604B2 (en) | Input/output device information management system for multi-computer system | |
US7433854B2 (en) | Backward chaining with extended knowledge base network | |
JPH11507450A (ja) | ミラーデータを使用して破壊されたデータを検出する方法およびシステム | |
JP2814691B2 (ja) | 推論方法に基づく故障診断方法 | |
van Emden | An Interpreting Algorithm for Prolog Programs. | |
JPH0820959B2 (ja) | 知識ベース管理方法 | |
Oliveira et al. | Efficient search techniques for the inference of minimum size finite automata | |
EP0403454B1 (en) | Method and apparatus for checking propositional logic theorems in system analysis | |
SU615538A1 (ru) | Устройство дл выбора информации из блока пам ти | |
US5737242A (en) | Method for automatically determining probabilities associated with a Boolean function | |
CN118193032B (zh) | 消除无效依赖库的方法、装置、设备、介质和程序产品 | |
GB1510240A (en) | Method of operating a computer to produce test case programmes | |
Wordsworth | Specifying and refining programs with Z | |
JPH01108634A (ja) | 外部記録媒体誤使用防止方式 | |
Lambers et al. | Multi-Granular Conflict and Dependency Analysis in Software Engineering based on Graph Transformation (Summary) | |
JPS583027A (ja) | デ−タ・ベ−スにおける意味情報処理方式 | |
Ryman | Illuminating software specifications | |
JPS635431A (ja) | プログラムパツチ情報の管理方式 | |
JPS60256847A (ja) | ユニフアイ処理回路 | |
Rubin | Relaxed fuzzy randomization | |
JPH02204835A (ja) | ルール型プログラム実行方法 | |
JPS63156241A (ja) | フレ−ム型知識管理方式 | |
Abrahams | iS* Computer Science Department, New York University. This research was supported in part by the US Department of Energy under contract EY | |
Grummitt | Automated Performance Management Advice Using Computational Intelligence |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |