DE68925109T2 - Inferenzsystem mit stabiler regel- und faktdatenbasis-speicherung - Google Patents

Inferenzsystem mit stabiler regel- und faktdatenbasis-speicherung

Info

Publication number
DE68925109T2
DE68925109T2 DE68925109T DE68925109T DE68925109T2 DE 68925109 T2 DE68925109 T2 DE 68925109T2 DE 68925109 T DE68925109 T DE 68925109T DE 68925109 T DE68925109 T DE 68925109T DE 68925109 T2 DE68925109 T2 DE 68925109T2
Authority
DE
Germany
Prior art keywords
rule
rules
name
database
query
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
DE68925109T
Other languages
English (en)
Other versions
DE68925109D1 (de
Inventor
Terry Landers
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of DE68925109D1 publication Critical patent/DE68925109D1/de
Application granted granted Critical
Publication of DE68925109T2 publication Critical patent/DE68925109T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Description

    HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung
  • Die Erfindung betrifft allgemein das Gebiet künstlicher Intelligenz, und insbesondere ein System zum Verarbeiten von Regeln und Fakten während eines Inferenzzyklus.
  • 2. Beschreibung des Standes der Technik
  • Auf Regeln basierende künstliche Intelligenzsysteme, die allgemein als Expertensystem bekannt sind, enthalten typischerweise eine Gruppe von Regeln, die eine "Wissensbasis" bilden, einen oder mehrere Fakten, und eine Inferenzmaschine die die Regeln in Antwort auf die Fakten verarbeitet. Typische künstliche Intelligenzsysteme enthalten zwei allgemeine Typen von Regeln, nämlich Vorwärtsverkettungsregeln und Rückwärtsverkettungsregeln, wobei die Inferenzmaschine einen Vorwärtsverkettungs-Inferenzabschnitt enthält, der in Verbindung mit den Vorwärtsverkettungsregeln arbeitet, und einen Rückwärtsverkettungs- Inferenzabschnitt, der in Verbindung mit den Rückwärtsverkettungsregeln arbeitet.
  • Eine Vorwärtsverkettungsregel wird dazu verwendet, aus einer Gruppe von Fakten auf neue Fakten zu schließen. Genauer gesagt versucht die Inferenzmaschine in Antwort auf eine Änderung von Fakten, Bedingungen in jeder der Vorwärtsverkettungsregeln an die Fakten anzupassen. Wenn die Bedingungen einer bestimmten Vorwärtsverkettungsregel mit den Fakten übereinstimmen, wird von der Regel gesagt, daß sie "feuert", und die Inferenzmaschine führt dann Aktionen oder Operationen durch, die in der Regel bestimmt sind. Diese Operationen können beispielsweise eine Addition, ein Löschen und/oder eine Modifikation von Fakten, ein Senden von Ergebnissen zu einem Benutzer usw. sein. Wenn die Inferenzmaschine während einer Verarbeitung einer Vorwärtsverkettungsregel einen Fakt addiert, löscht oder modifiziert, wiederholt die Inferenzmaschine diese Operationen in Antwort auf die neuen oder modifizierten Fakten in der Datenbasis, was wiederum dazu führen kann, daß andere Regeln feuern. Eine Vorwärtsverkettungsregel- Verarbeitung geht iterativ weiter bis keine weiteren Additionen, Modifikationen oder Löschungen in Verbindung mit den Fakten auftreten.
  • Andererseits wird eine Rückwärtsverkettungsregel bei gegebener Schlußfolgerung, die Ziel oder Prädikat genannt wird, dazu verwendet, zu bestimmen, ob das Prädikat durch die Fakten gestützt wird, und sie kann auch die Fakten identifizieren, die das Prädikat stützen. Eine Rückwärtsverkettungsregel identifiziert die Fakten, die zum Stützen des Prädikats erforderlich sind. Zusätzlich kann eine Rückwärtsverkettungsregel auch andere Prädikate identifizieren, die Unterziele genannt werden, die wiederum andere Rückwärtsverkettungsregeln identifizieren, die auch zum Stützen des Prädikats erforderlich sind. Da jedes Unterziel wiederum andere Unterziele enthalten kann, geht die Rückwärtsverkettungsregel-Verarbeitung, die iterativ Regeln in bezug auf alle Unterziele verarbeitet, weiter, bis alle Unterziele erfüllt sind, zu welchem Zeitpunkt bestimmt wird, daß das Haupt-Ziel durch die Fakten gestützt wird.
  • In einem typischen Expertensystem werden die Fakten und Regeln durch die Inferenzmaschine in einem virtuellen Speicher unterhalten, wenn das Expertensystem in Betrieb ist. In solchen Systemen ist ein Aufteilen von Fakten und Regeln unter einer Vielzahl von Bedienern schwierig. Zusätzlich kann eine Behebung von Fehlern oder einer Betriebsstörung des digitalen Datenverarbeitungssystems, das das Expertensystem verarbeitet, sehr schwierig sein. In anderen Systemen nach dem Stand der Technik ist eine Wiedergewinnung von Regeln aus einer Datenbasis gemäß Informationen in einer Regel-Wiedergewinnungsanfrage nicht selektiv.
  • IEEE 6th Annual International Phoenix Conference on Computers and Communications, 1987, Seiten 286-291; R. Chau et al: "A framework for knowledge based systems in Nial" beschreibt ein auf Wissen basierendes System, wobei die Regeln und Fakten der Wissensbasis getrennt sind, so daß existierende Datenbasen von Fakten beim logischen Denkprozeß verwendet werden können. Die Regeln sind jedoch innerhalb der Architektur einer Inferenzmaschine für einen Zugriff durch einen einzelnen Benutzer gespeichert.
  • ICL Technical Journal, Bd. 5, Nr.3, Mai 1987, Seiten 425-450; J Bocca: "Logic languages and relational databases: the design and implementation of Educe" beschreibt ein auf Wissen basierendes System, in dem sowohl Fakten als auch Regeln in der Datenbasis gespeichert werden können, aber alle Regeln in einer Relation ohne Organisation der Informationen in den Regeln auf irgendeine Weise gespeichert sind.
  • IEEE 13th Annual International Symposium on Computer Architecture, 1986, Seiten 2-9; H. Yokota et al: "A model and an architecture for a relational knowledge base" beschreibt ein auf Wissen basierendes System, in dem Fakten und Regeln zusammen in einer Relation gespeichert sind. Eine Unifikationsmaschine wird dazu verwendet, Ausdrücke zu sortieren, die aus der Relation wiedergewonnen werden wobei irrelevante Kombinationen weggelassen werden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung, wie sie im Geräteanspruch 1 und im Verfahrensanspruch 39 gezeigt ist, schafft ein neues und verbessertes Expertensystem zum Verarbeiten von Regeln und Fakten während eines Inferenzzyklus.
  • Kurz zusammengefaßt enthält das neue System ein Datenbasissystem bzw. ein Datenbanksystem, einen Wissens-Anfrageumsetzer und ein Inferenzsystem. Das Datenbasissystem enthält eine Vielzahl von Speicherstellen zum Speichern von Fakten und Regeln. Der Wissens-Anfrageumsetzer gewinnt in Antwort auf Regel- Wiedergewinnungsanfragen Regeln aus dem Datenbasissystem wieder, wobei das Wiedergewinnen von Regeln auf Regelauswahlkriterien basieren, die in den Regelanfragen enthalten sind Das Inferenzsystem erzeugt Regel- Wiedergewinnungsanfragen mit den Regelauswahlkriterien zur Verwendung durch den Wissens-Anfrageumsetzer. Zusätzlich führt das Inferenzsystem Inferenzoperation in Verbindung mit Regeln durch, die durch den Wissens-Anfrageumsetzer wiedergewonnen werden. Das Inferenzsystem initiiert Anpassungsoperationen in Verbindung mit Mustern in den Regeln. Der Wissens-Anfrageumsetzer ermöglicht während einer Anpassungsoperation, daß das Datenbasissystem eine Anpassung durchführt, und liefert eine Antwort zum Inferenzsystem, um anzuzeigen, ob die Anpassung erfolgreich war. Das Inferenzsystem bestimmt während der Anpassungsoperationen, basierend auf den Antworten vom Wissens-Anfrageumsetzer ob die Regeln erfüllt sind.
  • Durch bevorzugtes Speichern der Regeln und Fakten in einem Datenbasissystem, anstatt im virtuellen Speicher des Inferenzsystems, werden mehrere Vorteile erreicht. Da, wie es normal ist, das Datenbasissystem auf eine Anzahl von Bedienern aufgeteilt sein kann, können auch die Regeln auf eine Anzahl von Bedienern aufgeteilt sein. Zusätzlich bieten typische Datenbank-Managementsysteme umfangreiche Möglichkeiten, eine kollision von Zugriffsanfragen aufzulösen und eine Behebung von Fehlern zu ermöglichen, was ein typisches Expertensystem nicht vermag. Weiterhin muß, da die von der Datenbasis wiedergewonnenen und in den virtuellen Speicher des Inferenzsystems bewegten Regeln nur diejenigen sind, die wahrscheinlich feuern, wie es durch die Auswahlkriterien angezeigt wird, die die Regel-Wiedergewinnungsanfrage begleiteten, der Speicherbereich nicht so groß sein, um alle Regeln speichern zu können. Der virtuelle Speicher für das Inferenzsystem muß nur groß genug sein, die Regeln zu speichern, die wahrscheinlich feuern, wenn sie vom Wissens-Anfrageumsetzer wiedergewonnen werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Diese Erfindung ist in ihrer Besonderheit in den beigefügten Ansprüchen gezeigt. Die obigen und weitere Vorteile dieser Erfindung können durch Bezugnahme auf die folgende Beschreibung in Zusammenhang mit den beigefügten Zeichnungen besser verstanden werden, wobei:
  • Fig. 1 ein allgemeines funktionelles Blockdiagramm ist, das die hauptsächlichen funktionellen Module eines gemäß der Erfindung aufgebauten Systems zeigt;
  • Fig. 2A und 2B nützlich beim Verstehen der Struktur von Vorwärtsverkettungsregeln bzw. Rückwärtsverkettungsregeln im in Fig. 1 gezeigten System sind;
  • Fig. 3A-1 und 3A-2 die Datenstruktur einer Vorwärtsverkettungsregel zeigt, wie sie in Fig. 2A gezeigt ist, wenn sie im in Fig. 1 gezeigten Datenbasismodul gespeichert ist
  • Fig. 3B-1 und 3B-2 die Datenstruktur einer Rückwärtsverkettungsregel zeigt, wie sie in Fig. 2B gezeigt ist, wenn sie im in Fig. 1 gezeigten Datenbasismodul gespeichert ist;
  • Fig. 4A bis 4F Flußdiagramme zeigen, die nützlich beim Verstehen der Operation des in Fig. 1 gezeigten Systems während einer Vorwärtsverkettungsregel-Verarbeitung sind; und
  • Fig. 5A bis 5C Flußdiagramme zeigen, die nützlich beim Verstehen der Operation des in Fig. 1 gezeigten Systems während einer Rückwärtsverkettungsregel-Verarbeitung sind.
  • DETAILLIERTE BESCHREIBUNG EINES DARSTELLENDEN AUSFÜHRUNGSBEISPIELS 1. Allgemeine Beschreibung
  • Fig. 1 ist ein allgemeines funktionelles Blockdiagramm, das die hauptsächlichen funktionellen Module eines gemäß der Erfindung aufgebauten Systems zeigt. Unter Bezugnahme auf Fig. 1 enthält das System ein Datenbasissystem 10, das sowohl Regeln als auch Fakten speichert. Beim in Fig. 1 gezeigten Ausführungsbeispiel sind die Regeln in einem Regelteil 11 gespeichert, und die Fakten sind in einem Faktenteil 12 gespeichert. Im Datenbasissystem 10 sind sowohl die Regeln als auch die Fakten als Datenbasis-Records gespeichert. Die detaillierte Struktur von Datenbasis-Records, in denen die Regeln gespeichert sind, sind unten in Verbindung mit den Fig. 3A-1 bis 3B-2 beschrieben. Der Regelteil 11 und der Faktenteil 12 des Basissystems 10 werden beide durch ein Datenbasis- Verwaltungsmodul 13 gesteuert, das Anfragen von einem Wissens- Anfrageumsetzer 14 empfängt und sie verarbeitet, während es Daten von entweder dem Regelteil 11 oder dem Faktenteil 12 des Datenbasissystems 10 wiedergewinnen oder Daten darin speichern kann. Zusätzlich bringt das Datenbasis- Verwaltungsmodul 13 dann, wenn die Anfrage eine Wiedergewinnungsoperation ist, die Daten, die entweder zu einem Fakt oder einer Regel gehören können, zum Wissens-Anfrageumsetzer 14 zurück.
  • Der Wissens-Anfrageumsetzer 14 arbeitet wiederum in Antwort auf Anfragen von einem Inferenzsystem, das eine Vorwärtsverkettungs-Inferenzmaschine 16 und eine Rückwärtsverkettungs-Inferenzmaschine 17 aufweist, oder von einer Bedienerschnittstelle 15. Die Bedienerschnittstelle 15 kann Fakten im Datenbasissystem 10 über den Wissens-Anfrageumsetzer 14 erneuern, sie modifizieren oder Regeln in das System laden oder die Regeln im System geltend machen. Die Vorwärtsverkettungs-Inferenzmaschine 16 führt in Antwort auf ausgewählte Operationen, die durch einen Bediener über die Bedienerschnittstelle initiiert werden, Vorwärtsverkettungs-Inferenzoperationen in Verbindung mit Vorwärtsverkettungsregeln durch, die im Regelteil 11 des Datenbasissystems gespeichert sind. Die Rückwärtsverkettungs-Inferenzmaschine 17 führt in Antwort auf Rückwärtsverkettungs- Inferenzanfragen, die durch einen Bediener über die Bedienerschnittstelle 15 initiiert werden, Rückwärtsverkettungs-Inferenzoperationen in Verbindung mit Rückwärtsverkettungsregeln durch, die im Regelabschnitt 11 des Datenbasissystems 10 gespeichert sind.
  • Wie es unten im Detail beschrieben ist, fragt der Wissens-Anfrageumsetzer 14 während einer durch die Vorwärtsverkettungs-Inferenzmaschine 16 initiierten Inferenzoperation zuerst das Datenbasissystem 10, alle Regeln im Regelteil 11 des Datenbasissystems 10 zu identifizieren, die feuern könnten, basierend auf den Fakten im Faktenteil 12 des Datenbasissystems 10 und wie es durch den gerade ausgeführten Befehl initiiert ist. Der Wissens-Anfrageumsetzer 14 ermöglicht dann dem Datenbasissystem 10, die Regeln, die feuern können, vom Regelteil 11 des Datenbasissystems 10 wiederzugewinnen und sie zum Wissens-Anfrageumsetzer 14 zu übertragen. Auf ein Empfangen der Regeln vom Datenbasissystem 10 hin assembliert der Wissens-Anfrageumsetzer 14 sie in einem Vorwärtsverkettungsregel-Speicherbereich 18 zur Verarbeitung durch die Vorwärtsverkettungs-Inferenzmaschine 16.
  • Die Vorwärtsverkettungs-Inferenzmaschine verarbeitet jede der im Vorwärtsverkettungsregel-Speicherbereich 18 assemblierten Regeln einzeln. Beim Verarbeiten jeder Regel initiiert die Vorwärtsverkettungs-Inferenzmaschine 16 Musteranpassungsoperationen, die durch den Wissens-Anfrageumsetzer 14 und das Datenbasissystem 10 verarbeitet werden, in Verbindung mit allen verschiedenen Mustern, die die Bedingungen in der Regel bilden. Wenn die Vorwärtsverkettungs- Inferenzmaschine bestimmt, daß Bedingungen einer Regel erfüllt sind, feuert sie die Vorwärtsverkettungsregel, d.h sie führt den Befehl oder die Befehle aus, der bzw. die in der Vorwärtsverkettungsregel spezifiziert ist bzw. sind. Das Ausführen des Befehls kann die Fakten in der Datenbasis ändern, was in Folge weitere Vorwärtsverkettungs-Inferenzoperationen initiieren kann.
  • Gleichermaßen fragt der Wissens-Anfrageumsetzer 14 während einer durch die Rückwärtsverkettungs-Inferenzmaschine 17 in Antwort auf eine Anfrage von der Bedienerschnittstelle 15 inituerten Inferenzoperation zuerst das Datenbasissystem 10, alle Regeln im Regelteil 11 des Datenbasissystems 10 auszuwählen und wiederzugewinnen, die das von der Bedienerschnittstelle 15 empfangene Ziel nachweisen könnten. Der Wissens-Anfrageumsetzer 14 gewinnt dann die Regeln von dem Regelteil 11 des Datenbasissystems 10 wieder und assembliert sie in einem Rückwärtsverkettungsregel-Speicherbereich 19 zur Verarbeitung durch die Rückwärtsverkettungs-Inferenzmaschine 17.
  • Die Rückwärtsverkettungs-Inferenzmaschine 17 verarbeitet jede der Rückwärtsverkettungsregeln iterativ. Während der Verarbeitung jeder Rückwärtsverkettungsregel initiiert die Rückwärtsverkettungs-Inferenzmaschine 17 Musteranpassungs- Operationen, die durch den Wissens-Anfrageumsetzer 14 und das Datenbasissystem 10 verarbeitet werden, in Verbindung mit allen verschiedenen Mustern, die die Ziel-Prädikate und Datenübertragungsblockmuster in der Regel bilden. Wenn die Rückwärtsverkettungs-Inferenzmaschine bestimmt, daß die Datenübertragungsblockmuster erfüllt sind, initiiert sie eine Verarbeitung der Unterziel-Prädikate auf dieselbe Weise und arbeitet weiter, bis alle Unterziel-Prädikate erfüllt sind, in welchem Fall sie der Bedienerschnittstelle 15 berichtet, daß das Ziel-Prädikat nachgewiesen worden ist, zusammen mit den Fakten, die das Ziel-Prädikat nachweisen, oder bis sie bestimmt, daß ein Unterziel-Prädikat nicht nachgewiesen werden kann, in welchem Fall sie der Bedienerschnittstelle 15 berichtet, daß das Ziel- Prädikat nicht nachgewiesen werden kann.
  • Durch Speichern der Regeln und Fakten in einem Datenbasissystem wird eine Anzahl von Vorteilen erreicht. Das Datenbasis-Verwaltungssystem läßt zu, daß die Regeln und Fakten unter eine Anzahl von Bedienern aufgeteilt werden können. Hinzu kommt, daß, da typische Datenbasis-Verwaltungssysteme umfangreiche Möglichkeiten zum Auflösen einer Kollision von Zugnifsanfragen und zum Ermöglichen einer Entdeckung von Fehlern bieten, diese Möglichkeiten, die bei typischen Expertensystemen nicht zur Verfügung stehen, bei dem in Fig. 1 gezeigten System zur Verfügung stehen.
  • Weiterhin müssen, da die Vorwärts- und Rückwärtsverkettungsregeln, die in die jeweiligen Speicherbereiche 18 und 19 bewegt werden, nur diejenigen sind, die wahrscheinlich feuern oder das aktuelle Ziel- oder Unterziel-Prädikat bestätigen, die Speicherbereiche nicht ausretchend groß sein, alle Vorwärtsverkettungs- bzw. Rückwärtsverkettungsregeln speichern zu können. Da die Regel-Speicherbereiche typischerweise in den virtuellen Speichern der jeweiligen Inferenzmaschinen 16 und 17 sind, müssen die virtuellen Speicher nur dafür groß genug sein, die durch den Wissens-Anfrageumsetzer 14 zugeführten Regeln zu speichern.
  • 2. Spezifische Beschreibung Regelbeschreibung
  • Vor einer weiteren Beschreibung ist es nützlich, eine Vorwärtsverkettungsregel und eine Rückwärtsverkettungsregel zu beschreiben, wonach eine Beschreibung der Datenstrukturen, in denen die Regeln im Regelteil 11 des Datenbasissystems 10 gespeichert werden, zusammen mit einer Beschreibung einer Operation des Wissens-Anfrageumsetzers 14, der Vorwärtsverkettungs-Inferenzmaschine 16, der Rückwärtsverkettungs-Inferenzmaschine 17 und des Datenbasissystems 10 folgt. Unter Bezugnahme auf Fig. 2A weist eine Vorwärtsverkettungsregel eine linke Seite auf, die als < DATENÜBERTRAGUNGSBLOCK_MUSTER_LISTE> bezeichnet ist, und eine rechte Seite, die als < AKTIONS_LISTE> bezeichnet ist. Die < DATENÜBERTRAGUNGSBLOCK_MUSTER_LISTE> enthält eines oder mehrere Elemente, die Bedingungen definieren, die dann, wenn sie basierend auf den Fakten im Faktenteil 12 des Datenbasissystems als WAHR bewertet werden, anzeigen, daß der (die) in der < AKTIONS_LISTE> spezifizierte(n) Befehl(e) durchzuführen ist (sind), und dann, wenn sie als FALSCH bewertet werden, anzeigen, daß der (die) Befehl(e), der (die) in der < AKTIONS_LISTE> spezifiziert ist (sind), nicht durchzuführen ist (sind).
  • Die Bedingungen in der < DATENÜBERTRAGUNGSBLOCK_MUSTER_LISTE> einer Vorwärtsverkettungsregel sind durch ein oder mehrere < DATENÜBERTRAGUNGSBLOCK_MUSTER> definiert, die in Folge durch einen Klassennamen CN definiert sind und einen oder mehrere Schlitz-Relationswerte < SCHLITZ_REL_WERT> enthalten, die zusammen eine Schlitz-Relationswertliste < SCHLITZ_REL_WERT_LISTE> bilden. Jeder < SCHLITZ_REL_WERT> in einer < SCHLITZ_REL_WERT_LISTE> wird durch einen Schlitznamen SN identifiziert und enthält einen Relationsoperator < REL_OP> und einen Wertausdruck < WERT_AUSDRUCK> der entweder einen konstanten Wert oder einen durch eine Variable definierten Wert definieren kann. Die Fakten im Faktenteil 12 des Datenbasissystems 10 sind in logischen Klassen gespeichert Jede Klasse enthält eine Vielzahl von Einträgen, wobei die Einträge in Folge eine Vielzahl von Schlitzen aufweisen, die die Fakten enthalten.
  • Jede Klasse im Faktenteil 12 ist durch einen Klassennamen identifiziert, und die Schlitze in den Einträgen in einer Klasse sind durch einen Schlitznamen identifiziert. In einem < SCHLITZ_REL_WERT> identifiziert der < WERT_AUSDRUCK> einen bestimmten Wert, und der < REL_OP> bezieht sich auf den Wert des < WERT_AUSDRUCK> s bezüglich der Inhalte des Schlitzes in der Klasse, die durch den Klassennamen CN im Faktenteil 12 des Datenbasissystems 10 identifiziert ist. Der < REL_OP> kann beispielsweise gleich, ungleich, größer als oder kleiner als anzeigen. Jeder Klassenname CN in einem < DATENÜBERTRAGUNGSBLOCK_ MUSTER> identifiziert eine Klasse im Faktenteil 12. Weiterhin identifiziert jeder Schlitzname SN in einem < SCHLITZ_REL_WERT> einen Schlitz in der Klasse im Faktenteil 12, die durch den Klassennamen CN identifiziert wird, der durch das < DATENÜBERTRAGUNGSBLOCK_MUSTER> identifiziert wird, das den < SCHLITZ_REL_WERT> enthält.
  • Die Bestimmung dessen, ob die < DATENÜBERTRAGUNGSBLOCK_ MUSTER_LISTE> einer Vorwärtsverkettungsregel erfüllt ist, so daß die Regel dazu bestimmt wird&sub7; zu feuern, hängt von einer Bewertung jedes < DATENÜBERTRAGUNGSBLOCK_MUSTER> s in der < DATEN0BERTRA- GUNGS-BLOCK_MUSTER_LISTE> in Verbindung mit dem Wert des Vorzeichens S ab, das zum < DATENÜBERTRAGUNGSBLOCK_MUSTER> gehört. Das Vorzeichen 5 zeigt dann, wenn es positiv ist, daß die durch das < DATENÜBERTRAGUNGSBLOCK_MUSTER> dargestellte Bedingung erfüllt ist, wenn im Faktenteil 12 des Datenbasissystems 10 wenigstens ein Eintrag in der Klasse existiert, die durch den zum < DATENÜBERTRAGUNGSBLOCK_MUSTER> gehörenden Klassennamen CN identifiziert ist, in welchem die Schlitze die Beziehungen haben, die in allen Schiitz-Relationswerten < SCHLITZ_REL_WERT> in der zum < DATENÜBERTRAGUNGSBLOCK_MUSTER> gehörenden Schlitz- Relationswertliste < SCHLITZ_REL_WERT_LISTE> gezeigt sind. Wenn andererseits das zum < DATENÜBERTRAGUNGSBLOCK_MUSTER> gehörende Vorzeichen S negativ ist ist die durch das < DATENÜBERTRAGUNGSBLOCK_MUSTER> dargestellte Bedingung erfüllt, wenn kein solcher Eintrag in der Klasse existiert. Sonst ist die durch das < DATENÜBERTRAGUNGSBLOCK_MUSTER> dargestellte Bedingung nicht erfüllt. Die < DATENÜBERTRAGUNGSBLOCK_MUSTER_LISTE> ist nur erfüllt, wenn alle < DATENÜBERTRAGUNGSBLOCK_MUSTER> in der Vorwärtsverkettungsregel erfüllt sind.
  • Wie es oben angegeben ist, wird der Befehl oder werden die Befehle in der < AKTIONS_LISTE> ausgeführt, wenn die < DATENLSIBERTRAGUNGSBLOCK_ MUSTER_LISTE> erfüllt ist. Bei einem Ausführungsbeispiel können fünf Typen von Befehlen ausgeführt werden, nämlich ERZEUGEN, LÖSCHEN, ERNEUERN, DRUCKEN und ANHALTEN. Die Befehle ERZEUGEN, LÖSCHEN und ERNEUERN ermöglichen, daß Fakten im Faktenteil 12 des Datenbasissystems 10 eingespeichert, daraus gelöscht oder modifiziert werden. Die Befehle DRUCKEN und ANHALTEN ermöglichen andererseits, daß spezifische Systemoperationen auftreten. Genauer gesagt ermöglicht ein Befehl ERZEUGEN, daß ein Eintrag zu einer im Befehl identifizierten Klasse im Faktenteil 12 des Datenbasissystems 10 hinzugefügt wird. Ein Befehl LÖSCHEN ermöglicht, daß ein Eintrag von einer Klasse, wie sie im Befehl identifiziert ist, im Faktenteil 12 des Datenbasissystems gelöscht wird. Ein Befehl ERNEUERN ermöglicht, daß neue Werte in einem Eintrag, wie er im Befehl identifiziert ist, in der Klasse, wie sie auch im Befehl identifiziert ist, im Faktenteil 12 des Datenbasissystems 10 gespeichert wird. Ein Befehl DRUCKEN ermöglicht, daß eine Textkette, die im Befehl enthalten ist, durch die Bedienerschnittstelle 15 angezeigt wird. Schließlich ermöglicht ein Befehl ANHALTEN, daß das System die aktuelle Vorwärtsverkettungsoperation anhält.
  • Eine Rückwärtsverkettungsregel ist in Fig. 2B gezeigt. Unter Bezugnahme auf Fig. 2B weist eine Rückwärtsverkettungsregel eine linke Seite auf, die als Prädikat- Muster < PRÄD_MUSTER> identifiziert ist, und eine rechte Seite, die als Musterliste < MUSTER_LISTE> identifiziert ist. Die < MUSTER_LISTE> enthält wiederum ein oder mehrere < DATENÜBERTRAGUNGSBLOCK_MUSTER> , von denen jedem ein Vorzeichen 5 zugeordnet ist, und/oder ein oder mehrere Prädikat-Muster < PRÄD_MUSTER> Das Prädikat-Muster < PRÄD_MUSTER> , das die linke Seite der Rückwärtsverkettungsregel einnimmt, identifiziert das nachzuweisende Ziel und wird, wie es unten in Verbindung mit den Fig. 5A bis 5C beschrieben ist, zum Identifizieren der Rückwärtsverkettungsregeln verwendet, die das Ziel nachweisen können. Die < DATENÜBERTRAGUNGSBLOCK_MUSTER> auf der rechten Seite identifizieren Fakten, die dazu neigen, das Ziel zu nachzuweisen oder nicht nachzuweisen, und die Prädikat-Muster < PRÄD MUSTER> auf der rechten Seite identifizieren Unterziele, die erfüllt werden müssen, mittels anderer dadurch identifizierter Rückwärtsverkettungsregeln, um das Ziel nachzuweisen. Ein Prädikat-Muster < PRÄD_MUSTER> auf entweder der linken Seite oder der rechten Seite einer Rückwärtsverkettungsregel enthält eine Feld-Relationswertliste < FELD_REL_WERT_LISTE> , die einen oder mehrere Feid-Relationswerte < FELD_REL_WERT> enthält. Jedes Prädikat-Muster < PRAD_MUSTER> ist mit einem Prädikat-Namen PRAD_NAME identifiziert, und jeder Feid-Relationswert < FELD_REL_WERT> ist mit einem Feldnamen F_NAME identifiziert. In einem Feid-Relationswert < FELD_REL_WERT> identifiziert der Wertausdruck < WERT_AUSDRUCK> einen bestimmten Wert oder eine Variable, und der Relationsoperator < REL_OP> bezieht sich auf den Wert des Wertausdrucks in bezug auf Inhalte des Faktenteus 12 des Datenbasissystems 10.
  • Die Verarbeitung eines < DATENÜBERTRAGUNGSBLOCK_MUSTER> s während einer Verarbeitung einer Rückwärtsverkettungsregel zum Bestimmen, ob sie erfüllt ist oder nicht, wird auf ähnliche Weise wie während einer Verarbeitung einer Vorwärtsverkettungsregel durchgeführt.
  • Regel-Datenbasisstruktur
  • Wie es oben angegeben ist, sind die Regeln mit sowohl den Vorwärtsverkettungsregeln als auch den Rückwärtsverkettungsregeln durch eine oder mehrere Datenbasis-Records definiert, die im Regelteil 11 des Datenbasissystems 10 gespeichert sind. Die Fig. 3A-1 bis 3B-2 zeigen Datenstrukturen im Datenbasissystem 10 für die Regeln, wobei die Fig. 3A-1 und 3A-2 die Datenstrukturen für die Vorwärtsverkettungsregeln zeigen und wobei die Fig. 3B-1 und 3B-2 Datenstrukturen für die Rückwärtsverkettungsregeln zeigen. Unter Bezugnahme auf Fig. 3A-1 enthält der Regelteil 11 des Datenbasissystems 10 einen Regelidentifikations-Record 30, der jeder Vorwärtsverkettungsregel zugeordnet ist. Der Regelidentifikations-Record 30 enthält ein einzelnes Feld, das einen Regelidentifikationswert enthält.
  • Der Regelteil 11 enthält, wie es in Fig. 3A-2 gezeigt ist, auch einen Record 31, der jedem Schlitz-Relationswert < SCHLITZ_REL_WERT> in einem < DATENÜBER- TRAGUNGSBLOCK_MUSTER> in entweder der < DATENÜBERTRAGUNGS- BLOCK_MUSTER_LISTE> auf der linken Seite oder einem Befehl < BEFEHL> auf der rechten Seite in einer Regel zugeordnet ist. Ein Record 31 enthält eine Anzahl von Feldern mit einem Regelidentifikationsfeld 32, einem Musterlaktionspositionsfeld 33 und einem Schlitzpositionsfeld 34, deren Inhalte alle dazu dienen, den Record in Zusammenhang mit den Regeln zu identifizieren. Insbesondere identifizieren die Inhalte des Regelidentifikationsfeldes 32 die Regel, von der der zugehörige Schlitz-Relationswert < SCHLITZ_REL_WERT> einen Teil bildet. Der Inhalt des Muster/Aktionspositionsfelds 33 identifiziert ein < DATENÜBERTRAGUNGS- BLOCK_MUSTER> oder einen < BEFEHL> in der < DATENÜBERTRAGUNGS- BLOCK_MUSTER_LISTE> oder der < AKTIONS_LISTE> der Regel. Schließlich identifiziert das Schlitzpositionsfeld 34 einen < SCHLITZ_REL_WERT> in der < SCHLITZ_REL_WERT_LISTE> entweder im < DATENÜBERTRAGUNGSBLOCK_ MUSTER> auf der linken Seite oder im < BEFEHL> auf der rechten Seite. Das durch die Werte im Regelidentifikationsfeld 32, im Musterlaktionspositionsfeld 33 und im Schlitzpositionsfeld 34 gebildete Tripel identifiziert die Stelle des Schlitz- Relationswertes < SCHLITZ_REL_WERT> innerhalb einer spezifischen Regel eindeutig und dient somit auch zum eindeutigen Identifizieren des Records 31 im Regelteil 11 des Datenbasissystems 10.
  • Der Record 31 hat auch eine Anzahl zusätzlicher Felder. Insbesondere identifizieren die Inhalte eines Eintragstypfeldes 35, ob der Record zur linken Seite oder zur rechten Seite einer Vorwärtsverkettungsregel gehört (Fig. 2A), und wenn er zur rechten Seite gehört, identifizieren sie den Typ des Befehls, d.h. sie zeigen an, ob der Befehl ein Befehl ERZEUGEN, LÖSCHEN, ERNEUERN, DRUCKEN oder ANHALTEN ist.
  • Wenn der Record zur linken Seite gehört, identifizieren die Inhalte eines Klassennamenfeldes 36 und eines Schlitznamenfeldes 37 jeweils eine Klasse und einen Schlitz im Faktenteil 12 des Datenbasissystems 10. Die Inhalte eines Wertfeldes 40 und eines Werttypenfeldes zeigen einen Wert und einen Werttyp, d.h. ob der im Wertfeld 40 enthaltene Wert eine Konstante oder eine Variable ist, und die Inhalte eines Relationsoperatorfeldes 42 identifizieren einen Relationsoperator. Beim Verarbeiten eines Schlitz-Relationswertes < SCHLITZ_REL_WERT> auf der linken Seite einer Vorwärtsverkettungsregel wird der im Wertfeld 40 enthaltene Wert unter Verwendung eines durch die Inhalte des Relationsoperatorfeldes 42 identifizierten Relationsoperators mit den Inhalten des durch das Schlitznamenfeld 37 in der durch das Klassennamenfeld 36 identifizierten Klasse identifizierten Schlitzes des Faktenteus 12 des Datenbasissystems 10 verglichen.
  • Andererseits identifizieren dann, wenn der Record zur rechten Seite einer Vorwärtsverkettungsregel gehört, die Inhalte eines Klassennamenfeldes 36 und eines Schlitznamenfeldes 37 jweils eine Klasse und einen Schlitz im Faktenteil 12 des Datenbasissystems 10, und die Inhalte eines Wertfel des 40 und eines Werttypenfeldes zeigen einen Wert und einen Werttyp an, d.h. ob der im Wertfeld 40 enthaltene Wert eine Konstante, eine Variable oder eine Textkette ist, die in Antwort auf einen Befehl DRUCKEN zur Bedienerschnittstelle 15 zur Anzeige für den Bediener gesendet werden können. Wenn die Regel feuert, d.h. wenn die linke Seite erfüllt ist, wird dann, wenn der Befehl ein Befehl ERZEUGEN ist, ein neuer Eintrag in der Klasse erzeugt, die durch die Inhalte des Klassennamenfeldes 36 identifiziert wird, und die Inhalte des Wertefeldes 40 werden in einem durch die Inhalte des Schlitznamenfeldes 37 identifizierten Schlitz darin gespeichert. Wenn der Befehl ein Befehl LÖSCHEN ist, werden Einträge gelöscht, die durch das < DATENÜBERTRAGUNGSBLOCK_MUSTER> identifiziert werden, das den durch den Record 31 definierten Schlitz-Relationswert < SCHLITZ_REL_WERT> enthält. Gleichermaßen werden dann, wenn der Befehl ein Befehl ERNEUERN ist, die Inhalte des Wertfeldes 40 in dem durch das Schlitznamenfeld 37 in der durch das Klassennamenfeld 36 identifizierten Klasse identifizierten Schlitz gespeichert.
  • Wie es oben beschrieben ist, zeigen die Fig. 3B-1 und 3B-2 Datenstrukturen für die Rückwärtsverkettungsregeln. Gemäß Fig. 3B-1 enthält der Regelteil 11 des Datenbasissystems 10 einen Regel identifikations-Record 50, der zu jeder Rückwärtsverkettungsregel gehört. Der Regelidentifikations-Record 50 enthält ein einziges Feld, das einen Regelidentifikationswert enthält.
  • Der Regelteil 11 enthält, wie es in Fig. 3B-2 gezeigt ist, auch einen Record 51, der zu jedem Feid-Relationswert < FELD_REL_WERT> in einem Prädikat-Muster < PRÄD_MUSTER> auf entweder der rechten Seite oder der linken Seite und zu jedem Schlitz-Relationswert < SCHLITZ_REL_WERT> in einem < DATENÜBERTRAGUNGSBLOCK_MUSTER> auf der rechten Seite gehört. Die Struktur eines Records 61 ist ähnlich der Struktur eines Records 31. insbesondere enthält der Record 51 eine Anzahl von Feldern mit einem Regelidentifikationsfeld 52, einem Musterpositionsfeld 53 und einem Feldnamen/Schlitznamen- Positionsfeld 54, deren Inhalte alle dazu dienen, den Record im Zusammenhang mit den Regeln zu identifizieren. Insbesondere identifizieren die Inhalte des Regelidentifikationsfeldes 52 die Regel, die den Feld-Relationswert < FELD_REL_WERT> oder den Schlitz-Relationswert < SCHLITZ_REL_WERT> enthält, die durch den Record definiert sind. Die Inhalte des Musterpositionsfeldes 53 identifizieren ein Prädikat-Muster < PRAD_MUSTER> oder ein < MUSTER> im < PRAD_MUSTER> oder in der < MUSTER_LISTE> der Regel. Schließlich identifiziert das Feldnamenlschl itznamen-Positionsfeld 54 einen Feld-Relationswert < FELD_REL_WERT> in der Feid-Relationswertliste < FELD_REL_WERT_LISTE> im Prädikat-Muster < PRÄD_MUSTER> auf der linken Seite oder im < MUSTER> in der < MUSTER_LISTE> auf der rechten Seite. Das durch die Werte im Regelidentifikationsfeld 52, im Musterpositionsfeld 53 und im Feldnamen/Schlitznamen- Positionsfeld 54 gebildete Tripel identifiziert eindeutig die Stelle des Feld- Relationswertes < FELD_REL_WERT> oder des Schlitz-Relationswertes < SCHLITZ_REL_WERT> innerhalb einer spezifischen Regel und dient somit auch zum eindeutigen Identifizieren des Records 51 im Regelteil 11 des Datenbasissystems 10.
  • Der Record 51 hat auch eine Anzahl zusätzlicher Felder. Insbesondere identifizieren die Inhalte eines Eintragstypenfelds 55, ob der Record zur linken Seite oder zur rechten Seite einer Rückwärtsverkettungsregel gehört (Fig. 2B), und wenn die Aufzeichnung zur rechten Seite gehört, ob das < MUSTER> ein < DATENÜBERTRAGUNGSBLOCK_MUSTER> oder ein Prädikat-Muster < PRÄD_MUSTER> ist. Wenn die Aufzeichnung zur rechten Seite gehört und das < MUSTER> ein < DATENÜBERTRAGUNGSBLOCK_MUSTER> ist, zeigt ein negiertes Feld 63 an, ob das < DATENÜBERTRAGUNGSBLOCK_MUSTER> negiert ist, was in Folge anzeigt, daß das Vorzeichen 5, das zum < DATENÜBERTRAGUNGSBLOCK_MUSTER> gehört, negativ ist.
  • Der Record 51 enthält auch ein Prädikat/Klassennamenfeld 56 und ein Feld/Schlitznamenfeld 57, deren Inhalte dann, wenn sie zu einem < DATENÜBERTRAGUNGSBLOCK_MUSTER> gehören, einen Schlitz in einer Klasse im Faktenteil 12 des Datenbasissystems 10 identifizieren. Die Inhalte eines Wertfeldes 60 und eines Werttypenfeldes 61 zeigen einen Wert und einen Werttyp an, d.h. ob der im Wertfeld 60 enthaltene Wert eine Konstante oder eine Variable ist, und die Inhalte eines Relationsoperatorfeldes 62 identifizieren einen Relationsoperator.
  • Regel-Verarbeitung
  • 1. Vorwärtsverkettungsregeln
  • Wie es oben beschrieben ist, können in den im in Fig. 1 gezeigten System verwendeten Vorwärtsverkettungsregeln drei Typen von Befehlen ausgeführt werden, nämlich die Befehle ERZEUGEN, LÖSCHEN und ERNEUERN, und zwar entweder in Antwort auf einen Befehl von einer Bedienerschnittstelle 15 oder in Antwort auf eine Verarbeitung einer weiteren Vorwärtsverkettungsregel, was die Modifizierung der Inhalte des Faktenteus 12 des Datenbasissystems 10 ermöglicht. In Antwort auf einen beliebigen dieser Befehle führen die Vorwärtsverkettungs-Inferenzmaschine und der Wissens-Anfrageumsetzer 14 die Operationen durch, die allgemein im in den Fig. 4A bis 4F gezeigten Flußdiagramm gezeigt sind, um Vorwärtsverkettungsregeln zu verarbeiten, die als Ergebnis des Befehls feuern können. Andererseits führen die Rückwärtsverkettungs-Inferenzmaschine 17 und der Wissens-Anfrageumsetzer 14 in Antwort auf den Empfang eines Ziels von der Bedienerschnittstelle 15 die allgemein in den Fig. 5A bis 5C gezeigten Operationen durch, um zu bestimmen, ob das Ziel erfüllt werden kann, d.h. ob das Ziel als wahr nachgewiesen werden kann.
  • Unter Bezugnahme auf die Fig. 4A bis 4F wählt die Vorwärtsverkettungs- Inferenzmaschine 16 zusammen mit dem Wissens-Anfrageumsetzer 14 und dem Datenbasis-Verwaltungsmodul 13 anfangs die Vorwärtsverkettungsregeln aus, die möglicherweise feuern, gewinnt sich darauf beziehende Records 31 vom Regelteil 11 des Datenbasissystems 10 wieder, bildet die Regeln und lädt die gebildeten Regeln in den Vorwärtsverkettungsregel-Speicherbereich 18. Die Kriterien zum Auswählen der Regeln, die möglicherweise feuern, hängen vom Typ des Befehls ab, der ausgeführt wurde, um Anlaß zur Vorwärtsverkettungs-Inferenzoperation zu geben. Insbesondere dann, wenn der Befehl ein ERNEUERUNGS-Befehl war (Fig. 4A), sind die ausgewählten Regeln jene, die ein < DATENÜBERTRAGUNGSBLOCK_MUSTER> enthalten, das einen Klassennamen CN und einen Schlitznamen SN hat, die dem Klassennamen und dem Schlitznamen im < DATENÜBERTRAGUNGSBLOCK_MUSTER> in dem Befehl entsprechen, da jene die einzigen sind, die basierend auf den in Antwort auf den ERNEUERUNGS-Befehl in den Faktenteil 12 des Datenbasissystems 10 geladenen erneuerten Informationen feuern könnten.
  • Andererseits sind dann, wenn der Befehl ein ERZEUGUNGS-Befehl war (Fig. 4B), die ausgewählten Regeln jene, die ein < DATENÜBERTRAGUNGS- BLOCK_MUSTER> enthalten, das ein positives Vorzeichen 5 und einen Klassennamen CN und einen Schlitznamen SN hat, die dem Klassennamen und dem Schlitznamen im < DATENÜBERTRAGUNGSBLOCK_MUSTER> in dem Befehl entsprechen, da jene Regeln die einzigen sind, die basierend auf dem hinzugefügten Eintrag in der durch den Klassennamen CN identifizierten Klasse feuern könnten.
  • Schließlich sind dann, wenn der Befehl ein LÖSCH-Befehl war (Fig. 4C), die ausgewählten Regeln jene, die ein < DATENÜBERTRAGUNGSBLOCK_MUSTER> enthalten, das ein negatives Vorzeichen 5 und einen Klassennamen CN hat, der dem Klassennamen im < DATENÜBERTRAGUNGSBLOCK_MUSTER> in dem Befehl entspricht. Die einzigen Regeln, die in Antwort auf den LÖSCH-Befehl feuern, sind diejenigen, in denen kein Eintrag in der durch den Klassennamen CN identifizierten Klasse existiert, so daß das Vorzeichen 5 negativ werden muß. Vor diesem Hintergrund und unter Bezugnahme auf Fig. 4A erzeugt die Vorwärtsverkettungs-Inferenzmaschine 16 beim Initiieren der Wiedergewinnung der Regeln, die in Antwort auf eine Ausführung eines Befehls möglicherweise feuern, zuerst eine Regel-Wiedergewinnungsanfrage zur Übertragung zum Wissens- Anfrageumsetzer 14, der den gerade ausgeführten Befehl enthält (Schritt 100). Der Wissens-Anfrageumsetzer bestimmt dann den Typ des Befehls, der in der Regel- Wiedergewinnungsanfrage enthalten war (Schritt 101). Wenn der Befehl ein ERNEUERUNGS-Befehl war, erzeugt der Wissens-Anfrageumsetzer 14 eine Datenbasis-Anfrage an das Datenbasis-Verwaltungsmodul 13, die ermöglicht, daß das Datenbasis-Verwaltungsmodul 13 Regeln identifiziert, die auf ihren linken Seiten ein < DATENÜBERTRAGUNGSBLOCK_MUSTER> haben, das einen Klassennamen CN und wenigstens einen Schlitz mit einem Schlitznamen SN hat, die dem Klassennamen CN und dem Schlitznamen SN in der Regel- Wiedergewinnungsanfrage entsprechen (Schritt 102).
  • Das Datenbasis-Verwaltungsmodul 13 empfängt die durch den Wissens- Anfrageumsetzer 14 im Schritt 102 erzeugte Datenbasis-Anfrage und fährt damit fort, sie zu verarbeiten. Bei jener Verarbeitung führt das Datenbasis- Verwaltungsmodul 13 eine Suchoperation basierend auf den im Record 30 identifizierten Regeln durch, wobei die Records 31 im Regelteil 11 durchsucht werden, um zu bestimmen, ob irgendwelche ein Klassennamenfeld 36 und ein Schlitznamenfeld haben, deren Inhalte dem Klassennamen CN und dem Schlitznamen SN der Datenbasi s-Anfrage vom Wissens-Anfrageumsetzer 14 entsprechen. Wenn irgendwelche derartigen Regeln im Regelteil 11 des Datenbasissystems 10 existieren, antwortet das Datenbasis-Verwaltungsmodul 13 mit den Records, die den Regeldefinitionen der Regeln entsprechen, die es während des Suchens identifizierte (Schritt 103). In Antwort auf den Empfang der Antwort vom Datenbasis- Verwaltungsmodul 13 fährt der Wissens-Anfrageumsetzer 14 fort, die Regeln im Vorwärtsverkettungsregel-Speicherbereich 18 für eine nachfolgende Verarbeitung durch die Vorwärtsverkettungs-Inferenzmaschine 16 zu bilden (Schritt 104).
  • Wie es oben beschrieben ist, unterscheidet sich die Regelidentifikation von der Wiedergewinnungsprozedur dann, wenn der Befehl ein ERZEUGUNGS-Befehl oder ein LÖSCH-Befehl war. Gemäß Fig. 48 geht dann, wenn der Befehl ein ERZEUGUNGS-Befehl war, der Wissens-Anfragegenerator 14 vom Schritt 101 zum Schritt 110 weiter, wobei er eine Datenbasis-Anfrage erzeugt, die den Wert des Vorzeichens 5 als positiv identifiziert, und einen Klassennamen CN und einen Schlitznamen SN, die er vom ERZEUGUNGS-Befehl erhielt, und überträgt die Datenbasis-Anfrage zum Datenbasis-Verwaltungsmodul 13. Darauffolgend fährt die Ablauffolge mit dem Schritt 103 fort (Fig. 4A).
  • Andererseits geht der Wissens-Anfrageumsetzer 13 gemäß Fig. 4C dann, wenn der Befehl ein LÖSCH-Befehl war, vom Schritt 101 (Fig. 4A) weiter zum Schritt 120, wobei er eine Datenbasis-Anfrage erzeugt, die den Wert des Vorzeichens S als negativ identifiziert, und einen Klassennamen CN, den er vom LÖSCH-Befehl erhielt, und überträgt die Datenbasis-Anfrage zum Datenbasis-Verwaltungsmodul 13. Danach fährt die Ablauffolge mit dem Schritt 103 fort (Fig. 4A).
  • Nachdem der Wissens-Anfrageumsetzer 14 die Regeln gebildet hat, die möglicherweise im Vorwärtsverkettungsregel-Speicherbereich 18 feuern, geht die Vorwärtsverkettungs-Inferenzmaschine 16 zu einer Ablauffolge weiter, die in den Fig. 4D bis 4F gezeigt ist, wobei sie in Verbindung mit dem Wissens-Anfrageumsetzer 14 und dem Datenbasis-Verwaltungsmodul 13 die Regeln im Vorwärtsverkettungsregel-Speicherbereich 18 basierend auf den Fakten im Faktenteil 12 des Datenbasissystems 10 verarbeitet um zu bestimmen, welche von ihnen feuern und feuert jene, welche sie zum Feuern bestimmt.
  • Unter Bezugnahme auf Fig. 4D baut die Vorwärtsverkettungs-Inferenzmaschine 16 bei dieser Operation zuerst eine Verarbeitungsliste auf, in der sie die Reihenfolge auflistet, in der sie die Regeln im Vorwärtsverkettungsregel-Speicherbereich 18 verarbeiten will (Schritt 130). Bei einem Ausführungsbeispiel verarbeitet die Vorwärtsverkettungs-Inferenzmaschine 16 zuerst die Regeln, in denen die Wertausdrücke < WERT_AUSDRUCK> alles Konstanten sind, gefolgt von den Regeln, in denen einige der Wertausdrücke < WERT_AUSDRUCK> Konstanten und einige Variablen sind, und schließlich die Regeln, bei denen alle Wertausdrücke < WERT_AUSDRUCK> Variablen sind.
  • Die Vorwärtsverkettungs-Inferenzmaschine 16 initiiert iterativ ein Verarbeiten jeder der Regeln in der in der Verarbeitungsliste identifizierten Reihenfolge. Während der ersten Iteration wählt die Vorwärtsverkettungs-Inferenzmaschine 16 zur Verarbeitung die erste Regel in der Verarbeitungsliste aus (Schritt 131). Wenn alle Wertausdrücke < WERT_AUSDRUCK> in der Regel Konstanten sind (Schritt 132), erzeugt die Vorwärtsverkettungs-Inferenzmaschine 16 eine Konstantenmusteranpassungs-Anfrage zum Wissens-Anfrageumsetzer 14 (Schritt 133). Die Musteran passungs-Anfrage identifiziert für jedes < DATENÜBERTRAGUNGSBLOCK_MUSTER> in der < DATENÜBERTRAGUNGSBLOCK_MUSTER_LISTE> der Regel das Vorzeichen S, den Klassennamen CN, die Schlitznamen SN und den Relationsoperator < REL_OP> und den Wertausdruck < WERT_AUSDRUCK> in jedem < SCHLITZ_REL_WERT> .
  • Der Wissens-Anfrageumsetzer 14 empfängt die Konstantenmusteranpassungs- Anfrage von der Vorwärtsverkettungs-Inferenzmaschine 16 und erzeugt eine Datenbasis-Anfrage für die < DATENÜBERTRAGUNGSBLOCK_MUSTER> in der Konstantenmusteranpassungs-Anfrage, die er zum Datenbasis-Verwaltungsmodul 13 sendet (Schritt 134). Die Datenbasis-Anfrage fordert das Datenbasis Verwaltungsmodul 13 auf, für jedes < DATENÜBERTRAGUNGSBLOCK_MUSTER> anzuzeigen, ob ein Eintrag in der durch den Klassennamen CN identifizierten Klasse existiert, die durch die Schlitznamen SN identifizierte Schlitze enthält, von denen alle Werte enthalten, die sich auf die Werte beziehen, die durch die Wertausdrücke < WERT_AUSDRUCK> identifiziert sind, und zwar durch die Relationsoperatoren, die durch die Relationsoperatoren < REL_OP> in der Musteranpassungs-Anfrage identifiziert sind. Das Datenbasis-Verwaltungsmodul 13 führt dann eine Existenz-Anfrage durch, wie es oben beschrieben ist, um zu bestimmen, ob solche Einträge existieren, und erzeugt eine Antwort für den Wissens-Anfrageumsetzer 14 (Schritt 135). Die Antwort zeigt an, ob solche Einträge für alle < DATENÜBERTRAGUNGSBLOCK_MUSTER> existieren oder nicht, wodurch angezeigt wird, ob die < DATENÜBERTRAGUNGSBLOCK_MUSTER_LISTE> erfüllt ist oder nicht.
  • Auf ein Empfangen der Antwort vom Datenbasis-Verwaltungsmodul 13 für die < DATENÜBERTRAGUNGSBLOCK_MUSTER> hin erzeugt der Wissens- Anfrageumsetzer 14 eine Antwort, um so ein Senden zur Vorwärtsverkettungslnferenzmaschine 16 anzuzeigen (Schritt 136). Wenn die Antwort vom Wissens Anfrageumsetzer 14 anzeigt, daß die < DATENÜBERTRAGUNGSBLOCK_MUSTER_LISTE> der gerade verarbeiteten Regel erfüllt ist, ordnet die Vorwärtsverkettungs-Inferenzmaschine 16 die Regel auf einer Feuerungsliste oder einer Agenda an (Schritt 137).
  • Nach dem Schritt 137 untersucht die Vorwärtsverkettungs-Inferenzmaschine 16 die Verarbeitungsliste, um zu bestimmen, ob sie irgendwelche weiteren Regeln identifiziert, die zu verarbeiten sind (Schritt 140). Wenn die Verarbeitungsliste weitere zu verarbeitende Regeln identifiziert, springt die Vorwärtsverkettungs- Inferenzmaschine 16 zum Schritt 131 zurück, um die nächste Regel zu verarbeiten. Jedoch dann, wenn die Verarbeitungsliste keine weiteren Regeln identifiziert, geht die Vorwärtsverkettungs-Inferenzmaschine 16 weiter zu den Schritten 141 und 142, wobei sie die Regeln auf der Feuerungsliste feuert. Wenn die < AKTIONS_LISTE> einer gefeuerten Regel einen ERZEUGUNGS-, ERNEUERUNGS- oder LÖSCH-Befehl enthält, springt die Vorwärtsverkettungslnferenzmaschine 16 zum Schritt 100 (Fig. 4A) zurück, um irgendwelche zusätzlichen Regeln zu identifizieren, die in Antwort darauf zu feuern sind.
  • Wie es oben beschrieben ist, bestimmt die Vorwärtsverkettungs-Inferenzmaschine 16 im Schritt 132, ob die gerade verarbeitete Regel irgendwelche < DATENÜBERTRAGUNGSBLOCK_MUSTER> hat, die einen Wertausdruck < WERT_AUSDRUCK> enthalten, der einen variablen Wert definiert. Wenn die Regel ein < DATENÜBERTRAGUNGSBLOCK_MUSTER> mit einem Wertausdruck < WERT_AUSDRUCK> aufweist, der einen variablen Wert definiert, verzweigt die Vorwärtsverkettungs-Inferenzmaschine 16 zur in Fig. 4F gezeigten Ablauffolge, um Verbindungslisten für die variablen Werte zu bestimmen, um sie in konstante Werte umzuwandeln, die die Vorwärtsverkettungs-Inferenzmaschine 16 verarbeitet, wie es oben in Verbindung mit den Schritten 133 bis 137 und 140 bis 142 beschrieben ist.
  • Unter Bezugnahme auf Fig. 4F geht die Vorwärtsverkettungs-Inferenzmaschine 16 dann, wenn die Regel, die gerade verarbeitet wird, ein < DATENÜBERTRAGUNGSBLOCK_MUSTER> mit wenigstens einem Wertausdruck < WERT_AUSDRUCK> mit einem variablen Wert hat, weiter zum Schritt 150, in dem sie eine Variablenmusteranpassungs-Anfrage zum Wissens- Anfrageumsetzer 14 erzeugt, die nach einer Verbindungsliste für die variablen Wertausdrücke < WERT_AUSDRUCK> in den < DATENÜBERTRAGUNGSBLOCK_ MUSTER> n in der < DATENÜBERTRAGUNGSBLOCK_MUSTER_LISTE> fragt. Der Wissens-Anfrageumsetzer 14 erzeugt eine Datenbasis-Anfrage, um Werte für die Verbindungsliste zu erhalten, die er zum Datenbasis-Verwaltungsmodul 13 sendet (Schritt 151). Das Datenbasis-Verwaltungsmodul 13 führt eine Wiedergewinnungsoperation durch, um Werte vom Faktenteil 12 des Datenbasissystems 10 wiederzugewinnen, um Werte für die Verbindungsliste zu erzeugen, und sendet die Werte zum Wissens-Anfrageumsetzer 14 (Schritt 152), der sie in Folge zur Vorwärtsverkettungs-Inferenzmaschine 16 überträgt (Schritt 153). Die Vorwärtsverkettungs-Inferenzmaschine 16 verbreitet dann die Werte in der Verbindungsliste durch die Regel, um neue Regelinstanzen zu erzeugen (Schritt 154). Nach einer Ausbreitung haben alle Regelinstanzen < DATENÜBERTRAGUNGSBLOCK_MUSTER> , in denen alle Wertausdrücke < WERT_AUSDRUCK> konstante Werte enthalten. An jener Stelle springt die Vorwärtsverkettungs-Inferenzmaschine 16 zum Schritt 133 zurück, und in den Schritten 134 bis 137 und 140 bis 142 verarbeitet sie jede der Regelinstanzen als separate Regel.
  • 2. Rückwärtsverkettungsregeln
  • Wie es oben beschrieben ist, initiiert die Rückwärtsverkettungs-Inferenzmaschine 17 in Antwort auf einen Rückwärtsverkettungsbefehl von der Bedienerschnittstelle 15, der ein Ziel oder ein Prädikat-Muster < PRÄD_MUSTER> identifiziert, eine Rückwärtsverkettungs-Inferenzoperation, was im Detail in den Fig. 5A bis 5C gezeigt ist. Während der Rückwärtsverkettungs-Inferenzoperation initiiert die Rückwärtsverkettungs-Inferenzmaschine 17 zuerst Operationen, welche in Fig. 5A gezeigt ist, um eine Wiedergewinnung jener Rückwärtsverkettungsregeln im Regelteil 11 des Datenbasissystems 10 zu bewirken, die wahrscheinlich das Ziel nachweisen, wobei die Rückwärtsverkettungsregeln im Rückwärtsverkettungs- Speicherbereich 19 gespeichert sind.
  • Nachdem die Regeln wiedergewonnen worden sind, initiiert die Rückwärtsverkettungs-Inferenzmaschine 17 Verarbeitungsoperationen, die in den Fig. 5B bis 5C gezeigt sind, in Verbindung mit jeder der Regeln im Rückwärtsverkettungsregel- Speicherbereich 19 und den Inhalten des Faktenteils 12 des Datenbasissystems 10, um zu bestimmen, ob irgendwelche der Regeln erfüllt sind. Wenn wenigstens eine Regel erfüllt ist, wird bestimmt, daß das oberste Ziel von der Bedienerschnittstelle 15 als wahr nachgewiesen ist.
  • Während der Verarbeitung jeder Rückwärtsverkettungsregel initiiert die Rückwärtsverkettungs-Inferenzmaschine 17 Musteranpassungsoperationen in Verbindung mit < DATENÜBERTRAGUNGSBLOCK_MUSTER> , von denen alle auf der rechten Seite sind. Zusätzlich verarbeitet die Rückwärtsverkettungs- Inferenzmaschine 17 dann, wenn die Anpassungsoperation erfolgreich ist, jedes Prädikat-Muster < PRÄD_MUSTER> auf der rechten Seite, das ein Unterziel definiert, auf dieselbe Weise wie ein oberstes Ziel, das von der Bedienerschnittstelle 15 empfangen wird. Die Prozedur wird iterativ für jedes Prädikat-Muster < PRÄD_MUSTER> in einer Regel wiederholt, die das oberste Ziel durch jede nachfolgende Unterzielebene definiert, wobei das Unterziel einer untersten Ebene durch eine Rückwärtsverkettungsregel definiert wird, in der die rechte Seite nur < DATENÜBERTRAGUNGSBLOCK_MUSTER> enthält.
  • Die verschiedenen Unterzielpegel definieren im wesentlichen einen Baum, wobei jedes Unterziel auf einer vorgegebenen Ebene ist, das erfüllt ist, wenn von wenigstens einem Unterziel darunter gezeigt wird, daß es erfüllt ist. Die Rückwärtsverkettungs-Inferenzmaschine 17 fährt fort, den Baum hinabzugehen, bis entweder (1) eine Regel erreicht ist, bei der ein < DATENÜBERTRAGUNGSBLOCK_ MUSTER> auf der rechten Seite nicht mit den Fakten im Faktenteil 12 des Datenbasissystems 10 übereinstimmt, in welchem Fall das Unterziel durch die Regel entlang jenem Zweig nicht erfüllt ist; dann versucht die Rückwärtsverkettungslnferenzmaschine 17 eine andere Regel, um das Unterziel zu erfüllen, wenn eine existiert, oder springt für denselben Zweck zum nächsthöheren Unterziel zurück; oder
  • (2) eine Regel auf einer Unterzielebene erreicht wird, in der auf der rechten Seite nur < DATENÜBERTRAGUNGSBLOCK_MUSTER> sind, die mit den Fakten im Faktenteil 12 des Datenbasissystems 10 übereinstimmen, in welchem Fall das Unterziel auf der untersten Ebene entlang jenem Zweig erfüllt ist; dann springt die Rückwärtsverkettungs-Inferenzmaschine 17 zum nächsthöheren Unterziel zurück, um andere Prädikat-Muster < PRÄD_MUSTER> im nächsthöheren Unterziel zu verarbeiten.
  • Wenn die Rückwärtsverkettungs-Inferenzmaschine 17 bestimmt, (1) daß alle < DATENÜBERTRAGUNGSBLOCK_MUSTER> in der Regel, die das Ziel auf der obersten Ebene definieren, durch die Fakten im Faktenteil 12 des Datenbasissystems 10 erfüllt sind, und (2) daß alle Prädikat-Muster < PRAD_MUSTER> in einer Regel, die das Ziel auf der obersten Ebene definieren, erfüllt sind, berichtet die Rückwärtsverkettungs-Inferenzmaschine 17 der Bedienerschnittstelle 15, daß das Ziel nachgewiesen worden ist.
  • Unter Bezugnahme auf Fig. 5A empfängt die Rückwärtsverkettungs- Inferenzmaschine 17 anfangs das Prädikat-Muster < PRAD_MUSTER> und erzeugt eine Regel-Wiedergewinnungsanfrage, die sie zum Wissens-Anfrageumsetzer 14 sendet (Schritt 200). Die Rückwärtsverkettungs-Inferenzmaschine 17 führt bei der Regel-Wiedergewinnungsanfrage das Prädikat-Muster < PRÄD_MUSTER> , das sie von der Bedienerschnittstelle 15 empfangen hat, beim Initiieren der Rückwärtsverkettungsoperation zu.
  • Auf ein Empfangen der Regel-Wiedergewinnungsanfrage von der Rückwärtsverkettungs-Inferenzmaschine 17 hin erzeugt der Wissens-Anfrageumsetzer 14 eine Datenbasis-Anfrage, die den Prädikat-Namen und den Feldnamen identifiziert, und überträgt die Datenbasis-Anfrage zum Datenbasis-Verwaltungsmodul 13 (Schritt 201). Das Datenbasis-Verwaltungsmodul 13 führt eine Suchoperation durch, die gleich jener ist, die oben in Verbindung mit Schritt 103 (Fig. 4A) beschrieben ist, um Rückwärtsverkettungsregeln im Regelteil 11 des Datenbasissystems 10 zu identifizieren, die ein Prädikat-Muster < PRÄD_MUSTER> auf der linken Seite aufweisen, das einen Prädikat-Namen PRÄD_NAME und wenigstens einen Feldnamen F_NAME hat, die jenen entsprechen, die in der Datenbasis-Anfrage gezeigt sind, und es antwortet mit den Records 50 und 51, die zu den Regeldefinitionen der identifizierten Rückwärtsverkettungsregeln gehören (Schritt 202). Nachdem das Datenbasis-Verwaltungsmodul 13 mit den Records 51 geantwortet hat (Schritt 204), bildet der Wissens-Anfrageumsetzer 14 die Regeln im Rückwärtsverkettungsregel-Speicherbereich 19 zusammen mit Verbindungslisten für die Variablen im Prädikat-Muster < PRÄD_MUSTER> auf der linken Seite (d.h. dem Ziel) (Schritt 203).
  • Nachdem der Wissens-Anfrageumsetzer die Rückwärtsverkettungsregeln im Rückwärtsverkettungsregel-Speicherbereich 19 gebildet hat und die Verbindungslisten geliefert hat, erzeugt die Rückwärtsverkettungs-Inferenzmaschine 17 eine Regelinstanz für jeden Eintrag in der zur Regel gehörenden Verbindungsliste und breitet die variablen Werte im Eintrag durch die zugehörige Regelinstanz aus (Schritt 206). Die Rückwärtsverkettungsregel-Maschine baut dann eine Verarbeitungsliste der Regelinstanzen in irgendeiner praktischen Reihenfolge auf (Schritt 207). Die Verarbeitungsliste kann beispielsweise zuerst die Regeln auflisten, die auf der rechten Seite nur < DATENÜBERTRAGUNGSBLOCK_MUSTER> und keine Prädikat-Muster < PRÄD_MUSTER> haben, da jene Regeln keine Unterziele haben und am leichtesten verarbeitet werden können.
  • Die Rückwärtsverkettungs-Inferenzmaschine 17 initiiert dann eine Verarbeitung der ersten Regelinstanz in der Verarbeitungsliste (Schritt 210). Die Rückwärtsverkettungs-Inferenzmaschine 17 initiiert eine Datenübertragungsblockmuster- Anpassungsoperation in Verbindung mit den < DATENÜBERTRAGUNGSBLOCK_ MUSTER> n der ausgewählten Regelinstanz (Schritt 212). Die durch die Rückwärtsverkettungs-Inferenzmaschine 17 inituerten Anpassungsoperationen sind gleich den Operationen, die oben in Verbindung mit den Fig. 4D bis 4F beschrieben sind. Wenn die Rückwärtsverkettungs-Inferenzmaschine 17 bestimmt, daß die Anpassungsoperation nicht erfolgreich war, d.h. wenn sie bestimmt, daß für wenigstens ein < DATENÜBERTRAGUNGSBLOCK_MUSTER> die Fakten im Faktenteil 12 des Datenbasissystems 10 das < DATENÜBERTRAGUNGSBLOCK_MUSTER> nicht erfüllen, springt die Rückwärtsverkettungs-Inferenzmaschine 17 zum Schritt 211 zurück, um irgendwelche zusätzlichen Regel instanzen in der Verarbeitungsliste zu verarbeiten (Schritt 215). Wenn alle Regeln in der Verarbeitungsliste verarbeitet worden sind, tritt die Rückwärtsverkettungs-Inferenzmaschine aus.
  • Wenn die Rückwärtsverkettungs-Inferenzmaschine 17 im Schritt 213 jedoch bestimmt, daß die Anpassungsoperationen in Verbindung mit allen < DATENÜBERTRAGUNGSBLOCK_MUSTER> n der Regelinstanzen erfüllt sind, geht sie weiter zum Schritt 216, um zu bestimmen, ob die Regelinstanz ein Prädikat-Muster < PRÄD_MUSTER> auf der rechten Seite enthält. Wenn es nicht so ist, zeigt dies an, daß die Regelinstanz erfüllt ist (Schritt 217), wodurch angezeigt wird, daß das Ziel auf jener Ebene erfolgreich war. Die Rückwärtsverkettungs- Inferenzmaschine 17 bringt eine Anzeige darüber zurück, daß das Ziel erfüllt worden ist, was ihr dann, wenn das Ziel ein Ziel auf oberster Ebene war, ermöglichen kann, eine Erfolgsanzeige zur Bedienerschnittstelle 15 zu senden, oder dann, wenn das Ziel kein Ziel auf oberster Ebene war, ihr ermöglichen kann, zur nächsthöheren Ebene zurückzuspringen, um das nächste Prädikat-Muster < PRAD_MUSTER> für die Regel auf jener Ebene zu verarbeiten.
  • Wie es oben angegeben ist, besteht ein Vorteil des in den Fig. 1 bis 5C gezeigten Systems darin, daß, da die Regeln mit sowohl den Vorwärtsverkettungsregeln als auch den Rückwärtsverkettungsregeln im Datenbasissystem 10 gespeichert sind, wenn das Datenbasissystem 10, wie es normal ist, unter einer Anzahl von Bedienern aufgeteilt werden kann, auch die Regeln unter einer Anzahl von Bedienern aufgeteilt werden können. Zusätzlich stellen typische Datenbasis- Verwaltungssysteme umfangreiche Möglichkeiten zum Auflösen einer Kollision von Zugriffsanfragen und zum Ermöglichen einer Entdeckung von Fehlern zur Verfügung, was bei typischen Expertensystemen nicht zur Verfügung steht. Weiterhin müssen die Speicherbereiche, da die Vorwärts- und Rückwärtsverkettungsregeln, die in die jeweiligen Speicherbereiche 18 und 19 bewegt werden, nur diejenigen sind, die möglicherweise feuern, nicht ausreichend groß sein, um alle Vorwärtsverkettungs- bzw. Rückwärtsverkettungsregeln speichern zu können. Da die Regelspeicherbereiche typischerweise in den virtuellen Speichern der jeweiligen Inferenzmaschinen 16 und 17 sind, müssen die virtuellen Speicher nur dafür groß genug sein, die Regeln zu speichern, die möglicherweise feuern, wie es durch den Wissens-Anfrageumsetzer 14 bestimmt wird.

Claims (40)

1. Datenverarbeitungsgerät, das folgendes aufweist:
A. ein Datenbasissystem (10) einschließlich einer Vielzahl von Datensätzen zum Speichern von Fakten (12) und Regeln (11), wobei jede der Regeln Informationen enthält, die ausgewertet werden, wenn eine Inferenzoperation in Verbindung mit der Regel durchgeführt wird, wobei die Informationen in wenigstens einem Feld eines Datensatzes gespeichert sind, in dem die Regel gespeichert ist, wobei auf das Datenbasissystem durch eine Vielzahl von Bedienern zugegriffen werden kann, wodurch jedem Bediener erlaubt wird, zu veranlassen, daß die Fakten und Regeln aus dem Datenbasissystem wiedergewonnen werden, wobei das Datenbasissystem eine Einrichtung zum Verwalten eines Zugriffs auf das Datenbasissystem enthält, um konkurrierende Anfragen von den Bedienern nach einem Zugriff zu den Regeln aufzulösen;
B. einen Wissensanfrageumsetzer (14), der auf Regel- Wiedergewinnungsanfragen zum Erzeugen von Datenbasisanfragen antwortet, um die Wiedergewinnung von Regeln aus dem Datenbasissystem zu ermöglichen, wobei jede Regel-Wiedergewinnungsanfrage auf Regelauswahlkriterien basiert, die in der Regel-Wiedergewinnungsanfrage enthalten sind, wobei jede der Datenbasisanfragen eine Wiedergewinnung einer Regel veranlaßt, wenn die Informationen, die in einem Feld des Datensatzes gespeichert sind, in dem die Regel gespeichert ist, Informationen entsprechen, die in den Regelauswahlkriterien der Regel-Wiedergewinnungsanfrage gefunden werden, aus der die Datenbasisanfrage erzeugt wurde; und
C. ein Inferenzsystem (16,17), das auf Befehle von jedem der Bediener antwortet, zum Erzeugen der Regel-Wiedergewinnungsanfragen, einschließlich der Regelauswahlkriterien, und zum Durchführen von Inferenzoperationen in Verbindung mit Regeln, die aus dem Datenbasissystem (10) durch den Wissensanfrageumsetzer (40) wiedergewonnen werden, wobei das Inferenzsystem die Wiedergewinnung von Fakten aus dem Datenbasissystem zur Verwendung bei den Inferenzoperationen ermöglicht.
2. Gerät nach Anspruch 1, wobei das Inferenzsystem einen Regelspeicherungsbereich (18,19) zum Speichern von Regeln und eine Inferenzmaschine (16, 17) enthält, wobei die Inferenzmaschine Regel Wiedergewinnungsanfragen erzeugt und Inferenzoperationen in Verbindung mit im Regelspeicherungsbereich gespeicherten Regeln durchführt, wobei der Wissensanfrageumsetzer in Antwort auf Regel- Wiedergewinnungsanfragen wiedergewonnene Regeln im Regelspeicherungsbereich speichert.
3. Gerät nach Anspruch 1, wobei das Inferenzsystem folgendes enthält:
A. einen Regel-Wiedergewinnungsanfragetei 1, der Regel- Wiedergewinnungsanfragen erzeugt, von denen jede die Regelauswahlkriterien enthält; und
B. einen Regel-Verarbeitungsteil, der Inferenzoperationen in Verbindung mit den durch den Wissensanfrageumsetzer in Antwort auf die Regel- Wiedergewinnungsanfrage wiedergewonnenen Regeln durchführt.
4. Gerät nach Anspruch 3, wobei die in der Regel enthaltenen Informationen wenigstens eine Relations-Operation in Verbindung mit einem Fakt in dem Datenbasissystem und einem Wertausdruck in der Regel identifizieren, wobei der Regel-Verarbeitungsteil folgendes enthält:
A. einen Konstanten-Verarbeitungsteil zum Verarbeiten von Regeln, deren Wertausdrücke konstante Werte sind, in Verbindung mit Fakten in dem Datenbasissystem, um eine logische Schlußfolgerung zu identifizieren;
B. einen Variablen-Verarbeitungsteil zum Verarbeiten von Regeln, deren Wertausdrücke variable Werte sind, in Verbindung mit Fakten in dem Datenbasissystem, um eine Verbindungsliste zu erzeugen, um die Werte der variablen Wertausdrücke zu identifizieren, die eine ausgewählte logische Schlußfolgerung schaffen; und
C. einen Steuerteil zum Steuern der Operation des Konstanten- Verarbeitungsteils und des Variablen-Verarbeitungsteils.
5. Gerät nach Anspruch 4, wobei der Steuerteil zuerst dem Konstanten- Verarbeitungsteil ermöglicht, Regeln zu verarbeiten, deren sämtliche Wertausdrücke konstante Werte sind, und nachfolgend dem Variablen- Verarbeitungstei 1 und dem Konstanten-Verarbeitungsteil ermöglicht, Regeln zu verarbeiten, von denen wenigestens ein Wertausdruck ein variabler Wert ist.
6. Gerät nach Anspruch 4, wobei:
A. der Konstanten-Verarbeitungsteil in Abhängigkeit von einer Regel eine Konstantenmuster-Übereinstimmungsanfrage erzeugt;
B. der Wissensanfrageumsetzer (14) in Abhängigkeit von der Konstantenmuster-Übereinstimmungsanfrage eine Datenbasisuntersuchung erzeugt, wobei die Datenbasisuntersuchung die Regel identifiziert; und
C. das Datenbasissystem (10) eine Existenzoperation in Verbindung mit der Regel durchführt.
7. Gerät nach Anspruch 6, wobei eine Regel eine Relation durch einen Klassennamen und einen Wert identifiziert, wobei das Datenbasissystem die Existenz-operation durch Bestimmen durchführt, ob eine Relation existiert, die durch den Klassennamen identifiziert ist und die den Wert enthält.
8. Gerät nach Anspruch 7, wobei die Regel weiterhin einen zu dem Wert gehörenden Schlitznamen identifiziert, wobei das Datenbasissystem die Existenzoperation weiterhin durch Bestimmen durchführt, ob eine Relation existiert, die durch den Klassennamen und den Schlitznamen identifiziert ist und die den Wert enthält.
9. Gerät nach Anspruch 4, wobei:
A. der Variablen-Verarbeitungsteil in Abhängigkeit von einer Regel eine Variablenmuster-Übereinstimmungsanfrage erzeugt;
B. der Wissensanfrageumsetzer in Abhängigkeit von der Variablenmuster-Übereinstimmungsanfrage eine Datenbasisuntersuchung erzeugt, wobei die Datenbasisuntersuchung die Regel identifiziert; und
C. das Datenbasissystem eine Verbindungslisten- Erzeugungsoperation in Verbindung mit der Regel durchführt, um Variablenwerte zu identifizieren.
10. Gerät nach Anspruch 9, wobei eine Regel eine Relation durch einen Klassennamen und einen Wert identifiziert, wobei die Datenbasis die Verbindungsl isten-Erzeugungsoperation durch Identifizieren ausgewählter Werte durchführt, die zu einer Relation gehören, die durch den Klassennamen identifiziert ist.
11. Gerät nach Anspruch 10, wobei die Regel weiterhin einen zu dem Wert gehörenden Schlitznamen identifiziert, wobei das Datenbasissystem weiterhin die Verbindungsl isten-Erzeugungsoperation durch Identifizieren ausgewählter Werte durchführt, die zu einer Relation gehören, die durch den Klassennamen und den Schlitznamen identifiziert ist.
12. Gerät nach Anspruch 1, wobei das Inferenzsystem (16,17) in Antwort auf durch die Regeln bestimmte Befehle arbeitet.
13. Gerät nach Anspruch 12, wobei die in jeder der Regeln enthaltenen Informationen einen Klassennamen aufweisen, wobei die Regel weiterhin einen Erneuerungsbefehl enthält, der ermöglicht, daß einen gegebenen Klassennamen enthaltende Informationen erneuert werden, wobei das Inferenzsystem (16) eine Regel-Wiedergewinnungsanfrage erzeugt, die den gegebenen Klassennamen in den Regelauswahlkriterien enthält, um dem Wissensanfrageumsetzer zu ermöglichen, in Folge eine Datenbasisanfrage zu erzeugen, um eine Wiedergewinnung von Regeln aus dem Datenbasissystem zu ermöglichen, das den gegebenen Klassennamen enthält.
14. Gerät nach Anspruch 13, wobei die in jeder der Regeln (11) enthaltenen Informationen in einer Vielzahl von Datensätzen (31) gespeichert ist, wobei jeder Datensatz ein Klassennamenfeld (36) enthält, wobei das Datenbasissystem in Antwort auf eine Datenbasisanfrage Datensätze wiedergewinnt, deren Klassennamenfeld-Inhalte dem Klassennamen in den Regelauswahlkriterien der Regel-Wiedergewinnungsanfrage entsprechen.
15. Gerät nach Anspruch 13, wobei wenigstens einige der Regeln Informationen enthalten, die weiterhin einen Schlitznamen aufweisen, wobei die durch das Inferenzsystem erzeugte Regel-Wiedergewinnungsanfrage weiterhin den Schlitznamen in den Regelauswahlkriterien identifiziert, was dem Wissensanfrageumsetzer ermöglicht, in Folge eine Datenbasisanfrage zu erzeugen, um eine Wiedergewinnung von Regeln aus dem Datenbasissystem zu ermöglichen, das den Klassennamen und den Schlitznamen enthält.
16. Gerät nach Anspruch 15, wobei die in jeder der Regeln enthaltenen Informationen in einer Vielzahl von Datensätzen (31) gespeichert sind, von denen jeder ein Klassennamenfeld (36) enthält und von denen wenigstens einige ein Schlitznamenfeld (37) enthalten, wobei das Datenbasissystem in Antwort auf eine Datenbasisanfrage Datensätze wiedergewinnt, deren Klassennamenfeld-Inhalte dem Klassennamen und dem Schlitznamen in den Regelauswahlkriterien der Regel-Wiedergewinnungsanfrage entsprechen.
17. Gerät nach Anspruch 12, wobei die in jeder der Regeln enthaltenen Informationen einen Klassennamen aufweisen und einen Erzeugungsbefehl enthalten, der ermöglicht, daß einen gegebenen Klassennamen enthaltende Informationen erzeugt werden, wobei das Inferenzsystem (16) eine Regel- Wiedergewinnungsanfrage erzeugt, die den gegebenen Klassennamen in den Regelauswahlkriterien identifiziert, um dem Wissensanfrageumsetzer zu ermöglichen, in Folge eine Datenbasisanfrage zu erzeugen, um eine Wiedergewinnung von Regeln aus dem Datenbasissystem zu ermöglichen, das den gegebenen Klassennamen enthält.
18. Gerät nach Anspruch 17, wobei die in den Regeln (11) enthaltenen Informationen in einer Vielzahl von Datensätzen (31) gespeichert sind, von denen jeder ein Klassennamenfeld enthält, wobei das Datenbasissystem in Antwort auf eine Datenbasisanfrage Datensätze (31) wiedergewinnt, deren Klassennamenfeld-(36)-Inhalte dem Klassennamen in den Regelauswahlkriterien der Regel-Wiedergewinnungsanfrage entsprechen.
19. Gerät nach Anspruch 17, wobei wenigstens einige der in den Regeln enthaltenen Informationen weiterhin einen Schlitznamen enthalten, wobei die durch das Inferenzsystem (16) erzeugte Regel-Wiedergewinnungsanfrage weiterhin den Schlitznamen in den Regelauswahlkriterien identifiziert, was dem Wissensanfrageumsetzer ermöglicht, in Folge eine Datenbasisanfrage zu erzeugen, um eine Wiedergewinnung von Regeln aus dem Datenbasissystem zu ermöglichen, das den Klassennamen und den Schlitznamen enthält.
20. Gerät nach Anspruch 19, wobei die in der Regel enthaltene Informationen in einer Vielzahl von Datensätzen (31) gespeichert sind, von denen jeder ein Klassennamenfeld (36) entält und von denen wenigstens einige ein Schlitznamenfeld (37) enthalten, wobei das Datenbasissystem in Antwort auf eine
Datenbasisanfrage Datensätze wiedergewinnt, deren Klassennamenfeld- Inhalte dem Klassennamen in den Regelauswahlkriterien der Regel- Wiedergewinnungsanfrage und dem Schlitznamen in der Regel- Wiedergewinnungsanfrage entsprechen.
21. Gerät nach Anspruch 12, wobei die in den Regeln enthaltenen Informationen einen Klassennamen aufweisen und einen Löschbefehl enthalten, der ermöglicht, daß einen gegebenen Klassennamen enthaltende Informationen gelöscht werden, wobei das Inferenzsystem eine Regel- Wiedergewinnungsanfrage erzeugt, die den gegebenen Klassennamen in den Regel-Wiedergewinnungskriterien identifiziert, um dem Wissensanfrageumsetzer zu ermöglichen, in Folge eine Datenbasisanfrage zu erzeugen, um eine Wiedergewinnung von Regeln aus dem Datenbasissystem zu ermöglichen, das den gegebenen Klassennamen enthält.
22. Gerät nach Anspruch 21, wobei die in der Regel enthaltenen Informationen in einer Vielzahl von Datensätzen (31) gespeichert sind, von den jeder ein Klassennamenfeld (36) und ein negiertes Flag (43) enthält, wobei das Datenbasissystem in Antwort auf eine Datenbasisanfrage Datensätze wiedergewinnt, deren Klassennamenfeld-lnhalte dem Klassennamen entsprechen, der in den Regelauswahlkriterien in der Regel-Wiedergewinnungsanfrage enthalten ist, und deren negierte Flags gesetzt sind.
23. Gerät nach Anspruch 21, wobei die in der Regel enthaltenen Informationen einen Schlitznamen aufweist, wobei die durch das Inferenzsystem erzeugte Regel-Wiedergewinnungsanfrage weiterhin den Schlitznamen in den Regelauswahlkriterien identifiziert was dem Wissensanfrageumsetzer ermöglicht, in Folge eine Datenbasisanfrage zu erzeugen, um eine Wiedergewinnung von Regeln aus dem Datenbasissystem zu ermöglichen, das den Klassennamen und den Schlitznamen enthält.
24. Gerät nach Anspruch 23, wobei die in der Regel enthaltenen Informationen in einer Vielzahl von Datensätzen (31) gespeichert sind, von denen jeder ein Klassennamenfeld (36) enthält und von denen wenigstens enige ein Schlitznamenfeld (37) enthalten, wobei das Datenbasissystem in Antwort auf eine Datenbasisanfrage Datensätze wiedergewinnt, deren Klassennamenfeld- Inhalte dem Klassennamen und dem Schlitznamen in den Regelauswahlkriterien der Regel-Wiedergewinnungsanfrage entsprechen.
25. Gerät nach Anspruch 12, wobei die Regeln Rückwärts-Verkettungsregein enthalten, die Informationen mit einem Klassennamen aufweisen, wobei die Regeln weiterhin einen Rückwärts-Verkettungsbefehl aufweisen, wobei das Inferenzsystem eine Regel-Wiedergewinnungsanfrage erzeugt, die den Klassennamen in den Regelauswahlkriterien enthält, um dem Wissensanfrageumsetzer zu ermöglichen, in Folge eine Datenbasisanfrage zu erzeugen, um eine Wiedergewinnung von Rückwärts-Verkettungsregeln aus dem Datenbasissystem zu ermöglichen, das den Klassennamen enthält.
26. Gerät nach Anspruch 25, wobei die in den Regeln enthaltenen Informationen in einer Vielzahl von Datensätzen (51) gespeichert sind, von denen jeder ein Klassennamenfeld (56) enthält, wobei das Datenbasissystem in Antwort auf eine Datenbasisanfrage Datensätze wiedergewinnt, deren Klassennamenfeld-Inhalte dem Klassennamen in den Regelauswahlkriterien der Regel- Wiedergewinnungsanfrage entsprechen.
27. Gerät nach Anspruch 25, wobei die in der Regel enthaltenen Informationen weiterhin einen Schlitznamen aufweist, wobei die durch das Inferenzsystem (16) erzeugte Regel-Wiedergewinnungsanfrage weiterhin den Schi itznamen in den Regelauswahlkriterien identifiziert, was dem Wissensanfrageumsetzer ermöglicht, in Folge eine Datenbasisanfrage zu erzeugen, um eine Wiedergewinnung von Rückwärts-Verkettungsregeln aus dem Datenbasissystem zu ermöglichen, das den Klassennamen und den Schlitznamen enthält.
28. Gerät nach Anspruch 27, wobei die Regeln Rückwärts-Verkettungsregeln enthalten, die Informationen enthalten, die in einer Vielzahl von Datensätzen (51) gespeichert sind, von denen jeder ein Klassennamenfeld (56) enthält und von denen wenigstens einige ein Schlitznamenfeld (57) enthalten, wobei das Datenbasissystem in Antwort auf eine Datenbasisanfrage Datensätze wiedergewinnt, deren Klassennamenfeld-lnhalte dem Klassennamen und dem Schlitznamen in den Regelauswahlkriterien der Regel- Wiedergewinnungsanfrage entsprechen.
29. Gerät nach Anspruch 1, wobei die in jeder Regel enthaltenen Informationen einen zugehörigen Namen, eine Relations-Operation und einen Wertausdruck enthalten, wobei jede Regel-Wiedergewinnungsanfrage als Regelauswahlkritenum weiterhin einen Namen enthält, wobei der Wissensanfrageumsetzer (14) die Wiedergewinnung aus dem Datenbasissystem von Regeln (11) mit Informationen ermöglicht, die einen Namen enthalten, der dem bei der Regel-Wiedergewinnungsanfrage enthaltenen Namen entspricht.
30. Gerät nach Anspruch 29, wobei der in den Informationen enthaltene Name einen größeren Teil und einen kleineren Teil aufweist, wobei jede Regel- Wiedergewinnungsanfrage als Auswahlkritenum einen Namen mit einem größeren Teil und einem kleineren Teil enthält, wobei der Wissensanfrageumsetzer (14) eine Regel-Wiedergewinnung unter Verwendung sowohl des größeren Teils als auch des kleineren Teils des Namens ermöglicht.
31. Gerät nach Anspruch 29, wobei das Datenbasissystem folgendes enthält:
A. einen Regelspeicherungsteil (11), der eine Vielzahl von Datensätzen (31, 51) enthält, von denen jeder zum Speichern der in der Regel enthaltenen Informationen vorgesehen ist, wobei der Datensatz ein Namenfeld (36, 37, 56, 57) zum Speichern eines Namens enthält, und
B. einen Datenbasis-Verwaltungsteil zum Wiedergewinen der Inhalte des Regelspeicherungsteus in Antwort auf Datenbasisanfragen vom Wissensanfrageumsetzer, die jeweils einen Namen in den Regelauswahlkriterien enthalten, wobei der Datenbasis-Verwaltungsteil Datensätze aus dem Regeispeicherungsteil wiedergewinnt, deren Namenfeld-lnhalte dem Namen in den Datenbasisanfragen entsprechen.
32. Gerät nach Anspruch 31, wobei jeder Datensatz (31, 51) weiterhin ein Regelidentifikationsfeld (32, 52) zum Speichern der Identifikation einer Regel enthält, wobei der Wissensanfrageumsetzer (14) dem Datenbasis- Verwaltungsteil (13) ermöglicht, in Antwort auf eine Datenbasisanfrage alle Datensätze wiederzugewinnen, die auf die Regel bezogen sind, die durch die Inhalte des Datensatzes identifiziert sind, der den in Antwort auf die Datenbasisanfrage wiedergewonnen Namen enthält.
33. Gerät nach Anspruch 32, wobei der Datensatz (31, 51) weiterhin ein die Informationsfolge in der Regel identifizierendes Ablauffolgen-Identifikationsfeld (34, 54) enthält, wobei der Wissensanfrageumsetzer (14) einen Regelzuordnungsteil enthält zum Zuordnen einer Regel in der im Ablauffolgen-Identifikationsfeld identifizierten Reihenfolge in Antwort auf den Empfang der Datensätze, die sich auf die Regel beziehen, damit die zugeordnete Regel darauffolgend durch das Inferenzsystem in Verbindung mit einer Inferenzoperation zu verwenden ist.
34. Gerät nach Anspruch 1, das weiterhin einen virtuellen Regelspeicher (18,19) aufweist, wobei der Wissensanfrageumsetzer (14) die wiedergewonnenen Regeln im virtuellen Regelspeicher speichert, und wobei das Inferenzsystem die Inferenzoperation in Verbindung mit den im virtuellen Regeispeicher gespeicherten Regeln durchführt.
35. Gerät nach Anspruch 34, wobei die in jeder der Regeln gespeicherten Informationen einen zugehörigen Namen, eine Relations-Operation und einen Wertausdruck enthalten, wobei jede Regel-Wiedergewinnungsanfrage als Regelauswahlkritenum weiterhin einen Namen enthält, wobei der Regelwiedergewinnungsschritt den Schritt zum Bestimmen enthält, ob eine Regel einen Namen enthält, der dem in der Regel-Wiedergwinnungsanfrage enthaltenen Namen entspricht.
36. Gerät nach Anspruch 35, wobei der zur Information gehörende Name einen größeren Teil und einen kleineren Teil aufweist, und wobei jede Regel- Wiedergewinnungsanfrage als Regelauswahlkritenum einen Namen enthält, der einen größeren Teil und einen kleineren Teil aufweist, wobei der Regel- Wiedergewinnungsschritt die Schritte zum Bestimmen enthält, ob eine Regel Information enthält, die einen größeren Teil enthält, der dem größeren Teil der Auswahlkriterien entspricht, und ob das Regel-Wertausdruck-Element einen kleineren Teil enthält, der dem kleineren Teil der Auswahlkriterien entspricht.
37. Gerät nach Anspruch 35, wobei das Datenbasissystem folgendes enthält:
(i) einen Regelspeicherungsteil, der eine Vielzahl von Datensätzen (31, 51) enthält, von den jeder zum Speichern von in einer Regel enthaltenen Informationen vorgesehen ist, wobei der Datensatz ein Namenfeld (36, 37, 56, 57) zum Speichern eines Namens und ein Regel-Identifikationsfeld (32, 52) zum Speichern der Identifikation einer Regel enthält, und
(ii) einen Datenbasis-Verwaltungsteil (13) zum Wiedergewinnen der Inhalte des Regelspeicherungsteus (11) in Antwort auf Datenbasisanfragen von dem Wissensanfrageumsetzer (14), die jeweils einen Namen in den Regelauswahlkriterien enthalten, wobei der Datenbasis-Verwaltungstei 1 Datensätze aus dem Regeispeicherungsteil wiedergewinnt, deren Namenfeld- Inhalte dem Namen in den Datenbasisanfragen entsprechen, wobei der Regel-Wiedergewinnungsschritt den Schritt zum Wiedergewinnen aller Datensätze in Antwort auf eine Datenbasisanfrage enthält, die sich auf die Regel beziehen, die durch die Inhalte des Datensatzes identifiziert ist, der den in Antwort auf die Datenbasisanfrage wiedergewonnenen Namen enthält.
38. Gerät nach Anspruch 37, wobei der Datensatz weiterhin ein die Informationsfolge in der Regel identifizierendes Ablauffolgen-Identifikationsfeld (34, 54) enthält, wobei der Regel-Wiedergewinnungsschritt den Schritt zum Zuordnen einer Regel enthält, der die Inhalte des Ablauffolgen-Identifikationsfeldes der wiedergewonnenen Datensätze in Antwort auf den Empfang der sich auf die Regel beziehenden Datensätze verwendet.
39. Verfahren, das folgende Schritte aufweist:
A. Unterhalten eines Datenbasissystems mit einer Vielzahl von Datensätzen (31, 51) zum Speichern von Fakten (12) und Regeln (11), wobei jede der Regeln Informationen enthält, die ausgewertet werden, wenn eine Inferenzoperation in Verbindung mit der Regel durchgeführt wird, wobei die Informationen in wenigstens einem Feld in einem Datensatz gespeichert sind, in dem die Regel gespeichert ist;
B. Zulassen, daß jeder einer Vielzahl von Bedienern auf das Datenbasissystem zugreift, um zu veranlassen, daß die Fakten und die Regeln daraus wiedergewonnen werden, und Verwalten eines Zugriffs auf das Datenbasissystem, um konkurrierende Anfragen von den Bedienern nach einem Zugriff zu den Regeln aufzulösen
C. Erzeugen einer Regel-Wiedergewinnungsanfrage, die Regelauswahlkriterien enthält, in Antwort auf Befehle von jedem der Bediener;
D. Wiedergewinnen einer Regel aus dem Datenbasissystem in Antwort auf die Regelauswahlkriterien, wenn die Informationen, die in einem Feld des Datensatzes gespeichert sind, in dem die Regel gespeichert ist, Informationen entsprechen, die in den Regelauswahlkriterien der Regel- Wiedergewinnungsanfrage gefunden werden; und
E. Durchführen einer Inferenzoperation in Verbindung mit in Antwort auf die Regelauswahlkriterien wiedergewonnenen Regeln und in Verbindung mit Fakten aus dem Datenbasissystem.
40. Verfahren nach Anspruch 39, wobei die in jeder der Regeln enthaltenen Informationen ein Regelelement enthalten, das wenigstens eine Relations- Operation in Verbindung mit einem Fakt in dem Datenbasissystem und einem Wertausdruck in der Regel identifiziert, wobei der Inferenzoperations- Durchführungsschritt folgende Schritte enthält:
A. Verarbeiten von Regelelementen der Regeln, bei denen alle Regelelemente Wertausdrücke enthalten, die konstante Werte sind, in Verbindung mit Fakten in dem Datenbasissystem, um eine logische Schlußfolgerung zu identifizieren;
B. Verarbeiten von Regelelementen, die Wertausdrücke enthalten, die variable Werte enthalten, von Regeln, die Regelelemente enthalten, deren Wertausdrücke variable Werte enthalten, in Verbindung mit Fakten in dem Datenbasissystem, um eine Verbindungsliste zu erzeugen, um die Werte der variablen Wertausdrücke zu identifizieren, was eine ausgewählte logische Schlußfolgerung schafft; und
C. Verarbeiten von Regelelementen, die Wertausdrücke enthalten, die konstante Werte enthalten, von Regeln, die Regelelemente enthalten, deren Wertausdrücke variable Werte enthalten, in Verbindung mit Fakten in dem Datenbasissystem, um die ausgewählte logische Schlußfolgerung zu schaffen.
DE68925109T 1988-06-30 1989-06-15 Inferenzsystem mit stabiler regel- und faktdatenbasis-speicherung Expired - Fee Related DE68925109T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US21354988A 1988-06-30 1988-06-30
PCT/US1989/002833 WO1990000279A1 (en) 1988-06-30 1989-06-15 Inference system using a stable storage rule and fact database

Publications (2)

Publication Number Publication Date
DE68925109D1 DE68925109D1 (de) 1996-01-25
DE68925109T2 true DE68925109T2 (de) 1996-08-22

Family

ID=22795527

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68925109T Expired - Fee Related DE68925109T2 (de) 1988-06-30 1989-06-15 Inferenzsystem mit stabiler regel- und faktdatenbasis-speicherung

Country Status (5)

Country Link
EP (1) EP0378660B1 (de)
JP (1) JPH02502768A (de)
AT (1) ATE131638T1 (de)
DE (1) DE68925109T2 (de)
WO (1) WO1990000279A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996334B2 (en) * 2011-03-02 2015-03-31 General Electric Company Method and system for analysis of turbomachinery

Also Published As

Publication number Publication date
EP0378660B1 (de) 1995-12-13
EP0378660A1 (de) 1990-07-25
DE68925109D1 (de) 1996-01-25
ATE131638T1 (de) 1995-12-15
WO1990000279A1 (en) 1990-01-11
JPH02502768A (ja) 1990-08-30

Similar Documents

Publication Publication Date Title
DE60022152T2 (de) Parallele optimierte Ereignisauslösung in parallelen Datenbanksystemen
US5136523A (en) System for automatically and transparently mapping rules and objects from a stable storage database management system within a forward chaining or backward chaining inference cycle
DE60208778T2 (de) Datenstruktur für informationssysteme
DE69130814T2 (de) Verfahren und Gerät zur Umwandlung von Maschinensprachprogrammstrukturen in Strukturen höherer Sprachen durch Manipulierung graphischer Programmdarstellungen
DE69533786T2 (de) Vorrichtung zum Erzeugen von objektorientierten Schnittstellen für relationale Datenbanken und von dieser Vorrichtung durchgeführtes Verfahren
DE69130766T2 (de) Intelligentes hilfssystem
DE60035432T2 (de) System zur verwaltung der rdbm fragmentierungen
DE69032389T2 (de) Prozess und Gerät zur Erhaltung der Datenintegrität einer Datenbank
DE69509118T2 (de) Implementierungsunabhängige erweiterbare abfragearchitektur für systeme zur informationswiederauffindung
DE68926849T2 (de) Struktur und Verfahren zur Anordnung rekursiv abgeleiteter Daten in einer Datenbank
DE69904588T2 (de) Datenbankzugangswerkzeug
DE10028688B4 (de) Methode, System und Programm für eine Verbindungsoperation in einer mehrspaltigen Tabelle sowie in Satellitentabellen mit doppelten Werten
DE3382808T2 (de) Datenbankzugriffsverfahren mit einem benutzerfreundlichen Menü
DE69802437T2 (de) Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen
DE3855212T2 (de) Verfahren zur Berechnung eines transitiven Abschlusses
DE69909452T2 (de) Eine datenbank, die nützlich ist, um ein system zu konfigurieren und/oder zu optimieren und ein verfahren, um diese datenbank zu generieren
DE69328164T2 (de) Systemverwaltungsverfahren und -vorrichtung.
DE4323947A1 (de) Informationswiedergewinnung in einem verteilten Datenbank-Managementsystem unter Verwendung einer synthetischen DBMS-Kalibrierung
CH658329A5 (de) Verfahren zur steuerung des daten-zugriffes in einer datenbank und apparat zu seiner durchfuehrung.
DE10255128A1 (de) Computer-implementierte PDF-Dokumentenverwaltung
DE10003015A1 (de) Die Erzeugung von Ereignis-Bedingungs-Aktions-Regeln aus Prozessmodellen
DE10040987B4 (de) Verfahren und Vorrichtung für übereinstimmende Aktualisierungen von redundanten Daten in relationalen Datenbanken
DE69232452T2 (de) Expertensystem mit einem Wissenserfassungsunterstützungssystem
DE69428144T2 (de) Menuabfragesystem
DE69128571T2 (de) Modulares Expertensystem und Verfahren zur Modularisierung einer Menge von Regeln eines Expertensystems

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee