JPH0233627A - ルール関連図の生成方式 - Google Patents

ルール関連図の生成方式

Info

Publication number
JPH0233627A
JPH0233627A JP63183603A JP18360388A JPH0233627A JP H0233627 A JPH0233627 A JP H0233627A JP 63183603 A JP63183603 A JP 63183603A JP 18360388 A JP18360388 A JP 18360388A JP H0233627 A JPH0233627 A JP H0233627A
Authority
JP
Japan
Prior art keywords
pattern
arc
rule
patterns
network
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.)
Pending
Application number
JP63183603A
Other languages
English (en)
Inventor
Shunichi Tano
俊一 田野
Shiyouichi Masui
増位 庄一
Katsumi Omori
勝美 大森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63183603A priority Critical patent/JPH0233627A/ja
Publication of JPH0233627A publication Critical patent/JPH0233627A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、知識ベースシステムの高速処理方式に関し、
特に、ルール音用いて、前向きJIK論,後向き推論お
よび双方向推論を行なう機能を有する推論システムに好
適な、高速双方向1イh論のためのルール関連図の生成
方式に関する。
〔従来の技術〕
条件の真偽判定を高速に行なう方法としては、ルール条
件部を弁別ネットワークに類したネットワークで表わし
、これを用いて条件成立判定を行なう方式が知られてい
る。なお、これについては、「多パターン・多オブジェ
クト高速マツチアルゴリズム”Rete”  (人工知
能、第19巻、第1号。
1982年) J (Rete : A Fast A
lgorithm forthe  Many  Pa
ttern/Many  0bject  Patむe
rn  MatchProblem、Artifjci
al J、nte]ligencC,voR,19,&
l。
+982)の記載を参考にすることができる。
上記方法は、現況データと呼ばれる現況データ名および
単数または複数の属性名と属性(+Il!どの対からな
る構造体データに関する条件をネットワークに変換し、
それを用いて条件の真偽判定を行なうものである。
現況データに関する条件は、現況データの属性に関する
複数個の条件項から構成されている。条ぞトの成立判定
を行なうには、現況データをネットワークに流し、各ノ
ードに記憶されている条件項を満足するかを調べ、満足
されていれば次のノードへと流し、満足されていなけれ
ば処理を中止するという処理を繰り返し、#端ノードま
で到達すると、そのノードに記述されている条件部(ル
ール名)が成立したと判定する方法である。この方法は
高速性に優れている。
以上説明した方法は、前向き推論の高速化アルゴリズム
であるが、双方向推論の高速化アルゴリズムは存在しな
い。
〔発明が解決しようとする課題〕
しかし5条件部が対象の状態を記述したパターン、結論
部が導くことのできる対象の状態を記述したパターンで
表わされるルールを、ルール条件部を構成するパターン
内の個々の条件を1つのノードで、それらの関連をアー
クで表わし、頂点ノードを持つ弁別ネットに類したネッ
トワークに変換し得られるルール条件部を表わすネット
ワークと、ルールの結論部を構成するパターン内の個々
の記述をノードで、それらの関連をアークで表わし、頂
点ノードを持つ弁別ネットに類したネットワークに変換
して得られるルール結論部を表わすネットワークとを得
、これらのネットワークをそれぞれの終端ノードで結合
して、ルール条件部。
結論部を表わす2つのra点ノードを有する1つのネッ
トワークを作成し、ルール条件部、結論部に共通する部
分を飛び越す、「条件部ネットワーク内と結論部ネット
ワーク内を結ぶショートカットアーク」を設けたルール
関連図が生成できれば。
このルール関連図を用いて、双方向推論の高速化がはか
れる。すなわち、iff向き推論は条件部のネットワー
クの頂点ノードから、結論部ネットワークの頂点ノード
に向けて対象世界の状態量を流し、条件部が成立したル
ールを判定し、さらに、結合している結論部のネットワ
ークに流し、導くことにできる結論を得ることで実現で
き、後向き推論は前記結論部のネットワークの頂点から
条件部の頂点ノードへ向けて、検証すべきゴールを流す
ことにより、ゴールを専くルールを特定し、更に、結合
している条件部のネットワークに流し、新たなサブゴー
ルを得ることで実現でき、加えて、ショートカットアー
クを通して、対象世界の状態。
検証すべきゴールを流すことにより高速化できる。
しかし、このルール関連図を生成するためには、条件部
ネットワークの生成、結論部ネットワークの生成に加え
、それぞれのネットワークを結ぶショートカットアーク
を設定する必要がある。
条件部ネットワーク、結論部ネットワークは。
弁別ネットであるから、効率化するということは。
少ない条件判定で、パターンの成立・不成立判定が行な
えること、即ち、共通に現れる条件を1つにまとめるこ
とに対応する。また、ショートカットアークは、事前解
析により、パターンマツチがnf能と判定されたネット
ワークにのみ、データを流すように設定しなければなら
ない。
ショートカットアークは、条件部ネットワーク。
結論部ネットワークを結合するアークであるから。
効率的なアークができるかどうかは、条件部ネットワー
ク、結論部ネットワークの構造に影響される。つまり、
効率のよい結論部1条件部ネットを生成したとしても、
効率のよいショートカットアークが設定できるとは限ら
ないのである。即ち、条件部ネットワーク、結論部ネッ
トワーク、ショートカットアークの生成を統合して行な
わなければならない。
さらに、ショートカットアークを設定するということは
、パターン間におい゛C,マツチするかどうかの判定を
行なう必要がある。しかし、この判定処理は、基本的に
、条件部パターンと結論部パターンのすべての組に対し
て行なう必要があり、処理量が莫大になる。
以上のように、基本的に、ルール条件部、結論部を統合
して解析しなければならず、ルール関連図の生成自体も
困難で、かつ、処理量も大きくなってしまうという問題
点があった。
本発明の目的は、効率的な条件部ネットワーク。
結論部ネットワーク、ショートカットアークからなるル
ール関連図を高速に生成するアルゴリズムを提供するこ
とにある。
〔課題を解決するための手段〕
効率的な条件部ネット、結論部ネット、ショートカット
アークを生成するためには、パターン間の関連を解析す
る必要がある。例えば、ある結論部パターンで生成され
たデータは、ある条件部パターンを常に満たす/満たさ
ない/満たす可能性がある等を解析する必要がある。
パターンとは、対象の状態(例えば、プロダクションシ
ステムでは、ワーキングメモリの状10A)を規定する
ものであり、対象の状態が満たすべき条件記述である。
全ての状態の集合をTとするとパターンPa、Pbの示
す意味は、パターンマツチする状態の集合で表わすこと
ができる。
パターンPa、Pbを満たす状態の集合をそれぞれSa
、Sbとすると、 S a =(x l xET、 xはPaを満足する)
S b −(x l x E T+ xはpbを満足す
る)と定義でき(以下では、Sa、Sb≠φである、つ
まり、恒偽パターンが存在しないとする)、交わりがな
い場合  :5anSb=φ部分的に交わる場合 : 
 5ansb≠φ。
5anSb≠Sa、5anSb≠sb 包含される場合   : Saつ5b or  5aC8b 等しい場合     :  S、]=Sbの4種に分類
できる。これに対応して、パターン間の関係は、以下の
ように定義できる。
(1)ディファレンス(Difference)関係(
←0−+)SanSb=φの場合、PaとI) bには
、[)関係があるといい、Pa+D→ pbと記述する
(2)マンチャプル(Matchable)関係(←M
→)SanSb≠φ、5anSb:#Sa、5ansb
≠sbの場合、PaとP bには、M関係があるといい
、P a  +M−+ P bと記述する。
(:3)スーパーサブ(Super −sub )関係
(←5−−8→) S、1つ5horSaC8bの場合、PaとP bには
、S関係があるといい、SaつsbならばP a 4−
 S −P b 、 S a CS bならばpb 4
−8−Paと記述する。
Pa(−8−Pbの場合、Paは、Pbの上位(sup
er)パターン、Pbは、Paの下位(Sub)パター
ンと呼ぶ。
(4)イコール(Equal)関係(4−E−+ )S
a=Sbの場合、PaとPbには、E関係があるといい
、Pa4−E→ Pbと記述する6E関係を持つパター
ンは、意味的にみて全く等しいので、1つのパターンと
してみなすことにし、以下M関係は考慮しない。
これらの関係を解析すると、以上のようにパターンマツ
チを減少させるための情報が得られる。
Pa  +E−+ Pbであれば、Paを満たす状態は
、常にpbを満し、Pbを満たす状態は、常にP aを
満す。
P a  ’−1)→pbであれば、Paを満たす状態
は、常にpbを満たさない。また、pbを満たす状態は
、常にPaを満たさない。
Pa5s−Pbであれば、Paを満たすデータは、pb
を常に満たすとは限らないが、P bを満たすデータは
、常にPaを満たす。
Pa4−M→ pbであれば、Paを満たすデータは、
pbを常に満たすとは限らない。また、P bを満たす
データは、常にPaを満たすとは限らない。
しかし、このパターン間の関係を得るためには、すべて
のパターンの組合せに対して、その関係を判定しなけれ
ばならず、処理量がパターン数の2乗に比例して増加し
てしまう。
ところが、4種の関係には、以下に示す性質がある。
(a)  S関係は、トランシツテイブ(transi
tivC)である。
(b)  Prr  4−M→ P bであり、P a
  47S−P bを満たすPcとPaにS関係がない
ならば、P a  4−M4  P cが成立する。
(c) Pa ←■)→ Iノbであり、Pa+5−P
cならば、Pa 4−r)→ PCが成立する。
(a)の性質より、パターン間を、S関係により1階層
グラフで表わせることがわかる。また、このS関係の階
層グラフにおいて、(b)の性(6により、Paとpb
にM関係が存在すれば、その上位パターン間にも、S関
係が存在しない限り、M関係が成立する。つまり、M関
係が、階層グラフの上位に伝播できることを示している
。さらに。
(c)の性質により、PaとpbにD関係が存在すれば
、その下位パターン間にも、D関係が成立する。つまり
、D関係が、階層グラフの下位に伝播できることを示し
ている。
即ち、性質(a)を用いて、S関係の階層を表わすグラ
フを作成し、そのグラフ内に、D関係。
M関係を部分的に表現すれば、性質(b)(Q)により
、パターン間の関係を知ることができる。
S関係の階層グラフは、高速に生成でき、D関係1M関
係は、性質(b)(c)を用いれば、部分的に設定する
だけですむ。
そこで、全ての状態が満足する仮想的なパターンを頂点
とするS関係を用いたパターンの階層グラフを生成し、
あるパターンに直接結合した下位パターンが複・数あり
、それらのパターン間に1M関係がある場合、それらを
結合するアーク(Mアークと呼び、点線で表わす)を設
定する。このグラフをTMグラフと呼ぶ。
このグラフにおいて、パターンPaとバタ、−ンpbが
、直接S関係で結合されている場合、つまり、P a 
4− P bのアークが存在する場合、このアークにパ
ターンPaとpbの条件の差を表わすノードを生成し、
すべてのパターンからターミナルノードを出すと、[M
グラフ内に存在するパターンに関する弁別ネットが生成
できる。即ち1Mグラフから、弁別ネットを直接生成で
きる。
上位のパターンは、下位のパターンにとって、共通の条
件を表わしている。即ち、1Mグラフの構造に沿って、
直接弁別ネットを生成することは。
共通条件を1つのノードで表わすことに対応し。
効率的ネットワークとなっている。
また、条件部パターン、結論部パターンをすべて1つの
1Mグラフとして表わすことにより、以トに示す、ショ
ートカットアークの設定に関する情報が得られる。
あるルールの実行によりPxにマツチする状態が生成さ
れた場合、Pxの上位パターンは必ず満たされ、また、
Pxの下位パターンに対しては、P xと下位パターン
との差をチエツクするだけでド位パターンが満足される
かを判定できることを表わしている。即ち、Pxの上位
パターンはパターンマツチの処理なしに、Pxとパター
ンマツチすると判定できるパターンであり、ショートカ
ットアークによって直接結合でき、Pxの下位パターン
、部分的なパターンマツチの処理後、パターンマツチで
きるかどうか判定できるパターンであり、ショートカッ
トアークによって、必要となるパターンマツチ条件を表
わすネットワークに結合する。
また、Pxおよび、Pxの上位パターンとMアークで結
合しているパターンは満たされる可能性がある。そのた
め、下位パターンと同様に、ショートカットアークによ
って、必要となるパターンマツチ条件を表わすネットワ
ークに結合する。
力、Pxおよび、Pxの上位パターンとMアークで結合
していないパターンは、満たされないことになり、Px
とは、ショートカットアークで結合する必要はないこと
がわかる。
即ち、上記目的は以下の構成により達成される6手段1
:条件部パターン、結論部パターンの包含関係により、
パターン間の階層を表わすグラフを生成し、同一上位パ
ターンを持つパターンtt■に成立するマツチ可能関係
を表わすアークを設定する。
手段2:生成されたグラフから、条件部を構成するパタ
ーンと、包含関係を表わすアークを取りだし、アークで
結合されたパターンの条件の差を、そのアークにノード
として表現することにより1条件部ネットワークを生成
する。
手段3:生成されたグラフから、結論部を構成するパタ
ーンと、包含関係を表わすアークを取りだし、アークで
結合されたパターンの条件の差を、そのアークにノード
として表現することにより、結論部ネットワークを生成
する。
手段4:条件ネットワーク、結論ネットワークの。
各パターンの成立を表わすターミナルノードへの枝と、
そのパターンに結合している下位パターンの条件判定の
ためのノードへの枝が、それぞれ、条件部ネットワーク
、結論部ネットワークにまたがって存在した場合、およ
び、マツチ0f能アークで結合されているパターンへの
枝が、それぞれ1条件部ネットワーク、結論部ネットワ
ークにまたがって存在した場合、それらを結ぶようにシ
ョートカットアークを設定する。
以上の方式で、ルール関連図を生成し、さらに、このル
ール関連図内を流れる情報(対象世界の状態、および、
検証すべきゴール)の流れる方向に関して以下の方式で
単方向アークを設定することにより、達成される。
手段5:ルール関連図において、条件部ネットワークの
頂点ノードから最初のショートカットアークが現れるま
でのアークに対して、頂点ノードへのデータの流れを禁
止する属性を設定する。
手段6:ルール関連図において、結論部ネットワークの
頂点ノードから最初のショートカットアークが現れるま
でのアークに対して、頂点ノードへのデータの流れを禁
止する属性を設定する。
手段7:ルール関連図において、複数アークが合流する
場合、それらのアークの1つ以外のアークに対して、合
流方向のデータの流れを禁止する属性を設定する。
〔作用〕
手段1は、パターン間の包含関係を用いて、パターン間
の階層グラフを生成し、そのグラフ内に。
他の関係を表現することにより、部分的なパターン間の
関係を求めるだけで、ルール関連図の生成を可能とした
手段2,3により、共通に現れる条件は、1つのノード
として表現されるため、効率のよい、条件部ネット、結
論部ネットを生成できる。
手段4により1条件判定処理が必要となるネットワーク
にだけ情報(対象世界の状態、検証すべきゴール)が流
れるようにショー1〜カツトアークが設定できる。
手段F)、6.7により、無駄な情報の流れを止めるよ
うに、ルール関連図を生成できる。
〔実施例〕
以下1本発明の一実施例を第1図により説明す机 第1図に示すように、本システ111は、与えられたル
ール2をルール関連9図3に変換し、双方向推論を行な
うシステムに出力するシステムである。
まず、この双方向推論システムについて説明する。双方
向推論システムは、ルールを記憶するルールベース3.
ワーキングメモリエレメント(W M E )を記憶す
るワーキングメモリ4.+ffl論磯構5より構成され
る。ルールベース3は1本システム1により生成された
ルール関連図である。
知識表現のシンタックスを第2図に示す。
WMELOは、述語を用いて表わし、述語名11と、複
数の引き数12より構成される。
例えば、第3図に示したWME30は、ポンプという述
語名31で、第1引き数がA、%統32、第2引き数が
、高い33、第3引き数が、ポンプ3号34であること
を表わしている。これらの弓き数は、それぞれ、系統名
9回転数9代替機器を表わしている。
ルール13は、WMEの状態に関する記述よりなる条件
部(L HS : Left Hand 5ide) 
 14と、条件部が成立した場合に生成できるWME記
述よりなる結論部(RI−I S : Right 1
land 5ide) 15より構成される。1つのW
MEに関する記述をパターンと呼ぶ。L HSは、複数
のパターンより構成され、尺H3は、1つのパターンよ
り成る。
第4図に示すルール50は、A系統のポンプで、回転数
が高く、回し系統のタービンが正常である場合、RHS
のパターンを生成することを示している。”7x”51
は、変数を表わし、同一ルール内では、同一値となる。
ルール50にWME30゜40がマツチした場合は1診
断結果(A系統、ポンプ3号)のWMEが生成されるこ
とになる。
本システムには、初期値として、WMEが与えられ、実
行可能ルールを順次実行する前向き推論、および、ゴー
ルとして、第5図に示すWME60を与え、これが成立
するかを検証する後向き推論を行なうことができる。さ
らに、前向き推論において、必要なW M Eが未知で
ある場合、自動的にそれを後向きにより確認する推論等
の、前向き推論と後向き推論が協調した推論を行なうこ
とができる。
本システムは、上記の双方向推論システムが高速に処理
できるように、例えば、第6図に示したルールを、第7
図に示したルール関連図に変換する。ここで、第7図に
おいて、O印はコンスタントノード、・印はバリアプル
ノード、0印はターミナルノード、片方のみに矢印をも
つ線はm方向アーク、両端に矢印をもつ線は双方向アー
ク、破線はショートカットアークをそれぞれ表わしてい
る。
まず、ルール関連図の概要を説明する。
ルール条件部は、フォワードルート(forward 
−root )ノード80を頂点とし、定値との比較を
、述語名が八である条件を表わす「述語名=AJコンス
タントノード81、第1引き数が81であることをr$
1=alJ82のように表わし、変数との比較を、第3
引き数が?Xと等しいことを表わすr$3=?IJバリ
アプルノード83で表わし1条件が成立したことをター
ミナルノード84で表わすことにより、条件ネットワー
クが生成される。
一方、ルール結論部は、バックワードルート(back
ward −root)ノード90を頂点とし、定植と
の比較を、述語名がCである条件を表わす「述語名=C
Jコンスタントノード91.第1引き数がolであるこ
とをr$1=cLJ 92のように表わし、変数との比
較を、第;3引き数が?Xと等しいことを表わすr$3
=?XJバリアプルノード93で表わし、条件が成立し
たことをターナミルノード84で表わすことにより、条
件ネットワークが生成する。
これらのネットワークは、ターミナルノードで結合して
いる。
次に、ショートカットアークについて説明する。
第6図のルールC73が実行された場合、その結果、D
(d 1.d 2.?Y)75が生成される。これによ
り、新たに実行可能になるルールを捜す必要があるが、
明らかに、ルールA71,872゜073の条件部は、
無関係であり、ルールI) 74に対しては、第3引き
数がd3であることだけ確L2すれば、実行可能である
と判定できる。後向き推論においても同様のことがiえ
る。例えば、ルールC73を用いた場合、C(c 1.
c 2.?Y)76のサブゴールが生成され、これを導
くルールを捜す必要があるが、ルールC73,074は
適用不能、ルールA71は、常に(何も確認することな
く)適用可能、ルールB72は、?Yが03であれば適
用可能であると判断できる。
即ち、ルール間の関連を解析しておけば、前者の場合、
「第3引き数=d3」以外の判定処理を不要にでき、後
者の場合、r?Y=c3J以外の判定処理を不要にでき
る。
これを、ショートカットアークで表現する。例えば、シ
ョートカットアーク94は、上記、「第6図のルールC
73が実行された場合、ルールD74に対して、第3引
き数がd3であることだけ確認すれば、実行可能である
と判定できる」を表わしている。
以下、本システムにおけるルール関連図生成アルゴリズ
ムについて説明する。
ルール関連図の生成は、■LH3,RHSパターンを構
成要素とする階層グラフを生成、■得られた階層グラフ
を用いて、LHSネットワーク。
RHSネットワーク、ショートカッ1〜アークを生成、
の2段階で行なう。
第8図に階層グラフの生成フローを示す。階層グラフと
しC−A1Siするパターンに通し番号(1〜)を割当
てる。全てのパターンの上位となる仮想的パターンとし
てルートパターンを設け、これをパターン0とする。即
ち、パターン0がト)り層グラフの頂点となる。パター
ン1から順々に解析し、階層グラフを生成する。新たに
階層グラフに登録するパターン番珍を、N OVとし、
解析中の階層グラフ内パター ンの位置をPOSとする
。あるパターンの直ドのパターンとは、あるパターンに
直接結合している下位パターンを、直上のパターンとは
、あるパターンに直接結合しCいる上位のパターンを表
わすものとする。
まず、初期化として、ルートパターンをパターンOとし
、N0V=1.PO8=Oとする(100゜101)。
次に、POSのパターンの直下パターンを+3 E L
 OWにいれる(102)。
例えば、第9図のグラフが既に生成されており、現在の
posが1である場合、BELOWは、(2,4,7)
となる。BELOWが、空である場合は、POSパター
ンがグラフのリーフ(葉)であることに対応し、NOW
パターンの直上としてP OSパターンと結合するBo
3)。例えば、第9図で、PO2−4,N0V=8の場
合、第10図のようになる。ここで1図の実線はSアー
ク、破線はMアークを示す。
RELOWが空でなければ、B L!: L○Wのパタ
ーンとNOVパターンでパターンマツチを行なう(10
4)。B l3LOWの中には、NOVの上位であるパ
ターンと下位であるパターンが混在して現れることはな
いので、以下の3つの場合を考えれば良い。
(])BELOW中に、N0W(7)上位に位置すべき
パターンがある場合 上位に位置すべきパターンから、1つ選択しPOSに代
入し、残りを5TACKにブツシュする(105)。例
えば、2,4.7のうち2,4が、NOWの上位に位置
すべきパターンである場合、P OS = 2とし、5
TACKに4をブツシュする。
(2) HE LOW中に、NOWのド位に位置すべき
パターンがある場合 一ド位に位置すべきパターンとIJOSパターンを結ぶ
アークを削除し、それらのパターンとN OWを結び、
NOWとPOSを結ぶ(106)、例えば、2,4.7
の内2,4がN OWの下位に位置すべきパターンであ
る場合、第11図のように結合する。この場合Mアーク
の虹新が必要になる。
+31!: L OW中で、下位に位置すべきパターン
をPlとし、以外のパターンをP2とする。Plに含ま
れるパターンとP2に含まれるパターン間のMアークを
消去し、NOWパターンとM関係を有するP2内のパタ
ーンをMアークで結合する(107)。例えば、上記の
例で、パターン2と4、パターン4と7にMアークがあ
った場合は、パターン4と7を含ぶMアークが消去され
、パターン8と7にM関係がある場合は、パターン−8
と7を結ぶMアークが生成されることになる。
(:1)BELOW中に、N 0V(7)上位あルイは
下位に位置すべきパターンがない場合 NOVとPOSを結合する(108)。例えば。
例えば、2,4.7と上位、下位の関係がない場合、第
12図のように結合する。この場合Mアークの更新が必
要になる。NOWパターンとM関係を有するBELOW
内のパターンをMアークで結合する(1.09)。
これらの処理を、S T A CKが空になるまで行な
い(110,l 11)、5TACKが空になった場合
は(112) 、NOVをインクリメントしく113)
、次のパターンを階層グラフに追加する。これをすべて
のパターンについて行なう。
以上の処理で階層グラフが生成できる。次に、このグラ
フからルール関連図を生成する。ルール関連図の生成ア
ルゴリズムを第13図に示す。
まず、生成したL HSパターン、RHSパターンを構
成要素とする階層グラフを生成しく120)。
グラフ内の各パターンにターミナルノードを対応付ける
(121)。得られたグラフの例を第14図に示す。こ
の階層グラフにおいて、LHSパターンは、丸で囲み、
RHSパターンは四角で囲み。
それぞれのパターンが成立したことを示すターミナルノ
ードを◆印で表わしている。また破線はMアークを表し
ている。
まず、ショートカット設定のために、階層グラフ内にS
Cアークを張る(122,123)。
SCアークは、 (−1)  ターミナルノードへの枝と、そのターミナ
ルノードを持つパターンの直下パターンへの枝を結合す
るアーク a>  Mアークで結合されたパターンへの枝どうしを
結合するアーク である。第14図の階層グラフの場合は、第15図のよ
うにS Cアークが設定される。例えば、SCCアーク
140は、P3のターミナルノードへの枝と、P3の直
下パターンP4への枝を移ぶアークであり、上記■のS
Cアークである。SCCアーク141は、第14図内の
Mアーク130で結合されたP3とP4への枝を結ぶア
ークであり、上記■のSCアークである。
次に、L HSネット、RHSネットを生成するために
、このグラフを2つに分解する。LHSネットを生成す
るためには、LHSパターンだけを含む階層グラフが必
要であるので、階層グラフのリーフよりL HSパター
ンを表わすノードが現れるまで、ノードを消去、即ち、
RHSパターンを表わすノードがリーフノードまで連続
している部分を消去し、RHSパターンのターミナルノ
ードおよびそのアークを消去する。このグラフをL 1
1 Sグラフと呼ぶ。同様にしてRHSグラフを生成す
る(124)。第16図において、ターミナルノード1
70より上のグラフがL S I(グラフ、−ドがRH
Sグラフに対応している。
次に、ショートカット(SC)アークを生成する。階層
グラフ内に設定したSCアークの端点が、そ・れぞれL
SHグラフ、RHSグラフ内にあれば。
つまり、両方のグラフにまたがれば、それをショートカ
ットアークとして設定する(125)、この操作により
第16図に点線で示したショートカットアークが生成で
きる。例えば、第15図のSCCアーク140の両端、
つまり、P3のターミナルノードへの枝とP 3の直下
パターンP 4への枝は、どちらもLHSグラフ内にし
かないのでショートカットアークとはならない。SCC
アーク142の両端、つまり、P3のターミナルノード
への枝と1)3の直下パターンP5への枝は、それぞれ
、LHSグラフ、RHSグラフにあるので、ショートカ
ットアークY160となる。SCCアーク141は、P
;3への枝、P6への枝をその両端としており、この枝
は、LH8,RHSグラフの双方にあるので、LHSグ
ラフ内のP3への枝とRHSグラフ内の26への枝を結
ぶ2つのショー1へカットアークZa161、および、
L HSグラフ内のP6への枝とRHSグラフ内のF)
 3への枝を結ぶショートカットアークZb162とな
る。
次に、アークが持つ「情報(WME、ゴール)の流れる
h向」に関する属性を設定する。
L HSグラフのルートノードから最初に現れるショー
トカットアークまでのアークは、ルートノードへの情報
の流れを禁止したm方向アークとする(126)。倒え
ば、第16図のL HSグラフにおいて、Plの上位ア
ークにショートカットアークがないとすると、P2から
PL、P9から21への情報の流れは禁止する。即ち、
アーク163.164.165は単方向アークとなる。
同様に、RHSグラフのルートノードから最初に現れる
ショートカットアークまでのアークは、ルートノードへ
の情報の流れを禁止した単方向アークとする(127)
。例えば、第16図のRHSグラフにおいて5P1の上
位にショートカットアークがないとすると、Plより上
位への情報の流れは禁+1:、される。即ち、アーク1
66は貼ノJ向アークとなる。
ショートカットアークが現れないということは、そのデ
ータを生成しても、他のルールの実行に何の影響も及ぼ
さないことを表わしているから、この方向への情報の流
れを禁止するということは、不要な情報の流れを禁止す
ることを意味する。
また1階層グラフは、ツリー(Tree)構造ではなく
、グラフ(Graph)構造である。そのため、第17
図に示す構造が現れる。例えば、この構造がRHSグラ
フに現れ、Paの上位、即ち、アーク180からWMI
Eが流れるとすると、アーク182゜184を通って、
Pbで合流するため、FJ bよりf位のパターンには
、同−WMEが二度流れてしまうことになり、同一の処
理を一度行なってしまう。これは、逆り向でも同様であ
るから、P R+1) bで情報の合流が起こらないよ
うに、合流するアークのうち1つを除い゛C1合流ノl
向の流れを禁止する(128)。この場合、アーク18
1゜182を双方向アーク、アーク1.83,184を
Iliツノ向アークに設定する。
最後に、第16図のグラフにおいて、Sアークで結合さ
れたパターン間の条件の差を、そのアークにノードとし
て表現する(129)。例えば、第18図において、パ
ターン1.90と191の条件の差は、$2=2である
から、ノード192のように表現し、グラフ193を、
ネットワーク194のように変形するように、グラフを
弁別ネットに変形する。
以上の処理方式により、ルール関連図を生成することが
できる。
本実施例によれば、高速な双方向推論に適したルール関
連図を効率よく生成することが可能となる。
〔発明の効果〕
本発明によれば、L HSネットワーク、RHsネット
ワークは、それぞれ、パターンの包含関係に基づいた階
層グラフから生成され、その結果、上位パターンの条件
は、共通化され、効率的なネットワークとなっている。
さらに、事前解析によりパターンマツチが可能と判定さ
れたネットワークにのみ、データを流すようにショート
カットアークが生成される。以上のように、本アルゴリ
ズムを用いれば、効率のよいLHSネット、RHSネッ
ト、ショートカットアークからなる高速双方向推論に適
した効率のよいルール関連図を生成できる。
さらに、階層グラフを用いる本アルゴリズムは、パター
ンの個数をN1階層グラフの平均分岐数をmとすると、
階層グラフを生成するために必要なパターンマツチの回
数は、階層グラフの深さがQ Ogm Nに比例するこ
とから考えて、O(N串QogN)になる。一方、IM
グラフからST−METへの変換は、0(N)であるの
で、全体としては。
0(N串Qog N)の計算域となり、効率のよい生成
アルゴリズムである。
【図面の簡単な説明】
第1図は本発明の実施例のシステム構成を表すブロック
図、第2図は本発明の実施例のシステムの知識表現のシ
ンタックスの説明図、第3図、第4図、第5図は実施例
の上記表現による記述例を示す説明図、第6図はルール
の記述例を示す説明図、第7図は上記ルールの関連図、
第8図はパターン間の関係を表すグラフの生成フロー図
、第9図、第10図、第11図、第12図はパターンの
関係を表すグラフ、第13図は本発明の実施例になる、
グラフからルール関連図を生成させる処理のフロー図、
第14図は各パターンにターミナルノードを付した階層
グラフの例示図、第15図はショートカットアークを設
定した階層グラフの例示図、第16図はLHSグラフお
よびr< HSグラフを示す例示図、第17図は階層グ
ラフの部分構造図、第18図はグラフを弁別ネットワー
ク変形図 0コシスタ;トノード ・バリアフ゛ルノー1 02−ミナルノーに′ 5hσftcrJt7−り 第 開殆 舅 図 閉略 終了 図 冨 lθ 図 冨 ノー 図 第 図 一工=、イ」ロ一 ロRHSハ2クーレ 鴫−−)Mアーク C7−7r す /42 −−−.SCア一フ 冨 /7 図 図 ロクーミtルFト

Claims (1)

  1. 【特許請求の範囲】 1、条件部が対象の状態を記述したパターン、結論部が
    導くことのできる対象の状態を記述したパターンで表わ
    されるルールを、ルール条件部を構成するパターン内の
    個々の条件を1つのノードで、それらのつながりをアー
    クで表わし、頂点ノードを持つ弁別ネットに類したネッ
    トワークに変換して、ルール条件部を表わすネットワー
    クを得、一方、ルールの結論部を構成するパターン内の
    個々の記述をノードで、それらのつながりをアークで表
    わし、頂点ノードを持つ弁別ネットに類したネットワー
    クに変換して、ルール結論部を表わすネットワークを得
    、これらのネットワークをそれぞれの終端ノードで結合
    して、ルール条件部、結論部を表わす2つの頂点ノード
    を有する1つのネットワークを作成し、ルール条件部、
    結論部に共通する部分を飛び越す、条件部ネットワーク
    内と結論部ネットワーク内を結ぶショートカットアーク
    を設けたルール関連図を用いて高速に双方向推論を行な
    う知識ベースシステムにおいて、ルール条件部、結論部
    に記述されるパターン間の包含関係、排他関係、等の関
    係を、条件部のパターンおよび結論部のパターンの2種
    のパターンを構成要素とする1つのグラフとして表現し
    、このグラフを用いて、生成することを特徴とするルー
    ル関連図の生成方式。 2、上記グラフとして、パターン間の「パターン1が成
    立すれば、かならずパターン2が成立する」というパタ
    ーン間の包含関係をアークとして表わした、条件部のパ
    ターンおよび結論部のパターンの2種のパターンを構成
    要素とする1つの階層グラフを用いて生成することを特
    徴とする請求項第1項記載のルール関連図の生成方式。 3、上記のグラフとして、パターン間の「パターン1が
    成立すれば、かならずパターン2が成立する」というパ
    ターン間の包含関係をアークとして表わした、条件部の
    パターンおよび結論部のパターンの2種を構成要素とす
    る1つの階層グラフに、同一の上位パターンを持つパタ
    ーン間に、「パターン1が満たされればパターン2も満
    たされる可能性がある」という関係を持つパターン間に
    マッチ可能アークを設定したグラフを用いて生成するこ
    とを特徴とする請求項第1項記載のルール関連図の生成
    方式。 4、上記のパターン間の包含関係をアークとして表わし
    た、条件部のパターンおよび結論部のパターンの2種の
    パターンを構成要素とする1つの階層グラフから、条件
    部を構成するパターンのみを抽出し、アークで結合され
    たパターン間の条件の差を、そのアークにノードとして
    表現し、パターンが成立したことを表わすターミナルノ
    ードを設定することにより、条件部ネットワークを生成
    することを特徴とする請求項第2項記載のルール関連図
    の生成方式。 5、上記のパターン間の包含関係をアークとして表わし
    た、条件部のパターンおよび結論部のパターンの2種の
    パターンを構成要素とする1つの階層グラフから、結論
    部を構成するパターンのみを抽出し、アークで結合され
    たパターン間の条件の差を、そのアークにノードとして
    表現し、パターンが成立したことを表わすターミナルノ
    ードを設定することにより、結論部ネットワークを生成
    することを特徴とする請求項第2項記載のルール関連図
    の生成方式。 6、上記のグラフから、条件部を構成するパターンと、
    包含関係を表わすアークを取りだし、アークで結合され
    たパターン間の条件の差を、そのアークにノードとして
    表現し、パターンが成立したことを表わすターミナルノ
    ードを設定することにより、条件部ネットワークを生成
    することを特徴とする請求項第1項あるいは第2項記載
    のルール関連図の生成方式。 7、第1項記載あるいは、第3項記載のグラフから、結
    論部を構成するパターンと、包含関係を表わすアークを
    取りだし、アークで結合されたパターン間の条件の差を
    、そのアークにノードとして表現し、パターンが成立し
    たことを表わすターミナルノードを設定することにより
    、結論部ネットワークを生成することを特徴とする請求
    項第1項あるいは第3項記載のルール関連図の生成方式
    。 8、第3項記載のグラフにおいて、マッチ可能アークで
    結合されているパターンへの上位パターンからのアーク
    が、それぞれ、条件部ネットワークと結論部ネットワー
    ク、あるいは、結論部ネットワークと条件部ネットワー
    ク内に存在する場合、および、各パターンの成立を表わ
    すターミナルノードのアークと、そのパターンの下位パ
    ターンの条件判定のためのノードへのアークが、それぞ
    れ、条件部ネットワークと結論部ネットワーク、あるい
    は、結論部ネットワークと条件部ネットワーク内に存在
    する場合、それらを結ぶようにショートカットアークを
    生成することを特徴とする請求項第3項記載のルール関
    連図の生成方式。 9、上記条件部ネットワークの頂点ノードから最初のシ
    ョートカットアークが現れるまでのアークに対して、頂
    点ノードへ向かうデータの流れを禁止する属性を設定す
    ることを特徴とする請求項第8項記載のルール関連図の
    生成方式。 10、上記結論部ネットワークの頂点ノードから最初の
    ショートカットアークが現れるまでのアークに対して、
    頂点ノードへ向かうデータの流れを禁止する属性を設定
    することを特徴とする請求項第8項記載のルール関連図
    の生成方式。 11、複数アークが合流する場合、それらのアークの1
    つ以外のアークに対して、合流方向のデータの流れを禁
    止する属性を設定することを特徴とする請求項第8項記
    載のルール関連図の生成方式。
JP63183603A 1988-07-25 1988-07-25 ルール関連図の生成方式 Pending JPH0233627A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63183603A JPH0233627A (ja) 1988-07-25 1988-07-25 ルール関連図の生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63183603A JPH0233627A (ja) 1988-07-25 1988-07-25 ルール関連図の生成方式

Publications (1)

Publication Number Publication Date
JPH0233627A true JPH0233627A (ja) 1990-02-02

Family

ID=16138697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63183603A Pending JPH0233627A (ja) 1988-07-25 1988-07-25 ルール関連図の生成方式

Country Status (1)

Country Link
JP (1) JPH0233627A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377536A (en) * 1992-08-14 1995-01-03 Siemens Aktiengesellschaft Method for identifying misfire in internal combustion engines

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377536A (en) * 1992-08-14 1995-01-03 Siemens Aktiengesellschaft Method for identifying misfire in internal combustion engines

Similar Documents

Publication Publication Date Title
Ambainis et al. Any AND-OR formula of size N can be evaluated in time N^1/2+o(1) on a quantum computer
Smith A recursive introduction to the theory of computation
Dave et al. Regular transducer expressions for regular transformations
Rennela et al. Classical control, quantum circuits and linear logic in enriched category theory
Bjørner et al. Navigating the universe of Z3 theory solvers
Henrio et al. A theory for the composition of concurrent processes
Jiménez-Navajas et al. Reverse engineering of quantum programs toward KDM models
Paolini et al. Quantum programming made easy
Bollig et al. Identifiers in Registers: Describing Network Algorithms with Logic
Fagin et al. On the number of quantifiers as a complexity measure
Lago et al. Wave-style token machines and quantum lambda calculi
Dekker et al. Proof Systems for the Modal-Calculus Obtained by Determinizing Automata
Leporati et al. Solving QSAT in sublinear depth
Kuperberg et al. Cyclic Proofs and jumping automata
JPH0233627A (ja) ルール関連図の生成方式
Díaz-Caro A quick overview on the quantum control approach to the lambda calculus
Reynolds et al. A Tableau for Temporal Logic over the Reals.
Bloem et al. Characterization of properties and relations de ned in monadic second order logic on the nodes of trees
Sempere Modeling of decision trees through P systems
Nikolaev On vertex adjacencies in the polytope of pyramidal tours with step-backs
Goranko et al. A general tableau method for propositional interval temporal logics
Schiele et al. A novel approach for attack tree to attack graph transformation
Allauzen et al. Algorithms for weighted finite automata with failure transitions
Bonfante et al. Non-size increasing graph rewriting for natural language processing
Thiemann Partial Derivatives for Context-Free Languages: From-Regular Expressions to Pushdown Automata