DE3485999T2 - Hochgeschwindigkeitverarbeitungssystem fuer rechneranlage. - Google Patents

Hochgeschwindigkeitverarbeitungssystem fuer rechneranlage.

Info

Publication number
DE3485999T2
DE3485999T2 DE8484111496T DE3485999T DE3485999T2 DE 3485999 T2 DE3485999 T2 DE 3485999T2 DE 8484111496 T DE8484111496 T DE 8484111496T DE 3485999 T DE3485999 T DE 3485999T DE 3485999 T2 DE3485999 T2 DE 3485999T2
Authority
DE
Germany
Prior art keywords
rule
entry
property
rules
relationship
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
DE8484111496T
Other languages
English (en)
Other versions
DE3485999D1 (de
Inventor
Shoji Miyamoto
Makoto Nohmi
Setsuo Tsuruta
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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
Priority claimed from JP58177955A external-priority patent/JPH0616266B2/ja
Priority claimed from JP58177959A external-priority patent/JPH0616267B2/ja
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of DE3485999D1 publication Critical patent/DE3485999D1/de
Publication of DE3485999T2 publication Critical patent/DE3485999T2/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/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems

Landscapes

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

Description

  • Die Erfindung betrifft ein Hochgeschwindigkeitsverarbeitungssystem für ein Informationsverarbeitungssystem, das eine neue Tatsache und Hypothese aus Erfahrungs- und Naturgesetzen und aus Anfangstatsachen schlußfolgert (eine derartige Schlußfolgerung wird als "Erzeugung" bezeichnet), und sie betrifft insbesondere ein Hochgeschwindigkeitsverarbeitungssystem zur Verwendung in einem Computersystem für Schlußfolgerungen mit hoher Geschwindigkeit. Dieses Verarbeitungssystem wird vorzugsweise dann verwendet, wenn das Computersystem wegen des großen Umfangs oder des hohen Ausmaßes an Komplexität lange arbeiten muß oder wenn Echtzeitleistung erforderlich ist.
  • Um die Schlußfolgerung auf Grundlage von Regeln und Tatsachen auszuführen, bestimmt das oben genannte Erzeugungssystem Schlußfolgerungs-Ausführungsregeln dadurch, daß die Übereinstimmung zwischen allen Regeln und allen Tatsachen für jeden Schlußfolgerungszyklus erstellt wird, jedoch läßt sich dieses Erzeugungssystem in praxisbezogenen Maßstäben gesehen nicht wirkungsvoll nutzen, da die Zunahme an Regeln und Tatsachen einen steilen Anstieg der Schlußfolgerungszeit hervorruft.
  • Es wurde ein System eingeführt, das mit Kodierung von Regeln und Tatsachen und mit Indizierung arbeitet, um das steile Anwachsen der Schlußfolgerungszeit zu verhindern. Dieses System weist einen ausgezeichneten Wirkungsgrad und Anwendungsbereich auf, wenn es ein Entscheidungsnetz verwendet. Jedoch kann auch dieses ein Entscheidungsnetz verwendendes System bei einer praxisbezogenen Anwendung mit Echtzeitverarbeitung auf Schwierigkeiten stoßen, da das Entscheidungsnetz einen großen Overhead vorsieht. Der Overhead kann verhindernd groß werden, abhängig von Eigenschaften der Bedingungs-Einzelinformationen der Regeln.
  • Das folgende System wurde vorgeschlagen, das eine Art Filter ist: Die Regel wird von einem Zähler begleitet, dessen Anfangswert auf die Anzahl von Wenn-Einzelinformationen (als Bedingungseinzelinformationen bezeichnet) der Regel gesetzt wird; wenn der Zähler um Eins dekrementiert wird, wenn eine Tatsache ähnlich zu jeder Wenn-Einzelinformation dieser Regel in einem Arbeitsspeicher hinzugefügt wird, der ein Pool für Tatsachen ist, während der Zähler um Eins inkrementiert wird, wenn die oben genannte Tatsache entfernt wird; diese Regel wird als Mitglied möglicherweise ausführbarer Regeln hinzugefügt, wenn der Zählwert Null oder negativ wird; dann wird eine vollständigere Ausführungsüberprüfung ausgeführt. Dieses System weist jedoch geringen Wirkungsgrad auf. Dies aus den folgenden Gründen: Wenn dauernd Tatsachen hinzugefügt werden, die dem Fall entsprechen, daß die Werte der Variablen derselben Bedingungseinzelinformation voneinander unterschieden sind, läuft der oben genannte Zähler immer auf Null oder Minus, wodurch eine Regel, deren andere Wenn-Einzelinformationen von Tatsacheneigenschaften frei bleiben, dem Satz möglicherweise ausführbarer Regeln hinzugefügt werden; es tritt ein Verlust auf, wenn festgestellt wird, daß die Ausführungsbedingung nicht erfüllt ist, da alle möglichen Kombinationen von Variablen versucht werden. Auch können in diesem System nur ähnliche Wenn-Einzelinformationen gefunden werden, so ein nichtzufriedenstellendes Ergebnis dahingehend auftreten kann, daß eine die Ausführungsbedingung nicht erfüllende Regel zu den möglicherweise ausführbaren Regeln hinzugefügt wird, und es kann passieren, daß sogar eine die Ausführungsbedingung erfüllende Regel in verschiedenen Fällen aus den möglicherweise ausführbaren Regeln entfernt wird.
  • Ein Informationsverarbeitungsverfahren mit den Merkmalen des ersten Teils von Anspruch 1 und ein Informationsverarbeitungssystem mit den Merkmalen des ersten Teils von Anspruch 9 wurden von B. G. Buchanan et al. in "Principles of Rule- Based Expert Systems", Advances in Computers, Vol. 22 (1983), Seiten 164-216 beschrieben. Dieses Dokument offenbart, daß eine von einer Anzahl von "WENN-DANN-Regeln, dessen "WENN" -Teil erfüllt ist, als ausführbare Regel ausgewählt wird. Von R.D. Duda et al.: "A Computer-Based Consultant for Mineral Exploration", September 1979, Seite 147- 185, SRI, Standford, USA wird ein Schlußfolgerungsnetzwerk beschrieben, das Verbindungen zwischen den Regeln repräsentiert. Dieses Dokument offenbart jedoch keine Details zur Anordnung oder zum Betrieb des Schlußfolgerungsnetzwerks.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Informationsverarbeitungsverfahren und ein -system zum wirkungsvollen Auswählen möglicherweise ausführbarer Regeln anzugeben, das so ausgebildet ist, daß die Ausführungsgeschwindigkeit eines Erzeugungssystems oder eines anderen Computersystems auf einen Wert erhöht wird, der für praxisbezogene Anwendung ausreicht, und wobei eine steile Verringerung der Leistungsfähigkeit verhindert ist.
  • Diese Aufgabe wird durch das Verfahren und durch das System gelöst, wie sie in den Ansprüchen 1 bzw. 9 gekennzeichnet sind.
  • Die Erfindung ermöglicht anspruchsvolles Verarbeiten verstandesbezogener Information, und die Ausführungsgeschwindigkeit kann eine solche sein, daß sie an Echtzeiterfordernisse angepaßt ist.
  • Die Erfindung geht aus der folgenden detaillierten Beschreibung in Zusammenhang mit den beigefügten Zeichnungen näher hervor, in denen:
  • Fig. 1A die Softwarestruktur für ein Beispiel eines Systems zum Ausführen der Erfindung zeigt;
  • Fig. 1B eine Computerstruktur einschließlich erfindungsgemäßer Hardware zeigt;
  • Fig. 1C-1F Diagramme zum Erklären von Ausführungsbeispielen der Erfindung zeigen;
  • Fig. 2 eine Beziehungsnetzstruktur zeigt;
  • Fig. 3 die Datenstruktur einer Kodeliste zeigt;
  • Fig. 4 die Datenstruktur des gemeinsamen Teils des Beziehungsnetzes zeigt;
  • Fig. 5 eine Beziehungsfilterstruktur zeigt;
  • Fig. 6 ein Flußdiagramm zum Erzeugen des Beziehungsnetzes zeigt;
  • Fig. 7-10 Flußdiagramme zum Erzeugen des Beziehungsfilters zeigen;
  • Fig. 11-13 Flußdiagramme zum Füllen von Tatsachen zeigen; und
  • Fig. 14-23 Flußdiagramme für Schlußfolgerungs-Ausführungsverarbeitung zeigen.
  • Im folgenden wird ein Ausführungsbeispiel der Erfindung unter Bezugnahme auf die Fig. 1-15 erläutert.
  • Fig. 1 zeigt eine Softwaresystemstruktur zum Ausführen des erfindungsgemäßen Systems. Gemäß dieser Figur entnimmt ein Beziehungsnetz-Erzeugungsprozessor 100 einer Regeldatei 103 eine gewisse Regel, analysiert die Ausschlußbedingung der Regel und ihren Einfluß auf das Abschließen oder die logische Verknüpfung mit anderen Regeln, und er gibt das Ergebnis der Analyse als Beziehungsnetz 106 aus (dessen Tatsacheneigenschaft insgesamt leer ist, da es sich um den Zustand handelt, bevor Tatsachen eingefügt werden, insbesondere dann, wenn die Tatsacheneigenschaft des Beziehungsnetzes völlig leer ist). Der Beziehungsnetz-Erzeugungsprozessor 100 erzeugt auch ein Beziehungsfilter 105 für leistungsfähiges Einlagern einer Anfangstatsache in das Beziehungsnetz. Ein Anfangstatsachen-Einlagerungsprozessor 101 entnimmt einer Anfangstatsachendatei 104 eine Tatsache und fügt diese an der zugehörigen Stelle des Beziehungsnetzes 106 ein bzw. lagert sie dort ein. Ein Schlußfolgerungsausführungsprozessor 102 führt Schlußfolgerungen mit hoher Geschwindigkeit auf Grundlage des Beziehungsnetzes 106 aus und gibt ein Schlußfolgerungsergebnis 107 aus.
  • Fig. 1B zeigt ein Computersystem zum Realisieren des erfindungsgemäßen Systems. Wie aus der Figur erkennbar, ist folgendes vorhanden: in einer CPU 150 der Beziehungsnetz-Erzeugungsprozessor 100, der Anfangstatsachen-Einlagerungsprozessor 101, der Schlußfolgerungsausführungsprozessor 102 und das Beziehungsfilter 105 in Form eines Schlußfolgerungsprogramms 151 und das Beziehungsnetz 106 als Wissen für Schlußfolgerungen 152.
  • Die Regeln und Anfangstatsachen werden über eine Konsole/ Display 105 eingegeben (eine Tastatur oder eine Konsolenschreibmaschine kann verwendet werden). In einem tatsächlichen System können die Anfangstatsachen eine Zeitlang eingegeben werden. Ein Schlußfolgerungssteuerbefehl 160, wie zum Ausführen der Schlußfolgerung (oder zum Vorbereiten der Schlußfolgerung, z. B. durch Erzeugung eines Beziehungsnetzes 106) wird ebenfalls über das Konsolendisplay 153 eingegeben.
  • Das Ergebnis der Schlußfolgerung wird an einen Zeilendrucker 154 und eine Kathodenstrahlröhre CRT 155 oder eine Sekundärspeichervorrichtung 156, wie eine Diskette oder ein M/T, ausgegeben. Ein Schlußfolgerungssteuerbefehl 160 ermöglicht daß der Prozeß der Schlußfolgerung, wenn deren Ergebnis erzielt wird, zur Erläuterung ausgegeben wird.
  • Die Sekundärspeichervorrichtung 156 kann die Regeldatei 103, die Anfangstatsachendatei 104 und das Beziehungsnetz 106 speichern, die für Fehlerkorrektur, Voreditieren oder Vorverarbeitung verwendet werden können.
  • Fig. 1C zeigt ein Ausführungsbeispiel für Regelzusammensetzung beim obigen Erzeugungssystem. In dieser Figur zeigt > F an, daß F eine Variable ist, während Zeichen, denen kein > vorausgeht, Konstanten sind. F bezeichnet weiblich, M männlich und P eine Person. Weiterhin bezeichnet "rm" in einer Ausführungs-Einzelinformation (Dann-Einzelinformation) eine solche Einzelinformation, die zu entfernen ist, während "ad" eine hinzuzufügende Einzelinformation kennzeichnet.
  • Die Annahme, daß Anfangstatsachen solche sind, ergibt ein Netzwerk für Ausführungsbeziehungen, d. h. ein Beziehungsnetz vor dem Einlagern von Anfangstatsachen, wie z. B. in Fig. 1E dargestellt. In Fig. 1E bedeuten horizontale Linien, die mit einer Regelnummer Ri versehen sind, daß ihr oberer und unterer Teil den Wenn-Teilen und Dann-Teilen der zugehörigen Regel entsprechen, wie in Fig. 1C dargestellt. Kleine Kreise unterhalb der horizontalen Linie bedeuten, daß große Kreise, auf die durch Pfeile gezeigt wird, die von den kleinen Kreisen ausgehen, zu entfernende Einzelinformationen sind.
  • Fig. 1F zeigt den Zustand, gemäß dem Tatsachen von Fig. 1D in Fig. 1E eingelagert sind. In Fig. 1F bezeichnen von durchgehenden Linien berandete Ellipsen bereits eingegebene Tatsachen, und gestrichelt umrandete Ellipsen bezeichnen Zustände, wenn neue Anfangstatsachen (Kate kommt aus Paris) hinzugefügt werden. Weiterhin repräsentieren in Fig. 1 Kreise, die Ellipsen umrunden, eine Regel-Einzelinformation, und Einzelinformationen, die mit gestrichelten Linien verbunden sind, bezeichnen einander zugeordnete Einzelinformationen.
  • Fig. 2 zeigt die Datenstruktur des Beziehungsnetzes 106 zum Ausführen leistungsfähiger Schlußfolgerungen.
  • In dieser Figur bezeichnet 200 eine Regelliste. Ihre Elemente sind Regeln 210, die jeweils kodiert sind und aus einem Wenn-Teil (Bedingungsteil) 211 und einem Ausführungsteil oder Dann-Teil 212 (im folgenden als Ausführungsteil bezeichnet) bestehen. Jede Einzelinformation, wie sie jeweils im Wenn-Teil und im Ausführungsteil vorhanden ist, ist ebenfalls kodiert. Der Wenn-Teil besteht aus Wenn-Einzelinformationen 213, und der Ausführungsteil besteht aus Ausführungseinzelinformationen 215-217. Die Ausführungseinzelinformationen sind in zu entfernende Einzelinformationen 215, hinzuzufügende Einzelinformationen 216, abzuschließende Einzelinformationen 217 usw. unterteilt. Jede vorstehend beschriebene Einzelinformation 220 besteht aus einem Einzelinformationskode 221, einer Regelbeziehungseigenschaft 222 mit einer Liste 250 von Beziehungsregeln 251 als Wert, wobei jede Beziehungsregel Einzelinformationen in ihrem Wenn-Teil enthält, Einzelinformations-Beziehungseigenschaft 223 mit einer Beziehungseinzelinformationsliste 224, die denselben Typ von Einzelinformationen (Beziehungseinzelinformationen 245) als Wert hat, eine Gemeinschaftsteil-Eigenschaft 224 mit einem Gemeinschaftswert 230 unter den Beziehungseinzelinformationen als Wert, einer Ortsteileigenschaft 225 mit einem lokalen Teil (lokale Struktur 240, die aus lokalen Elementen 243 besteht) als Wert, Tatsacheneigenschaft 226, die anzeigt, ob die Einzelinformation eine bekannte Tatsache ist, Variableneigenschaft 227, die als Wert eine Variablenreihe 241 aus aufeinanderanfolgend angeordneten Variablen 242 innerhalb der Einzelinformation aufweist (die Variable kann eine Funktion sein, was auch nachfolgend gilt); und Inhaltseigenschaft 228 mit dem Inhalt 246 der aus Elementen 247 bestehenden Informationseinzelheit als Wert.
  • Eine Werte(Spalten)-Liste 248 ist eine Liste mit Spalten von Werten oder Vektoren der Variablen der Einzelinformation (Vektoren 249) und zeigt den Wert der Tatsacheneigenschaft 226 an, wenn die Einzelinformation Variablen 242 enthält.
  • Der Gemeinschaftsteil 230 besteht aus seinem Kode 235, Struktureigenschaft 231 und Beziehungseinzelinformationseigenschaft 232. Die Struktureigenschaft 231 weist als Wert eine Gemeinschaftsstruktur 233 auf, die aus gemeinsamen Elementen 234 besteht; jedes gemeinsame Element ist so beschaffen, daß nur die lokalen Elemente 243 der Informationseinzelheitenelemente in "-" (Unterstrich- umgewandelt wurden. Die Beziehungseinzelninformationseigenschaft 232 weist als Wert eine Gemeinschaftsteil-Beziehungsliste 235 auf, die aus 5 Gemeinschaftsbeziehungseinzelinformationen 236 besteht, bei denen es sich um alle Informationseinzelheiten mit diesem gemeinsamen Teil handelt.
  • Eine möglicherweise ausführbare Regelliste 260 ist eine Liste mit möglicherweise ausführbaren Regeln 261.
  • Fig. 3 zeigt die Datenstruktur einer Kodeliste. Eine Kodeliste 300 zum Registrieren der kodierten Einzelinformationen 220 besteht aus Elementen von Kodepaaren 301, von denen jedes ein Kode 246 ist, der einem Einzelinformationsinhalt 221 entspricht. Die Kodeliste 300 wird zum Kodieren von Einzelinformationen verwendet, was weiter unten unter Bezugnahme auf einen Block 602 erläutert wird.
  • Fig. 4 zeigt die Datenstruktur eines gemeinsamen Teils eines Beziehungsnetzes. Diese Datenstruktur befindet sich im Verlauf eines Entnahmeprozesses für den gemeinsamen Teil, was weiter unten unter Bezugnahme auf einen Block 603 beschrieben wird. Jeder von Gemeinschaftskandidaten 401, bei denen es sich um Kandidaten für den gemeinsamen Teil handelt, ist derselbe wie ein gemeinsamer Teil 230 nach Abschluß des Entnahmeprozesses für den gemeinsamen Teil des Beziehungsnetzes. Eine Gemeinschaftsteilliste 400 ist eine Liste von Elementen von Gemeinschaftsteilkandidaten 400 im Verlauf des Entnahmeprozesses für den Gemeinschaftsteil und enthält Elemente von Gemeinschaftsteilen 230 nach Abschluß des Prozesses. Ein Gemeinschaftsteilkode 402, eine Struktureigenschaft 403, eine Einzelinformationsbeziehungseigenschaft 404, ein gemeinsames Element 406 und eine Beziehungseinzelninformationsliste 405 sind dieselben wie beim in bezug auf Fig. 2 erläuterten Gemeinschaftsteil mit der Ausnahme, daß sie auf den Gemeinschaftsteilkandidaten gerichtet sind.
  • Fig. 5 zeigt den Aufbau des Beziehungsfilters 105. Das Beziehungsfilter weist eine Baumstruktur mit Knoten 500 auf, die bei einem Anfangsknoten starten, der als Knotennummer 101 die Nummer Null aufweist. Jeder Knoten verfügt über eine Knotennummer 501, Variablencharakteristikeigenschaft 502, Konstantencharakteristikeigenschaft 503 und Abschlußeigenschaft 504. Das Verarbeitungssystem liest Elemente (Konstanten, Variablen) einer Anfangstatsache ein, während es sich entlang den Knoten bewegt. Die Variablencharakteristikeigenschaft 502 weist als Wert einen Knoten (nächster Knoten 507) am Bestimmungsort des Systems auf, wenn das System die Variable einliest. Die Konstantencharakteristikeigenschaft 503 weist als Wert eine Liste (Konstantencharakteristikeigenschaftwert 505) von Elementen von Paaren 506 auf, von denen jedes aus einer einzulesenden Konstante 508 und dem ihr entsprechenden nächsten Knoten 509 besteht. Wenn das System einen beliebigen Gemeinschaftsteil einliest, wie er in der Gemeinschaftsteilliste 400 registriert ist, weist die Abschlußeigenschaft 504 als Wert den Gemeinschaftsteilkode 235 des gelesenen Gemeinschaftsteils 230 auf, wobei der Knoten 500 derjenige eines Bestimmungsorts ausgehend vom Anfangsknoten ist, und den Wert Nichts aufweist, wobei der Knoten 500 nicht der oben genannte ist.
  • Fig. 6 zeigt einen Beziehungsnetz-Erzeugungsprozeß.
  • Um Einzelinformationen einer gewissen Regel, die einen Inhalt aufweisen, für die die Spaltenkennzeichnungen unterschiedlich sind, jeweils eine eindeutige Nummer zuzuordnen, wird ein Anfangssetzvorgang mit dem Wert Eins für jede neue Kodenummer und einen Zeiger zum Entnehmen der jeweiligen Informationseinzelheit aus der Regel (Block 600) vorgenommen. Anschließend wird eine Einzelinformation aus der Regeldatei 103 entnommen, und der Zeiger wird aufgefrischt (Block 601). Die jeweiligen entnommenen Einzelinformationen werden für Hochgeschwindigkeitsanpassung kodiert, um in eine Regel 210 des Beziehungsnetzes 106 eingesetzt oder eingefügt zu werden, und die Regelbeziehungseigenschaft 222 wird gesetzt (Block 602). Weiter wird der Gemeinschaftsteil 230 für das Beziehungsnetz 106 entnommen. Die vorstehende Verarbeitung wird für die Einzelinformationen aller Regeln in der Regeldatei 103 ausgeführt, und anschließend werden lokale Strukturen 240 des Beziehungsnetzes 106 erzeugt (Block 604). Das Beziehungsfilter 105 wird ebenfalls erzeugt (Block 605).
  • Fig. 7 zeigt einen Prozeß zum Erzeugen der Regel 210, wobei die Informationseinzelheiten kodiert werden und die Regelbeziehungseigenschaft 222 gesetzt wird.
  • Die in Block 601 entnommene Informationseinzelheit wird in einem Block 701 dahingehend überprüft, ob sie in der Kodeliste 300 registriert wurde. Wenn bereits registriert wird, wird der registrierte Kode als augenblicklicher Kode gesetzt (Block 702). Wenn nicht bereits registriert wird, wird ein Paar Daten, das aus dem Einzelinformationsinhalt 246 und einer neuen Kodenummer besteht (Kodepaar 301) zur Kodeliste 300 hinzugefügt (Block 703), und die aktuelle Kodenummer wird als neue Kodenummer gesetzt, die aufgefrischt wird (Block 704). Eine Liste 241 von Variablen 242, die ausgehend von ihrem Kopf in der entnommenen Einzelinformation aufeinanderfolgend ausgebildet ist, wird auf die Variableneigenschaft 227 der Einzelinformation 220 mit dem Einzelinformationskode 221 gesetzt, in eindeutiger Entsprechung zur aktuellen Kodenummer, und der Einzelinformationsinhalt 246 wird auf die Inhaltseigenschaft 228 gesetzt.
  • Nach Abschluß der Verarbeitungen des Blocks 702 oder des Blocks 705 wird der Einzelinformationskode 221 der Einzelinformation 220 der Regel 210 dazu verwendet, ein Netzwerk aus dem Wenn-Teil 211 oder Ausführungsteil 212 zu bilden; das Netzwerk wird ein Teil des Beziehungsnetzes 106 (Block 706). Weiter wird, falls die verarbeitete Einzelinformation eine Wenn-Einzelinformation 213 ist, der Regelkode 214 der Regel, zu der die Einzelinformation gehört, als Wert ihrer Regelbeziehungseigenschaft 222 addiert, d. h. Elemente 251 der Beziehungsregelliste 250.
  • Fig. 8 ist ein Verarbeitungsflußdiagramm betreffend das Entnehmen und Erzeugen von Gemeinschaftsteilen 230 von Einzelinformationen im Beziehungsnetz 106.
  • In einem Block 801 wird die in Block 601 entnommene Einzelinformation mit Variablen (einschließlich Funktionen) nach Umwandlung in "-" als Gemeinschaftsteil-Kandidateneinzelinformation 401 verwendet. Der Kode (zukünftiger Gemeinschaftsteilkode) 402 dieser Kandidateneinzelinformation wird z. B. auf ai gesetzt, wenn der Kode der entnommenen Einzelinformation fi ist. In einem Block 802 wird der Kode 402 der oben genannten Kandidateneinzelheit auf die Einzelheitbeziehungseigenschaft 404 derselben gesetzt.
  • In einem Block 803 wird die Gemeinschaftsteil-Kandidateneinzelheit 401 dahingehend überprüft, ob sie bereits in der Gemeinschaftsteilliste 400 registriert ist. Diese Überprüfung wird dadurch ausgeführt, daß Übereinstimmung zwischen der Kandidateneinzelheit und den jeweiligen bereits in der Gemeinschaftsteilliste 400 gespeicherten Kandidateneinzelinformationen jeweils überprüft wird. Übrigens wird angenommen, daß bei dieser Übereinstimmungsprüfung "-" mit jedem Element (Konstante oder Variable) zur Übereinstimmung gebracht werden kann.
  • Wenn die einschlägige Kandidateneinzelinformation 401 bereits registriert ist, wird als neu eingeführte Kandidateneinzelinformation die Kandidateninformation in der Gemeinschaftsteilliste verwendet, die mit einschlägigen Kandidateninformation übereinstimmte, wobei mit "-" der einschlägigen Kandidateneinzelinformation der zur Übereinstimmung gebrachte Elemente "-" umgewandelt werden; diese Elemente werden unter den Elementen 406 ausgewählt, die sich von "-" unterscheiden. Der Kode dieser Kandidateneinzelinformation wird der Kode der, wie oben genannt, zur Übereinstimmung gebrachten Kandidateneinzelinformation der Gemeinschaftsteilliste verwendet (Block 804). Anschließend wird die Beziehungsliste dieser neuen Kandidateneinzelinformation mit derjenigen der alten Kandidateneinzelinformation verknüpft (Block 805). Die Kandidateneinzelinformation aus der Gemeinschaftsteilliste, die zum alten Kandidaten gepaßt hat, wird aus der Gemeinschaftsteilliste 400 entfernt (Block 806). Die Verarbeitung von Block 803 bis Block 806 wird wiederholt, während das Verarbeitungsergebnis in Block 803 "bereits registriert" repräsentiert. Wenn das Ergebnis "nicht registriert" repräsentiert, wird die Kandidateneinzelinformation der Gemeinschaftsteilliste 400 des Beziehungsnetzes 106 hinzugefügt (Block 807), um dadurch den Gemeinschaftsteil-Entnahmeablauf für die im Block 601 entnommene Einzelinformation zu beenden.
  • Fig. 9 zeigt ein Verarbeitungsflußdiagramm zum Erzeugen eines Ortsteils (lokale Struktur 240) in jeder Einzelinformation im Beziehungsnetz 106.
  • Elemente der Gemeinschaftsteilliste 400, d. h. Gemeinschaftsteile 230 (in der folgenden Verarbeitung sind Gemeinschaftsteil-Kandidateneinzelinformationen 401 notwendigerweise Gemeinschaftsteile, da die Gemeinschaftsteilliste erstellt wurde) werden der Reihe nach entnommen (Block 901), und der Wert der Einzelinformationsbeziehungseigenschaft 223 jeder Einzelinformation, d. h. die Beziehungseinzelinformationsliste 244, wird entnommen (Block 902. Anschließend werden ihre Elemente (Beziehungseinzelinformationen 245), die Teile der Gruppe von Beziehungseinzelinformationen (Beziehungsgruppe) sind, die gemeinsame Teile aufweisen, der Reihe nach entnommen (Block 903). Nachdem das Entnehmen aller Elemente der Beziehungseinzelinformationsliste abgeschlossen ist, wird, zurückkehrend zu Block 901, das folgende Element aus der Gemeinschaftsteilliste 400 entnommen. Auf diese Weise wird dieselbe Verarbeitung wiederholt, bis alle Elemente der Gemeinschaftsteilliste entnommen sind.
  • In Block 904 wird eine Liste von Elementen 247 der Beziehungseinzelinformation 245 entnommen, um für die lokale Struktur 240 als Wert der Ortsteileigenschaft 226 der entnommenen Beziehungseinzelinformation 245 gesetzt zu werden. Diese Elemente liegen an den Stellen, die den Elementen "-" in der Gemeinschaftsstruktur 233 entsprechen. Der Kode 235 des Gemeinschaftsteils 230, wie er in Block 901 entnommen wurde, wird auf die Gemeinschaftsteileigenschaft 224 der Beziehungseinzelinformation gesetzt (Block 905). In derselben Weise wird die Verarbeitung von Block 903 initiiert.
  • Fig. 10 zeigt ein Verarbeitungsflußdiagramm zum Erzeugen des Beziehungsfilters 105 zum Einsetzen von Anfangstatsachen 104 in das Beziehungsnetz 106.
  • In einem Block 1001 wird die dem Knoten des Beziehungsfilters 105 zu gebende Nummer (Nummer für neuen Knoten) auf 1 gesetzt. Die Elemente 235 der Gemeinschaftsteilliste 400 werden der Reihe nach aus dieser entnommen (Block 1002). Wenn kein zu entnehmendes Element mehr vorhanden ist, wird die Verarbeitung beendet. Wenn noch ein zu entnehmendes Element vorhanden ist, wird der augenblickliche Knoten als Startknoten verwendet (z. B. Knoten mit der Nummer 0) (Block 1003). Die Elemente 234 des Gemeinschaftsteils 230 werden der Reihe nach entnommen (Block 1004). Das entnommene Element 234 wird dahingehend überprüft, ob es "-" (einer Variablen entsprechend) ist (Block 1006). Falls dies der Fall ist, wird überprüft, ob der Wert der Variablencharakteristikeigenschaft 502 des aktuellen Knotens 500 den Wert Nichts hat (Block 1007). Falls der Wert Nichts vorliegt, wird eine neue Knotennummer der Variablencharakteristikeigenschaft 502 des aktuellen Knotens gesetzt (Block 1008). Wenn der Wert nicht Nichts ist, wird der Wert der Variablencharakteristik 502 als der des augenblicklichen Knotens verwendet (Block 1010). Wenn das Ergebnis der Verarbeitung im Block 1006 Nein ist, wird überprüft, ob das im Block 1004 entnommene Element 234 in der Konstantencharakteristikeigenschaft 503 des vorliegenden Knotens enthalten ist (Block 1011). Falls nicht enthalten, wird ein Paar aus dem entnommenen Element 234 und der neuen Knotennummer zur Konstantencharakteristikeigenschaft 503 des aktuellen Knotens hinzugefügt (Block 1012). Falls enthalten, wird der dem Element 506 des passenden Konstantencrakteristikeigenschaftswertes 505 als augenblicklicher Knoten verwendet (Block 1013). Nachdem die Verarbeitungen der Blöcke 1008 und 1012 beendet sind, wird der Knoten mit der neuen Knotennummer als Knoten verwendet, und die neue Knotennummer wird aufgefrischt. Nach den Verarbeitungen der Blöcke 1009, 1010 und 1013 wird zu Block 1004 zurückgekehrt, und die Verarbeitung von Block 1006 und der auf ihn folgenden wird wiederholt, bis kein Element des Gemeinschaftsteils 230 mehr vorhanden ist. Wenn kein Element mehr vorhanden ist, wird der Kode 235 des in Block 1002 entnommenen Gemeinschaftsteils 230 als Beendigungseigenschaft des aktuellen Knotens 500 gesetzt (Block 1005).
  • Fig. 11 zeigt ein Verarbeitungsflußdiagramm zum Einlagern einer Anfangstatsache in das Beziehungsnetz 106. Tatsachen werden der Reihe nach ausgehend von ihrem Kopf aus der Anfangstatsachendatei 104 entnommen (Block 1100). Die folgende Verarbeitung wird ausgeführt, solange eine zu entnehmende Tatsache vorhanden ist. In einem Block 1101 wird die Tatsache durch das Beziehungsfilter 105 geleitet, um den zugehörigen Gemeinschaftsteil 230 und den ortswert zu entnehmen (Filterverarbeitung der Tatsache gemäß Fig. 12). Anschließend wird die Beziehungseinzelinformation 236 mit ihrer lokalen Struktur 240, die mit dem entnommenen lokalen Wert übereinstimmt, der Beziehungsliste 235 dieses Gemeinschaftsteils 230 entnommen, und ein Vektor 249 wird zur Tatsacheneigenschaft 226 des Gemeinschaftsteils 230 (Block 1102) hinzugefügt.
  • Fig. 12 zeigt ein Flußdiagramm für die Filterverarbeitung von Tatsachen.
  • Zunächst wird ein lokaler Wert (Liste) auf "Nichts" gesetzt, und der aktuelle Knoten 500 wird als Startknoten angesetzt (Knotennummer 0) (Block 1201). Die Elemente der im Block 1100 entnommenen Tatsache (d. h. Konstanten oder Variablen, die einen Satz der Tatsache bilden) werden der Reihenfolge nach ausgehend von ihrem Kopf entnommen (Block 1202). Es wird überprüft, ob das entnommene Element im Konstantencharakteristikeigenschaftswert 505 des aktuellen Knotens 500 enthalten ist. Falls nicht enthalten, wird überprüft, ob der Wert der Variablencharakteristikeigenschaft 502 des aktuellen Knotens "Nichts" ist (Block 1204). Falls der Wert "Nichts" ist, wird dieser Wert als Ergebnis der Tatsachenfilterverarbeitung gesetzt, um dadurch die Verarbeitung abzuschließen (Block 1208). Falls der Wert nicht "Nichts" ist, wird das in Block 1202 entnommene Element zum lokalen Wert (Liste) hinzugefügt (Block 1205). Anschließend oder wenn das Verarbeitungsergebnis von Block 1203 Ja ist, wird der folgende Knoten als aktueller Knoten 500 verwendet. Genauer gesagt wird im ersteren Fall der durch die Variablencharakteristikeigenschaft 502 repräsentierte folgende Knoten verwendet, während im letzteren Fall derjenige folgende Knoten verwendet wird, der durch den Folgeknotenabschnitt 509 des Elements mit dem Konstantencharakteristikeigenschaftswert 505 repräsentiert ist, bei dem der Konstantenabschnitt 508 mit dem entnommenen Element übereinstimmt. Dann wird die Verarbeitung von Block 1202 erneut begonnen. Wenn in Block 1202 ein Element mit dem Wert "Nichts" festgestellt wird, wird überprüft, ob die Beendigungseigenschaft 504 des aktuellen Knotens 500 "Nichts" ist (Block 1207). Wenn nicht "Nichts", werden der Wert der Beendigungseigenschaft 504 (d. h. der Gemeinschaftsteilkode 235) und der lokale Wert (Liste) auf das Ergebnis des Tatsachenfilterablaufs gesetzt (Block 1209). Wenn die Beendigungseigenschaft 504 "Nichts" ist, wird "Nichts" als Ergebnis der Tatsachenfilterverarbeitung gesetzt (Block 1208).
  • Fig. 13 zeigt ein Flußdiagramm für die Verarbeitung zum Einlagern von Wertvektoren 249, die einen Wert der Tatsacheneigenschaften 226 repräsentieren, die einem Anfangswert entsprechen (Tatsacheneigenschafts-Einstellverarbeitung).
  • Zunächst wird, wenn das Ergebnis der Tatsachenfilterverarbeitung nicht Nichts ist, der Wert der Einzelinformationsbeziehungseigenschaft 232 des Gemeinschaftsteils 230, d. h. die (Gemeinschaftsteil) Beziehungseinzelinformationsliste 235 entnommen (Block 1301). Wenn das oben genannte Ergebnis Nichts ist, wird die Tatsacheneigenschaftseinstellverarbeitung beendet. Anschließend werden die Beziehungseinzelinformationen 236 der Reihe nach beginnend von ihrem Kopf aus der (Gemeinschaftsteil) Beziehungsliste 235 entnommen, um die folgenden Abläufe auszuführen (Block 1302).
  • Zunächst wird die Übereinstimmung zwischen dem lokalen Wert der Tatsache, die ein Ergebnis der Tatsachenfilterverarbeitung ist, und der lokalen Struktur 240 der oben genannten Beziehungseinzelinformation 236 überprüft. Wenn das Element 243 der lokalen Struktur 240 eine Variable ist, wird das Element der lokalen Struktur an der entsprechenden Stelle als Variablenwert für die Variable gesetzt (Block 1303). Wenn die Übereinstimmungsüberprüfung nicht erfolgreich ist, wird, zurückkehrend zu Block 1302, die folgende Einzelinformation entnommen. Wenn die Übereinstimmungsüberprüfung erfolgreich ist, wird überprüft, ob der Wert der Variableneigenschaft 227 der oben genannten Beziehungseigenschaft 236 Nichts ist (Block 1304). Wenn Nichts, wird überprüft, ob die Tatsacheneigenschaft "Nichts" ist (Block 1308). Wenn nicht Nichts, wird, zurückkehrend zu Block 1303, die Verarbeitung für die folgende Beziehungseinzelinformation ausgeführt, da die oben genannte Tatsacheneigenschaft eine Tatsache ist, wie sie bereits in das Beziehungsnetz 10 eingelagert ist. Wenn Nichts, wird die Tatsacheneigenschaft der oben genannten Beziehungseinzelinformation auf eine andere Eigenschaft als Nichts gesetzt, z. B. auf t (Block 1309). Die Beziehungsregelliste 250, die ein Wert der Regelbeziehungseigenschaft 222 ist, wird mit der Liste 260 für möglicherweise ausführbare Regeln verkoppelt (Block 1307). Anschließend wird die Verarbeitung von Block 1302 erneut begonnen.
  • Wenn der Variableneigenschaftswert der Beziehungseinzelinformation in Block 1304 nicht Nichts ist, wird überprüft, ob der Variablenwert (Spalte), der in Block 1303 gesetzt wurde, gerade derselbe ist wie ein beliebiger der Wertvektoren 249, bei denen es sich um Elemente der Werte (Werteliste) der Tatsacheneigenschaft 226 der Beziehungseinzelinformation handelt (Block 1305). Wenn die Werte übereinstimmen, wird, zurückkehrend zu Block 1302, die Verarbeitung für die folgende Beziehungseinzelinformation ausgeführt. Wenn die Werte nicht übereinstimmen, wird der Variablenwert (Spalte) zur Werteliste 248 hinzugefügt, um die Verarbeitung von Block 1307 auszuführen.
  • Fig. 14 zeigt ein Flußdiagramm für die Verarbeitung eines Schlußfolgerungsausführungsprozessors 102.
  • Zum Ausführen von Schlußfolgerungen wird zunächst überprüft, ob der Inhalt der möglicherweise ausführbaren Liste 260 Nichts ist (Block 1401). Wenn Nichts, wird die Schlußfolgerungsausführungsverarbeitung beendet. Wenn nicht Nichts, wird die anfänglich auszuführende Regel unter den möglicherweise ausführbaren Regeln 261 ausgewählt, bei denen es sich um Elemente der Liste 260 für möglicherweise ausführbare Regeln handelt (Konfliktlösungsblock 1402). In diesem Fall wird angenommen, daß keine Regel mit einem unveränderten Eigenschaftssatz ausgewählt wird, da das Ergebnis von Schlußfolgerungen hierbei keine Änderungen in der Umgebung berücksichtigen würde, wie die Erzeugung einer neuen Tatsache oder des Entfernens einer Tatsache. Anschließend wird die ausgewählte Regel ausgeführt (Block 1403). Wenn das Ergebnis der Ausführung "geändert" anzeigt (Änderungen in der Umgebung wird Rechnung getragen), wird die unveränderte Eigenschaft jeder beliebigen möglicherweise ausführbaren Regel mit ungeändertem Eigenschaftssatz gelöscht (Block 1404), woraufhin zu Block 1401 zurückgekehrt wird. Wenn das Ergebnis "unverändert" ist, wird die unveränderte Eigenschaft für die ausgeführte Regel gesetzt (Block 1405), und es wird zu Block 1401 zurückgekehrt. Wenn das Ergebnis nicht erfüllt ist, wenn die Bedingung der Regel nicht erfüllt ist, wird die ausgeführte Regel 261 aus den möglicherweise ausführbaren Regeln 260 entfernt (Block 1406), und es wird zu Block 1401 zurückgekehrt. Wenn das Ergebnis "beendend" ist, wird die Schlußfolgerungsausführungsverarbeitung beendet.
  • Fig. 15 zeigt ein Flußdiagramm für die Regelausführungsverarbeitung (Block 1403). Zunächst wird beim Ergebnis "nicht erfüllt" (Block 1500) überprüft, ob der Wenn-Teil 211 der ausgeführten Regel erfüllt ist. Für Variablen wird überprüft, ob der Wert derselben ohne Widerspruch bestimmt ist (Block 1501). Wenn der Wenn-Teil (Bedingung) nicht erfüllt ist, wird diese Regelausführungsverarbeitung unmittelbar beendet. Wenn der Wenn-Teil erfüllt ist, wird der Ausführungsteil 212 ausgeführt (Block 1502). Wenn das Ergebnis der Ausführung "unverändert" ist, wird das Ergebnis der Regelausführungsverarbeitung auf "unverändert" gesetzt (Block 1505), und es wird zu Block 1501 zurückgekehrt, um zu überprüfen, ob der Wenn-Teil einen anderen Satz von Werten erfüllt. Wenn das Ergebnis der Verarbeitung des Ausführungsteils "beendend" ist, wird das Ergebnis der Regelausführungsverarbeitung auf "beendend" gesetzt (Block 1503), während bei "verändert" das Ergebnis der Regelausführungsverarbeitung auf "verändert" gesetzt wird (Block 1504). Auf diese Weise wird die Regelausführungsverarbeitung beendet.
  • Fig. 16 zeigt ein Flußdiagramm für die Ausschließungsbedingungs-Überprüfungsverarbeitung (Block 1501). Wenn-Einzelinformationen 213 werden der Reihe nach aus dem Kopf des Wenn-Teils 211 der Ausführungsregel entnommen (Block 1601). Die Tatsacheneigenschaft der entnommenen Wenn-Einzelinformation 213 wird überprüft (Block 1602). Wenn der Wert derselben t ist (was anzeigt, daß die Einzelinformation keine Variable enthält und auch die Bedingung erfüllt ist), wird zu Block 1601 zurückgekehrt, um die folgende Wenn-Einzelinformation zu entnehmen. Wenn der Wert der Tatsacheneigenschaft Nichts ist, weil die Bedingung nicht erfüllt ist, wird das Ergebnis der Bedingungsüberprüfungsverarbeitung auf "nicht erfüllt" gesetzt (Block 1606), um dadurch diese Ausschlußbedingung-Überprüfungsverarbeitung zu beenden. Wenn der Wert der Tatsacheneigenschaft ein anderer ist als t oder Nichts, werden die Elemente, d. h. die Wertezeile 249, der Reihe nach entnommen (Block 1603), um eine Übereinstimmungsüberprüfung zwischen dem entnommenen Wert und dem Wert (Variablenzeile 241) der Variableneigenschaft vorzunehmen (Wenn-Teil-Einzelinformationsvariablenteil-Übereinstimmungsüberprüfungsverarbeitung; Block 1604). Wenn die Übereinstimmungsprüfung erfolgreich ist, d. h. wenn der Wert der Variablen ohne Widerspruch bestimmt wird (was im einzelnen unter Bezugnahme auf Fig. 17 erläutert wird), wird zu Block 1601 zurückgekehrt, um die nachfolgende Wenn-Einzelinformation zu überprüfen. Wenn die Übereinstimmungsüberprüfung nicht erfolgreich ist, wird zu Block 1603 zurückgekehrt, um die folgende Wertezeile zu entnehmen. Nachdem keine entnehmbaren Wertezeilen mehr vorhanden sind, wird die Verarbeitung von Block 1606 ausgeführt. Wenn alle entnehmbaren Wenn-Einzelinformationen entnommen sind, wird das Ergebnis der Bedingungsüberprüfungsverarbeitung auf "erfüllt" gesetzt (Block 1605), um die Ausschlußbedingung-Überprüfungsverarbeitung zu beenden.
  • Fig. 17 zeigt ein Flußdiagramm der Übereinstimmungsüberprüfungsverarbeitung für den Wenn-Teil des Einzelinformationsvariablenteils.
  • Variablen 242, die Elemente einer Variablenzeile 241 sind, werden dieser der Reihe nach entnommen (Block 1701). Es wird überprüft, ob der Wert der entnommenen Variablen als in Übereinstimmung befindlich mit dem vorigen Wenn-Teil in derselben Regel beurteilt wurde, d. h. ob die Variable eine gebundene Variable ist (Block 1702). Wenn die Variable ungebunden ist, wird sie zu einer Zeile ungebundener Variablen hinzugefügt, um das entsprechende Element der Wertezeile 249 als gebundenen Wert zu übernehmen (Block 1703), und es wird zu Block 1703 zurückgekehrt, um die Verarbeitung für die folgende Variable auszuführen. Wenn die Variable gebunden ist, wird überprüft, ob der gebundene Wert und das zugehörige Element der Wertezeile 249 gerade miteinander übereinstimmen. Wenn die Werte dieselben sind, wird zu Block 1701 zurückgekehrt. Wenn die Werte nicht dieselben sind, wird bewirkt, daß alle Variablen der Zeile ungebundener Variablen ungebunden werden, um die Zeile ungebundener Variablen zu löschen (Block 1705); das Ergebnis der Übereinstimmungsüberprüfung für den Variablenteil der Wenn-Einzelinformationen wird auf "Fehlschlag der Übereinstimmungsüberprüfung" gesetzt (Block 1706). Auf diese Weise wird die zugehörige Verarbeitung beendet.
  • Wenn kein der Variablenzeile 241 zu entnehmendes Element mehr vorhanden ist, wird das Ergebnis der zugehörigen Verarbeitung auf "Erfolg bei der Übereinstimmungsüberprüfung" gesetzt (Block 1707), und so wird die zugehörige Verarbeitung beendet.
  • Fig. 18 zeigt ein Flußdiagramm für die Ausführungsteil-Ausführungsverarbeitung (Block 1502 in Fig. 15).
  • Zunächst wird das Ergebnis dieser Ausführungsteil-Ausführungsverarbeitung auf "unverändert" initialisiert (Block 1801). Anschließend werden die Ausführungseinzelinformationen 215-217 des Ausführungsteils 212 einer Ausführungsregel der Reihe nach aus deren Kopf entnommen (Block 1802). Es wird überprüft, ob die entnommene Ausführungseinzelinformation eine hinzuzufügende Einzelinformation 216 ist (Block 1803). Wenn die Einzelinformation hinzuzufügen ist, wird eine Hinzufügungsverarbeitung ausgeführt (Block 1804). Anschließend wird überprüft, ob die entnommene Ausführungseinzelinformation eine zu entfernende Einzelinformation 216 ist (Block 1805). Wenn dies der Fall ist, wird eine Entfernungsverarbeitung ausgeführt (Block 1806). Fall dies nicht der Fall ist, wird überprüft, ob es sich um eine Einzelinformation 217 für Beendigung handelt (Block 1807). Wenn dies der Fall ist, wird das Ergebnis der Ausführungsteil-Ausführungsverarbeitung auf "Beendigung" gesetzt (Block 1809). Auf diese Weise wird die zugehörige Verarbeitung beendet. Wenn die Ausführungseinzelinformation keine der vorstehend genannten Einzelinformationen ist, wird eine entsprechende Verarbeitung hierfür ausgeführt (Block 1808), und es wird zu Block 1802 zurückgekehrt, um die Verarbeitung für die folgende Ausführungseinzelinformation auszuführen. Die Rückkehr zu Block 1802 wird auch nach den Verarbeitungen in den Blöcken 1804 und 1806 bewirkt. Wenn in Block 1802 keine zu entnehmende Ausführungseinzelinformation mehr vorhanden ist, wird der gebundene Wert der Variablen 242 gelöscht (Block 1810). Auf diese Weise wird die Ausführungsteil-Ausführungsverarbeitung beendet.
  • Fig. 19 zeigt ein Flußdiagramm für die Hinzufügeverarbeitung (Block 1804 von Fig. 18).
  • Zunächst wird der Wert der Tatsacheneigenschaft 226 der hinzuzufügenden Einzelinformation (Hinzufügungseinzelinformation) 216 überprüft. Wenn der Wert t ist (was bedeutet, daß die Hinzufügungseinzelinformation keine Variable enthält und nur mit einer bekannten Tatsache übereinstimmt), endet die Hinzufügeverarbeitung sofort. Wenn der Wert weder t noch Nichts ist, wird überprüft, ob der augenblickliche Wert der Variablen der Hinzufügungseinzelinformation ein Element der Werteliste 248 ist (Block 1901). Wenn es sich um ein Element handelt, wird die Hinzufügungsverarbeitung beendet, da dies bedeutet, daß es sich bei der hinzuzufügenden Einzelinformation um eine bekannte Tatsache handelt. Wenn es sich um kein Element handelt oder wenn das Ergebnis in Block 1900 Nichts ist, wird die örtliche Struktur 240 der Hinzufügungseinzelinformation entnommen, wobei ihr Variablen- oder Funktionselement durch ihren Wert (als lokaler Strukturwert bezeichnet) und die Beziehungseinzelinformationsliste 244 ersetzt wird (Block 1902).
  • Anschließend werden Beziehungseinzelinformationen 245, die Elemente der entnommenen Beziehungsliste 244 sind, der Reihe nach dieser entnommen (Block 1903). Wenn keine Beziehungseinzelinformation mehr zu entnehmen ist, wird die Hinzufügungsverarbeitung beendet. In einem Block 1904 wird überprüft, ob die entnommene Beziehungseinzelinformation nur aus Konstanten besteht. Wenn dies nicht der Fall ist, wird die Verarbeitung von Block 1905 ausgeführt, dagegen wird Block 1909 ausgeführt, wenn dies der Fall ist. Im Block 1905 wird eine Übereinstimmungsüberprüfung zwischen dem lokalen Strukturwert der Hinzufügungseinzelinformation 216 (wie im Block 1902 entnommen) und der lokalen Struktur 240 der in Block 1903 entnommenen Beziehungseinzelinformation 245 vorgenommen. Wenn keine Übereinstimmung vorliegt, wird zu Block 1903 zurückgekehrt. Im Fall von Übereinstimmung wird eine Zeile (Wertezeile 249) von Werten der Variablen 242 der Beziehungseinzelinformation 245 zum Wert (Wertezeilenliste 248) der Tatsacheneigenschaft 226 der entnommenen Beziehungseinzelinformation 245 hinzugefügt (Block 1906). In einem Block 1909 wird überprüft, ob der lokale Strukturwert der Hinzufügungseinzelinformation 216 (wie in Block 1902 entnommen) mit der lokalen Struktur 240 der Beziehungseinzelinformation 245 übereinstimmt. (Übrigens wird eine Übereinstimmungsüberprüfung dann vorgenommen, wenn die entnommene Beziehungseinzelinformation eine Variable enthält, und die Übereinstimmungsüberprüfung in Block 1905 ist dahingehend erfüllt, daß die Konstantenteile übereinstimmen, weswegen kein Überprüfen des Variablenteils erforderlich ist. Die Übereinstimmungsüberprüfung in Block 1909 bedeutet eine Übereinstimmungsüberprüfung, bei der der Variablenteil ausgeschlossen ist, wobei darauf Bezug genommen wird, daß die Variablenteile dieselben sind. Wenn die Variablenteile nicht dieselben sind, wird zu Block 1903 zurückgekehrt. Wenn die Variablenteile dieselben sind, wird der Wert 248 der Tatsacheneigenschaft 226 der Beziehungseinzelinformation 245 als wahr angenommen (z. B. t) (Block 1910).
  • Anschließend an die Verarbeitung der Blöcke 1906 und 1910 wird eine Verarbeitung zum Auswählen einer möglicherweise ausführbaren Regel ausgeführt (Block 1907). Unter den Elementen der Werte der Beziehungseigenschaft 222 der Beziehungseinzelinformation, d. h. den Beziehungsregeln 251, werden nur diejenigen Beziehungsregeln, bei denen die Tatsacheneigenschaften aller Wenn-Einzelinformationen 213 ihrer Wenn-Teile 211 einen anderen Wert als Nichts aufweisen, zur möglicherweise ausführbaren Liste 260 hinzugefügt. Dies wird nachstehend im einzelnen unter Bezugnahme auf Fig. 20 erläutert. Nach Abschluß der Verarbeitung von Block 1907 wird das Ergebnis der Ausführungsteil-Ausführungsverarbeitung auf "verändert" gesetzt (Block 1908), und es wird zur Verarbeitung des Blocks zurückgekehrt.
  • Fig. 20 zeigt ein Flußdiagramm für die Verarbeitung zum Auswählen einer möglicherweise ausführbaren Regel (Block 1907 in Fig. 19).
  • Zunächst wird der Regelbeziehungseigenschaftswert der Beziehungseinzelinformation 245, d. h. die Beziehungsregelliste 250 entnommen (Block 2001). Anschließend werden die Beziehungsregeln 251 aufeinanderfolgend dem Kopf dieser Beziehungsregelliste entnommen (Block 202). Wenn die Verarbeitung für alle Beziehungsregeln abgeschlossen ist, wird die zugehörige Auswahlverarbeitung für möglicherweise ausführbares Auswählen beendet. Es wird für die entnommene Beziehungsliste 251 überprüft, ob sie bereits in der Liste 260 möglicherweise ausführbarer Regeln enthalten ist (Block 2003). Wenn dies der Fall ist, wird zu Block 2002 zurückgekehrt, um die Verarbeitung für die folgende Beziehungsregel auszuführen. Wenn dies nicht der Fall ist, wird überprüft, ob sich noch ein Tatsacheneigenschaftswert mit einem Wert ungleich Nichts unter den Wenn-Einzelinformationen der Beziehungsregel befindet (Block 2004). Wenn keine derartige Wenn-Einzelinformation vorhanden ist, wird diese Beziehungsregel zur Liste 260 möglicherweise ausführbarer Regeln hinzugefügt (Block 2005), und es wird zu Block 2002 zurückgekehrt. Wenn eine derartige Wenn-Einzelinformation vorliegt, wird für jede Verarbeitung zu Block 2000 zurückgekehrt.
  • Fig. 21 zeigt ein Flußdiagramm für die Entfernungsverarbeitung (Block 1806 in Fig. 18).
  • Zunächst wird die lokale Struktur 240 der zu entfernenden Einzelinformation 215 (Entfernungseinzelinformation), deren Wert durch ihren Wert (lokaler Strukturwert) zu ersetzen ist, entnommen (Block 2101). Die Beziehungseinzelinformationsliste 244 für die Entfernungseinzelinformation 215 wird ebenfalls entnommen (Block 2102).
  • Anschließend werden die Beziehungseinzelinformationen 245, die Elemente der Beziehungseinzelinformationsliste 244 sind, der Reihe nach vom Kopf der Liste entnommen (Block 1903). Wenn keine entnehmbare Beziehungseinzelinformation mehr vorhanden ist, wird die Entfernungsverarbeitung beendet. Für die entnommene Beziehungseinzelinformation 245 wird überprüft, ob sie nur Konstanten enthält (Block 2104). Falls "NEIN", wird die Verarbeitung von Block 2105 ausgeführt, während im Fall von "JA" diejenige von Block 2109 ausgeführt wird.
  • In Block 2105 wird eine Übereinstimmungsüberprüfung zwischen dem lokalen Strukturwert (wie in Block 2101 entnommen) der Entfernungsinformation und der lokalen Struktur 240 der Beziehungseinzelinformation 245 vorgenommen. Wenn keine Übereinstimmung vorliegt, wird zu Block 2104 zurückgekehrt, um die Verarbeitung für die folgende Beziehungseinzelinformation auszuführen. Wenn die Übereinstimmungsüberprüfung erfolgreich ist, wird die Zeile von Werten der Variablen 242 (niedriger Wert 249) der Beziehungseinzelinformation 245 aus dem Tatsacheneigenschaftswert (d. h. Wertevektorliste 248) hiervon entnommen (Block 2106). Auf diese Weise wird, wenn der Tatsacheneigenschaftswert der zugehörigen Beziehungseinzelinformation Nichts wird, die Verarbeitung von Block 2107 ausgeführt, und, falls der Wert nicht Nichts wird, wird die Verarbeitung von Block 2104 ausgeführt.
  • In einem Block 2109 wird überprüft, ob der lokale Strukturwert der Entfernungseinzelinformation 215 und die lokale Struktur 240 der entnommenen Beziehungseinzelinformation 245 miteinander übereinstimmen. Wenn sich keine Übereinstimmung herausstellt, wird zu Block 2104 zurückgekehrt, um die Verarbeitung für die nächste Beziehungseinzelinformation auszuführen. Wenn sich Übereinstimmung ergibt, wird bewirkt, daß der Tatsacheneigenschaftswert 226 der Beziehungseinzelinformation 245 Nichts wird (Block 2110), um die Verarbeitung von Block 2107 auszuführen.
  • Im Block 2107 werden von der Liste 260 mit möglicherweise ausführbaren Regeln alle Elemente (d. h. Beziehungsregeln 251) entfernt, die den Wert der Regelbeziehungseigenschaft 222 der Beziehungseinzelinformation 245 aufweisen. Daraufhin wird in diesem Block 2108 das Ergebnis der Ausführungsteil- Ausführungsverarbeitung auf "geändert" gesetzt, und es wird zu Block 2103 zurückgekehrt.
  • Gemäß dem vorstehend beschriebenen Ausführungsbeispiel der Erfindung werden der Schlußfolgerungswirkungsgrad und die Leistungsfähigkeit verbessert, da die Anzahl möglicherweise ausführbarer Regeln dadurch eingeschränkt werden kann, daß zunächst der Wenn-Teil überprüft wird, wobei der Widerspruch zwischen Werten mit Variablen oder dergleichen ignoriert wird, wodurch Overheadzeit wirkungsvoll eingeschränkt wird.
  • Dieser Overhead nimmt steil zu, wenn der Wenn-Teil nicht erfüllt ist, nachdem für alle Kombinationen von Variablen überprüft wurde, ob der Wenn-Teil erfüllt ist.
  • Dieser Overhead wird mengenmäßig wie folgt abgeschätzt:
  • R = IvNv·Tc·Nr,
  • wobei Nr die mittlere Anzahl von Regeln bezeichnet, die zu den möglicherweise ausführbaren Regeln hinzugefügt wurden, für die sich jedoch herausstellte, daß sie eine Bedingung nicht erfüllen,
  • Nv die mittlere Anzahl von Variablen in der Regel ist,
  • Iv die mittlere Anzahl von Werten von Variablen in der Regel ist, und
  • Tc die mittlere Zeit zum Überprüfen ist, ob Einsatz von Variablen einem Wenn-Teil genügt.
  • Wenn Tc = 10 ms, Nv = 3, Iv = 3 und Nr = 500 ist, ergibt sich R = 135 sec. Im Fall von Nr = 5 und Iv = 5 ergibt sich R = 1500 sec. Ein derart steiler Anstieg des Overheads ist bei praktischem Gebrauch nicht anwendbar. Aus den Versuchen der Erfinder ergab sich, daß in einem herkömmlichen System (Zählsystem) Nr = 550 ist, während sich für ein erfindungsgemäßes System Nr = 60 ergibt, weswegen der Overhead bei der Erfindung auf etwa 1/10 im Vergleich zum herkömmlichen System verringert wird. (Übrigens wird die Zeit zum Einschränken von Nr als ausreichend klein angesehen, da die oben genannte Überprüfung oder der Test unter Nichtberücksichtigung des Widerspruchs zwischen Werten von variablen Werten ausgeführt wurde). Beim Versuch war sie vernachlässigbar klein, wie 1 sec oder weniger.
  • Das Verwenden eines Beziehungsnetzes führt zu ausgezeichnetem Wirkungsgrad der oben genannten Überprüfung, da eine Tatsache als Eigenschaft einer Wenn-Bedingung gespeichert wird.
  • Übrigens wurde die obige Erläuterung für Schlußfolgerungen ausgeführt, jedoch ist das erfindungsgemäße System selbstverständlich auch auf Informationsverarbeitung anwendbar.
  • Fig. 22 zeigt ein Flußdiagramm für die Hinzufügeverarbeitung im erfindungsgemäßen Beziehungsnetzsystem (Block 1408 von Fig. 18).
  • Zunächst wird eine Überprüfung des Wertes der Tatsacheneigenschaft 226 der Hinzufügeeinzelinformation 216 vorgenommen (Block 1900). Wenn der Wert t ist (was anzeigt, daß die Hinzufügungseinzelinformation keine Variable oder bekannte Tatsache enthält, wird die Hinzufügeverarbeitung sofort beendet. Wenn der Wert Nichts ist, wird überprüft, ob die Variableneigenschaft Nichts ist (Block 1903). Falls JA, wird t auf die Tatsacheneigenschaft 226 der Hinzufügeeinzelinformation gesetzt (Block 1904). Falls NEIN, wird der Wert der Variableneingeschaft 227 (Variablenwert), d. h. die Variablenreihe 241, bei der jedes Element realisiert ist, zur Tatsacheneigenschaft 226 der Hinzufügeeinzelinformation hinzugefügt (Block 1902). Wenn das Ergebnis der Verarbeitung in Block 1900 ein anderes als t oder Nichts ist, wird überprüft, ob der Variablenwert der Hinzufügeeinzelinformation mit irgendeinem Element der Werteliste übereinstimmt (Block 1901). Falls die Werte übereinstimmen, wird die Hinzufügeverarbeitung beendet, da dies bedeutet, daß die Hinzufügeeinzelinformation eine bekannte Tatsache ist. Wenn die Werte nicht übereinstimmen, wird die oben genannte Verarbeitung des Blocks 1902 ausgeführt. Nach den Verarbeitungen der Blöcke 1902 und 1904 wird das Ergebnis der Ausführungsteilausführung auf "geändert" gesetzt (Block 1905), und der Wert der Regelbeziehungseigenschaft 222 der Hinzufügeeinzelinformation, d. h. die Beziehungsregelliste 250, wird zur Liste 260 mit möglicherweise ausführbaren Regeln hinzugefügt (Block 1906).
  • Anschließend wird die Einzelinformationsbeziehungseigenschaft 223 der Hinzufügeeinzelinformation entnommen (Block 1907). Wenn die Einzelinformationsbeziehungseigenschaft 223 Nichts ist, wird die Hinzufügeverarbeitung beendet, dagegen werden dann, wenn sie nicht Nichts ist, die Elemente (Beziehungseinzelinformationen 245) des Wertes der Reihe nach entnommen (Block 1908). Wenn die Verarbeitung für die Beziehungseinzelinformationen 245 abgeschlossen ist, wird die Hinzufügeverarbeitung beendet. Falls nicht, wird eine Übereinstimmungsüberprüfung zwischen der lokalen Struktur 240 der Beziehungseinzelinformation und derjenigen der Hinzufügeeinzelinformation ausgeführt (wobei die Variablen verwirklicht sind). Wenn sich bei der Übereinstimmungsüberprüfung kein Erfolg ergibt, wird zu Block 1908 zurückgekehrt, um die folgende Beziehungseinzelinformation zu entnehmen. Wenn die Übereinstimmungsüberprüfung erfolgreich ist, wird überprüft, ob der Variablenwert der Beziehungseinzelinformation (in Block 1902 erläutert) mit irgendeinem Element 249 der Werteliste der Beziehungseinzelinformation übereinstimmt (Block 1910). Wenn einer der Werte derselbe ist, wird direkt zu Block 1908 zurückgekehrt, um die Verarbeitung für die folgende Beziehungseinzelinformation auszuführen. Wenn kein Wert übereinstimmt, wird der Wert der Regelbeziehungseigenschaft 222 der Beziehungseinzelinformation 245, d. h. die Beziehungsregelliste 250 in die Liste 260 möglicherweise ausführbarer Regeln aufgenommen (Block 1911), und es wird zu Block 1908 zurückgekehrt, um die Verarbeitung für die folgende Beziehungseinzelinformation auszuführen.
  • Fig. 23 zeigt ein Flußdiagramm für die Entfernungsverarbeitung (Block 1806 in Fig. 18).
  • Zunächst wird der Wert der Tatsacheneigenschaft 226 der zu entfernenden Einzelinformation 215 (Entfernungseinzelinformation) bearbeitet (Block 2001). Wenn der Wert Nichts ist, wird die Entfernungsverarbeitung beendet. Wenn der Wert t ist (was bedeutet, daß die Entfernungseinzelinformation keine Variable beinhaltet und eine bekannte Tatsache ist), wird bewirkt, daß die Tatsacheneigenschaft 226 der Entfernungseinzelinformation Nichts wird (Block 2004). Alle Elemente 251 vom Wert der Regelbeziehungseigenschaft 222 der Entfernungseinzelinformation 215, d. h. die Beziehungsregelliste, werden aus der Liste 260 möglicherweise ausführbarer Regeln entfernt (Block 2005). Wenn das Ergebnis der Verarbeitung in Block 2001 ein anderes als t oder Nichts ist, wird überprüft, ob der Wert (Variablenzeile 241) der Variableneigenschaft 227 der Entfernungseinzelinformation 215, bei der jedes Element (Variable 242) verwirklicht ist (derselbe Variablenwert, wie im Block definiert) mit einem Element 249 der Werteliste 248 für dieselbe Entfernungseinzelinformation übereinstimmt (Block 2002). Wenn für keinen der Werte Übereinstimmung besteht, wird die Entfernungsverarbeitung beendet. Wenn für einen der Werte Übereinstimmung besteht, wird der oben genannte Variablenwert aus dem Wert der Tatsacheneigenschaft 226 der Entfernungseinzelinformation 215, d. h. der Werteliste, entfernt (Block 2003). Nach den Verarbeitungen der Blöcke 2003 und 2005 wird das Ausführungsteil-Ausführungsergebnis auf "geändert" gesetzt (Block 2006).
  • Anschließend wird die Einzelinformationsbeziehungseigenschaft 223 der Entfernungseinzelinformation 215 überprüft (Block 2007). Wenn der Wert Nichts ist, wird die Entfernungsverarbeitung beendet. Wenn sie nicht Nichts ist, werden die Elemente (Beziehungseinzelinformationen 245) des Wertes der Einzelinformationsbeziehungseigenschaft, d. h. die Beziehungseinzelinformationsliste 244, der Reihe nach entnommen (Block 2008). Wenn alle Beziehungseinzelinformationen entnommen sind, wird die Entfernungsverarbeitung beendet. Für die Beziehungseinzelinformation wird eine Übereinstimmungsüberprüfung zwischen ihrer lokalen Struktur 240 und der lokalen Struktur der Entfernungsstruktur (mit verwirklichten Variablen) vorgenommen, vorausgesetzt, daß eine nichtverkörperte Variable mit irgendeiner Konstanten übereinstimmt (Block 2009). Wenn die Übereinstimmungsüberprüfung nicht erfolgreich ist, wird zu Block 2008 zurückgekehrt, um die Verarbeitung der folgenden Beziehungseinzelheit auszuführen. Wenn die Übereinstimmungsüberprüfung erfolgreich ist, wird überprüft, ob die Variableneigenschaft 227 Nichts ist (Block 2010). Wenn nicht Nichts, wird überprüft, ob der Variablenwert (in Block 2002 definiert) der Beziehungseinzelinformation mit einem Element 249 der Werteliste 248 für dieselbe Beziehungseinzelinformation übereinstimmt. Wenn Übereinstimmung für einen der Werte vorliegt, wird der Variablenwert entfernt. Wenn Übereinstimmung für keinen Wert vorliegt, wird zu Block 2008 zurückgekehrt. Wenn das Ergebnis der Verarbeitung von Block 2010 Nichts ist, da die Beziehungseinzelinformation nur Definitionen enthält, wird bewirkt, daß die Tatsacheneigenschaft 226 der Beziehungseinzelheit Nichts wird (Block 2012). Alle Elemente 251 des Wertes der Regelbeziehungseigenschaft 222 der Beziehungseinzelinformation, d. h. der Beziehungsregelliste, werden aus der Beziehungsregelliste 250 entfernt, und es wird zu Block 2008 zurückgekehrt.
  • Verdienstvolle Wirkungen der Erfindung sind die folgenden.
  • (1) Da Regelgruppen, die möglicherweise im Anschluß an die Ausführung einer gewissen Regel gestattet werden, vorab gesichert oder in das Beziehungsnetz eingelagert wurden, hängt die Zeit zum Suchen der anschließend auszuführenden Regeln nicht von der Anzahl der gesamten Regeln ab.
  • (2) Wenn ein Wenn-Teil eine Tatsache ist, ist es nicht erforderlich, ein Übereinstimmen zwischen dem Wenn-Teil und den Tatsachen im Tatsachenraum herbeizuführen, anders als beim herkömmlichen System. Insbesondere hängt die Zeit zum Überprüfen, ob der Wenn-Teil eine Tatsache ist, nicht von der Anzahl von Tatsachen ab. Hieraus und aus (1) folgt, daß die Schlußfolgerungszeit unabhängig von der Anzahl von Regeln x Tatsachen ist. Bei einem praxisbezogenen Schlußfolgerungssystem, bei dem die Anzahl von Regeln einige Hundert ist und die Anzahl von Tatsachen über 50 liegt, wird der Wirkungsgrad über mehrhundertmalig oder noch mehr verbessert unter Berücksichtigung des unverzichtbaren Overheads.
  • (3) Da kein Computersystem oder Computerelement mit besonderer Architektur verwendet wird, wie ein Mehrprozessorsystem, ein Assoziativspeicher usw., kann das Hochgeschwindigkeitssystem zu niedrigem Preis realisiert werden; außerdem ist das erfindungsgemäße System leicht in Software ausführbar.
  • (4) Was die durch die Ausführung einer Regel eingefügte oder entfernte Tatsache betrifft, sind ihre Wechselbeziehungen für gemeinsame Elemente, wie ihre Konstantenelemente, bereits in das Beziehungsnetz eingefügt, so daß nur der Wert ihres Variablenelements (Werte, die die Variablen während der Ausführung annehmen) mit einer bekannten Tatsache zur Übereinstimmung gebracht werden muß. Daher wird die Zeit zum Vornehmen der Übereinstimmung, die den meisten Overhead erfordert, verkürzt. Die Variablenelemente eines Satzes, der eine Tatsache repräsentiert, machen für gewöhnlich 10-20 % der Gesamtelemente des Satzes aus, so daß die zum Herbeiführen der Übereinstimmung erforderliche Zeit auf 1/5-10 verkürzt wird.
  • (5) Mensch-Maschine-Schnittestelle und die Betreibbarkeit werden nicht anstelle der Leistungsfähigkeit verschlechtert, da Tatsachen und Regeln, bei denen die Konstanten- oder Variablenelemente an beliebigen Stellen eines Satzes angeordnet sind (d. h. Regeln, die in der Art einer natürlichen Sprache repräsentiert werden) in derselben Weise eingegeben werden, was auch für die ausgegebenen Ergebnisse der Schlußfolgerungen gilt.
  • (6) Verknüpfen von Wenn-Einzelinformationen, deren Teilvariablenelemente als besondere Konstanten spezifiziert sind, mit solchen, deren Variablenelemente nicht spezifiziert sind, erfolgt so, daß diese Wenn-Einzelinformationen wirkungsvoll den Verarbeitungen als Beziehungsgruppe unterzogen werden. Daher kann der Wirkungsgrad des gerade beschriebenen Systems, die Wiedergabe usw. von Wissen verbessert werden, ohne daß die Betreibbarkeit des Systems verschlechtert wird.
  • (7) Da das Einlagern von Anfangstatsachen in das Beziehungsnetz unter Verwendung eines Beziehungsfilters vorgenommen wird, ist die Einfügezeit nicht proportional zu (Gesamtanzahl der Einzelinformationen für alle Regeln X Anzahl von Tatsachen), sondern ist auf den Logarithmus dieses Wertes verringert.
  • (8) Zum Zeitpunkt einer Tatsachenentfernung werden nur Regeln mit aus Konstanten in ihrem Wenn-Teil zusammengesetzte Beziehungseinzelinformationen aus einer möglicherweise ausführbaren Regelanordnung entfernt, so daß die Anzahl von Überprüfungen von Wenn-Teilen der überflüssigen Regeln auf einen kurzen Overhead verringert wird. Dadurch wird die Verarbeitungsgeschwindigkeit des gesamten Systems erhöht.
  • (9) Eine unveränderte Eigenschaft wird den Regeln zugefügt, die die Umgebung nicht wegen des Hinzufügens, Entfernens usw. einer neuen Tatsache infolge ihrer Ausführung geändert haben. Dadurch wird das Ausführen solcher Regeln verhindert, wodurch unwirtschaftliche Zeit der Wenn-Teil-Überprüfung verringert wird und die Ausführungszeit und damit die Verarbeitungszeit im gesamten System verbessert wird.
  • (10) Wenn eine Änderung in der Umgebung wegen Hinzufügens, Entfernens usw. einer neuen Tatsache infolge der Ausführung einer gewissen Regel stattfindet, wird dieselbe Regel nicht für einen anderen Variablenwert ausgeführt, sondern wenn als Ergebnis der Überprüfung der Liste oder Anordnung möglicherweise ausführbarer Regeln festgestellt wird, daß eine vorzugsweise wegen Änderung der Umgebung auszuführende Regel vorhanden ist, wird diese Regel ausgeführt. Dadurch kann eine natürliche Konfliktlösung ausgeführt werden.
  • (11) Die zur möglicherweise ausführbaren Anordnung hinzugefügte oder aus ihr entfernte Regel kann dadurch festgestellt werden, daß nur ein Übereinstimmen zwischen den in Einzelinformationen enthaltenen variablen Teile herbeigeführt wird, wodurch der gesamte Verarbeitungswirkungsgrad um die Zeit erhöht wird, die für unnötige Anpassung unter diesen konstanten Teilen erforderlich ist.
  • (12) Da eine Tatsache nur in dem der Variablen entsprechenden Teil als Wert der Variablen gespeichert wird, kann die erforderliche Speicherkapazität klein sein, selbst wenn die Tatsache für jede Einzelinformation gespeichert wird.
  • (13) Ein Beendigungsknoten (Abschlußzustand) wird im Beziehungsfilter nicht speziell ausgebildet, und ein Knoten kann beide Eigenschaften der Beendigung und der Nicht-Beendigung aufweisen. Dadurch können einfache Verarbeitung und guter Speicherungswirkungsgrad erhalten werden.
  • (14) Die oben genannte unveränderte Eigenschaft (siehe (9)) wird gelöscht, wenn sich die Umgebung aufgrund der Ausführung einer anderen Regel ändert. Dadurch wird die Gelegenheit des Ausführens der Regel mit ungeänderter Eigenschaft in neuer Umgebung ermöglicht, ohne daß eine komplizierte Verarbeitung ausgeführt wird, ob das Ergebnis der Verarbeitung der Regel mit den unveränderten Eigenschaften die neue Umgebung ändert.
  • (15) Da eine Regel, zu der festgestellt wurde, daß ihr Wenn- Teil zur Zeit ihrer Ausführung nicht erfüllt ist, aus der möglicherweise ausführbaren Anordnung entfernt wird, tritt keine Verringerung des Verarbeitungswirkungsgrades auf, der unwirtschaftlicher Wenn-Teil-Übereinstimmungsüberprüfung zuzuschreiben ist.
  • (16) Wenn eine Wenn-Einzelinformation einer Regel durch Hinzufügen einer Tatsache erfüllt ist, wird die Regel als möglicherweise ausführbare Regel verwendet (oder wird einer Anordnung möglicherweise ausführbarer Regeln hinzugefügt), und die anderen Wenn-Einzelinformationen werden zur Zeit der Ausführung überprüft. Daher erlaubt es dieses System, daß möglicherweise ausführbare Regeln durch einfache Überprüfung begrenzt werden, und es führt zu verbessertem Verarbeitungswirkungsgrad. Im entsprechenden System wird keine Regel, die nicht alle Ausführungsbedingungen erfüllt, zu den möglicherweise ausführbaren Regeln hinzugefügt, und die Verarbeitung ist kompliziert, wenn eine Tatsache entfernt wird.
  • (17) Das Beziehungsfilter ist erforderlich, um nur gemeinsame Einzelinformationen zu identifizieren, so daß es im selben Zustand (Knoten) eine komplizierte Variablenverarbeitung benötigt wie im Fall, daß viele Arten von Variablen eingegeben werden. Daher liefert es einfache Verarbeitung und guten Verarbeitungswirkungsgrad. Insbesondere wird das Beziehungsfilter häufig zum Einlagern z. B. von Tatsachen verwendet, und es beeinflußt den Wirkungsgrad des gesamten Systems, wodurch die Verbesserung des Verarbeitungswirkungsgrades des Beziehungsfilters zur Leistungsfähigkeit des gesamten Systems beiträgt.
  • Übrigens wurde die vorstehende Erläuterung für Schlußfolgerungen gegeben, jedoch ist das vorstehend beschriebene System auch auf allgemeine Informationsverarbeitung anwendbar.

Claims (25)

1. Informationsverarbeitungsverfahren zur Verwendung in einem Computersystem mit
einer ersten Speichereinrichtung (103) zur Speicherung einer Vielzahl von Regeln, die jeweils einen Bedingungsteil (Wenn-Teil) aus mindestens einem Bedingungseintrag und einen Ausführungsteil (Dann-Teil) aus mindestens einem Ausführungseintrag aufweisen,
einer zweiten Speichereinrichtung (106) zur Speicherung einer Vielzahl von Aussagedaten, die jeweils durch eine Tatsache oder eine Hypothese angebende Ausdrücke dargestellt sind und von denen einige konkrete Werte von Variablen einnehmen können, und
einer Datenverarbeitungseinrichtung (102), um aus der Vielzahl von Regeln diejenige auszuwählen, deren Bedingungsteil von den Aussagedaten erfüllt wird und dadurch den Ausführungseintrag auszuführen,, um der zweiten Speichereinrichtung neue Aussagedaten hinzuzufügen oder die bestehenden Aussagedaten zu löschen,
gekennzeichnet durch:
einen ersten Schritt zum aufeinanderfolgenden Lesen der Regeln von der ersten Speichereinrichtung (103) zur Erzeugung eines Beziehungs-Netzwerks (106; 210, 220, 250), um eine Vielzahl von Regeln entsprechend der Inhalte der Einträge, aus denen jede der Regeln besteht, miteinander in Beziehung zu setzen, wobei das Beziehungsnetzwerk eine Vielzahl von Aussageeigenschafts-Speicherbereichen (226, 248) beinhaltet, von denen jeder für jeweils einen der Einträge (220) vorgesehen ist, um konkrete, der in dem genannten Eintrag enthaltenen Variablen entsprechende Werte zu speichern,
einen zweiten Schritt zum aufeinanderfolgenden Lesen der Aussagedaten aus der zweiten Speichereinrichtung, um für alle Einträge, die den Aussagedaten entsprechen, die jenigen Teile der Aussagedaten, die zu konkreten Werten der Variablen werden, in die Aussageeigenschafts-Speicherbereiche des Beziehungsnetzwerks zu speichern, und
einen dritten Schritt zum Gruppieren einer Anzahl von Regeln, die die Einträge, denen in dem genannten zweiten Schritt die Werte der Variablen gegeben wurden, aufweisen, in einen Satz von Kandidaturregeln (260) zur Ausführung und Auswahl derjenigen Regel aus diesem Satz, die einen Bedingungsteil (211) aufweist, in dem jeder Eintrag (213) als logischen Wert den Wert "wahr" (nicht "null") oder, entsprechend seinen Variablen, damit vereinbare Werte aufweist, wobei "vereinbar" bedeutet, daß der Wert der gleichen Variablen in allen Einträgen eines Bedingungsteils einer Regel gleich sein kann.
2. Verfahren nach Anspruch 1, wobei der dritte Schritt einen Schritt zum Ausschließen einer Regel aus dem genannten Satz von Kandidaturregeln zur Ausführung beinhaltet, die mindestens einen Bedingungseintrag (213) beinhaltet, für den der entsprechende Aussageeigenschafts-Speicherbereich leer ist.
3. Verfahren nach Anspruch 2, wobei der dritte Schritt einen Schritt zur Auswahl einer Regel aus dem genannten Satz von Kandidaturregeln zur Ausführung beinhaltet, in dem die Vereinbarkeit der konkreten Werte der unter den einzelnen Bedingungseinträgen (213) geteilten Variablen geprüft wird, wenn die ausgewählte Regel eine Vielzahl von Bedingungseinträgen aufweist, die jeweils durch einen Wenn-Eintrag (213) in dem Beziehungsnetzwerk dargestellt werden.
4. Verfahren nach Anspruch 1, weiterhin umfassend:
wenn eines der in der zweiten Speichereinrichtung gespeicherten Aussagedaten als Ergebnis-der Ausführung der Regel gelöscht wird, einen Schritt zum Löschen des konkreten Wertes der in den gelöschten Aussagedaten enthaltenen Variablen aus den Aussageeigenschafts-Speicherbereichen für alle Einträge, die den gelöschten Aussagedaten entsprechen, durch wirksame Verwendung einer Eintrags-Beziehungseigenschaft (223), und
einen Schritt zum Prüfen, ob die Aussageeigenschafts- Speicherbereiche, aus denen die konkreten Werte gelöscht sind, leer sind und zum Ausschließen aller derjenigen Regeln aus dem genannten Satz von Kandidaturregeln, die entsprechende Bedingungsteile mit entsprechenden Einträgen, die denjenigen Aussageeigenschafts-Speicherbereichen entsprechen, die bei der genannten Prüfung leer gefunden wurden, aufweisen, durch wirksame Verwendung der Eintragungs-Beziehungseigenschaft (223).
5. Verfahren nach Anspruch 1, weiterhin umfassend:
wenn neue Aussagedaten als Ergebnis der Ausführung der Regel erzeugt werden, einen Schritt zum Hinzufügen des in der erzeugten Tatsache enthaltenen und den konkreten Wert der Variable darstellenden Teils zu den Aussageeigenschafts-Speicherbereichen des Beziehungsnetzwerks für alle diejenigen Einträge, die den genannten Aussagedaten entsprechen, und
einen Schritt zum Prüfen der Aussageeigenschafts-Daten, die den Bedingungseinträgen der Regel mit den Einträgen, zu denen die genannten konkreten variablen Werte neu hinzugefügt wurden, entsprechen, um dadurch die genannte Regel zu dem Satz von Kandidaturregeln zur Ausführung hinzuzufügen, wenn alle Bedingungseinträge als Ergebnis der genannten Prüfung als nicht leer festgestellt wurden.
6. Verfahren nach Anspruch 1, wobei der erste Schritt einen Schritt zum Gewinnen eines Musters von Ausdrücken, die mit anderen Einträgen gemeinsam sind, aus einem Eintrag der aus der ersten Speichereirichtung gelesenen Regel, wobei eine Vielzahl von Einträgen mit dem Muster von Ausdrücken miteinander in dem Beziehungsnetzwerk in Beziehung stehen.
7. Verfahren nach Anspruch 1, wobei ein Zyklus wiederholt wird, während dessen, wenn Regeln mit jeweils einem Wenn-Teil und einem Ausführungsteil und eine Vielzahl von Aussagedaten, die jeweils eine Tatsache oder eine Hypothese angeben, zur Verfügung gestellt werden, der Ausführungsteil einer Regel, deren Wenn-Teil von den Aussagedaten erfüllt ist, ausgeführt wird, um die Aussagedaten zu ändern, wobei das Verfahren folgende weitere Schritte beinhaltet:
Registrieren von Aussagedaten als einen Aussageeigenschaft eines Wenn-Eintrags,
Prüfen aller Wenn-Einträge des Wenn-Teils der Regel, um festzustellen, ob ihre Aussageeigenschaften ,> null" sind, und
Hinzufügen lediglich der Regel, die einen Wenn-Eintrag beinhaltet, der in seiner Aussageeigenschaft nicht "null" ist, zu einer Liste von möglichen, ausführbaren Regeln, wobei von dieser Liste möglichen, ausführbarer Regeln diejenigen Regeln, von denen als Ergebnis einer vollständigen Wenn- Teil-Prüfung festgestellt wurde, daß ihre Wenn-Teile nicht erfüllt ist, entfernt werden.
8. Verfahren nach Anspruch 7, mit folgenden weiteren Schritten:
Entfernen von Aussagedaten aus der Aussageeigenschaft entsprechender. Einträge einer Regel, wenn die Aussagedaten als Ergebnis der Ausführung dieser Regel entfernt werden,
Prüfen und Feststellen, ob die Aussageeigenschaft jeder der genannten Einträge "null" ist, und
Entfernen aller Regeln mit mindestens einem Wenn-Eintrag, dessen Aussageeigenschaft "null" ist von der genannten Liste möglicher, ausführbarer Regeln.
9. Informationsverarbeitungssystem mit
einer ersten Speichereinrichtung (103) zur Speicherung eine Vielzahl von Regeln (201), die jeweils einen Bedingungsteil als Wenn-Teil (211) mit mindestens einem Bedingungseintrag (213) und einen Ausführungsteil (212) als Dann-Teil mit mindestens einem Ausführungseintrag (215-217) beinhalten,
einer zweiten Speichereinrichtung (106) zum Speichern einer Vielzahl von Aussagedaten, die eine Tatsache oder eine Hypothese angeben, als Aussageeigenschaft (226), die eine logische Variable oder eine Variablenwert-Vektorliste (248) der durch einen Eintrag dargestellten Aussage angeben, und
einer Datenverarbeitungseinrichtung (102) zur Auswahl derjenigen Regel aus der genannten Vielzahl von Regeln, die einen von den genannten Aussagedaten erfüllten Bedingungsteil aufweist, um die ausgewählte Regel auszuführen und neue Aussagedaten hinzuzufügen oder bestehende Aussagedaten durch Ändern der Aussageeigenschaft zu löschen,
dadurch gekennzeichnet, daß die zweite Speichereinrichtung (106) Informationen als Beziehungsnetzwerk (210, 220, 250) speichert, das durch Verbindungen unter den Einträgen (220) gleichen Typs, die gleiche konstante Teile als Gerüst aufweisen, die Vielzahl von Regeln untereinander in Beziehung setzt,
daß das Beziehungsnetzwerk Bereiche (226, 248) zum Speichern der Aussagedaten und weitere Bereiche zum Speichern einer variablen Eigenschaft (227) aufweist, die Variabelnamen oder die Abwesenheit von Variablen in einem Eintrag angibt, sowie Bereiche zum Speichern einer Eintragungs-Beziehungseigenschaft (223), die Beziehungseinträge (245) eines Eintrags angibt, und einer Regelbeziehungseigenschaft (222), die eine Regel (251) mit einem Eintrag in ihrem Wenn-Teil angibt, von denen jeder für einen entsprechenden der Einträge (220) vorgesehen ist, und
daß die Datenverarbeitungseinrichtung diejenige Regel (261) mit einem Bedingungsteil (211), von dem jeder Eintrag (213) "wahr" (nicht null) als logischen Wert oder, entsprechend seiner Variablen, vereinbare Werte aufweist, auswählt, wobei "vereinbar" bedeutet, daß der Wert der gleichen Variablen in allen Einträgen eines Bedingungsteils einer Regel gleich sein kann.
10. System nach Anspruch 9, in dem das Beziehungsnetzwerk ein Informationsnetzwerk ist, so daß alle diejenigen Wenn- Einträge, die den Tatsachen entsprechen, die zu einem Zusatzeintrag (216) hinzugefügt oder von einem Entfernungseintrag (215) entfernt werden sollen, als eine Eintragungs-Beziehungseigenschaft (223) des Hinzufügungseintrags oder des Entfernungseintrags registriert werden, wobei die Regeln, die diese Wenn-Einträge in ihrem Wenn-Teil aufweisen, als eine Regel-Beziehungseigenschaft (222) des Hinzufügungseintrags oder Entfernungseintrags registriert werden, und wobei ein Variablenname in dem Hinzufügungseintrag oder Entfernungseintrag, der bestimmt, ob die zu dem Hinzufügungseintrag hinzuzufügende oder von dem Entfernungseintrag zu entfernende Tatsache seinem Beziehungseintrag entspricht, und die Bedingung für den Wert der Variablen als Lokalteileigenschaft (225) des Beziehungseintrags registriert werden, wodurch eine Tatsache getrennt als Tatsacheneigenschaften (226) entsprechender Einträge reserviert ist.
11. System nach Anspruch 9, in dem das Beziehungsnetz in Gemeinschafts-Teile (224, 230), die jeweils aus einen gemeinsamen Konstantenteil (234) aufweisenden Einträgen (231) zusammengesetzt sind, und Lokalteile (225, 250), die jeweils aus anderen Einträgen zusammengesetzt sind, eingeteilt ist.
12. System nach Anspruch 9, in dem die genannte Regel zu möglichen, ausführbaren Regeln (261) hinzugefügt wird, wenn mindestens ein Wenn-Eintrag der Regel ausführbar ist.
13. System nach Anspruch 9, in dem die Regel für alle Kombinationen von Variablen ausgeführt wird und, wenn als Ergebnis der Ausführung das Erzeugen oder Entfernen einer Tatsache nicht auftritt, diese Tatsache als Tatsacheneigenschaft des genannten Eintrags in Erinnerung behalten wird, bis das Erzeugen oder Entfernen auftritt.
14. System nach Anspruch 12, in dem die Tatsache, die mit einem Eintrag, der keine Variable oder Funktion enthält, übereinstimmt, entfernt wird, und die Regel mit dem genannten Eintrag in ihrem Wenn-Teil aus den möglichen, ausführbaren Regeln wirksam durch Durchqueren des Beziehungsnetzwerks speziell unter Verwendung der Regel-Beziehungseigenschaft des Eintrags entfernt wird.
15. System nach Anspruch 11, in dem der Gemeinschafts-Teil des Beziehungsnetzwerks so erzeugt wird, daß Bestandteile des Wenn-Teils und/oder des Ausführungsteils, die nicht Konstanten sind, durch einen speziellen Kode ersetzt werden, und der spezielle Kode alle Bestandteile bei Positionen ersetzt, wo die entsprechenden Konstanten von zwei Einträgen mit allen entsprechenden Konstanten, die einander gleich sind, nicht einander entsprechen, und in dem diese Ersetzungen für jeden Eintrag durchgeführt werden.
16. System nach Anspruch 15, in dem eine Tatsache in dem Beziehungsnetzwerk unter Verwendung eines Beziehungsfilters (105) durch das Erkennen eines in der Tatsache enthaltenen gemeinsamen Teils in Erinnerung gehalten wird, wobei der Beziehungsfilter so eingerichtet ist, daß der Eintragungskode in jedem gemeinsamen Teil lediglich dann gewonnen wird, wenn die Tatsache gelesen ist und den gleichen konstanten Teil wie der gemeinsame Teil aufweist.
17. System nach Anspruch 9 mit einer Eingabe des Assoziationsnetzwerks (106), um Einträge, die ein gemeinsames, konstantes Element aufweisen durch deren Kodierung miteinander in Beziehung zu setzen, einer Eingabe eines Assoziationsfilters (105) zum Einsetzen von Tatsachen in das Assoziationsnetzwerk, einer Eingabe von Regeln (201), die jeweils an irgendeiner Position eines Satzes angeordnete Konstanten-, Variablen- und Funktionselemente aufweisen, und einer Eingabe von Tatsachen.
18. System nach Anspruch 9, in dem unter den zu bestimmenden Regeln durch ihre Konstantenelemente eine feuernde Beziehung in dem genannten Beziehungsnetzwerk in Erinnerung behalten wird und zum Zeitpunkt der Ausführung der Regeln wirksam, mit geringem Suchaufwand, eine Entsprechung hergestellt wird, die davon abhängt, ob der Wert des Variablenelements jedes Eintrags der Regel in der als Tatsacheneigenschaft bezeichneten Speichereinrichtung zum Behalten von als Liste von Vektoren von Werten von Variablen in dem genannten Eintrag verteilten Tatsachen vorliegt.
19. System nach Anspruch 9, in dem eine Regel zur aufeinanderfolgenden Ausführung bestimmt wird, wobei unter Verwendung des Beziehungsnetzwerks ausführbare Regeln ausgewählt werden, wenn das Hinzufügen oder Entfernen einer neuen Tatsache als Ergebnis einer Regelausführung auftritt.
20. System nach Anspruch 16, in dem ein Abschlußknoten des Beziehungsfilters (105) nicht festgelegt ist, aber jeder der Knoten (500) des Beziehungsfilters beide Eigenschaften (504) des Abschlusses und des Nicht-Abschlusses aufweist.
21. System nach Anspruch 9, wobei das Gruppieren einer Anzahl von Regeln das Ausschließen einer Regel, die mindestens einen Bedingungseintrag enthält, für den der entsprechende Aussageeigenschafts-Speicherbeireich leer ist, aus dem genannten Satz von Kandidaturregeln zur Ausführung beinhaltet.
22. System nach Anspruch 21, wobei das Gruppieren einer Anzahl von Regeln die Auswahl einer Regel aus dem genannten Satz von Kandidaturregeln zur Ausführung beinhaltet, indem geprüft wird, ob die konkreten Werte der unter den einzelnen Bedingungseinträgen geteilten Variablen konsistent sind, wenn die ausgewählte Regel eine Vielzahl von Beidingungseinträgen aufweist, die jeweils durch einen Eintrag in dem genannten Beziehungs-Netzwerk dargestellt sind.
23. System nach Anspruch 9, wobei die Datenverarbeitungseinrichtung ferner folgende Einrichtungen beinhaltet:
(4) eine Einrichtung zum Löschen des konkreten Wertes der in den gelöschten Aussagedaten der Aussageeigenschafts- Speicherbereiche enthaltenen Variablen für alle Einträge, die den gelöschten Eigenschaftsdaten entsprechen, indem die Eintrags-Beziehungseigenschaft des Beziehungsnetzwerks verwendet wird, wenn eines der in der zweiten Speichereinrichtung gespeicherten Aussagedaten als Ergebnis der Ausführung der genannten Regel gelöscht wird, und
(5) eine Einrichtung zum Prüfen, ob die Aussageeigenschafts-Speicherbereiche, von denen die konkreten Werte gelöscht werden, leer sind und zum Ausschließen aller derjenigen Regeln, die entsprechende Bedingungsteile aufweisen, die jeweils Einträge beinhalten, die den bei der genannten Prüfung leer gefundenen Aussageeigenschafts-Speicherbereichen entsprechen, aus dem genannten Satz von Kandidaturregeln.
24. System nach Anspruch 9, wobei die Datenverarbeitungseinrichtung ferner folgende Einrichtungen aufweist:
(4) eine Einrichtung zum Hinzufügen des Teils, der in den erzeugten Aussagedaten enthalten ist und den konkreten Wert für die Variable darstellt, zu den Aussageeingenschafts- Speicherbereichen in dem Beziehungsnetzwerk für alle diejenigen Einträge, die den Aussagedaten entsprechen, wenn neue Aussagedaten als Ergebnis der Regelausführung erzeugt werden, und
(5) eine Einrichtung zum Prüfen der Aussageeigenschafts- Speicherbereiche, die den Bedingungseinträgen der Regeln entsprechen, die die Einträge mit den neu hinzugefügten konkreten variablen Werten aufweisen, um dadurch die genannte Regel zu dem Satz von Kandidaturregeln zur Ausführung hinzuzufügen, wenn alle Bedingungseinträge als Ergebnis der genannten Prüfung nicht leer gefunden wurden.
25. System nach Anspruch 9, wobei das Lesen der Regel von der ersten Speichereinrichtung das Gewinnen eines Musters von Ausdrücken, die anderen Einträgen gemeinsam sind, aus dem Eintrag der aus der ersten Speichereinrichtung gelesenen Regel beinhaltet, wobei eine Vielzahl von Einträgen, die das genannte Muster von Ausdrücken aufweisen, miteinander über das Beziehungsnetzwerk in Beziehung gesetzt sind.
DE8484111496T 1983-09-28 1984-09-26 Hochgeschwindigkeitverarbeitungssystem fuer rechneranlage. Expired - Fee Related DE3485999T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP58177955A JPH0616266B2 (ja) 1983-09-28 1983-09-28 計算機システムの高速処理方法
JP58177959A JPH0616267B2 (ja) 1983-09-28 1983-09-28 計算機システムの高速処理方法

Publications (2)

Publication Number Publication Date
DE3485999D1 DE3485999D1 (de) 1993-01-14
DE3485999T2 true DE3485999T2 (de) 1993-04-01

Family

ID=26498301

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8484111496T Expired - Fee Related DE3485999T2 (de) 1983-09-28 1984-09-26 Hochgeschwindigkeitverarbeitungssystem fuer rechneranlage.

Country Status (3)

Country Link
US (1) US4779208A (de)
EP (1) EP0137414B1 (de)
DE (1) DE3485999T2 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4999833A (en) * 1985-05-06 1991-03-12 Itt Corporation Network connectivity control by artificial intelligence
US4965882A (en) * 1987-10-01 1990-10-23 Digital Equipment Corporation Method for operating a parallel processing system and related apparatus
DE3785050D1 (de) * 1987-12-01 1993-04-29 Kurt Ammon Selbstentwickelndes computersystem.
JPH01147628A (ja) * 1987-12-03 1989-06-09 Sharp Corp 質問応答装置
JPH01283639A (ja) * 1988-03-11 1989-11-15 Internatl Chip Corp Vlsiハードウェア構成のルールベースエキスパートシステムの装置及び方法
JPH01284928A (ja) * 1988-05-12 1989-11-16 Toshiba Corp 推論処理装置
US5228116A (en) * 1988-07-15 1993-07-13 Aicorp., Inc. Knowledge base management system
US5121496A (en) * 1988-07-25 1992-06-09 Westinghouse Electric Corp. Method for creating, maintaining and using an expert system by recursively modifying calibration file and merging with standard file
JPH0245831A (ja) * 1988-08-08 1990-02-15 Ricoh Co Ltd 知識推諭処理装置
US5023807A (en) * 1988-10-31 1991-06-11 Digital Equipment Corporation System and method for producing discrimination nets for expert systems
EP0367377A3 (de) * 1988-10-31 1992-12-23 Digital Equipment Corporation System und Verfahren zur Erzeugung von zu Expertensystemen gehörenden Entscheidungsnetzen
US4970657A (en) * 1989-01-06 1990-11-13 U.S. Advanced Technologies, N.V. Expert knowledge system development tool
JPH07107668B2 (ja) * 1989-01-25 1995-11-15 株式会社日立製作所 知識処理ツールの推論方法
US5119318A (en) * 1989-04-17 1992-06-02 Del Partners L.P. Expert control system for real time management of automated factory equipment
US5390286A (en) * 1990-03-26 1995-02-14 Digital Equipment Corporation Reticular discrimination network for specifying real-time conditions
US5179633A (en) * 1990-06-29 1993-01-12 Digital Equipment Corporation Method and apparatus for efficiently implementing read-type procedural attachments in rete-like pattern matching environment
US5587903A (en) * 1994-06-22 1996-12-24 Yale; Thomas W. Artificial intelligence language program
US7643481B2 (en) * 1999-03-17 2010-01-05 Broadcom Corporation Network switch having a programmable counter
DE60031515T2 (de) * 1999-03-17 2007-08-23 Broadcom Corp., Irvine Netzwerkvermittlung
US7607135B2 (en) * 2001-06-15 2009-10-20 Hewlett-Packard Development Company, L.P. Apparatus and method for enhancing performance of a computer system
US8429453B2 (en) * 2009-07-16 2013-04-23 Hitachi, Ltd. Management system for outputting information denoting recovery method corresponding to root cause of failure
US9667734B2 (en) * 2013-12-09 2017-05-30 Electronics And Telecommunications Research Institute Push notification-based remote control method and apparatus for the same
KR102260085B1 (ko) * 2013-12-09 2021-06-03 한국전자통신연구원 푸시 알림 기반 원격 제어 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
US4779208A (en) 1988-10-18
EP0137414A2 (de) 1985-04-17
DE3485999D1 (de) 1993-01-14
EP0137414A3 (en) 1988-05-18
EP0137414B1 (de) 1992-12-02

Similar Documents

Publication Publication Date Title
DE3485999T2 (de) Hochgeschwindigkeitverarbeitungssystem fuer rechneranlage.
DE69030815T2 (de) Apparat und verfahren zur erzeugung von dokumenten
DE68926483T2 (de) Verfahren zur Verarbeitung hierarchischer Daten
DE3855212T2 (de) Verfahren zur Berechnung eines transitiven Abschlusses
DE2554442C2 (de) Vorrichtung zum Vergleich logischer Größen mit einer Gruppe logischer Bezugsgrößen
DE3750515T2 (de) Verfahren zur Zugriffssteuerung einer Datenbasis.
DE3855860T2 (de) Schaltungsveränderungssystem und -verfahren, Verfahren zur Erzeugung von invertierter Logik und Logikentwurfssystem
DE3416939A1 (de) Verfahren zur steuerung von betriebseinrichtungen
DE69026885T2 (de) Dynamische Selektion von Datenformaten für rekursiv geschachtelte logische Elemente
DE2712575C2 (de) Assoziatives Speichersystem in hochintegrierter Halbleitertechnik
DE10040987B4 (de) Verfahren und Vorrichtung für übereinstimmende Aktualisierungen von redundanten Daten in relationalen Datenbanken
DE102016216843A1 (de) Verteiltes Zusammenführen von Dateien
DE19814422A1 (de) System zur Lösung eines Randbedingungsproblems und Aufbau eines derartigen Systems
DE3850444T2 (de) Progammverwaltungsverfahren für verteilte Verarbeitungssysteme und angepasste Vorrichtung.
DE3855494T2 (de) Abfragevorrichtung und -methode
DE112007000051T5 (de) Dreiteiliges-Modell-basiertes Verfahren zur Informationsgewinnung und -verarbeitung
DE3855574T2 (de) Schnelles Verfahren zur bidirektionalen Inferenz-Strategie
DE4417393A1 (de) Eine Methode zur Herstellung spezifischer Programm-Systeme und Sammlungen von Unterstützungsprogrammen (Tools) zur Erleichterung von Programmsystem-Herstellungsarbeiten
DE69126720T2 (de) Schnelle Bestimmung von Unterzusammenhängen in einer Erbhierarchie
DE3689502T2 (de) System und Verfahren zur Programmstrukturierung durch Datentabellenübersetzung.
DE3853137T2 (de) Abfragevorrichtung.
DE60037429T2 (de) Verfahren zur Reduzierung von endlichen Steuerautomaten sowie entsprechendes rechnerlesbares Medium
DE3511920A1 (de) Elektronischer ratgeber
EP1099172B1 (de) Verfahren, anordnung und satz mehrerer anordnungen zur behebung mindestens einer inkonsistenz in einer datenbankmenge, die eine datenbank sowie mindestens eine kopiedatenbank der datenbank aufweist
EP0548398A1 (de) Verfahren zur Verwaltung von Programmen und Daten sowie Computersystem zur Durchführung des Verfahrens

Legal Events

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