DE3627204C2 - Digitales Computersystem mit einem Expertensystem - Google Patents

Digitales Computersystem mit einem Expertensystem

Info

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
Application number
DE3627204A
Other languages
English (en)
Other versions
DE3627204A1 (de
Inventor
Louis P Tychonievich
Richard W Bolling
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WANG LABORATORIES, INC., BILLERICA, MASS., US
Original Assignee
Wang Laboratories Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wang Laboratories Inc filed Critical Wang Laboratories Inc
Publication of DE3627204A1 publication Critical patent/DE3627204A1/de
Application granted granted Critical
Publication of DE3627204C2 publication Critical patent/DE3627204C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation 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.
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.
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).
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).
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).
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.
DE3627204A 1985-08-16 1986-08-14 Digitales Computersystem mit einem Expertensystem Expired - Fee Related DE3627204C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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