JPS6341926A - 高速推論方式 - Google Patents

高速推論方式

Info

Publication number
JPS6341926A
JPS6341926A JP61185226A JP18522686A JPS6341926A JP S6341926 A JPS6341926 A JP S6341926A JP 61185226 A JP61185226 A JP 61185226A JP 18522686 A JP18522686 A JP 18522686A JP S6341926 A JPS6341926 A JP S6341926A
Authority
JP
Japan
Prior art keywords
rule
fact
flag set
base
state flag
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
JP61185226A
Other languages
English (en)
Inventor
Masato Nakama
中間 正人
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP61185226A priority Critical patent/JPS6341926A/ja
Publication of JPS6341926A publication Critical patent/JPS6341926A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] この発明はプロダクションシステムの高速推論方式に関
するもので、エキスパートシステム等の人工知濠の分野
に利用することができる。
[i 1Jlの概要] この発明は、プロダクションルールをファクトベースに
適用して推論を行う、いわゆるプロダクションシステム
の高速推論方式において、それぞれのルールの成立、不
成立をビットパターンで記憶する状態アラグセ−2トを
用意し、ファクトベースの変更に伴って状態フラグセッ
トを更新し、更新された状態フラグセットを検査するこ
とでルールの成立するコンフリクトセットを求めている
ので。
実行ルールの候補の集まりであるコンフリクトセットを
高速に完成することができ、推論の高速化が図れる。
[従来の技術] エキスハートの知識や濠力をコンピュータ上でインプリ
メントするための有用なツールの1つとして、プロダク
ションシステムもしくはルールベースシステムと呼ばれ
るシステム(以下、プロダクションシステムと総称する
)が開発されている。
−mにプロダクションシステムは、「もし・・・・・・
であれば、・・・・・・である」といった前提部と行動
部から成るルールの集合(ルールベース、もしくは単に
プロダクション、ルールと呼ばれる)と、ファクト(事
実や状況、表明)の集合(ファクトベース)と、ルール
をファクトに適用する推論機構とを備えている。推論の
中位は、認知行動サイクルと呼ぶもので、プロダクツ、
ンルールのマツチング(照合)、選択、実行より成る。
WE論の高速化をさまたげるI:因はマツチング処理速
度にあり、このため、そのiニー5速化方式も知られて
いる。代表的な高速化方式(例えばRETEMATCH
ER)では、ファクトベースの変更に伴い、ルールの前
提部の評価が容易に行なえるように、 +ii提部の共
通な部分(条件22素)を抽出し、リンクすることでネ
ットワークを形成し、ファクトベースの変更情報(トー
クンと呼ばれる)をネットワークに流すことで照合を行
っている。
[発明が解決しようとする問題点] 上記の高速化方式の欠点は、理論上はネットワークに変
更情報を並列に流すことができるが、一般に電子計算機
は逐次処理しか行なえないため、変更情報が到着したと
ころで行う条件判断と情報を流す道すじの制御はどうし
ても逐次処理になってしまう、ということにある。
この発明はこのような問題点を解消するためになされた
もので、現在の逐次型電子計算機の待つ特徴を最大限に
生かすことにより、推論速度の高速化をさらに向上させ
ることを課題とする。
[問題点を解決するための手段] 本発明の機走ブロー2り図を第1図に示す0本図におい
て、Aはルールの集合を記憶するルールベース、Bはフ
ァクトの集合を記憶するファクトベース、Cは推論を実
行する推論機構、Dはルール別にルールの前提部の照合
結果をビットパターンで記憶する状態フラグセット、E
はファクトベースが変更された場合、変更に係るファク
トをルールベースAの前提部の条件要素と照合し、照合
結果を示すビットを状態フラグセットに書き込む照合更
新手段、Fは状悪フラグセー2)Dの内容に従ってコン
フリクトセットを作成するコンフリクトセット作成手段
である。
[作用] いま、第1図の構成において、状態フラグセットDは、
現在のファクトベースBに対するルールベースAの各ル
ールIij提部の成立の有無をビットパターンで記憶し
ているとする。
ここで、推論機構Cがあるルールを実行し、そのためフ
ァクトベースBが変更されたとする。
これに対し、照合更新手段Eが起動され、変更に係るフ
ァクトがルール前提部の条件要素と照合され、条件要素
の成立(ファクトと一致)、不成ケ(ファクトと不一致
)を示すビットが状態フラグセットDにどき込まれる。
状態フラグセラ)Dの更新が完了したら、今度はコンフ
リクトセット作成手段Fが起動され、状丁ffフラグセ
ーyトDの各ルールの成立、不成立のビットパターンが
検査され、ルール成立ならそのルールをコンフリクトセ
ットに入れる。
このように、未発IJIにおいては、従来の高速化方式
のように、1つのルールが成立するかしないかを、ネッ
トワーク上において、入Llのノード(ルートノート)
から出口の7−ド(ターミナルノート)に向って逐次、
各要素についての条件判断の実行、情報の伝達を行うこ
とで4成しているのではなく、状y3フラグセットのビ
ットパターンの更新と検査という、逐次型電子計算機向
きの処理で実行しているので、非常に高速になる。
状態フラグセットDとしては、項目番号がプロダクショ
ンルールの番号に対応し、それぞれの項[1のビット番
号がルールの条件要素番号に対応し、−項目の長さが逐
次型電子計算機の情報処理中位(ワード)となっている
テーブルで構成すると有利である。この場合、1つのル
ールの成立の有無を1マシンサイクルで検査することが
できる。
[実施例] 以下、図面を参照してこの発Illの一実施例を説II
する。
:iS1図に、本実施例の全体のハードウェア構成を示
す、プロダクションシステムの推論構成のためのプログ
ラムは内部メモリl記憶されており、CPU2により実
行される。プロダクションシステムのルールベースとフ
ァクトベースは/\−トティスク等の外部メモリ3に保
存されており、ロード指令を介してCPU2により内部
メモリlにロートされる6人力装置4からは各種のコマ
ノド入力が行なわれ、出力装置5には適宜必要な情報が
出力される。
プロダクションシステムのルールベース2は第3図に8
照番号31で示すように、IF(前提部、LH3)とT
HEN (行動部、RH5)とから成るルールの集まり
である。ルールベースに記憶される個々のルールの一例
は第4図に示される。3つのルールが図示されており、
()内が1つの条件要素である0条件要素はオブジェク
ト名(クラス名)とそれに続く属性名と値の列で構成さ
れる。ここでは、条件要素同士はANDで結ばれており
、全ての条件要素が成立しなければ、そのルールは全体
として成立しない。
なお、OR条件で結合する場合もあるが、これは、ルー
ルを別に設けることで解決できるので閤題解決濠力には
影響しない。
また、本実施例では1つのルールのもつ条件要しKaに
も制限を加えているが(最大がワード−1)個、こ担も
同様の対処をとることで、実質上、条件要素数に制限が
ないのと等しくなり、問題解決f近方には影響しない。
第5図に、プロダクションシステムのファクトベース5
1の構成を例示する。ファクトベースの要素は、プロダ
クションルールの条件要素と照合をとり得る形式であり
、したがって、オブジェクト名とそれに続く属性名、値
のペア列で構成される。さらに、本実施例では、照合の
回数を減らすため、各7アク)ff素にポインタ部を設
けており、このポインタ部には、照合回走なルール番号
とその条件要素番号が格納される0例えば、(01、A
I、Vl)のファクト要素のポインタ部には、ルール番
号l1条件要素番号lのペアと、ルール番号2条件要素
番号2のペアが記憶されている。 第4図の行動a’l
l (THEN)(fMODI FYで始まっているが
、これは、ファクトベースの変更を意味しており、例え
ばMOD I FY (01、A3、V3)は、「オブ
ジェクト名が0l−tl’属性名がA3のファクト要素
に対し、その値をV3にする」といった、低味である。
このほかにも、MAKE、DELETEその他があるが
、説;」の便宜上、MODIFYのみとしている。
本実施例の玉要な要素である状態フラグセット32の構
成を第6図に示す、この状態フラグセットの行番号はル
ール番号に対応し、A番号は条件要素同士に対応してい
る0列の長さは情報処理単位(ワード)となっており、
最終ビットは、そのルールが使用済か否かを示すステー
タスビットである。したがって、1つのルールが持ち得
る最大の条件要素数は(ワード−1)個である。ビット
“O”は成立、ビット“1”は不成立を、a味する0例
えば第1行第1列のビットは“1″として示されている
が、これは、ルールlの条件Wallが不成立であるこ
と、すなわちこの条件要素とマツチするファクト要素が
存在しないことを示している。
次に以上のように構成した実施例の動作について、第7
図〜第10図を参照して説明する。
第8図はメインフローで、ルールベースのロードと状態
フラグセットの初期化(71) 、ファクトヘースのロ
ードと状態フラグセットへのi’i キ込み(72)と
を実行することで、推論実行のための準備が完−rする
。認知行動サイクルを栄位として1ft論を実行しく7
3)、成ひするルールがなくなったところで推論が終了
する(74)。
を二足の初期化(71)では、第7図の61と、第9図
の81に示すように、状態フラグセットのすへてのビッ
トをゼロにし、しかる後、ルールベースを読み込み、条
件要素数だけ上位ビットから1にする(82)、つまり
、条件W、tEはいずれもイぐ敗ケであると仮定するわ
けである。この結果を第7 +4の62に示す。
そして、ファクトベースを読み込む(72)際に、ファ
クトベースのポインタを使って、ファクト・\−スの個
々の要素と各ルールの個々の条件要2しを閃合し、その
結果を状態フラグセットに古き込む、この実施例では、
状態フラグセットは第714の番号63に示すようにな
る(第5図がファクトベースの初期状態であるため)。
続けて行なわれる推論のフローチャートは第1O1−4
に小される。91〜95までが、競合ルール(コンフリ
クトセント)の作成処理であり、ルール香t)を1番I
Iに初期化(91)した少、現在番号のルールの小成ケ
、成ケを閂別するため、状5n+フラグセツトを参照し
、そのビ;・ドパターンがオールOの場合にのみ競合ル
ールに0録しく92.93)、そうでなければ、現在の
ルール香りをインクリメントしく94)、全てのルール
の小成ケ、成ケのY(別が完了するまでくり返す(95
)、1−記の92のところは、大部分の計′Q機の機械
語にある減算命令を用いることで機械語で実現すること
ができる。
コンフリクトセットが完成したら、96において、ある
−ャ価方法(例えば条件数が一番多いなどを尺度とする
MEA(1段−目的解析))に従って1つのルールを選
択し、その行動部を実行する(97)、このとき、実行
したルー1しが同一状態で2度実行しないように、状態
フラグセットにおけるこのルールについてのステータス
ビー/ )を“l“にする0本例では、ルール3が成立
するので(第2図の63)、ルール3の行動部MODI
FY(02、AI、V2)が実行され、コノ結果、第5
図のファクトベース中、(02、A1、v4)の?Jが
(02、Al、V2)に変更される。
したがって、本例では、ファクトベースに変更があった
ことが確認され(98)、変更に係るファクト歯末(0
2、A1.V2)のポインタ部にあるルールlのfi素
2(1,2)とルール3の要J:l(3,7)のそれぞ
れに対し、変更ファクトfi、G(o2、A I 、 
V 2) ヲllj+、合すセル、ココテは(3、l)
は小成ケだが、(1,2)は成立する。この(1,2)
の条件成ケのビー2ト″O”と(3,1)の条件不成立
のビット“l”を状態フラグセットに占き込む(99)
、この結果、フラグセットは第7図の64に示すように
なる。
以りで推論の1サイクルが終わる。このサイクルを繰り
返すと、この実施例では状態フラグセー。
トは第7図の65.66と変化し、成立するルールがな
くなり推論は終了する。
[発1!1の効果] 以L 、−i述したように1本発明ではプロダクション
ルールの前提部の照合結果をビットパターンで表現して
いるのでプロダクションルールのそれぞれのルールの成
立、不成立を非常に少ない演算回数(ビットパターン長
を情報処理中位に選んだときは、ルールの数)で求める
ことができ、プロダクションシステムの高速化のさまた
げとなっていたコンフリクトセット作成までの処理をス
ピードアップでさ、全体として推論の高速化にJt献す
る。
【図面の簡単な説明】
第1図はこの発明の機渣ブロック図、第2図はこの発明
の一実施例のハードウェア構成図、第3図はルールベー
スの各ルールと状態フラグセットとの対応を話す図、第
4図はルールの記述例、第5図はファクトベースの記述
例、第6図は状態フラグセットの構成図、第7図は実施
例の動作に伴う状態フラグセットの遷移図、第8図は実
施例の動作のメインフローチャート、第9図は第8図の
71のフローチャート、第10図は第8図の推論73の
フローチャートである。 2 ・・・・・・CPtJ  、  31 ・・・・・
・ンレールベー ス、  32 ・・・・・・状態フラ
グセット、51・・・・・・ファクトベース。 特許出卯人 カシオ計算機株式会社 ・ワ″−1−・ 二に一二二シ 第 1 図 第2図 第3閃 HEN L−L2 T)IEN (MODIFY (02At V+)  −−−一〇L
−13 T)IEN (M)DIFY  (02Al v2)−−−■第4図 第5図 第6図 ■ 廿 ■ 第7図 第8図

Claims (1)

  1. 【特許請求の範囲】 ルールの集まりを記憶するルールベースと、ファクトの
    集まりを記憶するファクトベースと、ルールをファクト
    に適用して推論を行う推論機構とを備えるプロダクショ
    ンシステムの高速推論方式において、 上記ルールベースの各ルールの前提部の照合結果をルー
    ル別にビットパターンで記憶する状態フラグセットと、 上記ファクトベースが変更された場合に、変更に係るフ
    ァクトを上記ルールベースの前提部の条件要素と照合し
    、照合結果を示すビットを上記状態フラグセットに書込
    む照合更新手段と、 上記照合更新手段により更新された状態フラグセットを
    用いてルールの成立するコンフリクトセを有することを
    特徴とする高速推論方式。
JP61185226A 1986-08-08 1986-08-08 高速推論方式 Pending JPS6341926A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61185226A JPS6341926A (ja) 1986-08-08 1986-08-08 高速推論方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61185226A JPS6341926A (ja) 1986-08-08 1986-08-08 高速推論方式

Publications (1)

Publication Number Publication Date
JPS6341926A true JPS6341926A (ja) 1988-02-23

Family

ID=16167081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61185226A Pending JPS6341926A (ja) 1986-08-08 1986-08-08 高速推論方式

Country Status (1)

Country Link
JP (1) JPS6341926A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6365533A (ja) * 1986-09-05 1988-03-24 Toyo Commun Equip Co Ltd プロダクシヨン・システムに於ける高速条件評価支援機構
JPH01229329A (ja) * 1988-03-09 1989-09-13 Hitachi Ltd コンパイル型知識処理ツールの高速処理方式
JPH04504627A (ja) * 1989-02-03 1992-08-13 バン・アンド・オルフセン・ホールディング・アクティーゼ・ルスカブ 信号処理装置および方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6365533A (ja) * 1986-09-05 1988-03-24 Toyo Commun Equip Co Ltd プロダクシヨン・システムに於ける高速条件評価支援機構
JPH01229329A (ja) * 1988-03-09 1989-09-13 Hitachi Ltd コンパイル型知識処理ツールの高速処理方式
JPH04504627A (ja) * 1989-02-03 1992-08-13 バン・アンド・オルフセン・ホールディング・アクティーゼ・ルスカブ 信号処理装置および方法

Similar Documents

Publication Publication Date Title
Gelernter et al. Empirical explorations of the geometry theorem machine
Quinlan Semi-autonomous acquisition of pattern-based knowledge
KR19990077006A (ko) 유전자 프로그래밍방법 및 시스템
US5263127A (en) Method for fast rule execution of expert systems
Noyes Artificial intelligence with Common Lisp: fundamentals of symbolic and numeric processing
JPS6341926A (ja) 高速推論方式
US5109523A (en) Method for determining whether data signals of a first set are related to data signal of a second set
Heineman Learning Algorithms
US4882691A (en) Caching argument values in pattern-matching networks
Walsh et al. Automatic Conversion of Programs from Serial to Parallel using Genetic Programming-The Paragen System.
US4989162A (en) Method of using an accuracy valve in a conflict resolution of a forward inference
CN120524921A (zh) 基于大模型的计算树逻辑规范表达式生成方法和装置
Brütsch et al. Solving Infinite Games in the Baire Space
Burdescu et al. High level petri nets and rule based systems for discrete event system modelling
Dewar et al. The elements of SETL style.
Zinoviev Pythonic Programming: Tips for Becoming an Idiomatic Python Programmer
Stuckey et al. Semantics for using stochastic constraint solvers in constraint logic programming
Erlebach et al. Efficient learning of One-Variable Patttern Languages From Positive Data
JP2541944B2 (ja) 並び換え部分文字列結合処理方式
JP3307461B2 (ja) 推論装置
Choi Applying learning by examples for digital design automation
KR910009099B1 (ko) 컴퓨터 한의진단 처리의 속도향상 방식
JPH02195435A (ja) 推論処理装置
JPS63292337A (ja) 論理シミュレ−ションシステム
JPH02178840A (ja) 論理型言語の実行処理装置および定理証明実行装置