DE3627204C2 - Digitales Computersystem mit einem Expertensystem - Google Patents
Digitales Computersystem mit einem ExpertensystemInfo
- Publication number
- DE3627204C2 DE3627204C2 DE3627204A DE3627204A DE3627204C2 DE 3627204 C2 DE3627204 C2 DE 3627204C2 DE 3627204 A DE3627204 A DE 3627204A DE 3627204 A DE3627204 A DE 3627204A DE 3627204 C2 DE3627204 C2 DE 3627204C2
- Authority
- DE
- Germany
- Prior art keywords
- term
- definition
- expert
- computer system
- expert system
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/045—Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
Description
Die Erfindung betrifft
ein digitales Computersystem mit einem Expertensystem.
In den vergangenen Jahren wurden Expertensysteme wirtschaftlich
nutzbar. Ein Expertensystem verarbeitet Informationen in einem
gegebenen Fachgebiet in der gleichen Weise wie ein (menschli
cher) Experte auf diesem Gebiet. Darüber hinaus können Exper
tensysteme einen menschlichen Experten dahingehend nachahmen,
daß sie in der Lage sind, sich selbst bis zu einem gewissen
Grad zu erklären. Abhängig von der Komplexität des Systems kann
ein Expertensystem erklären, weshalb es zu einer bestimmten
Schlußfolgerung gelangt ist, und auch erklären, weshalb eine
weitere Information gewünscht wird. Auch kann es dem Benutzer
erlauben, den Wert einer bestimmten Information zu ändern und
zu prüfen, wie dadurch das Ergebnis beeinflußt wird. Experten
systeme sind bereits für folgende Zwecke gebaut worden: Die
Konfiguration großer Computersysteme, die Diagnose bakterieller
Infektionen oder die Erklärung, weshalb ein Öl-Bohrwerkzeug
sich festgefressen hat, und die Erarbeitung von Lösungsvor
schlägen hierzu.
Herkömmliche Expertensysteme sind allgemein regel-basiert, d. h.
sie funktionieren derart, daß Regeln angewandt werden, die
durch Abfragen eines Experten über sein Fachgebiet bezüglich
derjenigen Tatsachen gewonnen worden sind, welche vom Benutzer
des Expertensystems bereitgestellt werden. Die Regeln haben
allgemein die Form:
Falls A, dann B.
Falls A, dann B.
In einer derartigen Regel ist A das Prädikat für B, welches die
Folge ist. Wenn A wahr ist, dann läßt sich schlußfolgern, daß
auch die Folge wahr ist. Beispielsweise kann bei einem medizi
nischen Diagnosesystem eine Regel wie folgt lauten: "Hat der
Patient Fieber und eine laufende Nase, dann kann er eine Grippe
haben." Entsprechend dieser Regel ist bei den Symptomen "Fie
ber" und "laufende Nase" eine mögliche Schlußfolgerung die
Grippe.
Ein Beispiel für ein bekanntes, regel-basiertes Expertensystem
ist das Produkt ES/P ADVISOR, das 1984 auf den Markt gebracht
wurde und in dem nachveröffentlichten Buch "Expertensysteme in
der Praxis" von Paul Harmon und David King, R. Oldenbourg Verlag
1986, S. 115-119, beschrieben ist. Bei diesem System wird heuri
stisches Wissen durch Produktionsregeln repräsentiert. Eine Regel
kann beispielsweise sein:
assoziiert: wahr, wenn nicht Tochter und
Beteiligung = Partner und
signifikanter_Einfluß
Das Produkt ES/P ADVISOR wertet rückwärtsverkettend aus, wobei die Ablaufsteuerung von der Anordnung des Wissens abhängt, das genau in der Reihenfolge sortiert sein muß, in der der Entwickler es bearbeitet haben möchte. Die Widerspruchsfreiheit und Vollständigkeit der Wissensbasis wird durch das System nicht sichergestellt.
assoziiert: wahr, wenn nicht Tochter und
Beteiligung = Partner und
signifikanter_Einfluß
Das Produkt ES/P ADVISOR wertet rückwärtsverkettend aus, wobei die Ablaufsteuerung von der Anordnung des Wissens abhängt, das genau in der Reihenfolge sortiert sein muß, in der der Entwickler es bearbeitet haben möchte. Die Widerspruchsfreiheit und Vollständigkeit der Wissensbasis wird durch das System nicht sichergestellt.
Fig. 1 ist ein Blockdiagramm eines herkömmlichen, regel-basier
ten Expertensystems 101. Das System 101 hat drei Komponenten:
den Befehlsprozessor (CP) 103, die auf Regeln basierende Schluß
folgerungsmaschine (RIE) 105 und den Regel-Speicher (RS) 107.
Der Regelspeicher 107 enthält die Regeln 109 für das Fachge
biet, für welches das System einen Experten darstellt. Die RIE
105 erhält Problem-Daten vom Benutzer, wendet die Regeln des RS
auf diese Daten an und stellt das Ergebnis seiner Anwendung der
Regeln auf die Problem-Daten des Benutzers bereit. Der CP 103
steuert die auf Regeln basierende Schlußfolgerungseinrichtung
105 mittels Befehlen (IEC) für die Schlußfolgerungseinrichtung.
Der Befehlsprozessor CP 103 erzeugt die Befehle entsprechend
einer Befehlseingabe durch den Benutzer. Um das obige Grippe-
Beispiel fortzuführen, kann beispielsweise eine Person bei ei
nem medizinischen Diagnoseexperten den Befehl in den CP ein
geben: "Welche Krankheit?". Der CP 103 stellt dann einen
Schlußfolgerungseinrichtungsbefehl für die RIE 105 bereit, wel
che dann feststellt, daß ihre Regeln für Krankheiten Symptome
erfordern. Die RIE 105 würde dann vom Benutzer Problem-Daten
anfordern, beispielsweise durch die Frage "Welche Symptome?".
Der Benutzer könnte dann die Symptome eingeben und die RIE 105
würde dann eine Regel 109 finden, für welche die Symptome die
Prädikate darstellen und sodann die Folge der Regel als Ergeb
nis ausgeben. Sind beispielsweise die eingegebenen Symptome
"Fieber und laufende Nase", so würde das Expertensystem 101 mit
oben erwähnten Regel 109 schlußfolgern, daß es sich bei der
Krankheit um eine Grippe handeln kann. Selbstverständlich haben
auch andere Krankheitsbilder derartige Symptome und es existie
ren deshalb noch andere Regeln als die Regel 109, die diese
Symptome als Teil ihres Prädikats aufweisen. Abhängig vom Ver
feinerungsgrad könnte das Expertensystem 101 einfach als Ergeb
nisse die Folgen all derjenigen Regeln 109 ausgeben, welche die
Symptome als Teil ihres Prädikats aufweisen oder könnte den Be
nutzer nach weiteren Symptomen fragen, um mittels der neuen
Symptome die Anzahl der anwendbaren Regeln einzuengen. In jedem
Falle kann das Expertensystem 101 auf Anfrage des Benutzers
diejenige Regel 109 anzeigen, die es bei der Gewinnung der Fol
ge eingesetzt hat.
Das erste herkömmliche Expertensystem 101 war sehr speziell und
verlangte eine intensive und lange Kooperation zwischen einem
Experten, einem Wissensingenieur und Fachleuten für den Entwurf
von Computersystemen. Der Experte stellte sein Können bereit,
der Wissensingenieur reduzierte das Fachwissen auf Regeln 109
und entwarf die RIE 105 sowie die Darstellung zum Speichern der
Regeln 109 im RS 107. Schließlich schrieb der Fachmann für Com
putersysteme die Programme, welche den Entwurf des Wissens
ingenieurs realisierten.
Der hohe Arbeitsaufwand bei der Herstellung von speziellen Ex
pertensystemen 101 hatte hohe Kosten zur Folge und führte dazu,
daß spezielle Werkzeuge, Expertensystem-Schalen genannt, herge
stellt wurden, um Expertensysteme zu erzeugen. Fig. 1A ist das
Blockdiagramm einer Expertensystem-Schale 110 zum Erzeugen von
regel-basierten Expertensystemen. Wie der Figur zu entnehmen
ist, weist die Schale als Komponente den regel-basierten Ex
perten gemäß Fig. 1 auf und zusätzlich eine Komponente, den
Regel-Prozessor (RP) 111. Der Regel-Prozessor 111 wird benutzt,
um Regeln 109 zu erzeugen, welche im Regelspeicher 107 entspre
chend dem gerade aufgebauten Expertensystem abgespeichert wer
den. Die RIE 105 wird in der Expertensystem-Schale 110 dazu
benutzt, um das Expertensystem bei seinem Aufbau zu testen.
Sind alle Regeln 109 für das gerade entwickelte Expertensystem
niedergeschrieben und ist das System vollständig getestet wor
den, so können die Benutzer des neuen Expertensystems Zugang
zur RIE 105 und zum RS 107 erhalten.
Die Nützlichkeit von Expertensystem-Schalen 110 hängt weitge
hend von der Qualität des Regel-Prozessors 111 ab. Bei einigen
Systemen verlangt der Regel-Prozessor 111, daß die Regeln 109
in spezieller Form eingegeben werden. Deshalb erfordern diese
Systeme im allgemeinen einen Wissensingenieur und können durch
den Experten selbst nicht benutzt werden. Bei anderen Systemen
bildet sich der Regel-Prozessor 111 die Regeln aus durch den
Experten bereitgestellten Beispielen, weshalb hier kein Wis
sensingenieur erforderlich ist.
Obwohl die regel-basierten Expertensysteme 101 ständig verbes
sert, brauchbarer und billiger werden, so hat doch ihre Abhän
gigkeit von Regeln gewisse systembedingte Nachteile. Zunächst
denken die meisten Experten über ihr Fachgebiet nicht im Sinne
eines Satzes von Regeln. Deshalb muß der Wissensingenieur oder
das System, welches die Regeln aus Beispielen gewinnt, zwischen
dem Experten und der Expertensystem-Schale 110 vermitteln. Im
ersten Fall ist die Entwicklung des Expertensystems wesentlich
kostenaufwendiger als in dem anderen Fall und im zweiten Fall
ist die Komplexität der Expertensystem-Schale 110 größer als in
anderen Fällen und der Experte ist immer noch nicht vollständig
unbelastet von den Regeln, da er die von der Schale 110 erzeug
ten Regeln prüfen muß.
Da der RS 107 eine Sammlung von Regeln 109 aufweist, die unab
hängig voneinander produziert worden sind, besteht keine Garan
tie dafür, daß die Sammlung von Regeln 109 vollständig ist oder
keine widersprüchlichen Regeln aufweist. Ist ein Satz von Re
geln 109 unvollständig, so kann das Expertensystem 101 kein
oder ein falsches Resultat gewinnen; enthält der Satz von Re
geln 109 widersprüchliche Regeln, so kann das Expertensystem
ebenfalls kein oder nur ein falsches Resultat erhalten, wobei
das Resultat vom Algorithmus der RIE 105 zur Auflösung von Wi
dersprüchen abhängt.
Die Fähigkeit, mit unvollständigen Sätzen von Regeln 109 oder
mit widersprüchlichen Regeln 109 umzugehen, bestimmt weitgehend
die Leistungsfähigkeit des regel-basierten Systems 101 und wird
insbesondere in solchen Situationen gefordert, in welchen der
Experte nicht in der Lage ist, sein Fachgebiet auf einfache
Prinzipien zu reduzieren. Andererseits sind aber Expertensyste
me gerade in solchen Situationen gefordert, in denen der Exper
te sein Wissen auf einfache Prinzipien rückführen kann und in
diesen Situationen erschwert die Fähigkeit, mit unvollständigen
Sätzen von Regeln 109 und widersprüchlichen Regeln 109 umzuge
hen, die Fehlersuche. Wenn ein Fehler gemacht worden ist, so
hängt das Verhalten des Systems 101 nicht mehr von den Regeln,
sondern vom internen Algorithmus der RIE 105 ab.
Drittens sind regel-basierte Expertensysteme schwer zu modifi
zieren. Das Verhalten eines regel-basierten Expertensystems
hängt von der Vollständigkeit seiner Regeln ab und es ist häu
fig schwierig, zu bestimmen, welche Regeln geändert werden müs
sen, wenn das Verhalten des Systems abgeändert werden soll,
weil Defekte vorliegen oder weil der Experte seine Auffassung
darüber, wie mit einem vorgegebenen Fall verfahren werden soll,
geändert hat.
Zum vierten wird die Leistungsfähigkeit und Komplexität des
regel-basierten Expertensystems 101 in vielen Situationen nicht
gefordert, in welchen gleichwohl Expertensysteme sinnvoll sind.
Allgemein läßt sich sagen, daß die Leistungsfähigkeit und Kom
plexität dort gefordert ist, wo der Experte sein Fachwissen
nicht vollständig definieren kann. Es gibt aber viele Situa
tionen, in denen ein Laie Hilfestellung durch einen Experten
wünscht und wobei der Experte sein Fachwissen vollständig und
leicht definieren kann. In derartigen Situationen benötigen Ex
pertensysteme und Expertensystem-Schalen nicht die Komplexität
von regel-basierten Expertensystemen und Expertensystem-
Schalen.
Eine derartige Situation wird beispielsweise durch komplizierte
Formulare, wie Steuer-Formulare, erzeugt. In den meisten Fällen
ist nur ein geringes Urteilsvermögen erforderlich, um ein der
artiges Formular auszufüllen, doch ist das Formular trotzdem
derart kompliziert, daß viele Benutzer die Hilfe eines Steuer
beraters in Anspruch nehmen müssen. Tabellenkalkulationsprogramme
haben rein mechanisch den Umgang mit den Daten erleichtert, die
beim Ausfüllen von Steuer-Formularen erforderlich sind und es
dem Benutzer ermöglicht, wie die Änderung eines Wertes die an
deren Werte beeinflußt, doch ist hierdurch nicht die Art einer
vernünftigen Anleitung erzeugt, die für den Benutzer mit einem
Expertensystem möglich ist. Erforderlich ist deshalb eine Ex
pertensystem-Schale, die leichter zu benutzen ist als die typi
schen regel-basierten Systeme, und es sind Expertensysteme er
forderlich, welche auch wesentlich einfacher sind als regel-
basierte Expertensysteme, trotzdem aber eine vernünftige, fach
kundige Führung in Situationen gewährleisten, welche nicht die
volle Leistungskraft eines regel-basierten Systems erfordern.
Die vorliegende Erfindung erfüllt diese Anforderungen.
Die Erfindung ist durch Anspruch 1 definiert.
Expertensysteme gemäß der Erfindung verwenden Defini
tionen anstelle von Regeln. Ein Experte definiert sein Fachge
biet als eine Menge von Ausdrücken mit einem zugehörigen Satz
von hierarchisch aufgebauten Definitionen. Die Definition eines
Ausdruckes kann wiederum Ausdrücke auf einer tieferen Ebene der
Hierarchie enthalten, Buchstaben, konstante Werte und Werte,
die aus Quellen außerhalb des Expertensystems gewonnen sind. Die
Entscheidungen, die ein Experte bezüglich eines Ausdruckes in
der Hierarchie treffen würde, werden in Form von Werten des Aus
druckes ausgedrückt. Die definierten Ausdrücke bilden die Wis
sensbasis des Expertensystems gemäß der Erfindung. Die Schluß
folgerungseinrichtung bestimmt, welche Entscheidung ein Experte
bezüglich des gegebenen Ausdruckes getroffen haben würde, indem
der Wert des Ausdruckes aus seiner Definition berechnet wird.
Enthält die Definition noch andere Ausdrücke, so werden die
Werte dieser Ausdrücke aus ihren Definitionen berechnet und
falls die Definition oder die Definitionen anderer Ausdrücke
Werte beinhalten, die sich aus externen Quellen ergeben, so
werden diese Werte nach Bedarf herangezogen, um den Wert des
gegebenen Ausdruckes zu bestimmen. Ist die externe Quelle ein
Terminal, so fragt das Expertensystem die Person am Terminal
nach einem Wert, und die Person, welche den Wert eingibt, kann
fragen, weshalb dieser Wert benötigt wird. Die Schlußfolge
rungseinrichtung bestimmt aus der Definition, weshalb der Wert
erforderlich ist, und liefert diese Information der den Wert
eingebenden Person.
Sobald die Schlußfolgerungseinrichtung bestimmt, welche Ent
scheidung ein Experte getroffen hätte, kann der Benutzer des
Expertensystems dasselbe fragen, wie es zu dieser Schlußfolge
rung gekommen ist. Die Schlußfolgerungseinrichtung geht sodann
wieder in die hierarchische Definition des Ausdruckes und arbei
tet sich entsprechend durch, um zu zeigen, wie sie das Ergebnis
erzielt hat.
Zusätzlich kann der Benutzer das Expertensystem auffordern, ei
nen anderen Wert für einen der Ausdrücke anzunehmen, welche bei
der Definition des Ausdruckes benutzt worden sind, über den der
Benutzer ursprünglich Auskunft haben wollte. Die Schlußfolge
rungseinrichtung ersetzt den alten Wert durch den neuen und be
stimmt neuerlich das Ergebnis für den Ausdruck, welchen der
Benutzer ursprünglich eingegeben hat, so daß gezeigt wird, wie
die Änderung des Wertes von einem der untergeordneten Ausdrücke
den Wert des ursprünglich untersuchten Ausdruckes beeinflußt.
Die beim Expertensystem gemäß der vorliegenden Erfindung be
nutzten Techniken zum Untersuchen, weshalb das Expertensystem
eine bestimmte Eingabe verlangt hat, wie das Expertensystem zu
einer bestimmten Schlußfolgerung gelangt ist und wie der Wert
eines Ausdruckes geändert und das Ergebnis beeinflußt wird,
sind nicht nur bei dem erfindungsgemäßen Expertensystem anwend
bar, sondern auch bei anderen Systemen, bei denen hierarchisch
aufgebaute Sätze von Ausdrücken verwendet werden.
Die erfindungsgemäßen Expertensysteme werden unter Verwendung
einer erfindungsgemäßen Expertensystem-Schale erzeugt. Nachfol
gend soll der Begriff "Expertensystem-Schale" durch "Experten-
Schale" abgekürzt werden. Die Experten-Schale enthält eine
Schlußfolgerungseinrichtung und eine auf Definitionen beruhende
Wissensbasis, die gerade beschrieben worden sind. Zusätzlich
enthält sie einen Definitionen-Prozessor zum Erzeugen der Defi
nitionen in der auf Definitionen beruhenden Wissensbasis. Um
die Definitionen-Wissensbasis zu benutzen, gibt der Benutzer
der Schale (also im allgemeinen der Experte) einen Definierbe
fehl ein, dem der Ausdruck folgt, den er zu definieren wünscht.
Der Definitions-Prozessor verlangt dann eine Beschreibung des
Ausdruckes und der Experte beschreibt denselben. Die Beschrei
bung zeigt an, wie der Wert des Ausdruckes abgeleitet wird und
kann auch andere Ausdrücke, Konstanten oder eine Beschreibung
enthalten, wie der externe Ausdruck gewonnen werden kann. Ent
hält die Beschreibung keine weiteren undefinierten Ausdrücke,
so erzeugt der Definitionen-Prozessor die Definition des Aus
druckes aus der Beschreibung. Enthält die Beschreibung weitere
undefinierte Ausdrücke, so verlangt der Definitionen-Prozessor
eine Beschreibung von jedem der undefinierten Ausdrücke und
verarbeitet diese Beschreibung, wie gerade erläutert. Dieses
iterative Verfahren wird solange durchgeführt, bis keine un
definierten Ausdrücke verbleiben. Sobald ein Ausdruck definiert
ist, werden der Ausdruck und seine Definition Teil der Defini
tions-Wissensbasis. Der Definitionen-Prozessor erlaubt weiter
hin, daß der Experte die Ausdrücke neu definiert, einen Aus
druck und seine Definition aus der Wissensbasis entfernt und
die Definition eines Ausdruckes oder von Ausdrücken prüft, die
in die Definition des übergeordneten Ausdruckes eingehen. Aus
der vorstehenden Beschreibung ergibt sich, daß es die Experten-
Schale gemäß der Erfindung einem Experten ermöglicht, Informa
tionen in Form von Definitionen anstelle von Regeln bereitzu
stellen. Die Experten-Schale gewährleistet, daß ein Satz von
Definitionen konsistent ist und erlaubt erleichtert die Bestim
mung derjenigen Ausdrücke, von denen ein gegebener Ausdruck
abhängt. Vorstehend und nachfolgend kann statt des verwendeten
Wortes "Ausdruck" auch der Begriff "Term" verwendet werden.
Die beim erfindungsgemäßen Definitionen-Prozessor eingesetzte
Technik zur Erzeugung hierarchischer Definitionen kann nicht
nur bei Expertensystem-Schalen gemäß der vorliegenden Erfindung
eingesetzt werden, sondern auch bei anderen Systemen, welche
hierarchische Anordnungen von Definitionen erzeugen.
Die Aufgabe der Erfindung liegt darin, ein Expertensystem zu
schaffen, das eine Definitionen-Wissensbasis aufweist sowie ei
ne Schlußfolgerungseinrichtung, welche die Definitionen-Wissens
basis verwendet, um Schlußfolgerungen zu ziehen.
Die Erfindung bezweckt weiterhin:
- - eine Experten system-Schale bereitzustellen, mit welcher Expertensysteme er zeugt werden können, die eine auf Definitionen beruhende Wis sensbasis aufweisen,
- - eine Einrichtung und ein Verfahren bereitzustellen, mit welchen Sätze von Aus drücken mit hierarchischen Definitionen erzeugt werden können,
- - eine Einrichtung und ein Verfahren anzugeben, mit welchen dem Benutzer einer Wissens basis mit hierarchischen Definitionen angezeigt wird, wie die Folgerungen erreicht worden sind, weshalb bestimmte Informatio nen angefordert werden, und wie die Schlußfolgerung sich än dert, wenn einer der Ausdrücke einen anderen Wert annimmt,
- - eine Einrichtung und ein Verfahren bereitzustellen, welche gewähr leisten, daß die Wissensbasis eines Expertensystems vollständig und nicht widersprüchlich ist.
Nachfolgend werden Ausführungsbeispiele der Erfindung näher
beschrieben. Der Anhang enthält ein LISP-Code für ein erstes
Ausführungsbeispiel sowie ein zweites Ausführungsbeispiel. Es
zeigt:
Fig. 1 ein Blockdiagramm eines herkömmlichen Expertensy
stems;
Fig. 1A ein Blockdiagramm einer herkömmlichen Expertensystem-
Schale;
Fig. 2 ein Blockdiagramm einer Expertensystem-Schale und
eines Expertensystems gemäß der Erfindung;
Fig. 3 ein Diagramm zur Veranschaulichung der Hierarchie von
Definitionen, wie sie bei der Erfindung verwendet
wird;
Fig. 4 ein Diagramm der Terme und Beschreibungen, welche da
zu benutzt werden, den Term FRAUD zu definieren;
Fig. 5 ein Diagramm einer LISP-Umgebung;
Fig. 6 einen Überblick über ein erstes Ausführungsbeispiel
der Erfindung;
Fig. 7 ein Diagramm der TDEF 617 des ersten Ausführungsbei
spiels;
Fig. 8 ein Diagramm mit Einzelheiten der Funktion DEFINIERE
des ersten Beispiels; und
Fig. 9 eine Darstellung von Verbesserungen des zweiten Aus
führungsbeispieles.
Die in der Beschreibung benutzten Bezugszeichen weisen drei
Ziffern auf. Die zwei geringerwertigen Ziffern sind Bezugszei
chen innerhalb einer Figur, das höchstwertige Zeichen gibt die
Zahl der Figur an. Beispielsweise gehört das Bezugszeichen
"901" zu einem Teil der Fig. 9.
Die nachfolgende Beschreibung eines bevorzugten Ausführungsbei
spieles zeigt zunächst einen grundsätzlichen Überblick über das
Expertensystem und die Expertensystem-Schale gemäß der Erfin
dung und gibt dann eine detaillierte Beschreibung Implementie
rung des ersten Ausführungsbeispieles. Bestimmte Verbesserungen
bei der Implementierung werden anhand des zweiten Ausführungs
beispieles diskutiert. Ein Programm für das erste Ausführungs
beispiel ist im Anhang A und ein Programm für das zweite Aus
führungsbeispiel im Anhang B beigefügt.
Fig. 2 zeigt das Konzept der Expertensystem-Schale 201 und des
Expertensystems 202. Die Expertensystem-Schale weist vier Kom
ponenten auf: den Befehls-Prozessor (CP) 203, den Definitionen-
Prozessor (DP) 207, den Wissensbasis-Speicher (TS) 215 und die
Schlußfolgerungsmaschine (TIE) 219. Unter Verwendung dieser
Expertensystem-Schale 201 erzeugte Expertensysteme 202 weisen
alle diese Komponenten außer dem Definitionen-Prozessor DP 207
auf. Wie weiter unten im einzelnen erläutert werden wird, emp
fängt der CP 203 Befehle von den Benutzern der Schale 201 sowie
des Systems 202 und liefert diese an die anderen Komponenten;
der DP 207 verarbeitet Definitionen; der TS 215 speichert defi
nierte Terme und deren Definitionen; die TIE 219 benutzt die
Definitionen der Terme aus dem TS 215 zum Ermitteln des Termes
und zur Durchführung bestimmter Operationen mit demselben.
Der CP 203 setzt Befehle von Benutzern der Schale 201 und des
Expertensystems 202 in Befehle (DPCs) 204 für den Definitionen-
Prozessor und in Befehle (IECs) 217 für die Schlußfolgerungs
maschine um. Bei diesem Prototyp erlauben die DPCs 204 dem
Benutzer der Schale 201, einen Term zu definieren, einen Term
umzudefinieren, einen bereits definierten Term in einen umde
finierten umzuändern, die Definition eines Termes nachzusehen,
einen Satz von Definitionen zu speichern und einen Satz von De
finitionen wiederherzustellen. Die IECs 217 erlauben es dem Benutzer
der Schale 201 oder des Expertensystems 202, welches durch die
Schale 201 erzeugt ist, den laufenden Wert eines Termes zu be
stimmen, herauszufinden, wie das Expertensystem 202 diesen Wert
erreicht hat, das Expertensystem 202 zu veranlassen, einen an
deren Wert für den Term anzunehmen und die Auswirkung desselben
zu ermitteln, den Wert für einen beliebigen oder alle Terme
rückzusetzen und für den Fall, daß die Bestimmung des laufenden
Wertes eines Termes die Eingabe eines Wertes außerhalb der De
finition erfordert, das Expertensystem 202 danach zu fragen,
weshalb dieser Wert erforderlich ist.
Der Definitionen-Prozessor 207 definiert TERMe 206. Wenn ein
TERM 206 vollständig definiert ist, so enthält der TS 215 einen
definierten TERM (DTERM) 211, welcher dem TERM 206 entspricht
und eine Definition (DEF) 213 des DTERMs 211 enthält. Der TERM
206 kann entweder in einem DPC 204 empfangen werden oder aus
einer Beschreibung (description) (DESC) 205, welche mittels des
DP 207 vom Benutzer der Expertensystem-Schale 201 entsprechend
einem TERM 206 angefordert ist. Der Definitionen-Prozessor DP
207 bestimmt zunächst, ob bereits ein DTERM 211 entsprechend
dem TERM 206 existiert, d. h. ob der TERM 206 bereits definiert
ist. Wenn dies der Fall ist, findet der DP 207 den DTERM 211,
der dem TERM 206 entspricht, wieder aus dem TS 215 und bereitet
ihn für die Verwendung in der Definition vor, die der DP 207
gerade konstruiert. Falls er noch nicht definiert ist, gibt der
DP 207 eine Beschreibungsanfrage (DESC REQ) an den Benutzer der
Schale 201. Der Benutzer liefert eine Beschreibung (DESC) 205
des TERM 206 an den DP 201, welcher so dann eine DEF 213 für
den TERM 206 unter Verwendung der Information in der DESC 205
erstellt. Wie weiter unten im einzelnen beschrieben werden
wird, ist die DESC 205 in einer Definitionssprache geschrieben,
welche es dem Benutzer ermöglicht, andere TERMe 206, konstante
Werte sowie die Tatsache, daß der Wert von außerhalb des Ex
pertensystems 206, für welches die Definition vorgesehen ist,
erhalten worden ist, zu spezifizieren.
Die Definition gibt ferner die Operationen an, die mit den Wer
ten durchgeführt werden können, die durch den TERM 206 reprä
sentiert sind, konstante und externe Werte für die Definition.
Wenn die DESC 205 TERMe 206 enthält, dann behandelt der DP 207
diese TERMe 206 in der gerade beschriebenen Weise. Ist ein
DTERM 211 entsprechend dem TERM 206 vorhanden, so wird der
DTERM 211 bei der Konstruktion der DEF 213 benutzt; ist keiner
vorhanden, so fordert der DP 207 eine DESC 205, die den TERM
206 definiert und verarbeitet diese wie beschrieben. Der wie
derholte Einsatz des DP 207 ist in Fig. 2 durch den Pfeil 208
angedeutet, der zeigt, wie der UDESC 210, welcher zumindest
einen TERM 206 enthält, wiederum durch den DP 207 verarbeitet
wird. Die Verarbeitung wird in dieser Weise fortgesetzt, bis
die Orginal-DESC 205 und alle TERMe 206 in jeder DESC 205, wel
che für TERMe 206 produziert werden, die erforderlich sind, um
die TERMe 206 in der Orginal-DESC 205 zu definieren, selbst de
finiert sind, d. h. wenn die zugehörigen DTERMe 211 und die DEFn
213 im TS 215 sind.
Die DTERMe 211 und DEFn 213, welche durch den DP 207 erzeugt
werden, werden im TS 215 gespeichert. Ein DTERM 211 kann im TS
215 mittels seines Namens lokalisiert werden. Die dem DTERM 211
entsprechende DEF 213 ist dem DTERM 211 zugeordnet und kann so
mit benutzt werden, sobald der DTERM lokalisiert ist. In einer
DEF 213 ist eine modifizierte Version der DESC 205 enthalten,
aus welcher die DEF 213 abgeleitet ist.
Die verbleibenden Operationen, die durch die DPC 204 spezifi
ziert sind, werden im DP 207 und im TS 215 wie folgt ausge
führt: Ist ein TERM 206 undefiniert, so entfernt der DP 207 den
zugehörigen DTERM 211 und die DEF 213 aus dem TS 215; wird ein
TERM 206 neu definiert, so entfernt der DP 207 die DEF 213, die
dem TERM 206 entspricht und fordert eine DESC 205 für den TERM
206. Diese DESC 205 wird dann in der gerade beschriebenen Weise
verarbeitet. Fordert ein DPC, daß die Definition eines TERM 206
angezeigt wird, so zeigt der DP 207 die DESC 205, welche in der
DEF 213 für den DTERM 211 enthalten war, welcher dem TERM 206
entspricht. Schließlich sichert die Sicherungsoperation den
Inhalt eines gegebenen TS 215 in Form einer Datei für die spä
tere Verwendung und die Operation zum Wiederherstellen be
wirkt, daß die Inhalte der Datei im TS 215 wiederhergestellt
werden.
Die Term-Schlußfolgerungsmaschine (TIE) 219 führt Operatio
nen unter Verwendung der DTERMe 211 und der DEFn 213 im TS 215
aus. Die Grund-Operation ist die sogenannte "Was"-Operation,
welche den Wert eines DTERM 211 aus seiner Definition bestimmt
oder aus externen Daten, die durch den Benutzer des Expertensy
stems 202 oder der Schale 201 eingegeben werden. Die TIE 219
führt die WAS-Operation entsprechend einem IEC 217 aus, welcher
die Operation spezifiziert, sowie einen TERM 206 aus dem CP
203. Die TIE 219 benutzt den DTERM 211, welcher dem TERM 206
entspricht, um die DEF 213 des DTERM 211 im TS 215 lokalisie
ren. Sie führt dann die Operationen aus, die in der DEF 213
spezifiziert sind, wo-bei die DTERMe 211, Konstanten und exter
nen Werte benutzt werden, die in der Definition angegeben sind,
und gibt das Ergebnis TRES 227, an den Benutzer des Systemes
202 oder der Schale 201 zurück.
Die Konstanten in der DEF 213 stehen für eine sofortige Benut
zung zur Verfügung, indem der Wert des DTERM 211 berechnet
wird; im Falle von externen Werten enthält der DTERM 211 eine
Beschreibung, wie der externe Wert erhalten wird. Die TIE 219
verwendet die Beschreibung, um eine Anforderung nach einem ex
ternen Wert (EXVAL REQ) an die Quelle für die externen Werte
(EXVAL) 225 zu stellen und empfängt die EXVAL 225 von der Quel
le. Im einfachsten Fall ist die Quelle das Terminal, welches
durch den Benutzer des Systems 202 oder der Schale 201 benutzt
wird, und die Information wird dadurch gewonnen, daß eine Frage
auf den Bildschirm des Benutzers gebracht und seine Eingabe
empfangen wird; in komplizierteren Fällen kann die Quelle eine
Datei oder eine Datenbasis sein.
Im Fall, daß ein DTERM 211 in der DEF 213 für den DTERM 211 er
mittelt wird, erhält die TIE 219 die DEF 213 des weiteren
DTERMs 211 und berechnet den Wert dieses DTERMs 211 aus seiner
DEF 213; auf diese Weise werden alle DTERMe 211 in dieser DEF
213 ermittelt und es wird solange fortgefahren, bis alle DTERMe
211 entwickelt sind, aus welchen der DTERM 211, dessen Wert in
der Was-Operation gesucht wird und von denen er abhängt, ermit
telt sind. Die Konstanten, externen Werte und DTERMe 211, wel
che in jeder DEF 213 angegeben sind, werden in der vorstehend
beschriebenen Weise verarbeitet. Sind alle DEF 213 ermittelt,
wird der gesuchte Wert des DTERM 211 berechnet und als TRES 227
zurückgegeben.
In einem bevorzugten Ausführungsbeispiel werden diejenigen
EXVAL 225, welche bei der Entwicklung einer gegebenen DEF 213
erhalten werden, Teil der Definition dieser DEF 213. Wird des
halb die Was-Operation ein zweites Mal mit dem DTERM 211 durch
geführt, so wird die TIE 219 kein EXVAL REQ produzieren, son
dern einfach die gespeicherten EXVAL 225 benutzen, um den Wert
des DTERM 211 wieder zu berechnen. Ein bevorzugtes Ausführungs
beispiel hat zwei IEC 217 zum Modifizieren der gespeicherten
EXVAL 225. Der erste Befehl, nämlich der Rücksetzbefehl, ent
fernt einfach alle gespeicherten EXVAL 225 aus den DEF 213 für
die DTERMe 211, welche in dem Rücksetz-Befehl angegeben sind.
Wird deshalb die Was-Operation wieder durchgeführt, so wird ein
neuer EXVAL 225 erhalten, wie vorstehend beschrieben ist. Der
zweite Befehl, nämlich der Annahme-Befehl, ermöglicht es, daß
ein neuer EXVAL 225 der DEF 213 für den TERM 210 zugeführt
wird, welcher in dem Annahme-Befehl angegeben ist. Wird in die
sem Falle die Was-Operation wieder durchgeführt, so wird der
spezifizierte EXVAL dazu benutzt, um den Wert des DTERM 211 ab
zuleiten, bezüglich dessen die Was-Operation ausgeführt wird.
Will der Benutzer einer Schale 201 oder eines Systems 202 wis
sen, warum die TIE 219 nach einem gegebenen EXVAL 225 fragt, so
kann er auf einen EXVAL REQ mit dem Befehl für eine "Warum"-
Operation antworten. Als Antwort auf diesen Befehl gibt die TIE
219 eine DESC 205 aus bezüglich der DEF 213 für den DTERM 211,
dessen Wert bei der Anforderung des EXVAL 225 berechnet worden
war, und der Benutzer kann aus der DESC 205 bestimmen, warum
der gegebene EXVAL 225 wichtig ist. Der Benutzer kann weiterhin
die Warum-Anfrage benutzen, um zu fragen, warum irgendeiner der
DTERMe 211, deren Werte verlangt wurden, um den Wert des DTERM
211 zu erhalten, dessen Entwicklung den EXVAL REQ erzeugt hat,
erforderlich ist, worauf die TIE 219 die DESC 205 für diesem
DTERM 211 bereitstellt.
Die Hierarchie der Definitionen ist in Fig. 3 dargestellt.
Bei der Definition eines Terms erzeugt der DP 207 eine Hierar
chie von DEFn 213. Falls die DEF für den gerade definierten
Term selbst keine Terme enthält, so hat die Hierarchie nur eine
Ebene. Enthält die DEF 213 für den Term einen weiteren Term, so
muß dieser Term selber definiert werden, bevor der erste Term
definiert werden kann und der erste Term ist der oberste Term
in einer Hierarchie mit zwei Ebenen. Enthält irgend eine der
DEF 213 in der zweiten Ebene einen weiteren Term, so muß dieser
Term definiert werden und die Hierarchie hat drei Ebenen. Die
Hierarchie vertieft sich somit, bis keine der DEF 213 für die
Terme, von welchen andere Terme abhängen, einen weiteren Term
enthält, sondern vielmehr ausschließlich mittels Operationen
bezüglich von Konstanten oder externen Werten definiert ist.
Wie sich aus dem Vorstehenden ergibt, ist eine DEF 213 immer
die Spitzen-DEF 213 in der Hierarchie von DEF 213, die erfor
derlich sind, um den DTERM 211 zu definieren, welchen die DEF
213 definiert. Gleichzeitig kann sie aber auch einer tieferen
Ebene in der Hierarchie von DEF 213 angehören, die erforderlich
ist, um einen anderen DTERM 211 zu definieren.
Fig. 3 ist eine prinzipielle Erläuterung einer derartigen
Hierarchie von DEF 213. Die Hierarchie 305 enthält DEF 213(A)
bis 213(E), entsprechend DTERMen 211(A) bis 211(E), die zu
einem Satz von DTERMen 301 gehören. Die oberste Definition in
der Hierarchie 305 ist die DEF 213(A), die dem DTERM 211(A)
entspricht. Die Schreibweise OP(B,C) in der DEF 213(A) zeigt
an, daß die DEF 213(A) spezifiziert, daß der Wert des DTERM
211(A) dadurch erhalten wird, daß eine Operation mit den Werten
der DTERMe 211(B) und (C) ausgeführt wird. Ähnlich spezifiziert
die DEF 213(B), daß der Wert des DTERM 211(B) derart erhalten
wird, daß eine Operation mit den Werten der DTERMe 211(D) und
(E) ausgeführt wird. Dementsprechend hat die Hierarchie 305 für
die DEF 213(A) drei Ebenen: Die erste Ebene 307, welche nur die
DEF 213(A) enthält; die zweite Ebene 309, welche die DEF 213(B)
und DEF 213(C) enthält, sowie die dritte Ebene 311, welche die
DEFn 213(D) und 213(E) enthält. Die DEFn 213(C), 213(D) und
213(E) definieren die DTERMe 211 C, D und D nicht mit Hilfe an
derer DTERMe 211 und führen deshalb nicht zu tieferen Ebenen.
Derartige DEFn 213 werden terminale Definitionen 312 genannt.
Beim Aufbau der Hierarchie 305 beginnt der DP 207 mit dem TERM
206(A), welcher dem DTERM 211(A) entspricht, den er vom DESC
205 empfängt, aus dem eine DEF 213 auf einer höheren Ebene kon
struiert wird, oder von einem "Definiere"- oder einem "Definiere
um"-Befehl DPC 204. Der DP 207 fordert dann einen DESC 205
für den DTERM 211(A). Der DESC 205 definiert den DTERM 211(A)
mittels einer Operation bezüglicher zweier TERMe 206 B bzw. C.
Existieren die DEF 213(B) und 213(C) bereits, so kann der DP
207 die DEF 213(A) erzeugen und muß nicht weiter fortfahren.
Existiert eine der DEF 213(B) oder DEF 213(C) nicht, so muß der
DP 207 diese DEF 213 erzeugen, bevor er die DEF 213(A) erzeugen
kann. Der DP 207 fragt deshalb nach einem DESC 205 für den TERM
206(B) und für den TERM 206(C). Im Falle des TERM 206(C) defi
niert der DESC 205 den TERM 206(C) nur in Ausdrücken von EXVAL
(C) 225 und die DEF 213(C) kann sofort aufgebaut werden. In den
Fällen der TERMe 206(B) definiert der DESC 205 den TERM 206(B)
mittels zweier zusätzlicher TERMe 206 D und E; dementsprechend
muß der DP 207 auf eine tiefere Ebene herabsteigen und für die
se TERMe 206 DEFn 213 erzeugen. Wiederum fordert der DP 207
DESC 206 für diese Terme an. In beiden Fällen werden die TERMe
206 mittels EXVALn 225 definiert und dementsprechend können
beide DEFn 213 aufgebaut werden. Die DEFn 213 für alle TERMe
206, welche bei der Definition des TERM 206 A eine Rolle spie
len, sind nunmehr aufgebaut: die DTERMe 211(B) bis (E) entspre
chen den TERMen 206(B) bis (E) und existieren; die DEF 213(A)
kann aufgebaut werden und der TERM 206(A) weist nun den ihm
entsprechenden TERM 211(A) auf.
Da die Hierarchie 305 durch Wiederholung aufgebaut wird, wobei
mit der Spitzen-DEF 213 in der Hierarchie 305 begonnen wird und
nur TERMe 206 definiert werden, welche keinen entsprechenden
DTERM aufweisen, kann kein DTERM 211 zwei DEFn 213 aufweisen
und keine DEF 213 in der Hierarchie 305 steht in Bezug zu einer
DEF 213, die in der Hierarchie 305 höher steht. Dementsprechend
sind die DEF 213 in der Hierarchie 305 notwendig vollständig
und konsistent in bezug auf die DEF 213(A) in der Hierarchie
305 oder zu der Spitzen-DEF 213 in irgendeiner Hierarchie, die
die DEF 213(A) enthält.
Nachfolgend wird die Sprache der Beschreibungen 205 erläutert.
Wie vorstehend gezeigt ist, erzeugt der DP 207 DEFn 213 aus den
Beschreibungen (DESC) 205. In dem Prototyp werden die DESCn 205
mittels einer beschreibenden Sprache erzeugt. Die Beschrei
bungssprache enthält vordefinierte Terme, die Operationen mit
diesen Termen spezifizieren, eine Fall-Feststellung sowie Ope
rationen zum Gewinnen externer Werte.
Die Operationen enthalten Bool′sche Operationen, arithmetische
Operationen und Text-Verknüpfungen. Die Fall-Feststellung ist
eine Liste von Bool′schen Ausdruckswert-Paaren der Form:
(boolean_exp_1) value_1 . . . (boolean_exp_n) value_n
(OTHERWISE) otherwise_value
(value: Wert; otherwise: anderenfalls).
(value: Wert; otherwise: anderenfalls).
Wenn die eine Fall-Feststellung enthaltene DEF 213 entwickelt
wird, so werden die Bool′schen Ausdrücke 1 bis n der Reihe nach
entwickelt, bis eine von ihnen richtig ist. Der diesem wahren
Bool′schen Ausdruck entsprechende Wert wird der Wert des DTERM
211, welcher durch die DEF 213 definiert ist. Ist keiner der
Bool′schen Ausdrücke wahr, so wird derjenige Wert, der OTHER
WISE (anderenfalls) entspricht, der Wert des DTERM 211.
Die Beschreibungssprache des Prototyps erlaubt die Unterteilung
zweier Klassen von Operationen zum Erhalt externer Werte. Die
erste Klasse, die ASK-Operationen, enthält Werte aus dem Termi
nal des Benutzers des Expertensystems 202. Die erste Klasse,
also die ASK-Operationen, werden benutzt, um externe Werte aus
dem Terminal zu gewinnen. Die zweite Klasse, die RECORD-
Operationen, werden benutzt, um externe Daten aus einem Daten-
Basissystem zu gewinnen. In beiden Fällen kann es sich bei den
externen Werten um Zahlen, Textfolgen oder Bool′sche Werte oder
auch um ausgewählte Ausdrücke eines Satzes von alternativen
Buchstaben-Ausdrücken handeln, wobei letztere nichts repräsen
tieren als sich selbst.
Die ASK-Operation zum Erhalt eines numerischen Werte s hat die
Form:
ASK NUMBER "prompt_string"
(number: Zahl; string: Zeichenkette).
(number: Zahl; string: Zeichenkette).
Wird die DEF 213, welche eine derartige ASK-Operation (Abfrage)
enthält, entwickelt, so gibt der DP 207 eine Aufforderungs-Zei
chenkette an das Terminal und wartet darauf, daß über das Ter
minal eine Zahl eingegeben wird. Diese Zahl wird dann bei der
Entwicklung der DEF 213 benutzt. Die Aufforderungskette kann
selbst einen zuvor definierten Term enthalten und entsprechend
kann die Antwort des Benutzers vom Wert des zuvor entwickelten
Terms abhängen. Die ASK-Operationen für Bool′sche- und Text-
Kettenwerte werden in der gleichen Weise festgelegt wie die
ASK-Operation für numerische Werte, mit der Ausnahme, daß das
Element NUMBER in der obigen Operation durch die Angabe JA/NEIN
ersetzt wird, wenn ein Bool′scher Wert gesucht wird, sowie
TEXT, wenn eine Textkette gesucht wird.
Die ASK-Operation, welche einen Buchstaben aus einer Anzahl von
Buchstaben-Ausdrücken auswählt, hat folgende Form:
ASK CHOICE "prompt_string"
(literal_term_1 . . . literal_term_n)
(prompt string: Aufforderungszeichenkette; literal term: Konstantenausdruck).
(literal_term_1 . . . literal_term_n)
(prompt string: Aufforderungszeichenkette; literal term: Konstantenausdruck).
Wird die ASK CHOICE enthaltende DEF 213 entwickelt, so wird die
Aufforderungszeichenkette ausgegeben und der Benutzer aufgefor
dert, einen der Buchstaben auszuwählen. Dieser Buchstabenaus
druck kann dann in der DEF 213 dazu benutzt werden, um den Wert
des DTERM 211 zu berechnen, der durch die DEF 213 definiert
ist.
Die RECORD-Operationen sind im wesentlichen analog zu den ASK-
Operationen, mit der Ausnahme, daß die RECORD-Operation fest
legt, wie der externe Wert in der Datenbasis festgestellt wird,
wobei die Datenbasis den Wert an einer bestimmten Stelle be
reitstellt.
Nachfolgend wird der Betrieb der Expertensystem-Schale 201 und
des Expertensystems 202 anhand der Fig. 4 beschrieben.
Der Betrieb der Schale 201 wird im Detail anhand einer Hierar
chie von Definitionen erläutert, aus denen ermittelt werden
kann, ob jemand betrogen worden ist. Die Legaldefinition des
Betrugs fordert, daß eine Partei wissentlich einer anderen Par
tei eine falsche Darstellung gegeben hat und daß die andere
Partei zu ihrem Nachteil dieser Darstellung vertraut hat. Fig. 4
zeigt eine Hierarchie von DTERMn 211, welche dieser Legaldefi
nition entsprechen.
Die Erzeugung der Hierarchie gemäß Fig. 4 beginnt, wenn der CP
203 den DEFINE FRAUD-Befehl (definiere Betrug) erhält. Der CP
203 überträgt dann TERM 206 BETRUG zum Datenprozessor DP 207,
welcher eine DESC 206 vom die Definition erzeugenden Experten
anfordert. Der Experte stellt die DESC 206 wie folgt bereit:
FALSCHDARSTELLUNG UND SCHÄDLICHES_VERTRAUEN
Diese DESC 206 enthält zwei weitere TERMe 206 und den
Bool′schen UND-Operator. Dementsprechend muß der Wert von FRAUD
derart berechnet werden, daß die Werte der DTERMe 211 gewonnen
werden, welche den TERMn 206 entsprechen, wobei eine UND-Opera
tion mit ihnen durchgeführt wird.
Da die weiteren TERMe 206 undefiniert sind, fragt der DP 207
nach ihren Definitionen. Der Experte liefert die DESC 205
FALSCHDARSTELLUNG UND DER_BESCHULDIGTE_KENNT_FALSCHDARSTELLUNG
Dies steht für WISSENTLICHE_FALSCH_DARSTELLUNG und die DESC 205
VERTRAUEN DURCH DEN KLÄGER UND VERLUST_DURCH_DEN_KLÄGER für
SCHÄDLICHES_ VERTRAUEN. Wiederum sind diese weiteren TERMe 206
undefiniert, so daß der DP 207 nach ihren Definitionen fragt
und der Experte dieselben gemäß Fig. 4 bereitstellt. Während
der DP 207 in beliebiger Reihenfolge nach den Definitionen
fragt, werden bei einem bevorzugten Ausführungsbeispiel alle
TERMe 206, die notwendig sind, um einen gegebenen undefinierten
TERM 206 zu definieren, definiert, bevor zum nächsten undefi
nierten TERM 206 fortgeschritten wird.
Im vorstehend beschriebenen Ausführungsbeispiel enthalten alle
DESCs 205 FALSCHARSTELLUNG, BESCHULDIGTER KENNT_FALSCHDARSTEL
LUNG, VERTRAUEN_DURCH_KLÄGER und VERLUST_DURCH_KLÄGER nur durch
das System definierte DTERMe 211, die in der ASK JA/NEIN-Opera
tion benutzt worden sind, so daß der DP 207 nunmehr in der Lage
ist, die DEFn 213 für alle Terme der Hierarchie zu erzeugen.
Die Werte für alle DTERMe 211 in der Hierarchie hängen letzt
lich von den Werten ab, welche die ASK JA/NEIN-Operation (mit
ja oder nein zu beantwortende Frage) vom Benutzer des Experten
systems 202 anfordert. Da das Expertensystem die BETRUG-Defi
nition benutzt, hängt sie letztlich davon ab, was der Kläger
über das ihm Geschehene berichtet.
Die Benutzung der BETRUG-Definitionshierarchie (im Expertensy
stem 202) beginnt mit dem WHAT BETRUG-Befehl (welcher Betrug),
den der Benutzer des Expertensystems 202 in den CP 203 eingibt.
Der CP 203 erzeugt einen entsprechenden WHAT FRAUD IEC 217
(welcher Betrug-Befehl) für die TIE 219. Die TIE 219 bestimmt
dann den Wert für BETRUG durch Entwicklung von dessen DEF 213.
Um dies zu tun, muß sie die DEF 213 der anderen DTERMe 211 in
der Hierarchie entwickeln, beginnend mit KENNT_FALSCHDARSTEL
LUNG. Die Entwicklung von KENNT FALSCHDARSTELLUNG erfordert die
Entwicklung von FALSCHDARSTELLUNG. Die Entwicklung dieses DTERM
211 führt zur Ausführung der WAS JA/NEIN-Operation
bezüglich ihrer DEF 213 und die TIE 219 gibt die Anfrage aus:
"Hat er dir etwas erzählt, was nicht wahr ist?" Antwortet der
Benutzer mit "nein", so ist FALSCHDARSTELLUNG falsch, KENNT_
FALSCHDARSTELLUNG ebenfalls falsch und BETRUG ebenfalls falsch,
so daß die TIE 219 einen TRES 227 zum Benutzer zurückgibt, der
anzeigt, daß kein Betrug stattgefunden hat. Falls der Benutzer
mit "ja" antwortet, so entwickelt die TIE 219 BESCHULDIGTER
KENNT_ FALSCHDARSTELLUNG, was wiederum zu einer Frage an den
Benutzer führt. Abhängig von der Antwort auf die Frage, wird
die Entwicklung fortgesetzt oder beendet. Die TIE 219 fährt in
dieser Weise fort, bis sie den Wert für BETRUG ermittelt hat.
Wie zuvor erwähnt, kann der Benutzer des Expertensystems 202
den WIE-Befehl dazu benutzen, um zu bestimmen, in welcher Weise
das Expertensystem 202 den Wert für BETRUG ermittelt hat. Ange
nommen, daß der Benutzer mit "nein" auf die Frage "Hat er dir
etwas erzählt, was nicht wahr ist" geantwortet hat (im Zuge der
Definition von FALSCHDARSTELLUNG), wird die TIE 219 im Prototyp
durch folgende Ausgabe antworten:
BETRUG ist definiert als (KENNT_FALSCHDARSTELLUNG UND
SCHÄDLICHES VERTRAUEN), wobei (KENNT_FALSCHDARSTELLUNG)
gleich bedeutend ist mit FALSCH.
Wie zuvor erwähnt, placiert der DP 207 die DESC 205 für einen
DTERM 211 in der DEF 213 des DTERM 211 und die TIE 219 spei
chert auch den beim Ermitteln der DEF 213 gewonnenen externen
Wert eines DTERM 211 in der DEF 213. Bei der Durchführung der
WIE-Operation holt die TIE 219 zunächst die DESC 205 aus der
DEF 213 für den DTERM 211, der gefordert ist, und gibt diesen
aus und entwickelt dann die DTERMe 211 in der DEF 213, wie ge
fordert, um den geforderten Wert des DTERM 211 zu erhalten. Die
DTERM2 211 werden dann zusammen mit ihren Werten ausgegeben.
Falls der Benutzer weitere Rückfragen hat, muß er nur die WIE-
Anfrage bezüglich der anderen DTERMe 211 eingeben, die in der
Ausgabe DESC 205 der vorhergehenden WIE-Operation angegeben wa
ren.
Wie zuvor ebenfalls erwähnt, kann ein Benutzer auf die Anforde
rung nach einem externen Wert nicht mit einem Wert, sondern mit
einem WARUM-Befehl antworten. Antwortet ein Benutzer beim
BETRUG-Beispiel mit WARUM, wenn die TIE 219 fragt "Hat er dir
irgendetwas erzählt, was nicht wahr ist", so antwortet die TIE
219 mit:
FALSCHDARSTELLUNG ist erforderlich, um den Wert von
KENNT_FALSCHDARSTELLUNG zu ermitteln, welcher definiert
ist als FALSCHDARSTELLUNG UND DER_BESCHULDIGTE_KENNT_
DARSTELLUNG.
Die Frage wird wiederholt.
Wiederum kommt die bei der Beantwortung des WARUM-Befehls be
nutzte Information aus den DESC 205, die in den DEFn 213 ge
speichert sind, und zwar in der Hierarchie, die benutzt wird,
um BETRUG zu definieren. Will der Benutzer an dieser Stelle
mehr wissen, kann er den WIE-Befehl auf die DTERMe 211 anwen
den, die in der Antwort auf den WARUM-Befehl erwähnt sind.
Nachfolgend wird eine LISP-Umgebung der Ausführungsbeispiele
anhand der Fig. 5 erläutert.
Nachdem bisher ein grundlegender Überblick über den Aufbau und
den Betrieb der Schale 201 und des Systems gegeben ist, soll
nachfolgend die Implementierung eines ersten Prototyps im De
tail beschrieben werden.
Sowohl der erste als auch der zweite Prototyp sind in der LISP-
Programmsprache implementiert und werden in einem LISP-Umfeld
ausgeführt. Die LISP-Programmsprache und ein entsprechendes Um
feld werden häufig benutzt, um Prototypen von Expertensystemen
zu implementieren und sind dem Fachmann wohlbekannt. Der spe
zielle LISP-Dialekt, welcher für Prototypen Verwendung findet,
ist das sogenannte COMMON LISP, welches in folgender Veröffent
lichung beschrieben ist: Guy L. Steele, Jr., COMMON LISP, the
Language, Digital Press, 1984. Nachfolgend werden das LISP-Um
feld und die Sprache nur insoweit beschrieben, wie es erforder
lich ist, um die Prototyp-Ausführungsbeispiele zu verstehen.
Die LISP-Sprache unterscheidet sich von anderen Sprachen, wie
FORTRAN oder PASCAL darin, daß sie hauptsächlich die Verarbei
tung von Symbolen betrifft im Unterschied zur Verarbeitung von
Daten, die in einem Programm durch Symbole repräsentiert sind.
Der fundamentale Baustein eines LISP-Programms sind die soge
nannten Atome. Ein Atom kann ein Symbol sein, wie ABC, oder
eine Konstante. Die Bausteine sind mittels Listen in Programme
strukturiert, wobei die Listen keine sogenannten Teilnehmer
(member) oder auch Teilnehmer einschließlich Atomen und anderen
Listen aufweisen können. Eine Liste wird dadurch erzeugt, daß
ihre Teilnehmer in Klammern gesetzt werden. (ABC) ist eine Li
ste mit einem Teilnehmer, das Symbol ist ABC. Funktionen er
scheinen in LISP als Listen, in welchen das erste Symbol der
Liste die Funktion repräsentiert, während die anderen Atome das
Argument der Funktion darstellen. Die Plus-Funktion wird in
LISP beispielsweise durch das Symbol + repräsentiert und die
Liste (+ 2 3) bedeutet, daß die +-Operation auf die Atome 2 und
3 angewandt wird. Jedes Atom oder jede Liste, die bei der Ent
wicklung mittels eines LISP-Interpretierers einen Wert auf
weist, wird eine Form genannt. 5 und (+ 2 3) sind Formen. Wenn
das Symbol ABC einen Wert aufweist, ist es eine Form.
Funktionen werden in LISP mittels der DEFUN-Funktion definiert,
in welcher die verbleibenden Posten der Liste den Namen der
Funktion bilden, sowie ihre Argumente und den Wert, den sie
ausgibt. Beispielsweise definiert der Ausdruck (defun five ()
5) eine Funktion, welche keine Argumente annimmt und immer zum
Wert 5 zurückkehrt.
LISP-Programme können Symbole und Listen nicht nur verarbeiten,
sondern auch herstellen. Da eine Funktionen-Definition nur eine
Art einer speziellen Liste darstellt, kann ein LISP-Programm
ein Symbol für die DEFUN-Funktion als Name für das neue Symbol
bereitstellen, welches durch DEFUN erzeugt wird und sodann das
Symbol benutzen, um die neuerzeugte Funktion auszuführen. Sym
bole können sich selbst entweder durch Symbole oder Werte re
präsentieren. Repräsentiert ein Symbol sich selbst als Symbol
in einer LISP-Liste, so geht ihm ein ′-Zeichen voran. Falls die
Symbole Funktionen repräsentieren, ist der Wert des Symbols
seine Funktion. Wird aber die Funktion in einer Liste mitsamt
ihren Argumenten angeordnet und die Liste entwickelt, so ist
das Ergebnis der Wert dieser Ausführung der Funktion. Dement
sprechend repräsentiert ′fünf das Symbol fünf, während fünf die
Funktion repräsentiert, die durch DEFUN, wie oben, definiert
ist und (fünf) den Wert der Ausführung der Funktion fünf reprä
sentiert, d. h. 5.
LISP-Programme werden in einer LISP-Umgebung geschrieben und
ausgeführt. Die nachfolgend bei den Prototyp-Ausführungsbei
spielen benutzte Sprache wurde von der Firma Gold Hill Com
puters, Inc., für die von Wang Laboratories, Inc. hergestellten
Computer entwickelt. Fig. 5 zeigt ein Blockdiagramm einer typi
schen LISP-Umgebung 501. Die Umgebung 501 hat zwei Hauptbe
standteile, den LISP-Interpretierer 503, welcher die LISP-For
men entwickelt, und den LISP-Symbolraum 505, welcher die LISP-
Symbole (SYM 501) und ihre Definitionen (SYMDEF 509) speichert.
DEFUN und gewisse andere LISP-Funktionen erzeugen und definie
ren neue LISP-Symbole oder definieren zuvor existierende LISP-
Symbole neu, wenn sie entwickelt werden; dementsprechend kann
der LISP-Interpretierer 503 nicht nur als Entwickler von Symbo
len verstanden werden, sondern auch als Erzeuger, Definierer
und Neu-Definierer von Symbolen.
Der Betrieb im LISP-Umfeld 501 ist wie folgt: Gibt der Benutzer
des LISP-Umfeldes 501 eine Liste ein, die eine Form wie (fünf)
enthält, so entwickelt der LISP-Interpretierer 503 die Form,
wobei das Symbol fünf im Symbolraum 505 angeordnet wird. Dann
wird bestimmt, was die zugehörige SYMDEF 509 ist und sodann
wird SYMDEF 509 interpretiert, um den Wert von fünf zu berech
nen. In diesem Falle ist SYMDEF 509 der Code für die Funktion
fünf, welche durch Entwicklung des DEFUN-Ausdruckes erzeugt
worden ist und ihre Interpretation erzeugt den Wert 5, welchen
der Interpretierer als Wert von (fünf) an den Benutzer ausgibt.
Da der LISP-Interpretierer 503 in der Lage ist, SYMn 507 zu er
zeugen sowie deren zugehörige SYMDEFn 509, diese im Symbolraum
505 speichern und im Symbolraum lokalisieren kann, kann die
LISP-Umgebung 501 automatisch Operationen ausführen, welche in
anderen Sprachen schwer zu implementieren sind und welche für
den Betrieb von Expertensystem-Schalen und Expertensystemen we
sentlich sind. Aus diesem Grunde hat sich die LISP-Umgebung 501
als bevorzugte Umgebung für die Erzeugung von Prototyp-Exper
tensystemen und Expertensystem-Schalen erwiesen. Wie nachfol
gend noch deutlicher werden wird, nutzen die Prototypen gemäß
der vorliegenden Erfindung die Symbol-Erzeugung, die Definition
und die Lokalisierung in diesem Umfeld voll aus.
Nachfolgend soll anhand der Fig. 6 ein erstes Prototyp-Ausfüh
rungsbeispiel erläutert werden.
Beim ersten Prototyp-Ausführungsbeispiel werden die Bauteile
der Expertensystem-Schale 201 und des Expertensystems 202 mit
tels LISP-Funktionen implementiert. Der Code für diese Funk
tionen ist im Anhang 1 enthalten. Fig. 6 gibt einen Überblick
über diesen Code und setzt die LISP-Funktionen des ersten Pro
totyp-Ausführungsbeispiels in Beziehung zu den Komponenten der
Fig. 2 sowie zu den Eingaben und Ausgaben dieser Komponenten.
Dementsprechend sind die LISP-Funktionen, die den Befehlsprozes
sor CP 203 ausmachen, in dem gestrichelt gezeichneten Kästchen
untergebracht, welches entsprechend markiert ist, während die
Funktionen, welche den Definitionenprozessor DP 207 bilden, in
dem gestrichelt gezeichneten Kästchen mit einer entsprechenden
Markierung angeordnet sind und diejenigen Funktionen, welche
die Term-Schlußfolgerungseinrichtung TIE 219 bilden, in dem
entsprechend markierten und gestrichelt gezeichneten Kästchen
angeordnet sind. Der Term-Speicher TS 215 ist beim ersten Pro
totyp im LISP-Symbolraum 505 ausgeführt, welcher die LISP-Sym
bole und ihre Definitionen speichert. Die Komponenten des er
sten Prototyp-Ausführungsbeispieles sind auch so zu verstehen,
daß sie den LISP-Interpretierer 503 enthalten, welcher die
LISP-Funktionen ausführt, welche die Komponenten bilden. Dar
über hinaus plaziert er die SYMe 507 und die SYMDEFn 509, die
durch die Komponenten im Symbolraum 505 erzeugt werden, und ma
nipuliert die SYMn und und ihre SYMDEFn 509.
Zunächst führt der EXPERT 603 die Funktionen des CP 203 im Pro
totyp aus. Der Code für den EXPERT 603 kann auf Seite 14 des
Anhanges 1 gefunden werden. Wie diesem Code zu entnehmen ist,
erhält der EXPERT 603 eine Eingangskette und setzt Klammern um
diese, um eine LISP-Form zu erzeugen, die in Fig. 6 CFORM 605
genannt ist. Mit dieser wird die EVAL-Operation ausgeführt.
Wenn der LISP-Interpretierer 503 die Form entwickelt, behandelt
er das erste Symbol in der Form als LISP-Funktionsnamen und die
verbleibenden Posten der Form als Liste von Argumenten für die
benannte Funktion. Die erwarteten Eingangsketten für den EXPERT
603 sind die Befehle für den DP 207, nämlich DEFINE, REDEFINE,
UNDEFINE und die Befehle für die Term-Schlußfolgerungseinrich
tung TIE 219, nämlich WHAT, HOW, ASSUME, RESET, DEFINITION,
SAVE, WHY, RESTORE (entsprechend WAS, WIE, ANNAHME, RÜCKSETZEN,
DEFINITION, SPEICHERN, WARUM, WIEDERHERSTELLEN. Die Befehle
DEFINE (DEFINIERE), REDEFINE (DEFINIERE UM) und UNDEFINE (LÖSCHE DEFINITION) entsprechen den Befehlen DPC 204
der Fig. 2 und die verbleibenden Ketten entsprechen den Befeh
len IEC 217 dieser Figur. Beim ersten Prototyp- Ausführungsbei
spiel findet keine Fehler-Suche im EXPERT 603 statt; bei einem
kommerziellen Ausführungsbeispiel könnte der EXPERT 603 aber
einen Code zum Nachweis einer unkorrekten Eingabe und zum Er
zeugen einer entsprechenden Antwort aufweisen.
Wie der Fig. 6 zu entnehmen ist, wird der DP 207 beim ersten
Prototyp durch die LISP-Funktionen DEFINE gemäß Seite 1 des An
hanges 1, sowie REDEFINE und UNDEFINE gemäß Seite 3 ausgeführt.
Wenn der EXPERT 203 den DEFINE-Befehl mit einem TERM 206 wie
FRAUD erhält und dem LISP-Interpretierer als (DEFINE FRAUD)
anbietet, so ruft der LISP-Interpretierer 503 die Funktion
DEFINE mit dem Argument FRAUD auf. DEFINE fordert eine DESC 205
vom Benutzer und benutzt die DESC 205 zum Erzeugen der DEF 213
für FRAUD. Wie nachfolgend im Detail beschrieben wird, ist das
Ergebnis des Aufrufs eine LISP-Funktion namens FRAUD, für die
der DEFUN wie folgt aussieht:
(Erläuterung: detrimental reliance: vertrauensschädigend,
knowing misrepresentation: Kennt Falschdarstellung).
Im Verlaufe der Definition FRAUD werden die für ihre Defini
tion erforderlichen Ausdrücke KNOWING_MISREPRESENTATION und
DETRIMENTAL_RELIANCE sowie DTERMn 211 alle als LISP-Symbole de
finiert, welche LISP-Funktionen repräsentieren. AND ist eine
vordefinierte LISP-Funktion, welche mit ihren Argumenten die
AND-Operation ausführt. Der durch die Funktion FRAUD wiederge
gebene Ausdruck ist das Ergebnis der AND-Operation.
Die DTERMe 211, welche als LISP-Symbole definiert wurden, die
LISP-Funktionen repräsentieren, werden nachfolgend mit TSYM 615
bezeichnet. Ihre Definitionen, welche die Implementierungen der
DEFn 213 beim Prototyp sind, werden TDEFn 617 genannt. Da der
LISP-Interpretierer TSYMn 615 und TDEFn 617 entsprechend der
DEFINE-Funktion erzeugt, plazieret er sie im Symbolraum 505.
Der TDEF 617 des ersten Prototyps ist in Fig. 7 gezeigt. Demnach
enthält jede TDEF 617 eine TFUNC 701, die LISP-Funktion, die
durch TSYM 615 repräsentiert wird, nämlich TDESC 705, eine mo
difizierte Kopie der DESC 205, welche die Grundlage für die De
finition TSYM 615 bildete, und den TEXVAL 703, welcher den
letzten EXVAL 703 enthält, der durch den Benutzer des Experten
systems 202 bezüglich der TSYM 615 angegeben worden ist.
Die verbleibenden Funktionen im DP 207 werden vom EXPERT 603 in
gleicher Weise im Rahmen einer DEFINE aufgerufen. Im Rahmen ei
ner REDEFINE-Ausführung werden zunächst LISP-Operationen ver
wendet, welche TFUNC 701 und TDESC 705 von der TDEF 617 entfer
nen, so daß TSYM 615 neu definiert werden kann und dann wird
DEFINE aufgerufen, um neue Werte für TFANC und TDESC 705 in der
TDEF 617 zu erzeugen. Der Befehl UNDEFINE entfernt einfach
TFUNC 701 und TDESC 705, ohne daß eine neue Definition bezüg
lich TSYM 615 erzeugt wird.
Im Zuge der Fortsetzung der Implementierung der TIE 219 beim
ersten Prototyp-Ausführungsbeispiel 601 empfängt der LISP-
Interpretierer 503 eine CFORM 605 vom EXPERT 603, welcher einen
IEC 217 repräsentiert und im TIE 219 wird die Funktion ausge
führt, die in der CFORM 605 angegeben ist. Im Zuge der Ausfüh
rung der Funktionen in der TIE 219 werden Formen (TFORMS 639)
für den Interpretierer 505 bereitgestellt, die aus den TSYMs
615 erzeugt sind. Der Interpretierer 505 entwickelt diese und
gibt das Resultat (TFORM RESULT) an die ausgeführte Funktion.
Die Funktionen in der TIE 219 benutzen Datenstrukturen ARC-
STACK 635 und TERMS-STACK 613, die im Anhang 1 auf Seite 1 de
finiert sind, und SYM-BOUND-LIST, die auf Seite 12 definiert
ist. Die ARG-STACK 635 wird benutzt, um ein TSYM 615 zu spei
chern, wobei die Werte des TSYM 615, mit denen es definiert
ist, berechnet werden. Wie sich aus dem Code für die Prozedur
FRAUD ergibt, wird das Symbol FRAUD in den ARG-STACK eingege
ben, bevor die AND-Operation, welche FRAUD definiert, ausge
führt wird und danach vom ARG-STACK entfernt. Der TERMS-STACK
613 ist ein Stapel von TSYMn 615. Der Stapel wird bei der Er
zeugung der TDEF 617 für die TSYM 615 geordnet, wobei die TDEF
617 der ersten TSYM 615 am Boden und die der letzten oben an
geordnet ist. Wie nachfolgend erläutert wird, ist die letzte
TSYM 615 normalerweise diejenige, deren TDEF 617 in der
Hierarchie von Definitionen oben angeordnet ist. Die
SYM_BOUND_LIST 637 ist eine Liste von STYMn 615, welche durch
laufend zugeordnete EXVAL 225 aufweisen.
Die Diskussion der LIPS-Funktionen in der TIE 219 soll mit der
WHAT-Funktion 619 beginnen (what: was). Diese Funktion wird bei
einem WHAT-Befehl an den EXPERT 603 ausgeführt. Dieser Befehl
hat die Form WHAT DTERM 611. Bezüglich FRAUD wäre es WHAT
FRAUD, was der EXPERT 603 in (WHAT FRAUD) umwandelt. Die WHAT-
Funktion 619 auf Seite 5 des Anhangs 1 benutzt zunächst eine
LISP-Funktion, um zu bestimmen, ob das Argument eine TSYM 615
ist und benutzt bei positivem Ergebnis eine andere LISP-Funk
tion, die ein Symbol, welches ein Funktionsname ist, als ein
Argument annimmt und die Funktion aufruft, in diesem Falle also
FRAUD. Das Ergebnis ist die Ausführung der TFUNC 701 in der
TDEF 617 für FRAUD. Ist diese TFUNC 701 ausgeführt, werden die
TFUNCn 701 für MISREPRESENTATION und DETRIMENTAL_RELIANCE
(FALSCH_DARSTELLUNG und VERTRAUENSSCHÄDLICH) ausgeführt, bis
der Wert für FRAUD bestimmt ist. Wird eine TFUNC 701 für einen
gegebenen TSYM 615 ausgeführt, so werden die TFUNCn 701 für je
des TSYM 615 ausgeführt, welches erforderlich ist, um den Wert
einer gegebenen TSYM 615 zu finden. Sind alle notwendigen
TFUNCn 701 ausgeführt, so wird der hieraus resultierende Wert
dem Benutzer des Systems 202 als TRES 227 angezeigt. Hat eine
TSYM 615, deren TFUNC 701 einen EXVAL 225 erfordert, bereits
einen solchen Wert, so befindet sich die TSYM 615 in der SYN-
BOUND-LIST 637 und die TFUNC 701 benutzt den TEXVAL 703 in der
TDEF 617 für den TSYM 615; anderenfalls erzeugt die TFUNC 701
einen EXVAL REQ und erhält den EXVAL 225 vom Benutzer. Dement
sprechend wirkt die WHAT-Funktion zusammen mit dem LISP-Inter
pretierer 503 als eine Schlußfolgerungseinrichtung zum Bestim
men des Wertes des TSYM 615, dessen Definition in der Hierar
chie oben steht, wobei die Hierarchie durch die externen Werte
bestimmt ist. Solange wie eine TFUNC 701 als Folge einer WHAT-
Anfrage angefordert und aktiv ist, befindet sich die zugehörige
TSYM 615 im ARG-STACK 635.
Die WIE-Funktion 623 (Anhang 1, Seite 4) wird auf den WIE-Be
fehl ausgeführt, welcher eine TSYM 615 spezifiziert. Die WIE-
Funktion 623 nimmt dieses TSYM 615 als Argument und benutzt
eine andere LISP-Funktion, nämlich die SYMBOL-Funktion mit dem
Argument TSYM 615, um die Liste zu erhalten, die mit DEFUN be
nutzt worden ist, um TFUNC 701 entsprechend dem TSYM 615 zu de
finieren, sowie andere LISP-Funktionen, um das dritte Element
in der dritten Liste der TFUNC 701 zu erhalten. Wie sich aus
der vorstehend beschriebenen FRAUD-Funktion ergibt, ist dieses
Element die Liste, welche die Operation definiert, durch welche
der Wert der Funktion abgeleitet wird, d. h. in FRAUD ist es die
Liste (AND (KNOWING MISREPRESENTATION) (DETRIMENTAL_RELIANCE)).
Die WIE-Funktion findet diese Liste wieder auf, benutzt die TIE
219 DEFINITION-Funktion, um die beim Wie-Befehl für die TSYM
615 benutzten TDESC 705 anzuzeigen und entwickelt die TSYM 615
in der Liste, welche von der TFUNC 701 wiedergefunden sind, wo
rauf das Ergebnis mit einem geeigneten Erläuterungstext ausge
geben wird.
Der Benutzer des Expertensystems 202 kann den WARUM-Befehl ent
weder in den EXPERT 603 eingeben oder in die TIE 219, entspre
chend einem EXVAL REQ während der Entwicklung eines TSYM 615.
Die WARUM-Funktion ist im Anhang 1 auf den Seiten 1 bis 4
erläutert. Die Funktion kann entweder mit einem TSYM 615 als
Argument oder als solche aufgerufen werden. Im ersten Fall ar
beitet die Funktion mit der TSYM 615, die gerade im ARG-STACK
635 oben ist, wobei es sich um die TSYM 615 handelt, die zur
gerade entwickelten TFUNC 701 gehört und deren Entwicklung den
EXVAL REQ erzeugt hat, auf den der Benutzer geantwortet hat,
während im zweiten Falle die Funktion mit einer TSYM 615 arbei
tet, die durch den Benutzer bereitgestellt ist. In jedem Falle
wird im nächsten Schritt im ARG-STACK 635 die vorangegangene
TSYM 615 lokalisiert, bei der es sich um die TSYM 615 handelt,
die der TFUNC 701 entspricht, deren Entwicklung zur Entwicklung
der Funktion geführt hat, die der TSYM 615 entspricht, welche
durch den WARUM-Befehl verarbeitet wird. Liegt keine vorange
gangene TSYM 615 vor, so hat der WARUM-Befehl keinen Sinn und
dem Benutzer wird eine entsprechende Mitteilung gemacht. Liegt
eine vorangegangene TSYM 615 vor, dann erfolgt der Befehl
DEFINITION, um die Definition für die vorangegangene TSYM 615
zusammen mit einem geeigneten Erläuterungstext auszugeben.
Bei der Fortsetzung der DEFINITION-Funktion, deren Code im An
hang 1 auf Seite 5 dargestellt ist, kann der Befehl an den
EXPERT 603, welcher die Funktion aufruft, entweder eine TSYM
615 als Argument oder kein Argument haben. Im ersten Falle wird
die TDESC 705 in der TDEF 617 ausgegeben; im zweiten Falle wer
den die TDESCn 705 für alle TSYMn 615 des TERMS-STACK 613 aus
gegeben.
Die ASSUME-Funktion (ANNAHME-Funktion), deren Code im Anhang 1
auf Seite 9 dargestellt ist, wird mit dem ASSUME-Befehl aufge
rufen, welcher eine TSYM 615 und einen Wert spezifiziert. Bei
der TSYM 615 muß es sich um eine solche handeln, deren TFUNC
701 einen EXVAL 225 anfordert. Die ASSUME-Funktion leert zu
nächst den ARG-STACK 635, so daß die TSYM 615 neu entwickelt
wird, bevor der WARUM-Befehl fortfährt. Sodann setzt sie (die
Funktion) den TEXVAL 703 in der TDEF 617 auf den als Argument
empfangenen Wert und setzt die TSYM 615 auf die SYM-BOUND-LIST
613, um anzuzeigen, daß sie einen TEXVAL 703 hat.
Die RÜCKSETZ-Funktion (RESET function) deren Code im Anhang 1
auf Seite 13 dargestellt ist, wird mit dem RÜCKSETZ-Befehl auf
gerufen, welcher eine TSYM 615 spezifizieren kann oder nicht.
Im ersten Falle wird nur der TEXVAL 703 in der TDEF 617 rückge
setzt, der der TSYM 615 entspricht; während im zweiten Falle
alle TEXVAL 703 rückgesetzt werden. Die RÜCKSETZ-Funktion leert
zunächst den ARG-STACK 635 aus den zuvor beschriebenen Gründen.
Wird ein TSYM 615 spezifiziert, löst die RÜCKSETZ-Funktion den
TEXVAL 703 von der TSYM 615, entfernt diesen also von der TDEF
617, und entfernt die TSYM 615 von der SYM-BOUND-LIST 637. Wird
kein TSYM 615 spezifiziert, so führt der RÜCKSETZ-Befehl die
obige Operation für jede TSYM 615 in der SYM-BOUND-LIST 637
aus. Die SPEICHER-Funktion (SAVE function), deren Code auf
Seite 5 dargestellt ist, erzeugt eine Datei, die für jede TSYM
615 einen DEFINE-Befehl enthält, auf den eine TDESC 705 für die
TSYM 615 folgt. Die DEFINE-Befehle treten in der Reihenfolge
auf, in welcher die TSYM 615 im TERMS-STACK 613 auftreten. Die
SPEICHERN-Funktion funktioniert derart, daß folgendes für jede
TSYM 615 in dem TERMS-STACK 613 ausgegeben wird: Die Kette
DEFINE, eine Kette, welche die TSYM 615 repräsentiert, und eine
Kette, welche die TDESC 705 für die TSYM 615 repräsentiert. Die
sich ergebende Datei enthält die TDESC 705 in der Reihenfolge,
in welcher die TDESC 205, auf welchen sie basieren, in den DP
207 eingegeben sind.
Die WIEDERHERSTELLEN-Funktion (RESTORE function), deren Code
auf Seite 5 dargestellt ist, speichert die TSYMn 615, welche
zuvor gesichert worden sind, neu ein. Sie erledigt dies durch
Ausführung einer LISP-Ladeoperation in der Datei. Während der
Lade-Operation werden die LISP-Symbole in der Datei entwickelt.
In diesem Falle ist das Ergebnis der Entwicklung die Erzeugung
der TSYMn 615 und ihrer TDEFn 617, die in den DEFINE-Befehlen
der neu wiederhergestellten Datei spezifiziert sind.
Nachfolgend wird die. DEFINE-Funktion 607 anhand der Fig. 8 näher
erläutert.
Fig. 8 zeigt, wie die DEFINE-Funktion (DEFINIER-Funktion) und
durch diese aufgerufene Funktionen rekursiv die Hierarchie von
TDEF 617 für einen gegebenen Satz von TSYMn 615 erzeugen. Wie
zuvor erwähnt, garantiert die Art, in welcher die DEFINE-Funk
tion die Hierarchie von TDEF 617 erzeugt, daß jeder TERM 206
vollständig definiert ist und daß ein gegebener TERM 206 nur
eine einzige Definition hat.
Fig. 8 zeigt die DEFINE-Funktion und die wesentlichen Funktio
nen, welche durch DEFINE aufgerufen werden, sowie die Art und
Weise, in welcher die Daten, aus denen die TSYMn 615 und TDEFn
617 erzeugt werden, zwischen den Funktionen ausgetauscht wer
den.
Die DEFINE 607 (Anhang 1, Seite 1) erzeugt DETERMe 211 aus
TERMn 206. Gibt die DEFINE einen DTERM 211 zurück, so sind zu
dem DTERM 211 gehörende TSYM 615 und TDEFn 217 erzeugt worden.
Die DEFINE-Funktion 607 wird durch den EXPERT 603 und den
RESTORE-Befehl 633 aufgerufen; zusätzlich wird sie rekursiv
durch sich selbst durch die PROCESS-Funktion 811 aufgerufen.
Der EXPERT 603 stellt die CFORM 605 bereit, welche das DEFINE-
Symbol enthält und einen TERM 206, der definiert werden soll.
Der RESTORE 633 stellt eine CFORM 605 bereit, die das DEFINE-
Symbol und einen TERM 206 enthält, welcher eine Kopie des zuvor
gesicherten DTERM 211 ist und eine Kopie des TDESC 705 für die
sen DTERM 211. Wird die DEFINE-Funktion 607 rekursiv aufgeru
fen, so ist ihr Eingang ein TERM 206, welcher in der DESC 205
eines anderen TERM 206 benutzt wird, welcher gerade definiert
wird.
Allgemein gesprochen, handelt es sich bei dem TERM 206 um ein
einziges Symbol; enthält die DESC 205 jedoch eine Fallunter
scheidung, so kann es sich bei dem TERM 206 um eine Liste
handeln. In diesem Falle ruft DEFINE die CONVERT-Funktion 809
(UMWANDLUNGS-Funktion) auf, um die Liste in eine LISP-Form um
zuwandeln und dann anschließend rekursiv sich selbst auf zuru
fen, um jeden der undefinierten TERMe 206 in der LISP-Form zu
definieren. Sodann bestimmt die DEFINE 607, ob der TERM 206 ein
LISP-Symbol ist. Falls nicht, so gibt die DEFINE 607 den TERM
206 einfach unverändert zurück. Falls ja, so bestimmt die
DEFINE 607, ob der TERM 206 durch die RESTORE-Funktion 633 be
reitgestellt wurde; falls ja, so stellt die DEFINE-Funktion 607
den TERM 206 bereit sowie eine Kopie der TDESC 705 für GETDEF
805 und gibt den durch die GETDEF 805 zurückgegebenen Wert aus,
nämlich eine Liste, deren Element der TERM 206 ist. Wird der
TERM 206 nicht durch die RESTORE-Funktion 603 bereitgestellt,
so bestimmt die DEFINE-Funktion 607, ob bereits eine TSYM 615
für den TERM 206 existiert oder ob es sich bei dem TERM 206 um
einen Buchstaben handelt (d. h. es hat keine Kopie für die TDESC
705 gegeben). Falls beides der Fall ist, so gibt die DEFINE
eine Liste aus, deren Element der TERM 206 ist. Falls keiner
der anderen Fälle vorliegt, so wird die GETDEF 805 durch die
DEFINE 607 aufgerufen, ohne daß eine Kopie der TDESC 705 vor
liegt.
Die GETDEF 805 (Anhang 1, Seite 2) erhält einen undefinierten
Term (UTERM) 803 durch die DEFINE 607 und kann ebenfalls eine
Kopie der TDESC 705 für diesen Term erhalten. Im ersten Fall
erhält die GETDEF eine DESC 205 vom Benutzer; im zweiten Fall
benutzt sie einfach die TDESC 705. Sodann ruft sie die CONVERT-
Funktion 809 auf, um letztere in eine CDESC 807 umzuwandeln,
welche eine LISP-Form ist. Sodann werden die UTERMe 803 und die
CDESC 807 für die PROCESS-Funktion 811 bereitgestellt, welche
eine TFUNC 701 und einen UTERM 803 zurückgibt. Schließlich pla
ciert die GETDEF 805 die TSYM 615 auf dem TERMS-STACK 613 und
gibt eine Liste an die DEFINE-Funktion 607 zurück, welche aus
DTERMn 211 besteht, die den; UTERMn 803 entsprechen.
Die CONVERT-Funktion 809 (Anhang 1, Seite 7) wird durch die
DEFINE-Funktion 607 oder die GETDEF 805 aufgerufen. Sie erhält
eine DESC 205 von der aufrufenden Funktion und wandelt diese in
eine LISP-Form um, also eine CDESC 807, welche sie der aufru
fenden Funktion zurückgibt. Die PROCESS-Funktion 811 (Anhang 1,
Seite 2) erhält den UTERM 803 und die CDESC 807 gibt den UTERM
803 an die DEFINE-Funktion 813, empfängt eine TFUNC 701 von der
DEFINE-Funktion 811, gibt die TFUNC 701 an die GETDEF 805 zu
rück und erzeugt eine UTERML 815, also eine Liste von UTERMn
803 aus CDESC 807, welche bisher noch nicht definiert worden
sind. Die PROCESS-Funktion ruft dann die DEFINE-Funktion 607
für jeden UTERM 803 der UTERML 815 auf. Die DEFINE-Funktion 803
(Anhang 1, Seite 2) erzeugt und entwickelt schließlich eine
DEFUN für die TFUNC 701, wodurch eine TFUNC 701 erzeugt wird,
welche sie der PROCESS-Funktion 811 zurückgibt, welche ihrer
seits sie an die GETDEF 805 weitergibt.
Wie sich aus der vorstehenden Beschreibung ergibt, werden die
rekursiven Aufrufe durch die DEFINE 607 fortgesetzt, bis alle
DTERMe 206, die erforderlich sind, um den TERM 206 zu definie
ren, bezüglich dessen die DEFINE-Funktion aufgerufen wurde, de
finiert sind. Erst dann gibt die DEFINE 607 den DTERM 211 ent
sprechend dem TERM 206 zurück. Da der Benutzer der Schale 201
alle TERMe 206 definieren muß, die erforderlich sind, um einen
gegebenen TERM 206 zu definieren, wobei ein TERM 206 eine ein
zige Definition enthalten kann, garantiert die DEFINE-Funktion
607, daß ein Satz von Definitionen für einen TERM 206 vollstän
dig und konsistent ist.
Nachfolgend wird anhand der Fig. 9 ein zweiter Prototyp eines
Ausführungsbeispiels erläutert.
Der Anhang 2 enthält den LISP-Code für ein zweites Prototyp-
Ausführungsbeispiel gemäß der Erfindung. Wie sich für den Fach
mann bei Durchsicht des Anhanges 2 ergibt, enthält das zweite
Prototyp-Ausführungsbeispiel einige Verbesserungen gegenüber
dem ersten Prototyp-Ausführungsbeispiel, u. a. eine verbesserte
Schnittstelle mit dem- Benutzer und eine verbesserte Verarbei
tung von Benutzer-Fehlern. Zu den wichtigsten Verbesserungen
beim zweiten Prototyp-Ausführungsbeispiel gehören die abgeän
derten Formen der TDEF 617 und der WAS-Funktion, die in Fig. 9
dargestellt sind.
Die TDEF 901 enthält TDESC 705 und TEXVAL 703 sowie die TDEF
617; sie enthält aber nicht eine TFUNC 701 und enthält statt
dessen zwei neue Felder TFORM 903 und TTYPE 905. Diese Änderung
wurde deshalb vorgenommen, um eine Schwierigkeit beim ersten
Prototyp-Ausführungsbeispiel zu überwinden, nämlich den Nach
teil, daß der zu definierende TERM 206 einem anderen LISP-
Symbol entsprechen könnte, das bereits im Symbol-Raum 505 vor
liegt. In diesem Falle würde die durch die DEFINE-Funktion 607
für den TERM 206 erzeugte Definition die bereits existierende
Definition des Symbols übergehen. Das Problem wird beim zweiten
Prototyp-Ausführungsbeispiel dadurch überwunden, daß die TFUNC
701 durch eine TFORM 903 ersetzt wird, nämlich eine LISP-Form,
welche nicht selbst als Funktion ausführbar ist, sondern durch
eine EVALUATOR-Funktion 911, die in der TIE 219 ausgeführt wer
den kann. Die TTYPE 905 enthält Informationen über Art des
Wertes, der zurückgegeben wird, wenn die TFORM 905 durch den
EVALUATOR 911 ausgeführt wird.
Die übrigen Teile der Fig. 9 zeigen den Zusammenhang zwischen
der WAS-Funktion 907 und dem EVALUATOR 911 im zweiten Prototyp-
Ausführungsbeispiel. Die WAS-Funktion 907 erhält die WAS CFORM
605 vom EXPERT 603, wie zuvor, allerdings anstelle der einfa
chen Ausführung einer LISP-Operation bezüglich des TSYM 615 als
Argument für die WAS-Funktion, wird nunmehr eine TFORM 903 von
der TDEF 901 bezüglich der TSYM 615 dem EVALUATOR 911 überge
ben, welcher seinerseits LISP-Formen erzeugt, um die Operatio
nen auszuführen, die in der TFORM 903 angegeben sind. Das Er
gebnis wird dem LISP-Interpretierer 503 übergeben. Der LISP-
Interpretierer 503 gibt die Ergebnisse der Entwicklung der
LISP-Formen dem EVALUATOR 911, der diese Ergebnisse in TRES 227
umarbeitet, worauf sie der WAS-Funktion 907 unterzogen werden,
worauf sie dann dem Benutzer wieder übergeben werden.
Die vorstehende Beschreibung von bevorzugten Ausführungsbei
spielen und ergänzend die Anhänge zeigen eine Implementierung
eines neuartigen Expertensystems und einer neuartigen Experten
system-Schale. Das Expertensystem ist zwar nicht so leistungs
stark wie herkömmliche Expertensysteme, weist aber trotzdem we
sentliche Vorteile von bekannten Expertensystemen auf und ist
insbesondere gut in Situationen anwendbar, wenn das Experten
system ein detailliertes Wissen bei komplizierten Verfahren
verlangt. Die Expertensystem-Schale ist leichter zu verwenden
als herkömmliche Expertensystem-Schalen und gewährleistet, daß
die Definitionen, welche die Wissensbasis des Expertensystems
bilden, vollständig und widerspruchsfrei sind.
Die Vorteile der gezeigten Expertensystem-Schale und des Exper
tensystems beruhen im wesentlichen darauf, daß die Wissensbasis
aus Termen besteht, die in einer Hierarchie von Definitionen
definiert sind, wobei eine gegebene Definition nur von Defini
tionen abhängt, die in der Hierarchie tiefer stehen als sie
selbst oder auf externen Werten, die aus einer Quelle stammen,
die nicht zur Wissensbasis gehört. Das Expertensystem leistet
eine Schlußfolgerung bezüglich des Terms, wobei der Benutzer
aufgefordert wird, einen oder mehrere externe Werte einzugeben,
worauf unter Verwendung-der externen Werte und der Hierarchie
von Definitionen ein Wert für den Term erzeugt wird. Die
Hierarchie von Definitionen wird in der Expertensystem-Schale
derart erzeugt, daß die Definitionen von Termen angefordert
werden, die verwendet werden, um einen gegebenen Term zu -defi
nieren, bis alle Terme vollständig definiert sind, wobei ge
währleistet ist, daß die Definitionen, von denen die Definition
eines vorgegebenen Termes abhängt, vollständig und wider
spruchsfrei sind.
Die bevorzugten Ausführungsbeispiele sind in LISP implemen
tiert, doch ist die Erfindung nicht auf die Verwendung von LISP
eingeschränkt. Die beiden Anlagen 1 und 2 sind im Deutschen
Patentamt zur freien Einsicht hinterlegt; sie umfassen
53 Seiten eines Computerprogramms.
Claims (8)
1. Digitales Computersystem mit einem Expertensystem und einem
Definitionen-Prozessor (207) zum Erzeugen einer vom Experten
system verwendeten Wissensbasis, wobei das Computersystem
aufweist:
- - einen Befehls-Prozessor (203), der
- - Eingabebefehle (204) betreffend das Ausführen von Befehlen an das Expertensystem und/oder an den Definitionen-Prozes sor (207) von einer Quelle der Eingabebefehle (204) erhält,
- - den Definitionen-Prozessor (207), der
- - mit dem Befehls-Prozessor (203) und einer Quelle von Beschreibungen (205) verbunden ist und von diesen Befehle (204) für den Definitionen-Prozessor (207), gegebene Terme (206) und die Beschreibungen (205) erhält und da raus eine Hierarchie definierter Terme (211) und ihrer Definitionen (213) erzeugt, indem er wiederholt mit dem Befehls-Prozessor (203) und/oder der Quelle der Beschrei bungen (205) zusammenwirkt, und
- - mit einem Wissensbasis-Speicher (215) verbunden ist, um die Hierarchie definierter Terme (211) und ihre Defini tionen (213) darin zu speichern,
- - einen Wissensbasis-Speicher (215)
zum Speichern der Wissensbasis (211, 213), - - eine Schlußfolgerungsmaschine (219), die
- - mit dem Befehls-Prozessor (203) zum Erhalten von Befeh len (217) für die Schlußfolgerungsmaschine (219) ver bunden ist,
- - Informationen von einer Quelle externer Werte (225), in Reaktion auf an diese Quelle gerichtete Anforderungen (EXVAL REQ) nach externen Werten (225), erhält,
- - mit dem Wissensbasis-Speicher (215) verbunden ist, um definierte Terme (211) und Definitionen (213) von der Wissensbasis zu erhalten, und
- - Ergebnisse (227) des Expertensystems bereitstellt.
2. Computersystem nach Anspruch 1,
dadurch gekennzeichnet, daß
die Definition (213 (A) bis (E)) jedes definierten Terms
(211 (A) bis (E)) im Wissensbasis-Speicher (215) auf den Wert
eines oder auf die Werte mehrerer definierter Terme (z. B. 211
(B), 211 (C)) abgestützt ist und jeder von diesen in einer
niedrigeren Hierarchiestufe und/oder unter Verwendung einer
oder mehrerer externer Werte (z. B. 213 (C) : EXVAL(C)), die
außerhalb der Wissensbasis stehen, definiert ist.
3. Computersystem nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß
- - der Befehls-Prozessor (203), ansprechend auf die Quelle der Eingabebefehle, Befehle (217) für die Schlußfolgerungsmaschine (219) erzeugt, um den Wert eines definierten Terms (z. B. 211 (A)) aus seiner Definition (z. B. 213 (A)) zu bestimmen, wobei Operationen (z. B. OP(B,C)) auf den in der Definition (z. B. 213 (A)) enthalten definierten Termen (z. B. 211 (B)) oder externen Werten (z. B. 213 (C) : EXVAL (C)) ausgeführt werden, und
- - der so berechnete Wert zur Erzeugung eines Ergebnisses (227) des Expertensystems verwendet wird.
4. Computersystem nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß ein definierter Term (z. B. 211 (A))
basierend auf einem gegebenen Term (206) durch den Definitionen-
Prozessor (207) wie folgt erzeugt wird:
- - Erhalten einer Beschreibung (205) des gegebenen Terms (206) von der Quelle der Beschreibungen (205),
- - Bestimmen, ob diese Beschreibung (205) einen weiteren undefinierten Term (206) aufweist,
- - wenn dies nicht der Fall ist:
- - Erzeugen einer Definition (z. B. 213 (A)) für den gege benen Term (206) aus der erhaltenen Beschreibung (205) und den darin enthaltenen definierten Termen (z. B. 211 (B), 211 (C)),
- - andernfalls:
- - rekursives Ausführen der zuvor genannten Schritte für jeden weiteren undefinierten Term (206), wobei ein solcher jeweils als "gegebener Term" (206) behandelt wird.
5. Computersystem nach einem der Ansprüche 1 bis 4,
dadurch gekennzeichnet, daß
- - der Definitionen-Prozessor (207) zumindest Befehle DEFINIERE (DEFINE - 607), DEFINIERE UM (REDEFINE - 609) und LÖSCHE DEFINITION (UNDEFINE - 611) auszuführen vermag, und
- - die Schlußfolgerungsmaschine (219) zumindest Befehle WAS (WHAT - 619), WARUM (WHY - 621), WIE (HOW - 623), ANNAHME (ASSUME - 625), SPEICHERN (SAVE - 631) und WIEDERHERSTELLEN (RESTORE - 633) auszuführen vermag.
6. Computersystem nach einem der Ansprüche 1 bis 5,
dadurch gekennzeichnet, daß eine Quelle, die Informationen an
das Computersystem liefert und/oder von ihm erhält, ein
Computerterminal aufweist.
7. Computersystem nach einem der Ansprüche 1 bis 5,
dadurch gekennzeichnet, daß eine Quelle, die Informationen an
das Computersystem liefert und/oder von ihm erhält, eine
Computerdatei aufweist.
8. Computersystem nach einem der Ansprüche 1 bis 7,
das Befehle von einem Benutzer zu erhalten und Ergebnisse an
einen Benutzer auszugeben vermag.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US76686085A | 1985-08-16 | 1985-08-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3627204A1 DE3627204A1 (de) | 1990-08-30 |
DE3627204C2 true DE3627204C2 (de) | 1996-05-09 |
Family
ID=25077737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3627204A Expired - Fee Related DE3627204C2 (de) | 1985-08-16 | 1986-08-14 | Digitales Computersystem mit einem Expertensystem |
Country Status (5)
Country | Link |
---|---|
AU (1) | AU595155B1 (de) |
CA (1) | CA1278390C (de) |
DE (1) | DE3627204C2 (de) |
FR (1) | FR2644608B1 (de) |
GB (1) | GB8617444D0 (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1413957A3 (de) * | 2002-10-23 | 2010-03-03 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur rechnergestützten Analyse eines technischen Systems |
EP1413958A3 (de) * | 2002-10-23 | 2010-02-10 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur rechnergestützten Analyse eines technischen Systems |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4599692A (en) * | 1984-01-16 | 1986-07-08 | Itt Corporation | Probabilistic learning element employing context drive searching |
US4620286A (en) * | 1984-01-16 | 1986-10-28 | Itt Corporation | Probabilistic learning element |
US4599693A (en) * | 1984-01-16 | 1986-07-08 | Itt Corporation | Probabilistic learning system |
-
1986
- 1986-07-17 GB GB868617444A patent/GB8617444D0/en active Pending
- 1986-07-29 AU AU60798/86A patent/AU595155B1/en not_active Ceased
- 1986-08-11 CA CA000515640A patent/CA1278390C/en not_active Expired - Fee Related
- 1986-08-13 FR FR8611696A patent/FR2644608B1/fr not_active Expired - Fee Related
- 1986-08-14 DE DE3627204A patent/DE3627204C2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
FR2644608A1 (fr) | 1990-09-21 |
CA1278390C (en) | 1990-12-27 |
GB8617444D0 (en) | 1990-08-08 |
DE3627204A1 (de) | 1990-08-30 |
FR2644608B1 (fr) | 1995-05-19 |
AU595155B1 (en) | 1990-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60011479T2 (de) | Xml-roboter | |
DE69530816T2 (de) | Textbearbeitungssystem und Verfahren unter Verwendung einer Wissensbasis | |
DE19705955A1 (de) | Verfahren zum Generieren einer Implementierung eines Workflow-Prozessmodells in einer Objektumgebung | |
DE69532307T2 (de) | Ausdrucks-Propagierung für hierarchisches Netzlisten | |
DE10040987B4 (de) | Verfahren und Vorrichtung für übereinstimmende Aktualisierungen von redundanten Daten in relationalen Datenbanken | |
DE102015102555A1 (de) | Vorrichtung und Verfahren zum Anfertigen eines medizinischen Berichts | |
DE112007000051T5 (de) | Dreiteiliges-Modell-basiertes Verfahren zur Informationsgewinnung und -verarbeitung | |
DE102021004562A1 (de) | Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache | |
DE112020003767T5 (de) | Erzeugen eines ausführbaren verfahrens aus einer textbeschreibung, die in einer natürlichen sprache geschrieben ist | |
DE3627204C2 (de) | Digitales Computersystem mit einem Expertensystem | |
EP1324218A1 (de) | Kategorisierungsystem für Datenobjekte und Verfahren zum Prüfen der Konsistenz von Zuordnungen von Datenobjekten zu Kategorien | |
DD294115A5 (de) | Vorrichtung und verfahren zur signalverarbeitung | |
DE3511920A1 (de) | Elektronischer ratgeber | |
EP3968149A1 (de) | Erzeugung von steuerungsvorschriften aus schematisierten regelwerken | |
DE112004001955T5 (de) | Benutzeroberflächensoftware-Entwurfssystem | |
DE102007033019B4 (de) | Methoden und Datenverarbeitungssysteme für computerisiertes Schlußfolgern | |
EP0519096B1 (de) | Wissensbasiertes Diagnosesystem mit graphischer Wissensakquisitionskomponente | |
DE4217314A1 (de) | Adaptives Computersystem | |
EP0990213B1 (de) | Verfahren eines deduktiven kataloges zur allgemeinen constraintsbehandlung im erweiterten relationalen datenbankkonzept | |
EP1533940A1 (de) | Transformation Function eines TMN Systems | |
Scholz et al. | Planning by local search | |
DE19626142A1 (de) | Computer-Aided-Text-Design-System | |
DE102005020203A1 (de) | Graphischer Regeleditor | |
EP1242917B1 (de) | Verfahren zur erweiterung einer datenbank bestehend aus datenpaaren aus einander zugeordneter erkennung und antwort | |
DE2358689A1 (de) | Verfahren und anordnung zur entwicklung einer funktionsspezifikation fuer ein rechnersystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 15/18 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: WANG LABORATORIES, INC., BILLERICA, MASS., US |
|
8339 | Ceased/non-payment of the annual fee |