JPH0348934A - プロダクション・システムの並列実行方式 - Google Patents
プロダクション・システムの並列実行方式Info
- Publication number
- JPH0348934A JPH0348934A JP1184216A JP18421689A JPH0348934A JP H0348934 A JPH0348934 A JP H0348934A JP 1184216 A JP1184216 A JP 1184216A JP 18421689 A JP18421689 A JP 18421689A JP H0348934 A JPH0348934 A JP H0348934A
- Authority
- JP
- Japan
- Prior art keywords
- rule
- type
- execution
- rules
- parallel
- 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
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はプロダクション・システムの並列実行方式に係
り、特に、条件の照合した複数のルールを並列に実行す
るのに好適な並列実行解析方式に関する。
り、特に、条件の照合した複数のルールを並列に実行す
るのに好適な並列実行解析方式に関する。
人工知能(AI)システムの実現方式として。
プロダクション・システムがある。プロダクション・シ
ステムは知識を記述した知識ベースと推論を行う推論エ
ンジンから構成される。
ステムは知識を記述した知識ベースと推論を行う推論エ
ンジンから構成される。
知識ベースは、事実に関する知識であるファクトと、規
則に関する知識であるルールからなる。
則に関する知識であるルールからなる。
各々のファクトはワーキングメモリ要素(WM E )
として記述され、ワーキングメモリ(WM)に記憶され
る。また、各々のルールは条件を記述した条件部と実行
手続きを記述した実行部から成る。
として記述され、ワーキングメモリ(WM)に記憶され
る。また、各々のルールは条件を記述した条件部と実行
手続きを記述した実行部から成る。
すなわちルールは
if(条件部) then(実行部)形式で記述され
ている。ルールの条件部は一つ以上の条件要素からなり
、条件要素には、一つ以上の条件式が記述される。実行
部は一つ以上の実行要素からなり、実行要素にはWME
の更新・表示及び入力などの動作が記述される。ルール
の条件部の全ての条件要素の全ての条件式を満足するW
ME群が存在するとき1条件部はそのWME群によって
満足されたという。
ている。ルールの条件部は一つ以上の条件要素からなり
、条件要素には、一つ以上の条件式が記述される。実行
部は一つ以上の実行要素からなり、実行要素にはWME
の更新・表示及び入力などの動作が記述される。ルール
の条件部の全ての条件要素の全ての条件式を満足するW
ME群が存在するとき1条件部はそのWME群によって
満足されたという。
推論エンジンは、照合フェーズ・競合解消フェーズ・ル
ール実行フェーズの繰り返しによって推論を行う、この
一連の動作は認知サイクルと呼ばれる。この例を第2図
に示す、照合フェーズ101では、知識ベース100に
おけるWM内の全てのWMEに対して、全てのルールの
条件部の条件要素に記述された条件式を満足するか否か
の照合を行う、照合フェーズにおいて生成された、条件
部を満足するWME群とそれにより満足されたルールの
組をインスタンシェーション(instantia−t
ion)と呼び、インスタンシェーションから成る集合
を競合集合と呼ぶ、競合解消フェーズ102では、競合
集合から実行すべきイスンタンシエーションを一つだけ
選出する。ルール実行フェーズ103では、競合解消フ
ェーズ102で選択されたイスンタンシェーション中の
WME群に対して選択されたルールの実行部を作用させ
る。
ール実行フェーズの繰り返しによって推論を行う、この
一連の動作は認知サイクルと呼ばれる。この例を第2図
に示す、照合フェーズ101では、知識ベース100に
おけるWM内の全てのWMEに対して、全てのルールの
条件部の条件要素に記述された条件式を満足するか否か
の照合を行う、照合フェーズにおいて生成された、条件
部を満足するWME群とそれにより満足されたルールの
組をインスタンシェーション(instantia−t
ion)と呼び、インスタンシェーションから成る集合
を競合集合と呼ぶ、競合解消フェーズ102では、競合
集合から実行すべきイスンタンシエーションを一つだけ
選出する。ルール実行フェーズ103では、競合解消フ
ェーズ102で選択されたイスンタンシェーション中の
WME群に対して選択されたルールの実行部を作用させ
る。
従来、このようなプロダクション・システムを高速化す
るための実行方式として、競合集合の中から複数のイス
ンタンシェーションを選び、結果がある逐次実行結果と
一致するようにルールを並列実行する方式が提案されて
いる(電子情報通信学会論文誌D vol、 J 71
−D &3 pp、567−576 1988.3
石1)享: 「プロダクション・システムの並列実行可
能性の解析」)。
るための実行方式として、競合集合の中から複数のイス
ンタンシェーションを選び、結果がある逐次実行結果と
一致するようにルールを並列実行する方式が提案されて
いる(電子情報通信学会論文誌D vol、 J 71
−D &3 pp、567−576 1988.3
石1)享: 「プロダクション・システムの並列実行可
能性の解析」)。
以下、この従来方式を簡単に説明する。
2つのルール、ルール1とルール2に、■ ルール1で
削除するWMEをルール2で条件要素としている ■ ルール1で生成するWMEをルール2でnot条件
要素(そのWMEがなければ成立する)としている ■ ルールlで生成し、ルール2で削除する共通のWM
Eがある の関係がある場合、ルール1はルール2に干渉すると呼
び、この関係を調べることを干渉検出と呼ぶ、ここで1
通常のプロダクション・システムでは、ルール実行フェ
ーズで削除するWMEは条件要素の中の一要素でなけれ
ばならないので、■の関係はおこらない、そこで、■、
■の条件だけを考えると、ルール1がルール2に干渉し
なければ。
削除するWMEをルール2で条件要素としている ■ ルール1で生成するWMEをルール2でnot条件
要素(そのWMEがなければ成立する)としている ■ ルールlで生成し、ルール2で削除する共通のWM
Eがある の関係がある場合、ルール1はルール2に干渉すると呼
び、この関係を調べることを干渉検出と呼ぶ、ここで1
通常のプロダクション・システムでは、ルール実行フェ
ーズで削除するWMEは条件要素の中の一要素でなけれ
ばならないので、■の関係はおこらない、そこで、■、
■の条件だけを考えると、ルール1がルール2に干渉し
なければ。
ルール1の実行に続いてルール2を逐次実行することが
できるので、これら2ルールは並列実行できる。競合集
合から複数の並列実行可能なイスンタンシェーションを
選択するときは、いがなる2ルールの間にも干渉が生じ
ないように選択すればよい。
できるので、これら2ルールは並列実行できる。競合集
合から複数の並列実行可能なイスンタンシェーションを
選択するときは、いがなる2ルールの間にも干渉が生じ
ないように選択すればよい。
従来方式では、競合集合中のイスンタンシェーションを
生成類などによりあらかじめ順序付けし、この順番にし
たがって、先に選択したイスンタンシェーションとの干
渉検出を行い、すべてのイスンタンシェーションが干渉
しないイスンタンシェーションを並列実行可能として選
択していた6〔発明が解決しようとする課題〕 複数ルールの並列実行は、あるルール類で逐次実行でき
れば並列実行可能となる。したがって、2ルールの場合
では、ルール1がルール2に干渉する場合でも、ルール
2がルール1に干渉しなければ、ルール2の実行に続い
てルール1が逐次実行できるので、これら2ルールを並
列実行することができる。ところが、イスンタンシェー
ションが3つ以上の並列実行解析はもっと複雑になる。
生成類などによりあらかじめ順序付けし、この順番にし
たがって、先に選択したイスンタンシェーションとの干
渉検出を行い、すべてのイスンタンシェーションが干渉
しないイスンタンシェーションを並列実行可能として選
択していた6〔発明が解決しようとする課題〕 複数ルールの並列実行は、あるルール類で逐次実行でき
れば並列実行可能となる。したがって、2ルールの場合
では、ルール1がルール2に干渉する場合でも、ルール
2がルール1に干渉しなければ、ルール2の実行に続い
てルール1が逐次実行できるので、これら2ルールを並
列実行することができる。ところが、イスンタンシェー
ションが3つ以上の並列実行解析はもっと複雑になる。
例えば、ルール3はルール1に干渉するが、ルール1は
ルール3に干渉せず、ルール2はルール3に干渉するが
、ルール3はルール2に干渉しない場合、これらの3ル
ールを並列実行可能とすると。
ルール3に干渉せず、ルール2はルール3に干渉するが
、ルール3はルール2に干渉しない場合、これらの3ル
ールを並列実行可能とすると。
実際は、いかなるルール類にしても逐次実行ができない
ので矛盾する。つまり2ル一ル間だけでなく、ルールの
実行順を考えたルール全体の干渉検出を行ねなければな
らない。
ので矛盾する。つまり2ル一ル間だけでなく、ルールの
実行順を考えたルール全体の干渉検出を行ねなければな
らない。
そこで、前記従来方式では、先に選択したイスンタンシ
ェーションよりもあとで実行可能なイスンタンシェーシ
ョン、つまり、先に選択したイスンタンシェーションが
干渉しないイスンタンシェーションだけを選択すること
で並列実行解析を効率化している。このため、並列実行
解析を行うルール類によっては、実際は並列実行可能な
ルールが選択されていないことがあるという欠点があっ
た。これを次の3ルールを用いて説明する。
ェーションよりもあとで実行可能なイスンタンシェーシ
ョン、つまり、先に選択したイスンタンシェーションが
干渉しないイスンタンシェーションだけを選択すること
で並列実行解析を効率化している。このため、並列実行
解析を行うルール類によっては、実際は並列実行可能な
ルールが選択されていないことがあるという欠点があっ
た。これを次の3ルールを用いて説明する。
A : if a、 b then delete
aB : if a、c then crea
te dC: if not d then
create aルール順A−B−Cで並列実行解
析を行う場合、まずAを選択し1次にAとBの干渉検出
を行うが、AはBに干渉するため、Bは選択されない、
続いてAとCの干渉検出を行い、AはCに干渉しないの
でCを選択する。したがって、このルール類では、A、
Cの2ルールを選択する。一方、ルール類C−B−Aで
並列実行解析を行う場合、まずCを選択し、次にCとB
の干渉検出を行い、CはBに干渉しないのでBを選択す
る0次にCとAの干渉検出を行い、CはAに干渉せず、
さらにBとAの干渉検出を行い、BもAに干渉しないの
で、Aを選択できる。したがって、このルール類では3
ルールすべてを選択できる。この例では、BはAに干渉
しないが、AはBに干渉するため、Bが先に選択された
場合はAを選択できるが、Aを先に選択した場合は、B
は選択されない。
aB : if a、c then crea
te dC: if not d then
create aルール順A−B−Cで並列実行解
析を行う場合、まずAを選択し1次にAとBの干渉検出
を行うが、AはBに干渉するため、Bは選択されない、
続いてAとCの干渉検出を行い、AはCに干渉しないの
でCを選択する。したがって、このルール類では、A、
Cの2ルールを選択する。一方、ルール類C−B−Aで
並列実行解析を行う場合、まずCを選択し、次にCとB
の干渉検出を行い、CはBに干渉しないのでBを選択す
る0次にCとAの干渉検出を行い、CはAに干渉せず、
さらにBとAの干渉検出を行い、BもAに干渉しないの
で、Aを選択できる。したがって、このルール類では3
ルールすべてを選択できる。この例では、BはAに干渉
しないが、AはBに干渉するため、Bが先に選択された
場合はAを選択できるが、Aを先に選択した場合は、B
は選択されない。
このように、従来方式では、先に選択したインスタンシ
ェーションが干渉しないインスタンシェ−ジョンだけを
選択していたため、並列実行解析を行うインスタンシェ
ーションの順番によって、本来は並列実行可能なルール
が選択されないことがあった。
ェーションが干渉しないインスタンシェ−ジョンだけを
選択していたため、並列実行解析を行うインスタンシェ
ーションの順番によって、本来は並列実行可能なルール
が選択されないことがあった。
さらに、前記従来方式では、全ての2ル一ル間について
干渉検出を行っている。ところがルール干渉の可能性は
、ルールの条件部と実行部の記述内容の比較からあらか
じめ判断できることがある。
干渉検出を行っている。ところがルール干渉の可能性は
、ルールの条件部と実行部の記述内容の比較からあらか
じめ判断できることがある。
例えば、実行要素が生成のみのルールは1条件部にno
t条件要素を含まないルールには干渉しない。
t条件要素を含まないルールには干渉しない。
このように、従来方式では、明らかに干渉を生じる可能
性がないルール間についても干渉検出を行うという無駄
があった。
性がないルール間についても干渉検出を行うという無駄
があった。
本発明の目的は、複数のルールを並列実行するプロダク
ション・システムにおいて、このような従来の問題点を
解決し、干渉検出を行う必要があるルール間についての
み干渉検出を行うことによって、並列実行可能なルール
を高速に選択することにある。
ション・システムにおいて、このような従来の問題点を
解決し、干渉検出を行う必要があるルール間についての
み干渉検出を行うことによって、並列実行可能なルール
を高速に選択することにある。
上記目的を達成するために、請求項(1)では。
複数のルールを並列実行するプロダクション・システム
において、ルールにルールタイプを付加するルールデー
タ解析部と、競合集合中のインスタンシェーションから
ルールタイプを比較して並列実行可能なインスタンシェ
ーションを選択する並列実行解析部と、該選択したイン
スタンシェーションを格納する実行ルール集合部を設け
、該実行ルール集合部に格納されたインスタンシェーシ
ョンを並列に実行することを特徴とする。
において、ルールにルールタイプを付加するルールデー
タ解析部と、競合集合中のインスタンシェーションから
ルールタイプを比較して並列実行可能なインスタンシェ
ーションを選択する並列実行解析部と、該選択したイン
スタンシェーションを格納する実行ルール集合部を設け
、該実行ルール集合部に格納されたインスタンシェーシ
ョンを並列に実行することを特徴とする。
また、請求項(2)では、ルールデータ解析部は、条件
要素にnot条件要素を含まず、実行要素に削除と変更
を含まないルールにはルールタイプ1゜条件要素にno
t条件要素を含まず、実行要素に削除あるいは変更を含
むルールにはルールタイプ2、条件要素にnot条件要
素を含み、実行要素に削除と変更を含まないルールには
ルールタイプ3、条件要素にnot条件要素を含み、実
行要素に削除あるいは変更を含むルールにはルールタイ
プ4のルールタイプを付加し。
要素にnot条件要素を含まず、実行要素に削除と変更
を含まないルールにはルールタイプ1゜条件要素にno
t条件要素を含まず、実行要素に削除あるいは変更を含
むルールにはルールタイプ2、条件要素にnot条件要
素を含み、実行要素に削除と変更を含まないルールには
ルールタイプ3、条件要素にnot条件要素を含み、実
行要素に削除あるいは変更を含むルールにはルールタイ
プ4のルールタイプを付加し。
並列実行解析部では、競合集合中のルールタイプi
(i=1〜4)が付加されているルールから構成される
タイプiのインスタンシェーションのうち、タイプ1の
インスタンシェーション、タイプ2のインスタンシェー
ションでかつ実行ルール集合部に格納されたタイプ2の
インスタンシェーションと干渉しないインスタンシェー
ション、及び、タイプ3のインスタンシェーションでか
つ実行ルール集合部に格納されたタイプ3のインスタン
シェーションと干渉しないインスタンシェーションを選
択して実行ルール集合部に格納し、その後、タイプ4の
インスタンシェーションでかつ実行ルール集合部に格納
された全てのインスタンシェーションと干渉しないイン
スタンシェーションを選択して実行ルール集合部に格納
することを特徴とする 請求項(3)では、並列実行解析部は、競合集合中のイ
ンスタンシェーションのうち、タイプ1のインスタンシ
ェーションでかつ実行ルール集合部に格納されたタイプ
4のインスタンシェーションと干渉しないインスタンシ
ェーション、タイプ2のインスタンシェーションでかつ
実行ルール集合部に格納されたタイプ2とタイプ4のイ
ンスタンシェーションと干渉しないインスタンシェーシ
ョン、タイプ3のインスタンシェーションでかつ実行ル
ール集合部に格納されたタイプ3とタイプ4のインスタ
ンシェーションと干渉しないインスタンシェーション、
及び、タイプ4のインスタンシェーションでかつ実行ル
ール集合部に格納されたタイプ1.タイプ2.タイプ3
.タイプ4のインスタンシェーションと干渉しないイン
スタンシェーションを選択して実行ルール集合部に格納
することを特徴とする。
(i=1〜4)が付加されているルールから構成される
タイプiのインスタンシェーションのうち、タイプ1の
インスタンシェーション、タイプ2のインスタンシェー
ションでかつ実行ルール集合部に格納されたタイプ2の
インスタンシェーションと干渉しないインスタンシェー
ション、及び、タイプ3のインスタンシェーションでか
つ実行ルール集合部に格納されたタイプ3のインスタン
シェーションと干渉しないインスタンシェーションを選
択して実行ルール集合部に格納し、その後、タイプ4の
インスタンシェーションでかつ実行ルール集合部に格納
された全てのインスタンシェーションと干渉しないイン
スタンシェーションを選択して実行ルール集合部に格納
することを特徴とする 請求項(3)では、並列実行解析部は、競合集合中のイ
ンスタンシェーションのうち、タイプ1のインスタンシ
ェーションでかつ実行ルール集合部に格納されたタイプ
4のインスタンシェーションと干渉しないインスタンシ
ェーション、タイプ2のインスタンシェーションでかつ
実行ルール集合部に格納されたタイプ2とタイプ4のイ
ンスタンシェーションと干渉しないインスタンシェーシ
ョン、タイプ3のインスタンシェーションでかつ実行ル
ール集合部に格納されたタイプ3とタイプ4のインスタ
ンシェーションと干渉しないインスタンシェーション、
及び、タイプ4のインスタンシェーションでかつ実行ル
ール集合部に格納されたタイプ1.タイプ2.タイプ3
.タイプ4のインスタンシェーションと干渉しないイン
スタンシェーションを選択して実行ルール集合部に格納
することを特徴とする。
ルールデータ解析部において、各ルールにルールの条件
部と実行部の記載内容を表わすルールタイプを特徴する
請求項(2)、 (3)ではルールタイプは1〜4とし
1次のようなルール記述内容を表わすとしている。
部と実行部の記載内容を表わすルールタイプを特徴する
請求項(2)、 (3)ではルールタイプは1〜4とし
1次のようなルール記述内容を表わすとしている。
ルールタイプ1:条件要素にnot条件要素を含まず、
実行要素に削除と更新を含まない。
実行要素に削除と更新を含まない。
ルールタイプ2:条件要素にnot条件要素を含まず、
実行要素に削除か更新を含む6 ルールタイプ3:条件要素にnot条件要素を含み。
実行要素に削除か更新を含む6 ルールタイプ3:条件要素にnot条件要素を含み。
実行要素に削除と更新を含まない。
ルールタイプ4:条件要素にnot条件要素を含み、実
行要素に削除か更新を含む。
行要素に削除か更新を含む。
上記のルールタイプの比較から2ル一ル間の干渉の可能
性が判断できる。第3図はルール1がルール2に干渉す
る可能性がない時を「○」、ある時を「×」で示したも
のである。
性が判断できる。第3図はルール1がルール2に干渉す
る可能性がない時を「○」、ある時を「×」で示したも
のである。
並列実行解析部では、ルールタイプを利用して競合集合
中のインスタンシェーションから並列実行可能なインス
タンシェーションを選択する0選択したインスタンシェ
ーションは実行ルール集合部に格納する。
中のインスタンシェーションから並列実行可能なインス
タンシェーションを選択する0選択したインスタンシェ
ーションは実行ルール集合部に格納する。
まず、競合集合中のルールタイプ3が付加されているイ
ンスタンシェーション(タイプ3のインスタンシェーシ
ョンと呼ぶ)から選択を始める。
ンスタンシェーション(タイプ3のインスタンシェーシ
ョンと呼ぶ)から選択を始める。
タイプ3のインスタンシェーションは同じタイプ3のイ
ンスタンシェーションと干渉する可能性があるので、実
行ルール集合部に格納されたタイプ3のインスタンシェ
ーションと干渉しないインスタンシェーションを実行ル
ール集合部に格納する。
ンスタンシェーションと干渉する可能性があるので、実
行ルール集合部に格納されたタイプ3のインスタンシェ
ーションと干渉しないインスタンシェーションを実行ル
ール集合部に格納する。
次にタイプ1のインスタンシェーションの選択を行う、
実行ルール集合部に格納されているタイプ3のインスタ
ンシェーションはタイプ1のインスタンシェーションに
干渉する可能性がなく、タイプ1のインスタンシェーシ
ョンも同じタイプ1のインスタンシェーションに干渉し
ないので、タイプ1のインスタンシェーションはすべて
実行ルール集合部に格納する6次にタイプ2のインスタ
ンシェーションを選択する。実行ルール集合部に格納さ
れているタイプ3とタイプ1のインスタンシェーション
はタイプ2のインスタンシェーションに干渉しないので
、これらのインスタンシェーションとは干渉検出を行わ
ない、しかし、同じタイプ2のインスタンシェーション
と干渉する可能性があるので、実行ルール集合部の全て
のタイプ2のインスタンシェーションが干渉しなければ
、これを実行ルール集合部に格納する。最後に、タイプ
4のインスタンシェーションを選択する。このルールは
全ての夕・イブのインスタンシェーションと干渉する可
能性があるので、実行ルール集合部に格納された全ての
インスタンシェーションが干渉しない場合、これを実行
ルール集合部に格納する。 第4図は干渉検出の必要な
ルールの組合せを示したものである。rO」はルールタ
イプの比較のみで干渉検出の必要がないもの、「×」は
干渉検出が必要な組合せである。また、「−」は荷記の
タイプ3→1→2の順に並列実行解析を行うときにはお
こらない組合せを示している。しかし、この図かられか
るように、これらタイプ1,2゜3の間では干渉検出が
不要なので、実際には、タイプ1,2.3のルールはど
のような順番で並列実行解析を行ってもかまわない、そ
のあとで、タイプ4の並列実行解析を行う、lIf求項
(2)はこれに対応するものである。さらにタイプ1,
2.3のルールについて、実行ルール集合部に格納され
たタイプ4のインスタンシェーションとも干渉検出を行
うようにすれば、タイプ4を含めたいずれのタイプのル
ールから並9列実行解析を行うこともできる。請求項(
3)はこれに対応するものである。
実行ルール集合部に格納されているタイプ3のインスタ
ンシェーションはタイプ1のインスタンシェーションに
干渉する可能性がなく、タイプ1のインスタンシェーシ
ョンも同じタイプ1のインスタンシェーションに干渉し
ないので、タイプ1のインスタンシェーションはすべて
実行ルール集合部に格納する6次にタイプ2のインスタ
ンシェーションを選択する。実行ルール集合部に格納さ
れているタイプ3とタイプ1のインスタンシェーション
はタイプ2のインスタンシェーションに干渉しないので
、これらのインスタンシェーションとは干渉検出を行わ
ない、しかし、同じタイプ2のインスタンシェーション
と干渉する可能性があるので、実行ルール集合部の全て
のタイプ2のインスタンシェーションが干渉しなければ
、これを実行ルール集合部に格納する。最後に、タイプ
4のインスタンシェーションを選択する。このルールは
全ての夕・イブのインスタンシェーションと干渉する可
能性があるので、実行ルール集合部に格納された全ての
インスタンシェーションが干渉しない場合、これを実行
ルール集合部に格納する。 第4図は干渉検出の必要な
ルールの組合せを示したものである。rO」はルールタ
イプの比較のみで干渉検出の必要がないもの、「×」は
干渉検出が必要な組合せである。また、「−」は荷記の
タイプ3→1→2の順に並列実行解析を行うときにはお
こらない組合せを示している。しかし、この図かられか
るように、これらタイプ1,2゜3の間では干渉検出が
不要なので、実際には、タイプ1,2.3のルールはど
のような順番で並列実行解析を行ってもかまわない、そ
のあとで、タイプ4の並列実行解析を行う、lIf求項
(2)はこれに対応するものである。さらにタイプ1,
2.3のルールについて、実行ルール集合部に格納され
たタイプ4のインスタンシェーションとも干渉検出を行
うようにすれば、タイプ4を含めたいずれのタイプのル
ールから並9列実行解析を行うこともできる。請求項(
3)はこれに対応するものである。
このように、ルールにルールタイプを付加し。
それを比較することにより、干渉する可能性がない2ル
ール(例えばタイプ1−タイプ1)の干渉検出を省略し
、さらに、あるルール類では干渉する可能性があっても
、他のルール類では干渉する可能性がない2ルール(例
えばタイプ1−タイプ3、タイプ1−タイプ2.タイプ
2−タイプ3)についても、干渉検出を省略してこれら
のルールを選択できる。したがって、ルールタイプが上
記1〜4の場合、従来では16通りのルールタイプの組
合せの干渉検出が必要であったのに対し1木刀式では6
通りの組合せの干渉検出だけでよく。
ール(例えばタイプ1−タイプ1)の干渉検出を省略し
、さらに、あるルール類では干渉する可能性があっても
、他のルール類では干渉する可能性がない2ルール(例
えばタイプ1−タイプ3、タイプ1−タイプ2.タイプ
2−タイプ3)についても、干渉検出を省略してこれら
のルールを選択できる。したがって、ルールタイプが上
記1〜4の場合、従来では16通りのルールタイプの組
合せの干渉検出が必要であったのに対し1木刀式では6
通りの組合せの干渉検出だけでよく。
効率よく並列実行解析を行うことができる。
以下、本発明の一実施例について図面により説明する。
第1図は本発明方式によるプロダクション・システム実
行装置の一実施例のブロック図である。
行装置の一実施例のブロック図である。
本プロダクション・システム実行装置は、ルール照合部
10.競合集合部20、ルール実行部30゜並列実行解
析機構40、主記憶50からなり、並列実行解析機構4
0は、ルールデータ解析部41、並列実行解析部42、
実行ルール集合部43から構成される。
10.競合集合部20、ルール実行部30゜並列実行解
析機構40、主記憶50からなり、並列実行解析機構4
0は、ルールデータ解析部41、並列実行解析部42、
実行ルール集合部43から構成される。
ルールデータ解析部41では、ユーザの記述したルール
にルールタイプを付加する。主記憶50には、このルー
ルタイプの付加されたルールが格納される。ルール照合
部10では初期データをもとに主記憶50のルールを照
合し、その結果得られたインスタンシェーションを競合
集合部20に格納する。並列実行解析部42では、競合
集合部のインスタンシェーションから並列実行可能なイ
ンスタンシェーションを選択し、実行ルール集合部43
に格納する。競合集合部20から並列実行可能な全ての
インスタンシェーションを選択し、実行ルール集合部4
3に格納されると、ルール実行部30では、これらのイ
ンスタンシェーションをすべて並列に実行する。この結
果はルール照合部10に送られ、再びルール照合を始め
る0以上の認知サイクルを照合するルールがなくなるま
で繰り返す。
にルールタイプを付加する。主記憶50には、このルー
ルタイプの付加されたルールが格納される。ルール照合
部10では初期データをもとに主記憶50のルールを照
合し、その結果得られたインスタンシェーションを競合
集合部20に格納する。並列実行解析部42では、競合
集合部のインスタンシェーションから並列実行可能なイ
ンスタンシェーションを選択し、実行ルール集合部43
に格納する。競合集合部20から並列実行可能な全ての
インスタンシェーションを選択し、実行ルール集合部4
3に格納されると、ルール実行部30では、これらのイ
ンスタンシェーションをすべて並列に実行する。この結
果はルール照合部10に送られ、再びルール照合を始め
る0以上の認知サイクルを照合するルールがなくなるま
で繰り返す。
本発明方式による並列実行解析の一例を以下に示す0次
の4ルール。
の4ルール。
A : if a、 b then delete
aB : if a、 c then crea
te dC: if not d than cre
ate eD : if c the
n modify c clについて並列実行
解析を行う時、これらのルールタイプはそれぞれ、2.
l、3.2となる。各ルールタイプ1,2.3は次のよ
うな記述内容を表わす。
aB : if a、 c then crea
te dC: if not d than cre
ate eD : if c the
n modify c clについて並列実行
解析を行う時、これらのルールタイプはそれぞれ、2.
l、3.2となる。各ルールタイプ1,2.3は次のよ
うな記述内容を表わす。
ルールタイプ1:条件要素にnot条件要素を含まず、
実行要素に削除と更新を含まない。
実行要素に削除と更新を含まない。
ルールタイプ2:条件要素にnot条件要素を含まず、
実行要素に削除か更新を含む。
実行要素に削除か更新を含む。
ルールタイプ3:条件要素にnot条件要素を含み、実
行要素に削除と更新を含まない。
行要素に削除と更新を含まない。
競合集合部20には、ルールA、B、C,Dにそれぞれ
ルールタイプ2,1,3.2が付加されて格納されてい
る。並列実行解析部42では、まずタイプ3のCを並列
実行可とし1次にタイプ1のBを干渉検出を行わずに並
列実行可とする0次にタイプ2のAを干渉検出を行わず
に並列実行可とする。最後にタイプ2のDについては、
Aのみと干渉検出を行い、AがDに干渉しないので、D
も並列実行可とする。
ルールタイプ2,1,3.2が付加されて格納されてい
る。並列実行解析部42では、まずタイプ3のCを並列
実行可とし1次にタイプ1のBを干渉検出を行わずに並
列実行可とする0次にタイプ2のAを干渉検出を行わず
に並列実行可とする。最後にタイプ2のDについては、
Aのみと干渉検出を行い、AがDに干渉しないので、D
も並列実行可とする。
従来方式で、これら4ルールを選択するには6回の干渉
検出が必要であるが、本発明方式ではわずか1回の干渉
検出で済む、また、従来方式では。
検出が必要であるが、本発明方式ではわずか1回の干渉
検出で済む、また、従来方式では。
干渉検出を行うルール類によっては、タイプ1が先に選
択されるとタイプ3が、タイプ2が先に選択されるとタ
イプ1あるいはタイプ3のルールが選択されないことが
あった。しかし、本発明方式では、並列実行解析を行う
ルール類に関係なく、並列実行可能なこれらのルールを
選択できる。
択されるとタイプ3が、タイプ2が先に選択されるとタ
イプ1あるいはタイプ3のルールが選択されないことが
あった。しかし、本発明方式では、並列実行解析を行う
ルール類に関係なく、並列実行可能なこれらのルールを
選択できる。
以上説明したように、本発明によれば、従来の並列実行
解析と比較して、インスタンシェーションを構成するル
ールに付加されたルールタイプの比較によって、干渉検
出の必要性が判断でき、必要のあるルール間についての
み干渉検出を行うため、並列実行解析の高速化が図れる
。さらに、並列実行解析を行うルールの順番によっては
、従来方式では選択できなかったインスタンシェーショ
ンの組合せも並列実行可能なインスタンシェーションと
して選択できるため、プロダクション・システムを高並
列で高速に実行できる。
解析と比較して、インスタンシェーションを構成するル
ールに付加されたルールタイプの比較によって、干渉検
出の必要性が判断でき、必要のあるルール間についての
み干渉検出を行うため、並列実行解析の高速化が図れる
。さらに、並列実行解析を行うルールの順番によっては
、従来方式では選択できなかったインスタンシェーショ
ンの組合せも並列実行可能なインスタンシェーションと
して選択できるため、プロダクション・システムを高並
列で高速に実行できる。
第1図は本発明によるプロダクション・システム実行装
置の一実施例のブロック図、第2図はプロダクション・
システムの認知サイクルを説明するための図、第3図は
本発明のルールタイプの比較によるルール干渉の可能性
を示した図、第4図は本発明のルールタイプの比較によ
り並列実行の可能性を示した図である。 10・・・ルール照合部、 20・・・競合集合部、3
0・・・ルール実行部、 40・・・並列実行解析機構、 41・・・ルールデータ解析部、 42・・・並列実行解析部、 43・・・実行ルール集合部、 50・・・主記憶。 第2図
置の一実施例のブロック図、第2図はプロダクション・
システムの認知サイクルを説明するための図、第3図は
本発明のルールタイプの比較によるルール干渉の可能性
を示した図、第4図は本発明のルールタイプの比較によ
り並列実行の可能性を示した図である。 10・・・ルール照合部、 20・・・競合集合部、3
0・・・ルール実行部、 40・・・並列実行解析機構、 41・・・ルールデータ解析部、 42・・・並列実行解析部、 43・・・実行ルール集合部、 50・・・主記憶。 第2図
Claims (3)
- (1)複数のルールを並列実行するプロダクシヨン・シ
ステムにおいて、ルールにルールタイプを付加するルー
ルデータ解析部と、競合集合中のインスタンシェーショ
ンからルールタイプを比較して並列実行可能なインスタ
ンシェーシヨンを選択する並列実行解析部と、該選択し
たインスタンシェーションを格納する実行ルール集合部
を設け、該実行ルール集合部に格納されたインスタンシ
ェーシヨンを並列に実行することを特徴とするプロダク
シヨン・システムの並列実行方式。 - (2)ルールデータ解析部では、条件要素にnot条件
要素を含まず、実行要素に削除と変更を含まないルール
にはルールタイプ1、条件要素にnot条件要素を含ま
ず、実行要素に削除あるいは変更を含むルールにはルー
ルタイプ2、条件要素にnot条件要素を含み、実行要
素に削除と変更を含まないルールにはルールタイプ3、
条件要素にnot条件要素を含み、実行要素に削除ある
いは変更を含むルールにはルールタイプ4のルールタイ
プを付加し、 並列実行解析部では、競合集合中のルールタイプi(i
=1〜4)が付加されているルールから構成されるタイ
プiのインスタンシェーシヨンのうち、タイプ1のイン
スタンシェーシヨン、タイプ2のインスタンシェーショ
ンでかつ実行ルール集合部に格納されたタイプ2のイン
スタンシェーシヨンと干渉しないインスタンシェーシヨ
ン、及び、タイプ3のインスタンシェーシヨンでかつ実
行ルール集合部に格納されたタイプ3のインスタンシェ
ーシヨンと干渉しないインスタンシェーシヨンを選択し
て実行ルール集合部に格納し、その後、タイプ4のイン
スタンシェーシヨンでかつ実行ルール集合部に格納され
た全てのインスタンシェーションと干渉しないインスタ
ンシェーションを選択して実行ルール集合部に格納する
ことを特徴とする請求項(1)記載のプロダクション・
システムの並列実行方式。 - (3)ルールデータ解析部では、条件要素にnot条件
要素を含まず、実行要素に削除と変更を含まないルール
にはルールタイプ1、条件要素にnot条件要素を含ま
ず、実行要素に削除あるいは変更を含むルールにはルー
ルタイプ2、条件要素にnot条件要素を含み、実行要
素に削除と変更を含まないルールにはルールタイプ3、
条件要素にnot条件要素を含み、実行要素に削除ある
いは変更を含むルールにはルールタイプ4のルールタイ
プを付加し、 並列実行解析部では、競合集合中のルールタイプi(i
=1〜4)が付加されているルールから構成されるタイ
プiのインスタンシェーションのうち、タイプ1のイン
スタンシェーシヨンでかつ実行ルール集合部に格納され
たタイプ4のインスタンシェーションと干渉しないイン
スタンシェーシヨン、タイプ2のインスタンシェーショ
ンでかつ実行ルール集合部に格納されたタイプ2とタイ
プ4のインスタンシェーシヨンと干渉しないインスタン
シェーシヨン、タイプ3のインスタンシェーションでか
つ実行ルール集合部に格納されたタイプ3とタイプ4の
インスタンシェーションと干渉しないインスタンシエー
シヨン、及び、タイプ4のインスタンシェーシヨンでか
つ実行ルール集合部に格納されたタイプ1、タイプ2、
タイプ3、タイプ4のインスタンシェーシヨンと干渉し
ないインスタンシェーションを選択して実行ルール集合
部に格納することを特徴とする請求項(1)記載のプロ
ダクシヨン・システムの並列実行方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1184216A JPH0348934A (ja) | 1989-07-17 | 1989-07-17 | プロダクション・システムの並列実行方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1184216A JPH0348934A (ja) | 1989-07-17 | 1989-07-17 | プロダクション・システムの並列実行方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0348934A true JPH0348934A (ja) | 1991-03-01 |
Family
ID=16149400
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1184216A Pending JPH0348934A (ja) | 1989-07-17 | 1989-07-17 | プロダクション・システムの並列実行方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0348934A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100614704B1 (ko) * | 1998-12-24 | 2006-08-21 | 오히라기겐 인더스트리 컴퍼니 리미티드 | 실 자동판매기 |
-
1989
- 1989-07-17 JP JP1184216A patent/JPH0348934A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100614704B1 (ko) * | 1998-12-24 | 2006-08-21 | 오히라기겐 인더스트리 컴퍼니 리미티드 | 실 자동판매기 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4849905A (en) | Method for optimized RETE pattern matching in pattern-directed, rule-based artificial intelligence production systems | |
| KR19990077006A (ko) | 유전자 프로그래밍방법 및 시스템 | |
| US5452453A (en) | Rule based production system adapted for complex procedural flow | |
| EP0318985B1 (en) | Interrogating device and method | |
| CN113609806A (zh) | 一种结合子图同构的量子线路程序通用变换方法 | |
| Mouhoub et al. | A new method for constructing a minimal PERT network | |
| US4989162A (en) | Method of using an accuracy valve in a conflict resolution of a forward inference | |
| JPH0348934A (ja) | プロダクション・システムの並列実行方式 | |
| Mannila et al. | On the complexity of unification sequences | |
| JP3549608B2 (ja) | 識別子による階層構造データの構造判定方法および装置 | |
| US8010572B1 (en) | Kstore scenario simulator processor and XML file | |
| JP3070093B2 (ja) | レコード処理装置 | |
| US20250217432A1 (en) | Method of task optimization and use of task optimization algorithms in the selection of raw materials and semi-finished products | |
| EP0318983A2 (en) | Interrogating device and method | |
| JPH01119833A (ja) | 推論高速化方式及び装置 | |
| JP2633918B2 (ja) | メソド検索方法及びメソド検索手続き生成方法 | |
| KR20250172203A (ko) | 다이렉트 팔로우 멀티그래프를 간략화 하는 장치 및 방법 | |
| JP2614900B2 (ja) | 知識処理装置 | |
| JPS63163535A (ja) | 論理型言語処理装置 | |
| Kliemann et al. | Finding Euler Tours in the StrSort Model | |
| JPH0644388A (ja) | データフローモデルの実行システム | |
| JPH06222913A (ja) | プログラム解析装置 | |
| JPH06332705A (ja) | 推論装置 | |
| Long | C++ Classes for the E cient Manipulation and Storage of Hierarchical Objects | |
| JPH0322029A (ja) | 矛盾ファジールール判定装置 |