JPH05289874A - 推論システムの変数処理方法 - Google Patents

推論システムの変数処理方法

Info

Publication number
JPH05289874A
JPH05289874A JP4095022A JP9502292A JPH05289874A JP H05289874 A JPH05289874 A JP H05289874A JP 4095022 A JP4095022 A JP 4095022A JP 9502292 A JP9502292 A JP 9502292A JP H05289874 A JPH05289874 A JP H05289874A
Authority
JP
Japan
Prior art keywords
variable
rule
values
node
value
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
JP4095022A
Other languages
English (en)
Inventor
Yoshikatsu Akagi
義勝 赤城
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.)
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
Original Assignee
Meidensha Corp
Meidensha Electric Manufacturing 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 Meidensha Corp, Meidensha Electric Manufacturing Co Ltd filed Critical Meidensha Corp
Priority to JP4095022A priority Critical patent/JPH05289874A/ja
Publication of JPH05289874A publication Critical patent/JPH05289874A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】 ネットワーク定義型推論システムにおいて、
多値を持つ変数をユーザレベルで簡単に把握,処理でき
るようにする。 【構成】 ネットワークの定義に変数宣言したとき、該
変数Aが持つ値の数だけルールノードr2,r3,r
4,r2′,r3′,r4′,r2″,r3″,r4″
だけルールノードを複製したネットワーク構成に展開す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ネットワーク定義型の
推論システムに係り、特に多値を持つ変数を利用した推
論のための変数処理方法に関する。
【0002】
【従来の技術】エキスパートシステムに代表される推論
システムは、その推論方法がネットワーク定義型と認知
−実行(行動)サイクル型とに大別される。
【0003】ネットワーク定義型は、各プロダクション
ルールをノードとしその実行順序をブランチ(枝)で表
現したネットワーク表現にされ、問題解決に事実データ
から結論へと推論を進める前向き推論制御や逆の後向き
推論制御がなされる。
【0004】認知−実行サイクル型は、各プロダクショ
ンルールからその条件部が事実データに適合したルール
を取出して競合ルールを構成し、この競合ルールの中か
ら1つのルールを選択する競合の解決をし(認知サイク
ル)、選択されたルールの実行部を実行することでデー
タベースを更新する(実行サイクル)。この後は再び認
知サイクルに入る。
【0005】ここで、メモリ型変数と呼ばれる多値を持
つ変数は、従来から認知−実行サイクル型の推論システ
ムでのみ用いられ、その処理は認知−実行サイクルとい
う一種のループ処理によって行われている。
【0006】従って、認知−実行サイクル型推論システ
ムでは変数の値を1つづつ取り出す機能さえあればその
ときの変数の値によって実行可能となったルールを実行
することでメモリ型変数を利用した推論ができる。これ
は、認知−実行サイクル型では一度実行したルールであ
ってもその条件さえ満たされれば何度でも実行可能なた
め多値を持つ変数を取扱うことができることによる。
【0007】しかし、ネットワーク定義型の推論システ
ムでは認知−実行サイクルが無いため、多値を持つよう
な変数は扱われないか、あるいはその値はまとまった1
つの値として処理されている。
【0008】
【発明が解決しようとする課題】前述のように、ネット
ワーク定義型推論システムは、基本的にループを用いた
推論ができないため、一度の推論の中で多値を持つ変数
の値を個々に処理することができない。
【0009】仮に、ループ処理が可能なネットワーク定
義型推論システムを構築できたとしても、多値の変数を
処理するためのループを作成することはユーザレベルで
は難しく、その知識表現も煩雑になってシステムの長所
になる知識獲得や知識メンテナンスの容易さを喪失して
しまうことになる。
【0010】変数の値が複数あるという事は、元来その
変数が仮説の変数であり、未だに値が定まらないため複
数の値を持っているという場合、その変数の値をトリガ
ーにして、ある値が変化した時の様々な結論を一度に見
たいというように使用される場合が多い。この時に、変
数の値を1つずつ取り出して、仮にループにより処理し
たとしても、推論の副作用により、すべての値が厳密に
同じ条件で推論できない事も考えられる。これでは、ユ
ーザーの目的に反する事になる。
【0011】なお、ネットワーク定義型の推論システム
において、ループ処理による副作用が無いように巧くル
ールを作成すること、あるいは初めから副作用を無視し
てループを利用した変数処理を行うことが考えられる
が、ルール及びシステムの複雑化や副作用の問題が残
る。
【0012】本発明の目的は、多値を持つ変数をユーザ
レベルで簡単に把握,処理できる変数処理方法を提供す
ることにある。
【0013】
【課題を解決するための手段】本発明は、前記課題の解
決を図るため、ルールをノードとし、その実行順序をブ
ランチで表現するネットワーク定義型推論システムにお
いて、ネットワークの定義に多値をもつ変数を任意のル
ールノードで宣言可能にし、該宣言された変数の値の数
だけルールノードを複製しかつ該変数を継承又は参照す
るルールノードを複製したネットワーク構成に展開する
ことを特徴とする。
【0014】
【作用】ルールノードの定義に多値を持つ変数を宣言し
たときに該変数が継承される継承変数又は全てのルール
から参照される大域変数であれば該変数の値の数だけル
ールノードを複製し、また当該変数を継承又は参照する
ルールノードも複製したネットワーク構成に展開する。
【0015】これにより、変数の値個々についてブラン
チ毎に管理するネットワーク構成に表現され、その推論
過程の把握も容易にする。
【0016】
【実施例】図1は本発明の一実施例を示すネットワーク
構成図である。図示では5つのルールノードr1〜r5
が定義され、各ルールノードは基本的には条件部と実行
部で構成される。
【0017】各ルールノードr1〜r5は矢印で示すブ
ランチによって推論過程が定義される。この推論過程は
ネットワーク表現による連続と分岐が定義される。
【0018】ここで、本実施例では各ルールノードr1
〜r5に変数領域v1〜v5を属性値として付加してい
る。この変数領域v1〜v5には局所変数と継承変数と
大域変数の3つの種類が宣言可能にされる。
【0019】局所変数は変数宣言を行ったルール内部で
のみ利用可能な変数にされる。継承変数は継承するブラ
ンチにより各変数が異なる値を持つことができる変数に
され、ルール定義で継承の宣言を行うことでそのブラン
チに属するルールノードのみが利用可能にされる。大域
変数はすべてのルールノードから利用可能にされる。
【0020】図1には継承変数の態様を示す。ルールノ
ードr1で継承変数Aに1をセットすると、次のルール
ノードr2に継承され、ルールノードr2では変数Aを
参照すると値1が入っている。これ以降のルールノード
では変数Aの値を変更しない限り、何れのルールノード
で参照するも変数Aの値は1にある。
【0021】同様に、ルールノードr3で継承変数Bに
値2をセットすると、ルールノードr3以降のルールノ
ードでは変数Bを参照することでその値2を得ることが
できる。
【0022】次に、ルールノードr3からはルールノー
ドr4とr5に枝別れしており、この場合には同じ継承
変数に違う値をセットすることができる。ルールノード
r4では継承変数Cに値3をセットし、ルールノードr
5では同じ変数Cに値4をセットしている。これによ
り、ルールノードr4,r5以降では変数Cの値として
夫々ルールノードr4,r5でセットした異なる値を継
承する。
【0023】このように、継承変数は同じ変数名,変数
型でありながらルールノードにより異なる値を持つこと
ができる。
【0024】上述の各変数型のうち、メモリ型という多
値を保存するには大域変数と継承変数で使用する。この
メモリ型の変数を処理するため、本実施例ではルールノ
ードの複製機能を設けている。以下、図2〜図4を参照
して複製機能を詳細に説明する。
【0025】図2〜図4中、定義部分はユーザが行った
ネットワーク構成を示し、展開部分は複製機能によって
展開されたネットワーク構成を示す。また、変数Aはメ
モリ型の大域変数を示し、変数aは継承変数を示す。
【0026】図2における定義ではループを使用する場
合を示し、大域変数Aには1,2,3の値を与えてルー
プ処理しようとする。この場合の展開は変数Aが1の場
合のルールノードr2とr3の実行に次いで変数Aが2
の場合のルールノードr2′とr3′の実行という3回
の繰り返しによってループ処理が可能となる。
【0027】このようなループ処理では変数Aの3つの
値をループによって処理しているときに別の変数の値も
変更してしまい、厳密な意味での3つの値の同じ条件で
の試験ができない可能性がある。これが一般に副作用と
呼ばれるもので、該副作用を問題としなければ複製機能
によってループ処理ができる。
【0028】図3はループを定義しないネットワーク定
義において、ルールノードr2で変数Aに3つの値1,
2,3を設定する場合を示す。この宣言に対する複製処
理は、ルール実行時にメモリ型変数の値を個々に参照す
る指定を行うことで、ルールノードは変数の値の数だけ
複製展開され、値の異なる変数Aを夫々に持つ同じルー
ルが複数作成される。
【0029】図示では変数A=1を持つルールノードr
2,r3,r4,…の展開と、A=2を持つルールノー
ドr2′,r3′,r4′,…の展開と、A=3を持つ
ルールノードr2″,r3″,r4″,…の展開にされ
る。また、各展開ではルールノードr2,r2′,r
2″で夫々異なる継承変数aを宣言すると、各ノードで
異なる値として継承される。
【0030】従って、大域変数Aの値のみが異なる全く
同じ条件のルールノードができ、各ルールノードで条件
部と実行部が推論エンジンにより起動される。この複製
処理により、ルールノードが変数の値別に複製されるこ
とから、多値を持つ変数を初心者が感覚的に簡単に取扱
うことができ、しかもループによる実行に較べて副作用
の発生を無くすことができる。また、ネットワーク定義
型の推論システムの知識構築や知識整理の面からもユー
ザが理解し易くかつ後の知識メンテナンスも容易にな
る。
【0031】ここで、大域変数Aの個々の値をルールノ
ードr2以降にも参照する場合、別に定義した1つの値
のみを扱う型の継承変数aに変数Aの値をバインドして
推論が実行される。例えば、ルールベースr3′では変
数a=2の設定に変数A=2の値をバインドする。
【0032】このバインドにより、変数Aの値が異なっ
たときの複製ノードの保存がなされ、同時にそれ以降の
個々の複製ノードに対するルールの実行が可能となる。
このようなワンクッション置いた複製処理は、大域変数
Aの値を当該ルールノード以降で使用しない場合に好都
合となる。
【0033】この例が図4に示す複製処理である。図示
ではルールノードr2の定義に大域変数Aの値を1,
2,3と定義する際、変数Aの値のうちの1つが条件を
満たせばルールノードr2以降に推論を進めるという展
開が行われ、変数Aの試験のためにルールノードr2′
とr2″が一時的に複製される。従って、条件を満たし
た際の変数Aの値は保管されずにそれ以降のノードの複
製も行われない。
【0034】
【発明の効果】以上のとおり、本発明によれば、多値を
持つ変数の宣言に対して変数の値の数だけルールノード
を複製するようにしたため、以下の効果がある。
【0035】(1)多値を持つ変数をユーザーがネット
ワーク定義により簡単に処理する事ができる。多値を持
つ事を特別意識してルールを作成する必要が無い。
【0036】(2)ネットワーク定義型の推論システム
で多値が扱える様になるため、従来のネットワーク定義
型の推論システムでは実現できなかった、或は実現が難
しかったようなアプリケーションも作成が可能である。
【0037】(3)さらに、そのアプリケーションは、
知識がネットワーク定義されているため、当然、従来の
ものに比べて、知識獲得や知識メンテナンスがしやす
い。
【0038】(4)仮説変数として、多値を持つ変数を
利用した場合、副作用が無い。そのため、ループを使用
しての処理より確実である。
【0039】(5)多値の内のいくつかの値を使用する
だけで、その値を保存する必要がない場合も同様に簡単
に定義し、実行する事ができる。
【図面の簡単な説明】
【図1】本発明の一実施例を示すネットワーク構成図。
【図2】実施例の複製機能図。
【図3】実施例の複製機能図。
【図4】実施例の複製機能図。
【符号の説明】
r1,r5…ルールノード v1,v5…変数領域

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ルールをノードとし、その実行順序をブ
    ランチで表現するネットワーク定義型推論システムにお
    いて、ネットワークの定義に多値をもつ変数を任意のル
    ールノードで宣言可能にし、該宣言された変数の値の数
    だけルールノードを複製しかつ該変数を継承又は参照す
    るルールノードを複製したネットワーク構成に展開する
    ことを特徴とする推論システムの変数処理方法。
JP4095022A 1992-04-15 1992-04-15 推論システムの変数処理方法 Pending JPH05289874A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4095022A JPH05289874A (ja) 1992-04-15 1992-04-15 推論システムの変数処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4095022A JPH05289874A (ja) 1992-04-15 1992-04-15 推論システムの変数処理方法

Publications (1)

Publication Number Publication Date
JPH05289874A true JPH05289874A (ja) 1993-11-05

Family

ID=14126444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4095022A Pending JPH05289874A (ja) 1992-04-15 1992-04-15 推論システムの変数処理方法

Country Status (1)

Country Link
JP (1) JPH05289874A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987006364A1 (en) * 1986-04-08 1987-10-22 Fanuc Ltd Numerical control apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987006364A1 (en) * 1986-04-08 1987-10-22 Fanuc Ltd Numerical control apparatus

Similar Documents

Publication Publication Date Title
Angeline et al. Evolutionary module acquisition
Wang et al. Inducing model trees for continuous classes
Quinlan Probabilistic decision trees
US5396580A (en) Translation of a neural network into a rule-based expert system
Burstall et al. Some transformations for developing recursive programs
US5317677A (en) Matching technique for context sensitive rule application
Koza Genetic programming for economic modeling
Darlington Semantic approach to automatic program improvement
JPH05289874A (ja) 推論システムの変数処理方法
Matwin et al. Intelligent backtracking in plan-based deduction
Schulz Learning search control knowledge for equational theorem proving
Maloof et al. AQ-PM: A system for partial memory learning
Haynes Collective memory search
Džeroski et al. Encoding and using domain knowledge on population dynamics for equation discovery
Biema et al. The do-loop considered harmful in production system programming
Werther Once Again: Connected Components on a CREW PRAM
Jain et al. On the power of learning robustly
Singh Causal inference tutorial
Fortnow et al. Measure, category and learning theory
Bournaud et al. Abstractions for knowledge organization of relational descriptions
JPH083793B2 (ja) プロダクションシステムの推論方法
Alkhatib et al. A second generation expert system for control design
Kozlova Hierarchical & Factored Reinforcement Learning
Mikloško et al. Formal models of parallel computations
Rhee A neural-net knowledge-based system with instance-based rules