JPH05341999A - 実時間で状態を表わす網状判断回路網 - Google Patents

実時間で状態を表わす網状判断回路網

Info

Publication number
JPH05341999A
JPH05341999A JP3132432A JP13243291A JPH05341999A JP H05341999 A JPH05341999 A JP H05341999A JP 3132432 A JP3132432 A JP 3132432A JP 13243291 A JP13243291 A JP 13243291A JP H05341999 A JPH05341999 A JP H05341999A
Authority
JP
Japan
Prior art keywords
token
node
data
memory
nodes
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
JP3132432A
Other languages
English (en)
Inventor
Kamesh Ramakrishna
ラマクリシュナ カメシュ
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH05341999A publication Critical patent/JPH05341999A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • G06N5/047Pattern matching networks; Rete networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【目的】 エキスパートシステムの網状判断回路網(R
ETEネット)をデータ内の臨界的変化のみに応答可能
ならしめ、それによってRETEネット内のデータの不
要な伝播を阻止し、規則が不要に点弧されるのを阻止す
る機構を提供する。 【構成】 RETEネット内の複数のノードの少なくと
も1つ(@T試験ノードまたは@F試験ノード)がメモ
リを有し、このメモリは新値部分と古値部分に分けられ
ている。この(これらの)ノードはデータ要素を表わす
トークンを受けるとそれが臨界データ値を表わしている
か否かを決定する。もし臨界状態を表わしていれば古値
部分に記憶されている(もしあれば)このトークンの先
行値と比較してこれが最初の臨界値への変化か否かを決
定し、否の場合にはトークンを後段に送らない。 【効果】 このように比較プロセスを選択的として臨界
状態への変化のみに応答させるようにしたため、新トー
クンを受ける度に遂行される比較の数が減少し、システ
ムの総合性能が改善される。

Description

【発明の詳細な説明】
【産業上の利用分野】本発明は規則に基づいてプログラ
ムされたコンピュータシステムに関し、具体的には、臨
界的なデータ変化のみに応答することによって実時間で
状態を表わすのに適する細網判断回路網を使用する知識
ベースコンピュータシステムに関する。
【発明の背景】知識ベースもしくは人工知能(以下に
“AI”と略記)コンピュータシステムは、あたかも人
間が遂行するように知的と考えられる技法でコンピュー
タ技術を使用して諸問題を解決することを探索してい
る。詳述すれば、AIコンピュータシステムは一般化さ
れた知識表示に焦点を合わせ、特殊化されたプログラム
に関する技術を探索している。知識表示は、それを解決
できるように問題を公式化することを含む。探索技術
は、知識ベース、即ち知識が記憶されているメモリの領
域を効率的に移動して計算時間及びメモリ要求を最小に
する方法を含む。規則ベースコンピュータシステムを用
いて作られた多くの応用システムは、エキスパートシス
テムとして知られている。エキスパートシステムは、特
定領域における専門家と同じ熟練レベルを呈するように
設計された特殊化されたコンピュータプログラムであ
る。エキスパートシステムと普通のコンピュータシステ
ムとでは、エキスパートシステムが数値データ及び記号
データで動作するのに対して、普通のプログラムは数に
焦点を合わせる点が異なっている。エキスパートシステ
ムはそれらが動作する領域に関する明示知識を含むが、
普通のコンピュータシステムではこれらの知識はプログ
ラムのアルゴリズム内に暗示される。エキスパートシス
テムは不確実な、もしくは不正確な関係、即ちヒューリ
スティックスを含み、これらによってシステムは通常は
正しい推理を行うことができる。エキスパートシステム
は明示的に宣言された事実及び関係を含むので、非プロ
グラマがシステム内の知識コードを読み、理解すること
ができる。このように、エキスパートシステムは、普通
のコンピュータがデータ処理への演算の応用を自動化す
るのと同様に、知識の応用を自動化する。規則ベースエ
キスパートシステムの成分は、データ記憶装置(即ちデ
ータ)、一組の生産規則(即ちプログラム)、及び推論
エンジン(即ち実行装置)である。データ記憶装置は、
問題に関する事実を表わす記号の大域データベースとし
て働らく。一組の生産規則はプログラムを構成する。こ
れらの規則は生産メモリまたは規則メモリ内に記憶させ
ることができる。推論エンジンは規則を実行するのに利
用される。推論エンジンは、所与のデータメモリ形態に
どの規則が関連しているかを決定し、実行のために1ま
たはそれ以上を選択する。一組の生産規則からなる各規
則は、規則が適切であるためのデータ形態を記述する条
件部分(一般に“左側”と呼ばれる)と、データ形態を
変化させるための命令を与える動作部分(一般に“右
側”と呼ばれる)とを有することができる。これらの規
則は、エキスパートシステムへ提示されるデータのパタ
ーンと、その結果としてシステムが遂行すべき動作との
間の経験に基づく結合を表わす条件式である。OPS5
生産システム言語の規則構造を使用した規則の例を以下
に示す。OPS5の完全な説明はブラウンストンらの
“OPS5によるエキスパートシステムのプログラミン
グ”(1985年、アディソン・ウエスリー・パブリッ
シング社)を参照されたい。 この規則の左側は2つのデータ構造によって表わされて
いる。第1のデータ構造“patient−data”
(患者データ)は変数“$A”,“&B”及び“$C”
によってそれぞれ表わされる属性“AGE”(年令)、
“HEIGHT”(身長)、及び“NAME”(名前)
を有している。これらの変数は指定患者の属性と呼ばれ
る。第2のデータ構造“monitor−data”
(モニタデータ)は変数“$N”及び“$C”によって
それぞれ表わされる属性“NAME”(名前)及び“P
ULSE”(脈搏)を有し、これらも第1のデータ構造
で呼んだように、同じ患者の属性と呼ばれる。上記規則
の左側は、名前属性が患者データ及びモニタデータのデ
ータ構造内で同一値を有し、患者の身長が患者の年令よ
り大きく、且つ患者の脈搏が患者の身長より大きい場合
に満足される。もしこの規則の左側が満足されたことが
決定されれば、規則の右側が遂行可能となり、“患者”
$N“が臨界状態にある”がプリンタまたはビデオ表示
端末へ書き込まれる。システムへ新しいデータ要素が提
示される度毎に全ての規則の左側の各条件を試験または
再試験するのを避けるために、ある規則ベースエキスパ
ートシステムは規則の左側を“網状”回路網またはRE
TEネットのような“判断回路網”として構成する。R
ETEネットは、その付属する推論エンジンと共に、爾
後のサイクルの前に遂行されていた、または爾後のサイ
クルに遂行されるであろう試験の繰り返しを最小にす
る。RETEネットは、可能な場合には、全ての規則が
試験の結果を共有する。RETEネットは、新しいデー
タ要素に応答して変化し得る結果を有する条件を試験す
るだけによって、どの規則が適用可能であるかを決定す
る。また、単一のプロセッサ形態ではRETEネット
は、データベースが変化する度に1回だけ1またはそれ
以上の規則に共通の条件を試験する。従って、単一プロ
セッサ形態では、新しいデータは古いデータに関する試
験の成功結果に対してのみ試験される。RETEネット
は、全ての規則をノードの回路網として配列するデータ
構造である。規則の左側に発生するパターンは周知の技
術を使用してノード(必須条件に関して作業メモリ要素
を試験する)の回路網にコンパイルされる。これを遂行
するために、諸規則の条件のそれぞれは、これらの諸条
件が必要とする異なる属性に対応する試験のシーケンス
に翻訳される。規則の左側内の単一のメモリ要素に関係
する条件の1つ、例えばA<3の試験は“試験ノード”
と呼ばれる1入力ノードによって表わされる。ある条
件、例えば(A<B)AND(B<C)を表わす試験ノ
ードの連鎖によって表わされる多重データ要素に関係す
る試験は“結合ノード”と呼ぶ2入力ノードによって規
則の先行部分のための回路網構造に接続される。各結合
ノードは規則内の論理結合子に対応する。結合ノード
は、結合ノードの各入力に対応付けられたメモリ内のノ
ードが受けた一組の作業メモリ要素を記録するリストを
維持している。結合ノードは各ノードに1つずつ1対の
メモリを含み、結合ノードはこれらのメモリからトーク
ンの形状の作業メモリ要素を受ける。これらのメモリは
“ベータメモリ”及び“アルファメモリ”と呼ばれ、ベ
ータメモリはその結合ノードによって表わされる論理結
合子の左の規則内のある試験条件を表わす試験ノードに
接続されたノードの入力に対応付けられたメモリであ
り、アルファメモリはその結合ノードによって表わされ
る論理結合子の右の規則内のある試験条件を表わす試験
ノードに接続されたノードの入力に対応付けられたメモ
リである。結合ノードは、さらに規則の条件を表わす例
えば論理ANDのような試験も含むことができる。結合
ノードの次には他の結合ノード、または端末ノードと呼
ぶノードが存在してよい。端末ノードは、端末ノードの
前に結合されている諸条件を表わす試験のシーケンスに
関する特定の規則を表わす。典型的な規則ベースエキス
パートシステムは複数の規則を含むであろう。このよう
なエキスパートシステム内のRETEネットは、規則内
の各条件毎に1つ宛の複数の試験ノードを含むことにな
るから、多くの規則の中に同じ条件が出現すればRET
Eネットはその条件を表わすのに1つの試験ノードだけ
を要求する。また、同一シリーズの先行結合ノード及び
試験条件が多くの規則に使用されていれば、結合ノード
はこれらの規則に共有させることができる。作業メモリ
要素が付加もしくは削除される時、それらは作業メモリ
要素または作業メモリ要素のシーケンスに似たトークン
の形状でRETEネットを伝わって行く。トークンには
要素または要素シーケンスが付加されるのか、または削
除されるのかを指示する+または−のタグが付けられ
る。作業メモリ要素を伝える第1段階は、トークンを各
試験ノードに渡すことであり、各ノードはその試験を行
う。もし試験が成功であれば、ノードは作業メモリ要素
を表わす基本トークンを後任ノードへ送る。もし試験が
成功でなければ整合は失敗であり、トークンは伝播され
ず、それ以上の処理は行われない。このトークンの引渡
し及び試験シーケンスはトークンが端末ノードに達して
規則の左側が満足されたこと、従って規則を点弧する、
即ち実行する準備が整ったことを指示するまで続けられ
る。規則が点弧されると規則の右側が実行され、例えば
“患者”$N“が臨界的状態にある”がプリンタまたは
ビデオ表示端末に書き込まれる。トークンが対応端末ノ
ード内に記憶されてしまうと、規則は点弧される準備が
整う。複数の規則が存在するから、エキスパートシステ
ムは規則を点弧する順序を選択するある手順を踏まなけ
ればならない。このプロセスは競合解決と呼ばれる。規
則が点弧されるとRETEネットの状態に変化がもたら
されるので、競合解決は規則点弧順序を選択しなければ
ならない。これらの変化は他の規則を満足させたり、満
足された規則を偽ならしめたりする。エキスパートシス
テムは競合解決を使用して点弧準備の整った全ての規則
を点弧し、RETEネットを再評価して規則点弧の結果
を確認するか、または競合解決は点弧の順序をエキスパ
ートシステムへ渡される情報に依存するように配列でき
る。伝統的に、RETEネットは実時間データを処理す
るシステムに適用されなかった。実時間システムは、指
定時間内の臨界データの変化に対する応答、即ちハード
リアルタイムシステムを保証するか、または単に高速応
答を保証するの何れかである。もしデータに変化があれ
ば、実時間システムはある時間内にデータを処理するプ
ロセスを呼び出す、または始動させることによってその
変化に応答しなければならない。実時間システムはデー
タを迅速に試験してその変化が“臨界的”であるか否か
を決定し、単にそのケースの複雑な処理を続行すること
が多い。実時間データに伴ってRETEネットが拘わる
1つの問題は、RETEネットの入力ノードがデータを
受ける時点と端末ノードの点弧の準備が整う時点との間
に経過する時間量が予測困難なことである。またRET
Eネットはデータの“臨界的”変化だけではなく、デー
タ内の何等かの変化にも応答する。上述の問題は、結合
ノード内で遂行される試験が原因である。受けたトーク
ンをその結合ノードのためのメモリ内に記憶されている
トークンと整合もしくは比較して何等かの整合があるか
否かを確かめなければならないので、この試験にどの位
の長さがかかるのかは予測できない。結合ノードメモリ
内のエントリの数は未知である。従って記憶されている
全てのトークンの試験を遂行するのに必要な時間量も未
知である。また結合ノードは臨界的なデータ変化のみに
応答するように設計されてはいない。結合ノードは、受
けたトークンが非臨界的状態から臨界的状態への変化を
表わしているか否かには無関係に、整合したトークン対
を見出せばトークンを生成する。以上に鑑みて、RET
Eネットの構造は、RETEネットを使用するエキスパ
ートシステムを実時間環境における臨界的変化に応答可
能ならしめるように変更しなければならない。さらに、
RETEネットにおいて遂行される試験の数は、性能を
改善するために減少させなければならない。即ち、RE
TEネットは非臨界的データ変化と臨界的データ変化と
を弁別して臨界的データ変化のみに応答しなければなら
ない。
【発明の概要】従って、本発明はRETEネットを変更
してRETEネットをデータ内の臨界的変化にのみに応
答可能ならしめ、それによってRETEネット内をデー
タが不要に伝播するのを阻止し、また規則が不要に点弧
されるのを阻止する機構を提供する。この機構は計算及
びデータ要素間の相互作用を効率的に最小ならしめる。
本発明は、その広い形では、諸条件からなる式を評価す
る方法及び回路網に係り、式の評価は回路網へ提示され
る複数のデータ要素の値に基づいて行われる。回路網
は、式の諸条件の1つをそれぞれが表わす複数のノード
と、これら複数のノードに接続されているプロセッサと
からなる。複数のノードは式内の諸条件の関係を表わす
ように接続され、プロセッサは回路網へ複数のデータ要
素の値を渡し、また複数のデータ要素の値の各値に関し
て式を評価する。複数のノードの少なくとも1つは2つ
の試験からなるその条件が満足されたことに応答するよ
うになっている。2つの試験の第1の試験は、複数のデ
ータ要素のある値が複数のノードの1つによって表わさ
れる式の条件を満足することを要求し、第2の試験は、
これらのデータ要素の先行の1つの値が複数のノードの
その少なくとも1つによって表わされる式の条件を満足
しなかったことを要求する。本発明は、RETEネット
と、あるデータが活動状態にある時間を制約する@T及
び@F文節を効果的且つ効率的に表わすその付属機構と
を変更する。@T及び@F文節はそれぞれ、ある条件が
“真になる”または“偽になる”時を指定する。これら
の文節は、データ内の臨界的変化のみに応答することに
よって、実時間計算を可能にするための生産システム言
語の必要な一部を提供する。本発明の@T文節を付加し
たOSP5生産システム言語の規則構造を使用する規則
の一例を以下に示す。 この規則の左側は2つのデータ構造によって表わされて
いる。“coolant−data”(冷却材データ)
というラベルが付けられた第1のデータ構造は、変数
“$T”によって表わされる属性“temperatu
re”(温度)を有している。第2のデータ構造“St
eam−data”(蒸気データ)は、変数“$P”及
び“$R”によってそれぞれ表わされる属性“pres
sure”(圧力)及び“rate−of−flow”
(流量)を有している。蒸気データのデータ構造の第3
の属性は条件“@T(>$T+50)”(但し$Tは冷
却材の温度を表わす)によって表わされる“tempe
rature”(温度)である。即ち、蒸気圧が60よ
り大きくなり、且つ蒸気流量が150より小さくなり、
且つ蒸気温度が冷却材温度プラス50“より大きくな
る”と、規則の左側が満足される。蒸気温度が冷却材温
度プラス50“より大きくなる”ことは2つの試験を行
うことによって決定される。第1の試験は、蒸気温度に
関する値が冷却材温度プラス50より大きいか否かを決
定する。もし第1の試験が満足されれば、第2の試験は
最後に入手した蒸気温度の値も第1の試験を満足してい
たか否かを決定する。もし蒸気温度に関する最終値が第
1の試験を満足していなければ、規則の右側が実行され
る。規則の右側が実行されると、プリンタまたはビデオ
表示端末に“原子力発電所メルトダウン切迫“なるメッ
セージが書き込まれる。@T及び@F文節は試験ノード
によって表わされる。伝統的な1入力試験ノードとは異
なり、@Tノード及び@Fノードは付属メモリを有す
る。このメモリは新値部分と古値部分とに細分されてい
る。新値部分は受けたトークンを記憶する場所である。
古値部分は、記憶したトークンに対応する削除トークン
を受けた時に、新値部分内に記憶しているトークンを移
動させる場所である。さらに、@Tノード及び@Fノー
ドの挙動は、従来の試験ノードの挙動とは異なる。付加
トークン(即ちトークンが印加される1つの、または複
数のノード内のトークンのリストを増補するトークン)
が@Tノードまたは@Fノードに到着すると、それはあ
る動的データ項目に関する最初のトークンであるか、も
しくはメモリの古値部分内に記憶されている現存データ
値を変化させるかの何れかである。もしこのトークンを
最初に受けたのであれば、それは初期化事象と見做され
る。そのトークンはメモリの新値部分に付加されるが、
後任ノードには伝えられない。そのノードに組合わされ
た条件が計算され、付加トークンと共にメモリの新値部
分に記憶される。もし、削除トークン(即ちあるトーク
ン及び後任ノードのメモリからトークンを控除するトー
クン)が@Tノードまたは@Fノードに到着すれば、そ
れは常に先に付加されたトークンに関するものである。
この削除は、付加トークンが直ぐ後続することを指示す
る“変更”動作の一部でなければならない。メモリの新
値部分に記憶されている対応付加トークンに“削除済”
の印が付けられ、メモリの古値部分へ移動される。削除
トークンはそれ以上には伝わらない。次の付加トークン
が@Tまたは@Fノードに到着すると、その関連状態が
計算される。次でそのトークンはその関連状態と共にメ
モリの新値部分に記憶される。もし受けたトークンの状
態がそのノードの条件を満足すれば、次にメモリの古値
部分に記憶されている何れかの対応トークンの状態と比
較され、臨界的状態への変化が発生したか否かが決定さ
れる。もしこのような変化が、例えば@Tノードにおい
て発生すれば、古値部分に記憶されているトークンの状
態は偽だったのであり、受けたトークンの状態が真とな
って付加トークンは後任ノードへ伝えられる。以下に添
付図面を参照して本発明の実施例を説明するが、この説
明から本発明がより一層詳しく理解されよう。
【実施例】図1にエキスパートシステム10を示す。エ
キスパートシステム10は推論エンジン12、データベ
ースメモリ14、実時間入力信号42及びユーザインタ
フェース18から成る。推論エンジン12は、データベ
ース14、実時間入力信号42及びユーザインタフェー
ス18に結合されている。エキスパートシステムプログ
ラム20及びエキスパートシステムコンパイラ22もエ
キスパートシステム10に結合されている。エキスパー
トシステムプログラム20は一組のデータ定義28と、
一組の規則定義30とからなる。データ定義28は、プ
ログラム20がその動作中に使用するデータのカテゴリ
を識別する。規則定義30によって記述される一組の規
則は一組のデータ定義28に結合され、規則がデータを
操作できるようになっている。データ定義28及び規則
定義30はコンパイラ22によってコンパイルされ、網
状ネット即ちRETEネット32として知られる判断ネ
ットデータ構造として推論エンジン12内に記憶され
る。エキスパートシステムプログラム20は、該プログ
ラム20の実行中に要求された時に、遠隔データベース
へのアクセスの如きタスクを遂行するために、他のプロ
グラムへのリンクを含んでいてもよい。推論エンジン1
2は、メモリ38、作業メモリ34及びプロセッサ36
からなる。メモリ38及び作業メモリ34は相互に、及
びプロセッサ36に結合されている。コンパイラ22に
よって作成されたRETEネット32はメモリ38内に
記憶される。作業メモリ34は、プロセッサ36によっ
てRETEネット32へ入力される、及びRETEネッ
ト32から出力される複数のデータ要素40を含む。プ
ロセッサ36は、ユーザインタフェース18、実時間入
力信号42及びデータベースメモリ14に結合されてい
る。プロセッサ36は、データ定義28によって指定さ
れる初期計算を遂行することによって、または規則の右
側を実行することによって、データベースメモリ14、
ユーザインタフェース18、または実時間入力信号42
からデータを入手する。このデータは、プロセッサ36
によって、一組のデータ要素40として作業メモリ34
内に記憶される。データ要素40は1またはそれ以上の
データ定義及び各定義に関する値を識別する。本実施例
で説明する推論エンジン12は、多くの応用を受け入れ
るようになっている“汎用”プロセッサをプロセッサ3
6に使用している。推論エンジン12は、プロセッサ3
6内にメモリ38を組込んでプロセッサ36を汎用プロ
セッサからエキスパートシステム10の特定機能を遂行
するプロセッサに変えるように構成することができる。
メモリ38内に常駐するRETEネット32は、データ
の臨界的変化のみに応答するように本発明の試験ノード
を含む複数の試験ノードと、AND,NOT及びEQU
ALのような従来のRETEネットにおいて使用されて
いる結合ノードとからなる。RETEネット32は、試
験機能を指すポインタかまたはコンピュータプログラム
の実際の区分の何れかであるノードを有するデータ構造
と見ることができる。もしRETEネット32をデータ
構造として見れば、試験ノードはある試験を指すポイン
タ、及びその試験の結果得られたトークン(個々のデー
タ要素40を表わす)が送られるノードのリストを指す
ポインタを有する。これらの試験はケース毎に異なり得
る。動作中、新しいデータ要素40が作業メモリ内に記
憶されると、プロセッサ36はそれらに関する付加トー
クンを作成し、これらのトークンを一時に1つRETE
ネット32へ印加する。これらのトークンはRETEネ
ット32により“突き合わせ”として知られるプロセス
によって処理され、作業メモリ34内に記憶されている
データに1またはそれ以上の規則を適用可能か否かが決
定される。あるトークンがAND,NOTまたはEQU
AL論理結合子を実現するノードのような従来の結合ノ
ードに到着すると、そのトークンは、その結合ノードに
よって表わされる論理結合子の左側または右側(即ちベ
ータメモリまたはアルファメモリ)の規則内の試験条件
を表わす試験ノードに接続されている入力に付属するメ
モリ内に記憶される。このトークンは、結合ノードの他
の側のメモリ内に現在記憶されているか、または近々メ
モリの他の側に到達するであろう別のトークンとの突き
合わせ即ち整合のために記憶されるのである。もしトー
クンがある結合ノードのベータ側へ入れば、その結合ノ
ードのアルファー側内の、またはアルファ側へ入るトー
クンと比較される。もしトークンがある結合ノードのア
ルファ側へ入れば、そのノードのベータ側内の、または
ベース側へ入るトークンと比較される。もし整合が見出
されると、そのノードの試験を満足した整合対の先行ト
ークンを表わす新しいトークン(即ち複合トークン)が
作成される。この複合トークンは、RETEネット32
内の後任ノードへ送られる。全ての整合が完了すると、
1またはそれ以上のトークンが端末ノードに伝えられ
る。端末ノード内の各トークンは、端末ノードによって
示される規則の例示を表わしている。これらのトークン
は規則を満足する作業メモリ内のデータ要素40の組合
せを表わす。推論エンジン12は、競合解決策に従っ
て、成功した規則を点弧または実行する。データ要素の
1つの組合せに対して多くの規則が適用できるか、また
は単一の規則が適用できれば、プロセッサ36は競合解
決を遂行して1またはそれ以上の規則“事例”を選択
し、これらの規則事例を点弧する。整合から競合解決、
規則の点弧までのプロセス全体は“認識・動作サイク
ル”と呼ばれる。命令取出し及び実行サイクルが伝統的
なコンピュータのためのものであるように、この認識・
動作サイクルはエキスパートシステムのためのものであ
る。サイクルの認識部分では、システムは整合プロセス
を遂行してどの規則が真であるかを認識する。この段階
は、実行すべき次の命令をコンピュータが取出す命令取
出しに似ている。動作プロセスではシステムは、点弧す
べき真の規則はどれかを決定し、それらを点弧する。こ
れは伝統的なコンピュータが命令を取出した後に取出し
た命令を実行するのに似ている。命令取出し及び実行プ
ロセスが間断なく繰り返されるのと全く同様に、認識・
動作プロセスも絶えず繰り返される。規則事例の点弧は
幾つかの結果をもたらし得る。例えば、それによって新
しいデータが作成されるかも知れないし、またはプロセ
ッサ36に現存データに関する新しい値を計算させた
り、データベース14もしくはユーザインタフェース1
8の何れかからより多くのデータを入手させたりするか
も知れない。規則点弧によって作成、規則点弧に応答し
て収集、または例えば実時間入力信号42もしくはユー
ザインタフェース18によってRETEネット32の動
作とは無関係に収集のように、どのようにしてデータを
入手してもプロセッサ36は新しく入手したデータを作
業メモリ34内にデータ要素40として記憶し、これら
の新しいデータ要素に関する付加トークンを作成し、別
の推論サイクル中にこれらの新しい付加トークンをRE
TEネット32に印加して点弧させる規則事例を見出
す。もし新たに入手したデータが、エキスパートシステ
ム10の動作中に既に付加トークンを作成済のあるデー
タ値に変化を生じていることを示せば、プロセッサ36
は古いデータ値を表わす削除トークンをRETEネット
32に印加し、次で新しいデータ値に関する付加トーク
ンを印加する。このプロセスは、適用できる規則が識別
されなくなるまで、または新しいデータ要素40が独立
的にもしくは規則の点弧の結果として生成されなくなる
か入手されなくなるまで続けられる。RETEネットを
使用した時の効率は、ノードに試験を遂行することを要
求するような規則を有する複数のノードを複数の端末ノ
ードが共有できることである。試験の結果を共有するこ
とによって、試験の繰り返しは最小になる。本発明は、
データの臨界的変化のみに応答する@T及び@F試験ノ
ードを提供する。@Tまたは@F試験ノードがあるトー
クンを受けると、そのノードは先ずこのトークンの状態
を計算することによってこのトークンが臨界データ値を
表しているか否かを決定する。もしこのトークンが臨界
状態を示していれば、次にこのトークンの先行削除バー
ジョン(もしあれば)が@Tまたは@F試験ノードのメ
モリの古値部分に記憶されているか否かを決定する。も
しメモリの古値部分にこのトークンの先行バージョンが
記憶されていなければ、このトークンは、その関連状態
と共にメモリの新値部分に記憶される。このトークンは
臨界状態への変化を示していなので、それ以上は伝送さ
れない。もしこのトークンの先行値がメモリの古値部分
に記憶されていると決定されれば、その古値の状態が新
トークンの状態と比較され、新トークンが臨界状態への
変化を表わしているか否かが決定される。この新トーク
ンはメモリの新値部分内に記憶される。もしこのトーク
ンが臨界状態への変化を示していれば、このトークンは
後任ノードへ伝えられる。この選択的な比較プロセス
は、@Tまたは@Fノードが新トークンを受ける度に遂
行する比較の数を減少させ、それによってシステムの総
合性能を改善する。以上のように、@Tまたは@Fノー
ドは、臨界状態への変化を表わすデータの変化のみに応
答する。RETEネット内の本発明の@T及び@F節を
さらに説明するために、エキスパートシステムを使用で
きる問題の一例を示す。複数の患者の脈搏を監視し、こ
れらの患者の異なる脈搏及び他の物理的特性に従ってあ
る動作を起すことに図1のエキスパートシステム10を
使用するものとする。具体的に云えば、もし患者の脈搏
が50鼓動/分より少なく、患者が55才より高齢であ
り、且つ患者の身長(インチ)が患者の体重(ポンド)
の1/3の値より大きければ、エキスパートシステム1
0は行動を起さなくてはならない。システム10が起す
動作は静脈塩を始動させ、透析装置を停止させ、ユーザ
インタフェース18を通して看護人に緊急事態を知らせ
ることである。エキスパートシステム10が動作を起す
別の条件は、患者の脈搏が患者の年齢プラス25より多
く、患者が65才以上の高齢であり、且つ患者の身長が
患者の体重の半分より大きいというようなものであろ
う。もしこれらの条件が発生すれば、エキスパートシス
テム10は酸素タンクを始動させ、看護人に緊急を告げ
る。上記2条件は一組の規則として書くことができ、規
則定義30内に記憶させてコンパイラ22によってRE
TEネットにコンパイルすることができる。POS5生
産システム言語の伝統的なRETEネット規則構造を使
用すれば、上記条件は以下のように記述される。 規則A及びBに従ってコンパイラ22が生成する伝統的
なRETEネットはメモリ38内に記憶される。このR
ETEネットの形態を図2に示す。規則A及びBを実現
するRETEネットは開始ノード80、7つの試験ノー
ド81〜87、2つのAND結合ノード88、89、及
び2つの端末ノード91、92からなる。開始ノード8
0の出力は試験ノード81及び82の入力に接続され、
試験ノード81の出力は試験ノード83の入力に接続さ
れ、試験ノード83の出力は試験ノード85の出力に接
続され、試験ノード85の出力はAND結合ノード88
の左側入力に接続されている。試験ノード86の出力は
AND結合ノード88の右側入力に接続されている。A
ND結合ノード88の出力は端末ノード91に結合され
ている。試験ノード81の出力は試験ノード84の入力
にも接続され、試験ノード84の出力は試験ノード87
の入力に接続され、試験ノード87の出力はAND結合
ノード89の左側入力に接続されている。試験ノード8
2の出力はAND結合ノード89の右側入力に接続さ
れ、また試験ノード86の入力にも接続されている。A
ND結合ノード89の出力は端末ノード92に接続され
ている。各試験ノード81〜87は規則A及びBに記述
されている条件の1つを表わす。例えば、ノード86は
患者の脈搏を表わすデータを試験する試験ノードであ
る。もし一人の患者(例えば患者A)の脈搏が50より
少なければ、ノード86はトークンを結合ノード88の
右側へ送る。もし患者Aが55才を過ぎていれば、ノー
ド83はトークンを試験ノード85へ送る。もし患者A
の身長が患者Aの体重の1/3よりも大きければ、ノー
ド85はトークンを結合ノード88の左側へ送る。結合
ノード88はノード85及び86から渡されたトークン
を論理ANDした結果として複合トークンを生成し、端
末ノード91へ送る(両トークン共患者Aを表わしてい
るから)。この複合トークンは規則Aが満足されたこ
と、及び推論エンジン12による点弧準備が整ったこと
を示している。図2のRETEネットが、50鼓動/分
より少ない脈搏か、または患者の年齢プラス25より多
い脈搏を表わすトークンを受ける度に、他のより静的な
条件、即ち年齢及び身長対体重比が満足されていれば、
規則は推論エンジン12による点弧準備が整えられる。
以上のように、もし患者の脈搏がある臨界状態(動作を
必要とする状態)からある臨界状態へ変化(例えば42
鼓動/分から45鼓動/分へ)するか、またはある非臨
界状態(動作を必要としない状態)から臨界状態へ変化
(例えば52鼓動/分から48鼓動/分へ)すれば、あ
る規則が満足されることになる。図2に示す開始ノード
80、試験ノード81〜87、AND結合ノード88、
89及び端末ノード91、92はデータ構造によって表
わすことができる。例えば、開始ノード80のためのデ
ータ構造は、RETEネット32内の後任ノードのアド
レス、即ち試験ノード81及び82のアドレスのリスト
を指すポインタを含むであろう。試験ノード81〜87
のためのデータ構造は、その試験ノードに割当てられて
いる試験のメモリアドレスを指すポインタと、トークン
を送るべき1または複数の後任ノードのベータメモリ及
びアルファメモリのアドレスを指すポインタとを含むで
あろう。AND結合ノード88、89のためのデータ構
造は、結合ノードのベータメモリ及びアルファメモリの
アドレスを指すポインタと、ベータメモリとアルファメ
モリとを突き合わせるためにそのノードによって識別さ
れた試験の作業メモリ内の位置を指すポインタとを含む
であろう。端末ノード91、92のためのデータ構造
は、結合ノードから受けた1またはそれ以上の複合トー
クンが記憶されている作業メモリ34内のアドレスを指
すポインタを含むであろう。またこのデータ構造は、端
末ノード91及び92によって識別された規則A及びB
の動作リスト、即ち規則の右側を遂行するために実行可
能なプログラムが記憶されているメモリ38内の位置を
指すポインタも含むであろう。変化するデータ値を表わ
すトークンもデータ構造によって表わされる。基本トー
クンのためのデータ構造は、少なくとも、その基本トー
クンに対応付けられたデータ要素40が記憶されている
作業メモリ34内の位置を指すポインタと、そのトーク
ンが付加トークンであるのかまたは削除トークンである
のかを指示するフィールドとを含むであろう。複合トー
クンのためのデータ構造は、その複合トークンを形成し
たトークンのアドレスを指すポインタと、付加/削除フ
ィールドと、競合解決シーケンスその他そのトークンに
対応付けられた機能を指すポインタのための他のフィー
ルドとを含むであろう。上述の規則A及びBに記述され
ている条件は、伝統的なRETEネット機構及び本発明
の@T機構を使用して一組の規則として書くこともでき
る。これらの規則も規則定義30内に記憶され、コンパ
イラ22によってRETEネットにコンパイルされる。
OPS5生産システム言語の規則構造を用いる、@T機
構を使用する規則を以下に示す。 規則1及び2を@T文節を用いて書くことによって、条
件は動的条件(脈搏)と比較的静的な条件(患者の年齢
及び身長対体重関係)とに分離される。変数“$nam
e”は、患者データのためデータ構造を記述するパター
ンを、規則内のモニタデータのためのデータ構造を記述
するパターンにリンクする。規則1及び2に従ってコン
パイラ22が生成したRETEネットは作業メモリ38
内に記憶される。本発明によるRETEネットの形態を
図3に示す。規則1及び2を実現するRETEネットは
開始ノード100、6つの試験ノード101〜106、
2つのAND結合ノード107及び108、2つの@T
試験ノード109及び110、及び2つの端末ノード1
11及び112からなる。開始ノード100の出力は試
験ノード101、102の入力に接続されている。試験
ノード101の出力は試験ノード103の入力に接続さ
れ、試験ノード103の出力は試験ノード105の入力
に接続され、試験ノード105の出力はAND結合ノー
ド107の左側入力に接続されている。試験ノード10
2の出力は@T試験ノード109の入力に接続され、@
T試験ノード109の出力はAND結合ノード107の
右側入力に接続されている。結合ノード107の出力は
端末ノード111に接続されている。試験ノード101
の出力は試験ノード104の入力にも接続され、試験ノ
ード104の出力は試験ノード106の入力に接続さ
れ、試験ノード106の出力はAND結合ノード108
の左側入力に接続されている。試験ノード102の出力
はAND結合ノード108の右側入力にも接続されてい
る。結合ノード108の出力は@T試験ノード110の
入力に接続され、@T試験ノード110の出力は端末ノ
ード112に接続されている。図3に示すRETEネッ
トは、メモリ38内のRETEネット32として推論エ
ンジン12内に記憶される。RETEネット32への入
力はプロセッサ36及び作業メモリ34から到来する。
前述のように、複数のデータ要素40が作業メモリ34
内に記憶されている。これらのデータ要素はRETEネ
ット32によって処理さるべき記録を表わしている。こ
の例では、データ要素40は患者その他の記録を表わ
す。複数のデータ要素40のそれぞれは、RETEネッ
ト32を通してトークン内に担持される。図2と図3と
を比較すると、図2の各試験ノード81〜85及び87
において遂行される試験と類似の試験が図3の各試験ノ
ード101〜106において遂行されることが分る。図
2の2つのAND結合ノード88及び89は図3の2つ
のAND結合ノード107及び108と類似の機能を遂
行している。両RETEネットの主な差異は、図2の試
験ノード86及びAND結合ノード89の試験部分が、
図3ではそれぞれ@T試験ノード109及び110に置
換されていることである。後述するように、これらの機
能を@T試験ノード109及び110に置換することに
よって、図3のRETEネットは全てのデータ変化に応
答することなく、データの臨界的変化にのみ応答するよ
うになる。図4に本発明の@T試験ノード109及び1
10の構造を示す。例えばノード19は、新値部分11
3及び古値部分114を有するメモリを備えている。ノ
ードの試験は、ノード109が受けた各付加トークンの
状態を計算する。この状態は、そのトークンが真になっ
た脈搏(即ち50鼓動/分より少ない)を表わすか否か
を決定する。図5は、患者Aの脈搏(55鼓動/分)に
関するデータからなるデータ要素を表わすトークン+T
をノード109が受けた時のノード109の状態を示
す。遂行される第1段階は+Tの状態の計算である。
Aの脈搏は50より少ないから、トークンの状態は偽で
ある。トークン+Tは、その関連状態と共に+T
Fとしてメモリの新値部分113に記憶される。これら
のエントリは、患者データ及びモニタデータに関する規
則の共通変数(患者の名前を表わす“$name”によ
ってノード109メモリ内に索引付けされる。即ち患者
の名前は+Tを指す索引である。+T/Fは臨界状
態への変化を表わしていないので、ノード109からト
ークンは送り出されない。前述のように、ノード109
に接続されている試験102は、もしある患者の脈搏が
トークン内に存在していればそのトークンをノード10
9に送る。@Tノード109は変化が臨界的であるか否
か、即ちデータが@T文節のあるパラメタに合致するか
否かを決定する。この臨界的変化は、@T文節または@
F文節内に指定されている@Tまたは@F演算子の何れ
かを用いて決定される。エキスパートシステム10は患
者の脈搏を監視する。患者の脈搏が50鼓動/分より少
ないと臨界状態が発生する。脈搏データを含むトークン
は@Tノードに送られる。トークンの状態は@Tノード
において計算される。もし脈搏が非臨界値(50以上)
から臨界値(50以下)へ変化すれば、トークンは後任
ノードへ送られる。この例は@T構成体を実現した試験
ノードを示しているが、患者の脈搏が50鼓動/分より
少なくならなければ、@T構成体ではなく@F構成体に
よって、脈搏が変化した時全く容易にトークンが送られ
るようになる。ノード109がトークン+Tを受けた
時、@Tノード109はそのトークンを関連状態と共に
メモリの新値部分に記憶する以外は何もしなかった。た
とえ臨界値を表わすトークンをノード109が受けたと
しても、メモリの古値部分114には比較のために使用
できる古い値は記憶されていないので、さらなる試験は
遂行されない。試験ノードが送ったトークンが実際に臨
界値である場合に(但し非臨界状態から臨界状態への変
化ではない)規則の点弧をもたらす恐れがあるので、ノ
ード109がトークンを送り出すのを阻止するためにこ
の付加的な検査がノード109に設けられているのであ
る。このため@Tノード109はデータの臨界的変化に
しか応答しない。勿論、エキスパートシステム10は、
全ての@Tまたは@Fの新値部分が非臨界値を含むよう
に初期化し、それによって最初に受けたトークンに応答
可能ならしめてもよい。トークンがメモリの新値部分1
13に記憶されると、先にメモリ内に記憶されたトーク
ンと同一の条件を表わすトークンは一連の試験を通り抜
ける。トークンに関する新しい値を受けるとその状態が
計算され、以下に説明するようにメモリの古値部分11
4内に記憶されているトークンの古い値の状態と比較さ
れる。もし新しいトークンの状態が同一であれば、その
新しいトークンは記憶されこのトークンの処理は停止さ
れる。しかしもし状態が異なれば、即ち古い値が偽であ
り新しい値が真であれば、受けたトークンは後任ノード
に送られて後任ノード内に記憶されているエントリと何
等かの整合が見出されるか否かが決定される。もし整合
が見出されれば、トークンの整合対を表わす複合トーク
ンがRETEネット32の後任ノードから送り出され
る。@Tノード109をRETEネット32内で適切に
機能させるために、伝統的なRETEネットの他のノー
ドのトークン操作機能も持たせるべきである。即ち、ノ
ード109は付加トークン及び削除トークンを受入れ可
能とすべきである。従って、本発明の@T及び@Fノー
ドは削除トークンを、次で付加トークンを処理すること
によってデータ変化を遂行する。削除トークンを使用す
ると、ノード109に接続される(ノード109から送
られるトークンを使用する)ノードの型に気を付けると
いう複雑さが回避される。@T及び@Fノードは、RE
TEネット32内のそれらの上及び下の伝統的なノード
とノードとの関係を持つようになる。図6は変化するデ
ータに応答させるために削除トークンの使用を説明する
図である。患者の脈搏を監視する上例では、患者Aの脈
搏が変化するとトークン−Tがノード109に送られ
る。そこでノード109は、先に受けて+T/Fとし
て記憶されているトークンの状態を示している患者Aの
(先に受けた)付加トークンを識別してそれを削除トー
クンとし、メモリの古値部分114内に記憶させる。図
7は患者Aに関する付加トークンを削除トークン後に受
けた場合のノード109の状態を示す。患者Aの脈搏に
関するデータ(ここでは45)からなるデータ要素を表
わす新しいトークン+Tを受けると、ノード109は
+Tに関する状態を計算する。この状態が真であるの
で、先行の削除されたトークンがメモリの古値部分11
4内に存在しているか否かを決定するための検査が行わ
れる。患者Aの先行の削除されたノードが存在している
から、そのトークンの古い値の状態が受けたトークンの
状態と比較され、状態に変化があったか否かが決定され
る。先行の削除されたトークンは破棄される。+T
真であり、また記憶されているトークンの状態が偽であ
る即ち+Tが“真になった”脈搏を表わしているの
で、+Tが臨界状態を表わしていることが決定され
る。従って受けたトークンは後任ノードへ送られて後任
ノード内に記憶されているトークンと比較される。記憶
しているトークンと+Tとの間に整合が見出されれ
ば、整合したトークン対を表わす新しい複合トークンが
送り出される。図8乃至図14に、メモリ38内に記憶
されるRETEネット32の構造を示す。以下の例では
データ要素1を表わすトークンはTであり、データ要
素2を表わすトークンはTであり、等々である。デー
タ要素は、患者の名前、年令、体重、身長及び脈搏のよ
うな情報からなる。図8乃至図14に示すRETEネッ
トの構造は、図3に示すRETEネット32と同一であ
る。図8はデータ要素1がネット32を通して処理され
た後のRETEネット32の状態を示す。データ要素
(+T)はジョンという名前の患者に関する患者記録
であり、次のように表わされる。 プロセッサ36は、ノードからノードへのトークンの受
渡しを管理する。前述したように、各ノードは複数のポ
インタを有するデータ構造である。プロセッサ36は先
ずトークン+Tを指すポインタをRETEネット32
の開始ノード100へ送る。次にプロセッサ36は+T
を指すポインタを試験ポインタ101及び102へ送
る。+Tを指すポインタの送り出しは、順次に、並列
に、または循環的にのように多くの方法で達成すること
ができる。+Tをノードからノードへ送る機構は、R
ETEネット32の挙動もしくは機能を制約しない。プ
ロセッサ36は、“方向付けられた非周期グラフの最初
の通過深さ”と呼ばれる周知の技術によってRETEネ
ット32を通してトークンを指すポインタの送りを実現
できる。RETEネット32は、1つのノードと別のノ
ードとを結ぶ各枝路がネットを通して一方向に下方に流
れるトークンを担持するので、方向付けられた非周期グ
ラフである。最初の通過深さとは、通過する複数のノー
ドの1つにおいて遂行される試験が満足されなくなるま
で、あるトークン(例えば+T)をRETEネット3
2を通して(例えば開始ノード100から試験ノード1
01を経て結合ノード107まで等)処理するための初
期経路をプロセッサ36が選択することを意味する。+
があるノード試験に“失敗”すると、プロセッサは
その実行経路を開始ノード100まで辿り直し、次の枝
路を下り始めさせることによってノードの通過を続行さ
せる。トークンは全てのノードを通るのではない(即ち
現トークン+Tがあるノードの試験に失敗した場合に
はその下のノードには送られない)ので、プロセッサ3
6はRETEネット32を完全に通過させる訳ではな
い。トークン+Tは患者データを表わしているので、
ノード101を通過する。次でこのトークンはノード1
03に伝えられ、ジョンは55才を超えているためにそ
の試験も通過する。トークンはノード105に送られ、
ジョンの身長が彼の体重の1/3よりも大きいか否かの
試験が行われる。これは真であるから、トークンは結合
ノード107の左入力へ送られてベータメモリ115内
に記憶され、アルファメモリ116内に記憶されている
トークンと比較される。AND結合ノード107は単純
な論理AND試験を遂行する。即ち、同じ患者に関する
2つのトークンの存在を探して、もしアルファメモリ1
16内にトークンが存在しなければ+Tはノード10
7における試験に失敗する。次でこのトークンはノード
101からノード104に渡され、患者が65才を越え
ていないためその試験に失敗する。またこのトークンは
試験ノード102における試験にも失敗する(+T
患者の記録を表わし、一方ノード102はモニタデータ
に応答するから+Tには無関係である)。図9はデー
タ要素2(+T)をRETEネット32を通して処理
した後のRETEネット32の状態を示す。データ要素
2は名前がジルという患者に関する患者記録であって次
のように表わされる。 データ要素2を表わす付加トークン+Tの処理は、異
なる集合の試験が満足されることを除けば、付加トーク
ン+Tの処理に極めて類似している。例えば、+T
は試験ノード101、103、104、105及び10
6における試験は通るが、試験ノード102における試
験には失敗する。同様にして、+TはAND結合ノー
ド108のベーたメモリ117と、AND結合ノード1
07のベータメモリ115とに記憶される。アルファメ
モリ118または116にトークンは記憶されていない
ので、AND試験は満足されず、トークンの処理はここ
で停止する。図10はデータ要素3(+T)及び4
(+T)がネット32を通過した後のRETEネット
32の状態を示す。データ要素3は患者ジョンに取付け
た脈搏計からのデータであり次のように表わされる。 データ要素4は患者ジルに取付けた脈搏計からのデータ
を表わし、以下のように表わされる。 データ要素3及び4をそれぞれ表わす付加トークン+T
及び+Tは共に開始ノード100を通り、試験ノー
ド101、102に送られる。両トークンは試験ノード
101の試験に失敗し、試験ノード102の試験を通
る。これらのトークンは@Tノード109の入力とAN
D結合ノード108の右入力とに送られる。ノード10
9はこれらのトークンの状態を計算し、脈搏が50鼓動
/分より少なくないので偽と判定する。従って+T
び+Tはそれらの関連状態と共にJohn/+T
F及びJill/+T/Fとしてノード109のメモ
リの新値部分113に記憶される。これらのエントリ
は、ノード109のメモリ内で患者データ及びモニタデ
ータの規則パターンの共通変数、即ち患者の名前を表わ
す“$name”の索引が付けられる。即ち、患者の名
前は+T及び+Tを指す索引である。状態が偽であ
るために、ノード109からそれ以上に伝送は行われな
い。+T及び+Tを受けると、ノード108は先ず
これらのトークンをアルファメモリ118に記憶する。
次でノード108は逆の側のメモリ、即ちベータメモリ
117に記憶しているトークンと受けたトークンとを論
理的にANDして同じ患者を表わすトークンとの整合の
試験を遂行する。ベータメモリ117に記憶している唯
一のトークンは患者ジルを表わす+Tである。従って
+Tとの整合は生じないが、+Tはジルの脈搏デー
タを含むので整合を生じる。ノード108は整合トーク
ン対を表わす複合トークン+T2,4を生成し、それを
@T試験ノード110へ送る。ノード110はこの複合
トークンを受けるとトークンの状態を計算して患者ジル
の脈搏が彼女の年令66プラス25より大きいか否かを
確かめる。このトークンの状態は、脈搏が80であるた
め偽である。従ってノード110はこの複合トークンを
その関連状態と共に+T2,4/Fとしてメモリの新値
部分119に記憶する。ノード110のメモリの新値部
分119へのエントリは、患者データ及びメモリデータ
の規則パターンの$name、$weight及び$a
ge変数によって索引付けられる。このトークンに対し
てはそれ以上の送りまたは処理は遂行されない。データ
要素5(+T)及びデータ要素6(+T)を処理し
た後のRETEネット32の最終状態を図11に示す。
これらのデータ要素はそれぞれ患者ジョン及びジルに取
付けられた脈搏計からのデータを表わし、以下のように
表わされる。 これらのデータ要素がRETEネット32に渡される前
に、2つの削除トークン−T及び−Tが開始ノード
100に送られ、次で試験ノード101及び102に送
られる。これらのトークンはノード102の試験を通
り、ノード109及び108へ送られる。+T/F及
び+T/Fがノード109のメモリの新値部分113
内に記憶されていることが決定される。これらのトーク
ンは削除の印が付けられ、ノード109のメモリの古値
部分114へ移動される。これらのトークンは臨界変化
を表わしていないのでノード109においてはこれらの
トークンのそれ以上の送りまたは処理は行われない。ノ
ード108はその右入力に−T及び−Tを受ける
と、そのアルファメモリ118を探索してこれらのトー
クンがそこに記憶されているか否かを決定する。アルフ
ァメモリ118内に記憶されている+T及び+T
見出すと、ノード108はこれらのトークンを削除す
る。次にノード108はベータメモリ117に記憶して
いる全てのトークンと−Tとを論理的にANDするが
整合を見出すことはない。ノード108はトークン−T
に関してこの手順を繰り返し、トークン+Tとの整
合を見出す。そこでノード108は整合トークン対を表
わす複合トークン+T2,4を生成してノード110へ
送る。ノード110はこの複合トークンを受けるとその
メモリの新値部分119を探索してその中に対応複合ト
ークンが記憶されているか否かを判定する。トークン+
2,4/Fを見出すとノード110はそのトークンに
削除の印を付け、それをメモリの古値部分120へ移動
させる。この複合トークンは臨界的変化を表わしていな
いので、ノード110においてはこの複合トークンの送
りまたは処理は行われない。開始ノード100はデータ
要素5及びデータ要素6をそれぞれ表わすトークン+T
及び+Tを試験ノード101へ送り、試験ノード1
01においてこれらのトークンはその試験に失敗する。
次で開始ノード100は+T及び+Tを試験ノード
102へ送る。これらのトークンは試験ノード102の
試験を通り、@Tノード109へ渡され、そしてAND
結合ノード108の右入力へ送られる。@Tノード10
9は+T及び+Tを受けるとこれらのトークンに関
する状態を計算する。トークン+Tの状態は真であ
り、トークン+Tの状態は偽である。次でこれらのト
ークンはノード109のメモリの新値部分113内に記
憶される。+Tの状態が真であるから、ノード109
が遂行する次の段階は患者名Johnを索引として使用
してノード109のメモリの古値部分114内に記憶さ
れてい患者ジョンに関する脈搏データを表わすトークン
を探すことである。トークン+T/Fが見つかると、
ノード109はこのトークンの状態と+Tの状態とを
比較する。メモリの古値部分114に記憶されているト
ークン、即ち+T/Fと新しいトークン+T/Fの
状態とを比較することによって、ノード109はこのト
ークンが患者ジョンの脈搏に関して非臨界状態から臨界
状態への変化を表わしていることを決定する。そこでノ
ード109はメモリの古値部分114内に見出されるト
ークンを削除し、トークン+TをAND結合ノード1
07の右入力へ送る。+Tを受けると、AND結合ノ
ード107は先ず+Tをアルファメモリ116内に記
憶する。次にノード107は論理AND動作を遂行する
ことによってトークン+Tに伴う患者名とベータメモ
リ115内に記憶している各トークンに伴う患者名とを
比較する。この動作を遂行することによって、ノード1
07はトークン+Tとトークン+Tとが整合するこ
とを決定する。次でノード107は整合対を表わす複合
トークン+T1,5を生成して端末ノード111へ送
り、患者ジョンに対しては規則1が満足されたことを示
す。これでこの規則が推論エンジン12によって点弧さ
れる状態となる。規則1の点弧によって静脈塩が始動さ
れ、透析が停止し、そして看護人に緊急を告げる。この
複合トークンは規則が点弧されるまで端末ノード111
内に留まる。規則が点弧されると、複合トークンを指す
ポインタは破棄される。付加トークン+T及び+T
がノード102からノード108の右入力に送られた時
にノード108が遂行する第1段階は+T及び+T
をアルファメモリ118内に記憶することである。次の
段階はこれらの新たに受けたトークンを個々にベータメ
モリ117内のトークンと比較して整合があるか否か、
即ち左メモリ117内に記憶されている患者名と同じ名
前が+Tまたは+Tの中にあるか否かを決定するこ
とである。その結果+T及び+Tが共に患者ジルの
情報を表わしているので整合トークン対が識別される。
従ってノード108はこの整合対を表わす複合トークン
+T2,6を生成し、@Tノード110へ送る。この複
合トークンを受けるとノード110はこのトークンの状
態を計算してそれが真であることを決定する。ノード1
10が遂行する次の段階は、このトークン+T2,6
その関連状態と共に+T2,6/Tとしてノード110
のメモリの新値部分119内に記憶することである。こ
の状態は真であるから、ノード110は同じ患者に対し
てメモリの古値部分に記憶しているトークンの状態と+
2,6の状態とを比較する。メモリの古値部分120
内に記憶しているトークン、即ち+T2,6/Fの状態
とT2,6の状態とを比較することによって、この新し
いトークンが患者ジルの脈搏の非臨界状態から臨界状態
への変化を表わしていることを決定する。従ってノード
110はそのメモリの古値部分120内に記憶している
トークンを削除し、この複合トークン+T2,6を端末
ノード112に送って患者ジルに関して規則2が満足さ
れたことを示す。これでこの規則が推論エンジン12に
よって点弧される状態になる。規則2の点弧は酸素を始
動させ、看護人に緊急を告げる。複合トークンは、規則
が点弧されるまで端末ノード112内に留まる。規則が
点弧された後、複合トークンを指すポインタは破棄され
る。データ要素7及びデータ要素8、削除トークン−T
及び−Tを処理した後のRETEネット32の最終
状態を図12に示す。データ要素7(+T)及びデー
タ要素8(+T)は患者ジョン及びジルに取付けられ
た脈搏計からのデータを表わし、以下のように表わされ
る。 削除トークン−T及び−Tは個々に開始ノード10
0に送られ、次で試験ノード101に送られてノード1
01の試験に失敗する。次でノード100はトークンを
試験ノード102に送り、これらのトークンは試験ノー
ド102の試験を通過し、ノード109とノード108
の右側入力とに送られる。ノード109はトークン−T
及び−Tを使用してノード109のメモリの新値部
分113内にトークン+T及び+Tが存在すること
を識別する。メモリの新値部分113内の+T及び+
トークンは削除印が付けられ、次でノード109の
メモリの古値部分114へ移される。ノード109にお
いては、これらのトークンのそれ以上の送り出しまたは
処理は行われない。削除トークン−T及び−Tを受
けるとノード108はこれらのトークンを使用してアル
ファメモリ118内にトークン+T及び+Tが記憶
されていることを識別する。次でアルファメモリ118
内の+T及び+Tトークンが削除される。次でノー
ド108は、削除トークンとベータメモリ117内に記
憶されている全てのトークンとの論理AND動作を遂行
する。この論理ANDの結果、トークン+Tと−T
との整合対を表わす新しい複合トークン−T2,6が生
成され、ノード110へ送られる。ノード110はこの
新しい複合トークンを受けると、それを使用してメモリ
の新値部分119内にトークン+T2,6が存在するこ
とを識別する。次でトークン+T2,6は削除のための
印を付けられ、ノード110のメモリの古値部分120
へ移される。これらのトークンに対してそれ以上の送り
出しまたは処理は遂行されない。データ要素7及びデー
タ要素8を表わすトークン+T及び+Tは先ず個々
にノード101へ送られるがノード101の試験には失
敗する。そこでこれらのトークンは開始ノード100か
ら試験ノード102へ個々に送られ、その試験を通過し
てノード109とノード108の右入力とに送られる。
ノード109はこれら2つの新しい付加トークンを受け
るとこれらのトークンの状態を計算し、+Tの状態が
真であり、+Tの状態が偽であることを決定する。ノ
ード109は、これらのトークンをこれらの関連状態と
共にメモリの新値部分113に記憶する。トークン+T
はノード109の条件、即ちジョンの脈搏が50より
少ないことを満足するから、メモリの古値部分114に
記憶しているトークンと比較され、+Tが非臨界状態
から臨界状態への変化を表わしているか否かが決定され
る。これはトークン+Tと、患者ジョンに関する脈搏
データを表わすメモリの古値部分114に記憶している
トークンの状態とを比較することによって達成される。
トークン+T/Tはジョンに関して受けた最後の脈搏
データが臨界状態を表わしていたことを示している。+
/Tは+T/Tからの状態の変化を構成してはい
ないので、+T/Tトークンのそれ以上の送りまたは
処理は行われない。トークン+T/Tはノード109
のメモリの古値部分114及び爾後の全てのANDノー
ドから削除される。ノード108及びノード110が付
加トークン+T及び+Tを処理する際にも、類似の
情況が発生する。ノード108はトークンを受けると先
ずそれらをアルファメモリ118に記憶する。次にノー
ド108はこれら2つのトークンとベータメモリ117
内に記憶しているトークンとを比較して、トークンの整
合が発生しているか否かを決定する。AND動作を遂行
することによってトークン+T及び+Tの整合対が
存在することを決定し、新しい複合トークン+T2,8
を生成してノード110へ送る。ノード110は+T
2,8の状態を計算してそれが患者ジルの年齢プラス2
5よりも大きいジルの脈搏を表わしていることを決定す
る。このトークンはその関連状態と共にノード110の
メモリの新値部分119内に記憶される。この複合トー
クンはノード110の条件を満足するから、この複合ト
ークンが非臨界状態から臨界状態への変化を表わしてい
るか否かを決定するために比較を行わなければならな
い。これは複合トークンの状態と、患者ジルの脈搏を表
わすメモリの古値部分120に記憶しているトークンの
状態とを比較することによって達成される。トークン+
2,6/Tは、ジルに関して受けた最後の脈搏データ
が臨界状態を表わしていたことを示している。従って、
トークン+T2,8/TはT2,6/Tからの状態の変
化を構成していないから、+T2,8/Tの送りまたは
処理は行われない。トークン+T2,6/Tはノード1
10のメモリの古値部分120から削除される。図13
はデータ要素9及びデータ要素10、及び削除トークン
−T及び−Tを処理した後のRETEネット32の
状態を示す。これらの削除トークンは上述のようにRE
TEネットを通って伝播し、あるノードのメモリ内に記
憶されている対応付加トークンの存在を識別するために
使用され、これらは付加トークンに削除のための印を付
ける。データ要素9(+T)及びデータ要素10(+
10)はそれぞれ患者ジョン及びジルに取付けられた
脈搏計からのデータを表わし、以下のようである。 トークン+T及び+T10は個々に試験ノード101
に送られ、ノード101の試験に失敗する。次でこれら
のトークンは個々に開始ノード100から試験ノード1
02に送られ、ノード102の試験を通ってノード10
9と、ノード108の右側入力とに送られる。ノード1
09はこれらのトークンを受けるとこれらのトークンの
状態を計算して+T及び+T10の状態が偽であるこ
とを決定する。ノード109はこれらのトークンを、こ
れらの関連状態と共にメモリの新値部分113に記憶
し、ノード109のメモリの古値部分114内のジョン
及びジルの脈搏を表わすトークンを削除する。何れのト
ークンもノード109の条件(患者の脈搏が50より少
ない)を満足していないので、トークンの比較または送
りは行われない。さらに、+Tはジョンの脈搏の臨界
状態から非臨界状態への変化を示している。ジョンの脈
搏の非臨界状態から臨界状態への変化によって開始され
た動作(すなわち静脈の塩の始動及び透析の停止)は、
この状態変化を与えてRETEネット32内の別の規則
(図示せず)を満足させることによって逆転させること
ができる。このような規則は、例えばジョンの脈搏が5
0鼓動/分より多くなった時に満足させればよい。トー
クンを受けるとノード108は、これらをアルファメモ
リ118に記憶する。次にノード108はこれらの2つ
のトークンとベータメモリ117に記憶しているトーク
ンとを比較してトークンの整合が発生しているか否かを
決定する。AND動作を遂行することによって、トーク
ン+Tと+T10の整合対が存在することが決定さ
れ、それによって新しい複合トークン+T2,10が生
成され、ノード110へ送られる。ノード110はこの
複合トークンを受けると+T2,10の状態を計算し、
患者ジルの脈搏がジルの年齢プラス25より大きいこと
を表わしていることを決定する。このトークンはその関
連状態と共にノード110のメモリの新値部分119に
記憶される。この複合トークンはノード110の条件を
満足するから、このトークンの状態と、患者ジルの脈搏
データを表わすノード110のメモリの古値部分内に記
憶されているトークンの状態とを比較することによっ
て、この複合トークンが非臨界状態から臨界状態への変
化を表わしているか否かを決定する比較を行わなければ
ならない。トークン+T2,8/Tは、ジルに関して受
けた最後の脈搏データも臨界状態を表わしていたことを
示している。従って、複合トークン+T2,10は+T
2,8/Tからの状態の変化を構成してはいないので、
+T2,10/Tの送りまたは処理は行われない。トー
クン+T2,8/Tはノード110のメモリの古値部分
から削除される。図14はデータ要素11及びデータ要
素12、及び削除トークン−T及び−T10を処理し
た後のRETEネット32の状態を示す。削除トークン
は上述のようにRETEネット32を通して送られ、あ
るノードのメモリ内に記憶されている対応付加トークン
の存在を識別するのに使用され、それらの付加トークン
に削除の印を付ける。図13と同様に、データ要素11
(+T11)、データ要素12(+T12)は患者ジョ
ン及びジルに取付けられた脈搏計からのデータを表わ
し、次の通りである。 開始ノード100は個々に+T11及び+T12を試験
ノード101へ送り、これらのトークンはノード101
の試験に失敗する。そこで開始ノード100は個々に+
11及び+T12を試験ノード102へ送り、これら
のトークンはノード102の試験を通過し、@Tノード
109と、AND結合ノード108の右入力へ送られ
る。@Tノード109は+T11及び+T12を受ける
とこれらのトークンの状態を計算する。トークン+T
11の状態は真であり、+T12の状態は偽である。次
でこれらのトークンは、これらの関連状態と共にノード
109のメモリの新値部分113に記憶される。+T
11の状態は真であるから、ノード109が遂行する次
の段階は、このトークンとノード109のメモリの古値
部分114内に記憶されているトークンを比較すること
である。メモリの古値部分114内に記憶されている患
者ジョンの脈搏を表わすトークンの状態と、新しいトー
クン+T11の状態とを比較することによって、ノード
109はこのトークンが患者ジョンの脈搏の臨界状態へ
の変化を表わしていることを決定する。従ってノード1
09はトークン+T11をAND結合ノード107の右
入力へ送る。このトークン+T11を受けたAND結合
ノード107は先ずこのトークンをアルファメモリ11
6内へ記憶する。次にノード107は論理AND動作を
遂行してトークン+T11とベータメモリ115内に記
憶している各トークンとを比較する。この動作によっ
て、トークン+Tとトークン+T11とが整合してい
ることを決定する。次でノード107は整合対を表わす
複合トークン+T1,11を生成して端末ノード111
へ送り、患者ジョンに関して規則1が再び満足されたこ
とを示す。これでこの規則は推論エンジン12によって
点弧される状態となる。規則1の点弧は静脈塩の始動、
透析の停止、及び看護人への緊急の通告をもたらす。こ
の複合トークンは、規則1が点弧されるまで端末ノード
111内に留まる。付加トークン+T11及び+T12
がノード102によって個々にノード108の右入力に
送られると、ノード108は先ず+T11及び+T12
をアルファメモリ118内に記憶する。次の段階は、こ
れらの新たに受けたトークンを個々に、ベータメモリ1
17内に記憶しているトークンと比較することであり、
論理AND動作を遂行することによって整合が存在する
か否かを決定する。その結果+Tと+T12が整合ト
ークン対であることが識別される。従ってノード108
は整合トークン対を表わす複合トークン+T2,12
生成して@Tノード110へ送る。ノード110はこの
複合トークンを受けるとその状態を計算し、それが偽で
あることを決定する。ノード110が遂行する次の段階
はこのトークンをその関連状態と共に+T2,12/F
としてメモリの新値部分119に記憶することである。
このトークンは臨界状態から非臨界状態への変化を表わ
しているから、このトークンは記憶さているトークンと
の比較も、後任ノードへの送りも行われない。以上の説
明から、@Tノード109及び110がデータの臨界的
変化のみに応答し、一方RETEネット内の伝統的な結
合ノードはそのノードによって表わされる条件を満足す
る全てのデータ変化に応答することが明白になったであ
ろう。図11及び図12がこれを示しており、患者ジョ
ンの脈搏が最初に非臨界状態から臨界状態へ変化した
(70鼓動/分から40鼓動/分へ)図11ではノード
109はトークン+Tだけを送り出している。図5E
においてはジョンの脈搏を表わすトークンも臨界値(即
ち42鼓動/分)を表わしている。しかし、ノード10
9はこの新しいデータが非臨界状態から臨界状態への変
化を表わしてはいないので、この新しい脈搏を表わすト
ークンを送り出さない。ノード109は、患者の脈搏デ
ータの新しい値と、メモリの古値部分114に記憶して
いる古い値とを比較することによってこの特色を実現し
ている。新しい値が臨界的変化を表わさない限り、即ち
新しいトークンの状態が真となり、古値部分114内に
記憶しているトークンの状態が偽とならない限り、トー
クンが後任ノードに送られることはない。本発明の上述
の実施例は代表例に過ぎず、本発明はその範囲から逸脱
することなく若干の変更が可能である。
【図面の簡単な説明】
【図1】エキスパートシステムのブロック線図である。
【図2】従来のRETEネットの例である。
【図3】本発明の好ましい実施例による実時間条件を指
定するRETEネットの図である。
【図4】図3の@Tノードの例である。
【図5】異なる処理状態における@Tノード109の状
態図である。
【図6】異なる処理状態における@Tノード109の状
態図である。
【図7】異なる処理状態における@Tノード109の状
態図である。
【図8】異なる処理状態における図3のRETEネット
の状態図である。
【図9】異なる処理状態における図3のRETEネット
の状態図である。
【図10】異なる処理状態における図3のRETEネッ
トの状態図である。
【図11】異なる処理状態における図3のRETEネッ
トの状態図である。
【図12】異なる処理状態における図3のRETEネッ
トの状態図である。
【図13】異なる処理状態における図3のRETEネッ
トの状態図である。
【図14】異なる処理状態における図3のRETEネッ
トの状態図である。
【符号の説明】
10 エキスパートシステム 12 推論エンジン 14 データベースメモリ 18 ユーザインタフェース 20 エキスパートシステムプログラム 22 エキスパートシステムコンパイラ 28 データ定義 30 規則定義 32 RETEネット 34 作業メモリ 36 プロセッサ 38 メモリ 40 データ要素 42 実時間入力信号 80 開始ノード 81〜87,101〜106 試験ノード 88,89,107,108 AND結合ノード 91,92,111,112 端末ノード 109,110 @T試験ノード 113,119 新値部分 114,120 古値部分 115,117 ベータメモリ 116,118 アルファメモリ

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 それぞれが諸条件の1つを表わす複数の
    ノードからなり、これらの複数のノードがある式内の諸
    条件の関係を表わすように結合されている回路網におい
    て、諸条件からなる式を評価する方法であって、(a)
    第1のデータ要素を表わすトークンを回路網へ提示する
    段階、(b)そのトークンによって満足される諸条件を
    決定するために式を評価する段階、(c)そのトークン
    を複数のノードの1つに記憶させる段階、及び(d)そ
    のトークンによって表わされたデータ要素の値がある試
    験を満足し、且つ第2のデータ要素を表わす先行トーク
    ンの値がその試験を満足しなかった時にそのトークンを
    後任ノードに渡す段階からなる方法。
  2. 【請求項2】 入力及び出力を有し、回路網のある条件
    を表わす網状判断回路網内の試験ノードであって、
    (a)入力に結合され、入力が受けたデータを記憶する
    ための複数の位置を有し、これらの位置を新値部分と古
    値部分とに分けてあるメモリ、(b)入力に結合され、
    データがそのノードの条件を満足するか否かを決定する
    試験機構、(c)データがそのノードの条件を満足した
    か否かの指示と共にそのデータをメモリの新値部分内に
    記憶させる手段、(d)試験機構と、メモリの新値部分
    及び古値部分とに結合され、受けたデータと古値部分内
    に記憶されている先行データとを比較して受けたデータ
    がそのノードの条件を満足するか否かを決定するコンパ
    レータ、及び(e)そのノードの条件が満足され、且つ
    メモリの古値部分に記憶されている先行データが条件を
    満足しなかった時に、受けたデータを表わすトークンを
    渡す手段を具備する試験ノード。
  3. 【請求項3】 複数のノードと、メモリに結合されてい
    る入力を有する試験ノードとを具備する回路網におい
    て、諸条件からなる式を評価する時に、臨界的変化のみ
    に応答させる方法であって、(a)第1のデータ要素の
    値を表わすトークンを試験ノードの入力へ提示する段
    階、(b)そのトークンが回路網のある条件を満足する
    か否かを決定する段階、(c)そのトークンと、そのト
    ークンが回路網の第1の条件を満足したか否かの指示と
    をメモリの新値部分に記憶させる段階、(d)もしその
    トークンが回路網の第1の条件を満足すれば、メモリの
    古値部分内に記憶しているそのトークンと同じデータ要
    素を表わすそのトークンの先行バージョンを探索する段
    階、(e)そのトークンの第1の状態の指示と、そのト
    ークンの先行バージョンの第1の状態の指示とを比較し
    てそのトークンが所定の状態への変化を表わしているか
    否かを決定する段階、(f)もしそのトークンが所定の
    状態への変化を表わしていれば、そのトークンを試験ノ
    ードの出力から渡す段階、及び(g)新しいトークンが
    試験ノードの入力へ提示される度に段階(b)−(f)
    を繰り返す段階からなる方法。
  4. 【請求項4】 トークンが付加トークンである請求項3
    に記載の方法。
  5. 【請求項5】 トークンを提示する段階がさらに、
    (a)第1のトークンのデータ要素の値を表わす削除ト
    ークンを提示する段階、(b)そのトークンに削除の印
    を付ける段階、(c)そのトークンをメモリの古値部分
    に記憶する段階、(d)そのデータ要素に関する新しい
    値を表わす第2の付加トークンを提示する段階、(e)
    第2の付加トークンをメモリの新値部分に記憶させる段
    階、及び(f)同じデータ要素に関する新しい値を表わ
    す第2の付加トークンを処理した後その付加トークンを
    破棄する段階からなる請求項3に記載の方法。
  6. 【請求項6】 諸条件からなる式を、回路網へ提示され
    る複数のデータ要素の値に基づいて評価する回路網であ
    って、(a)式の諸条件の1つをそれぞれが表わし、式
    内の諸条件の関係を表わすように結合されている複数の
    ノード、及び(b)複数のノードに結合され、これらの
    データ要素の値を回路網へ送り、回路網内の複数のノー
    ドから受けるこれらのデータ要素の値の1つ毎に式を評
    価するプロセッサを具備し、(c)複数のノードの少な
    くとも1つは2つの試験からなる条件が満足されたこと
    に応答するようになっており、これらの試験の第1の試
    験は複数のデータ要素のある値が複数のノードのその少
    なくとも1つによって表わされる式の条件を満足するこ
    とを要求し、第2の試験はこれらのデータ要素の先行の
    1つの値が複数のノードのその少なくとも1つによって
    表わされる式の条件を満足しなかったことを要求する方
    法。
  7. 【請求項7】 複数のノードの少なくとも1つを(a)
    複数のノードのその少なくとも1つに渡される複数のデ
    ータ値の各値を試験し、(b)複数のノードのその少な
    くとも1つによって表わされる条件が満足された時にこ
    れらのデータ値の各値とこれらのデータ値の先行値とを
    比較して何れかのデータ値が所定の状態への変化を表わ
    しているか否かを決定し、そして(c)所定の状態への
    変化を表わす各データ値を表わすトークンを渡すことに
    よって動作させるようにプロセッサがプログラムされて
    いる請求項1に記載の方法。
  8. 【請求項8】 諸条件からなる式を、回路網へ提示され
    る複数のデータ要素の値に基づいて評価するエキスパー
    トシステムであって、(a)記憶した複数のデータ要素
    を有するメモリ装置、(b)式を構成する諸条件の1つ
    をそれぞれが表わし、式内の諸条件の関係を表わすよう
    に結合されている複数のノード、及び(c)メモリ装置
    及び複数のノードに結合され、メモリ装置内に記憶され
    ている複数のデータ要素の値を回路網へ渡し、回路網内
    の複数のノードから渡されるこれらのデータ要素の値の
    1つ毎に式を評価するプロセッサを具備し、(d)複数
    のノードの少なくとも1つは新値部分及び古値部分を含
    むメモリを有し、複数のノードのその少なくとも1つは
    2つの試験が満足されたことに応答するようになってお
    り、これらの試験の第1の試験は複数のデータ要素のあ
    る値が複数のノードのその少なくとも1つによって表わ
    される式の条件を満足することを要求し、第2の試験は
    メモリの古値部分に記憶されているデータ要素の先行の
    1つの値が複数のノードのその少なくとも1つによって
    表わされる式の条件を満足しなかったことを要求するエ
    キスパートシステム。
  9. 【請求項9】 複数のノードの少なくとも1つを(a)
    複数のノードのその少なくとも1つに渡される複数のデ
    ータ値の各値を試験し、(b)メモリの新値部分内のこ
    れらのデータ値の各値と、これらのデータ値の各値が第
    1の条件を満足したか否かの指示とを記憶し、(c)複
    数のノードのその少なくとも1つによって表わされる条
    件が満足された時にこれらのデータ値の各値とメモリの
    古値部分内に記憶されているこれらのデータ値の先行値
    とを比較して何れかが所定の状態への変化を表わしてい
    るか否かを決定することによって動作させるようにプロ
    セッサがプログラムされている請求項8に記載のエキス
    パートシステム。
JP3132432A 1990-03-26 1991-03-26 実時間で状態を表わす網状判断回路網 Pending JPH05341999A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US499039 1990-03-26
US07/499,039 US5390286A (en) 1990-03-26 1990-03-26 Reticular discrimination network for specifying real-time conditions

Publications (1)

Publication Number Publication Date
JPH05341999A true JPH05341999A (ja) 1993-12-24

Family

ID=23983564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3132432A Pending JPH05341999A (ja) 1990-03-26 1991-03-26 実時間で状態を表わす網状判断回路網

Country Status (3)

Country Link
US (1) US5390286A (ja)
EP (1) EP0454294A3 (ja)
JP (1) JPH05341999A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994019741A2 (en) * 1993-02-25 1994-09-01 Reticular Systems, Inc. Real-time rule based processing system
JPH0981385A (ja) * 1995-09-19 1997-03-28 Kokusai Denshin Denwa Co Ltd <Kdd> パタ−ン照合方法および装置
US6895575B2 (en) 2001-06-20 2005-05-17 Sap Ag Generic Java rule engine framework
US20070022275A1 (en) * 2005-07-25 2007-01-25 Mistletoe Technologies, Inc. Processor cluster implementing conditional instruction skip
US9002801B2 (en) * 2010-03-29 2015-04-07 Software Ag Systems and/or methods for distributed data archiving amongst a plurality of networked computing devices
US9330148B2 (en) 2011-06-30 2016-05-03 International Business Machines Corporation Adapting data quality rules based upon user application requirements

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0137414B1 (en) * 1983-09-28 1992-12-02 Hitachi, Ltd. High speed processing system for computer system
JPH0690666B2 (ja) * 1985-09-06 1994-11-14 株式会社日立製作所 弁別ネツトワ−クの動的変形方法
US4837735A (en) * 1987-06-09 1989-06-06 Martin Marietta Energy Systems, Inc. Parallel machine architecture for production rule systems
US4849905A (en) * 1987-10-28 1989-07-18 International Business Machines Corporation Method for optimized RETE pattern matching in pattern-directed, rule-based artificial intelligence production systems

Also Published As

Publication number Publication date
US5390286A (en) 1995-02-14
EP0454294A3 (en) 1993-07-21
EP0454294A2 (en) 1991-10-30

Similar Documents

Publication Publication Date Title
US5140671A (en) Expert system debugger
US5720009A (en) Method of rule execution in an expert system using equivalence classes to group database objects
US5408587A (en) Expert system with a frame explanation system
Mason et al. Assured reinforcement learning with formally verified abstract policies
Pan et al. FuzzyShell: a large-scale expert system shell using fuzzy logic for uncertainty reasoning
JPH08263294A (ja) 事例準拠推論によるデータ経路選択タスクの方法及びシステム
Schneider et al. Putting time into proof outlines
US5043915A (en) Knowledge-based system installed with associative knowledge and inference method
US5027305A (en) Interrogating device for changing the priority of the inference rules
US5179632A (en) Fast method for a bidirectional inference
JPH05341999A (ja) 実時間で状態を表わす網状判断回路網
JPH0782439B2 (ja) 推論エンジンの実行監視方法及び装置
US8510149B1 (en) Method of constructing causality network graphs and visual inference presentations for business rule applications
JPH02178736A (ja) エキスパートシステム用の判別ネットを生成する装置及び方法
JPH01147628A (ja) 質問応答装置
Menzies et al. Expert system maintenance
EP0449402A2 (en) Method for rolling back an expert system
Billington et al. Plausible logic facilitates engineering the behavior of autonomous robots
JPH0831037B2 (ja) 知識ベースを用いた推論方法
EP0439342A2 (en) Method of operating an expert system and computer systems therefor
Štěpánková et al. Incidental and state-dependent phenomena in robot problem solving
EP0616707B1 (en) Expert system with fast pattern match determination by equivalence class projection means
Costantini Epistemic logics for modeling group dynamics of cooperative agents, and aspects of Theory of Mind
EP0439341A2 (en) Display for expert system
Menzies et al. Ripple-down rationality: A framework for maintaining psms