JPS6345631A - Apparatus and method for expert system - Google Patents
Apparatus and method for expert systemInfo
- Publication number
- JPS6345631A JPS6345631A JP61187651A JP18765186A JPS6345631A JP S6345631 A JPS6345631 A JP S6345631A JP 61187651 A JP61187651 A JP 61187651A JP 18765186 A JP18765186 A JP 18765186A JP S6345631 A JPS6345631 A JP S6345631A
- Authority
- JP
- Japan
- Prior art keywords
- term
- definition
- value
- terms
- undefined
- 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
Links
- 238000000034 method Methods 0.000 title claims description 24
- 230000008569 process Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 72
- 238000010586 diagram Methods 0.000 description 15
- 238000011156 evaluation Methods 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 12
- 239000000284 extract Substances 0.000 description 11
- 230000004044 response Effects 0.000 description 8
- 230000006378 damage Effects 0.000 description 7
- 208000024891 symptom Diseases 0.000 description 7
- 230000006872 improvement Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 102000014944 Lysosome-Associated Membrane Glycoproteins Human genes 0.000 description 4
- 108010064171 Lysosome-Associated Membrane Glycoproteins Proteins 0.000 description 4
- 230000008094 contradictory effect Effects 0.000 description 4
- 238000012057 exposure response modelling Methods 0.000 description 4
- 206010022000 influenza Diseases 0.000 description 4
- 206010037660 Pyrexia Diseases 0.000 description 3
- 208000036071 Rhinorrhea Diseases 0.000 description 3
- 206010039101 Rhinorrhoea Diseases 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 201000010099 disease Diseases 0.000 description 3
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 3
- NQLVQOSNDJXLKG-UHFFFAOYSA-N prosulfocarb Chemical compound CCCN(CCC)C(=O)SCC1=CC=CC=C1 NQLVQOSNDJXLKG-UHFFFAOYSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 201000009409 embryonal rhabdomyosarcoma Diseases 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 101100080548 Arabidopsis thaliana NRPB1 gene Proteins 0.000 description 1
- 101100170092 Arabidopsis thaliana PDF1B gene Proteins 0.000 description 1
- 208000035143 Bacterial infection Diseases 0.000 description 1
- 208000019647 Familial infantile myoclonic epilepsy Diseases 0.000 description 1
- 239000004230 Fast Yellow AB Substances 0.000 description 1
- 241001116759 Koeberlinia Species 0.000 description 1
- 101100306008 Plasmodium falciparum (isolate CDC / Honduras) RPII gene Proteins 0.000 description 1
- 235000002492 Rungia klossii Nutrition 0.000 description 1
- 244000117054 Rungia klossii Species 0.000 description 1
- 101100125496 Schizosaccharomyces pombe (strain 972 / ATCC 24843) iec3 gene Proteins 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 208000022362 bacterial infectious disease Diseases 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 101150060894 def2 gene Proteins 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000003129 oil well Substances 0.000 description 1
- 239000002674 ointment Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 235000015067 sauces Nutrition 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 235000021419 vinegar Nutrition 0.000 description 1
- 239000000052 vinegar Substances 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Abstract] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
発明の背景
産業上の利用分野
本発明はデジタルコンピュータにより実現されるエキス
ハートシステム、特にエキスパートシステムの知識ベー
スおよび推論エンジンコンポーネy ト(推論機構コン
ポーネント)、エキスパートシステムをつくる装置なら
びに定義化知識ベースをつくる装置と方法とに関する。
最近、エキスパートシステムが市販され始めた。
エキスパートシステムとは当該技術分野のエキスパート
と同じ要領で所定の専門領域で情報を提供スルシステム
である。さらに、エキスハートシステムは、ある程度そ
ル自体で説明ができる点で人間の専門家(エキスハート
)に似ている。その複雑さに応じて、エキスパートシス
テムは所定の結論に達した理由、所定の情報を必要とす
る理由全説明し、使用者が所定の情報の値を変え、その
結果に対する作用の仕方を判るようにできろ。大型のコ
ンピュータシステムの構成や、バクテリヤ感染の診断、
あるいは油井掘削機の先が掘り当てた理由の診断及びそ
の対策を教示するエキスパートシステムはすでに構成さ
れている。
従来技術によるエキスパートシステムは一般的にルール
ニ基いておす、即チ、エキスパートシステムの使用者が
提起する事実に対し専門家にその専門領域について質問
することにより得られるルールを適用することにより機
能してきた。そのルールとは一般的に
もしAであればB (IF A then B)とい
う形態である。
そのようなルールにおいて、Aは、結論であるBの述語
と称する。Aが正しいとすれば、その結論は正しいと考
えられる。例えば、医療診断システムにおける1つのル
ールは、「もし患者は熱があり、鼻水を出しているとす
れば、インフルエンザに罹つ念のであろう」というよう
なものである。
このルール((よれば、もし兆候が熱で、鼻水が出るの
であれば、その可能な答えはインフルエンザである。
第1図は従来技術によるルールに基いたエキスパートシ
ステムのブロック線図である。エキスパートシステム1
01は3種類の構成(コンポーネント)ヲ有する。即ち
、コマンドプロセッサ(CP)103と、ルール推論機
構(RIE)105とルール記憶装置(RE)107で
ある。RS 107は当該システムがエキスハートであ
る領域に対するルール109を含む。RIE105は利
用者から問題のデータ全受取シ、データに対してR31
07のルール全適用し、間頂のデータに対するルールの
適用結果を利用者に提供する。Cr2O2は推論機構コ
マンドCIEC)によりRIE105’f<制御する。
CP103は利用者によシ提供されるコマンド入力から
コマンドを発生させる。前述のインフルエンザについて
いえハ、 医療診断エキスパートシステムの利用者はC
Pに対して「何の病気?」というコマンドを入力する。
次いで、CP103はRIE105に対してエンジンの
命令を提供し、病気に対するルールが兆候を必要とする
か検出する。次いで、RIE105が、多分「兆候は何
か?」と質関することにより使用者から問題のデータを
要求する。次いで、使用者が兆候を入力し、RIE10
5が、兆候がそれに対する述語であるルールを見出し、
結果データとしてルールの結論を戻す。例えば、入力の
兆候が「熱と鼻水」とであるとすれば、エキスパートシ
ステム101は前述Oルール109から、病気はインフ
ルエンザであろうと結論する。勿論、その他多くの病気
も同じ兆候を有するので、その述語の一部としての兆候
を有するルール109は1個以上あることになる。その
微妙さによって、エキスパートシステム101はそのa
の一部としてそれらの兆候全有する全てのルール109
の結論を結果として単に戻すか、あるいはさらに多くの
兆候を使用者に質関し、適用すべきルールの数を絞るた
めに新しい兆候を使用する。いずれの場合においテモ、
エキスパートシステム101は使用者の要求に応じて、
結論に達するででにどのルール109を用いたかを示す
。
第1の従来技術のエキスパートシステム101は特別製
であり、エキスパートと、ノーレッジC知H4>エンジ
ニアと、コンピュータシステムエンジニアとの間で長期
の、緊密な協力を必要とした。エキスパートがその専門
知識を提供し、ノーレッジエンジニアが専門知識をルー
ル109に演えきし、R7’A’105と、R8107
でルール109を記憶するために使用する表示とを構成
した。最終的に、コンピュータシステム設it 8 カ
ッ−レッジエンジニアの設計を実施するプログラムを書
込んだ。
特別製のエキスパートシステム101’に構成する友め
に専門家の時間を要した大量の入力により該システムを
極めて高価にし、エキスパートシステム101のメーカ
がエキスパートシステムをつくるためのエキスパートシ
ステムシェルト称スる特殊なツール(tool)を開発
することになった。
第1A図はルールに基いたエキスパート中のエキスパー
トシステムシェル110のブロック線図テある。第1A
図から判るように、エキスパートシステムシェルは第1
図に示すルールに基くエキスパートシステムの要素なら
びに付加的な要素即ちルールプロセッサ(RP)lll
’に有する。ルールプロセッサ111は、現在構成され
ているエキスパートシステムに対して特定のR8107
で記憶するルール109をつくるために使用される。
RIE105は、構成されるにつれてエキスパートシス
テムを試験するためにエキスパートシステムシェル11
0において使用される。開発されつつあるエキスハート
システム用の全てのルール109が書込まれ、かつエキ
スパートシステムが完全に検出されると、新しいエキス
パートシステムの使用者は新しいエキスパートに対して
RIE105とR8107にアクセスできるようになる
。
エキスパートシステムシェル110の有用性ハ著しく、
RPlllの微妙さによって変わる。あるエキスパート
システムにおいては、RP111ニアを必要とし、エキ
スハート自身では使用できない。その他のシステムにお
いては、RPlllはエキスハートにより提供される例
からルールを・構成シ、そのためノーレッジエンジニア
を必要としない。
ルールに基いたエキスパートシステム101は着実にさ
らに強力で、さらに使用され、かつ安価になりつつある
が、ルールに対する依存性はある種の固有の欠点を有す
る。まず、はとんどのエキスパートは一組のルールにつ
いての専門領域については考えない。前述のようにエキ
スパートが考えないので、ノーレッジエンジニアあるい
は例からルールを構成しているシステムがエキスパート
とエキスパートシステムシェル110との間テ考えろ必
要がある。1ず、エキスパートシステムの開発は、開発
しないより高くつき、かつ第2に、エキスパートシステ
ム110の複雑さは開発しなくてもより複雑であり、し
かもエキスパートはシェル110によシつくられろルー
ルを調べる必要がちるのでルールから完全に解放される
ことにならない。
次に、R8107は相互に独立してつくられたルール1
09全集めたものであるのでルール109の収集が完全
であって、矛盾するルールを含んでいないという保証が
ない。一組のルール109が不完全であるとすれば、エ
キスパートシステム101は何ら結論に達しないか、あ
るいは間違った結論に達する可能性がある。もしその組
のルール109が矛盾するルール109を含んでいると
すれば、エキスパートシステム101はまたも結論に達
しないか、ルールよりもその矛盾全解明するためにRI
E105の内部アルゴリズムに依存する結論に達する可
能性がある。
不完全な組のルール109に対して、あるいは矛盾ルー
ル109に対しても作動しうることはルールに基いたシ
ステム101の強味の一部であって、エキスパートがそ
の専門領域を明白な原理にして演えきできない状況下に
おいて必要とされる。
しかしながら、エキスパー トシステムはエキスパート
がその専門細織を明白な原理に演えきできろ多くの状況
において採用さnており、これらの状況下においては、
不完全な組のルール109および矛盾するルール109
に対処しうろ能力はミスの検出音さらに困難とし、ミス
が発生した場合、システム101の作動全ルールでfx
< RIE105の内部アルゴリズムに依存するように
させる。
第3に、ルールに基〈エキスハートシステム101は修
正が困難である。ルールに基〈エキスハートシステムの
作動はそのルールの全体性に依存し、それがバグ(6u
g)’に有し、あるいはエキスパートが所定のケースを
どのように処理するか考えを変えてし壕っているのでエ
キスパートシステムの作動を変えるとすればどのルール
2変えろ必要があるか決定するのが困難であることが多
い。
第4に、ルールに基いたエキスパートシステム101の
強味と複雑さとはエキスパートシステムが有用な多くの
状況においては必要とされない。
−殻内に、強味と複雑さとは、エキスパートがその専門
知識を完全に特定できない場合に必要とされる。しかし
ながら、素人がエキスパートの指導全型するが、エキス
パートがその専門知識を完全、かつ容易に特定できる状
況が多くある。このような状況下においては、有用なエ
キスパー トシステムとエキスハートシステムシェルと
はルールに基いたエキスハートシステムとエキスパート
システムシェルにおいて固有の複雑さを必要としない。
そのような1つの状況は、例えば納税用紙のような複雑
な用紙がもたらす場合である。はとんどの場合、用紙に
記入するにはほとんど判断は要しないが、そ几にもかか
わらず該用紙には内容が多く、多くの人は税理士の助け
を必要とする。広げられたシートの場合、納税用紙に記
入するためのデータ1m械的に扱いやすくかつ1つの値
を変えろとどのように他の値に影響するかを見やすくす
るが、エキスパートシステムでしょ可能な種類の合理的
な指針全使用者に対して提供しなかった。したがって、
必要とされていることおよび本明細書に記載の本発明に
より提供されることは典型的なルール(C基くシステム
よりも使用しやすいエキスパートシステムであり、かつ
ルールに基いたエキスハートシステムよりも著しく簡単
でちるが、ルールに基〈システムのフルパワーを必要と
しない状況下において合理的なエキスパートの助言全提
供スルエキスパートシステムである。
発明の概要
本発明はデジタルデータ処理システムに関し、詳しくは
デジタルデータ処理システム[、で使用てれるエキスパ
ートシステムとエキスパートシステムシェル(shel
l)とに関する。本発明のエキスパートシステムはルτ
ルの代りに定義(dafiniti−03) ’z利用
する。エキスパートが対応する組の階層の定義金用いて
一組の項(term)としてその専門領域を定義する。
ある項に対する定義は低レベルの階層、リテラル環、一
定値およびエキスハートシステムの外部にあるソース(
solLrce>から得られる値で定義された項を含む
。階層中の項に関してエキスハートが到達する決定は項
の値として表現される。定義された項が本発明のエキス
パートシステムの知識ベース分構成する。推論機構が、
その定義から項の値を計算することにより所定の項に対
してエキスパートがどのような決定をしたかを検出する
。定義がその他の項を含むとすれば、これらの項の値は
それらの定義から計算され、その他の項の定義が外部の
ソースから得た値を含む場合、これらの値は所定順の値
の計算の必要性に応じて得られる。もし外部ソースがタ
ーミナルである場合、エキスパートシステムはターミナ
ルに居る人に値を尋ね、値を入力する人は何故その値が
必要か質問する。推論機構は定義からその値の必要な理
由を検出し、その情報を前記値を入力する人に提供する
。
一旦推論機構がどのような決定をエキスパートが行った
かを検出すると、エキスパートシステムの使用者はエキ
スパートシステムに対してどのようにして結論に達した
かを質問する。再び、推論機構は項の階層定義を照会し
、該定義全弁して作用しどのようにして結論に達したか
を示す。さらに、使用者はエキスパートシステムに対し
て使用者が最初に質問した項の定義に使用した項の1つ
に対して別の値を推論するよう要求することができる。
次いで、推論機構は新しい(!fを古い値に代え、新し
く使用者が最初に質問した項に対する結論を決定し、そ
のため従属項の1つにおける値の変化が最初に質問され
た項の値にどのように影響したかを示す。
何故エキスパートシステムが所定の入力全要求したか、
エキスパートシステムがどのようにして結論に達したか
を検出し、かつ項の値を変え、その結果を見るために本
発明のエキスパートシステムにおいて使用されろ技術は
全て、本発明のエキスパートシステムのみならず、階層
的に規定した組の項を採用したその他のシステムにおい
ても適用可能である。
本発明のエキスハートシステムは本発明のエキスパート
シェル?用いて作成される。エキスハートシェルは推論
機構と、前述した定義化される知識ベースと全含み、か
つさらに定義化されろ知識ベース((おいて定義を作成
する定義プロセッサを含む。定義化さnる知識ベースを
用いるには、(−殻内にエキスパートである)シェルの
使用者は、定義したいと思う項が絖く定義コマンドを入
力する。定義プロセッサは次いで項の説明を要求!7、
エキスパートはその項を説明する。前記の説明は項の値
がどのようにして得られたか全指示し、かつその他の項
、定数あるいは外部値が得られるべき個所の説明を含む
ことができる。前記説明がそれ以上定義されていない項
を含んでいなければ、定義プロセッサは前記説明から項
を定義する。前記説明がそれ以上、定義されていない項
を含んでいるとすれば、定義プロセッサは未定義の項の
各々についての記述を要求し、かつ前述した記述を処理
する。未定義の項が残らなくなるまで繰返しが続行する
。項が定義されるにつれて、項とその定義とが定義化知
識ベースの一部となる。定義プロセッサはさらにエキス
パートが項を再定義し、項とその定義とを知識ベースか
ら除去し、かつ定義されることになる項に対する定義を
見ることができるようにする。前述の説明から判るよう
に、本発明のエキスハートシェルζ・まエキスハートシ
ルールでなく定義の形態で情報全提供できるようにし、
一組の定義が一貫性を有するよう保証し、かつ所定の項
がどの項に依存するか全検出しやすくする。
階層内定義金つくるために、本発明による定義プロセッ
サに採用されている技術は本発明のエキスパートシステ
ムシェルのみならず、定義の階層システムをつくるいず
れのシステムにおいても採用できる。
このように、本発明の目的は改良きれたエキスパートシ
ステムおよびエキスハートシステムシェル全提供するこ
とである。
本発明の別の目的は定義化知識ベースと、定義化知識ベ
ース?用いて結論に到る推論機構とを有するエキスパー
トシステム全提供することである。
本発明のさらに別の目的は定義化知識ベースを有スルエ
キスハートシステムをつくルエキスパートシステムシェ
ルを提供することである。
本発明のさら(C別の目的は階層的定義を有する組とさ
れた項をつくる装置と方法とを提供することである。
本発明のさらに別の目的は階層的定義を有する知識ベー
スの使用者にどのようにして結論に到ったか、何故ある
情報が要求されたか、かつ項の中の1つが別の値を受取
ればどのようにして結論が変るか?指示する装置と方法
とを提供することである。
本発明のさらに別の目的はエキスパートシステムの知識
ベースが完全であり、矛盾しないこと全保証する装置と
方法とを提供することである。
本発明のその他の目的および利点は本発明の第1■実施
例、第2の実施例におけるある種の改良についての詳細
な説明ならびに図面を参照すれば当該技術分野の専門家
には理解されろ。
i
好貸チ施例についての以下の説明は、まず本発明ニヨル
エキスハートシステムとエキスパートシステムシェルと
を概観し、次いで本発明の第1のプロトタイプ実施例に
ついて詳細に説明することにする。第2のプロトタイプ
実施例においてなされたある改良についても説明する。
本発明によるエキスパートシステムシェルとエキスパー
トシステムの概念的概要(第2図)第2図は本発明によ
るエキスパートシステムシェル201とエキスパートシ
ステム202との概念的なブロック線図である。エキス
パートシステムシェル201は4個の要素、即ち命令プ
ロセッサCCP)2031.定義プロセッサCDP)2
07、項記憶装置(TS)215および項推論機構(T
IE’)219 トt[iル。エキスパートシステムシ
ェル201を用いてつくられたエキスパートシステム2
02はDP207を除いて前記要素の全て2有する。以
下詳細に説明するように、CP2O3はシェル201と
システム202との利用者からコマンドを受取り、その
他の要素へ提供する。DP207は定義を処理し、TE
01δは定義された項とそれらの定義とを記憶する。T
IE219はTE01δからの項の定義を使用して項を
評価し、該項に対してその他の演算を行う。
CP2O3&iシエル201とエキスパートシステム2
02の利用者からのコマンドを定義プロセッサのコマン
ドCDPCS)204と推論機構のコマンド(IEC3
)217とに変換する。プロトタイプ実施例においては
、DPCS204はシェル201の利用者が、項を定義
したり、項を再定義したり、定義された項を定義しなか
ったり、項の定義を検討したり、一組の定義を保存した
り、一組の定義を復元したりできるようにする。lEC
8217はシェル201.Sるいはシェル201により
つくられたエキスパートシステム202の利用者が項の
現在値全検出したり、エキスパートシステムがどのよう
にしてその値に達したかを見究めたり、エキスパートシ
ステム202が項に対する別の値全推論したり、それが
池の項の値にどのように影響したかを見たり、いず汎か
あるいは全ての項の値をリセットしたり、項の現在値を
検出するには外部から値に定義を供給する必要のある場
合、何故その値を必要とするかエキスパートシステム2
02に質問できるようにする。
定義プロセッサ207はTERM206’i定義する。
T A’ A’ M 206が完全に定義されると、T
E01δはTERM206に対応する定義ずみの項(D
TERIf) 211と、DTERM211に対する定
義(DEF)213とを含む。TERM206はDPC
204において、あるいはTERM206に応答してエ
キスパートシステムシェル201の利用者カ要求したD
P207へ記述(DESC)205からのいずれかてよ
り受取られる。DP207は1ず、TERM206に対
応するDTERM211がすでにあるか否か、即ちTE
RM206が定義ずみか否か検出する。その通υであれ
ば、DP207はTE01δから、TERM206に対
応してDTF:RM211全検索する。もし定義されて
いないのであれば、DP207はシェル2010利用者
に対して記述要求CDESCREQ)k出力する。使用
者はTERM206の記述(DESC)205をDP2
01に提供し、該記述は次いでDESC205における
情報を用いてTERM206用のDK:F213をつく
る。以下詳細に説明するように、DESC205は定義
言語で書込まれ、これは利用者がその他のTERMS2
06、一定値および、定義が行われつつある外部のエキ
スパートシステム206からある値を得ることになって
いることを規定できるようにする。定義はさらにTER
M206により表わされた1厘、定数および定義に2け
る外部値に対して実行しつる演算を規定する。DE:E
C205がTERM;206を含んでいるとすれば、
DP207は正に前述の要領で前記TERMS206i
処理する。TERM”206に対応−f;bDTF:R
M211があるとすれば、DTERM211は構成され
つつあるDEF213にpいて用いられる。もしなけれ
ば、DP207はTH:Ru2O3を定義するDESC
205に要求し、前述のように処理する。DP207の
繰返される演算は第2図において矢印208で示され、
少なくとも1個のTERM206を含んだUDESC2
10がどのようにしてDP207により再び処理されて
いるかを示す。元のDESC205ならびに元のDES
C205に2いてTERMS206を定義するに要する
TERMS206に対してつくられたいずれかのDI、
;C3205における全てのTERMS206が定義さ
れてし1つまで、即ちT、S’215において対応する
DTERMS211とDEFS213とを有するように
なるで前記の要領で処理が継続する。
DTERMS211とDP207の7算から生じたDE
FS213とは7’、S’215に位置される。
DTERM211はその名前でTE101に位置しつる
。DTERM211に対応するDEF213+’LDT
ERM211と関連し−HDTERM211が位置され
ると使用できる。DEF213には、DEF213がそ
こから発生したDESC205の修正バージョンが含ま
れている。
DPC!;;204により規定される残りの演算に以下
のようにDP207とTE101とにおいて実施される
。TERM206が未定義のとき、DP207はTS2
15から対応するDTERM211とDEF213とを
除去する。TERM206が定義し直されると、DP2
07はTERM206に対応するDEF213を除去し
、TERM206に対して新しいDE:5C205に要
求する。次いで、DESC205が前述のように処理さ
れる。DPCがTERM206の定義の表示を要求する
と、DP207はTERM206に対応するDTERM
211に対してDEF213に組入れられたDE;C2
05を表示する。最後に退避操作により所定のTE10
1の中味を後で使用するようファイルに保存し、復元操
作によりファイルの中味fTs215に復元する。
項推論機構(TIE)219はT、S’215に2ける
DTERM211とDEF213とを用いて演算する。
−次演算はwhat ″演算であって、エキスパートシ
ステム202Sるいはシェル201の利用者により提供
される定義ならびに外部値からDTERM211の1直
を検出する。TIE219はlEC217に応答してC
P2O3からの演算とTERM206を規定するwha
t演算を行う、TIE:219はTERM206に対応
するDTERJl’211を用いDTERM211のD
EF213をTS215に位置させる。次いで、DTE
RMS211、定数2よび定義で規定された外部値を用
いてDIEF213に規定された演算を行い、その結果
、即ち、TRES227t’f−キスパートシステム2
02.Sるいはシェル201の利用者に戻す。
DEF213の常数はDTERM211の値の計算にす
ぐにでも使用できる。外部値の場合、DTERM2,1
1はどのようにして外部1直が得られるかの記述ft言
む。TIE219はこの記述音用いて外部値への要求(
EXVAL REQ )を外部値(EXVAL)22
5のソー・スに対して行い、ソースからEXVAL22
5を受取る。最も単純な場合、ソースにシステム202
−!I’mはシェル201の利用者が用いているターミ
ナルでろって、利用者のターミナルスクリーンに質問を
し、その入力を受取ることにより情報が得られる。ざら
に複雑な場合、ソースはファイルあるいはデータベース
としうるO
DTERM211に対してDEF213に3いて別のD
TERM’11が評価されている場合、TIE219は
別のDTERM211のDEF213を獲得し、DEF
213ρ)らのDTEEM211の値を計算し、DEF
213においていずれかのDTERM211を計算する
につれて評価し、この作業にその値がwhat演算に2
いて求められている独豆したDTERMS211からの
全てのDTERM211力j評価されてしまう1で続行
する。定数、外部値および各DEF213で規定される
DT、ERMS211i前述のように処理される。全て
のDEF213が評価されると、その1匣が求められて
いるDTERM211の値が計算され、TREE227
として戻される。
好適な実施例に2いては、所定のDEF213の評価の
間に得られるEXVALS225はそのDEF213の
定義の一部となる。0のよつに、もしDTERJyf2
11に対して2回what演算が笑施さnると丁れば、
TIE219F’l何らEXVALEEQSを発生させ
ず、単に記憶されたEXVA L 5225を使用して
DTERM211の1直を再計算する。好適な実施例は
記憶されたF:XVALS 225を修正するために2
個のIE0217に有する。
最初の即ちリセットはリセットコマンドにおいて規定さ
れたDTERM211に対してnEFS213から記憶
されたEXVALS’225を全て除去する。
このようにwhat演算が再度実施されると、新しいE
XVAL225が前述のように得られる。第2の、即ち
推論は推論コマンドに規定されたTERM206に対し
て新しいEXVAL225をDEF213に提供できる
ようにする。この場合what演算が再び実施されると
、規定されたEXV A L225が用いられて、wh
at演算が実施されているDTERM211の1直を引
き出す。
シェル201筐たはシステム202の利用者が、何故T
IE219が所定のEXVAL225を求めているか矧
りだい場合、“why″ 演算に対するコマンドを用い
てgXVAr、 REQ k打診すればよい。その命
令に応答して、TIE219は、EXVAL225が必
要な際その値を計算したDTEEM211に対してDE
F213からDESC205i出力し、利用者はDES
C205から何故所定のE:XVAL225が重要かを
検出できる。さらに使用者はwhy演算を用いて、そ伴
価がEXVAL REQを発生させたDTE:RM2
11の値を侍るためにその1直が必要とされるI)TE
RMS211のいずれかが何故必要か質問することがで
き、T I E 21.9がそれらのDTERM211
に対してDESC205を提供する。
定義の階層(第3図ン
いずれかの項を定義する場曾、DP207はDEFS2
13の階層をつくる。定義さnつつある項に対するDE
F213目体が何ら項を百1ない場合、階層のレベルは
1個のみでるる。項に対す;6DEF213が別の項?
含んでおれば、その項は第1の項を定義しつる前に定義
される必要があり、第1の項に2レベルを肩する階層の
B1部の項である。第2のレベルに2けるDE:F21
3のいずれかが別の項を言んで2れば、その項を定義す
る必要があり階層は3レベルを有する。このように、他
の項が従属する項に対するDEF8213が何ら別の項
を含1なくなるlで階層は深くなり続けるが、代りに単
に常数あるいは外部値に対する演算に関してのみ定義さ
れる。前述の説明から明らかなように、DEF’213
ぼ常に、DEF213が定義するDTERM211全定
義するに要するDEFEi213の階層の頂部のDEF
213であるが、同時に、何らかの別のDTERM21
1を定義するに要するDEFS2130階層の下位レベ
ルに来ることがありうる。
第3図はDEF213の前述の階層の1つを概念的に示
す。階層305はDTERM301のセントに属するn
’r’x:Rus 21・1(,4)から211 (E
) −1テic対応TルDEF 213(AJカラ21
31Ejlで全含む。階N305に3ける最上部の定義
はDTERA/211F、41に対応するDEF213
(Alである。
DEF 213tA)KDける表示0P(B、C)は、
DEF 213(AJが、 DTERM211圓の1直
がDTHARM 211園および(c′Iの匝に対して
演算を爽施することにより得られたことを示す。同様に
、DE:F213Bは、DTERM211(可の1直が
DTERM2111D)−J、−よび(幻に対して演算
を実施することにより得られたことを示す。その結果、
DEF213(,4)に対する階層305は3種類のレ
ベルを有する。即ちDEF213(AJのみを含むレベ
ル1307、DEF213(ElとDEF213(C)
とを含むレベル2309.2よびDEF213(5)と
213(幻とを言むレベル3311である。DEF21
3(C’l、213咋および213(勾は他のDTER
JI; 211を用いてDTERMS211C,Dおよ
びEを定義せず、下位レベルを提供できない。
そのようなI)EFS 213はターミナル定義312
と称される。
階層305を構成する際、DP207はDTERM21
1(AJに対応したTERM206(AJから始め、T
ERM206(ρは高レベルのDEF213が構成され
つつあるDESC205あるいは定義あるいは丹定義D
PC204から受取る。次いで、DP207はDTER
M211 (,4Jに対してDESC205を要求する
。DESC205はZm(DTERMS206、Bおよ
びCに対する演算に関してDTERM211(AJを定
義する。DEF213(刑とDEF213(C1とがす
でに介在しているとすれば、DP207はDH:F21
3<AJをつくることができ、それ以上前進する必要は
ない。DEF2131HI”!たはDEF213(CI
のいずれかが介在していないとすれば、DP’207は
DEF213Aをつくりう ・る前にこれらDEFS2
13eつくる必要がある。
このように、DP207はTE:RM206CIAとT
ERM206<CIとに対してDESC205f要求す
る。
TERM206(C)(D場合、DESC205はE;
XVAL((1225に関、してのみTERM206(
Cjを定義し、DEF213(C)は直ちに構成できる
。TERM206(可の場合、DESC205は2個の
付刀口的なTER#J206のDとEとに関しTERM
206(居を定義する。その結果、DP207はルベル
降下し、これらTERM206に対してDEF213を
発生させる。舟び、DP207は前述の項に対してDI
、;C206に要求する。双方の場合共、TERM20
6はEXVAL225に関して定義され、その結果、双
方のDEF213f構成することができる。TERM2
06Aの定義に関係した全てのTERMS206VC対
するDEFI 213 炉構成さnたのであり、TER
M206(aから(勾に対応するDTERMS211(
勾から(1i5までが介在し、DEF213(,41が
構成でき、かつTERM206(綱は対応してDTER
M211(,41をMしている。
階層305はその頂部のDEF213から始めて繰返し
構成され、対応するDTERM211’i有さないTE
RMS206のみが定義されるので、どのDTERM2
11も2個のDEF;213を石することができず、階
層305に−一けるDEF213は階層305において
その上に来るDEF213を何ら言及できない。その結
果、階層305に2けるDEF213は必然的に児全で
、階層305のDEF213(74)あるいはDEF2
13CAJを組入れたいずれの階層に2ける頂部のDE
F213に対しても一貫性がある。
前述のように、DP207は記述(DESC)205か
らDEF213’iつくる。プロトタイプ実施例におい
ては、DESC205は記述言語を用いてつくられる。
記述言語には、項に対する演算を規定する事前定義の項
、ケースステートメントおよび外部値を得るための演算
とを含む。
演算はプール(Booleαn)K算、算術演算および
テキストの連結を含む。ケースステートメントとは以下
の形態でのプール表現値の対のリストである。
(ブール懺現−1)値 1−(プール表裏−n)値−r
L (OTHEftWISE)othttrwise−
値
ケースステートメントラ、含むDEF213が評価され
ると、プール表現1からW 2でか、その甲の1個が正
しいとされる1で順に評価される。正しいプール表現に
対応するイ直がDEF213により定義されるDTER
M211の頃となる。プール表現のいずれも正しくなけ
れば、” OTHERWISE”に対応する頃がDTE
RM211の値となる。
プロトタイプ実施例の記述言語が外部値金得るための2
クラスのオペレーションを規定できるようにする。第1
のクラス、即ちASKオペレーションはエキスパートシ
ステム202の利用者のターミナルから[を得る。第1
のクラス、即ちASKオペレーションはターミナルから
外部値を得るために使用される。第2のクラス、即ちR
ECORI)オペレーションはデータベースシステムか
う外部値を得るために使用される。双方の場合に2いて
、外部値は数字、テキストストリング、あるいはプール
1飢でよく、あるいは一組の代替的なリテラル環、即ち
それ自体のみ狭示する項の1つを選択してもよい。
数1直を得るだめのASKオペレーションの形態は以下
の通りである。
ASK NUMBER’プロンプト−ストリング前述
のようなASKオー2V−ジョンを言むDEF213が
評価される場合、DP207はターミナルにプロンプト
ストリング全出力し、ターミナルからの数字の入力を待
機する。その数字が次いでDEF213の評価に用いら
れる。プロンプトストリング自体は前に定義された項ヲ
肩し、そのため使用者の応答は先に評価された項の値に
依存するようにされつる。プール+! s−よびテキス
トストリング領に対するASKオペレーションは、プー
ル1直を求める場合は前記オペレーションにおけるNU
MBERがYES−Noに代り、テキストストリングを
求める場合TDXTに代る以外は数頭に対するASKオ
被レーしョンと同様に行われる。
多数のリテラル環の甲の1個ヲ選択するASKオ被レー
しョンの形態は以下の通りである。
A:EK CHOICE″プロンプト−ストリング(
リテラ々−項−1−−−リテラルー項−n)ASK
CHOICE ff:含むDEF213全計価する場
合、プロンプトストリングか出力であり、利用者はリテ
ラル環の1個を選択するよっ要求される。次いで、この
リテラル環fDEF213で便用してDEF213力S
定義するDTERM211の値を計算することができる
。
DECORDオイレーションは、そのようにして外部値
をデータベースに位置させるか規定し、データベースが
規定された位置でその値を供給する以外は全体的にAS
K第4レーションと類似である。
シjl−ル201のオベレーショ/を、誰かかり1され
たか否か検出しうる定義の階層音用いて詳細に説明する
。詐欺の法的な定義は、−万の当事者が故意に他方の当
事者に誤った叙述を行い、他方の当事者が誤った叙述を
信じて被害を蒙ったという$実全要する。第4図はその
法的定義に対応するDTERM211の階層全示す。
第4図の階層の創成はCP2O3がDEFINEFRA
UD コマンドを受取ったところから始する。
次いでCP2O3がTERM206FRAUD (詐
欺)をDP207に送り、0P207は足義金行ったエ
キスパートからDESC205’(要求する。
エキスパートは以下のよづにDESC205に提供する
。
「誤った叙述を知り、それを信じて被害を蒙った」
このDESC206はさらに2個のTERM206とブ
ーリアンAND演算子とを含む。このように、FRAU
D(詐欺)の値はTERMS206に対応するDTER
M211の値を獲得し、それに対してAND演算を実施
することにより計算される。
別のTEEM206が未定義なので、DP207はその
定義を求める。エキスパートは、「誤った叙述」に対し
てDESC205
「誤った叙述について、被告は誤った叙述であったこと
を知っていたか」2よび
DESC205、「信じて被害を蒙った」に対して
「原告が信用して、原告が被讐を蒙ったのか」と全提供
する。丹びこれらの別のTERM206が未定@なので
、DP207は定義?!−求め、エキスパートは第4図
に示す定義全提供する。DP207はいずれの順序で質
問してよいが、好適な実施例では次の未定義のTEEM
206に進む前に所定の未定義のTERM206を定義
するに必要な全てのTERM2,06を定義する。
前述の例において、「誤った叙述」、「被告は誤った叙
述であったことを知っていた」、「原告が信じた」およ
び「原告に損失があった」に対するDESC205は全
てAJK YE:!E Noオ被レしションに使用
された、システム定義のDTE:RM211のみを含み
、そのためDP207は階層に3ける全ての項に対して
DH:F213を提供できる。階層内のDTEEM21
1の全ての仮は最終的には詐欺の定義を採用するエキス
パートシステム202の利用者からASK YH:5
−NojF−’!レーションが要求する値に依存し、最
終的に原告が自身に起った事について何を主張するかに
依存する。
エキスパートシステム202における詐欺の定義階層の
使用はエキスパートシステム202の使用者がCP2O
3に入力するWHAT FEAUD命令によって始す
る。CP2O3はTIE219に対してWHAT F
RAUD lEC217を発生させる。これを行うに
は、「誤った叙述を知る」から始めて、階層中の他のD
TERMS211に対してDEF213’i評価する必
要がある。「誤った叙述を知る」の評価は「誤った叙述
」の評価ケ要する。前記DTEEM”211の評価の結
果DEF213に2いてWHAT YES−Noオイ
レーションを実行し、TIE219はプロンプト「貴男
は正しくないことを何か伝え1したか」を出力する。利
用者の答えが「NO」であれば、「誤った叙述」は虚偽
であり、「誤った叙述を知る」も虚偽でめり、FRAU
D(j詐欺」)も虚偽であり、そのためTIE219は
虚偽がないと指示して利用者にTREE227を戻す。
利用者の答えがfYEsJであれば、T1.E2,19
は「被告は誤った叙述であったことを知っていた」を評
価し、その結果また利用者に質問することになる。質問
に対する答えによって、評価が続行するか、るるいは終
了する。TIE219はFRAUDに対するf[を計算
してし1う1で前述のように進行する。
前述のように、エキスパートシステム202の利用者は
エキスパートシステム202がどのようにしてFRAU
D に対する値に達したかを検出するHOW利用者コマ
ンドを使用できる。(「誤った叙述」の定義において)
「貴男は真実でないことを何か伝えましたか?」と質問
されて、使用者が「NO」と答えたと想定すれば、プロ
トタイプ実施例におけるTIE219は下記を出力する
ことによりHOW FRAUDに応答する。すなわち
「誤った叙述を知る」が偽である場合、FRAUDは「
誤った叙述を知り、それを信じて被害を蒙った」と定義
される。
前述のように、DP207はDTERM211のDEF
213に2いてはDESC205をDTERM211に
代え、かつTIE219もDEF213においてDTE
RM211のDEF213を評価するために受取る外部
値を記憶する。HOW第4レーションを実行する場合、
照会されているDTERM211に対してTIE219
は1ずDEF213からDESC205を受取り、それ
を出力し、次いで照会されているDTERM211の値
を得るために必要に応じてDEF213においてDTE
RM211を評価する。欠いで、DTERM211がそ
れらの値と共に出力される。使用者がさらに照会したい
場合、HOWオペレーションのDESC205出力にお
いて規定されたその他のDTERM211に対してHO
Wオイレーションを繰返すのみでよい。
これも前述のように、利用者は値でな(WHVコマンド
を備えた外部値に対する要求に応答できる。TIE21
9が「貴男は真実でないことを何か伝え1したか」と質
問する際に利用者がFRAUDの例の場合にWHVで応
答するとすれば、T IE219は以下をもって応答し
、質問を繰返す。
「誤った叙述」は、「誤った叙述について本人は誤った
叙述であったことを知っていた」と定義されるべき「誤
った叙述を知る」の値を決める必要がある。
再び、WHVコマンドに応答するために使用された情報
がFRAUD を定義するために使用された階層におけ
るDE:F213に記憶されたDESC205から出て
くる。この点について、利用者がもつと知りたい場合、
WHVコマンドに応答して述べだDTERM211に対
してHOWを適用できる。
シェル201とシステム202の構成トオペレーション
についての概念を梗概してきたので、第1のプロトタイ
プの実行について詳細に説明する。
第1と第2のプロトタイプ実施例の双方共LISPプロ
グラム言語でインプリメント(実現〕され、LISP環
境に3いて実施される。LISPプログラム言語ならび
に環境はプロトタイプおよび生産エキルパートシステム
を実行するために度々用いられており、エキスパート技
術の分野においては周知である。プロトタイプ実施例に
使用される特定L7)LISP言語はC0MM0N
LISPてあって、デジタルプレスの1984年版言語
でスチール、ジュニア(Gu、y L、5teele、
Jr、COMPress、(1984)により記載され
ているLISP環境と言語についてはプロトタイプ実施
例のオ(レーションモードを明瞭に理解するに必要な程
度についてのみ本明細書で説明する。
LIMP言語について述べると、該言語は、記号により
プログラムで表わされたデータの処理とは対照的に、記
号の処理に主として係わるFORTRANあるいはPA
SCALのような言語とは異る。LISPプログラエの
基本成分はアトム(αtom)である。アトムはAEC
,あるいは定数のような記号である。前記成分はアトム
およびその他のリストを含むメンバを何ら有さないリス
トによってプロ4グラムに組成される。そのメンバを(
〕で囲むことによりリストが出来る。(ABC)は1個
のメンバ、記号AECを備えたリストである。リストの
最初の記号が機能な衣ゎし、その他のアトムがファンク
ションの引き数を表わすリストとしてLIMPに関数が
現われる。例えば、加算機能は十の記号によりr、rs
pに表示され、リスト(+23)がアトム2と3とに十
演算を行うべきことを規定する。LISPのインタプリ
タにより評価された際ある値を有するいずれかのアトム
、即ちリストは書式(フオーム)と称される。
53よび(+23)はフオームであり、記号ABCかあ
る値を有すれば、それはフオームである。
ファンクションはDEFUN機能によりLISPにおい
て規定され、リスト甲の残りの項目はファンクションの
名称、引き数および戻すべき値を規定する。例えば、(
defrbn 5 5 )は引き数のないファンクシ
ョンを規定し、常に5の値を戻す。
LISPプログラムが記号ならびにリストに対して行い
うることの千にそれらをつくることがある。ファンクシ
ョンの定義は単にリストの一種類であるので、LISP
プログラムはDEFUN により発生しつつある新しい
記号の名前としてDEFUNに信号全提供し、欠いでそ
の記号を利用して新しく発生したファンクションを実行
することができる。記号は信号あるいは値のいずれかと
してそれ自体を表示しうる。記号がLISP ’)スト
中の記号としてそれ自体を表示している場合、。
マークが先行する。ファンクションを表わす記号の場合
、記号の値はファンクションである。しかしながら、リ
ストにおいてファンクションが引き数を備えたリストに
置換され、リストが評価されるとすれば、その結果は機
能実行時の値となる。
このように′5は旦の記号を示し、一方5はDEFUN
により定義された機能を示し、かつ(5)は機能5、即
ち5を実行する値を示す。
Ll!F;PプログラムはLISP 環境において書
込まれ、かつ実施される。プロトタイプ実施例に対して
使用されたものはウォングラボラ) IJ−ズ社(Wa
ng Laboratories、Inc、 )により
製造さレタフロフエショナルコンピュータ(Pro f
e 5sona 1Cornputor )用にゴー
ルド、ヒルコンピュータ社(Gold Hill Co
rnputors、Inc、 )によりつくられたもの
であった。第5図は典型的なLISP環境501の概念
的なブロック線図である。LISP環境501は2個の
主要素即ちLI:EF フオームを評価するLISP
インタプリタ503と、Llsp記号(87M501
)とその定義(SYMDEF509)とを記憶するLI
SP記号ス4−ス505とを有する。DEFUNとその
他のあるLISPファンクションとが新しいLISP記
号を発生させ、定義するか、あるいは評価時先に介在し
ていたLISP記号を再定義する。その結果、LIMP
インタプリタ503は記号の評価手段のみならず、記号
の発生、定義および再定義手段としても作用することが
判る。
LISP i境501の第4レーシヨンは以下の通りで
ある。Llf;P 環境501の利用者が(5)のよう
なフオームを含むリストをタイプすると、LISP イ
ンタプリタ503が5の記号を記号スー1!−ス505
に位置させることによりフオームを評価し、そのSYM
DEF509が何であるか検出し次いでSYMDEF5
09を解釈して5の値を計算する。この場合、SYMD
EF509はDEFUNの表現を評価することにより発
生した5の関数用のコードであり、その解釈によって5
の値を発生させ、インタプリタがそれをBACKGROUND OF THE INVENTION Industrial Field of Application The present invention relates to an extract heart system realized by a digital computer, particularly a knowledge base and an inference engine component of an expert system, an apparatus for creating an expert system, and a defined knowledge base. The present invention relates to an apparatus and a method for producing the same. Recently, expert systems have become commercially available. An expert system is a system that provides information in a predetermined specialized field in the same manner as an expert in the relevant technical field. Furthermore, the Ex-Heart system resembles a human expert (Ex-Heart) in that it can explain itself to some extent. Depending on the complexity, the expert system can explain why a given conclusion was reached, why a given piece of information is needed, and allow the user to change the value of a given piece of information and see how to act on the result. Do it. Configuring large computer systems, diagnosing bacterial infections,
Alternatively, an expert system has already been constructed that diagnoses the reason why the tip of an oil well drilling machine has hit a hole and teaches countermeasures. Prior art expert systems have generally been rule-based, i.e., have functioned by applying rules obtained by asking experts about their area of expertise to facts raised by the user of the expert system. . The rule is generally of the form IF A then B. In such a rule, A is called a predicate of B, which is the conclusion. If A is correct, then the conclusion is considered correct. For example, one rule in a medical diagnostic system is, ``If a patient has a fever and a runny nose, he probably has the flu.'' According to this rule, if the symptoms are a fever and a runny nose, the possible answer is influenza. Figure 1 is a block diagram of a rule-based expert system according to the prior art.Expert system 1
01 has three types of configurations (components). That is, a command processor (CP) 103, a rule inference mechanism (RIE) 105, and a rule storage device (RE) 107. RS 107 includes rules 109 for areas in which the system is Ex-Heart. RIE105 receives all the data in question from the user, and applies R31 to the data.
All rules of 07 are applied, and the results of applying the rules to the mesotopic data are provided to the user. Cr2O2 is controlled by the inference mechanism command CIEC). CP 103 generates commands from command input provided by the user. Regarding the aforementioned influenza, the user of the medical diagnosis expert system is C.
Input the command "What disease?" to P. CP 103 then provides engine instructions to RIE 105 to detect if the rules for the disease require symptoms. RIE 105 then requests the data in question from the user, perhaps by asking, "What are the symptoms?" Next, the user inputs the symptoms and RIE10
5 finds a rule for which the sign is a predicate,
Returns the conclusion of the rule as result data. For example, if the input symptoms are "fever and runny nose," the expert system 101 concludes from the O-rule 109 that the illness is probably influenza. Of course, many other diseases have the same symptoms, so there will be more than one rule 109 that has the symptoms as part of its predicate. Due to its subtlety, the expert system 101
All rules with all their manifestations as part of 109
Either simply return the result as a result, or ask the user for more indications, and use the new indications to narrow down the number of rules to apply. In any case,
According to the user's request, the expert system 101
Indicate which rules 109 were already used to reach the conclusion. The first prior art expert system 101 was custom built and required long-term, close cooperation between experts, knowledge engineers, and computer system engineers. Experts provide their expertise, knowledge engineers apply their expertise to rule 109, and R7'A'105 and R8107.
The display used to memorize the rule 109 was constructed. Finally, I wrote a program to implement the design of a computer system for IT 8 College Engineers. The large amount of input required by experts to configure a specially manufactured expert system 101' makes the system extremely expensive, and the manufacturer of the expert system 101 has developed a special method called an expert system shell for creating an expert system. We decided to develop a new tool. FIG. 1A is a block diagram of an expert system shell 110 in a rule-based expert. 1st A
As you can see, the expert system shell is the
Elements of the rule-based expert system shown in the figure as well as additional elements, namely the rule processor (RP)
' to have. The rule processor 111 specifies a specific R8107 for the currently configured expert system.
It is used to create rules 109 to be stored in the . RIE 105 uses expert system shell 11 to test the expert system as it is configured.
Used in 0. Once all the rules 109 for the Ex-Heart system being developed have been written and the expert system has been fully discovered, users of the new expert system will have access to RIE 105 and R8107 for the new expert. . The usefulness of the expert system shell 110 is
It depends on the subtlety of RPll. Some expert systems require RP111 Near and cannot be used with Exheart itself. In other systems, RPII constructs rules from examples provided by Exhart, and therefore does not require a knowledge engineer. Although rule-based expert systems 101 are steadily becoming more powerful, more used, and less expensive, their dependence on rules has certain inherent drawbacks. First, most experts don't think about their area of expertise in terms of a set of rules. As mentioned above, since the expert does not think, the knowledge engineer or the system composing the rules from the examples must do the thinking between the expert and the expert system shell 110. First, developing an expert system is more expensive than not developing one, and second, the complexity of expert system 110 is even more complex than developing one, and the expert does not have to write rules for shell 110. Since it is necessary to investigate, it does not mean that you are completely free from the rules. Next, R8107 is a rule 1 created independently of each other.
09, there is no guarantee that the collection of rules 109 is complete and does not contain contradictory rules. If the set of rules 109 is incomplete, the expert system 101 may reach no conclusion or may reach an incorrect conclusion. If the set of rules 109 contains contradictory rules 109, then the expert system 101 will either not reach a conclusion again, or the expert system 101 will use RI to resolve all the contradictions rather than the rules.
It is possible to arrive at a conclusion that depends on the internal algorithms of the E105. The ability to operate on incomplete sets of rules 109, or even on contradictory rules 109, is part of the strength of rule-based systems 101, allowing experts to apply their expertise to clear principles. It is needed in situations where you cannot perform. However, expert systems are employed in many situations where experts can apply their expertise to obvious principles, and in these situations,
Incomplete set of rules 109 and contradictory rules 109
The ability to deal with this makes it even more difficult to detect mistakes, and if a mistake occurs, the system 101 operates according to all rules.
<Make it dependent on the internal algorithm of RIE105. Third, it is difficult to modify the Ex-Heart System 101 based on the rules. Based on the rules, the operation of the Extract Heart system depends on the integrity of the rules, and it
g) Determine which rules need to be changed if the operation of the expert system is to be changed because the expert has changed his or her mind about how to handle a given case. is often difficult. Fourth, the power and complexity of rule-based expert systems 101 are not needed in many situations where expert systems are useful. -Intensity and complexity within the shell are required when experts cannot fully specify their expertise. However, there are many situations in which a layperson can completely guide an expert, but the expert's expertise can be fully and easily identified. Under these circumstances, useful expert systems and ex-hard system shells do not require the complexity inherent in rule-based ex-hard systems and expert system shells. One such situation is posed by complex forms, such as tax forms. In most cases, filling out the form requires little judgment, but despite its simplicity, the form is rich and many people require the help of a tax accountant. The spread sheet makes it easier to mechanically handle the data for filling out the tax form and to see how changing one value affects other values, but an expert system can handle all possible types of data. Failure to provide reasonable guidance to all users. therefore,
What is needed and what the invention described herein provides is an expert system that is easier to use than typical rule-based systems, and significantly more efficient than rule-based extract heart systems. The present invention relates to a digital data processing system, and more particularly, to a digital data processing system. The expert system and expert system shell used in the processing system [,
l). The expert system of the present invention is
Definition (dafiniti-03) 'z is used instead of file. An expert defines his area of expertise as a set of terms using a corresponding set of hierarchical definitions. Definitions for a term include lower-level hierarchies, literal rings, constant values, and sources external to the extract heart system (
solLrce>. The decisions that Exhart reaches regarding terms in the hierarchy are expressed as the values of the terms. The defined terms constitute the knowledge base of the expert system of the present invention. The reasoning mechanism is
What decision the expert has made for a given term is detected by calculating the value of the term from the definition. If the definition contains other terms, the values of these terms are computed from those definitions, and if the definitions of other terms contain values obtained from external sources, these values are calculated from the values in the given order. Obtained according to calculation needs. If the external source is a terminal, the expert system asks the person at the terminal for the value, and the person entering the value asks why the value is needed. The reasoner detects from the definition the reason why the value is needed and provides that information to the person entering said value. Once the reasoning mechanism detects what decision the expert made, the user of the expert system asks the expert system how it reached its conclusion. Again, the reasoning mechanism interrogates the hierarchical definition of the term and works through the definition to show how it reached its conclusion. Additionally, the user may request the expert system to infer a different value for one of the terms used to define the term the user originally queried. The reasoner then replaces the new (!f with the old value) and determines the new conclusion for the term originally queried, so that a change in value in one of the dependent terms changes the value of the term originally queried. Show how it was affected.Why the expert system requested all the given inputs.
All of the techniques used in the expert system of the present invention to detect how the expert system reaches a conclusion, change the values of terms, and view the results are useful not only in the expert system of the present invention. , is also applicable to other systems that employ hierarchically defined sets of terms. Is the extract heart system of the present invention an expert shell of the present invention? Created using The extracted heart shell includes an inference mechanism, all the knowledge bases to be defined as described above, and further includes a definition processor that creates definitions in the knowledge base to be defined. In this case, the user of the shell (who is an expert in the shell) enters the definition command for the term he wishes to define.The definition processor then requests an explanation of the term!7.
The expert will explain the section. The foregoing description fully indicates how the value of the term is obtained, and may include a description of where other terms, constants, or extrinsic values are to be obtained. If the description does not contain any terms that are no longer defined, the definition processor defines terms from the description. If the description contains further undefined terms, the definition processor requests a description for each of the undefined terms and processes the aforementioned descriptions. The iterations continue until no undefined terms remain. As a term is defined, the term and its definition become part of the defining knowledge base. The definition processor also allows the expert to redefine terms, remove terms and their definitions from the knowledge base, and view definitions for terms that are to be defined. As can be seen from the above explanation, all information can be provided in the form of definitions rather than extract heart shell ζ and extract heart shell rules of the present invention,
It ensures that a set of definitions is consistent and makes it easy to detect which terms a given term depends on. The techniques employed in the definition processor of the present invention to create intra-hierarchical definitions can be employed not only in the expert system shell of the present invention, but also in any system that creates a hierarchical system of definitions. Thus, it is an object of the present invention to provide an improved overall expert system and extract heart system shell. Another object of the present invention is a defined knowledge base and a defined knowledge base? The object of the present invention is to provide a complete expert system having a reasoning mechanism that can be used to arrive at a conclusion. Yet another object of the present invention is to provide an expert system shell for creating an extracted heart system with a defined knowledge base. It is a further object of the present invention to provide an apparatus and method for creating set terms having hierarchical definitions. Still another object of the present invention is to provide an apparatus and method for creating set terms with hierarchical definitions. provides an apparatus and method for instructing a person how a conclusion was reached, why certain information was requested, and how the conclusion would change if one of the terms received a different value. Still another object of the invention is to provide an apparatus and method that ensures that the knowledge base of an expert system is complete and consistent. Certain improvements in the first and second embodiments of the invention will be understood by those skilled in the art upon reference to the detailed description and drawings. The description will first provide an overview of the Nyor Extract Heart System and Expert System Shell of the present invention, and then provide a detailed description of the first prototype embodiment of the present invention.Certain improvements made in the second prototype embodiment Conceptual overview of expert system shell 201 and expert system 202 according to the present invention (Fig. 2) Fig. 2 is a conceptual block diagram of expert system shell 201 and expert system 202 according to the present invention. The system shell 201 has four elements: instruction processor (CCP) 2031. definition processor CDP) 2
07, term storage device (TS) 215 and term inference mechanism (T
IE') 219 tot[il. Expert system 2 created using expert system shell 201
02 has all 2 of the above elements except DP207. As explained in more detail below, CP2O3 receives commands from users of shell 201 and system 202 and provides them to other elements. DP207 processes the definition and TE
01δ stores defined terms and their definitions. T
IE 219 uses the definition of the term from TE01δ to evaluate the term and perform other operations on the term. CP2O3 & i Ciel 201 and Expert System 2
02 user commands are defined as processor commands (CDPCS) 204 and inference mechanism commands (IEC3
)217. In the prototype embodiment, the DPCS 204 allows a user of the shell 201 to define a term, redefine a term, undefine a defined term, review the definition of a term, or define a set of definitions. allows saving and restoring a set of definitions. lEC
8217 is shell 201. A user of the expert system 202 created by the shell 201 can detect all the current values of a term, find out how the expert system reached that value, To infer the full value of a term, see how it affected the value of a term, reset the value of any or all terms, or find the current value of a term, use an external If you need to supply a definition to a value from Expert System 2, why do you need that value?
Allows you to ask questions to 02. Definition processor 207 defines TERM 206'i. Once T A'A' M 206 is fully defined, T
E01δ is the defined term (D
TERIf) 211 and a definition (DEF) 213 for DTERM 211. TERM206 is DPC
204 or in response to TERM 206, the user of the expert system shell 201 requests D.
It is received from either the description (DESC) 205 to P207. DP207 first checks whether there is already a DTERM211 corresponding to TERM206, that is, TE
Detect whether RM206 has been defined. If so, the DP 207 searches all of the DTF:RM 211 from TE 01 δ corresponding to TERM 206. If it is not defined, the DP 207 outputs a description request CDESCREQ)k to the shell 2010 user. The user writes the description (DESC) 205 of TERM 206 to DP2.
The description then uses the information in DESC 205 to create DK:F 213 for TERM 206. As explained in more detail below, DESC 205 is written in a definition language that allows the user to write other TERMS 2
06, allowing to specify constant values and that certain values are to be obtained from the external expert system 206 that is being defined. The definition is further TER
We define the operations to be performed on the constant and the external value represented by M206. DE:E
If C205 contains TERM;206,
The DP207 is connected to the TERMS206i in exactly the manner described above.
Process. Compatible with TERM”206-f;bDTF:R
If M211 exists, DTERM 211 is used in addition to DEF 213 being configured. If not, DP207 is a DESC that defines TH:Ru2O3.
205 and process as described above. The repeated operations of DP 207 are indicated by arrows 208 in FIG.
UDESC2 containing at least one TERM206
10 is being processed again by DP 207. Original DESC205 as well as original DES
Any DI created for TERMS 206 required to define TERMS 206 in C205,
Processing continues as described above until all TERMS 206 in C3205 have been defined, ie, have corresponding DTERMS 211 and DEFS 213 in T, S'215. DE generated from 7 arithmetic of DTERMS211 and DP207
FS213 is located at 7', S'215. DTERM 211 is located in TE 101 by that name. DEF213+'LDT corresponding to DTERM211
In conjunction with ERM 211 - can be used when HDTERM 211 is located. DEF 213 includes a modified version of DESC 205 from which DEF 213 originated. DPC! ;;The remaining operations defined by 204 are performed in DP 207 and TE 101 as follows. When TERM206 is undefined, DP207 is TS2
The corresponding DTERM 211 and DEF 213 are removed from No. 15. When TERM206 is redefined, DP2
07 removes DEF 213 corresponding to TERM 206 and requests new DE:5C 205 for TERM 206. DESC 205 is then processed as described above. When the DPC requests to display the definition of TERM 206, DP 207 displays the DTERM corresponding to TERM 206.
DE incorporated into DEF213 for 211; C2
05 is displayed. Finally, the specified TE10 is set by the evacuation operation.
The contents of 1 are saved in a file for later use, and restored to the contents of the file fTs 215 by a restoration operation. A term inference mechanism (TIE) 219 performs calculations using DTERM 211 and DEF 213 in T and S' 215. - The next operation is a what'' operation, which detects the first shift of DTERM 211 from the definition and external value provided by the user of expert system 202S or shell 201. TIE 219 responds to lEC 217 by
wha that defines the calculation from P2O3 and TERM206
The TIE: 219 that performs the t operation uses the DTERJl' 211 corresponding to the TERM 206 and the D of the DTERM 211.
Place EF213 at TS215. Then, DTE
Performs the operation specified in DIEF 213 using RMS 211, constant 2, and the external value specified in the definition, and the result is TRES 227t'f-Kispert System 2
02. S Rui returns to the user of the shell 201. The constant in DEF 213 is ready for use in calculating the value of DTERM 211. For external values, DTERM2,1
1 is a description of how an external shift is obtained. TIE219 uses this descriptive sound to request external values (
EXVAL REQ ) to external value (EXVAL) 22
Execute for the source of 5 and EXVAL22 from the source.
Receive 5. In the simplest case, the source is system 202
-! I'm the terminal used by the user of shell 201, and information is obtained by interrogating the user's terminal screen and receiving input. In more complex cases, the source may be a file or a database.
If TERM'11 is being evaluated, TIE 219 acquires DEF 213 of another DTERM 211 and DEF
Calculate the value of DTEEM211 of
In 213, evaluate any DTERM 211 as it is calculated, and in this work its value is added to the what operation.
All DTERMS 211 power from the unique DTERMS 211 that is required will continue at 1. Constants, external values, DT defined by each DEF 213, and ERMS 211i are processed as described above. When all DEF213 are evaluated, the value of DTERM211 for which one box is required is calculated and TREE227
returned as . In the preferred embodiment 2, EXVALS 225 obtained during evaluation of a given DEF 213 becomes part of the definition of that DEF 213. 0, if DTERJyf2
If the what operation is applied twice to 11, then
TIE 219F'l does not generate any EXVALEEQS and simply uses the stored EXVA L 5225 to recalculate the first shift of DTERM 211. The preferred embodiment uses 2 to modify the stored F:XVALS 225.
It has several IE0217. The first or reset removes all stored EXVALS' 225 from nEFS 213 for the DTERM 211 specified in the reset command. When the what operation is performed again in this way, the new E
XVAL225 is obtained as described above. The second, or speculative, allows a new EXVAL 225 to be provided to the DEF 213 for the TERM 206 specified in the speculative command. In this case, when the what operation is performed again, the specified EXV A L225 is used and the wh
The first shift of the DTERM 211 in which the at operation is performed is extracted. Why does the user of the shell 201 or system 202
If it is doubtful that the IE 219 is seeking a predetermined EXVAL 225, it is sufficient to ask gXVAr, REQ k using a command for the "why" operation. In response to that command, TIE 219 sends DE to DTEEM 211, which calculated the value of EXVAL 225 when needed.
DESC205i output from F213, user can use DES
It is possible to detect from C205 why a certain E:XVAL225 is important. Furthermore, the user uses the why operation to determine the DTE:RM2 whose value caused the EXVAL REQ.
I) TE whose 1st shift is required to attend the value of 11
You can ask why any of the RMS211's are needed, and T I E 21.9 is the DTERM211 of them
DESC 205 is provided to Definition hierarchy (Figure 3) When defining any term, DP207 is DEFS2
Create 13 layers. DE for terms that are being defined
If the F213 eye object does not have any terms, there will be only one level of the hierarchy. 6DEF213 is another term?
If it does, that term must be defined before defining the first term, and is a term in part B1 of the hierarchy that bears two levels to the first term. DE 2 to 2nd level: F21
If any of 3 says another term and 2, then that term needs to be defined and the hierarchy has three levels. In this way, the hierarchy continues to deepen until the DEF 8213 for terms to which other terms are dependent ceases to contain any other terms, but is instead defined only with respect to operations on constants or external values. As is clear from the above explanation, DEF'213
In most cases, the DEF at the top of the DEFEi 213 hierarchy is required to define all the DTERM 211 defined by the DEF 213.
213, but at the same time some other DTERM21
It may come at a lower level in the DEFS2130 hierarchy required to define 1. FIG. 3 conceptually illustrates one of the aforementioned layers of DEF 213. The layer 305 belongs to the cent of DTERM 301.
'r'x: Rus 21.1(,4) to 211 (E
) -1 tech compatible T DEF 213 (AJ color 21
All included in 31Ejl. The definition of the top of floor N305 is DEF213 corresponding to DTERA/211F, 41
(It is Al. DEF 213tA) The display 0P (B, C) in KD is
DEF 213 (AJ indicates that the first shift of DTERM 211 is obtained by performing operations on the DTHARM 211 and (c'I). Similarly, DE:F 213B indicates that DTERM 211 Show that the first shift of DTERM2111D) -J, - and ((phantom) are obtained by performing the operation on the phantom. As a result,
The hierarchy 305 for the DEF 213(,4) has three levels. That is, DEF213 (level 1307 containing only AJ, DEF213 (El and DEF213(C)
Level 2309.2, which includes DEF213(5) and Level 3311, which is called phantom.DEF21
3 (C'l, 213 Kui and 213 (Ko) are other DTER
JI; 211 is not used to define DTERMS 211C, D and E and cannot provide lower levels. Such I) EFS 213 is a terminal definition 312
It is called. When configuring the hierarchy 305, the DP 207
1 (TERM206 compatible with AJ (starting from AJ, T
ERM 206 (ρ is the DESC 205 or definition or Dan definition D where the high level DEF 213 is being configured.
Receive from PC 204. Then, DP207
M211 (, 4J requires DESC 205. DESC 205 defines DTERM 211 (AJ with respect to the operations on Zm (DTERMS 206, B and C). is DH:F21
3<AJ can be made and there is no need to advance further. DEF2131HI”! or DEF213(CI
If there is no intervention, DP'207 will create DEF213A.
13e needs to be made. In this way, DP207 is TE:RM206CIA and T
If ERM206<CI, DESC205f is requested. TERM206 (C) (If D, DESC205 is E;
XVAL((1225, only TERM206(
Cj and DEF 213(C) can be immediately configured. TERM206 (if possible, DESC205 will perform TERM on D and E of two additional TER#J206)
As a result, DP207 descends and generates DEF213 for these TERM206.
, ;request to C206. In both cases, TERM20
6 is defined with respect to EXVAL 225, so that both DEFs 213f can be configured. TERM2
The DEFI 213 reactor configuration for all TERMS206VC related to the definition of 06A was
M206(a to (DTERMS211() corresponding to (gradient)
(1i5), DEF213(,41 can be configured, and TERM206
M211 (,41 are M.) The hierarchy 305 is constructed repeatedly starting from the DEF 213 at the top, and the TE that does not have a corresponding DTERM 211'i
Since only RMS206 is defined, which DTERM2
11 cannot stone two DEF; As a result, DEF 213 in the hierarchy 305 is necessarily full, and DEF 213 (74) in the hierarchy 305 or DEF 2
DE at the top of any hierarchy that incorporates 13CAJ
It is also consistent with F213. As mentioned above, the DP 207 creates the DEF 213'i from the description (DESC) 205. In a prototype embodiment, DESC 205 is created using a description language. The description language includes predefined terms that specify operations on the terms, case statements, and operations to obtain external values. Operations include Boolean K operations, arithmetic operations, and text concatenation. A case statement is a list of pool expression value pairs of the form: (Boolean representation - 1) value 1 - (pool front and back - n) value - r
L (OTHEftWISE)othttrwise-
When a value case statement, containing DEF 213, is evaluated, it is evaluated in order from pool expressions 1 to W 2, or 1, of which one is correct. The DTER corresponding to the correct pool representation is defined by DEF213.
It was around M211. If none of the pool expressions are correct, the DTE will correspond to “OTHERWISE”.
The value is RM211. 2. The description language of the prototype embodiment is used to obtain external value.
Enables you to specify class operations. 1st
, the ASK operation obtains [ from the user's terminal of the expert system 202 . 1st
The ASK operation is used to obtain external values from the terminal. The second class, namely R
The ECORI) operation is used by the database system to obtain such external values. In both cases, the external value may be a number, a text string, or a pool value, or it may be selected from a set of alternative literal rings, ie, one of a term that only refers to itself. The format of the ASK operation to obtain the number 1 shift is as follows. ASK NUMBER' Prompt-String If the DEF 213 that says the ASK order as described above is evaluated, the DP 207 outputs the entire prompt string to the terminal and waits for a number to be input from the terminal. That number is then used in the DEF213 evaluation. The prompt string itself assumes previously defined terms, so that the user's response is made dependent on the value of the previously evaluated term. Pool+! The ASK operation on the s- and text string fields is
When MBER is used instead of YES-No, the text string is obtained in the same way as the ASK operation for several heads except that TDXT is used instead. The form of an ASK operation that selects one of the first parts of a large number of literal rings is as follows. A: EK CHOICE″ prompt-string (
Literal term-1---Literal term-n) ASK
CHOICE ff: When counting all DEFs 213 containing, the prompt string or output requires the user to select one of the literal rings. Then, conveniently using this literal ring fDEF213, the DEF213 force S
The value of DTERM 211 to define can be calculated. The DECORD oilation specifies how an external value is located in the database, and the entire AS except that the database supplies that value at the specified location.
It is similar to the K4th ration. The ovation/of the seal 201 will be explained in detail using a hierarchical tone that can detect whether someone has been hit or not. The legal definition of fraud requires - $1,000 in which one party knowingly makes a false statement to another party, and the other party believes the false statement and suffers an injury. FIG. 4 shows the entire hierarchy of DTERM 211 corresponding to its legal definition. The hierarchy shown in Figure 4 is created by CP2O3 using DEFINEFRA.
Start from where the UD command was received. CP2O3 then sends TERM206FRAUD (fraud) to DP207, and 0P207 requests DESC205' (from the expert who made the leg donation. This DESC 206 further includes two TERMs 206 and a Boolean AND operator.
The value of D (fraud) is DTER corresponding to TERMS206
It is calculated by obtaining the value of M211 and performing an AND operation on it. Since another TEEM 206 is undefined, DP 207 seeks its definition. The expert answered DESC 205 for "false statement" and "Did the defendant know that the statement was false" and DESC 205 for "false statement", and DESC 205 "was the plaintiff aware that the statement was false" and DESC 205 for "I believed it and suffered the damage". Do you believe that the plaintiff has been victimized?'' Since Tani and these other TERM206 are undefined @, is DP207 defined? ! - the expert provides the full definition shown in FIG. DP 207 may ask questions in any order, but in the preferred embodiment the next undefined TEEM
Before proceeding to step 206, all TERMs 2 and 06 necessary to define a given undefined TERM 206 are defined. In the above example, DESC 205 for "false statement,""defendant knew it was a false statement,""plaintiffbelieved," and "plaintiff suffered loss" are all AJK YE:! It contains only the system-defined DTE:RM 211 used for the E No operation, so the DP 207 can provide DH:F 213 for all terms in the hierarchy. DTEEM21 in hierarchy
ASK YH:5 from the user of the expert system 202 who ultimately adopts the definition of fraud.
-NojF-'! It depends on the value the ration demands, and ultimately on what the plaintiff alleges about what happened to him. The use of the fraud definition hierarchy in the expert system 202 allows the user of the expert system 202 to
Begin by entering the WHAT FEAUD command in step 3. CP2O3 is WHAT F for TIE219
Generates RAUD lEC217. To do this, start with "Know the false statement" and then
It is necessary to evaluate DEF 213'i against TERMS 211. Evaluation of ``knowing incorrect statements'' requires evaluation of ``incorrect statements.'' As a result of the evaluation of the DTEEM" 211, the DEF 213 executes a WHAT YES-No violation, and the TIE 219 outputs the prompt "Did you tell me something that was incorrect?". If the user's answer is "NO", the "incorrect statement" is false, "knowing the incorrect statement" is also false, and FRAU
D (j fraud) is also false, so TIE 219 instructs that there is no falsehood and returns TREE 227 to the user. If the user's answer is fYEsJ, T1. E2,19
evaluates whether ``the defendant knew that the statement was false'' and, as a result, questions the user again. Depending on the answer to the question, the evaluation continues or ends. TIE 219 computes f[ for FRAUD and proceeds as described above. As mentioned above, a user of expert system 202 can learn how expert system 202 uses FRAU
A HOW user command can be used to detect if the value for D has been reached. (In the definition of "false statement")
Assuming the user answers "NO" to the question "Did you tell me anything that is not true?", the TIE 219 in the prototype embodiment responds to HOW FRAUD by outputting the following: That is, if "know false statement" is false, FRAUD is "
It is defined as ``knowing about a false narrative, believing it, and suffering damage''. As mentioned above, DP207 is the DEF of DTERM211.
In 213, DESC205 is replaced with DTERM211, and TIE219 is also DTE in DEF213.
Stores external values received to evaluate DEF 213 of RM 211. When executing HOW 4th ration,
TIE219 for the DTERM211 being queried
first receives the DESC 205 from the DEF 213, outputs it, and then outputs the DTE in the DEF 213 as needed to obtain the value of the DTERM 211 being queried.
Evaluate RM211. Otherwise, DTERM 211 is output with their values. If the user wishes to inquire further, HO to other DTERMs 211 specified in the DESC 205 output of the HOW operation.
All you need to do is repeat the double oilation. Also as mentioned above, the user can respond to requests for external values with a value (WHV command).TIE21
If the user responds with WHV in the case of the FRAUD example when 9 asks, ``Did you tell me anything that is not true?'', TIE 219 responds with the following and repeats the question. It is necessary to determine the value of ``knowing the erroneous statement'', which should be defined as ``the person in question knew that the erroneous statement was a false statement''. Again, the information used to respond to the WHV command comes out of DESC 205 stored in DE:F 213 in the hierarchy used to define FRAUD. Regarding this point, if the user wants to know about the
HOW can be applied to the stated DTERM 211 in response to the WHV command. Having outlined the concepts of shell 201 and system 202 configuration operations, the implementation of the first prototype will now be described in detail. Both the first and second prototype embodiments are implemented in the LISP programming language and are implemented in a LISP environment. The LISP programming language and environment are often used to implement prototype and production systems. The specific LISP language used in the prototype implementation is C0MM0N.
LISP, 1984 edition language of Digital Press, Steel, Jr. (Gu, y L, 5teele,
The LISP environment and language described by John Jr., COMPress, (1984) will be discussed herein only to the extent necessary to clearly understand the operation mode of the prototype embodiment. The language is a FORTRAN or PA language that is primarily concerned with the processing of symbols, as opposed to the processing of data represented in programs by symbols.
It is different from languages like SCAL. The basic component of LISP programming is an atom (αtom). Atom is AEC
, or a symbol like a constant. The components are organized into programs by lists without any members, including atoms and other lists. Its members (
) to create a list. (ABC) is a list with one member, symbol AEC. A function appears in LIMP as a list where the first symbol in the list is the function and the other atoms represent the function's arguments. For example, the addition function is r, rs by the tens symbol.
p and specifies that the list (+23) should perform the tens operation on atoms 2 and 3. Any atom, or list, that has a certain value when evaluated by a LISP interpreter is called a form. 53 and (+23) are forms, and if the symbol ABC has a certain value, it is a form. Functions are defined in LISP by the DEFUN function, and the remaining items in List A define the function's name, arguments, and the value to be returned. for example,(
defrbn 5 5 ) defines a function with no arguments and always returns a value of 5. There are a thousand things a LISP program can do with symbols as well as lists, creating them. Since a function definition is simply a type of list, LISP
The program can provide a signal to DEFUN as the name of a new symbol that is being generated by DEFUN, and then use that symbol to execute the newly generated function. A symbol may represent itself as either a signal or a value. If the symbol is displaying itself as a symbol in a LISP ') string. Mark takes the lead. For symbols that represent functions, the value of the symbol is the function. However, if the function is replaced in the list by a list with arguments, and the list is evaluated, the result will be the value at the time the function is executed. Thus '5 indicates the symbol for Dan, while 5 represents DEFUN.
, and (5) indicates function 5, that is, the value that executes 5. Ll! F;P programs are written and implemented in a LISP environment. The products used for the prototype embodiment were Wong La Bora) IJ-'s (Wa
Prof. Ng Laboratories, Inc.
e 5sona 1Computer), Gold Hill Co.
rnputors, Inc.). FIG. 5 is a conceptual block diagram of a typical LISP environment 501. The LISP environment 501 is a LISP environment that evaluates two main elements: the LI:EF form.
Interpreter 503 and Llsp symbol (87M501
) and its definition (SYMDEF509)
It has SP symbols 4-505. DEFUN and certain other LISP functions generate and define new LISP symbols, or redefine previously intervening LISP symbols when evaluated. As a result, LIMP
It can be seen that the interpreter 503 acts not only as a means for evaluating symbols, but also as a means for generating, defining and redefining symbols. The fourth ration of LISP i boundary 501 is as follows. Llf;P When a user of the environment 501 types a list containing a form such as (5), the LISP interpreter 503 replaces the symbol 5 with the symbol su1! -S505
Evaluate the form by positioning it in the SYM
Detect what DEF509 is and then SYMDEF5
Interpret 09 and calculate the value of 5. In this case, SYMD
EF509 is the code for the function of 5 generated by evaluating the expression of DEFUN, and by its interpretation, 5 is generated by evaluating the expression of DEFUN.
, and the interpreter interprets it as
【5】の値とし
て利用者に戻す。
r、rspインタプリタ503はSYM507ならびに
対応するSYMDEF509’!−発生し、記号ス<−
x 505 ニ記憶L% 記号スベース505において
位置づけることができるので、LISPi境501は、
その他の言語では実現困難であって、エキスパートシス
テムシェルとエキスパートシステムの演算に対して不可
欠なオイレーションを自動的に実施する。そのため、L
ISPM境501はプロトタイプエキスパートシステム
2よびエキスパートシステムシェルをつくるための好適
な環境であった。以下の説明から判るように、本発明の
プロトタイプは記号発生、定義および位置決め操作の利
点を完全に利用している。
第1のプロトタイプ実施例に2いて、エキスパートシェ
ル201とエキスパートシステム202とはLISP
ファンクションにより実現される。
第6図はLISPの機能の概要を提供し、第2図2の要
素ならびにこれらの要素の入力側および出力側に関連さ
せる。このように、CP2O3を構成するLISP フ
ァンクションはそのラベルを付した点線ボックスに含め
ており、DP207を構成するファンクションはそのラ
ベルを付した点線ボックスに含めており、TIE219
を構成するものはそのラベルを付した点線ボックスに含
めている。TE101は、LISP記号およびそれらの
定義を記憶するr、rsp記号スベース505により第
1のプロトタイプにおいて実施されている。
第1のプロトタイプ実施例の要素も、要素を構成するL
ISP ファンクションを実行し、記号スベース505
における要素により発生するSYMS507とSYMD
EFS509とを位置付けさせ、かつSYMS507と
それらのSYMDEFS509を操作するLISP イ
ンタプリタ503を含むものと理解すべきである。
エキスパート603について1づ述べると、エキスパー
ト603はプロ)FイブにおいてCP′ 203の機能
を実行する。エキスパート603は入力ストリングを受
取り、その周りに0を付して第6図において、CFOR
M605と称するLIF:Pフオームをつくり、それに
対してEVAL演算を実行するLISP インタプリタ
503がフオームを評価する際、フオーム甲の最初の記
号なLISPファンクション名として処理し、フオーム
甲の残りの項目を名称を付したファンクションに対する
引き数のリストとして処理する。
エキスパート603に対して期待する入力ストリングは
DP207に対するコマンド、即ちDEFINE、RE
DH:FINE、UNDEFINEおよびTIE219
に対するコマンド、即ちWHAT。
HOW、ASSUMElRE:JET、DEFINIT
ION%5AUE、WHYおよびRESTOREである
。
DEFINE%REDEFINg、2よびUNDH:F
I NEは第2図2のDPC8204に対応し、残りの
ストリングは第2図のlEC8217に対応する。最初
のプロトタイプ実施例においては、エキスパート603
にはエラーの検出はなされない。しかしながら、商業用
実施例においては、エキス/シート603は不適正な入
力を検出し、かつ応答するコートを含む。
第6図から判るように、I)P2O3はLIMPの機能
、DEFINE、REDEFINEおよびUNDEFI
NEにより第1のプロトタイプにおいて実施される。エ
キスパート603は例えばFEAUDのよう!TEEM
206.!:共にDEFINE命令を受取り(DEFI
NE FEAUD)としてLISP インタプリタに
提供し、LISP インタプリタ503は引き数FRA
UDによってDEFIMEのファンクションを呼出す。
DEFIME は使用者からDE!ECM、05を要
求し、DESC205を用いてFRAUD用にDEF2
13を提供する。以下詳細に説明するように、前記呼出
しの結果はFRAUDと称されるLISP機能であって
、それに対してDEFUNは以下のようになる。
(defun FRAUD ()
(prog2
(push ’FRAUD arg−stack )
(AND (「誤った叙述を知り」)
(「それを信じて被害を蒙る」))
(1(IAτg−stack ) ノ〕))FRA
UD を定義する過程で、定義を要する「誤った叙述を
知り」2よび「それを信じて被害を蒙った」およびDT
ERM211は全てLIMP機能を表わすr、rsp記
号として定義される。
ANDは引き数に対してAND演算を実行する、事前定
義のLISP ファンクションである。FRAUDの機
能により戻される値はAND 演算の結果である。
LISPファンクションを表わすLI:SP記号として
定義されたDTERMS211は以下の説明ではTSY
MS615と称され、それらの定義はDEF8213の
プロトタイプ・インプリメンテーションであり、TDE
FS617と称されている。
LISP インタプリタかDE:FIME ファンク
ションに応答してTSYMS 615 s、−よびTD
EFS617を発生させるにつれてそれらを記号スイー
ス505に位置させる。第1のプロトタイプに2けるT
DEF617を第7図に示す。第7図に示すように、T
SYM615により表示されるLISP機能であるTF
UNC701と、TSYM615の定義の源であったD
F:5C205の修正コピイであるTDESC705と
、TSYM615に対してエキスパート202の利用者
によって規定される最後のEXVAL 703を含む
TEXVAL103とを含む。
DP207に2ける残りの機能はEXPERT603か
らのDEFINgと同様に呼出される。
DEDEFIMEはまず、再定義されつつあるTSYM
615に対してTDEF617からTFUNC701と
TDE;C705とを除去するLISPオイレーション
を採用し、次いでDEFIME を呼出してTDEF6
17に3いてTFUNC701とTDE;5C705と
に対して新しい値をつくる。
UNDEFINEはTSYM615を新しく定義するこ
となくTFUNC701とTDESC705とを単に除
去する。
第1のプロトタイプ実施例601に2けるTIE219
の実現を引就き説明すると、LISP インタプリタ5
03が、zgczx7全茨示するEXFEET 6 t
J 3からCFORM605を受取ると、CFORM6
05に規定されたTl1l’219s−けるファンクシ
ョンを実行する。TIE219のファンクションが実行
されるにつれて、TSYM615からつくられたフオー
ム(TPORMS639)をインタプリタ505へ提供
し、インタプリタ505ばそれらフオ了ムを評価しその
結果(TFORM RESULT)を実行されつつある
ファンジョンへ戻ス。
TIE219のファンクションはTIg219、ARG
4TACK 635、TERMS−:5TACK613
j?よびSYM−EOUND−LISTにおけるデータ
構造を採用している。AEG−3TACK635につい
て説明を始める。ARG−8TACK635はTSYM
615を記憶するために使用され、−万定義されたTS
YMS615の値が計算される。
前述のFRAUD に対する過程のコードから判るよう
に、FRAUDを定義するAND演算が実行される前に
ARG−8TACKに押込ぼれ、その後ARG−8TA
CKから放出される。TERMS−8TACK613は
TSYMS615のスタックである。スタックは、TS
YM615のTDEF617がその第1のTSYM61
5がそのTDEF617全スタックの底部で最後のもの
を頂部においてつくるようにしてつくられるとき1でに
オーダされる。
以下詳細に説明するように、最後のT:EYM615は
通常そのTDEF617が定義の階層の頂部に来るもの
である。SYM−BOUND−LIST637は現在E
XVALS225を専用しているT S YMS615
のリストである。
WHATファンクション619を備えたTIE219の
LISPファンクションについて述べると、この機能は
EXPERT606へのWHATコマンドに応答して実
行される。前記の命令はWHAT DTERM611
のフオームを有する。FRAUDに対しては、そのフオ
ームはWHAT FRAUDであって、それに対して
EXPERT603が入る(WHAT FRAUD)
。WHATファンクション619 は1ずLISPファ
ンクションを用いてその引き数がTSYM615である
か否か検出し、その通りであればこのLISPファンク
ションは引き数としてのファンクション名であるnピ号
を取り出す別のLISPファンクションを用い、そのフ
ァンクション、この場合FRAUDを呼出す。その結果
はFRAUDに対するTDEF616におけるTFUN
C701の実行である。前記TFUNC701が実行さ
れると、FRAUDO値が検出されてし1う1で「誤っ
た叙述」および「それを信じて被害を蒙った」に対する
TFUNCS701が実行される。所定のTSYM61
5に対するTFUNC701が実行されると、所定のT
:EYM615の値を見付ける必要のあるいずれかの1
87MS615に対するTFUNC8701が施行され
る。必要なTFUNC8701の全てが実行されると、
これらの実行から得られる値がTRES227としてシ
ステム202の利用者に戻される。そのTFUNC70
1がEx11L225を必要とするTSYM615がす
でにそのような値を有しているとすれば、T:EYM6
15はSYM−EOUND−LIST637上に載って
2す、TFUNC701がTSYM615に対してTD
EF617においてTEXVAL703を使用する。さ
もなければ、TFUNC701はEXVAL REQを
発生させ、利用者に対してEXVAL225を得る。こ
のようにLISPインタプリタ503と共にWHATフ
ァンクションは外部値により決定されてその定義が階層
の頂部レベルに位置しているTSYM615の値を決定
する推論機能として動作する。さらに、WHATオイレ
ーションの結果呼出されたTFUNC701が活性であ
る限り、対応するTSYM615はARG−8TACK
635上にある。
If OWファンクション623はHOWコマンドニ応
答して実行され、TSYM615’i規足する。now
機能623は前記のT;YM615を引き数として捉え
、かつTSYM615に対応するTFUNC701を定
義するためDEFUNと共に用いられるリストを得るよ
う引き数TSYM615を備えたSYMBOL−FUN
CTIONである−1のLISPファンクションと、T
FUNC701の第3リストにおいて第3エレメントを
得る他方のLISPファンクションを利用する。前述の
FRAUDファンクションから判るように、前記エレメ
ントはそのファンクションの値が得られるオペレーショ
ンを定義するリスト、即ちFRAUDにおける、(AN
D(「誤った叙述を昶る」)(「それを信じて被害を蒙
った」))リストである。HOWファンクションは前記
リストを検索し、HOWコマンドで用いられているT;
YM615用TDESC705を表示するようにTIE
219のDEFITIONを用い、次いでTFUNC7
01から検索されたりスト甲の187MS615を評価
し、その結果を適当な説明テキストと共に出力する。
エキスパート202の利用者は、TSYM615の評価
の間EXVAL PEQに応答してWHVコマンドを
H:XPERT603またはTIE219のいずれかに
入力できる。WHVファンクションは引き数としてTS
YM615を伴うか、あるいは伴わないかのいずれかで
呼出しできる。筐ず、前記ファンクションは、現在評価
されているTFUNC701に対応するTSYM615
であり、その評価が使用者が応答しうるEXVAL
Rli:Qを発生させた、ARG−8TACK635の
頂部に現在あるTSYM615と協働し、第2に、前記
ファンクションは利用者により提供されるTSYM61
5と協働する。いずれの場合も、次の過程は、その評価
がWHVにより処理されているTSYM615に対応す
るファンクションの評価をもたらしたT)vNC701
に対応するTSYMS15である先行するTSYMS1
5をARG−8TACK635に位置させることである
。
先行するTSYM615が介在しなければ、WIIYコ
マンドは意味がなく、対応するメツセージが利用者に出
力される。先行するTSYMS15が介在するとすれば
、DEFINITIONが用いられて適当な説明テキス
と共に先行するTSYM615用の定義を出力する。
DEFINITIONファンクションに引続き、該ファ
ンクションを呼出すEXPERT 6031の命令は、
引き数あるいは非引き数としてのいずれかでTSYMS
15を有することができろ。第1に、TDEFS17の
TDESC705は出力であり、第2に、TERMS−
STACK613上の全てのTSYMS615用のTD
ESC705が出力である。
ASSUMEファンクションは、TSYMS15とある
値とを規定するA S S UMEコマンドで呼出され
る。TgYM615はその値TFUNC701がEXV
AL 225を要求するものである必要がある。A S
S UMEはまず、ARG−8TACK635を空にし
、そのためWHVコマンドが後続する前にTSYM61
5が再評価され、次いでTDEFS17のTEXVAL
703を引き数として受取られた(直に対してセットし
、TSYMS15をSYM−EOUND−Ll、S’7
’613に位置させ、それがTEXVAL703を有し
ていることを指示する。
RESETファンクションは、TSYMS15を規定す
るか、あるいは規定しないRk:SETコマンドにより
呼出されろ。第1に、TSYMS15に対応するTD)
!:F617のTEXVAL 703のみがリセットさ
れ、第2に全てのTEXVALS703がリセットされ
る。RES ET機能はまず前述した理由からARG−
STACK635を空にする。
TSYM615が規定されているとすれば、RESET
ファンクションはTEXVAL703をTSYMS15
から解放し、効果的にTDEF 617を除去し、か
つTSYMS15をSYM−EOUND−LIST63
7から除去する。
TSYMS15が規定されていないとすれば、EESE
TはSYM−BOUND−LIST637の各TSYM
615に対して前述のオペレーションを実施する。
5AVEフアンクシヨンは、TDESC705が後続す
る各TSYM 615て対するDEFIME命令を含む
ファイルをつくる。DEFINE命令ばTERMS−8
TACK 613においてTSYMS 615が発生す
る順序で発生する。
5AVEはTERMS−8TACK613において各T
SYM615に対して以下をファイルに出力することに
よシ作用する。即ち、ストリングDEFINE、ストリ
ングを表わすTSYM615およびTSYM615のた
めのストリングを表わすTDESC705である。その
結果のファイルはTDh;SC705が基いているDE
SC8205がDP 207に入力された順序でTDE
SC705を含む。
RESTOREファンクションはその前に保存されてい
たTSYMS15を復元する。その復元はファイルに対
してLISPロードオペレーションを行うことにより行
う。ロードオペレーションにおいて、ファイルのLIS
P記号が評価される。この場合、評価の結果ばTSYI
1615と、復元されたフ“アイルにおけるDEFIN
E命令で規定されたそれらのTDEF 617どの積で
おる。
DEFINE607の詳細説明(第8図)第8図はDE
FINEファンクションおよびDEFINEkてよυ呼
出されるファンクションが所定セットのTSYMS61
5に対してどのようにしてTDEFS6170階層を帰
納的につくり出すか全示す。前述のように、DEFIN
EがTDEFS617の階層をつくる要領が、谷T A
l’ RA/ 206が完全に定義され、かつ所定のT
ERM206が単に1つの定義を有していること全保証
する。
第8図はDEFINE%DEFINBにより呼出される
主要なファンクション、およびTSYMS615とTD
EFS 617 と全つくり出すデータが前記ファン
クションの間で流れる様子を示す。
DEFINE607はTERM206からDTERM2
11をつくる。DEFINEがDTERM211全戻す
ときは、DTERM211に対応するTSYMS15と
TDEFS17とはすでにつくり出されている。DEF
INE607はF:XPERT603とRESTORE
633とにより呼出される。さらにそれ自体とPRO
CESS−FUNCTION811とにより帰納的に呼
出される。EXPERT 603はDEFINE記号と
定義すべきTERM206とを含むCFORM605を
提供する。RESTORE633する。もしそうであっ
た場合、DEFIME607はTERM206とTDE
SC705のコピイと全GETDEF805へ提供し、
GETDEF 805により戻された値、即ちそのエレ
メントがTERM206であるリス)f戻す。TERM
206がRESTORE603により提供されなかった
とすれば、DEFINE607はTERM206に対し
てすでにTSYM615が介在するか、あるいはTER
M206がリテラルか(即ちTDESC705のコピイ
が何ら介在しなかった)を検出する。前記のいずれかで
ある場合、DEFIMEはそのエレメントがTERM2
06でありリスト金戻す。他の場合のいずれも正しくな
かった場合、GETDEF 805はTl#SC705
のコビイなしにDIEFINE607により呼出される
。
GETDEF805はDEFINE 607から未定義
の項(UTERM)803を受取り、かつまた該項に対
してTDESC705のコピイを受取ることができる。
第1の場合、GETDEFは利用者からDESC205
を入手する。第2の場合は単にはDEFIME記号を含
むCFORM605と、前に保存されていたDTERM
211のコピイであり、かつ該DTERM211に対す
るTDESC705のコビイであるTERM206と全
提供する。DEF−INE607が帰納的に呼出されろ
と、その入力はTERM206であって、これは定義さ
れている別のTERM206のDESC205において
使用される。
一般的に、TERM206は1個つ信号であるが、DE
SC205がケースステートメントを含む場合、TER
M206はリストでよく、この場合DEFINIi:は
C0NVERT 809を呼出してリストをLISTフ
オームに変換し、次いでそれ自体を帰納的に呼出してL
ISPフオームにおける未定義のTERM206の各々
を定義する。次に、DEFINE607はTERM20
6かLISP記号であるか否か検出する。もしそうでな
ければ、DEFIME607は単にTERM206を不
変のまま戻す。もしそうである場合、DEFINE60
7はTk:Ru2O3がRESTORE 633により
提供されたか否か検出TDESC705’i使用するだ
けである。次にGETDEF 805はC0NVERT
809全呼出しそれをLISPフオームであるCDE
SC807へ変換する。次に、UTERM803とCD
ESC807とがPROCESS−FUNCTION8
11に対して提供さn、PROCbj8g−FUNCT
ION 811はUTERM811に対してTk:UN
C701を戻す。
最終的に、GETDEF 805がTSYM615全T
ERMS−8TACK 613に位置させ、UTERM
803に対応するDTERM211から構成されろリス
ト全DEFINE607に戻す。
C0NVERT809はDEFINE607あるいはG
ETDEF805により呼出−goろ。C0NVERT
809はその呼出し先からDESC205f受取りLI
SPフオーム、即ちCDESC807に変換し、そ7″
Lを呼出し先に戻す。
PROCk:5S−FUNCTION 811はUTE
RM803とCDk:SC807とを受取り、UTER
M803をDEFINE−1i’UNCTION813
に通し、DEFINE−FUNCTION 811から
TFUNC701を受取シ、TFUNC701をGET
Dk;F2O3へ戻し、1だ定義されていないCDES
C807からのUTERMS 803のリストであるU
TERML815をつくる。次にPROCF:5S−F
UNCTIONはUTERML 815の各UTERM
803に対してDEFIME607を呼出す。最終的に
、DEFINE−FUNCTION 803はTFU−
NC701用のDli:FUNを発生させ、かつ評価す
ることによりTFUNC301をつくり出し、PROC
ESS−FUNCTION 811へ戻し、PROCE
SS−FUNCTION 811の方はTFU−NC7
01をGE:TDEF805へ戻す。
前述の説明から判るように、DEFINE 607の帰
納的な呼出しは、そのためにDEFIMEが呼出された
TERM206を定義するに必要なTERM206の全
てが定義されてし1う1で継続する。
その点においてのみ、DEFINE 606ばTERM
206に対応したDTERM211を戻す。シェル20
1の使用者は所定のTERM206を定義するに要する
全てのTk:Ru2O3を定義する必要があリ、TEE
M206に対しては1つの定義のみ与えればよいので、
DEFINE606はTERM206に対して一組の定
義で完全で、かつ一貫性のあることを保証する。
プロトタイプ実施例2(第9図)
プロトタイプ実施例2は、利用者に対するインタフェー
スがより優れていること、かつ利用者のエラーをさらに
確実に復元することを含み、プロトタイプ実施例1に対
して多くの改良点を有する。
プロトタイプ実施例2 vc含でれる最も重要な改良は
第9図の漿略図に示すTDEF617とWHATの別の
実施例である。
TDEF901はTDEF617の場合と同様TDES
C705およびTEXVAL 703とを含む。
TDEF901はTFUNC701を含むのではなく、
2つの新しいフィールド、即’、)TFORM903と
TTYPE905とを含む。プロトタイプ実施例1の問
題を排除するための変更が行われた。即ち、定義すべき
TERM206は記号スベース505にすでにあるその
他のLISP記号に対応する。その場合、TER,’v
1206に対してDEFINE607により得られる定
義&−1該信号の先に存在していた定義を優先する。プ
ロトタイプ実施例2 ticおいては、TFUNC70
1を、それ自体では機能として実施できないが、TIE
219におけるEVALUA−TORファンクション9
11により実施可能であるLISPフオームであるTF
OEM903に代替することにより問題が解決される。
TTYPE905はTFOEM905がEVALUAT
OR911により実施される吸戻される種類の値に関す
る情報を含む。
第9図の残りの部分はプロトタイプ実施例2におけるW
HATファンクション907とgVALU−ATOR9
11との間の関係を示す。WHAT 907は先の実施
例のようにEXPERT 603からWHAT CFO
RM 605を受取るが、WHATに対する引き数と
して提供される187M615に対して単にLISP
EVALオペレーションを行う代υに、TSYM615
用のTDEF901からTFOR1v1903をEVA
LUATOR911へ提供し、EVALUATOR91
1の方はTFORM903に規定されたオペレーション
を行うLISP7オームヲつくり、該フオームをLIS
Pインタプリタ503へ提供する。LISPインタプリ
タ503はLISPフオームの評価結果をEVALUA
TOR911へ戻し、該EVALUATOR911はそ
れらの評価結果をTREs227へ提供し、TRES
227はWHAT907へ戻し、WHATは利用者へ戻
す。
結論
好適な実施例についてのこれ1ての説明は新規なエキス
パートシェルと新規なエキスパートシステムを実施する
上で本発明の発明者が現在知りつる最良の態様を開示し
てきた。このエキスパー トシステムは従来技術による
もの程強力でないとしても、従来技術によるエキスパー
トシステムが有する最も重要な利点を多く有しておp1
エキスパートシステムに求められろものが複雑な手続に
ついての詳細な知識であるような状況には特によく適合
されろ。本発明によるエキスパートシステムシェルは従
来技術によるエキスパートシステムシェルールヨりfい
易く、かつエキスパートシステムの知識ベースを構成す
る定義が完全かつ一貫していることを保証する。
本明細書で開示したエキスパートシステムシェルとエキ
スパートシステムとは、エキスハートシステムが使用す
る知識ベースが、所定の定義が階層【でおいてそれ自体
より低位の定義と、前記知識ベースの外部のソースから
得られる外部値とのみに依存している定義の階層により
定義された項から構成されているという事実に基いてい
る。
エキスパートシステムは、利用者に1個以上の外部値を
供給するよう要求し、次いで外部値と定義の階層とを用
いて項に対してどのような値がつくられるかを検出する
ことによυ項Gで関する推論を行う。定義の階層は、全
ての項が完全に定義される1で所定の項を定義するため
に使用する項の定義を要求することによりエキスパート
システムシェルにおいてつくり出され、そのため所定の
項の定義が依存する定義が完全かつ一貫していることを
保証する。
本明細書で開示した実施例は(、ISPにおいて実施し
たが、本発明の実施はLISPに何ら限定されない。ま
た、本明細書で開示した実施例は、本発明の発明者が現
在知りうる最良のものであるが、それはプロトタイプで
あり、純粋に例示のつもりである。このように、開示し
た実施例は全ての点で例示であって非限定的と考えるべ
きで、本発明の範囲は前述の説明ではなくむしろ特許請
求の範囲により指示され、特許請求の範囲と均等の意味
と範囲とは本発明の範囲に含まれる意図である。It is returned to the user as the value of [5]. r, rsp interpreter 503 uses SYM 507 and corresponding SYMDEF 509'! - occurs, symbol S<-
Since x 505 can be located in the memory L% symbol base 505, the LISPi environment 501 is
It automatically performs oiling, which is difficult to achieve in other languages and is essential for expert system shells and expert system operations. Therefore, L
ISPM environment 501 was the preferred environment for creating the prototype expert system 2 and expert system shell. As will be seen from the following description, the prototype of the present invention takes full advantage of the symbol generation, definition and positioning operations. In the first prototype embodiment, the expert shell 201 and the expert system 202 are LISP
Realized by functions. FIG. 6 provides an overview of the functionality of LISP and relates it to the elements of FIG. 2 and the input and output sides of these elements. Thus, the LISP functions that make up CP2O3 are included in the dotted box with that label, the functions that make up DP207 are included in the dotted box with that label, and the TIE219
are included in the dotted box with that label. TE 101 is implemented in a first prototype by an r, rsp symbol base 505 that stores LISP symbols and their definitions. The elements of the first prototype embodiment also include L
Execute the ISP function and enter the symbol base 505.
SYMS507 and SYMD generated by elements in
SYMS 507 and their SYMDEFS 509. Regarding the expert 603, the expert 603 performs the functions of the CP' 203 in the program F. Expert 603 receives the input string and appends zeros around it to create the CFOR
When the LISP interpreter 503, which creates a LIF:P form called M605 and performs the EVAL operation on it, evaluates the form, it processes the first symbolic LISP function name in form A, and names the remaining items in form A. Treated as a list of arguments for the function with . The expected input string for the expert 603 is the command for the DP 207, namely DEFINE, RE.
DH: FINE, UNDEFINE and TIE219
command for, ie, WHAT. HOW, ASSUMELRE: JET, DEFINIT
ION%5AUE, WHY and RESTORE. DEFINE%REDEFINg, 2 and UNDH:F
INE corresponds to DPC 8204 in FIG. 2, and the remaining strings correspond to IEC 8217 in FIG. In a first prototype embodiment, expert 603
No error is detected. However, in a commercial embodiment, extract/sheet 603 includes a coat that detects and responds to incorrect input. As can be seen from Figure 6, I) P2O3 is the LIMP function, DEFINE, REDEFINE and UNDEFI.
Implemented in the first prototype by NE. Expert 603 is like FEAUD for example! TEEM
206. ! : Both receive the DEFINE command (DEFI
NE FEAUD) to the LISP interpreter, and the LISP interpreter 503 provides the argument FRA
Call the DEFIME function by UD. DEFIME is DE from the user! Request ECM, 05 and use DESC205 to set DEF2 for FRAUD.
Provides 13. As explained in more detail below, the result of the call is a LISP function called FRAUD, for which DEFUN is: (defun FRAUD () (prog2 (push 'FRAUD arg-stack)
(AND (“Know the false statement”) (“Believe it and suffer damage”)) (1(IAτg-stack)ノ)))FRA
In the process of defining UD, we found that ``knowing of the false statement''2, ``believing it and suffering damage'', and DT
All ERMs 211 are defined as r, rsp symbols representing LIMP functionality. AND is a predefined LISP function that performs an AND operation on its arguments. The value returned by the FRAUD function is the result of an AND operation. DTERMS211, which is defined as a LI:SP symbol representing a LISP function, will be referred to as TSY in the following explanation.
MS615, their definition is a prototype implementation of DEF8213, and TDE
It is called FS617. LISP interpreter or DE: TSYMS 615 s, - and TD in response to FIME function
As EFS 617 are generated, they are placed in symbol sweep 505. T in 2 for the first prototype
The DEF617 is shown in FIG. As shown in Figure 7, T
TF which is a LISP function displayed by SYM615
D, which was the source of the definition of UNC701 and TSYM615
It includes TDESC 705, which is a modified copy of F:5C 205, and TEXVAL 103, which contains the last EXVAL 703 defined by the user of expert 202 for TSYM 615. The remaining functions in DP 207 are called similarly to DEFINg from EXPERT 603. DEDEFIME is first of all TSYM which is being redefined.
We adopted LISP oiling to remove TFUNC701 and TDE;C705 from TDEF617 for TDEF615, and then called DEFIME to create TDEF6
17 and create new values for TFUNC701 and TDE;5C705. UNDEFINE simply removes TFUNC 701 and TDESC 705 without defining a new TSYM 615. TIE219 in first prototype embodiment 601-2
To explain the realization of LISP interpreter 5
03 shows zgczx7 all thorns EXFEET 6t
When receiving CFORM605 from J3, CFORM6
05 is executed. As the functions of TIE 219 are executed, they provide forms created from TSYM 615 (TPORMS 639) to interpreter 505, which evaluates those forms and returns the results (TFORM RESULT) to the function being executed. vinegar. The functions of TIE219 are TIg219 and ARG.
4TACK 635, TERMS-:5TACK613
j? and SYM-EOUND-LIST are adopted. Let's start explaining about AEG-3TACK635. ARG-8TACK635 is TSYM
615 - 10,000-defined TS
The value of YMS615 is calculated. As you can see from the code of the process for FRAUD above, before the AND operation that defines FRAUD is performed, it is pushed into ARG-8TACK, and then ARG-8TA
Released from CK. TERMS-8TACK613 is a stack of TSYMS615. The stack is TS
TDEF617 of YM615 is the first TSYM61
5 is ordered with 1 at the bottom and the last one at the top of the TDEF617 total stack. As explained in detail below, the final T:EYM 615 is typically the one whose TDEF 617 is at the top of the definition hierarchy. SYM-BOUND-LIST637 is currently E
TSYMS615 dedicated to XVALS225
This is a list of Referring to the LISP function of TIE 219 with WHAT function 619, this function is executed in response to a WHAT command to EXPERT 606. The above command is WHAT DTERM611
It has a form of For FRAUD, its form is WHAT FRAUD, for which EXPERT603 is entered (WHAT FRAUD)
. WHAT function 619 first uses a LISP function to detect whether its argument is TSYM615, and if so, this LISP function calls another LISP function that extracts the n pin number, which is the function name, as an argument. and calls that function, in this case FRAUD. The result is TFUN in TDEF616 for FRAUD
This is the execution of C701. When the TFUNC 701 is executed, the FRAUDO value is detected, and then the TFUNCS 701 for "false statement" and "I believed it and suffered damage" is executed. Predetermined TSYM61
When TFUNC701 for 5 is executed, the predetermined T
: Any one that needs to find the value of EYM615
TFUNC8701 for 87MS615 is enforced. When all the necessary TFUNC8701 are executed,
The values obtained from these runs are returned to the user of system 202 as TRES 227. That TFUNC70
1 requires Ex11L225, given that TSYM615 already has such a value, T:EYM6
15 is on SYM-EOUND-LIST637 and 2, TFUNC701 is TD for TSYM615
Use TEXVAL703 in EF617. Otherwise, TFUNC 701 generates an EXVAL REQ and obtains EXVAL 225 for the user. Thus, together with LISP interpreter 503, the WHAT function operates as a reasoner that determines the value of TSYM 615, which is determined by external values and whose definition is located at the top level of the hierarchy. Furthermore, as long as TFUNC701 called as a result of WHAT oilation is active, the corresponding TSYM615 will receive ARG-8TACK.
It is on 635. If OW function 623 is executed in response to the HOW command and meets TSYM 615'i. now
Function 623 takes the above T;
-1 LISP function that is CTION and T
Use the other LISP function that obtains the third element in the third list of FUNC701. As can be seen from the FRAUD function above, said element is a list that defines the operations from which the value of the function is obtained, i.e. (AN
This is list D (``I believe it and suffered damage''). The HOW function searches the list and finds the T used in the HOW command;
TIE to display TDESC705 for YM615
Use DEFITION of 219, then TFUNC7
It searches from 01 and evaluates 187MS615 of Strike A, and outputs the results along with appropriate explanatory text. A user of expert 202 can enter WHV commands into either H:XPERT 603 or TIE 219 in response to EXVAL PEQ during evaluation of TSYM 615. The WHV function uses TS as an argument.
Can be called with or without YM615. However, the function is TSYM615, which corresponds to the currently evaluated TFUNC701.
and its evaluation is EXVAL to which the user can respond.
In cooperation with the TSYM615 currently on top of the ARG-8TACK635, which generated Rli:Q, the function is
Collaborate with 5. In either case, the following process resulted in the evaluation of the function T) vNC 701 whose evaluation corresponds to TSYM 615, whose evaluation is being processed by WHV.
The preceding TSYMS1 is TSYMS15 corresponding to
5 at ARG-8TACK635. Without the intervention of the preceding TSYM 615, the WIIY command is meaningless and the corresponding message is output to the user. If a preceding TSYMS 15 is present, DEFINITION is used to output the definition for the preceding TSYM 615 along with appropriate explanatory text. Following the DEFINITION function, the EXPERT 6031 instruction that calls the function is:
TSYMS either as an argument or as a non-argument
Can you have 15? Firstly, TDESC705 of TDEFS17 is an output and secondly, TERMS-
TD for all TSYMS615 on STACK613
ESC705 is the output. The ASSUME function is called with an ASSUME command that specifies TSYMS15 and some value. TgYM615 has its value TFUNC701 EXV
Must require AL 225. A.S.
SUME first empties ARG-8TACK635 so that TSYM61 is cleared before the WHV command follows.
5 is reevaluated and then TEXVAL of TDEFS17
703 as an argument (set to direct, set TSYMS15 to SYM-EOUND-Ll, S'7
'613 to indicate that it has TEXVAL703. The RESET function shall be called by an Rk:SET command with or without specifying TSYMS15. First, TD corresponding to TSYMS15)
! : Only TEXVAL 703 of F617 is reset, secondly all TEXVALS 703 are reset. The RES ET function is first of all ARG-
Empty STACK635. If TSYM615 is specified, RESET
The function is TEXVAL703 and TSYMS15.
, effectively removing TDEF 617 and TSYMS15 from SYM-EOUND-LIST63
Remove from 7. If TSYMS15 is not specified, EESE
T is each TSYM of SYM-BOUND-LIST637
Perform the operations described above on 615. The 5AVE function creates a file containing DEFIME instructions for each TSYM 615 followed by a TDESC 705. DEFINE command TERMS-8
TSYMS 615 occurs in the order TACK 613 occurs. 5AVE is each T in TERMS-8TACK613
It works for SYM615 by outputting the following to a file. namely, the string DEFINE, TSYM 615 representing the string, and TDESC 705 representing the string for TSYM 615. The resulting file is TDh; the DE on which SC705 is based
TDE in the order in which the SC8205 was input to the DP 207
Includes SC705. The RESTORE function restores the previously saved TSYMS15. The restoration is performed by performing a LISP load operation on the file. In a load operation, the file's LIS
P symbol is evaluated. In this case, the evaluation result is TSYI
1615 and DEFIN in the restored file.
What is the product of those TDEF 617 specified by the E instruction? Detailed explanation of DEFINE607 (Figure 8) Figure 8 shows DE
TSYMS61 with a predetermined set of FINE functions and DEFINE functions to be called
We fully demonstrate how to inductively create a TDEFS6170 hierarchy for 5. As mentioned above, DEFIN
The way E creates the TDEFS617 hierarchy is Tani T A
l'RA/206 is fully defined and for a given T
Full guarantee that ERM 206 has only one definition. Figure 8 shows the main functions called by DEFINE%DEFINB, and TSYMS615 and TD
It shows how the EFS 617 and all generated data flow between the functions. DEFINE607 is TERM206 to DTERM2
Make 11. When DEFINE returns all DTERM 211, TSYMS 15 and TDEFS 17 corresponding to DTERM 211 have already been created. DEF
INE607 is F:XPERT603 and RESTORE
633. Plus itself and PRO
CESS-FUNCTION 811 is called recursively. EXPERT 603 provides CFORM 605 containing the DEFINE symbol and TERM 206 to be defined. RESTORE633. If so, DEFIME607 is TERM206 and TDE
Provide a copy of SC705 and all GETDEF805,
Returns the value returned by GETDEF 805, i.e., the list whose element is TERM 206). TERM
206 was not provided by RESTORE 603, DEFINE 607 is already interposed by TSYM 615 for TERM 206 or TER
It is detected whether M206 is a literal (that is, there is no copy of TDESC 705). If any of the above, DEFIME indicates that the element is TERM2
06 and the list money is returned. If none of the other cases were correct, GETDEF 805 returns Tl#SC705
Called by DIEFINE 607 without any code. GETDEF 805 receives an undefined term (UTERM) 803 from DEFINE 607 and can also receive a copy of TDESC 705 for the term. In the first case, GETDEF receives DESC205 from the user.
obtain. The second case is simply the CFORM605 containing the DEFIME symbol and the previously saved DTERM.
TERM 206, which is a copy of 211 and a copy of TDESC 705 to DTERM 211, is provided. When DEF-INE 607 is called recursively, its input is TERM 206, which is used in DESC 205 of another TERM 206 being defined. Generally, TERM 206 is one signal, but DE
If SC205 contains a case statement, TER
M206 may be a list, in which case DEFINIi: calls C0NVERT 809 to convert the list to LIST form, then calls itself recursively to
Define each undefined TERM 206 in the ISP form. Next, DEFINE607 is TERM20
6 or a LISP symbol. If not, DEFIME 607 simply returns TERM 206 unchanged. If so, DEFINE60
7 only uses TDESC 705'i to detect whether Tk:Ru2O3 is provided by RESTORE 633. Next, GETDEF 805 is C0NVERT
809 all calls it in LISP form CDE
Convert to SC807. Next, UTERM803 and CD
ESC807 and PROCESS-FUNCTION8
Provided for 11n, PROCbj8g-FUNCT
ION 811 is Tk:UN for UTERM811
Return C701. Finally, GETDEF 805 is TSYM615 all T
Located in ERMS-8TACK 613, UTERM
The list consisting of the DTERM 211 corresponding to the DTERM 803 is returned to the entire DEFINE 607. C0NVERT809 is DEFINE607 or G
Called by ETDEF805 - go. C0NVERT
809 receives DESC205f LI from the called party.
Convert to SP form, that is, CDESC807, and
Return L to the callee. PROCk:5S-FUNCTION 811 is UTE
Receive RM803 and CDk:SC807 and send to UTER
M803 DEFINE-1i'UNCTION813
, receive TFUNC701 from DEFINE-FUNCTION 811, and get TFUNC701.
Dk; Return to F2O3, 1 is undefined CDES
U is a list of UTERMS 803 from C807
Create TERML815. Next PROCF:5S-F
UNCTION is each UTERM of UTERML 815
DEFIME 607 is called for 803. Finally, DEFINE-FUNCTION 803 is TFU-
Generate and evaluate Dli:FUN for NC701 to create TFUNC301, and PROC
Return to ESS-FUNCTION 811, PROCE
For SS-FUNCTION 811, TFU-NC7
Return 01 to GE:TDEF805. As can be seen from the foregoing discussion, the recursive call to DEFINE 607 continues until all of the TERMs 206 necessary to define the TERM 206 for which DEFIME was called have been defined. Only in that respect is DEFINE 606 TERM
206 is returned. shell 20
1 user needs to define all Tk:Ru2O3 required to define a given TERM206, TEE
Since you only need to give one definition for M206,
DEFINE 606 ensures a complete and consistent set of definitions for TERM 206. Prototype Example 2 (Figure 9) Prototype Example 2 has many improvements over Prototype Example 1, including a better interface for the user and more reliable recovery from user errors. Has improvements. Prototype Example 2 The most important improvement included is an alternative embodiment of the TDEF617 and WHAT shown in the schematic diagram of FIG. TDEF901 is TDES like TDEF617
C705 and TEXVAL 703. TDEF901 does not contain TFUNC701,
Contains two new fields, TFORM 903 and TTYPE 905. Changes were made to eliminate the problems of Prototype Example 1. That is, the TERM 206 to be defined corresponds to other LISP symbols already in the symbol base 505. In that case, TER,'v
1206, the definition obtained by DEFINE 607 &-1 gives priority to the definition that existed before the signal. In prototype example 2 tic, TFUNC70
1 cannot be implemented as a function by itself, but TIE
EVALUA-TOR function 9 in 219
TF, which is a LISP form that can be implemented by
The problem is solved by replacing it with OEM903. TTYPE905 is TFOEM905 EVALUAT
Contains information regarding the types of values that are sucked back performed by OR911. The rest of FIG. 9 shows W in prototype embodiment 2.
HAT function 907 and gVALU-ATOR9
11 is shown. WHAT 907 is the EXPERT 603 to WHAT CFO as in the previous example.
RM 605 but simply LISP for 187M615 provided as argument to WHAT
In order to perform the EVAL operation, TSYM615
EVA TFOR1v1903 from TDEF901 for
Provided to LUATOR911, EVALUTOR91
1 creates a LISP7ohm that performs the operations specified in TFORM903, and converts the form to LIS
Provided to P interpreter 503. The LISP interpreter 503 uses EVALUA to evaluate the LISP form.
The EVALUator 911 provides those evaluation results to the TREs 227, and the TRES
227 is returned to WHAT 907, and WHAT is returned to the user. CONCLUSION This preceding description of the preferred embodiment has disclosed the best mode presently known to the inventors for implementing the new expert shell and the new expert system. Although this expert system is not as powerful as the prior art one, it still has many of the most important advantages of the prior art expert system.
It is particularly well suited to situations where what is required of an expert system is detailed knowledge of a complex procedure. The expert system shell in accordance with the present invention precludes prior art expert system shell rules and ensures that the definitions that make up the expert system's knowledge base are complete and consistent. The expert system shell and expert system disclosed herein are those in which the knowledge base used by the ExHeart system has a predetermined definition in the hierarchy [with definitions lower than itself] and sources external to said knowledge base. It is based on the fact that it consists of terms defined by a hierarchy of definitions that depends only on the external values obtained. The expert system calculates υ by asking the user to supply one or more extrinsic values and then using the extrinsic values and a hierarchy of definitions to discover what value would be produced for a term. Term G makes a related inference. A hierarchy of definitions is created in the expert system shell by requesting the definition of the terms used to define a given term in one in which all terms are fully defined, so that the definition of a given term is dependent. ensure that definitions provided are complete and consistent. Although the embodiments disclosed in this specification were implemented in an ISP, implementation of the present invention is not limited to LISP in any way. However, it is a prototype and is intended to be purely illustrative. As such, the disclosed embodiments are to be considered in all respects illustrative and non-limiting, and the scope of the invention is limited by the foregoing. It is intended that the meaning and range of equivalents of the claims be within the scope of the present invention.
第1図は従来技術によるエキスパートシステムの概念的
なブロック線図、
第1A図は従来技術によるエキスパートシステムシェル
の概念的なブロック線図、
第2図は本発明によるエキスパー トシステムシェルと
エキスパートシステムの概念的なブロック線図、
第3図は本発明で使用される定義の階層の概念的な線図
、
第4図はFRAUDという項を定義するために使用する
項と説明との線図、
第5図はLISP環境の線図、
第6図は本発明の第1のプロトタイプ実施例の概略図、
第7図は第1のプロトタイプ実施例のTDEF617の
線図、
第8図は第1のプロトタイプ実施例の機能DEFIにE
の詳細線図、および
第9図は第2のプロトタイプ実施例におけるある改良点
の線図である。
図において、
203・・・コマンド入力手段 204・・・定義プロ
セッサコマンド 205・・・所定の項の説明 206
・・・項 207・・・定義分析手段 211・・・階
層定義の項 213・・・定義 215・・・知識ベー
ス217・・・推論機構コマンド 219・・・推論
機構225・・・外部値
1i’s、+07
IGI
区コの、9四(内容に変更なし)
FIG、 5
TDEF617
FIG、7
記うス※人 505
(T3215)
DTEI?M 27ノ DEF 2
/3FIG、9
7SYM615
手続補正書(方式)
%式%
3、補正をする者
事件との関係 出 願 人
住所
名 称 クオシク°′・う±゛°ラドソース°、イシ
フー汁、’L−7,I−4、代理人
5、補正命令の日付 昭和tr年10月LJ1日(発
送臼)6、補正の対象
図 面FIG. 1 is a conceptual block diagram of an expert system according to the prior art, FIG. 1A is a conceptual block diagram of an expert system shell according to the prior art, and FIG. 2 is a conceptual block diagram of an expert system shell and an expert system according to the present invention. A conceptual block diagram; Figure 3 is a conceptual diagram of the hierarchy of definitions used in the present invention; Figure 4 is a diagram of terms and descriptions used to define the term FRAUD; Figure 5 is a diagram of the LISP environment, Figure 6 is a schematic diagram of the first prototype embodiment of the invention, Figure 7 is a diagram of the TDEF617 of the first prototype embodiment, and Figure 8 is the first prototype. Example function DEFI
and FIG. 9 is a diagram of certain improvements in the second prototype embodiment. In the figure, 203...Command input means 204...Definition processor command 205...Description of a predetermined term 206
...Term 207...Definition analysis means 211...Hierarchical definition term 213...Definition 215...Knowledge base 217...Inference mechanism command 219...Inference mechanism 225...External value 1i 's, +07 IGI Ward Ko's, 94 (no change in content) FIG, 5 TDEF617 FIG, 7 Number of people writing 505 (T3215) DTEI? M 27 no DEF 2
/3FIG, 9 7SYM615 Procedural amendment (method) % formula % 3. Relationship with the case of the person making the amendment Applicant Address Name Kuoshiku °'・U±゛°Rad sauce °, Ishifujiru, 'L-7, I -4, Agent 5, Date of amendment order LJ1, October 1920 (Shipping mill) 6, Drawings subject to amendment
Claims (1)
項の対応する定義が階層においてより低レベルにある定
義を有する項の値あるいは知識ベースの外部にある外部
値に関して当該項を定義する、記憶された知識ベースと
、および 対応する定義におけるいずれかの項の値といずれかの外
部値とを得ることにより、かつ対応する定義により規定
されてそこから所定の項の値をつくり出すことにより対
応する定義から所定の項の値を検出する推論手段 と、を含む、デジタルコンピュータシステムにおけるエ
キスパートシステム。 2)各項がその定義が階層においてより低レベルにある
別の項あるいは別の項に依存しない項に関して定義され
る、項に対して定義の階層をつくり出す、デジタルコン
ピュータシステムにおける定義化システムにおいて、 項に対応する定義を含む記憶手段と、および所定の項を
受取り、その所定の項の記述を入手し、要求された記述
がいずれかの別の未定義の項を含むか否か検出し、含ん
でいないとすれば、その記述ならびにいずれかの定義さ
れた項の定義から所定の項を定義し、その定義を前記記
憶手段に提供し、かつもし含んでいるとすれば別の未定
義の項の記述を入手し、このようにして所定項の記述に
おいて、あるいは分析の過程で得られたいずれかの記述
において未定義の項が残つていないようになるまで所定
項に対して分析を続ける定義分析手段とを 含む定義化システム。 3)エキスパートシステムで使用する一組の定義された
項を構成する、デジタルコンピュータシステムにおける
方法において、いずれかの未定義の項に対して、 デジタルコンピュータシステムの利用者から未定義の項
の記述を入手し、 要求された記述がいずれか別の未定義の項を含むか否か
検出し、 もし要求された記述が未定義の項を含んでいないとすれ
ば、得られた記述と定義された項の記述とから未定義の
項の定義をつくり、 もし未定義の項を含んでいるとすれば、別の未定義の項
に対して先行する過程を繰返す過程を含み、および 前述の過程を繰返している間に得られたいずれかの定義
において含まれる別の各未定義の項に対して前述の過程
を繰返し、一組の定義された項を構成する方法。 4)デジタルコンピュータシステムの利用者からシェル
のコマンドを受取るコマンド入力手段と、シェル命令に
応答し、階層のより低レベルの項の値あるいは外部から
値に関して項の値を定義する階層定義を構成するために
項の定義を規定する定義処理手段と、 定義を記憶する知識ベース記憶手段と、および所定の項
の定義においていずれかの項の値およびいずれかの外部
の値を入手することにより所定の項の値を検出するため
に定義が知識ベース記憶装置に含まれている所定の項の
現在値を要求し、所定の項の定義において規定された所
定項の値をつくり出す推論手段とを含む デジタルコンピュータシステムにおけるエキスパートシ
ステムシェル。[Scope of Claims] 1) Contains a hierarchically defined term and a definition of the term, where the corresponding definition of each term is an external value or knowledge base of the term that has a definition at a lower level in the hierarchy. and a stored knowledge base that defines the term in terms of extrinsic values in the corresponding definition, and by obtaining the value of any term in the corresponding definition and any extrinsic value, and an expert system in a digital computer system, comprising: inference means for detecting a value of a predetermined term from a corresponding definition by creating a value of the predetermined term from a corresponding definition. 2) In a definition system in a digital computer system that creates a hierarchy of definitions for terms, where each term is defined in terms of another term or terms that are independent of another term at a lower level in the hierarchy; a storage means containing definitions corresponding to the terms; and receiving a given term, obtaining a description of the given term, and detecting whether the requested description includes any other undefined terms; If not, define a given term from its description and the definition of any defined term, provide that definition to said storage means, and if it does, define another undefined term. Obtain the description of the term and thus perform the analysis on the given term until no term remains undefined in the description of the given term or in any description obtained in the course of the analysis. A definition system including a continuing definition analysis means. 3) In a method in a digital computer system that constitutes a set of defined terms to be used in an expert system, for any undefined term, a user of the digital computer system requests a description of the undefined term. obtain, detect whether the requested description contains any other undefined terms, and if the requested description does not contain any undefined terms, the obtained description and the defined Create a definition of an undefined term from the description of the term, and if it contains an undefined term, include a process of repeating the preceding process for another undefined term, and repeating the previous process. A method of constructing a set of defined terms by repeating the above process for each additional undefined term included in any of the definitions obtained during the iteration. 4) A command input means for receiving shell commands from a user of the digital computer system, and a hierarchy definition that responds to shell commands and defines the value of a term with respect to the value of a term at a lower level of the hierarchy or a value from outside. a definition processing means for specifying a definition of a term for the purpose of obtaining a definition, a knowledge base storage means for storing the definition; and inference means for requesting the current value of a given term whose definition is included in the knowledge base storage to detect the value of the term and producing the value of the given term specified in the definition of the given term. Expert system shell in computer systems.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61187651A JP2848597B2 (en) | 1986-08-09 | 1986-08-09 | Digital computer system that can operate as an expert system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61187651A JP2848597B2 (en) | 1986-08-09 | 1986-08-09 | Digital computer system that can operate as an expert system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6345631A true JPS6345631A (en) | 1988-02-26 |
JP2848597B2 JP2848597B2 (en) | 1999-01-20 |
Family
ID=16209829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61187651A Expired - Lifetime JP2848597B2 (en) | 1986-08-09 | 1986-08-09 | Digital computer system that can operate as an expert system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2848597B2 (en) |
-
1986
- 1986-08-09 JP JP61187651A patent/JP2848597B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2848597B2 (en) | 1999-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4967368A (en) | Expert system with knowledge base having term definition hierarchy | |
US5043891A (en) | Document generation apparatus and methods | |
Bates et al. | Proofs as programs | |
McGuinness | Explaining reasoning in description logics | |
US5379366A (en) | Method for representation of knowledge in a computer as a network database system | |
Yang et al. | Fuzzy rule base systems verification using high-level petri nets | |
Rushby et al. | A less elementary tutorial for the PVS specification and verification system | |
JP2015165414A (en) | Autonomous problem solving machine | |
Rada et al. | Expert systems and hypertext | |
JP2651452B2 (en) | Question answering method and device | |
JPS6345631A (en) | Apparatus and method for expert system | |
Laleau et al. | A rigorous metamodel for UML static conceptual modelling of information systems | |
Hasemer | Syntactic debugging of procedural programs | |
Sawyer et al. | PREview: tackling the real concerns of requirements engineering | |
CN114237803A (en) | Software timely help method and system based on interactive perception | |
Zhang et al. | Epistemic Specifications and Conformant Planning. | |
JP5828437B2 (en) | Autonomous processing procedure generation and execution machine | |
AU595155B1 (en) | Expert system apparatus and methods | |
JPH05241837A (en) | Rule set preparing device | |
Amitai et al. | Interactive explanations of agent behavior | |
Henglein et al. | A semantic model of binding times for safe partial evaluation | |
Padalkar | Graph-based real-time fault diagnosis | |
JP2015187882A (en) | Autonomous knowledge system construction machine | |
Vliet | Can the Human Mind Escape Gödel? | |
JPH0328929A (en) | Inference method and inference device, theorem proving method and theorem proving device |