JPH0830457A - プロダクションシステムの推論方法 - Google Patents
プロダクションシステムの推論方法Info
- Publication number
- JPH0830457A JPH0830457A JP6182971A JP18297194A JPH0830457A JP H0830457 A JPH0830457 A JP H0830457A JP 6182971 A JP6182971 A JP 6182971A JP 18297194 A JP18297194 A JP 18297194A JP H0830457 A JPH0830457 A JP H0830457A
- Authority
- JP
- Japan
- Prior art keywords
- rule
- instantiation
- conflict
- inference
- firing
- 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
【0001】
【産業上の利用分野】本発明は、外部機器と非同期に入
出力を行なうプロダクションシステムの推論方法に関す
る。
出力を行なうプロダクションシステムの推論方法に関す
る。
【0002】
【従来の技術】従来の前向き推論型プロダクションシス
テムは文献(Brownston et.al.Programming Expert Sys
tem in OPS5, Addison-Wesley, 1985 )等に示されるよ
うに、図4に示す照合、競合解消、実行の三つのフェー
ズからなる認識−実行サイクルによって動作する。ま
ず、照合によって条件部が満たされるルールとその条件
部に対応するワーキングメモリ要素が見つけ出され、イ
ンスタンシエーションとして競合集合に蓄えられる。次
に予め設定された競合解消戦略に基づいて一つのインス
タンシエーションが選択され, そのルールの実行部が実
行される。選択されなかったインスタンシエーション
は、その条件部が満たされている限り、次サイクル以降
での競合解消での候補となり得る。また、競合解消で
は、一般にルール条件部の要素数や属性値のテスト回数
が多いものを優先的に選択する競合解消戦略が取られ
る。すなわち、同時に発火可能なルールに対して、より
特殊性を持ったルールが優先されることになる。競合す
る優先度の低いインスタンシエーションはその後の推論
サイクルで、ワーキングメモリが修正されて条件部が満
たされなくなると、競合集合から取り除かれる。このよ
うに、一つのルールが他のルールに対してその条件部が
排他的に満足されることを保証することなくして、デフ
ォルト的に発火するルールを記述することが可能であ
る。その結果、ルールの記述が容易になるという利点が
ある。
テムは文献(Brownston et.al.Programming Expert Sys
tem in OPS5, Addison-Wesley, 1985 )等に示されるよ
うに、図4に示す照合、競合解消、実行の三つのフェー
ズからなる認識−実行サイクルによって動作する。ま
ず、照合によって条件部が満たされるルールとその条件
部に対応するワーキングメモリ要素が見つけ出され、イ
ンスタンシエーションとして競合集合に蓄えられる。次
に予め設定された競合解消戦略に基づいて一つのインス
タンシエーションが選択され, そのルールの実行部が実
行される。選択されなかったインスタンシエーション
は、その条件部が満たされている限り、次サイクル以降
での競合解消での候補となり得る。また、競合解消で
は、一般にルール条件部の要素数や属性値のテスト回数
が多いものを優先的に選択する競合解消戦略が取られ
る。すなわち、同時に発火可能なルールに対して、より
特殊性を持ったルールが優先されることになる。競合す
る優先度の低いインスタンシエーションはその後の推論
サイクルで、ワーキングメモリが修正されて条件部が満
たされなくなると、競合集合から取り除かれる。このよ
うに、一つのルールが他のルールに対してその条件部が
排他的に満足されることを保証することなくして、デフ
ォルト的に発火するルールを記述することが可能であ
る。その結果、ルールの記述が容易になるという利点が
ある。
【0003】
【発明が解決しようとする課題】従来のプロダクション
システムは何らかの結論が得られるまでワーキングメモ
リだけを利用して推論を進めることが前提となってい
た。そして、システム外部の機器と入出力を行なう場
合、ルールの実行部から一つの入出力命令として実現
し、その結果をワーキングメモリへ書き込んで以後の推
論に利用することが一般的であった。この場合、ロボッ
トへの動作命令のような時間を要する入出力を行なう
と、推論が長時間停止するという問題が生じる。そこ
で、このような入出力命令を結果を待たないように実装
し、結果が得られた時点でワーキングメモリへ反映させ
るようにする必要がある。しかしながら、この方法を取
ると、ルール実行部の結果がワーキングメモリへ直接反
映されなくなるため、競合集合に蓄えられているルール
が無条件で次サイクルで発火することになる。一般的な
ルールの記述方法を用いると発火させたくないルールが
競合集合中に存在するので、同時に発火可能とならない
ように排他的にルール条件部を記述するか、一つのルー
ルが発火した時他のルールを発火不能にするようにワー
キングメモリ要素を書き換えるといった手法を取らざる
を得ない。この結果、ルールの記述が発火順序を制御す
る部分で繁雑になり、可読性も悪くなるという問題が生
じていた。また、デフォルトで発火するルールを記述す
ることもできなくなり、ルールの作成が難しいものとな
った。そこで本発明は、上記の問題に鑑み、認識−実行
サイクルを中断することなく、不要なルールの発火を抑
制させる推論方法を提供することを目的とする。
システムは何らかの結論が得られるまでワーキングメモ
リだけを利用して推論を進めることが前提となってい
た。そして、システム外部の機器と入出力を行なう場
合、ルールの実行部から一つの入出力命令として実現
し、その結果をワーキングメモリへ書き込んで以後の推
論に利用することが一般的であった。この場合、ロボッ
トへの動作命令のような時間を要する入出力を行なう
と、推論が長時間停止するという問題が生じる。そこ
で、このような入出力命令を結果を待たないように実装
し、結果が得られた時点でワーキングメモリへ反映させ
るようにする必要がある。しかしながら、この方法を取
ると、ルール実行部の結果がワーキングメモリへ直接反
映されなくなるため、競合集合に蓄えられているルール
が無条件で次サイクルで発火することになる。一般的な
ルールの記述方法を用いると発火させたくないルールが
競合集合中に存在するので、同時に発火可能とならない
ように排他的にルール条件部を記述するか、一つのルー
ルが発火した時他のルールを発火不能にするようにワー
キングメモリ要素を書き換えるといった手法を取らざる
を得ない。この結果、ルールの記述が発火順序を制御す
る部分で繁雑になり、可読性も悪くなるという問題が生
じていた。また、デフォルトで発火するルールを記述す
ることもできなくなり、ルールの作成が難しいものとな
った。そこで本発明は、上記の問題に鑑み、認識−実行
サイクルを中断することなく、不要なルールの発火を抑
制させる推論方法を提供することを目的とする。
【0004】
【課題を解決するための手段】本発明による推論方法
は、ルールベースを複数のルール集合に分割し、競合解
消を行なって一つのインスタンシエーションを選択した
後に、前記インスタンシエーションと同一のルール集合
に属する他のインスタンシエーションを競合集合の中か
ら削除あるいは次サイクル以降での発火を抑制すること
を特徴とする。さらに、推論の文脈を示す特定のワーキ
ングメモリクラスをルールベース全体あるいはルール集
合毎に予め設定しておき、競合集合の中から削除あるい
は次サイクル以降での発火を抑制するインスタンシエー
ションとして、競合解消されたインスタンシエーション
と同一のルール集合に属し、かつ、前記設定されたワー
キングメモリクラスに対して同一のワーキングメモリ要
素を条件部に持つことを条件として選択することを特徴
とする。
は、ルールベースを複数のルール集合に分割し、競合解
消を行なって一つのインスタンシエーションを選択した
後に、前記インスタンシエーションと同一のルール集合
に属する他のインスタンシエーションを競合集合の中か
ら削除あるいは次サイクル以降での発火を抑制すること
を特徴とする。さらに、推論の文脈を示す特定のワーキ
ングメモリクラスをルールベース全体あるいはルール集
合毎に予め設定しておき、競合集合の中から削除あるい
は次サイクル以降での発火を抑制するインスタンシエー
ションとして、競合解消されたインスタンシエーション
と同一のルール集合に属し、かつ、前記設定されたワー
キングメモリクラスに対して同一のワーキングメモリ要
素を条件部に持つことを条件として選択することを特徴
とする。
【0005】
【作用】プロダクションルールはルールの記述者によっ
て複数のルール集合に分割される。推論エンジンは従来
と同様に照合と競合解消を行ない、従来の競合解消戦略
によって競合集合から一つのインスタンシエーションを
選択する。次に、そのインスタンシエーションと同一の
ルール集合に属するインスタンシエーションが競合集合
に残っている場合、それらを競合集合から削除あるいは
発火不能のマーク等をつけて次サイクル以降の発火を抑
制する。この結果、ルール集合中の一つのルールだけが
発火可能になり、次サイクル以降での不要なルールの発
火を抑制することが可能になる。また、ルール集合が同
一という条件だけでなく予め設定された推論の文脈を表
すワーキングメモリクラスの同一のワーキングメモリ要
素を条件部に持つという条件を加えることにより、異な
った推論過程で生じている競合集合中のインスタンシエ
ーションを不必要に削除するということが防げる。
て複数のルール集合に分割される。推論エンジンは従来
と同様に照合と競合解消を行ない、従来の競合解消戦略
によって競合集合から一つのインスタンシエーションを
選択する。次に、そのインスタンシエーションと同一の
ルール集合に属するインスタンシエーションが競合集合
に残っている場合、それらを競合集合から削除あるいは
発火不能のマーク等をつけて次サイクル以降の発火を抑
制する。この結果、ルール集合中の一つのルールだけが
発火可能になり、次サイクル以降での不要なルールの発
火を抑制することが可能になる。また、ルール集合が同
一という条件だけでなく予め設定された推論の文脈を表
すワーキングメモリクラスの同一のワーキングメモリ要
素を条件部に持つという条件を加えることにより、異な
った推論過程で生じている競合集合中のインスタンシエ
ーションを不必要に削除するということが防げる。
【0006】
【実施例】本発明の実施例における推論方法のフローチ
ャートを図1に示す。照合1、競合解消2までは従来の
推論方法と同様である。競合解消2を行なった後に、不
要なインスタンシエーションが削除される。本実施例で
は、選択したインスタンシエーションと同じルール集合
に属し、同じワーキングメモリクラスを条件部に持つも
のを削除する。選択されたインスタンシエーションが実
行される。ここで、排他インスタンシエーション削除は
ルール実行の後に行なっても良い。また、競合集合から
削除するのではなく、次回以降の競合解消で選択しない
ようにマークを付けるだけでも良い。
ャートを図1に示す。照合1、競合解消2までは従来の
推論方法と同様である。競合解消2を行なった後に、不
要なインスタンシエーションが削除される。本実施例で
は、選択したインスタンシエーションと同じルール集合
に属し、同じワーキングメモリクラスを条件部に持つも
のを削除する。選択されたインスタンシエーションが実
行される。ここで、排他インスタンシエーション削除は
ルール実行の後に行なっても良い。また、競合集合から
削除するのではなく、次回以降の競合解消で選択しない
ようにマークを付けるだけでも良い。
【0007】競合集合中のインスタンシエーションは図
2に示すように、ルールID番号とルール集合ID番
号、条件部に対応するワーキングメモリ要素のポインタ
リストからなる。排他インスタンシエーション削除手段
は、競合解消によって選択されたインスタンシエーショ
ンと同一のルール集合ID番号を持ち、そのルール集合
に設定されているワーキングメモリクラスに関して同一
の条件部ワーキングメモリ要素を持つものを競合集合か
ら削除する。この結果、次回以降の認識−実行サイクル
で不要なルール発火を防ぐことができる。
2に示すように、ルールID番号とルール集合ID番
号、条件部に対応するワーキングメモリ要素のポインタ
リストからなる。排他インスタンシエーション削除手段
は、競合解消によって選択されたインスタンシエーショ
ンと同一のルール集合ID番号を持ち、そのルール集合
に設定されているワーキングメモリクラスに関して同一
の条件部ワーキングメモリ要素を持つものを競合集合か
ら削除する。この結果、次回以降の認識−実行サイクル
で不要なルール発火を防ぐことができる。
【0008】実施例でのルールの記述例を図3に示す。
これはロボットによってブロックを移動させるルール集
合の1例である。rule_set がルール集合を意味し、そ
ルール集合名と排他インスタンシエーション削除のため
のワーキングメモリクラス名を指定し、その後にブロッ
ク移動のルールを記述する。本例では、ロボットがブロ
ックを既に持っている場合、ブロックを掴んではいない
が掴める位置にいる場合、それ以外の三つの場合のルー
ルを示している。ルールの実行部では各々の条件に対応
するロボットの動作命令を発行するための目標を作成す
る。これらの目標が生成されると実際のロボットへ動作
指令が発行され、動作終了後にその動作結果が非同期的
にワーキングメモリへ書き込まれる。ロボットの動作実
行には比較的長い時間が必要となるので、その間、他の
外部装置への入出力を可能にするために、推論を連続的
に続けておく必要がある。本ルール例では、デフォルト
のルールは他のルールが発火できるときは常に発火可能
となるため、従来の推論方法では、他の優先度の高いル
ールが発火する際には同時に発火可能とならないように
条件部を工夫する必要がある。しかしながら、本方法に
よれば、優先度の高いルールが発火すると自動的に排他
ルールのインスタンシエーションが競合集合から削除さ
れるため、競合解消戦略を利用した容易なルール記述が
可能となる。
これはロボットによってブロックを移動させるルール集
合の1例である。rule_set がルール集合を意味し、そ
ルール集合名と排他インスタンシエーション削除のため
のワーキングメモリクラス名を指定し、その後にブロッ
ク移動のルールを記述する。本例では、ロボットがブロ
ックを既に持っている場合、ブロックを掴んではいない
が掴める位置にいる場合、それ以外の三つの場合のルー
ルを示している。ルールの実行部では各々の条件に対応
するロボットの動作命令を発行するための目標を作成す
る。これらの目標が生成されると実際のロボットへ動作
指令が発行され、動作終了後にその動作結果が非同期的
にワーキングメモリへ書き込まれる。ロボットの動作実
行には比較的長い時間が必要となるので、その間、他の
外部装置への入出力を可能にするために、推論を連続的
に続けておく必要がある。本ルール例では、デフォルト
のルールは他のルールが発火できるときは常に発火可能
となるため、従来の推論方法では、他の優先度の高いル
ールが発火する際には同時に発火可能とならないように
条件部を工夫する必要がある。しかしながら、本方法に
よれば、優先度の高いルールが発火すると自動的に排他
ルールのインスタンシエーションが競合集合から削除さ
れるため、競合解消戦略を利用した容易なルール記述が
可能となる。
【0009】
【本発明の効果】以上述べたように本発明によれば、外
部機器との入出力に対して、入出力結果を待たせないで
推論処理を連続的に行なわせるようにする場合に、不要
なルールの発火を防止し、従来と同様の競合解消戦略を
使って簡便にルールを記述できるという効果がある。ま
た、ルール集合の中で排他的にルール発火を制御できる
ので、従来よりもルールの記述が簡単になるという利点
もある。
部機器との入出力に対して、入出力結果を待たせないで
推論処理を連続的に行なわせるようにする場合に、不要
なルールの発火を防止し、従来と同様の競合解消戦略を
使って簡便にルールを記述できるという効果がある。ま
た、ルール集合の中で排他的にルール発火を制御できる
ので、従来よりもルールの記述が簡単になるという利点
もある。
【図1】本発明の推論方法を示すフローチャート
【図2】競合集合中のインスタンシエーション構造を示
す図
す図
【図3】本発明の実施例におけるルールの記述例
【図4】従来の推論方法を示すフローチャート 1…照合部 2…競合解消部 3…排他ルール削除部 4…実行部
Claims (2)
- 【請求項1】 IF-THEN 型のプロダクションルールを格
納するルールベースと推論用データを格納するワーキン
グメモリと、前記プロダクションルールを前向きに適用
する推論エンジンから構成され、照合、競合解消、実行
の認識−実行サイクルを繰り返すことによって推論を進
めるプロダクションシステムの推論方法において、 ルールベースを複数のルール集合に分割し、競合解消を
行なって、ルールID番号、ルール集合ID番号、およ
び所定のワーキングメモリ要素の組からなる一つのイン
スタンシエーションを選択し、 選択した前記インスタンシエーションと同一のルール集
合ID番号を有する他のインスタンシエーションを競合
集合の中から削除あるいは次サイクル以降での発火を抑
制することを特徴とするプロダクションシステムの推論
方法。 - 【請求項2】 競合集合の中から削除あるいは次サイク
ル以降での発火を抑制するインスタンシエーションは、 ルールベース全体あるいはルール集合毎に推論の文脈を
示す予め設定された特定のワーキングメモリクラスに該
当するワーキングメモリ要素を条件部に持つものという
条件を付加したことを特徴とする請求項1記載のプロダ
クションシステムの推論方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6182971A JPH0830457A (ja) | 1994-07-11 | 1994-07-11 | プロダクションシステムの推論方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6182971A JPH0830457A (ja) | 1994-07-11 | 1994-07-11 | プロダクションシステムの推論方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0830457A true JPH0830457A (ja) | 1996-02-02 |
Family
ID=16127523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6182971A Pending JPH0830457A (ja) | 1994-07-11 | 1994-07-11 | プロダクションシステムの推論方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0830457A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19941863B4 (de) * | 1998-09-04 | 2006-02-02 | Suzuki Motor Corp., Hamamatsu | Ansaugsystem für einen Verbrennungsmotor |
-
1994
- 1994-07-11 JP JP6182971A patent/JPH0830457A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19941863B4 (de) * | 1998-09-04 | 2006-02-02 | Suzuki Motor Corp., Hamamatsu | Ansaugsystem für einen Verbrennungsmotor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4890240A (en) | Coalescing changes in pattern-directed, rule-based artificial intelligence production systems | |
JPH01147627A (ja) | 質問応答装置 | |
JPH0424826A (ja) | プロダクションシステムとプロダクションシステムの変換装置 | |
JP3337706B2 (ja) | データフロープログラムの実行制御方法 | |
JPH0830457A (ja) | プロダクションシステムの推論方法 | |
JPS63142431A (ja) | パイプライン制御方式 | |
JPS5819953A (ja) | マイクロプログラム制御方式 | |
JP2735271B2 (ja) | プログラマブルコントローラ | |
JP2564264B2 (ja) | ベクトル処理方法及びベクトルプロセッサ | |
JPH0756886A (ja) | ペトリネットに基づく並列制御システム | |
JPH08272411A (ja) | ラダー命令処理装置 | |
JPH04503125A (ja) | モジュールブラックボートベースエキスパートシステム | |
JPH10333911A (ja) | プロダクションシステムの推論方法 | |
JPS6362038A (ja) | 推論手続き制御方式 | |
JPH06168127A (ja) | プロダクションシステムの制御方式 | |
JPH06332705A (ja) | 推論装置 | |
JPH0776926B2 (ja) | ループ制御処理方法 | |
JPH0769831B2 (ja) | コンパイラにおけるレジスタ割当て方法 | |
JPH05334249A (ja) | 対話処理システムにおけるカタログのネスティング管理方式 | |
JPH0293936A (ja) | プロダクションシステムの並列実行方式 | |
JPH01147629A (ja) | 質問応答装置 | |
JPS59105152A (ja) | 複数レジスタの一括ストア方式 | |
JPH05303493A (ja) | 命令列切り替え方法及びそれを用いた演算プロセッサ | |
JPH05298100A (ja) | 推論システム | |
JPH05346855A (ja) | 推論装置 |