JPH01134630A - 推論システム - Google Patents
推論システムInfo
- Publication number
- JPH01134630A JPH01134630A JP62293455A JP29345587A JPH01134630A JP H01134630 A JPH01134630 A JP H01134630A JP 62293455 A JP62293455 A JP 62293455A JP 29345587 A JP29345587 A JP 29345587A JP H01134630 A JPH01134630 A JP H01134630A
- Authority
- JP
- Japan
- Prior art keywords
- slot
- value
- slot value
- frame
- knowledge base
- 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
- 238000000034 method Methods 0.000 claims description 33
- 238000010586 diagram Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/027—Frames
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
この発明は、各対象物に関する知識をフレームで表現し
、これらフレームをネットワーク状につなぐことにより
対象世界を構築したフレーム型知識ベースを用いた推論
システムに関わり、特に各フレームを構成するスロット
のスロット値を、予め記述された手順に従って求めてキ
ャッシュする推論システムに関する。
、これらフレームをネットワーク状につなぐことにより
対象世界を構築したフレーム型知識ベースを用いた推論
システムに関わり、特に各フレームを構成するスロット
のスロット値を、予め記述された手順に従って求めてキ
ャッシュする推論システムに関する。
(従来の技術)
エキスパートシステムに代表されるような人工知能(A
rtif’1cial Intelligence)の
分野では、対象とする事物や概念に関する知識を知識ベ
ースとして管理し、そこで管理される知識にアクセスし
て知識を利用したり、変更したりすることにより推論を
行なう。このため、知識ベースには、知識の変更に対し
ても柔軟に対処できる知識表現方式が必要とされる。
rtif’1cial Intelligence)の
分野では、対象とする事物や概念に関する知識を知識ベ
ースとして管理し、そこで管理される知識にアクセスし
て知識を利用したり、変更したりすることにより推論を
行なう。このため、知識ベースには、知識の変更に対し
ても柔軟に対処できる知識表現方式が必要とされる。
この種の知識ベースにおける知識表現の一つとして、各
対象物に関する知識をそれぞれフレームという単位でま
とめて複数のフレームをネットワーク状につなぐことに
より、知識の構造化を行なうフレーム型の知識表現方式
が従来より知られている。
対象物に関する知識をそれぞれフレームという単位でま
とめて複数のフレームをネットワーク状につなぐことに
より、知識の構造化を行なうフレーム型の知識表現方式
が従来より知られている。
このフレーム型知識表現方式では、1つの対象物につい
てのフレームを複数のスロット−値(スロット値ともい
う)のペアで構成する。スロットは、その対象物の属性
(例えば、色、重さ、l5−a等)を表す部分で、値(
スロット値)は、その対象物の属性値(例えば、白、5
0g等)や関係する他の対象物のフレーム名(例えば犬
、鳥等)を表す部分である。このベアには、様々な情報
を付加することが可能で、値の持つべきタイプ、値の数
、値にアクセスしたときに値が記述されていなかった場
合の値の算出のための式、手続、値を更新したときに起
動される手続等を付加できる。このようなフレームによ
る知識の構造化を図ることにより、人間の知識構造によ
く対応したきめ細かく表現力豊かな知識表現が可能であ
る。
てのフレームを複数のスロット−値(スロット値ともい
う)のペアで構成する。スロットは、その対象物の属性
(例えば、色、重さ、l5−a等)を表す部分で、値(
スロット値)は、その対象物の属性値(例えば、白、5
0g等)や関係する他の対象物のフレーム名(例えば犬
、鳥等)を表す部分である。このベアには、様々な情報
を付加することが可能で、値の持つべきタイプ、値の数
、値にアクセスしたときに値が記述されていなかった場
合の値の算出のための式、手続、値を更新したときに起
動される手続等を付加できる。このようなフレームによ
る知識の構造化を図ることにより、人間の知識構造によ
く対応したきめ細かく表現力豊かな知識表現が可能であ
る。
フレーム型知識ベースに対しては、主としてスロット値
の更新及び参照という形でアクセスが行われる。そして
、スロット値の参照に当たっては、参照時に値がなかっ
たときには、他のフレームを参照する等して値を計算し
て求めることが行われる。値の算出は、スロット−値ペ
アに付帯された式、手続等の手順に基づいて行われる。
の更新及び参照という形でアクセスが行われる。そして
、スロット値の参照に当たっては、参照時に値がなかっ
たときには、他のフレームを参照する等して値を計算し
て求めることが行われる。値の算出は、スロット−値ペ
アに付帯された式、手続等の手順に基づいて行われる。
スロット値がない場合に、フレームの1s−aスロット
によるリンクを辿って上位のフレームから値を求めるこ
とも、この特殊な場合と考えられる。
によるリンクを辿って上位のフレームから値を求めるこ
とも、この特殊な場合と考えられる。
このように、スロット値は、各時点での知識ベースの状
態に応じて動的に計算され求まることが多い。しかしな
がら、このようにスロット値を参照の度に計算していた
のでは、高速な推論処理の妨げになる。また、推論時に
は知識を参照する頻度の方が更新する頻度よりも高いこ
とが経験的に知られている。そこで、1度スロット値の
参照の際に算出されたスロット値をキャッシュしてスロ
ット値として直接書込んでおくことも考えられている。
態に応じて動的に計算され求まることが多い。しかしな
がら、このようにスロット値を参照の度に計算していた
のでは、高速な推論処理の妨げになる。また、推論時に
は知識を参照する頻度の方が更新する頻度よりも高いこ
とが経験的に知られている。そこで、1度スロット値の
参照の際に算出されたスロット値をキャッシュしてスロ
ット値として直接書込んでおくことも考えられている。
この方式によれば、2回目以降のアクセスでは、スロッ
ト値を計算する必要がなくなるので高速な推論処理が可
能になる。
ト値を計算する必要がなくなるので高速な推論処理が可
能になる。
しかし、この方式では、キャッシュした時点と次にアク
セスした時点との間で知識ベースが更新されると、キャ
ッシュした値を求めるのに使用された値が変更されるこ
とにより、上記キャッシュされた値が正しい値でなくな
る場合があるという問題があった。
セスした時点との間で知識ベースが更新されると、キャ
ッシュした値を求めるのに使用された値が変更されるこ
とにより、上記キャッシュされた値が正しい値でなくな
る場合があるという問題があった。
(発明が解決しようとする問題点)
このように、従来のフレーム型知識ベースを用いた推論
システムでは、高速なアクセスができないか、或はキャ
ッシュ方式を用いて高速にアクセスできたとしても、知
識ベースの更新に伴って正しくない値を求めてしまうと
いう欠点があった。
システムでは、高速なアクセスができないか、或はキャ
ッシュ方式を用いて高速にアクセスできたとしても、知
識ベースの更新に伴って正しくない値を求めてしまうと
いう欠点があった。
この発明は、上記欠点を解決し、フレーム型知識ベース
に対し、高速で矛盾なくアクセスすることが可能な推論
システムを提供することを目的とする。
に対し、高速で矛盾なくアクセスすることが可能な推論
システムを提供することを目的とする。
[発明の構成]
(問題点を解決するための手段)
この発明は、各フレームのスロットの付帯情報として当
該スロットのスロット値を他のスロット値から求める手
順を格納したフレーム型知識ベースと、前記スロットに
付帯する前記手順に従って求めた値を当該スロットのス
ロット値としてキャッシュし、このキャッシュ後のアク
セスを上記キャッシュされたスロット値に対して行なう
知識ベース管理部とを具備した推論システムにおいて、
前記フレーム型知識ベースと前記知識ベースアクセス管
理部とを次のように構成したことを特徴としている。
該スロットのスロット値を他のスロット値から求める手
順を格納したフレーム型知識ベースと、前記スロットに
付帯する前記手順に従って求めた値を当該スロットのス
ロット値としてキャッシュし、このキャッシュ後のアク
セスを上記キャッシュされたスロット値に対して行なう
知識ベース管理部とを具備した推論システムにおいて、
前記フレーム型知識ベースと前記知識ベースアクセス管
理部とを次のように構成したことを特徴としている。
即ち、前記フレーム型知識ベースは、スロットの付帯情
報として、当該スロットのスロット値の更新により影響
を与える他のスロット値を指示する依存関係情報と、当
該スロットのスロット値を求める際に用いられた他のス
ロット値の更新状況を示す更新情報とを備えている。
報として、当該スロットのスロット値の更新により影響
を与える他のスロット値を指示する依存関係情報と、当
該スロットのスロット値を求める際に用いられた他のス
ロット値の更新状況を示す更新情報とを備えている。
また、前記知識ベース管理部は、スロット値を更新する
際、前記依存関係情報に基づき前記スロット値と依存関
係にある他のスロット値の前記更新情報に更新があった
旨を登録し、スロット値にアクセスする際、前記スロッ
ト値の前記更新情報が当該スロット値のキャッシュ後に
更新のあった旨を表示しているときには、当該スロット
値を前記手順により再度求めて再キャッシュするもので
ある。
際、前記依存関係情報に基づき前記スロット値と依存関
係にある他のスロット値の前記更新情報に更新があった
旨を登録し、スロット値にアクセスする際、前記スロッ
ト値の前記更新情報が当該スロット値のキャッシュ後に
更新のあった旨を表示しているときには、当該スロット
値を前記手順により再度求めて再キャッシュするもので
ある。
(作用)
本発明によれば、フレームのスロットのスロット値を計
算によって求めるとともに、この求められた値をキャッ
シュし、キャッシュ後はキャッシュした値を直接参照す
る方式であるため、スロット値に高速にアクセスするこ
とができる。しかも、本発明によれば、スロット値の算
出の際に用いられた他のスロット値が更新されても、こ
の更新の際、知識ベース管理部が前記依存関係情報で指
示された他のスロット値の更新情報に更新があった旨を
登録し、このスロット値にアクセスする際には、上記ス
ロット値の更新情報を参照し、この更新情報が更新のあ
った旨を表示している場合には、当該スロット値を再度
求めて再キャッシュするため、常に正しいスロット値、
つまり更新した新しい情報に基づいた新しいスロット値
を求めることができる。
算によって求めるとともに、この求められた値をキャッ
シュし、キャッシュ後はキャッシュした値を直接参照す
る方式であるため、スロット値に高速にアクセスするこ
とができる。しかも、本発明によれば、スロット値の算
出の際に用いられた他のスロット値が更新されても、こ
の更新の際、知識ベース管理部が前記依存関係情報で指
示された他のスロット値の更新情報に更新があった旨を
登録し、このスロット値にアクセスする際には、上記ス
ロット値の更新情報を参照し、この更新情報が更新のあ
った旨を表示している場合には、当該スロット値を再度
求めて再キャッシュするため、常に正しいスロット値、
つまり更新した新しい情報に基づいた新しいスロット値
を求めることができる。
(実施例)
以下、図面を参照しながら、本発明の一実施例について
説明する。
説明する。
第1図は、本発明の一実施例における推論システムの全
体構成を示したものである。
体構成を示したものである。
このシステムは、入出力装置1と、知識ベース管理部2
と、フレーム型知識ベース3とから構成されている。
と、フレーム型知識ベース3とから構成されている。
入出力装置1は、ユーザがフレーム参照コマンドやスロ
ット値の更新コマンドを入力する際の入力手段と知識ベ
ース3の参照結果や更新結果をユーザに呈示する出力手
段とを兼ね備えたものである。
ット値の更新コマンドを入力する際の入力手段と知識ベ
ース3の参照結果や更新結果をユーザに呈示する出力手
段とを兼ね備えたものである。
知識ベース管理部2は、入出力装置1を介して入力され
たコマンドを解釈して、フレーム型知識ベース5にアク
セスし、その結果、得られた情報を入出力装置1を介し
て返すものである。この知識ベース管理部2は、更に知
識ベースアクセス制御部4と作業記憶部5とから構成さ
れている。知識ベースアクセス制御部4は、フレーム型
知識ベース3に対するアクセス制御を司る。作業記憶部
5は、入出力装置1及びフレーム型知識ベース3から与
えられるフレームパターンを記憶してパターンマツチン
グなど推論処理に必要な作業を行なうのに用いられる。
たコマンドを解釈して、フレーム型知識ベース5にアク
セスし、その結果、得られた情報を入出力装置1を介し
て返すものである。この知識ベース管理部2は、更に知
識ベースアクセス制御部4と作業記憶部5とから構成さ
れている。知識ベースアクセス制御部4は、フレーム型
知識ベース3に対するアクセス制御を司る。作業記憶部
5は、入出力装置1及びフレーム型知識ベース3から与
えられるフレームパターンを記憶してパターンマツチン
グなど推論処理に必要な作業を行なうのに用いられる。
フレーム型知識ベース3には、スロット−スロット値の
ベアから構成されるフレーム型の知識が格納されている
。この知識の一例を第2図に示す。
ベアから構成されるフレーム型の知識が格納されている
。この知識の一例を第2図に示す。
即ち、第2図に示すように、フレームAには、eoII
putatlon 、 add 、 aultといった
フレーム名Bが付されている。。各フレームAは、複数
のスロット−スロット値ベアから構成される。スロット
Cには、対象物の属性(result、 Input−
1など)、スロット値りには、その属性値(10,5,
6など)が記述されている。
putatlon 、 add 、 aultといった
フレーム名Bが付されている。。各フレームAは、複数
のスロット−スロット値ベアから構成される。スロット
Cには、対象物の属性(result、 Input−
1など)、スロット値りには、その属性値(10,5,
6など)が記述されている。
スロット−スロット値ペアには、様々な情報を付加する
ことができる。ここではファセットE1ファセット値F
のペアでそれを記述する。ファセット$ expres
slon$には、スロット値が存在しないときにスロッ
ト値を求める式が記述される。例えばファセット値(m
ult: 1nput−1) * (IIuit:In
put−2)は、multフレームのInput−1ス
ロツト値とInput−2スロツト値とを掛合わせるこ
とを示している。ここに示したフレーム群は、第3図に
示した計算モジュールを表現したものである。第2図の
例では、computationフレームのresul
tスロット値として(5*6)+10−40が求まる。
ことができる。ここではファセットE1ファセット値F
のペアでそれを記述する。ファセット$ expres
slon$には、スロット値が存在しないときにスロッ
ト値を求める式が記述される。例えばファセット値(m
ult: 1nput−1) * (IIuit:In
put−2)は、multフレームのInput−1ス
ロツト値とInput−2スロツト値とを掛合わせるこ
とを示している。ここに示したフレーム群は、第3図に
示した計算モジュールを表現したものである。第2図の
例では、computationフレームのresul
tスロット値として(5*6)+10−40が求まる。
なお、ここでは、ファセット値Fに記述される例として
数式を示したが、この他スロット値を求めるための手段
として論理式やプログラムを記述するようにしても良い
。
数式を示したが、この他スロット値を求めるための手段
として論理式やプログラムを記述するようにしても良い
。
また、ファセット$ errecL$には依存関係情報
が格納され、ファセット$ cached $には更新
情報が格納される。即ち、$ef’[’ecL$ファセ
ットには、それが設けられたスロットのスロット値を更
新した場合に影響を及ぼす他のスロットへのポインタが
格納される。また、$ cached $ファセットに
は、それが設けられたスロットのスロット値を求める際
に参照した他のスロット値が更新されたかどうかを示す
フラグが格納される。ここでは、更新された場合にフラ
グとして1が立ち、そうでないときはフラグとして0が
与えられる。
が格納され、ファセット$ cached $には更新
情報が格納される。即ち、$ef’[’ecL$ファセ
ットには、それが設けられたスロットのスロット値を更
新した場合に影響を及ぼす他のスロットへのポインタが
格納される。また、$ cached $ファセットに
は、それが設けられたスロットのスロット値を求める際
に参照した他のスロット値が更新されたかどうかを示す
フラグが格納される。ここでは、更新された場合にフラ
グとして1が立ち、そうでないときはフラグとして0が
与えられる。
次に、以上のように構成された推論システムの動作につ
いて説明する。
いて説明する。
ま、ず始めに、入出力装置1を介して
cowputat Ionフレームのresultスロ
ット値の参照コマンドが知識ベース管理部2に与えられ
ると、知識ベースアクセス制御部4は作業記憶部5を介
してフレーム型知識ベース3のcomputat lo
nフレームのresultスロット値を参照する(第2
図参照)。しかし、第2図に示すように、そこには値が
記述されていないので、$ expression$フ
ァセットを参照し、addフレームにアクセスし、In
put−1スロツト値とInput−2スロツト値とを
参照する。しかし、addフレームのInput−2ス
ロツトにも値が記述されていないので、$ expre
ssion$ファセットを参照し、さらにll1ult
フレームにアクセスする。addの1nput−2は、
(IIud: Input−1) * (mul
t: Input−2) −30と分り、これをキ
ャッシュする。すると、次回がらは、ff1UItフレ
ームにアクセスせずにスロット値カ求まるので、高速に
値を取出すことができる。
ット値の参照コマンドが知識ベース管理部2に与えられ
ると、知識ベースアクセス制御部4は作業記憶部5を介
してフレーム型知識ベース3のcomputat lo
nフレームのresultスロット値を参照する(第2
図参照)。しかし、第2図に示すように、そこには値が
記述されていないので、$ expression$フ
ァセットを参照し、addフレームにアクセスし、In
put−1スロツト値とInput−2スロツト値とを
参照する。しかし、addフレームのInput−2ス
ロツトにも値が記述されていないので、$ expre
ssion$ファセットを参照し、さらにll1ult
フレームにアクセスする。addの1nput−2は、
(IIud: Input−1) * (mul
t: Input−2) −30と分り、これをキ
ャッシュする。すると、次回がらは、ff1UItフレ
ームにアクセスせずにスロット値カ求まるので、高速に
値を取出すことができる。
computationフレームのresultスロッ
ト値も、(add : Input−1) +(ad
d : Input−2)なる計算によって、40と
求まる。これも同様にキャッシュする。この結果、フレ
ームは、第4図のような状態になる。これ以降の処理で
は、co11putattoロフレームのresult
スロット値は40であることが即座に求まる。
ト値も、(add : Input−1) +(ad
d : Input−2)なる計算によって、40と
求まる。これも同様にキャッシュする。この結果、フレ
ームは、第4図のような状態になる。これ以降の処理で
は、co11putattoロフレームのresult
スロット値は40であることが即座に求まる。
ところが、その後multフレームのInput−1ス
ロツト値が5から10に更新されたとする。
ロツト値が5から10に更新されたとする。
Input−1スロツト値がこのように変更になると、
キャッシュされていたcomputationフレーム
のresultスロット値もaddフレームのInpu
t−2スロツト値も共に正しい値とはならなくなる。そ
こで、スロット値の更新時に、ll1ultフレームの
1nput−1スロツトの$errect$ファセット
のポインタ(依存関係情報)によってその更新が影響を
及ぼすaddフレームのInput−2スロツトを辿り
、その$ cached $ファセットのフラグを1に
していく。
キャッシュされていたcomputationフレーム
のresultスロット値もaddフレームのInpu
t−2スロツト値も共に正しい値とはならなくなる。そ
こで、スロット値の更新時に、ll1ultフレームの
1nput−1スロツトの$errect$ファセット
のポインタ(依存関係情報)によってその更新が影響を
及ぼすaddフレームのInput−2スロツトを辿り
、その$ cached $ファセットのフラグを1に
していく。
さらに、そのスロットの$ elect $ファセット
のポインタから、contputat Ionフレーム
のresultスロットを辿り、その$ cached
$ファセットのフラグを1にする。$efrect$
のポインタをこれ以上辿れなくなるまでこれを繰返すと
、各フレームの内容は第5図のようになる。
のポインタから、contputat Ionフレーム
のresultスロットを辿り、その$ cached
$ファセットのフラグを1にする。$efrect$
のポインタをこれ以上辿れなくなるまでこれを繰返すと
、各フレームの内容は第5図のようになる。
この状態で、知識ベース管理部2が
CHputat fanフレームのresultスロッ
トのスロット値にアクセスしようとすると、resul
tスロットの$ cached $のファセット値に1
が立っていることを検出するので、既にキャッシュされ
ている値が正しくないことが分り、改めてresult
スロット値の再計算を行なう。そして、新たに求められ
たスロット値をキャッシュするとともに、$ cach
ed $を再び0にクリアする。このときの各フレーム
の状態は、第6図のようになる。以降、更新した新たな
知識ベースの状態のもとで、高速にスロット値を取出す
ことができる。
トのスロット値にアクセスしようとすると、resul
tスロットの$ cached $のファセット値に1
が立っていることを検出するので、既にキャッシュされ
ている値が正しくないことが分り、改めてresult
スロット値の再計算を行なう。そして、新たに求められ
たスロット値をキャッシュするとともに、$ cach
ed $を再び0にクリアする。このときの各フレーム
の状態は、第6図のようになる。以降、更新した新たな
知識ベースの状態のもとで、高速にスロット値を取出す
ことができる。
以上の処理手順を第7図及び第8図に示す。第7図はス
ロット値を更新するときの処理手順、第8図はスロット
値を求めるときの処理手順である。
ロット値を更新するときの処理手順、第8図はスロット
値を求めるときの処理手順である。
スロット値を更新するときは、第7図において、まず更
新したいスロット値を指定しく11)、値を更新する(
12)。上記の例では、1Ilu1tフレームのInp
ut−1スロツトを5から10に更新する。
新したいスロット値を指定しく11)、値を更新する(
12)。上記の例では、1Ilu1tフレームのInp
ut−1スロツトを5から10に更新する。
そして、そのスロットに$efl’ecL$ファセット
があるか調べる(13)。$e[’rect$ファセッ
トが無い場合には、それで更新手続は終わるが、この場
合は、あるので、$errect$の先を辿り、その先
にあるスロットの$ cached$フラグを1にする
(14)、ここでは、addフレームのInput−2
スロツトの$ cached $ファセットに1が立つ
。更にこの1を立てたスロットの$ el’fect$
ファセットを辿る( 15 ) o computat
ionフレームのresultスロットに辿りつき、そ
の$ cached$ファセットに1が立つ(14)。
があるか調べる(13)。$e[’rect$ファセッ
トが無い場合には、それで更新手続は終わるが、この場
合は、あるので、$errect$の先を辿り、その先
にあるスロットの$ cached$フラグを1にする
(14)、ここでは、addフレームのInput−2
スロツトの$ cached $ファセットに1が立つ
。更にこの1を立てたスロットの$ el’fect$
ファセットを辿る( 15 ) o computat
ionフレームのresultスロットに辿りつき、そ
の$ cached$ファセットに1が立つ(14)。
以下、$ cff’cct $ 77 セーtトがある
限り、それを辿って$ cached$フラグを1にセ
ットしていく。$cffect$ファセットがなくなっ
たら、更新手続は終了する(15)。
限り、それを辿って$ cached$フラグを1にセ
ットしていく。$cffect$ファセットがなくなっ
たら、更新手続は終了する(15)。
また、スロット値を求めるときは、第8図に示すように
、フレームとスロットとを指定する(21)、上記例で
は、conputattonフレームのresultス
ロットを指定する。そこに値が存在しなければ、そのス
ロット値を計算する(24) 、また、直接、そこに値
が存在するならば(22)、今度はその値を正しいかど
うか、即ちそのスロットの$ cached $ファセ
ットに1が立っているものがあるか゛どうかを調べる(
23)。もし1が立っていれば、そのスロット値は正し
くないので、スロット値を改めて計算する(24)。こ
こでは、addフレームの1nput−2スロツトに対
しても同様に再計算・再キャッシュが行われ、70とい
う値がeollputatiOnフレームのresul
tスロットにキャッシュされる(25)とともに、$
cached $フラグがOにクリアされる(26)。
、フレームとスロットとを指定する(21)、上記例で
は、conputattonフレームのresultス
ロットを指定する。そこに値が存在しなければ、そのス
ロット値を計算する(24) 、また、直接、そこに値
が存在するならば(22)、今度はその値を正しいかど
うか、即ちそのスロットの$ cached $ファセ
ットに1が立っているものがあるか゛どうかを調べる(
23)。もし1が立っていれば、そのスロット値は正し
くないので、スロット値を改めて計算する(24)。こ
こでは、addフレームの1nput−2スロツトに対
しても同様に再計算・再キャッシュが行われ、70とい
う値がeollputatiOnフレームのresul
tスロットにキャッシュされる(25)とともに、$
cached $フラグがOにクリアされる(26)。
キャッシュによってスロット値が更新されたので、更新
手続(27)を行なう。これは第7図に示したものと同
じ手続である。この後、スロット値を返す(28)。ま
た、ステップ23においてフラグが0である場合には、
そのままスロット値を返す(28)。
手続(27)を行なう。これは第7図に示したものと同
じ手続である。この後、スロット値を返す(28)。ま
た、ステップ23においてフラグが0である場合には、
そのままスロット値を返す(28)。
以上の実施例によれば、各スロットのスロット(直を参
照す際に、スロットに付帯した$ cached $フ
ァセットのフラグを参照することにより、そのフロット
値が正しいものかどうかが分り、正しくない場合には再
計算・再キャッシュすることにより、アクセスの高速性
を維持しつつ常に正しい値を参照できる。なお、この実
施例では、$ cached $ファセット値として各
ポインタに対応したフラグを設けたが、フラグの数は各
$ cached $ファセット毎に1つとしても良い
。
照す際に、スロットに付帯した$ cached $フ
ァセットのフラグを参照することにより、そのフロット
値が正しいものかどうかが分り、正しくない場合には再
計算・再キャッシュすることにより、アクセスの高速性
を維持しつつ常に正しい値を参照できる。なお、この実
施例では、$ cached $ファセット値として各
ポインタに対応したフラグを設けたが、フラグの数は各
$ cached $ファセット毎に1つとしても良い
。
第9図乃至第11図に本発明の他の実施例を示す。この
実施例では、第9図に示すように、$ update−
tir6e $ファセットにスロット値が更新された時
刻を格納し、$ cached−time $ファセッ
トにスロット値がキャッシュされた時刻を格納するよう
にしたものである。
実施例では、第9図に示すように、$ update−
tir6e $ファセットにスロット値が更新された時
刻を格納し、$ cached−time $ファセッ
トにスロット値がキャッシュされた時刻を格納するよう
にしたものである。
スロット値を更新するときの処理手順を第10図に、ス
ロット値を求めるときの処理手順を第11図に示す。
ロット値を求めるときの処理手順を第11図に示す。
スロット値を更新するときは、第10図に示すように、
更新したいスロットを指定しく31)、値を更新する(
32)、同時に$ update−time $も更新
する(33)。上述の例では、multフレームのIn
put−1スロツトを5から10に更新し、現在時刻を
、$ update−tinge $に書込む。そして
、そのスロットに$cffect$ファセットがあるか
調べる(34)。$efl’ect$ファセットが無い
場合には、これで更新手続は終了するが、この場合はあ
るので、$efrect$ファセットの先を辿り、その
先にあるスロッ′トの$ update−time $
を現在時刻に更新する(35)、以下、$ ef’f’
ect $ファセットがある限り、それを辿って$ u
pdate−1IIIe $を更新していく。$el’
f’ect$ファセットがなくなったら、更新手続は終
了する(36)。
更新したいスロットを指定しく31)、値を更新する(
32)、同時に$ update−time $も更新
する(33)。上述の例では、multフレームのIn
put−1スロツトを5から10に更新し、現在時刻を
、$ update−tinge $に書込む。そして
、そのスロットに$cffect$ファセットがあるか
調べる(34)。$efl’ect$ファセットが無い
場合には、これで更新手続は終了するが、この場合はあ
るので、$efrect$ファセットの先を辿り、その
先にあるスロッ′トの$ update−time $
を現在時刻に更新する(35)、以下、$ ef’f’
ect $ファセットがある限り、それを辿って$ u
pdate−1IIIe $を更新していく。$el’
f’ect$ファセットがなくなったら、更新手続は終
了する(36)。
また、スロット値を求めるときは、第11図に示すよう
に、フレームとスロットとを指定しく41)、そこに値
があれば(42)、その値が正しいか調べる( 4 B
) o $ ul)date−time $ファセッ
トと$ cached−1ime $ファセットとを比
べて$ update−tiIle $の方が新しけれ
ば、そのスロット値は正しくないので、改めてスロット
値を計算する(44)。得られた値をキャッシュしく4
5)、その時の時刻を$ cached−tiIIe
$に書込む(46)。キャッシュによってスロット値が
更新されたので、更新手続を行なう(47)。これは第
10図に示したのと同じ手続である。更新手続が終了し
たらスロット値を返す(48)。
に、フレームとスロットとを指定しく41)、そこに値
があれば(42)、その値が正しいか調べる( 4 B
) o $ ul)date−time $ファセッ
トと$ cached−1ime $ファセットとを比
べて$ update−tiIle $の方が新しけれ
ば、そのスロット値は正しくないので、改めてスロット
値を計算する(44)。得られた値をキャッシュしく4
5)、その時の時刻を$ cached−tiIIe
$に書込む(46)。キャッシュによってスロット値が
更新されたので、更新手続を行なう(47)。これは第
10図に示したのと同じ手続である。更新手続が終了し
たらスロット値を返す(48)。
この実施例によれば、更新時刻とキャッシング時刻との
前後関係からスロット値が正しいかどうかを判断するこ
とができる。
前後関係からスロット値が正しいかどうかを判断するこ
とができる。
なお、前記各実施例では、スロット値の計算のために必
要となる情報の依存関係情報を$ ef’l’ect
$ファセットに付加したが、それは予めフレームにアク
セスする前に付加しておく必要がある。知識ベース構築
時に知識ベース管理部2が依存関係情報をフレームに付
加する処理手順を第12図に示す。
要となる情報の依存関係情報を$ ef’l’ect
$ファセットに付加したが、それは予めフレームにアク
セスする前に付加しておく必要がある。知識ベース構築
時に知識ベース管理部2が依存関係情報をフレームに付
加する処理手順を第12図に示す。
まず、知識ベースより1つフレームを選び(51)、さ
らにその中のスロットを1つ選ぶ(52)。そのスロッ
トに$ expression$ファセットがあれば(
53)、その式に現われるフレームのスロットの$er
l’ect$ファセット値として現在選ばれているフレ
ームのスロットを指すように、ポインタを書込む(54
)。これを全てのスロット、全てのフレームについて行
なう(55゜56)。これにより、知識ベース構築者の
手を煩わせることなく、全てのフレームについて$ e
rrect $ファセットを設定することができる。
らにその中のスロットを1つ選ぶ(52)。そのスロッ
トに$ expression$ファセットがあれば(
53)、その式に現われるフレームのスロットの$er
l’ect$ファセット値として現在選ばれているフレ
ームのスロットを指すように、ポインタを書込む(54
)。これを全てのスロット、全てのフレームについて行
なう(55゜56)。これにより、知識ベース構築者の
手を煩わせることなく、全てのフレームについて$ e
rrect $ファセットを設定することができる。
[発明の効果コ
以上述べたように、本発明によればフレームのスロット
−値ペアにそのスロット値の更新により影響を与える他
のスロット値を指示する依存関係情報と、当該スロット
値の導出に用いられる他のスロットの更新状況を示す更
新情報とを付加しているため、スロット値のキャッシュ
を行なったときに、正しい値がキャッシュされているか
検出でき、高速で矛盾のないフレーム型知識ベースのア
クセスが可能になる。
−値ペアにそのスロット値の更新により影響を与える他
のスロット値を指示する依存関係情報と、当該スロット
値の導出に用いられる他のスロットの更新状況を示す更
新情報とを付加しているため、スロット値のキャッシュ
を行なったときに、正しい値がキャッシュされているか
検出でき、高速で矛盾のないフレーム型知識ベースのア
クセスが可能になる。
第1図は本発明の一実施例に係る推論システムの構成を
示すブロック図、第2図は同システムにおけるフレーム
型知識ベースに格納されたフレームの構成を示す図、第
3図は同フレームによって表現される対象世界の概念を
示す図、第4図乃至第6図は同システムにおけるフレー
ム型知識ベースの各時点の状態を示す図、第7図及び第
8図は同システムにおける知識ベース管理部の動作フロ
ーを示す流れ図、第9図は本発明の他の実施例に係る推
論システムにおける知識ベースの内容を示す図、第10
図及び第11図は同システムにおける知識ベース管理部
の動作フローを示す流れ図、第12図は本発明の更に他
の実施例に係る依存関係情報の自動付加手順を示す流れ
図である。 1・・・入出力装置、2・・・知識ベース管理部、3・
・・フレーム型知識ベース、4・・・知識ベースアクセ
ス制御部、5・・・作業記憶部。 出願人代理人 弁理士 鈴江武彦 第7図 第11図
示すブロック図、第2図は同システムにおけるフレーム
型知識ベースに格納されたフレームの構成を示す図、第
3図は同フレームによって表現される対象世界の概念を
示す図、第4図乃至第6図は同システムにおけるフレー
ム型知識ベースの各時点の状態を示す図、第7図及び第
8図は同システムにおける知識ベース管理部の動作フロ
ーを示す流れ図、第9図は本発明の他の実施例に係る推
論システムにおける知識ベースの内容を示す図、第10
図及び第11図は同システムにおける知識ベース管理部
の動作フローを示す流れ図、第12図は本発明の更に他
の実施例に係る依存関係情報の自動付加手順を示す流れ
図である。 1・・・入出力装置、2・・・知識ベース管理部、3・
・・フレーム型知識ベース、4・・・知識ベースアクセ
ス制御部、5・・・作業記憶部。 出願人代理人 弁理士 鈴江武彦 第7図 第11図
Claims (3)
- (1)各対象物に関する知識をスロット−スロット値か
らなるフレームで表現し、各フレームをネットワーク状
につなぐことにより対象世界を表現するとともに、前記
スロットの付帯情報として当該スロットのスロット値を
他のスロット値から求める手順を備えたフレーム型知識
ベースと、このフレーム型知識ベースに対するアクセス
及び管理を行なうとともに、前記スロットに付帯する前
記手順に従って求めた値を当該スロットのスロット値と
してキャッシュし、このキャッシュ後のアクセスを上記
キャッシュされたスロット値に対して行なう知識ベース
管理部とを具備した推論システムにおいて、 前記フレーム型知識ベースは、スロットの付帯情報とし
て、当該スロットのスロット値の更新により影響を与え
る他のスロット値を指示する依存関係情報と、当該スロ
ットのスロット値を求める際に用いられた他のスロット
値の更新状況を示す更新情報とを備え、前記知識ベース
管理部は、スロット値を更新する際、前記依存関係情報
に基づき前記スロット値と依存関係にある他のスロット
値の前記更新情報に更新があった旨を登録し、スロット
値にアクセスする際、前記スロット値の前記更新情報が
当該スロット値のキャッシュ後に更新のあった旨を表示
しているときには、当該スロット値を前記手順により再
度求めて再キャッシュするものであることを特徴とする
推論システム。 - (2)前記更新情報は、前記スロット値をキャッシュし
た後に当該スロット値を求める際に用いられた他のスロ
ット値が更新されたことを示すフラグであることを特徴
とする特許請求の範囲第1項記載の推論システム。 - (3)前記更新情報は、前記スロット値をキャッシュし
た時刻と、当該スロット値を求める際に用いられた他の
スロット値が更新された時刻とを示す情報であることを
特徴とする特許請求の範囲第1項記載の推論システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62293455A JPH01134630A (ja) | 1987-11-20 | 1987-11-20 | 推論システム |
US07/272,400 US4967371A (en) | 1987-11-20 | 1988-11-17 | Method and apparatus for inference |
EP19880119217 EP0316937A3 (en) | 1987-11-20 | 1988-11-18 | Method and apparatus for inference |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62293455A JPH01134630A (ja) | 1987-11-20 | 1987-11-20 | 推論システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01134630A true JPH01134630A (ja) | 1989-05-26 |
Family
ID=17794976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62293455A Pending JPH01134630A (ja) | 1987-11-20 | 1987-11-20 | 推論システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US4967371A (ja) |
EP (1) | EP0316937A3 (ja) |
JP (1) | JPH01134630A (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03209526A (ja) * | 1989-10-23 | 1991-09-12 | Internatl Business Mach Corp <Ibm> | オブジェクト指向コンピュータシステム |
JPH03164832A (ja) * | 1989-11-22 | 1991-07-16 | Toshiba Corp | フレーム構造を有する推論システムにおける継承情報の格納方法 |
JPH03294929A (ja) * | 1990-04-12 | 1991-12-26 | Hitachi Ltd | 知識処理支援システムおよび知識処理システム |
JPH04101225A (ja) * | 1990-08-20 | 1992-04-02 | Fuji Xerox Co Ltd | オブジェクト指向エキスパートシステムにおけるスロットアクセス方法 |
US5604907A (en) * | 1993-12-30 | 1997-02-18 | International Business Machines Corporation | Computer system for executing action slots including multiple action object classes |
JP3390312B2 (ja) * | 1996-10-31 | 2003-03-24 | 富士通株式会社 | オブジェクト間通信方法及びオブジェクト間通信システム |
US7493253B1 (en) | 2002-07-12 | 2009-02-17 | Language And Computing, Inc. | Conceptual world representation natural language understanding system and method |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4648044A (en) * | 1984-06-06 | 1987-03-03 | Teknowledge, Inc. | Basic expert system tool |
US4658370A (en) * | 1984-06-07 | 1987-04-14 | Teknowledge, Inc. | Knowledge engineering tool |
US4591983A (en) * | 1984-07-09 | 1986-05-27 | Teknowledge, Inc. | Hierarchical knowledge system |
US4675829A (en) * | 1984-07-27 | 1987-06-23 | Intellicorp Corporation | Method and apparatus for building knowledge-based systems |
US4670848A (en) * | 1985-04-10 | 1987-06-02 | Standard Systems Corporation | Artificial intelligence system |
JPS6326726A (ja) * | 1986-07-21 | 1988-02-04 | Toshiba Corp | 情報処理装置 |
US4866635A (en) * | 1987-10-19 | 1989-09-12 | Carnegie Group Inc. | Domain independent shell for building a diagnostic expert system |
-
1987
- 1987-11-20 JP JP62293455A patent/JPH01134630A/ja active Pending
-
1988
- 1988-11-17 US US07/272,400 patent/US4967371A/en not_active Expired - Lifetime
- 1988-11-18 EP EP19880119217 patent/EP0316937A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US4967371A (en) | 1990-10-30 |
EP0316937A2 (en) | 1989-05-24 |
EP0316937A3 (en) | 1992-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3946233B2 (ja) | 画像表示システム | |
US6915301B2 (en) | Dynamic object properties | |
US5339410A (en) | Method of bidirectional recalculation | |
EP0982670A2 (en) | Dynamic object visualization and code generation | |
US20050108681A1 (en) | Method and system for applying user interface elements to data | |
US8806138B1 (en) | Dynamic dependencies and parameterizations for execution and caching | |
JPH01134630A (ja) | 推論システム | |
JPH0778105A (ja) | 連係データ構造を維持するための方法及びシステム | |
US6269363B1 (en) | Method of accessing data using approximate data structures by relaxing the operations that define same | |
US6212533B1 (en) | Hyper-media document management system having navigation mechanism | |
JPH0565892B2 (ja) | ||
JP2891322B2 (ja) | 円滑テキスト表示システム | |
CN112347160B (zh) | 一种基于呼叫中心系统的工单管理方法、系统及存储介质 | |
JPH0291728A (ja) | 推論システム | |
JPH08235266A (ja) | 表計算処理方法 | |
JP3243791B2 (ja) | コンピュータによるプログラム修正管理方式 | |
CN117950653A (zh) | 一种可视化流程构建方法 | |
JPH07192005A (ja) | 学習記憶制御装置 | |
CN115269550A (zh) | 一种数据处理方法及装置 | |
CN118212322A (zh) | 一种适用于流程编辑的有向图布局方法及装置 | |
JPH05181724A (ja) | 地図座標データ管理装置 | |
JPH0451370A (ja) | 図形データ保存ストラクチャの削除方式 | |
JPS62216037A (ja) | ソ−スライブラリによるメツセ−ジ管理方式 | |
JPH01131929A (ja) | 段階的詳細化表現方式及び装置 | |
JPH01162922A (ja) | 表示ウィンドウ管理方式 |