JPH0287232A - プロダクション・システムの並列実行方式 - Google Patents
プロダクション・システムの並列実行方式Info
- Publication number
- JPH0287232A JPH0287232A JP63239270A JP23927088A JPH0287232A JP H0287232 A JPH0287232 A JP H0287232A JP 63239270 A JP63239270 A JP 63239270A JP 23927088 A JP23927088 A JP 23927088A JP H0287232 A JPH0287232 A JP H0287232A
- Authority
- JP
- Japan
- Prior art keywords
- interference detection
- rule
- processor
- partial
- executed
- 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はプロダクション・システムに係り、詳しくは5
条件の照合したルールを複数のプロセッサで実行するこ
とにより高速化をはかったプロダクション・システムの
並列実行方式に関する。
条件の照合したルールを複数のプロセッサで実行するこ
とにより高速化をはかったプロダクション・システムの
並列実行方式に関する。
人工知能(AI)システムの実現方式としてプロダクシ
ョン・システムがある。プロダクション・システムは知
識を記述した知識ベースと推論を行う推論エンジンから
構成される。
ョン・システムがある。プロダクション・システムは知
識を記述した知識ベースと推論を行う推論エンジンから
構成される。
知識ベースは、事実に関する知識であるファクトと、規
則に関する知識であるルールからなる。
則に関する知識であるルールからなる。
各々のファクトはワーキングメモリ要素(WME)とし
て記述され、ワーキングメモリ(WM)に記憶される。
て記述され、ワーキングメモリ(WM)に記憶される。
WMEは通常、クラス名、@性1:属性値、・・・、属
性n:属性値と記述される。また、各々のルールは条件
を記述した条件部(LH3部)と実行手続きを記述した
動作部(RH5部)から成る。ルールのLHS部は一つ
以上の条件要素からなり1条件要素には、一つ以上の条
件式が記述される。RH8部は一つ以上の実行要素から
なり、実行要素にはWMEの更新・表示及び入力などの
動作が記述される。ルールのLH8部の全ての条件要素
の全ての条件式を満足するWME群が存在するとき、L
H3部はそのWME群によって満足されたという。
性n:属性値と記述される。また、各々のルールは条件
を記述した条件部(LH3部)と実行手続きを記述した
動作部(RH5部)から成る。ルールのLHS部は一つ
以上の条件要素からなり1条件要素には、一つ以上の条
件式が記述される。RH8部は一つ以上の実行要素から
なり、実行要素にはWMEの更新・表示及び入力などの
動作が記述される。ルールのLH8部の全ての条件要素
の全ての条件式を満足するWME群が存在するとき、L
H3部はそのWME群によって満足されたという。
推論エンジンは、照合フェーズ→競合解消フェーズ−ル
ール実行フェーズの繰り返しによって推論を行う、この
一連の動作は認知サイクルと呼ばれる。照合フェーズで
は全てのWMEに対して、全てのルールのLH3部の条
件要素に記述された条件式を満足するか否かの照合を行
い、LH5部を満足するWME群とそれにより満足され
たルールの組の集合を生成する。この組をインスタンシ
ェーションと呼び、インスタンシェーションから成る集
合を競合集合と呼ぶ。競合解消フェーズでは、競合集合
から実行すべきインスタンシェーションを一つだけ選出
する。ルール実行部は競合解消フェーズで選出されたイ
ンスタンシェーション中のWME群に対して選出された
ルールのRH5部を作用させる。
ール実行フェーズの繰り返しによって推論を行う、この
一連の動作は認知サイクルと呼ばれる。照合フェーズで
は全てのWMEに対して、全てのルールのLH3部の条
件要素に記述された条件式を満足するか否かの照合を行
い、LH5部を満足するWME群とそれにより満足され
たルールの組の集合を生成する。この組をインスタンシ
ェーションと呼び、インスタンシェーションから成る集
合を競合集合と呼ぶ。競合解消フェーズでは、競合集合
から実行すべきインスタンシェーションを一つだけ選出
する。ルール実行部は競合解消フェーズで選出されたイ
ンスタンシェーション中のWME群に対して選出された
ルールのRH5部を作用させる。
従来、プロダクション・システムを高速化させるための
実行方式として、競合集合の中から複数のインスタンシ
ェーションを選び、ある逐次実行結果と一致するように
ルールを並列実行する方法が提案されている(@子情報
通信学会論文誌Dvo1.J 71−D N(13pp
、567−576 1988.3石田:プロダクション
・システムの並列実行可能性の解析)。以下、この方式
について簡単に説明する。
実行方式として、競合集合の中から複数のインスタンシ
ェーションを選び、ある逐次実行結果と一致するように
ルールを並列実行する方法が提案されている(@子情報
通信学会論文誌Dvo1.J 71−D N(13pp
、567−576 1988.3石田:プロダクション
・システムの並列実行可能性の解析)。以下、この方式
について簡単に説明する。
2ル一ル間に次に示す関係がある場合、これらのルール
を並列実行した結果はいかなる逐次実行結果とも一致し
ない。
を並列実行した結果はいかなる逐次実行結果とも一致し
ない。
■ ルール1で削除するWMEをルール2で条件要素と
している場合 ■ ルール2で生成するWMEをルール2でnot条件
要素(そのWMEがなければ成立する)としている場合 ■ ルール1で生成し、ルール2で削除する共通のWM
Eがある場合 これらの関係はルール干渉と呼ばれており、競合集合か
ら複数のインスタンシェーションを選択する時は、いか
なる2ルールの間にもルール干渉がおきないように選択
しなければならない。よって、ルール実行を並列に行う
ときは、ルール干渉を検出するフェーズが必要となり、
これを干渉検出フェーズと呼ぶとすると、プロダクショ
ン・システムの認知サイクルは、照合フェーズ→干渉検
出フェーズ→実行フェーズという形になる。
している場合 ■ ルール2で生成するWMEをルール2でnot条件
要素(そのWMEがなければ成立する)としている場合 ■ ルール1で生成し、ルール2で削除する共通のWM
Eがある場合 これらの関係はルール干渉と呼ばれており、競合集合か
ら複数のインスタンシェーションを選択する時は、いか
なる2ルールの間にもルール干渉がおきないように選択
しなければならない。よって、ルール実行を並列に行う
ときは、ルール干渉を検出するフェーズが必要となり、
これを干渉検出フェーズと呼ぶとすると、プロダクショ
ン・システムの認知サイクルは、照合フェーズ→干渉検
出フェーズ→実行フェーズという形になる。
次に干渉検出を用いた並列実行を順次例を用いて説明す
る。こNでは全てのプロセッサからアクセスできる共通
WMを用いる。まず初期のWM(WM O)に記憶して
いるWMEが(at b、c)であり1次のルールがあ
るとする。
る。こNでは全てのプロセッサからアクセスできる共通
WMを用いる。まず初期のWM(WM O)に記憶して
いるWMEが(at b、c)であり1次のルールがあ
るとする。
ルール1 : I F a 、 THE N del
ete bルール2 : I F b、 THEN
delete aルール3 : I F c、 TH
EN create d第3図は逐次実行を行った例で
ある。(a)の逐次実行1では、まずルール1を実行し
、ルール2の条件要素であるbを削除するので、ルール
2は実行できない。従って次に実行するルールはルール
3となり、逐次実行結果は(a、b)となる。
ete bルール2 : I F b、 THEN
delete aルール3 : I F c、 TH
EN create d第3図は逐次実行を行った例で
ある。(a)の逐次実行1では、まずルール1を実行し
、ルール2の条件要素であるbを削除するので、ルール
2は実行できない。従って次に実行するルールはルール
3となり、逐次実行結果は(a、b)となる。
また、(b)の逐次実行2ではルール2を先に実行し、
ルール1の条件要素であるaを削除するので、ルール1
は実行することができず1次の認知サイクルではルール
3を実行し、結果は(b、d)となる。
ルール1の条件要素であるaを削除するので、ルール1
は実行することができず1次の認知サイクルではルール
3を実行し、結果は(b、d)となる。
第4図には、干渉検出を行わず、無条件にルールを並列
実行した例を示す。こSではWMOと照合した全てのイ
ンスタンシェーション、即ちルール1、ルール2、ルー
ル3を同時に実行し、ルール1とルール2の実行によっ
てaとbが削除され。
実行した例を示す。こSではWMOと照合した全てのイ
ンスタンシェーション、即ちルール1、ルール2、ルー
ル3を同時に実行し、ルール1とルール2の実行によっ
てaとbが削除され。
ルール3の実行によってdを生成し、実行結果は(d)
となる。このように無条件に並列実行を行うと、第3図
におけるいずれの逐次実行結果とも一致しない結果にな
る。
となる。このように無条件に並列実行を行うと、第3図
におけるいずれの逐次実行結果とも一致しない結果にな
る。
第5図には、干渉検出の結果、選択したルールを並列実
行した例を示す。WMOと照合するルール1,2.3は
ルール1とルール2が干渉検出をおこす条件の■を満た
す。従って、こ\ではルール1とルール2のうちどちら
かは選択候補から除き、干渉検出後のルール集合は(1
): (ルール1、ルール3)か、(2): (ル
ール2.ルール3)となる。これらのルール集合にたい
して優先度はなく、どちらのルール集合を選択してもか
まわない、第5図ではルール集合(1)を選択し、並列
実行した場合を示す。ルール1とルール3の実行により
、WMOのWME : b、cが同時に変更され、実行
結果は(a、c)となり、第3図(a)の逐次実行1の
結果と一致する。
行した例を示す。WMOと照合するルール1,2.3は
ルール1とルール2が干渉検出をおこす条件の■を満た
す。従って、こ\ではルール1とルール2のうちどちら
かは選択候補から除き、干渉検出後のルール集合は(1
): (ルール1、ルール3)か、(2): (ル
ール2.ルール3)となる。これらのルール集合にたい
して優先度はなく、どちらのルール集合を選択してもか
まわない、第5図ではルール集合(1)を選択し、並列
実行した場合を示す。ルール1とルール3の実行により
、WMOのWME : b、cが同時に変更され、実行
結果は(a、c)となり、第3図(a)の逐次実行1の
結果と一致する。
以上説明してきたように、プロダクション・システムに
おいて、並列実行を行う時は、干渉検出を必ず行わなれ
ばならないが、この干渉検出における計算量が大きいと
いう問題がある。今、総ルール数がnであり、1ルール
につき1インスタンシエーシヨンが照合しているとする
と(以下においても同様)、干渉検出フェーズでは、2
ル一ル間についてルール干渉を検出するため、該干渉検
出フェーズにおける計算量は、nC,=n (n−1)
/2.すなわちn2オーダの計算量が必要になる。
おいて、並列実行を行う時は、干渉検出を必ず行わなれ
ばならないが、この干渉検出における計算量が大きいと
いう問題がある。今、総ルール数がnであり、1ルール
につき1インスタンシエーシヨンが照合しているとする
と(以下においても同様)、干渉検出フェーズでは、2
ル一ル間についてルール干渉を検出するため、該干渉検
出フェーズにおける計算量は、nC,=n (n−1)
/2.すなわちn2オーダの計算量が必要になる。
プロダクション・システムのルール数としては。
数100ル一ル以上あることも珍しくないため、干渉検
出フェーズによるオーバヘッドにより、かえって逐次実
行方式より遅くなることもありうる。
出フェーズによるオーバヘッドにより、かえって逐次実
行方式より遅くなることもありうる。
そこで、干渉検出を高速に行う方法の一つとして、干渉
検出を行うルールを限定する方法が考えられる。まず、
ルールコンパイル時に、ルールの条件部と実行部を調べ
ることによって、干渉をおこす可能性のあるルール(干
渉ルール)を調べておく、干渉検出フェーズにおいては
、該干渉ルールについてだけ照合しているWMEが同一
であるか調べる。この方法によれば、干渉ルールが1ル
ールあたり平均mルールである場合、干渉検出フェーズ
での計算量は、n−m/2となる。こ\で1/2として
いるのは、2ルールのうち、どちらか一方で検出を行え
ばよいからである。したがって、n>mならば効果的で
あるが、実際にはmはnに比例して大きいことが多く、
結局はn2のオーダとなってしまい。計算量は削減され
ない。
検出を行うルールを限定する方法が考えられる。まず、
ルールコンパイル時に、ルールの条件部と実行部を調べ
ることによって、干渉をおこす可能性のあるルール(干
渉ルール)を調べておく、干渉検出フェーズにおいては
、該干渉ルールについてだけ照合しているWMEが同一
であるか調べる。この方法によれば、干渉ルールが1ル
ールあたり平均mルールである場合、干渉検出フェーズ
での計算量は、n−m/2となる。こ\で1/2として
いるのは、2ルールのうち、どちらか一方で検出を行え
ばよいからである。したがって、n>mならば効果的で
あるが、実際にはmはnに比例して大きいことが多く、
結局はn2のオーダとなってしまい。計算量は削減され
ない。
このように、従来の干渉検出を用いた並列実行方式では
、干渉検出フェーズにおける計算量が、ルール数が多く
なるほど増えるため、結果的には逐次実行よりも遅くな
るという問題があった。
、干渉検出フェーズにおける計算量が、ルール数が多く
なるほど増えるため、結果的には逐次実行よりも遅くな
るという問題があった。
本発明の目的は、各プロセッサの照合結果について部分
的に干渉検出を行って、インスタンシェーションを絞り
込み、干渉検出フェーズの実行時間を削減することによ
って、高速なプロダクション・システムの並列実行方式
を提供することにある。
的に干渉検出を行って、インスタンシェーションを絞り
込み、干渉検出フェーズの実行時間を削減することによ
って、高速なプロダクション・システムの並列実行方式
を提供することにある。
上記目的を達成するため1本発明は、各プロセッサにお
いて照合フェーズを終了した後、干渉検出フェーズを行
う前に、該プロセッサの照合結果について干渉検出を行
い(以下1部分干渉検出と呼ぶ)、該部分干渉検出フェ
ーズの終了後、該部分干渉検出では調べられなかった他
プロセッサの部分干渉検出結果との干渉検出を行い、該
干渉検出フェーズで選択されたインスタンシェーション
を実行することを特徴とするものである。
いて照合フェーズを終了した後、干渉検出フェーズを行
う前に、該プロセッサの照合結果について干渉検出を行
い(以下1部分干渉検出と呼ぶ)、該部分干渉検出フェ
ーズの終了後、該部分干渉検出では調べられなかった他
プロセッサの部分干渉検出結果との干渉検出を行い、該
干渉検出フェーズで選択されたインスタンシェーション
を実行することを特徴とするものである。
並列実行方式は、ルール実行フェーズだけでなく、照合
フェーズでも複数のプロセッサを用いて並列化する方式
が通常とられる。したがって、照合フェーズの結果は各
プロセッサ毎に得られる。
フェーズでも複数のプロセッサを用いて並列化する方式
が通常とられる。したがって、照合フェーズの結果は各
プロセッサ毎に得られる。
本発明では、各プロセッサにおいてルール照合を実行し
た後、該プロセッサの照合結果について部分的に干渉検
出を行ってインスタンシェーションを絞り込む。
た後、該プロセッサの照合結果について部分的に干渉検
出を行ってインスタンシェーションを絞り込む。
本発明方式における干渉検出にかへる計算量を求めてみ
る。こぎでは、2台のプロセッサを用いるとすると、プ
ロセッサあたりの照合ルール数は平均□であるので1部
分干渉検出にかぎる計算量は となる。次に干渉検
出フェーズでは、p 1プロセッサあたりの計算量は、部分干渉検出にp x すると、(p−1)プロセッサにアクセスし、そとなる
。よって全プロセッサでは 2(px)” 以上示したように、本発明方式における干渉検に削減さ
れる。この式から、プロセッサ数p及び部分干渉検出に
おけるルールの絞り込み度Xが高ければ高いほど、本発
明方式は効果を発揮することがわかる。実際、照合フェ
ーズの並列方式の一つとして、干渉をおこすルール群を
同一のプロセッサに割り当て\照合を行うようにする方
法も考えられるので、この照合方法を用いて1部分干渉
検出において、1桁のルール数に絞り込めることができ
れば1水力式がより有効になることがわかる。
る。こぎでは、2台のプロセッサを用いるとすると、プ
ロセッサあたりの照合ルール数は平均□であるので1部
分干渉検出にかぎる計算量は となる。次に干渉検
出フェーズでは、p 1プロセッサあたりの計算量は、部分干渉検出にp x すると、(p−1)プロセッサにアクセスし、そとなる
。よって全プロセッサでは 2(px)” 以上示したように、本発明方式における干渉検に削減さ
れる。この式から、プロセッサ数p及び部分干渉検出に
おけるルールの絞り込み度Xが高ければ高いほど、本発
明方式は効果を発揮することがわかる。実際、照合フェ
ーズの並列方式の一つとして、干渉をおこすルール群を
同一のプロセッサに割り当て\照合を行うようにする方
法も考えられるので、この照合方法を用いて1部分干渉
検出において、1桁のルール数に絞り込めることができ
れば1水力式がより有効になることがわかる。
次に本発明方式の変形として、干渉検出フェーズにおい
て、あるルールを優先して選択することが考えられる。
て、あるルールを優先して選択することが考えられる。
実際、ルール干渉をおこすルールは、どちらを選択して
もかまわない、こぎでは。
もかまわない、こぎでは。
一番はじめに部分干渉検出が終了したプロセッサの選択
したインスタンシェーションすべてを、実行フェーズに
おいて実行することにする。すなわち、このプロセッサ
は干渉検出フェーズを行うことなく、すぐに実行フェー
ズに移る。実行されたルールは、全てのプロセッサから
アクセス可能なメモリ上に記憶しておく。次に部分干渉
検出が終了したプロセッサは1部分干渉検出結果から、
既に実行されたルールと干渉をおこさないインスタンシ
ェーションを選択して実行する。
したインスタンシェーションすべてを、実行フェーズに
おいて実行することにする。すなわち、このプロセッサ
は干渉検出フェーズを行うことなく、すぐに実行フェー
ズに移る。実行されたルールは、全てのプロセッサから
アクセス可能なメモリ上に記憶しておく。次に部分干渉
検出が終了したプロセッサは1部分干渉検出結果から、
既に実行されたルールと干渉をおこさないインスタンシ
ェーションを選択して実行する。
この方式の先の方式との違いは、干渉検出において、他
のプロセッサの部分干渉検出結果を必要としないことで
ある。先の方式では、他のプロセッサの部分干渉検出結
果が必要なため1部分干渉検出が早く終了しても、全て
のプロセッサが部分干渉検出を終了するまで干渉検出は
行えない。また、干渉検出を始めた後も、全プロセッサ
が同時に他のプロセッサにアクセスするので、プロセッ
サ間を結ぶ通信線が他のプロセッサの通信に使われてい
るような通信の競合がおこりやすい、一方、この方式で
は、他のプロセッサの実行状態にか\わらず、各プロセ
ッサは共通メモリ内のインスタンシェーションを参照す
ることによって干渉検出フェーズを行うことができる。
のプロセッサの部分干渉検出結果を必要としないことで
ある。先の方式では、他のプロセッサの部分干渉検出結
果が必要なため1部分干渉検出が早く終了しても、全て
のプロセッサが部分干渉検出を終了するまで干渉検出は
行えない。また、干渉検出を始めた後も、全プロセッサ
が同時に他のプロセッサにアクセスするので、プロセッ
サ間を結ぶ通信線が他のプロセッサの通信に使われてい
るような通信の競合がおこりやすい、一方、この方式で
は、他のプロセッサの実行状態にか\わらず、各プロセ
ッサは共通メモリ内のインスタンシェーションを参照す
ることによって干渉検出フェーズを行うことができる。
また、干渉検出フェーズに移るタイミングが各プロセッ
サで異なるので、通信の競合もおこりにくい。このよう
に、干渉ルールのうち優先的に一部のルールを選択すれ
ば、干渉検出フェーズで同期をとる必要がなく。
サで異なるので、通信の競合もおこりにくい。このよう
に、干渉ルールのうち優先的に一部のルールを選択すれ
ば、干渉検出フェーズで同期をとる必要がなく。
高速に認知サイクルを実行できる。
以下、本発明の一実施例について図面により説明する。
第1図は本発明方式の一実施例を説明するためのブロッ
ク図である。第1図において、プロダクション・システ
ム実行装置1はワーキングメモリ(WM)管理部2.干
渉検出部3、及び数台のプロセッサ4から構成される。
ク図である。第1図において、プロダクション・システ
ム実行装置1はワーキングメモリ(WM)管理部2.干
渉検出部3、及び数台のプロセッサ4から構成される。
各プロセッサ4は、ルール照合部5、部分干渉検出部6
.ルール実行部7から構成される。
.ルール実行部7から構成される。
各プロセッサ4のルール照合部5では、WM管理部2を
参照しながらルール照合を行うゆこNでWM管理部2は
、全てのプロセッサ4からアクセス可能な共通メモリ(
WM)を管理している。照合したルールとWMEの組は
、インスタンシェーション8としてルール照合部5から
部分干渉検出部6へ送られる。部分干渉検出部6では、
同じプロセッサで照合が行われているルールについて干
渉検出を行う。
参照しながらルール照合を行うゆこNでWM管理部2は
、全てのプロセッサ4からアクセス可能な共通メモリ(
WM)を管理している。照合したルールとWMEの組は
、インスタンシェーション8としてルール照合部5から
部分干渉検出部6へ送られる。部分干渉検出部6では、
同じプロセッサで照合が行われているルールについて干
渉検出を行う。
部分干渉検出を終了したプロセッサ4は、共通バス9を
介し、選択したインスタンシェーションを干渉検出部3
へ送る。干渉検出部3は、全てのプロセッサ4からイン
スタンシェーションを受信した時に、ルールの干渉検出
を行う。すなわち、あるプロセッサの部分干渉検出部6
で検出できなかった。他のプロセッサにおいて照合され
ているルールについて、干渉検出を行う。干渉検出部3
は全てのプロセッサからアクセス可能であればよく、各
プロセッサ4と干渉検出部3間の通信方法は、共通バス
9の他に通信線を用いてもよい。
介し、選択したインスタンシェーションを干渉検出部3
へ送る。干渉検出部3は、全てのプロセッサ4からイン
スタンシェーションを受信した時に、ルールの干渉検出
を行う。すなわち、あるプロセッサの部分干渉検出部6
で検出できなかった。他のプロセッサにおいて照合され
ているルールについて、干渉検出を行う。干渉検出部3
は全てのプロセッサからアクセス可能であればよく、各
プロセッサ4と干渉検出部3間の通信方法は、共通バス
9の他に通信線を用いてもよい。
干渉検出の終了後は、選択したインスタンシェーション
を各プロセッサ4のルール実行部7へ知らせる。ルール
実行部7ではルールを実行し、WM管理部2へ新しく追
加、または削除するWME情報10を送る。WM管理部
2では該WMEに関して、WMを書き換える。
を各プロセッサ4のルール実行部7へ知らせる。ルール
実行部7ではルールを実行し、WM管理部2へ新しく追
加、または削除するWME情報10を送る。WM管理部
2では該WMEに関して、WMを書き換える。
以上の認知サイクルを、全てのプロセッサ4において照
合するルールがなくなるまで繰り返す。
合するルールがなくなるまで繰り返す。
第2図は干渉検出部3を各プロセッサ4内に設け、一部
のルールを優先して選択する実施例のブロック図を示す
。プロダクション・システム実行装置1の構成は、基本
的には第1図と同様であるが、干渉検出部3を各プロセ
ッサ内に持つかわりに、ルールバッファ記憶部11を各
プロセッサ4に共通に設ける。
のルールを優先して選択する実施例のブロック図を示す
。プロダクション・システム実行装置1の構成は、基本
的には第1図と同様であるが、干渉検出部3を各プロセ
ッサ内に持つかわりに、ルールバッファ記憶部11を各
プロセッサ4に共通に設ける。
各プロセッサ4では、部分干渉検出が終了すると、ルー
ルバッファ記憶部11にアクセスする。
ルバッファ記憶部11にアクセスする。
こ\で、ルールバッファ記憶部11は、全てのプロセッ
サからアクセス可能で、各プロセッサ4とルールバッフ
ァ記憶部11間の通信方法は、共通バス9を用いてもよ
いし、通信線を用いてもよい。
サからアクセス可能で、各プロセッサ4とルールバッフ
ァ記憶部11間の通信方法は、共通バス9を用いてもよ
いし、通信線を用いてもよい。
ルールバッファ記憶部11に何も書き込まれていない場
合は、当該プロセッサ4が部分干渉検出部6で選択した
インスタンシェーションをすべてルールバッファ記憶部
11に送り、干渉検出部3の実行はスキップして、ルー
ル実行部7においてこれらのルールを実行する。ルール
バッファ記憶部11に何らかのインスタンシェーション
が書き込まれている場合は、当該プロセッサ4の干渉検
出部3において、これらのインスタンシェーションと干
渉をおこさないインスタンシェーションを選択する。さ
らに、選択したインスタンシェーションをルールバッフ
ァ記憶部11に書き込み、ルール実行部7においてこれ
らのルールを実行する。
合は、当該プロセッサ4が部分干渉検出部6で選択した
インスタンシェーションをすべてルールバッファ記憶部
11に送り、干渉検出部3の実行はスキップして、ルー
ル実行部7においてこれらのルールを実行する。ルール
バッファ記憶部11に何らかのインスタンシェーション
が書き込まれている場合は、当該プロセッサ4の干渉検
出部3において、これらのインスタンシェーションと干
渉をおこさないインスタンシェーションを選択する。さ
らに、選択したインスタンシェーションをルールバッフ
ァ記憶部11に書き込み、ルール実行部7においてこれ
らのルールを実行する。
以上述べたように1本発明によれば、従来のプロダクシ
ョン・システムの並列実行方式と比較して、部分干渉検
出を行うことによって干渉検出にか\る計算量を削減し
、プロダクション・システムを高速に実行できるという
利点がある。
ョン・システムの並列実行方式と比較して、部分干渉検
出を行うことによって干渉検出にか\る計算量を削減し
、プロダクション・システムを高速に実行できるという
利点がある。
第1図及び第2図は本発明の一実施例を説明するための
ブロック図、第3図、第4図及び第5図は、従来のプロ
ダクション・システムの実行方式を説明するため図であ
る6 1・・・プロダクション・システム実行装置、2・・・
WM管理部、 3・・・干渉検出部。 4・・・プロセッサ、 5・・・ルール照合部、6・・
・部分干渉検出部、 7・・・ルール実行部、9・・・
共通バス、 11・・・ルールバッファ記憶部。 並J1]賞り予1 (α9 悉二疋寅イ弯” C))) 逐ン、廻犬イテ ?
ブロック図、第3図、第4図及び第5図は、従来のプロ
ダクション・システムの実行方式を説明するため図であ
る6 1・・・プロダクション・システム実行装置、2・・・
WM管理部、 3・・・干渉検出部。 4・・・プロセッサ、 5・・・ルール照合部、6・・
・部分干渉検出部、 7・・・ルール実行部、9・・・
共通バス、 11・・・ルールバッファ記憶部。 並J1]賞り予1 (α9 悉二疋寅イ弯” C))) 逐ン、廻犬イテ ?
Claims (2)
- (1)複数のプロセッサによって認知サイクルを実行す
るプロダクシヨン・システムにおいて、各プロセッサに
おいてルール照合を実行したのち、該プロセッサの照合
結果について干渉検出を行う部分干渉検出フェーズと、
全てのプロセッサにおいて部分干渉検出を終了したのち
、該部分干渉検出結果と他プロセッサの該部分干渉検出
結果との干渉検出を行う干渉検出フェーズを設け、該干
渉検出フェーズで選択されたインスタンシェーシヨンを
実行することを特徴とするプロダクション・システムの
並列実行方式。 - (2)上記干渉検出フェーズにおいて、一番はじめに部
分干渉検出フェーズが終了したプロセッサは選択された
インスタンシェーションをすべて実行し、続いて部分干
渉検出フェーズが終了したプロセッサは、該部分干渉検
出結果の中から、既に実行に移されたインスタンシェー
ションと干渉をおこさないインスタンシェーシヨンを選
択して実行することを特徴とする請求項(1)記載のプ
ロダクシヨン・システムの並列実行方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63239270A JPH0287232A (ja) | 1988-09-24 | 1988-09-24 | プロダクション・システムの並列実行方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63239270A JPH0287232A (ja) | 1988-09-24 | 1988-09-24 | プロダクション・システムの並列実行方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0287232A true JPH0287232A (ja) | 1990-03-28 |
Family
ID=17042263
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63239270A Pending JPH0287232A (ja) | 1988-09-24 | 1988-09-24 | プロダクション・システムの並列実行方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0287232A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20250335257A1 (en) * | 2020-10-21 | 2025-10-30 | Shanghai Jiao Tong University | Resource allocation method, medium, and server |
-
1988
- 1988-09-24 JP JP63239270A patent/JPH0287232A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20250335257A1 (en) * | 2020-10-21 | 2025-10-30 | Shanghai Jiao Tong University | Resource allocation method, medium, and server |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109886407B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
| US7386521B2 (en) | Automatic test program generation using extended conditional constraint satisfaction | |
| CN110675255B (zh) | 在区块链中并发执行交易的方法和装置 | |
| CN120929197A (zh) | 一种基于图结构的联盟链事务并行处理方法 | |
| US20230195599A1 (en) | Method for computing data dependence relationship in program, and computer readable storage medium | |
| JPH0287232A (ja) | プロダクション・システムの並列実行方式 | |
| TWI732501B (zh) | 在區塊鏈中並行執行交易的方法和裝置及電腦可讀儲存媒體與計算設備 | |
| CN117149770B (zh) | 数据库的存储过程执行方法、装置以及计算机设备 | |
| CN102063308B (zh) | 一种用于地震勘探资料处理流程控制的方法 | |
| JPH047743A (ja) | 推論システム | |
| Saidi et al. | A method for parallel scheduling of multi-rate co-simulation on multi-core platforms | |
| CN115170125A (zh) | 基于冲突检测的区块链交易执行方法 | |
| KR20210007665A (ko) | 불균일 메모리 접근(numa) 구조를 가진 하드웨어에서 인-메모리 데이터에 대한 질의 처리 방법 및 장치 | |
| Hibino | A practical parallel garbage collection algorithm and its implementation | |
| JPH0769831B2 (ja) | コンパイラにおけるレジスタ割当て方法 | |
| JPH0721013A (ja) | システム生成方式 | |
| JPS63288332A (ja) | プロダクシヨンシステム | |
| Jayanti | Solvability of consensus: Composition breaks down for nondeterministic types | |
| JPS6119072B2 (ja) | ||
| JPH0348934A (ja) | プロダクション・システムの並列実行方式 | |
| Attie | On the implementation complexity of specifications of concurrent programs | |
| HK40026265A (en) | Method and device for concurrently executing transactions in block chain | |
| HK40026265B (en) | Method and device for concurrently executing transactions in block chain | |
| Hansen | Concurrent Processes | |
| JPS6324422A (ja) | セグメント方式計算機における2種以上の呼出し手順の共存方式 |