JPS6072032A - 計算機システムの高速処理方式 - Google Patents

計算機システムの高速処理方式

Info

Publication number
JPS6072032A
JPS6072032A JP58177959A JP17795983A JPS6072032A JP S6072032 A JPS6072032 A JP S6072032A JP 58177959 A JP58177959 A JP 58177959A JP 17795983 A JP17795983 A JP 17795983A JP S6072032 A JPS6072032 A JP S6072032A
Authority
JP
Japan
Prior art keywords
block
fact
term
rule
attribute
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.)
Granted
Application number
JP58177959A
Other languages
English (en)
Other versions
JPH0616267B2 (ja
Inventor
Setsuo Tsuruta
節夫 鶴田
Makoto Nomi
能見 誠
Shoji Miyamoto
宮本 捷二
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP58177959A priority Critical patent/JPH0616267B2/ja
Priority to US06/654,487 priority patent/US4779208A/en
Priority to DE8484111496T priority patent/DE3485999T2/de
Priority to EP84111496A priority patent/EP0137414B1/en
Publication of JPS6072032A publication Critical patent/JPS6072032A/ja
Publication of JPH0616267B2 publication Critical patent/JPH0616267B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、経験則や自然の法則と初期事実から新事実や
仮説を推論する(プロダクション)システムの高速化処
理方式に係わり、特に、大規模で時間がかかりすぎたハ
 リアルタイム性を要求される場合に好適な、高速推論
のための計算機システムの高速処理方式に関する。
〔発明の背景〕
規則と事実から推論を行なうのに、推論の各サイクル毎
に全ての規則と事実の照合をとって実行規則を決めるの
がプロダクションシステムであるが、規則と事実の増大
と共に推論時間が爆発的に増大し実用規模では有用でな
い。これを防止するため、規則や事実のコード化とその
インデキシングを行なっている。特に、弁別ネットを用
いた高速方式が効率・適用性において優れているが、規
則の各項目によっては弁別ネットのオーバヘッドは大き
く、リアルタイムシステムへの実用化上問題がある。
また、規則にカウンタを持たせ、その初期値をその条件
項の数に等しくし、事実のプールであるワーキングメモ
リに、この規則の条件項と類似の事実が加えられたらカ
ウンタの値を1減らし、削除されたらカウンタの数を1
増し、カウンタの値が0か、マイナスになったら、この
規則を実行候補規則に加え、よシ完全な実行チェックを
行なう方式(一種のフィルタ)が提案されているが、こ
のフィルタは、効率が悪い。なぜなら、同−条件項の変
数の値が異なる場合に相当する事実が連続して加えられ
ると上記カウンタは常にO以下になp1他の条件項の事
実属性が空の規則が実行候補規則に加えられ、変数の値
のすべての組合わせを試みた後、実行条件を満さないと
判定するロスを生じる。壕だ、類似の条件項を見つける
だけであるから実行条件を満さない規則を実行候補規則
に加えるだけでなく、実行条件を満す規則さえ実行候補
規則から削除すること、つまり不良を発生することすら
ある。
〔発明の目的〕
本発明の目的は、高度な知的情報処理を可能にするプロ
ダクションシステムあるいは、これに類する計算機シス
テムの実行速度を、実用上充分高速に(特に、コマンド
アンドコントロール等厳しいリアルタイム性を要求され
る場合にも耐えれるように)% しかも、ルールや条件
の数、事実数。
変数の数などによる性能の急激な低下に対処するために
実行候補規則を選択する効率的な方式を提供することに
ある。
〔発明の概要〕
従来技術の問題点で述べたように、カウンタによる実行
候補規則のフィルタでは、実行条件を満足しない規則が
多数、実行候補に加えられるため推論効率が低下する。
特に変数の数や種類が多い場合、効率低下が著るしい。
フィルタリング機能が高く、シかもオーバヘッドの少な
いフィルタが必要となる。本発明では、この要求に応じ
るため、変数の値の矛盾は無視した場合に、条件が全て
満足される規則のみを実行候補とするフィルタに特徴が
ある。
〔発明の実施例〕
以下、本発明の一実施例を、第1〜第15図によシ説明
する。′ 第1A図は、本発明の方式を実現するだめのシステム構
成である。
連想ネット作成プロセッサ10014、規則ファイル1
03から、規則を取出し、規則の起動条件やその起動が
他の規則の起動や推論に及ぼす影響を分析し、その結果
を連想ネット(但し、事実組込み前のもの)106とし
て出力する。また、初期事実を連想ネットに効率良く組
込むための連想フィルタ105f:作成する。初期事実
組込みプロセッサ101はj初期事実ファイル104か
ら事実を取出し、連想ネット106の該当場所に組込む
。推論実行プロセッサ102は、連想ネット106をベ
ースに、高速推論を行ない推論結果107を出力する。
第1B図は、本発明の方式の計算機システム上での実現
構成図である。
連想ネット作成プロセンサ100、初期事実組込みプロ
セッサ101、推論実行プロセッサ102、連想フィル
タ105は、推論プログラム151として、また、連想
ネット106は推論用知識152として、それぞれCP
U150に置かれる。
コンソールディスプレー153(キーボード、コンソー
ルタイプライタでも良い)から、規則や初期事実を入力
する。実際のシステムでは、初期事実の入力は、センサ
ーなども用いることも可能である。推論の実行(あるい
は連想ネット106の作成など推論の準備)など推論制
御指令160もコンソールディスプレー153がら入力
する。
推論結果は、(ライン)プリンタ154やCPU150
、あるいは、ディスクやM/Tなどの補助記憶装置15
6に出力する。推論制御指令160により、推論結果に
至るまでの推論経過の出力も可能である。
補助記憶装置156には、規則ファイル103、初期事
実ファイル104、連想ネット106を保存し、エラー
回復や前処理に利用できる。
第2図は高速に推論を実行するだめの連想ネット106
の構成を示す。
200は、規則のリストであり、その要素201はコー
ド化された規則210であり、条件部211と行動部2
12から成る。条件部2行動部の各項220もコード化
されており、それぞれ条件部213、行動項215〜2
17から構成される。
行動項(ハ、さらに、削除環215、追加項216、停
止項217などに分れる。
上記の各項220fd、環コード221、項を条件部に
持つ規則(連想規則251)のリス) 250を値とし
て持つ規則連想属性222、共通の型の項(連想環24
5)のりスト(連想環リス)244.)を、値として持
つ項連想属性223、連想項間の共通部230を値とし
て持つ共通部属性224%個別な部分(個別構造240
その要素は個別要素243)i値として持つ個別部属性
225、項が既知事実かどうかを示す事実属性226項
を含む変数(関数でも良い。以後同様)242を順番に
並べた変数列241を値に持つ変数属性227、項の内
容246(その要素を247に示す。)を値として持つ
内容属性228、から構成される。
具体値(列)リスト248は、項の変数の具体値の列(
具体位動249)のリストであり、項が変数242を含
む時の事実属性226の値である。
共通部230i1’i、そのコード235と、その内容
である共通構造(その要素である共通要素234は、項
の要素のうちの個別要素243に対応するものを”−″
(アンダーライン)に変換し、他の項の要素はそのま甘
にしたもの)2334値として持つ構造属性231と、
この共通部を持つすべての項(共通部コード236)の
リストである共通部コードリスト235i値として持つ
連想環属性232とから成る。
候補規則リスト260は、実行)候補規則261のりス
トである。
第3図は、コードリストのデータ構造を示す。
すなわち、コード化した項220を登録するコードリス
ト300Vi、項の内容221と対応するコード246
から成るコードベア301を要素とするリストである。
項のコード化(後述。ブロック602〕に用いる。
第4図は、連想ネット共通部のデータ構造である。本デ
ータ構造は、連想ネット共通部作成(ブロック603゜
後述)の途中段階のものである。
すなわち共通部候補401は、共通部の候補であり、連
想ネット共通部作成処理終了時点以降は、共通部230
と一致する。同様に、共通部リスト400は、共通部コ
ードは共通部候補401、作成後は共通部230を要素
とするリストである。
共通部コード402、構造属性403、項連想属性40
4、共通要素406、連想環リスト405も、共通部候
補に関するものであることを除いては、第2図で説明し
た共通部に関するそれらと同様である。
第5図は、連想フィルタ105の構成を示す。
連想フィルタは、初期ノード(ノード番号501が0の
ノード)から始まるノード500のトリー構造体である
。各ノード500は、メート番号501、変数特徴属性
502、定数特徴属性503、終端属性504から成る
。システムは、ノード上を動きながら、初期事実の要素
(定数、変数)を読み込むが、変数特徴属性502は変
数を読み込んだ時にシステムが動く先のノード次ノ・−
ド(507)を、定数特徴属性503は、どの定数50
8を読み込んだら次ノード509がどのノードであるか
のベア506を要素とする表(定数特徴属性値505)
を、それぞれ値として持つ。終端属性504は、ノード
500が共通部リスト400に登録された共通部のいず
れかをシステムが読み込んだ時、初期ノードから到達す
る先のノードである時、その共通部230の共通部コー
ド235を、そうでない時゛には空を値として持つ。
第6図は、連想ネット作成処理を示す。
まず、規則の項のうちその内容が記号列とじて互いに異
なるものにユニークを番号をつけるために、新コード番
号を1に、規則の項を取出すだめのポインタを1に初期
設定する(ブロック600)。
次に、規則ファイル103から規則の項を取出すととも
にポインタを更新する(ブロック601)。
取出した項は、照合の高速化のためにコード化して、連
想ネット106の規則210に埋込むとともに、規則連
想属性222を設定する(ブロック602)。さらに、
連想ネット106の共通部230を作成する。以上の処
理を規則ファイル103の全ての規則の項に対して行な
った後、連想ネット106の個別構造240を作成する
(ブロック604)。まだ、連想フィルタ105を作成
する(ブロック605)。
第7図は、項をコード化した規則210を作成し、規則
連想属性222を設定するための処理である。
ブロック701では、ブロック601で取出した規則の
項が、コードリスト300に既登録かどうかをチェック
する。既登録なら、登録きれている該コードを現コード
とする(ブロック702)。
未登録なら、項の内容246と新コード番号のペア(コ
ードベア301)f:、コードリスト300に追加しく
ブロック703)、現コード番号の値を新コード番号の
値に設定し、新コード番号を更新する(ブロック704
)。ブロック705fU、現コード番号にユニークに対
応する項コード221を持つ項220の変数属性227
として、取出した項が含む変数242を先頭から順にリ
スト結合したもの(変数リス)241 )を、内容属性
228として、項の内容246を設定する。
芒て、ブロック702あるいは、ブロック705の処理
が終了したら規則210の項220の項コード221を
現コードとし1条件部211、もしくは行動部21.2
からネットワークを張って、連想ネット106の一部と
する(ブロック706)。
さらに、処理の項が1条件項213なら、その規則連想
属性222の値、つまシ連想規則リスト250の要素2
51として1項が属する規則の規則コード214を追加
する。
第8図は、連想ネット106の項の共通部230を抽出
1作成するための処理フローである。
ブロック801で1l−1:%ブロック601で取出し
た規則の項の変数(関数を含む、以後同様)を−に変え
たものを(共通部)候補項401とする。
この候補項のコード(将来の共通部コード)402は、
たとえば、取出した項のコードがflのときalとする
。次に、ブロック802では、候補項4010項連想属
性404として、上記の候補項のコード402を設定す
る。
さて、ブロック803では、(共通部)候補項401と
、共通部リスト400に登録ずみの各候補項との照合を
とり、既登録かどうかのチェックを行なう。ただし、こ
の照合では、−はどの要素(定数、変数)とも照合が成
功するものとする。
既登録なら、まず、候補項と照合した共通部リスト内の
候補項の一以外の要素406のうち、候補項の−と照合
した要素を−に置替えたものを、改めて候補項とする。
この候補項のコードは、上記の照合した共通部リスト内
の候補項のコード402とする(ブロック804)。次
に、この新らしい候補環の連想環リストに、もとの候補
環の連想環リストヲ結合する(ブロック806)。芒ら
に、もとの候補環と照合した共通部リスト内の候補環を
共通部リスト400から削除する。ブロック803から
ブロック806までの処理を、ブロック803の処理結
果が既登録である間中く9返し、結果が未登録になれば
、連想ネット106の共通部リスト400に候補環40
1を追加して(ブロック807)、ブロック601で取
出した項に対する共通部作成処理を終了する。
第9図は、連想ネット106のうち各項に個別な部分(
個別構造240)k作成するだめの処理方式を示す。
共通部リスト400の要素、つまり共通部230(以後
の処理では、共通部リストが確定しているので、(共通
部)候補環401は、すべて共通部230になる。)を
順次取出しくブロック901)、その項連想属性223
の値、つまり連想環リスト244をとシ出す(ブロック
902)。次に、その要素、つま9、共通部を共有する
連想環のグループ(連想グループ)のメンバーとなる項
(連想環245)を順次取出す(ブロック903)。連
想環リストの要素の取出しが全て終了すれば、ブロック
901に戻って、共通部リスト400から次の要素を取
出し、共通部リストの要素を全て取り出すまで繰返し同
じ処理を行う。
さて、ブロック904では、取出した連想環904に対
して、共通部230の共通構造233の要素234の値
が−である要素の共通構造内の相対位置にちる連想環の
要素247を取出してリストにしたものを同連想項の個
別部属性226の値として、個別構造240に設定する
。次に、連想環の共通部属性224として、ブロック9
01で取出した共通部230のコード235を設定しく
ブロック9053、ブロック903の処理に戻る。
第10図は、初期事実104を連想子ット106に組込
むための連想フィルタ105を作成するだめの処理方式
を示す。
ブロック1001では連想フィルタ105のノードに与
える番号(新ノード番号)を1に設定する。
次に、共通部リスト400から順次、その要素235を
取出す(ブロック1002 )。取出す要素がなくなれ
ば処理を終了する。取出す要素があれば、丑ず、現在の
ノードを出発ノード(例えば、番号0の)−ド)とする
(ブロック1004 )。次に、共通部230の要素2
34を順次取出す(ブロック1004)。ブロック10
06では、取出した要素234ン坏、−(変数に対応)
かどうかをチェックしくブロック1006 )、Yes
 なら、現在のノード500の変数特徴属性502の値
が空かどうか調らべ(ブロック1007)、空なら、新
ノード番号を現ノードの変数特徴属性502として設定
する(ブロック1008)。空でなければ、変数特徴属
性502の値を現ノードとする(ブロック1’010)
。ブロック1006の処理結果がNOなら、ブロック1
004で取出した要素234が、現在のノード500の
定数特徴属性502に含まれるかどうかをチェックしく
ブロック1011 ) 、含まれなければ、取出した要
素234と新ノード番号の対を現在のノードの定数特徴
属性503に追加しくブロック101.2)、含まれれ
ば、マツチした定数特徴属性値505の要素506に対
応するノード507を現在のノードとする。また、ブロ
ック1008.1012の処理が終了す7”Lば、ブロ
ック1009において、新ノード番号のノードを現ノー
ドにし、新ノード番号を更新する。ブロック1009.
1010.1013の処理の後1004に戻υ、共通部
230の要素234がなくなるまで、ブロック1006
以下の処理な繰返す。取出す要素がなくなると、現在の
ノード500の終端属性504に、ブロック1002で
取出した共通部230のコード235を設定する(ブロ
ック1005 )。
第11図は、初期事実104を連想イ・ツト106に組
込むだめの処理を示す。
まず、初期事実ファ・fル104から事実を先頭から順
に取り出しくブロック1100)、取出す事実がある間
、以下の処理を行う。つ贅シ、ブロック1101では、
事実を連想フィルタ105に通して、対応する共通部2
30と個別具体値金取出す(事実のフィルタリング処理
(第12図)。つぎに、この共通部230の連想項リス
ト235の中から、上で取出した個別具体値に、その個
別構造240が照合する連想項236を選択し、その事
実属性226に具体位動249を追加する(ブロック1
102.)。
第12図は、事実のフィルタリング処理を示す。
まず、個別具体値(リスト)ヲ空に設定し、さらに、現
在のノード500を出発ノード(ノード番号0)としく
ブロック1201)、ブロック1100で取出した事実
に対して、その要素(すなわち事実の文を構成する定数
や変数)ヲ、前から順次取出す(ブロック1202 )
取出した要素に対して、それが、現在のノード500の
定数特徴属性値505に含まれるかどうかをチェック(
ブロック1203)、含まれなければ、現在のノードの
変数特徴属性502の値が空かどうかをチェックしくブ
ロック1204)、空なら、事実フィルタリング処理の
結果に空を設定(ブロック1208)L処理を終了する
。空でなければ、ブロック1202で取出した要素を個
別具体値(リスト)に追加する。この後、あるいは、ブ
ロック1203の処理結果がYeSO時、前者では変数
特徴属性502によって示てれる次ノードを、後者では
、取出した要素とその定数部508が一致する定数特徴
属性値505の要素の次ノード部509が示す次ノード
を現在のノード500とし、ブロック1202の処理に
戻る。ブロック1202で取出す要素がなくなれば、現
在のノード500の終端属性504が空かどうかをチェ
ックしくブロック1207)、空でないことが確認でき
たら、事実のフィルタリング処理の結果として、終端属
性504の値(つまり共通部コード235)と、個別具
体値(リスト)全設定する(ブロック1209)。終端
属性504が空なら、事実のフィルタリング処理の結果
を空とする。(ブロック1208)。
第13図は、初期事実に対応する事実属性226の値と
して、具体位動249を組込むだめの処理(事実属性設
定処理)である。
ブロック1301では%事実のフィルタリング処理の結
果が空でなければ、共通部の項連想属性232の値、つ
まシ% (共通部)連想項リスト235を取出す。結果
が空なら事実属性設定処理を終了する・。次に、(共通
部)連想項リスト235から連想項236を先頭から順
に取出しくブロック1302)S以下の処理を行う。
まず、事実のフィルタリング処理の結果である事実の個
別具体値と上記の連想項236の個別構造240との照
合をとる。個別構造240の要素243が変数の時は、
対応する位置の個別具体値の要素が、その変数に対する
変数具体値として設定される(ブロック1303)。照
合が不成功ならブロック1302に戻り、次の連想項を
とり出す照合が成功すれば、上記の連想項236の変数
属性227の値が空かどうがをチェックしくブロック1
304)、空なら、さらに事実属性226が空かどうか
をチェックする(ブロック1308)。空でなければ、
すでに、連想ネットに組込み済みの事実であるから、ブ
ロック1302に戻り次の連想項の処理を行う。空であ
れば、上記の連想項の事実属性を空堤外、例えばtに設
定しくブロック1309)。同じく規則連想属性222
の値である連想規則リスト250を、候補規則リスト2
60に結合しくブロック1307 ) 、ブロック13
o2に戻る。
ブロック1304で、連想項の変数属性値が空でなけれ
ば、ブロック1303で設定した変数具体値(列)が連
想項の事実属性226の値(具体値リス)248)の要
素である具体位動249のどれかに一致するかをチェッ
クしくブロック13051、一致すれば、ブロック13
o2に戻り、次の連想項の処理を行う。一致しなければ
、変数具体値(列)を具体値リスト248に追加し、ブ
ロック13o7の処理を行う。
第14図は、推論実行プロセッサ102の処理方式を示
す。
推論の実行のためには、まず、候補規則リスト260が
空かどうかをチェックしくブロック1401)、、空な
ら推論実行処理を終了する。空でなければ、候補規則リ
スト260の要素である候補規則261の中から最初に
実行する規則を選択する(ブロック1402・・・・・
・競合解消処理)。この場合、不変属性が設定されてい
る規則は、推論結果が新事実の生成や削除など、環境の
変化に寄与しないので選択の対象外とする。次に、選択
された規則を実行しくブロック1403)、その結果が
変化(上記の環境の変化に寄与する場合)なら、候補規
則261で不変属性が設定されているものは、すべてそ
の不変属性を解除しくブロック1404)、ブロック1
401へ戻る。結果が不変なら、実行した規則に不変属
性を設定しくブロック1405)ブロック1401へ戻
る。結果が不成立(規則の条件が成立しない場合)、実
行した規則261を、候補規則リスト260から削除し
くブロック1406 ) 、やはり、ブロック1401
へ戻る。
結果が゛停止″なら、本処理(推論実行処理)を終了す
る。
第15図は規則実行処理(ブロック1403)i示した
ものである。まず、結果を″不成立”にしくブロック1
500) 、次に実行規則の条件部211が満足される
かどうかをチェックする。変数に対しては具体値が矛盾
なく決めることができるかをチェックする(以上ブロッ
ク1501)。条件が不成立なら、本処理(規則実行処
理)を直ちに終了する。条件が成立すれば、行動部21
2ケ実行しくブロック1502 ) 、その結果が″不
変なら″本処理の結果ヲパ不変″としくブロック150
5 )、ブロック1501に戻p1条件部211が、異
なる具体値の組に対して成立するかをチェックする。
行動部実行結果が”停止″なら規則美行処理結果ヲパ停
止″に設定しくブロック1503)、”変化”なら本処
理の結果を6変化″にして(ブロック1504)、規則
実行処理を終了する。
第16図は実行条件判定処理(ブロック1501)を示
す。
実行規則の条件部211の先頭から順に条件環213を
取出しくブロック1601)、取出した条件環213の
事実属性226をチェックしくブロック1602)、そ
の値がt(つまり変数を含まない項でしかも条件が成立
する)なら、次の条件環を取出すためにブロック160
1に戻る。事実属性の値が空なら、条件が不成立である
から1条件判定処理の結果を不成立に設定して(ブロッ
ク1606) 、本処理、すなわち、実行条件判定処理
を終了する。事実属性の値が、tや空以外であれば、そ
の要素、つまり具体直列249を順次取出しくブロック
1603)、取出した具体直列と変数属性227の値(
変数列241)との照合をとる(条件項変数部照合処理
・・・・・・ブロック1604)。
照合が成功すれば、すなわち変数の具体値が矛盾なく定
まれば(詳細は第17図)、次の条件環を調べるために
ブロック1601に戻り、照合が成功しなければ、次の
具体値を取出すために、ブロック1603に戻る。ブロ
ック16o3において、次に取出すべき具体直列がなく
なれば、ブロック1606の処理を行う。ブロック16
01で、次に取出すべき条件環がなくなれば、条件判定
処理の結果をパ成立”に設定して(ブロック1605)
 、本処理を終了する。
変数列241から、その要素である変数242を順番に
取出しくブロック1701 ) 、取出した変数170
2の値が、同じ規則内の前の条件環との照合においてす
でに定まっているか(つまシ既束縛変数かどうか)をチ
ェックしくブロック1702)、未束縛なら該変数を未
束縛変数列に加え、具体直列の対応要素を束縛値としく
ブロック1703)、次の変数を処理するためにブロッ
ク1701に戻る。
既束縛変数に対しては、束縛値と具体直列249の対応
要素が一致するかどうかをチェックし、一致すればブロ
ック1701に戻シ、一致しなければ、未束縛変数列の
変数をすべて未束縛にし、未束縛変数列をクリアしくブ
ロック1705) 、本処理(条件項変数部照合処理)
の結果を6照合不成功に設定しくブロック1806) 
、本処理を終了する。
さて、ブロック1701において、変数列241から取
出すべき要素がなくなれば、本処理の結果を1照合成功
”に設定して(ブロック1707)、本処理を終了する
第18図は、行動部実行処理(第15図のプロツク15
02 )を示す。
筐ず、本処理(行動部実行処理)の処理結果を、″不変
”に初期設定する(ブロック1801)。つぎに、実行
規則の行動部212の行動部215〜217を先頭から
IIFi番に取出す(ブロック1802)。
取出した行動部が追加項216かどうかチェックしくブ
ロック1803)、追加項なら、追加処理を行う(ブロ
ック1804)。次に、行動部が削除環215かどうか
をチェックしくブロック1805)%もしそうなら削除
処理を行ない(ブロック1806)、そうでないなら停
止環かどうかをチェックしくブロック1807)、停止
環217なら行動部実行処理の結果を6停止”に設定し
て、(ブロック1809)本処理を終える。行動部が以
上のいずれの項でもなければ、該当する処理を行ない(
ブロック18081 、ブロック1802&C戻り次の
行動部の処理を行う。ブロック1804.1806の処
理の後も、同様にブロック1802に戻る。ブロック1
802で取出すべき行動部がなくなれば、変数242の
束縛値をクリアしくブロック1810)、本処理を終了
する。
第19図は、追加処理(第18図のブロック1804)
を示す。
まず、追加項216の事実属性226の値をチェックす
る(ブロック1900)。t(追加項は変数を含まず、
かつ既知事実である。)分ら、直ちに追加処理を終了す
る。tでなく、かつ、空でもないなら、追加項の変数の
具体値が、具体値リスト248の要素のどれかと一致す
るかをチェックしくブロック1901)%一致すれば追
加項目は既知事実であるから追加処理を終了し、不一致
なら、またはブロック1900の結果が空なら、追加項
の個別構造240でその変数や関数要素をその具体値で
置き換えたもの(個別構造具体値と呼ぶ)、および、連
想環リス)244’i取出す(ブロック190.2)。
次に、取出した連想環リスト244からその要素である
連想環245を順次取出す(ブロック1903)。取出
すべき連想環がなくなれば、直ちに追加処理を終了する
。次のブロック1904では、取出した連想環は定数か
らのみ構成てれるかをチェックし、そうでなければ、ブ
ロック1905.そうならばブロック−1909の処理
を行なう。ブロック1905では、追加項216の個別
構造具体値(ブロック1902で取出したもの)とブロ
ック1903で取出した連想項2450個別構造240
の照合をとる。照合が不成功なら、ブロック1903に
戻る。照合が成功すれば、取出した連想環245の事実
属性226の値(具体位動リスト248)に、連想環2
45の変数242の値の列(具体植列249)k追加す
る(ブロック1906)。
ブロック1909では、追加項216の個別構造具体値
(ブロック1902で取出したもの)と、連想環245
の個別構造240が一致する(照合は変数を含む場合で
、ブロック1905で述べた照合は、定数部が一致すれ
ば良く、変数部はチェックしないもの。従って、変数を
含まない1′照合”の意味で、本ブロックでは6一致”
とした。)かどうかチェックする。不一致ならブロック
(903に戻る。一致すれば、連想環245の事実属性
226の値248を、真値(例えばt)とする(ブロッ
ク1910 )。
ブロック1906.1910の処理に続いて候補規則選
択処理(ブロック1907)を行う。ここでは、連想環
の規則連想属性222の値の要素、つまり連想規則25
1のうち、その条件部221のすべての条件部213の
事実属性226が(空以外の)値を持つものだけを、候
補規則リスト260に加える。詳細は、第20図を用い
て、後で説明する。
本ブロックの処理が終了すると、行動部実行結果を゛変
化”にセットしくブロック1908 ) 、ブロック1
903の処理に戻る。
第20図は、候補規則選択処理(第19図のブロック1
907)を示す。
まず、連想環245の規則連想属性値、つまり、連想規
則リスト250金取出す(ブロック2001)。
つぎに、この連想規則リスト250の先頭から順に連想
規則251を取出す(ブロック2002)。
すべての連想規則の処理が終了すれば、候補規則選択処
理(本処理)を終了する。取出した連想規則251に対
しては、これがすでに候補規則リスト260に含まれて
いるかどうかをチェックする(ブロック2003)。含
まれておれば、ブロック2002に戻り、次の連想規則
の処理を行う。含まれてなければ、連想規則の条件部2
13のうち、その事実属性226の値が空のものがない
かをチェックする(ブロック2004)。空のものがな
ければ、この連想規則を候補規則リスト260に追加し
くブロック2005) 、ブロック2002に戻る。
空のものがあれば、何もしないでブロック2002に戻
る。
第21図は、削除処理(第18図のブロック1806)
を示す。
まず、削除環215の個別構造240で、その変数をそ
の(具体)値で置換えたもの(個別構造具体値)を取出
す(ブロック2101)。さらに、削除環215の連想
項リスト244も取出す(ブロック2102)。
次に、連想項リスト244から、その要素である連想項
245を先頭から順次取出す(ブロック1903 )。
取出して処理すべき連想項がなくなれば削除処理全終了
する。取出した連想項245に対しては、これが定数だ
けを含むかどうかをチェックしくブロック2104 )
。”NO”ならブロック2105、YESならブロック
2109の処理を行う。
ブロック2105では、削除環215の個別構造具体値
(ブロック2101で取出したもの)と連想項245の
個別構造240の照合をとる。照合が成功しなければ、
ブロック2104に戻り、次の連想項の処理を行なう。
照合が成功すれば、連想項245の事実属性値(つ捷シ
具体位動リス) 248)から、この連想項の変数24
2の値の列(具体位動249)i削除する(ブロック2
106)。その結果、この連想項245の事実縞性値が
空になれば、ブロック2107.空にならなければ、ブ
ロック2104の処理を行なう。
ブロック2109では、削除環215の個別構造具体値
と、取出した連想項245の個別構造240が一致する
かどうかをチェックする。一致しなければ、ブロック2
104に戻υ、次の連想項の処理を行なう。一致すれば
、連想項245の事実属性226の値を空にしくブロッ
ク2110 ) 、ブロック2107の処理を行なう。
ブロック2107では、候補規則リスト260から、連
想項245の規則連想属性222の値の要素(つまり連
想規則251)’r全て削除する。続いて、ブロック2
108において、行動部実行結果を6変化”に設定し、
ブロック2103の処理に戻る。
〔発明の効果〕
本発明によれば、変数の値の矛盾などを無視した条件部
のチェックをまず行なうことにより、実行候補規則を絞
ることができるので、すべての変数の組合わせに対して
条件部が成立するがどうがをチェックして条件部が満足
きれないような、組合わせ論的に急増するオーバヘッド
を効率良く抑止でき推論効率・性能が向上する。
このオーバヘッドを定量的に見積ると、同=工v eT
o・Nr ただし N、・・・実行候補規則に加えられたがt条件
を満足しないことが判明した規 則の平均数 Nマ・・・上記規則内の変数の平均数 1、・・・上記規則内の変数の具体値の平均数 Tc・・・変数の組合わせの一つに対して条件部金満足
するかチェックす る時間の平均値 Tc=10ミリ秒、NY=3.I、=3.Nr=500
とした場合 θ=135秒、これがN7=5.I、=5
となるとθ= 15000秒となり急激に増大し、実用
に耐えられない。実験したところ、従来の方式(カウン
ト方式)でNr=550であったが、本発明の方式では
Nr=60となり、約10倍、オーバヘッドが減少した
。(Nrを絞るための時間は、変数の値の矛盾を無視し
たテストであるから充分小さいと考えられる。実験でも
1秒以下であシ、充分無視できる。) 連想ネットヲ用いると、条件部の属性として事実が記憶
されるので上記テストの処理効率が良い。
なお、上述の説明では推論について述べたが、一般に情
報処理にも適用できることは言うまでもない。
【図面の簡単な説明】
第1A図は、本発明方式を実現するシステムの一例のソ
フトウェア構成図、第1B図は、本発明方式の計算機構
成(ハードウェアも含めて)を示す図、第2図は連想ネ
ットの構成図、第3図はコードリストのデータ構造を示
す図、第4図は連想ネット共通部のデータ構造を示す図
、第5図は連想フィルタの構成図、第6〜9図は連想ネ
ットの作成の流れ図、第10図は連想フィルタの作成を
示す図、第11〜13図は事実組込み処理を示す図、第
14〜21図は推論実行処理の流れ図である0 251・・・連想規則、213・・・条件部、226・
・・事実属性、260・・・候補規則集合又は候補規則
リスト、236・・・連想項、242・・・変数、22
2・・・規則連想属性、ブロック2004・・・変数の
値の矛盾は無視して条件部の事実属性をチェックする処
理、ブロック2107・・・削除後の事実属性が空の連
想項の規則連想属性の全要素を候補規則集合から削除す
る処理。 第 / 八 口 第1 I 第8図 第 9 肥 第 10 U TART 10o/ 新ノード − 1 o02 1005 ハ通−訃リストからt!1 毛止すi tl
を硯7−8.傅襖属性 鼾0鉋′■6〕 に 恢連客トリストqt壓 yoo 宝素あリコート几
セ、けろ、 ド−出免J−ロ番呵、=o E N Dル
とTt!rtt 共通O貢の嘗桁1フ艮社しホ・インク
1イしめろ 10o6 粟素あす Yes 取としhttl書− (炙&1・夕す丸・)か 10O710ツノ No ”乙ノードψ麦敷 Iヌぬした嘗キ1オハ乙脣程
×襦性i; ノーF゛の定」災特散ζ斐カ\ イ、11
、く革9.え、つ、1010 10o8 γ’e5 1
012 No 10/3業印ノード番号1 刀に尚(た
t素 Y マン÷し−現)〜ト□の4ε歎 青!1−ト
苓号の対t ナケノード’ta 特ヅ對廻イLイ゛生1
z 理ノードの〉ミ敷牛Yηめ; んTろノードUる 
ゼットTう ノl望I=iカofる F’tl現FVす
る 0o9 硯ノート′4楽庁ノー 第 11 図 第 72 図 第 13 国 第 74 菌 り」−l 第 75 口 第 76 口 第 77 日 早 /8 。 も 19 閃 第 20 目 第 21 国

Claims (1)

  1. 【特許請求の範囲】 1、条件部と行動部を持つ規則と事実・仮説が与えられ
    ると、事実又は仮説によって条件部が満足された規則の
    行動部を実行して事実を変更するサイクルを繰返すこと
    によシ情報処理を行なう計算機システムにおいて、事実
    が追加されたら、これに対応する条件項の事実属性とし
    て、この事実を登録した後、この条件項を含む規則の条
    件部の全ての条件項に対して、その事実属性が空か否か
    をチェックし、どの条件項の事実属性も空でない規則だ
    けを、その実行条件をよシ完全にチェックするだめの実
    行候補リストに加えることを特徴とする計算機システム
    の高速処理方式。 2、%許請求範囲第1項記載の高速処理方式において、
    実行時に変数の値の矛盾なども含めた完全な条件チェッ
    クを行なった結果、条件部が満足されないことが判明し
    た規則を、ただちに実行候補リストから削除することを
    特徴とする計算機システムの高速処理方式。 3、特許請求範囲第1項記載の高速処理方式において、
    事実が削除されたら、対応する条件項の事実属性からこ
    の事実を削除した後、この条件項の事実属性が空かどう
    かをチェックし、空なら、この条件項を条件部に含む全
    ての規則を実行候補リストから削除することを特徴とす
    る計算機システムの高速処理方式。 4、特許請求範囲第1項記載の高速処理方式において、
    規則の行動部のうち追加項・削除項に追加・削除される
    事実が対応する条件項を全て上記の追加項又削除項の項
    連想属性として、またこれらの条件項を条件部に含む規
    則を上記の追加項又は削除項の規則連想属性として登録
    し、追加項又は削除項の追加又は削除する事実がその連
    想項に対応するかどうかを決める追加項又は削除項内の
    変数名やその値に対する条件を連想項の個別部属性とし
    て登録し、事実を各項の事実属性として分散して保持で
    きるようにした情報ネットワークである連想ネットを実
    行に先立って作成しておき、初期事実が入力されると各
    項の事実属性としてこれを登録し、上記連想ネットをた
    どって情報処理を行なう機能を組み合わせることを特徴
    とする計算機システムの高速処理方式。
JP58177959A 1983-09-28 1983-09-28 計算機システムの高速処理方法 Expired - Lifetime JPH0616267B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP58177959A JPH0616267B2 (ja) 1983-09-28 1983-09-28 計算機システムの高速処理方法
US06/654,487 US4779208A (en) 1983-09-28 1984-09-26 Information processing system and method for use in computer systems suitable for production system
DE8484111496T DE3485999T2 (de) 1983-09-28 1984-09-26 Hochgeschwindigkeitverarbeitungssystem fuer rechneranlage.
EP84111496A EP0137414B1 (en) 1983-09-28 1984-09-26 High speed processing system for computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58177959A JPH0616267B2 (ja) 1983-09-28 1983-09-28 計算機システムの高速処理方法

Publications (2)

Publication Number Publication Date
JPS6072032A true JPS6072032A (ja) 1985-04-24
JPH0616267B2 JPH0616267B2 (ja) 1994-03-02

Family

ID=16040069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58177959A Expired - Lifetime JPH0616267B2 (ja) 1983-09-28 1983-09-28 計算機システムの高速処理方法

Country Status (1)

Country Link
JP (1) JPH0616267B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62212830A (ja) * 1986-03-14 1987-09-18 Nec Corp 推論装置
JPS633333A (ja) * 1986-06-23 1988-01-08 Hitachi Zosen Corp 知識工学システム用推論処理方式
JPS633334A (ja) * 1986-06-23 1988-01-08 Hitachi Zosen Corp 前向き推論方式
JPS6367626A (ja) * 1986-09-09 1988-03-26 Nec Corp 連想型知識処理方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62212830A (ja) * 1986-03-14 1987-09-18 Nec Corp 推論装置
JPS633333A (ja) * 1986-06-23 1988-01-08 Hitachi Zosen Corp 知識工学システム用推論処理方式
JPS633334A (ja) * 1986-06-23 1988-01-08 Hitachi Zosen Corp 前向き推論方式
JPS6367626A (ja) * 1986-09-09 1988-03-26 Nec Corp 連想型知識処理方式

Also Published As

Publication number Publication date
JPH0616267B2 (ja) 1994-03-02

Similar Documents

Publication Publication Date Title
CN107506414B (zh) 一种基于长短期记忆网络的代码推荐方法
JP2726568B2 (ja) 文字認識方法及び装置
JP7457125B2 (ja) 翻訳方法、装置、電子機器及びコンピュータプログラム
US4779208A (en) Information processing system and method for use in computer systems suitable for production system
CN113064586B (zh) 一种基于抽象语法树增广图模型的代码补全方法
JP2000505580A (ja) 遺伝学的プログラミング方法及びシステム
US20230117325A1 (en) System for generating compound structure representation
US5027305A (en) Interrogating device for changing the priority of the inference rules
WO2018167885A1 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JPS6072032A (ja) 計算機システムの高速処理方式
KR102028665B1 (ko) 프로그램 합성 방법
CN116661797A (zh) 一种词元粒度下基于加强Transformer的代码补全方法
WO2020240820A1 (ja) ファイル管理装置、ファイル管理方法、及びプログラム
JPS6072031A (ja) 計算機システムの高速処理方式
JP7286291B2 (ja) 固有表現抽出装置、方法およびプログラム
US20220164174A1 (en) System and method for training a neural machinetranslation model
JP2973883B2 (ja) ユーザインタフェース評価装置
JP6318327B1 (ja) コード自動記述ソフトウェアを記録した記録媒体
CN116450936A (zh) 一种基于开发者历史代码的个性化api推荐方法
JPH11232149A (ja) ファイル比較処理方法,装置およびファイルの比較処理プログラムを記憶した媒体
CN116631402A (zh) 一种业务查询方法、装置、电子设备及存储介质
CN114675831A (zh) 一种编程语言的编译系统及方法
JP3018579B2 (ja) 名前検索処理装置
JPH09204490A (ja) 文字列入力手段選択方法
CN116644746A (zh) 一种实体识别方法、设备和计算机可读存储介质