DE3511920A1 - ELECTRONIC GUIDE - Google Patents

ELECTRONIC GUIDE

Info

Publication number
DE3511920A1
DE3511920A1 DE19853511920 DE3511920A DE3511920A1 DE 3511920 A1 DE3511920 A1 DE 3511920A1 DE 19853511920 DE19853511920 DE 19853511920 DE 3511920 A DE3511920 A DE 3511920A DE 3511920 A1 DE3511920 A1 DE 3511920A1
Authority
DE
Germany
Prior art keywords
rule
stack
statements
memory
primitive
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.)
Withdrawn
Application number
DE19853511920
Other languages
German (de)
Inventor
Daniel Howard Palos Verdes Estates Calif. Newell
Mark Robert Woodland Hills Calif. Nixon
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.)
Northrop Grumman Space and Mission Systems Corp
Original Assignee
TRW Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TRW Inc filed Critical TRW Inc
Publication of DE3511920A1 publication Critical patent/DE3511920A1/en
Withdrawn 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
    • 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/042Backward inferencing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence

Description

I I 920 DIPL.-ING. DIPL.-'TIRTSCH.-ING. RUPERT COETZI I 920 DIPL.-ING. DIPL .- 'TIRTSCH.-ING. RUPERT COETZ TRW Inc. SCHWEIGERSTRASSE 2TRW Inc. SCHWEIGERSTRASSE 2

IA-59 198 telefon: (089) 6620 51IA-59 198 phone: (089) 6620 51

TELEGRAMM: PROTECTPATENTTELEGRAM: PROTECT PATENT

TELEX: 524070TELEX: 524070

TELEFAX: VIA (089) 2 7I 60 63 (ill)TELEFAX: VIA (089) 2 7I 60 63 (ill) Elektronischer RatgeberElectronic advisor

Die Erfindung betrifft eine Datenverarbeitungsanlage, die als sogenanntes "Expertensystem", einsetzbar ist. Expertensysteme sind in der Technik der "künstlichen Intelligenz" bekannt und werden auch als "elektronischer Ratgeber" bezeichnet.The invention relates to a data processing system which can be used as a so-called "expert system". Expert systems are known in the art of "artificial intelligence" and are also referred to as "electronic advice".

Einen allgemeinen Überblick über derartige Anlagen bieten die Bücher "Priciples of Artificial Intelligence", von N. J. Nilsson, Tioga Publishing Company, Palo Alto, 1980; "Logic for Problem Solving", von R. Kowalski, North Holland, New York, 1979; "Introduction to Mathematical Logic", von E. Mendelson, Van Nostrand, New York,1963.The books "Principles of Artificial Intelligence", by N. J. Nilsson, Tioga Publishing Company, Palo Alto, 1980; "Logic for Problem Solving", by R. Kowalski, North Holland, New York, 1979; "Introduction to Mathematical Logic", by E. Mendelson, Van Nostrand, New York, 1963.

Im Stand der Technik existieren eine Vielzahl von Ansätzen zur Erzeugung von Schlußfolgerungssystemen, die auf bestimmten Regeln und Vorschriften beruhen. Im allgemeinen hängen aber diese Regelsysteme unerwünscht von den gegebenen Sprachen oder Betriebssystemen ab, welche ganz bestimmte Rechenanlagen erforderlich machen.A variety of approaches exist in the prior art for generating systems of inference based on certain rules and regulations are based. In general, however, these rule systems depend undesirably on the given languages or operating systems which require very specific computing systems.

Da bestehende, auf bestimmten Regeln basierende Anlagen der eingangs genannten Art eine eingebettete Sprache benutzen, welche Regeln beachtet und auslegt, weisen die bekannten Systeme nicht immer eine Syntax auf, die umfassend genug ist, um sogenannte Expertenregeln leicht ausdrücken zu können. Auch reichtSince existing systems of the type mentioned above that are based on certain rules use an embedded language, which If rules are observed and interpreted, the known systems do not always have a syntax that is comprehensive enough to allow so-called To be able to express expert rules easily. Also enough

V - ^ - 59 198 V - ^ - 59 198

die Qualität dieser Anlagen hinsichtlich der Erklärung von gezogenen Schlußfolgerungen nicht aus. Einige auf Regeln basierende Anlagen gehorchen auch nicht den herkömmlichen Vorschriften der mathematischen Logik, obwohl diese bereits erfolgreich für die Entwicklung einer sogenannten künstlichen Intelligenz eingesetzt worden ist.the quality of these systems in terms of the explanation of the drawn Conclusions are not drawn. Also, some rule-based systems do not obey traditional regulations mathematical logic, although this has already been successful for the development of what is known as artificial intelligence has been used.

Obwohl bereits intensive Bemühungen stattgefunden haben, besteht weiterhin ein Bedürfnis nach einem System, bei dem für jede gegebene Programmiersprache die Struktur vom Ausdruck getrennt ist und welches unabhängig ist von den jeweiligen Besonderheiten eines gegebenen Betriebssystems. Viele auf Regeln basierende Systeme sind durch ihre Abhängigkeit von den LISP-Quellcodcs beschränkt. Diese Systeme eignen sich im allgemeinen nicht für komplizierte Anwendungen beispielsweise des VAX/VMS-Systems der Firma DIGITAL EQUIPMENT CORPORATION.Although intensive efforts have been made, there remains a need for a system in which for every given programming language the structure is separated from the expression and which is independent of the particular characteristics of a given operating system. Many rule-based systems are dependent on the LISP source codcs limited. These systems are generally unsuitable for complex applications such as the VAX / VMS system of DIGITAL EQUIPMENT CORPORATION.

Die Programmsprachen FORTRAN und PASCAL sind für die meisten Systeme geeignet. PASCAL hat dabei zwei Hauptvorteile gegenüber FORTRAN hinsichtlich Systemen, die auf Ausführungsregeln basieren, obwohl FORTRAN diesen Zecken auch dienen kann. Zunächst ermöglicht PASCAL rekursive Prozedur-Aufrufe, also ein klares und kurzes Prozedur-Ausführungsschema für komplexe Suchvorgänge, wie sie bei deduktiven Prüftechniken erforderlich sind. Zweitens fördert PASCAL die dynamische Laufzeit-Zuordnung von Verbund-Listen, einem Speicherbetrieb, mit dem hinsichtlich der Einfachheit Datenfeld-Strukturen nicht mithalten können, deren Größen jeweils statisch in der Ubersetzungszeit bestimmt werden müssen.The program languages FORTRAN and PASCAL are suitable for most systems. PASCAL has two main advantages over this FORTRAN regarding systems based on rules of execution, although FORTRAN can also serve these ticks. First PASCAL enables recursive procedure calls, i.e. a clear one and short procedural execution scheme for complex searches required in deductive testing techniques. Second, PASCAL promotes the dynamic runtime allocation of Link lists, a storage operation with which data field structures cannot compete in terms of simplicity, their Sizes must be determined statically in the translation time.

Wird eine eingebettete Sprache für ein auf Regeln basierendes System implementiert, d.h. für die Regel-Sprache, welche die anzuwendenden deduktiven Überprüfungsprozeduren erkennt, ist PASCAL geeigneter als FORTRAN. Rekursion und Verknüpfungslisten sind zwei grundsätzlich Programmiermittel, wie sie in derIf an embedded language is implemented for a rules-based system, i.e. for the rule language that the recognizes the deductive verification procedures to be used, PASCAL is more suitable than FORTRAN. Recursion and linked lists are basically two programming tools, as described in the

Compiler- (Kompilier-) und Interpretiertechnik benutzt werden und ihre Verfügbarkeit in der Programmsprache ist ein Hauptgesichtspunkt bei der Auswahl der Sprache.Compiler (compilation) and interpretation techniques can be used and their availability in the program language is a major consideration in language selection.

Wird z.B. PASCAL als Implementierungsspräche und ein VMS (virtuelle Speichertechnik) als Verarbeitungsrechner für ein auf Regeln basierendes System gewählt, so bleibt trotzdem noch das Erfordernis, die quasi-forme:He Prozedur-Dokunientnt ion der sogenannten Expertenregeln in die eingebettete Sprache der Kegeln zu übersetzen, welche vom auf Regeln basierenden System erkannt werden. Es besteht ein Bedürfnis, Verfahren zu entwikkeln, um formale, auf Regeln und Vorschriften basierende Ausdrücke anzugeben hinsichtlich der Anweisungsabhänigkeit der Schritte, die vom Expertensystem bei der prozeduralen Lösung des Problems vorgenommen werden. Die Definitionen von Ausdrücken, die vom Expertensystem beim Ausdruck seiner Regeln benutzt werden, müssen direkt durch die formale Syntax gestützt werden.If e.g. PASCAL is used as the implementation language and a VMS (virtual storage technology) chosen as the host for a rules-based system, it still remains the requirement, the quasi-forme: He procedural documentation of the to translate so-called expert rules into the embedded language of the skittles, which is made by the rules-based system be recognized. There is a need to develop processes to specify formal expressions based on rules and regulations regarding the instruction-dependency of the Steps taken by the expert system in procedurally solving the problem. The definitions of expressions which are used by the expert system when expressing its rules must be supported directly by the formal syntax will.

Um Verständigkeit aufzuweisen, muß ein System eine Dokumentation der analytischen Strategien des Experten aufbauen und aufrechterhalten (die sogenannten Expertenregeln). Die Dokumentation der Expertenregeln wird anfänglich mittels einer gesteuerten Rückfrage-Technik mit Experten entwickelt. Wahrnehmungstechniken werden während dieser Übungen explizit in prozeduraler Form dokumentiert.In order to be understandable, a system must establish and maintain documentation of the expert's analytical strategies (the so-called expert rules). The documentation of the expert rules is initially controlled by means of a Consultation technology developed with experts. Perceptual techniques are made explicit in procedural terms during these exercises Documented form.

Die Expertendokumentation soll ausdrücklich bestimmte Urteile enthalten. Beispielsweise kann ein Experte die Begriffe "tief", "Mitte", "hoch", "außerhalb" und "unbrauchbar" verwenden. Parameter werden nützlicherweise dabei heuristisch quantifiziert, da die Expertensprache bei den meisten Anwendungen nicht sehr präzise ist. Die Semantik einer Syntax mit formalen Vorschriften erhält möglichst diese heuristische Information und erhält auch das Urteil des Experten, so wie er es fällt, z.B. "ist die Toleranz X nicht klein ...".The expert documentation should expressly contain certain judgments. For example, an expert can use the terms "deep", Use "middle", "high", "outside" and "unusable". parameter are usefully quantified heuristically, since the expert language is not very much in most applications is precise. The semantics of a syntax with formal rules receives and receives this heuristic information as far as possible also the judgment of the expert as he falls, e.g. "the tolerance X is not small ...".

Angesichts dieses Standes der Technik wird deutlich, daß ein Bedarf an einem verbesserten Expertensystem und entsprechenden Verfahren besteht, welche unabhängig sind von besonderen Verarbeitungsrechnern und -sprachen und welche frei anwendbar sind mit unterschiedlichen Software- und Hardware-Systemen.In view of this prior art, it can be seen that there is a need for an improved expert system and related There are procedures which are independent of special processing computers and languages and which can be freely applied with different software and hardware systems.

Die erfindungsgemäße Lösung dieser Aufgabe ist in den Patentansprüchen gekennzeichnet.The inventive solution to this problem is in the claims marked.

Die Erfindung besteht somit in einer Datenverarbeitungsanlage und einem Verfahren zum Betreiben einer solchen, wobei universelle Dateien als sogenannte Flachdateien (flat files) implementiert werden und wobei Schlußfolgerungen aufgrund der in den Flachdateien gespeicherten Daten maschinell getroffen werden. Die Daten in den Flachdateien stellen das Expertenwissen dar und sind getrennt von der Schlußfolgerungsvorrichtung.The invention thus consists in a data processing system and a method for operating such, with universal Files are implemented as so-called flat files and with conclusions based on the in the Data stored in flat files are taken by machine. The data in the flat files represent the expert knowledge and are separate from the inference device.

Die Flachdateien sind mehrdimensionale Zuordnungstafeln, welche ein bestimmtes Wissen darstellen, das bei der Lösung eines Problems benutzt wird oder bei einem Paradigma. Eine Schlußfolgerung erfolgt, wenn eine beobachtete Information mit den Flachdateien verarbeitet wird. Die Flachdatei-Struktur ist im einfachsten Falle eine herkömmliche zweidimensionale Tafel von Resultaten (Schlußfolgerungen) in Abhängigkeit von beobachtbaren Eigenschaften (Voraussetzungen, Ursachen). Jede dieser Zuordnungen wird als eine Regel (Vorschrift) behandelt und die Regeln kodifizieren das Zuordnungsvissen bezüglich der Daten, mit denen die Schlußfolgerungen durchgeführt werden, um das anzugehende Problem zu lösen.The flat files are multi-dimensional allocation tables which represent a certain knowledge that is required when solving a problem is used or at a paradigm. A conclusion is made when there is observed information with the flat files is processed. In the simplest case, the flat file structure is a conventional two-dimensional table of results (Conclusions) as a function of observable properties (conditions, causes). Any of these assignments is treated as a rule (regulation) and the rules codify the mapping knowledge regarding the data, with which the conclusions are carried out to address the issues Solve a problem.

Die Schlußfolgerungsautomatik erfolgt durch eine Rückwärtsoder Vorwärtsverkettung mittels einer auf den Regeln basierenden Deduktion. Das System arbeitet mit einer Berechnung, die schließlich eine Zielfeststellung auf der Basis eines beliebigen Ausgangszustandes (ein Satz von zuvor verifizierten Primitiv-Feststellungen) durch Anwendung der Erzeugungsregeln (P-Regeln) bestätigt.The automatic inference takes place through a backward or forward chaining by means of one based on the rules Deduction. The system works with a computation which eventually makes a determination on the basis of an arbitrary one Initial state (a set of previously verified primitive statements) confirmed by applying the generation rules (P rules).

1 1 q ?1 1 q?

ι i3^y _J6 _ ι i3 ^ y _J 6 _ 59 19859 198

Gemäß einem Ausführungsbeispiel wird zur Bestätigung einer Zielfeststellung eine Rückwärtsverkettung derart durchgeführt, daß durch die angewandten Regeln Zwischenfeststellungen abgeleitet werden bis jede neue Zwischenfeststellung durch den Ausgangszustand bestätigt ist. Auf diese Weise wird eine Zielfeststellung dadurch gesichert, daß rückwärts einzelne Prüfungsschritte zusammengesetzt werden, bis nur noch solche bekannten Schritte übrigbleiben, deren Richtigkeit bekannt ist.According to one embodiment, a backward chaining is carried out to confirm a target determination in such a way that that interim determinations are derived through the applied rules up to each new interim determination by the initial state is confirmed. In this way, the determination of the target is ensured by combining individual test steps backwards until only those are known Steps remain that are known to be correct.

Bei der Erfindung besteht das Erläuterungssystem darin, daß für jeden der bei der Prüfung durchgeführten Schritte ein einfacher Bericht gebildet wird. Der Bericht entspricht der Begründung eines Experten für die Gewinnung der Schlußfolgerung bei einer Prüfung. Die Erläuterungseinrichtung spürt deshalb nur die einzelnen Schritte der Schlußfolgerungsmaschine auf und berichtet sie. Der Bericht besteht in einer text-orientierten Anzeige, welche zu dem Zeitpunkt geschrieben wird, wenn der Regel-Satz entwickelt wird. Für jede in einer Regel (Vorschrift) enthaltene Feststellung wird ein bestätigender Satz in Englisch und ein das Gegenteil ausdrückender, verneinender Satz ebenfalls in Englisch aufgestellt. Die Erläuterungsprozedur erhält den Index einer Feststellung, deren mnemotechnischer Identifizierer im Ausdruck einer Regel erscheint, die bei einem bestimmten Prüfschritt herangezogen wird. Der Feststellungsindex wird dazu benutzt, den bestätigenden oder nicht-bestätigenden Satz für die Anzeige wiederzugewinnen, je nach dem, ob die mnemonische Kurzform für die Feststellung in der Regel bestätigt oder negiert worden ist.In the invention, the explanatory system is that for each of the steps performed in the test, a simple one Report is formed. The report corresponds to an expert's rationale for reaching the conclusion of a Test. The explanatory device therefore only tracks down the individual steps of the inference engine and reports she. The report consists of a text-oriented display, which is written at the point in time when the rule sentence is being developed. For each statement contained in a rule (regulation) there is an affirmative sentence in English and a the opposite, negative sentence also set up in English. The explanation procedure receives the index a statement, the mnemonic identifier of which appears in the printout of a rule that is used in a certain test step is used. The determination index is used to determine the affirmative or non-affirmative rate for the Recover display, depending on whether the mnemonic short form for the statement usually confirms or negates it has been.

Zusammenfassend läßt sich feststellen, daß mit der Erfindung ein Expertensystem, also ein elektronischer Ratgeber, mit einer Daten enthaltenden Wissensbasis, Informationen, Expertenwissen und logischen Begründungsmitteln, geschaffen wird, welches nicht von einem besonderen Verarbeitungscomputer oder einer besonderen Programmsprache abhängt. Es wird also ein tragbaresIn summary, it can be stated that with the invention an expert system, so an electronic adviser, with a Knowledge base containing data, information, expert knowledge and logical means of justification, is created which does not depend on a particular processing computer or a particular programming language. So it will be a wearable one

3 s 11 q ? η3 s 11 q? η

' Iy/U -Jg- 59 198' Iy / U -Jg- 59 198

Expertensystem bereitgestellt, welches mit jedem Mehrzweckcomputer verwendbar ist und welches als eine besondere Computer-Hardware implementiert werden kannn. Die Hardware-Vorrichtung ermöglicht schnellere Laufzeiten gegenüber gewöhnlichen Mehrzweckcomputern, verbraucht weniger Leistung und nimmt weniger Raum ein.Expert system provided which works with any general purpose computer is usable and which can be implemented as special computer hardware. The hardware device enables faster runtimes compared to common multi-purpose computers, uses less power and takes up less space.

Nachfolgend wird die Erfindung anhand der Zeichnung näher erläutert. Es zeigen:The invention is explained in more detail below with reference to the drawing. Show it:

Fig. 1 ein Blockdiagramm eines erfindungsgemäßen Expertensystems; 1 shows a block diagram of an expert system according to the invention;

Fig. 2 ein Blockdiagramm einer Flachdatei gemäß der Erfindung;Figure 2 is a block diagram of a flat file in accordance with the invention;

Fig. 3 eine gekürzte Daten-Aufzeichnungsdarstellung einer Flachdatei;Fig. 3 is an abbreviated data record representation of a Flat file;

Fig. 4 ein Blockdiagramm einer Schlußfolgerungseinrichtung gemäß der Erfindung zum Vorwärtsverketten; undFig. 4 is a block diagram of an inference device according to the invention for forward concatenation; and

Fig. 5 ein Blockdiagramm einer Schlußfolgerungseinrichtung gemäß der Erfindung zum Rückwärtsverketten.Figure 5 is a block diagram of an inference device according to the invention for backward concatenation.

Fig. 1 zeigt ein Blockdiagramm der erfindungsgemäßen Vorrichtung. Der Wissens-Basisspeicher 10 speichert N-dimensionale Datenfelder, welche Flachdateien genannt werden. Der Speicher 10 ist typischerweise ein RAM (Speicher mit wahlfreiem Zugriff) mit adressierbaren Speicherzellen, wobei jede Adress-Speicherzelle eine Flachdatei in Form von logischen Werten "1" und "0" speichert. Eingänge in den Speicher 10 bestehen aus Feststellungen (= Aussagen). Es sind verschiedene Arten von Feststellungen zu unterscheiden. Die Beziehungen zwischen den Feststellungen heißen Regeln (Vorschriften). Jede Regel weist eine Kombination einer vorausgesetzten Feststellung und einer geschlußfolgerten Feststellung auf. Beispielsweise wird durch eine Boole'sehe Kombination von einer oder mehreren vorausgesetztenFig. 1 shows a block diagram of the device according to the invention. The knowledge base memory 10 stores N-dimensional ones Data fields, which are called flat files. The memory 10 is typically a RAM (random access memory) with addressable memory cells, each address memory cell stores a flat file in the form of logical values "1" and "0". Entries into memory 10 consist of determinations (= Statements). A distinction must be made between different types of findings. The relationships between the findings are called rules (regulations). Each rule has a combination of a presupposed finding and an inferred one Finding on. For example, a Boolean combination of one or more presupposes

I WlV _ j _ 59 198I WlV _ j _ 59 198

Feststellungen eine andere Boole'sehe Kombination aus einer oder mehreren Folge-Feststellungen definiert. Vorausgesetzte (oder auch als vorausgehende zu bezeichnende) Feststellungen, welche das Ergebnis einer Beobachtung, beispielsweise durch den Menschen, sind, werden als "primitive" (Feststellungen) bezeichnet. Zum Zwecke der Darstellung sollen vorausgesetzte Feststellungen auf der linken Seite eines Ausdruckes stehen, der durch das Symbol ":=" getrennt ist, während die Folge-Feststellungen auf der rechten Seite dieses Symboles stehen sollen. Die Ausdrücke "links" und "rechts" haben aber keine andere Bedeutung, als daß nur die Voraussetzungen und die Folgen (Konsequenzen) voneinander getrennt sind. Die Voraussetzungen erscheinen nur auf der linken Seite des Regel-Symbols (:=) und die auch als Ziele zu bezeichnenden Folgen erscheinen ausschließlich auf der rechten Seite des Regel-Symgols (:=). Eine Folge, welche bei der einen Regel auf der rechten Seite erscheint, kann bei einer anderen Regel auf der linken Seite auftreten. Im allgemeinen ist deshalb eine Folge nur ein Zwischenergebnis aufgrund einer "primitiven" Feststellung und eines Zieles.Findings another Boolean combination of one or several follow-up findings are defined. Presupposed (or also to be designated as preceding) determinations, which are the result of an observation, for example by humans, are referred to as "primitive" (statements). For the purpose of illustration, presupposed statements should be on the left side of a printout, which is separated by the symbol ": =", while the subsequent statements should be on the right side of this symbol. The terms "left" and "right" have no other meaning than that only the requirements and the consequences (consequences) are separated from each other. The requirements only appear on the left side of the rule symbol (: =) and the consequences, which can also be designated as goals, appear exclusively on the right-hand side of the rule symbol (: =). One Consequences that appear on the right-hand side for one rule can occur on the left-hand side for another rule. In general, therefore, a sequence is only an intermediate result due to a "primitive" statement and one Target.

Eine Flachdatei weist eine oder mehrere Regeln auf, die sich durch gemeinsame Eigenschaftsarten (d.h., gemeinsame Arten von Feststellungen), jedoch unterschiedliche Eigenschaftswerte (d.h. die Feststellungen können unterschiedliche logische Werte "1" oder "0" annehmen) auszeichnen. Da die Folgen aus der einen Flachdatei als Voraussetzungen in einer anderen Flachdatei dienen können, sind die Flachdateien indirekt miteinander dadurch verbunden, daß Folge-Feststellungen aus unterschiedlichen Dateien entweder rechts oder links des Regel-Symbols (:=) erscheinen können. Die Informationen in den Flachdateien sind somit über Folge-Feststellungen miteinander verbunden, doch ist kein Zeiger vorgesehen, welcher eine Flachdatei mit einer anderen Flachdatei verknüpft.A flat file has one or more rules that are divided by common types of properties (i.e., common types of Findings), but different property values (i.e. the findings can have different logical values "1" or "0"). Because the sequences from one flat file serve as prerequisites in another flat file can, the flat files are indirectly linked by the fact that follow-up statements from different files can appear either to the right or to the left of the rule symbol (: =). The information in the flat files is thus connected to one another via follow-up determinations, but no pointer is provided which connects one flat file with another Linked flat file.

Die im Speicher 10 gespeicherten Regeln werden mittels einer Adresse oder eines Namens identifiziert, welcher Regel-ID (Regel-Identifizierer) genannt wird. Jede Regel weist ein Feld zum Identifizieren der Art der Regel auf, ob inklusiv oder exklusiv, sowie ein oder mehrere Felder zum Identifizieren jeder der Feststellungen der Regel zusammen mit der Beziehung zwischen der vorausgesetzten und der folgenden Feststellung.The rules stored in the memory 10 are by means of a Address or name identifies which rule ID (Rule identifier) is called. Each rule has a field to identify the type of rule, whether inclusive or exclusive, and one or more fields identifying each of the rule's determinations along with the relationship between the presupposed and the following statement.

Bei inklusiven Regeln muß eine Rückwärtsverkettung stattfinden, doch ist bei exklusiven Regeln sowohl eine Vorwärts- als auch eine Rückwärtsverkettung möglich. Ein Beispiel für eine Regel ist wie folgt auszudrücken:Inclusive rules require backward chaining, but exclusive rules have both forward and forward chaining backward chaining is possible. An example of a rule can be expressed as follows:

P1 & P2 := P3.P 1 & P 2 : = P 3 .

In dieser Regel sind P. & P~ die Voraussetzungen und P-. ist die Folge. Die Regel stellt fest, daß ein logisches UND der Feststellungen P1 und P2 die Feststellung P3 impliziert.In this rule, P. & P ~ are the requirements and P-. is the consequence. The rule states that a logical AND of the determinations P 1 and P 2 implies the determination P 3.

Neben den Regeln speichert der Speicher 10 auch eine Feststellungstafel. Die Feststellungstafel ist eine Anordnung aller Feststellungen innerhalb der Wissensbasis und ist in drei Abschnitte aufgeteilt. Der erste Abschnitt ist ein Primitiv-Speicher, welcher Adress-Speicherzellen aufweist, welche durch die Bezeichnungen der Primitiv-Feststellungen oder Identifizierungen (ID) adressiert sind. Alle möglichen Primitiv-Feststellungen des Systems sind im Primitiv~Speicher gespeichert. Jede Speicherzelle weist ein Feld auf, um den Regel-ID für jede Regel zu speichern, innerhalb derer die Primitiv-Feststellung zusammen mit einem Feld für einen Erläuterungstext erscheint, welcher immer dann benutzt wird, wenn die Feststellung bestätigt wird.In addition to the rules, the memory 10 also stores a determination table. The determination board is an arrangement of all the determinations within the knowledge base and is in three sections divided up. The first section is a primitive memory which has address memory cells which are defined by the Names of the primitive statements or identifications (ID) are addressed. All sorts of primitive statements of the system are stored in primitive memory. Each memory cell has a field to assign the rule ID for each rule save, within which the primitive statement appears together with a field for an explanatory text, which is used whenever the statement is confirmed.

Die Feststellungstafel weist zusätzlich noch einen Folgen-Speicher (für die Schlußfolgerungen) auf, der durch die Namen oder Identifizierungen der Folge-Feststellungen adressiert wird. Alle möglichen Folge-Feststellungen aus der Wissensbasis werdenThe determination table also has a sequence memory (for the conclusions) addressed by the names or identifications of the consequential statements. All possible consequential findings from the knowledge base are made

- ? - 59 198- ? - 59 198

in dem Folgen-Speicher gespeichert. Jede Adress-Speicherzelle für jede Folge-Feststellung weist ein Feld auf, um den Regel-Identifizierer (Regel-ID) für jede Regel zu speichern, in welcher die Folge-Feststellung auftaucht. Der Folgen-Speicher weist zusätzlich noch ein Feld für Erläuterungstexte auf, welches immer dann benutzt wird, wenn die Folge bestätigt wird.stored in the episode memory. Each address memory cell for each sequence determination has a field for the rule identifier (Rule ID) for each rule in which the subsequent statement appears. The episode memory also has a field for explanatory texts, which is always used when the sequence is confirmed.

Die Feststellungstafel weist weiterhin einen Ziel-Speichor ciui , der durch die Namen oder Identifizierungen von Ziel-Feststellungen adressierbar ist. Alle möglichen Ziel-Feststellungen aus der Wissensbasis erscheinen im Ziel-Speicher. Jede Speicherzelle für eine Ziel-Feststellung weist ein Feld zum Speichern der Regel-Identifizierung auf, und zwar für jede Regel, innerhalb derer das Ziel auftritt. Weiterhin ist ein Feld für einen Erläuterungstext vorgesehen, welches immer dann benutzt wird, wenn das Ziel bestätigt wird.The determination board also has a target memory ciui, which is addressable by the names or identifications of target statements. All possible target statements the knowledge base appear in the target memory. Each memory cell for a destination determination has a field for storing the Rule identification for each rule within which the target occurs. There is also a field for an explanatory text which is used whenever the destination is confirmed.

In Fig. 1 ist die Schlußfolgerungseinrichtung 11 eine Apparatur, welche die Informationen aus dem Wissens-Basisspeicher 10 benutzt, um Festzustellen, ob bestimmte Ziele bei einem gegebenen Satz von ausgewählten Eingangs-Primitivfeststellungeh (d.h. Eingangs-Beobachtungen) wahr ist. Die Eingangs-Primitivfeststellungen werden entweder durch Vorwärts- oder Rückwärtsverkettung geprüft, um zu bestimmen, ob sie den Regeln der Regel-Tafel genügen. Die Schlußfolgerungseinrichtung prüft die Primitivfeststellungen und die Regeln, um zu bestimmen, ob den Zielen entsprochen ist. Die von der Schlußfolgerungseinrichtung 11 befolgte Sequenz, durch welche die einzelnen Feststellungen als richtig ermittelt werden, wird im Erläuterungsspeicher 13 aufgezeichnet. Danach erfolgt eine Abfrage des Speichers 13, um nacheinander jede Feststellung zu erreichen und zusammen mit dem Erläuterungstext aus der Feststellungstafel, welcher dieser Feststellung entspricht, wird ein sogenannter "Experten-Text" erzeugt, welcher nacheinander erklärt, wie die einzelnen Ziele als richtig bestätigt worden sind.In FIG. 1, the inference device 11 is an apparatus which collects the information from the knowledge base memory 10 used to determine whether certain goals are given for a given set of selected input primitive determinations (i.e. Input observations) is true. The initial primitive statements are checked by either forward or backward chaining to determine whether they conform to the rules of the rule board suffice. The inference engine examines the primitive statements and rules to determine whether the goals is complied with. The sequence followed by the inference device 11, by which the individual determinations as are correctly determined is recorded in the explanatory memory 13. The memory 13 is then queried in order to to reach each statement one after the other and, together with the explanatory text from the statement table, which of these A so-called "expert text" is generated, which explains one after the other how the individual goals have been confirmed as correct.

' iyZU - ye - 59 198' iyZU - ye - 59 198

In Fig. 1 dient die Schnittstelle 12 der Eingabe von Anforderungen. Ist die Benutzer-Schnittstelle 12 ein Anwendungsprogramm, so ist dieses im Verarbeitungsrechner 14 resident. Der Verarbeitungsrechner 14 weist typischerweise Hardware 16 und ein Betriebssystem 15 auf. Die Schnittstelle 12 weist typischerweise ein sogenanntes "Terminal" (Tastatur) oder eine andere Eingabe/Ausgabe-Einrichtung auf, welche mit dem Verarbeitungsrechner 14 einsetzbar ist. Die Benutzer-Schnittstelle 12 dient dazu, daß Primitiv-FestStellungen eingegeben werden, mit welchen die Schlußfolgerungseinrichtung arbeitet, um zu bestimmen, ob den Zielen durch die Regeln des Expertensystems entsprochen wird.In Fig. 1, the interface 12 is used to enter requests. If the user interface 12 is an application program, so this is resident in the host computer 14. The host computer 14 typically includes hardware 16 and 16 an operating system 15. The interface 12 typically has a so-called "terminal" (keyboard) or another Input / output device which can be used with the host computer 14. The user interface 12 is used to enter primitive determinations, with which inference engine operates to determine whether the objectives are met by the rules of the expert system will.

Fig. 2 zeigt eine mehrdimensionale Zuordnungstafel, welche eine Wissensstruktur eines Problem-Lösungsverfahrens oder eines Paradigmas repräsentiert. Derartige mehrdimensionale Zuordnungstafeln werden "Flachdateien11 genannt. Die Flachdatei bietet eine übersichtliche, zweidimensionale Tafeldarstellung von Ergebnissen (Konsequenzen, Schlußfolgerungen), in Abhängigkeit von beobachtbaren Eigenschaften (Voraussetzungen, Ausgangs-Feststellungen) . Jede derartige Zuordnung bildet eine Regel (Vorschrift) und jede Regel beinhaltet das Verknüpfungswissen in Form von Daten, aufgrund derer Schlußfolgerungen durchgeführt werden, um ein bestimmtes Problem zu lösen.FIG. 2 shows a multidimensional assignment table which represents a knowledge structure of a problem-solving method or a paradigm. Such multi-dimensional assignment tables are called "flat files 11. The flat file offers a clear, two-dimensional table representation of results (consequences, conclusions), depending on observable properties (prerequisites, initial findings). Each assignment of this type forms a rule (regulation) and each rule contains the linkage knowledge in the form of data, on the basis of which inferences are made in order to solve a particular problem.

Fig. 2 zeigt ein Beispiel für die Regel P1VP2V-P3 := P4 & P5. Diese Regel stellt fest, daß ein logisches ODER von P., P3 und (-P-J ein logisches UND von P. und P1. impliziert. Die Voraussetzung ist hier P-VP?V(-P_), während die Folge P4 & P5 ist.Fig. 2 shows an example of the rule P 1 VP 2 VP 3 : = P 4 & P 5 . This rule states that a logical OR of P., P 3 and (-PJ implies a logical AND of P. and P 1. The prerequisite here is P-VP ? V (-P_), while the sequence P 4 & P is 5 .

Die Grundidee des Paradigmas ist die Benutzung von Beobachtungen, um die Zahl der möglichen Ergebnisse zu reduzieren, indem nur diejenigen in Frage kommenden Ergebnisse beibehalten werden, deren zugehörige Eigenschaften mit den beobachteten übereinstimmen. Aus dem ursprünglichen Satz von in Frage kommenden Ergebnissen (auch "Kandidaten" genannt), welcherThe basic idea of the paradigm is to use observations to reduce the number of possible outcomes by only those candidate results are retained, their properties associated with those observed to match. From the original set of eligible outcomes (also called "candidates"), which one

35Π920 ./.35Π920 ./.

typischerweise alle möglichen Ergebnisse enthält, werden nur diejenigen ausgewählt, deren Eigenschaften dem vorliegenden Satz von Beobachtungen entsprechen. Auf diese Weise wird ein neuer Satz von Kandidaten mittels neuer Beobachtungen aus einem vorangegangenen Satz von Kandidaten abgeleitet.typically contains all possible outcomes will only selected those whose properties correspond to the present set of observations. This way becomes a new set of candidates derived from a previous set of candidates by means of new observations.

Die Darstellung mittels Falchdateien löst zwei Konstruktionsprobleme. Zunächst ermöglichen die Flachdateien eine von bestimmten Programmsprachen unabhängige Darstellung der Regel-Basis, welche benutzt wird, um mittels des Paradigmas (der Problem-Lösungstechnik) das interessierende Problem zu lösen. Diese Unabhängigkeit von einer bestimmten Sprache ermöglicht die Verschiebung des Zeitpunktes, zu dem die Computer-Hardware und die -Sprache gewählt werden bis zur Implementierungsphase. Häufig wird eine LISP-Variante für die Implementierung benutzt. Die Benutzung von Flachdateien ermöglicht aber zugleich den Einsatz unterschiedlichster Soft- und Hardware, z.B. ROSIE mit INTERSLIP/20 und PASCAL mit DEC VAX3,0.The representation by means of fold files solves two construction problems. First of all, the flat files allow one of specific Program language-independent representation of the rule base, which is used in order to use the paradigm (the problem-solving technique) solve the problem of interest. This independence from a particular language enables Postponement of the point in time at which the computer hardware and language are selected until the implementation phase. Frequently a LISP variant is used for the implementation. The use of flat files enables the Use of different software and hardware, e.g. ROSIE with INTERSLIP / 20 and PASCAL with DEC VAX3,0.

Das zweite durch die Flachdateien gelöste Konstruktionsproblem betrifft die Notwendigkeit eines Daten-Abstraktionsverfahrens beim Darstellen der Regel-Basis für die Anwendungen des Expertensystems. Die Tafeldarstellung der Regel-Basis mittels der Flachdatei ermöglicht ein klares und einfaches Verständnis der Regeln. Falsche Ansätze und Unzulänglichkeiten der Regel-Basis sind leicht nachweisbar, sobald die Besonderheiten des zu lösenden Problems klar verstanden sind.The second design problem solved by the flat files concerns the need for a data abstraction technique when displaying the rule base for the applications of the expert system. The table display of the rule base using the Flat file allows for a clear and easy understanding of the rules. Wrong approaches and inadequacies in the rule base are easily detectable once the specifics of the problem to be solved are clearly understood.

Bei einer gegebenen Flachdatei mit beobachtbare Eigenschaften mit Ergebnissen verbindenden Regeln besteht das Hauptproblem beim Implementieren in der richtigen Auswahl der richtigen Datenstruktur-Implementierungstechnik. Es ist wünschenswert, Daten-Strukturen zu wählen, die relativ gut geeignet sind für unterschiedliche Sprachen, beispielsweise ROSIE oder PASCAL.Given a flat file with rules linking observable properties to results, the main problem is when implementing in the correct selection of the correct data structure implementation technique. It is desirable to choose data structures that are relatively well suited for different languages, for example ROSIE or PASCAL.

- « - 59 198- «- 59 198

Bei der Verwendung von ROSIE werden die in der Flachdatei kodifizierten Zuordnungen durch Behauptungen der Art "x ist eine Eigenschaft des Objektes y" repräsentiert. Bei Verwendung von PASCAL ist die Flachdatei nur spärlich belegt, da nur verhältnismäßig wenige von allen möglichen Zuordnungen ausgewählt werden. Da es eine Vergeudung von Speicherkapazität darstellen würde, eine Flachdatei mit einer zweidimensionalen Boole'sehen Datenanordnung (die meisten Werte hätten den Wert "falsch") zu belegen, wird die Flachdatei stattdessen mit einem Paar von Zuordnungs-Listen-Datenfeldern implementiert, wobei das erste alle Eigenschaften jedes Resultates (Ergebnisses) auflistet, während das zweite alle Ergebnisse mit allen Eigenschaften auflistet. In beiden Fällen ist die Flachdatei hinreichend abstrakt und bezüglich der Regel-Basis derart sprachenunabhangig, daß die Vorteile jeder Sprache, insbesondere hinsichtlich der Datenstruktur, genutzt werden können. Darüberhinaus ist es einfach, zu gewährleisten, daß die zwei Implementierungen semantisch äquivalent sind.When using ROSIE, those in the flat file are codified Assignments are represented by assertions of the type "x is a property of the object y". When using PASCAL, the flat file is only sparsely occupied, since only a relatively small number of all possible assignments are selected. Since it would be a waste of storage capacity, see a flat file with a two-dimensional boolean Data arrangement (most values would have the value "false"), the flat file is instead filled with a pair of mapping list data fields implemented, the first listing all properties of each result (result), while the second lists all results with all properties. In both cases, the flat file is sufficiently abstract and language-independent with regard to the rule base in such a way that the advantages of each language, especially with regard to the data structure, can be used. Moreover, it is easy to ensure that the two implementations are semantic are equivalent.

Der Entwurf eines Standard-Paradigmas für Flachdateien muß einen Betrieb ohne Bezugnahme auf eine besondere Sprache oder Hardware ermöglichen. Die Flachdatei-Repräsentation ist besonders nützlich in Kombination mit Standard-Paradigmen.The design of a standard paradigm for flat files must operate without reference to any particular language or language Enable hardware. The flat file representation is particularly useful in combination with standard paradigms.

Herleitung durch regelgerechte Rückwärtsverkettung:Derivation through regular backward chaining:

Das Paradigma der künstlichen Intelligenz, welches für das Parameter-Auswahlproblem benutzt wird, kann als regelgerechtes, rückwärts verkettendes, deduktives Schlußfolgerungssystem bezeichnet werden. In einem solchen System ist eine Rechnung eine Feststellung der Art "Bestätigung eines Zieles aufgrund des Ausgangszustandes" (eines Satzes von zuvor verifizierten Primitivfeststellungen) durch Anwendung sogenannter "Produktionsregeln", welche "P-Regeln" genannte werden. P-Regeln sind sogenannte "Wenn-Dann-Relationen", welche Gesetzmäßigkeiten in einem bestimmten Problemkreis wiedergeben.The Artificial Intelligence Paradigm which is responsible for the parameter selection problem can be referred to as a regular, backward-chaining, deductive inference system will. In such a system, an invoice is a "confirmation of a destination based on the determination" Initial state "(a set of previously verified primitive statements) by applying so-called "production rules", which are called "P-rules". P-rules are so-called "If-then-relations", which regularities in one reflect certain problem areas.

Syntaktische Struktur der Produktionsregeln:Syntactic structure of the production rules:

In einem Rückwärtsverkettungs-Herleitungssystem ist eine Produktionsregel durch ein "Wenn-Dann"-Zeichen, ":=", gebildet, wobei die linken und rechten Seiten (Voraussetzung bzw. Folge der Regel genannt) Boole'sehe Kombinationen von einfachen Feststellungen bilden. Die einfachen Feststellungen werden in der Fachsprache auch "Atome" genannt. Nachfolgend wird als "Buchstabe" jede einfache Feststellung (Atom) bezeichnet. Die Voraussetzung einer Produktionsregel kann eine beliebige Konjunktion (Boole'sches Produkt) von Buchstaben sein und die Folge kann eine beliebige ODER-Verknüpfung (Boole"sehe Summe) von Buchstaben sein.In a backward chaining derivation system, there is a production rule by an "if-then" sign, ": =", with the left and right sides (requirement or consequence usually called) Boolean combinations of simple statements form. The simple statements are also called "atoms" in technical terminology. In the following, the "letter" every simple statement (atom) denotes. The requirement of a production rule can be any conjunction (Boolean product) of letters and the sequence can be any OR combination (Boolean "see sum") of Be letters.

Die Symbole für die Konjunktion sind das UND-Zeichen und der umgekehrte Keil, während die Symbole für die ODER-Verknüpfung (Disjunktion) der vertikale Strich und der Keil sind. Das Symbol für die Negation ist der Bindestrich. Atome (einfache Feststellungen) werden durch mnemotechnische Identifizierer mit alpha-numerischen Zeichen zusammen mit Unterstreichungszeichen repräsentiert, wobei die erste Ziffer der mnemotechnischen Darstellung jeweils alphabetisch ist.The symbols for the conjunction are the AND sign and the inverted wedge, while the symbols for the OR combination (Disjunction) the vertical line and the wedge are. The symbol for the negation is the hyphen. Atoms (simple statements) are identified by mnemonic identifiers with alphanumeric characters together with underscores represented, whereby the first digit of the mnemonic representation is always alphabetical.

Bestätigungen durch Rückwärtsverkettung:Confirmations through backward chaining:

Bei der Bestätigung eines Zieles werden die Regeln angewandt, um Zwischen-Ziele abzuleiten bis jedes neue Zwischen-Ziel durch den Ausgangszustand bestätigt ist (Wahrheits-Zuordnung). Auf diese Weise wird eine Ziel-Feststellung dadurch gesichert, daß seine Bestätigung über eine Rückwärtsverkettung von Prüfschritten gewonnen wird, bis nur noch Schritte übrigbleiben, deren Wahrheit bekannt ist. Beispielsweise kann der Satz:Upon confirmation of a goal, the rules are applied to derive intermediate goals until each new intermediate goal is passed the initial state is confirmed (truth assignment). In this way, target establishment is secured by its confirmation via a backward chaining of test steps is won until there are only steps left whose truth is known. For example, the sentence:

1.1. A :A: = B= B • —• -
EE. GG
2.2. -C-C & -D& -D EE. ZS ZS 3.3. B &B & F &F &

-H- 59 198-H- 59 198

4. TO := F4. TO: = F

5. Tl & -H := F5. Tl & -H: = F

6. T2 & -J := F6. T2 & -J: = F

von Produktionsregeln (1-6) dazu benutzt werden, um das Ziel "G" durch Anwendung der Regeln, 3, 1, 4 und 2 zu bestätigen, wobei die Buchstaben "A", "TO", "-C" und "D" durch einen Ausgangszustand bestätigt werden.of production rules (1-6) are used to confirm target "G" by applying rules 3, 1, 4 and 2, where the letters "A", "TO", "-C" and "D" represent an initial state beeing confirmed.

Die Darstellung der P-Regeln in der Flachdatei:The representation of the P-rules in the flat file:

Die P-Regeln (Produktionsregeln) erfordern die explizite Darstellung von Negationen von Atomen (einfachen Feststellungen) mittels der Regel-Struktur. Fig. 2 zeigt eine Darstellung von P-Regeln in der Flachdatei· Für jede Produktionsregel der P-Regel-Form ist eine Flachdatei gemäß Fig. 2 vorgesehen. Hierdurch ist ein Verfahren bereitgestellt, um eine Flachdatei für jede gegebene Produktionsregel in der P-Regel-Form zu entwerfen. Für eine PASCAL-Implementierung des Schlußfolgerungssystems ergibt sich eine raumsparendere Datenstruktur (entsprechend der Flachdatei-Darstellung gemäß Fig. 2) aus dem Umstand, daß die Spalten jeder Flachdatei des in Fig. 2 gezeigten Typs entweder leer sind oder genau die gleichen Zeilen auswählen. Falls also η-Atome vorgesehen sind, wird die Komplexität derThe P-rules (production rules) require the explicit representation of negations of atoms (simple statements) using the rule structure. Fig. 2 shows a representation of P-rules in the flat file · For each production rule of the P-rule form a flat file according to FIG. 2 is provided. This provides a method to create a flat file for draft any given production rule in P-rule form. For a PASCAL implementation of the inference system a more space-saving data structure results (corresponding to the flat file representation according to FIG. 2) from the fact that the columns of each flat file of the type shown in Figure 2 are either empty or select exactly the same rows. So if η atoms are provided, the complexity of the

Implementierung einer P-Regel mit 4n Elementen in der zugehörigen Flachdatei auf 4n Elemente in der PASCAL-Datenstruktur reduziert, welche zur Darstellung der P-Regel herangezogen wird. Fig. 3 zeigt die Reduzierung des Speicherraumes für P-Regeln für die in Fig. 2 gezeigte Flachdatei unter Verwendung von PASCAL.Implementation of a P-rule with 4n elements in the associated Flat file reduced to 4n elements in the PASCAL data structure, which are used to represent the P rule will. FIG. 3 shows the reduction in memory space for P-rules for the flat file shown in FIG. 2 using by PASCAL.

System-Syntax:System syntax:

Eine Regel besteht aus einem Boole'sehen Produkt aus Buchstaben sowie einer Folge, welche aus einem einzigen Buchstaben be-A rule consists of a Boolean product of letters as well as a sequence which consists of a single letter

- 3r5 - 59 198- 3r5 - 59 198

steht. Das System ermöglicht eine Boole'sehe Summe von Buchstaben als Folge einer Regel.stands. The system allows for a Boolean sum of letters as a result of a rule.

Das System erlaubt keine Behauptungen von einfachen Feststellungen, die aus Beziehungsprädikaten zusammengesetzt sind, denen Bezeichnungen folgen (beispielsweise "Vater (Mary, John)", "Cousin (Mary, x)"). Weiterhin ermöglicht das Rückwärts-Ableitungssystem nicht den Ausdruck von nicht-atomaren Feststellungen in Form von quantifizierenden Sätzen, bei denen einzelne Variable an das Auftreten von Mengen-Symbolen gebunden sind, beispielsweise "jeder" und "einige" (z.B. "(einige x) Cousin (Mary, x)", was bedeuted, daß Mary zumindest einen Cousin hat).The system does not allow claims of simple statements which are composed of relationship predicates followed by designations (for example "Father (Mary, John) "," Cousin (Mary, x) "). Furthermore, the reverse derivation system enables not the expression of non-atomic determinations in the form of quantifying sentences for which individual variables are linked to the occurrence of set symbols, for example "each" and "some" (e.g. "(some x) Cousin (Mary, x) "which means that Mary has at least one cousin).

Die Produktionsregeln des Systems weisen keine Beziehungs-Prädikate, Bezeichnungen oder Größenangaben auf. Stattdessen sind die Atome (einfachen Feststellungen) einfache Sätze mit keiner entwickelten syntaktischen Struktur. Diese Unterscheidung hinsichtlich der syntaktischen Struktur ermöglicht den übergang zur Mathematik der benutzten Ableitungslogik. Das System ermöglicht keine "Prädikat-Kalküle erster Ordnung", welche Schlußfolgerungen mit Quantifizierungen und Bezugsfeststellungen erlauben, doch ermöglicht das System sogenannte "Satz-Kalküle", welche Schlußfolgerungen nur mit einfachen Feststellungen enthalten, die keine syntaktische Struktur oberhalb der Ebene Boole'scher Operatoren aufweisen.The production rules of the system have no relationship predicates, Designations or sizes. Instead, the atoms (simple statements) are simple sentences with none developed syntactic structure. This distinction with regard to the syntactic structure enables the transition to the mathematics of the used derivation logic. The system does not allow "first order predicate calculi" which inferences allow with quantifications and reference determinations, but the system enables so-called "sentence calculi", which contain conclusions only with simple statements, which do not have a syntactic structure above the level of Boolean operators.

Logische Stichhaltigkeit und Beweisbarkeit innerhalb des Systems:Logical validity and provability within the system:

Eine Boole'sehe Kombination von einfachen Sätzen wird herkömmlicherweise als "logisch gültig" bezeichnet, wenn, und nur wenn, sie durch jede Zuordnung von Wahrheitswerten der atomaren Bestandteile bestätigt wird, d.h. die sogenannte Wahrheitstafel zeigt in der entsprechenden Spalte den Wert "wahr" für jede zugehörige atomare Zeile. Die logische Gültigkeit ist eineA Boolean combination of simple sentences is conventional referred to as "logically valid" if, and only if, through every assignment of truth values of the atomic Components is confirmed, i.e. the so-called truth table shows the value "true" for each associated column in the corresponding column atomic row. The logical validity is one

- 3-6 - 59 198- 3-6 - 59 198

semantische Eigenschaft, da sie mit dem Wert des Satzes und der Zuordnung von Wahrheitswerten zu seinen Bestandteilen zu tun hat.semantic property, as it has to do with the value of the sentence and the assignment of truth values to its components Has.

Andererseits wird herkömmlicherweise ein Satz dann, und nur dann, innerhalb eines gegebenen Systems deduktiver Logik als "nachprüfbar" bezeichnet, wenn eine Folge von Sätzen, welche mit dem fraglichen Satz endet, durch die Anwendung von Bestätigungsregeln erzeugt werden kann. Diese Art der Nachprüfung von Sätzen mittels anderen Sätzen ist in den meisten formalen Darstellungen einer deduktiven Logik selbstverständlich realisiert .Conventionally, on the other hand, within a given system of deductive logic, a proposition is then, and only then, called "Verifiable" means when a sequence of sentences ending with the sentence in question is made through the application of confirmation rules can be generated. This kind of checking of sentences by means of other sentences is in most formal representations of course implemented using deductive logic.

Zuverlässigkeit und Vollständigkeit des Deduktionssystems:Reliability and completeness of the deduction system:

Die zwei Begriffe der "logischen Gültigkeit" und "Nachprüfbarkeit" werden herkömmlich benutzt, um zwei wichtige Eigenschaften eines formalen Systems deduktiver Logik zu definieren. Zunächst wird ein System als "logisch zuverlässig" bezeichnet, wenn in ihm ausschließlich logisch gültige Sätze bestätigt werden können. Sodann wird ein System als "semantisch vollständig" bezeichnet, wenn in ihm jeder logisch gültige Satz bestätigt werden kann.The two terms "logical validity" and "verifiability" are traditionally used to define two important properties of a formal system of deductive logic. First a system is called "logically reliable" if only logically valid sentences are confirmed in it can. A system is then called "semantically complete" if every logically valid sentence is confirmed in it can be.

Das System ist logisch zuverlässig, doch semantisch nicht vollständig. Diese Unvollständigkeit folgt daraus, daß die einzige bei der Rückwärts-Rekonstruktion verwendete Ableitungsregel ein "modus ponens" ist (wird "A:=B" und "A" bestätigt, dann kann auf "B" gefolgert werden), welche besonders zuverlässig ist. Um das System semantisch zu vervollständigen, werden verschiedene andere zuverlässige Ableitungsregeln hinzugefügt, insbesondere die "indirekte Bestätigung" (kann sowohl "B" als auch "-B" unter der Annahme von "A" gefolgert werden, dann kann auch auf "-A" gefolgert werden) sowie die sogenannte "Bedingungsbestätigung" (wenn auf "B" unter der Annahme "A" geschlossen werden kann, dann kann "A:=B" geschlossen werden). Das hauptsächlicheThe system is logically reliable, but semantically not complete. This incompleteness follows from the fact that the only derivation rule used in the backward reconstruction is a "modus ponens" is (if "A: = B" and "A" are confirmed, then "B" can be deduced), which is particularly reliable. Around To semantically complete the system, various other reliable inference rules are added, in particular the "indirect affirmation" (can be concluded with both "B" and "-B" assuming "A", then can also be based on "-A" can be deduced) as well as the so-called "Condition Confirmation" (if "B" are concluded under the assumption "A" then "A: = B" can be concluded). The main one

- Γ? - 59 198- Γ? - 59 198

Ziel beim Implementieren eines Rückwärts-Ableitungssystems ist aber nicht das Erreichen einer "semantischen Vollständigkeit" auf Kosten anderer wichtiger Eigenschaften, beispielsweise die Gewinnung von Bestätigungen in der Form, die auch ein Experte geben würde.The goal in implementing a reverse drainage system is but not achieving "semantic completeness" at the expense of other important properties, such as the Obtaining confirmations in the form that an expert would give.

Logische Programme können eine semantische Vollständigkeit erreichen, allerdings wird dabei das Niveau der Begründungen stark reduziert. Die derart gewonnenen Bestätigungen reproduzieren ausschließlich Folge-Ketten, die in einer sehr eingeschränkten Syntax ausgedrückt sind.Logical programs can achieve semantic completeness, however, the level of justification is greatly reduced. Reproduce the confirmations thus obtained only sequential chains that are expressed in a very restricted syntax.

Das vorgesehene Paradigma mit Rückwärtsverkettung ermöglicht auf natürliche Weise Erläuterungen der einzelnen Schlußfolgerungen. Die Erläuterungen werden als einfache Berichte über jeden Schritt gewonnen, der bei der überprüfung vorgenommen wird. Durch seine Natur gibt der Bericht die Auffassung eines "Experten" darüber wieder, wie er die Schlußfolgerung begründen würde. Die Möglichkeit Erläuterungen zu geben wird also mittels eines einfachen Zusatzes zur Schlußfolgerungseinrichtung (Aufspüren und Berichten) erreicht.The envisaged paradigm with backward chaining allows for a natural explanation of the individual conclusions. The explanations are obtained as simple reports of each step taken in the review will. By its nature, the report represents an "expert" opinion on how to base the conclusion would. The possibility of giving explanations is thus provided by means of a simple addition to the inference device (tracing and reports).

Die Erläuterungseinrichtung wandelt die bei einer Bestätigung des letzten Einzelergebnisses verwendeten Schritte in eine Text-Anzeige. Der bei der Anzeige benutzte Text wird durch den Konstrukteur bei der Entwicklung des Regel-Satzes festgelegt.The explanatory device converts the steps used when confirming the last individual result into a Text ad. The text used in the display is determined by the designer when developing the rule set.

Für jedes in einer Regel eines Regel-Satzes enthaltene Atom (einfache Feststellung) liefert der Konstrukteur einen bestätigenden Satz in Englisch und einen das Gegenteil aussagenden Satz, ebenfalls in Englisch. Die Erläuterungsprozedur braucht nur ausgeführt zu werden, wenn der Index eines Atomes auftaucht, dessen mnemotechnischer Identifizierer bei einem bestimmten Prüfschritt im Ausdruck der benutzten Regel auftritt. Der Index des Atomes kann dazu benutzt werden, um den bestätigenden oder verneinenden Satz für die Anzeige wiederzugewinnen,For every atom contained in a rule of a rule set (simple statement) the designer supplies a confirming one Sentence in English and a contrary sentence, also in English. The explanation procedure needs only to be executed if the index of an atom appears, whose mnemonic identifier is for a particular one Test step occurs in the expression of the rule used. The index of the atom can be used to determine the affirmative or to recover the negative sentence for the advertisement,

- *8 - 59 198 - * 8 - 59 198

je nach dem, ob der mnemotechnische Code für das Atom in der Regel bestätigt oder negiert worden ist. Dieser einfache Ansatz zur Versorgung des Benutzers mit Erläuterungen der Ergebnisse des Systems ist durch die Natur der Deduktion mittels Rückwärtsverkettung ermöglicht.depending on whether the mnemonic code for the atom has generally been confirmed or negated. This simple approach To provide the user with explanations of the results of the system is by the nature of inference using backward chaining enables.

Die angezeigten Erläuterungen haben eine Form derart, daß der Text für einen bestimmten Buchstaben (Atom) auf einer vorgegebenen Höhe erscheint, während der Text für alle zur Bestätigung erforderlichen Buchstaben darunter in einer anderen Höhe angezeigt wird. Die erste Text-Zeile gibt eine allgemeine Auskunft über dio Ergebnisse· des zuletzt durchgeführten Durchlaufes. Von einzelnen Parametern abhängige Ergebnisse wiedergebende Ziele sind tiefer in die Erläuterungen eingebettet, entsprechend der Art, wie auch ein Experte das Problem analysieren würde.The explanations displayed have a form such that the text for a particular letter (atom) is based on a given Height appears while the text below appears at a different height for each of the letters required for confirmation will. The first line of text provides general information about the results of the last run carried out. from Objectives that reflect results that are dependent on individual parameters are embedded more deeply in the explanations, in accordance with The way an expert would analyze the problem too.

Ein Kompilierer für höhere Regeln des Systems:A compiler for higher rules of the system:

Die Produktionsregeln in Form von P-Regeln repräsentierenden PASCAL-Datenaufzeichnungen stehen in einer Datei des Datei-Verzeichnisses des Systems. Die P-Regeln-Datei wird durch einen Kompilierer erzeugt, welcher eine oder mehrere P-Regeln aus einer höheren Regel entwickelt, welche in einer ASCII-Datei (American Standard Code for Information Interchange) enthalten sind.Representing the production rules in the form of P-rules PASCAL data records are in a file in the system's file directory. The P-rules file is replaced by a Generates compiler which develops one or more P-rules from a higher-level rule which is stored in an ASCII file (American Standard Code for Information Interchange) are included.

Die höheren Regeln, Η-Regeln genannt, weiten den Inhalt der P-Regeln aus, sind aber gleichzeitig auf diese mittels bekannter Gesetze der Satz-Logik rückführbar. Die weiter unten beschriebenen Beziehungen zwischen P-Regeln und Η-Regeln ermöglichen eine Reduzierung des Fehlerrisikos bei der Eingabe von Regeln, da hierdurch die Anzahl der Regeln pro Regel-Satz reduzierbar ist. Beispielsweise erzeugt ein Regel-Satz 77 P-Regeln in PASCAL aus 43 H-Regeln.The higher rules, called Η-rules, expand the content of the P-rules, but are at the same time based on them by means of more familiar ones Laws of propositional logic traceable. The relationships between P-rules and Η-rules described below enable a reduction in the risk of errors when entering rules, since this allows the number of rules per rule set to be reduced is. For example, a rule set generates 77 P-rules in PASCAL from 43 H-rules.

- JA - 59 198 - YES - 59 198

Η-Regeln erweitern den Inhalt von P-Regeln:Η-rules expand the content of P-rules:

Η-Regeln ermöglichen die Angabe von äquivalenten Aussagen (sogenannte "dann und nur dann" oder "genau dann" Aussagen) sowie auch kanonischer Implikationen ("wenn, dann"-Bedingungen). Der Benutzer kann zwei getrennte P-Regeln der Form "A=:B" und "B=:A" mit einer einzigen Η-Regel der Form "A==B" ausdrücken. Auch kann eine Η-Regel eine Boole'sehe Summe von Produkten (ODER-Verknüpfung von UND-Verknüpfungen) von Buchstaben (Atomen oder ihren Verneinungen) als Voraussetzung ("wenn" auf der linken Seite) anstelle eines einzigen Boole'sehen Produktes aufweisen, wie es durch die Syntax der P-Regel angegeben ist. Dies ermöglicht eine weitere Einengung des Regel-Satzes, da der Benutzer zwei Regeln der Form "A&B:=C" und "D&E:=C" mit einer einzigen Regel der Form "A&BvD&E:=C" ausdrücken kann. Xhnlich kann die Folge (das "dann" auf der rechten Seite) einer H-Regel das Boole'sehe Produkt von Summen sein anstelle einer einzigen Boole'sehen Summe. Dies ermöglicht die Reduzierung von zwei derartigen Ausdrücken, beispielsweise "A: = (BvC) & (DvE)".Η-rules enable the specification of equivalent statements (so-called "then and only then" or "exactly then" statements) as well as canonical implications ("if, then" conditions). Of the User can express two separate P-rules of the form "A =: B" and "B =: A" with a single Η-rule of the form "A == B". A Η-rule can also be a Boolean sum of products (OR link of AND links) of letters (atoms or their negations) as a prerequisite ("if" on the left Page) instead of a single Boolean product, as indicated by the syntax of the P-rule. This allows a further narrowing of the rule set as the user can express two rules of the form "A&B: = C" and "D&E: = C" with a single rule of the form "A & BvD & E: = C". X similar the sequence (the "then" on the right) of an H-rule can be the Boole's product of sums instead of a single one Boolean sum. This enables the reduction of two such expressions, for example "A: = (BvC) & (DvE)".

Der Komplilierer wertet einige Eigenschaften der Satz-Logik aus:The compiler evaluates some properties of the sentence logic:

Der H-Regel-Kompilierer (übersetzer) des Systems ermöglicht eine präzisere Form der vom Benutzer zu definierenden Regeln und eliminiert auch nichtssagende und redundante P-Regeln. Nichtssagende P-Regeln sind solche, die in jedem Falle wahr sind, d.h. solche, mit widersprüchlichen Voraussetzungen (z.B.: "A&A:=B") sowie solche mit trivialen oder notwendig wahren Folgen (z.B.: "A:=Bv-B"). Derartige P-Regeln werden vom durch den Kompilierer erzeugten P-Regel-Satz eliminiert und es erfolgt eine entsprechende Mitteilung.The system's H-rule compiler (translator) enables a more precise form of user-definable rules and also eliminates meaningless and redundant P-rules. Nondescript P-rules are those that are true in every case, i.e. those with contradicting prerequisites (e.g .: "A&A: = B") as well as those with trivial or necessarily true consequences (e.g. "A: = Bv-B"). Such P-rules are made by the P-rule set generated by the compiler is eliminated and a corresponding message is issued.

Die Eliminierung von redundanten P-Regeln wird durch eine Optimierung der Datei der ursprünglich erzeugten P-Regeln erreicht.The elimination of redundant P-rules is achieved through optimization of the file of the originally generated P-rules.

351l92n351l92n £-£ -

Die Grundidee liegt darin, daß dann, wenn die Folge einer gegebenen P-Regel aus einem Anfangszustand ableitbar ist, dessen Voraussetzung im Rest der P-Regeln vorhanden ist, diese Regel eliminierbar ist, da sie keine eigene Information zur P-Regel hinzufügt. Die formelle Rechtfertigung dieser Optimierung liegt im sogenannten "Deduktionstheorem11 der Satz-Logik, wonach dann, wenn B aufgrund der Annahme A bestätigbar ist, auch "A:=B" bestätigbar ist.The basic idea is that if the sequence of a given P-rule can be derived from an initial state, the precondition of which is present in the rest of the P-rules, then this rule can be eliminated, since it does not add any information of its own to the P-rule. The formal justification of this optimization lies in the so-called "deduction theorem 11 of sentence logic, according to which if B can be confirmed on the basis of assumption A, then" A: = B "can also be confirmed.

Ein weiteres logisches Merkmal des Systems, welches ausgenutzt werden kann, stammt aus seiner Gründung auf die Satz-Logik. Da Entscheidungsprozeduren für die logische Konsistenz von Regel-Sätzen in Satz-Form vorgesehen sind (nicht aber für Regel-Sätze in vollständiger Prädikatform erster Ordnung), prüft der Regel-Kompilierer einen gegebenen Regel-Satz auf seine logische Konsistenz .Another logical feature of the system that can be exploited comes from its foundation on sentence logic. There Decision-making procedures for the logical consistency of rule sets are provided in sentence form (but not for rule sentences in complete first-order predicate form), the rule compiler checks a given set of rules for its logical consistency.

Diese Prüfung ist ein Vorteil der Rückwärtsverkettung des Systems, welcher umso bedeutsamer wird, je größer der ausgewählte Regel-Satz wird. Der Nachweis logischer Inkonsistenzen durch
menschliche Inspektion wird zunehmend schwieriger mit wachsender Komplexität des Kegel-Satzes. Bei einem sehr großen Regel-Satz soll aber insbesondere die Konsistenz gewährleistet sein.
This check is an advantage of the backward chaining of the system, which becomes more important the larger the selected rule set becomes. Evidence of logical inconsistencies through
human inspection becomes increasingly difficult as the complexity of the cone theorem increases. In the case of a very large set of rules, however, consistency in particular should be guaranteed.

Der beschriebene Kompilierer ist für die genannten Gründe wünschenswert, doch ist die vorliegende Erfindung auf jede Flachdatei anwendbar, unabhängig davon, wie die P-Regeln erzeugt
sind.
The compiler described is desirable for the reasons noted, but the present invention is applicable to any flat file regardless of how the P-rules are generated
are.

Verallgemeinerung der Schlußfclgerungs-Initialisierung des
Systems:
Generalization of the conclusion initialization of the
Systems:

Das System aus Flachdatei und Schlußfolgerungseinrichtung kann mittels einer PAiU'Al.-St .indard-Unternionye implementiert werden. Derart implementiert, ist das System mit unterschiedlichsten
Betriebssystemen einsetzbar.
The system of flat file and inference device can be implemented by means of a PAiU'Al.-St .indard-Unterstionye. Implemented in this way, the system is very diverse
Operating systems can be used.

BAD ürtiBAD ürti

59 19859 198

Obwohl ein Regel-Kompilierer nur Boole'sehe Strukturen ("wenn-dann", "und", "oder", "nein") als zulässige Regeln anerkennt, liegen auch Vorteile darin, wenn ein Kompilierer syntaktische Strukturen unterhalb der Ebene einfacher Sätze anerkennt, einschließlich Beziehungs- und Funktionsausdrücken mit freien Variablen (den formalen Gegenstücken von Pronomen).Though a rule compiler only boolean structures ("if-then", "and", "or", "no") as admissible rules, there are also advantages when a compiler uses syntactic Recognizes structures below the level of simple sentences, including relational and functional expressions with free variables (the formal counterparts of pronouns).

Die Eingabe einer FORTRAN-Namensliste ist ein gutes Beispiel für eine Standard-Datenrepräsentation. In einer Namensliste ist ein Identifizierer zusammen für jeden Listenbestandteil mit den zugeordneten Werten angegeben. Dieser Identifizierer macht im Ergebnis im einfachsten Fall aus jeder Namensliste eine Binär-Relation (einen Satz von geordneten Paaren von Werten). Beispielsweise kann die Namensliste:Entering a FORTRAN name list is a good example for a standard data representation. In a name list there is an identifier for each list component with the assigned values. In the simplest case, this identifier turns every name list into a binary relation (a set of ordered pairs of values). For example, the list of names can:

idlidl 123123 id 2id 2 456456 id3id3 789789

in einen Satz von Tupeln zergliedert werden, welcher eine Binär-Relation befriedigt, wie "Wert von (X, Y)", "untere Grenze (X, Y)" oder auch "Koeffizient (X, Y)", je nach der Anwendung. Beziehungen höherer Ordnung können auch aus FORTRAN-Namenslisten gewonnen werden. Eine erweiterte Schlußfolgerungseinrichtung benutzt FORTRAN-Namenslisten und entsprechende Darstellungen von Relationen, welche vom Benutzer in dem Sinne leicht zu erkennen sind, daß keine besonderen Schnittstellen für jede Anwendung für diese Daten-Darstellungen entwickelt werden müssen.can be decomposed into a set of tuples satisfying a binary relation, such as "value of (X, Y)", "lower bound (X, Y) "or" Coefficient (X, Y) ", depending on the application. Higher-order relationships can also be obtained from FORTRAN name lists. An advanced inference facility uses FORTRAN name lists and corresponding representations of relations which are easy to recognize by the user in the sense that no special interfaces for each application for these data representations must be developed.

3 R ι ι Q ? η 3* 3 R ι ι Q? η 3 *

OO I I Όά\) - 22 - 59 198OO II Όά \) - 22 - 59 198

Das System benutzt Daten-Darstellungen (d.h. Tupel), welche der Struktur nach mit denen übereinstimmen, die in Datenbankverwaltungen benutzt werden. Das heißt, Datenbank-Systeme und auf Prädikaten-Logik-Regeln beruhende Systeme gründen auf das gleiche Verständnis von einer Beziehung.The system uses data representations (i.e. tuples) which the Structure according to those used in database administrations. That is, database systems and on Systems based on predicate logic rules are based on the same thing Understanding of a relationship.

Die Entwicklung von relationalen Ausdrücken innerhalb der Schlußfolgerungseinrichtung wird erweitert, um einen für den Benutzer durchsichtigen Zugang zu FORTRAN-Namenslisten und relationalen Datenbanken wie INGRES zu geben. Diese Erweiterung erübrigt die Entwicklung von besonderen Schnittstellen für bestimmte Probleme.The development of relational expressions within the Inference facility is expanded to provide transparent access to FORTRAN name lists and relational lists for the user To give databases like INGRES. This extension eliminates the need to develop special interfaces for certain Problems.

Leistungsdaten des Systems:System performance data:

Die Leistungsdaten der Schlußfolgerungseinrichtung resultieren teilweise aus der Verringerung der erforderlichen Ablaufzeit, in der durch Rückwärtsverkettung Bestätigungen für Ziele gewonnen werden. Das herkömmliche Verfahren der Suche eine Regel-Basis benutzt eine Linear-Abtastung n-ter Ordnung für die nächsten η Regeln, um ein gegebenes Unter-Ziel zu bestätigen. Diese Rechnung wird dadurch eliminiert, daß der Regel-Kompilierer für jeden Buchstaben (einen einfachen Satz oder seine Negierung) eine Regel-Liste berechnet, welche bei der Suche nach einem Nachweis angewandt wird, welcher den betreffenden Buchstaben (Atom) als Folge aufweist. Diese Liste von Regeln ist durch den Namen des Atoms oder seine Identifizierung injiziert und in der Atom-Tafel gespeichert. Diese Atom-Tafel reduziert einen Bestandteil des Nachweis-Aufbaues von der Ordnung (n) auf die Ordnung (1).The inference facility's performance results in part from the reduction in the required expiration time, in which confirmations for targets are obtained by backward chaining. The traditional method of finding a rule base uses an nth order linear scan for the next η rules to confirm a given sub-goal. These Calculation is eliminated by the fact that the rule compiler for each letter (a simple sentence or its negation) a rule list is calculated, which is used in the search for evidence which identifies the letter in question (Atom) as a result. This list of rules is injected and in the name of the atom or its identification Saved atom blackboard. This atomic table reduces a component of the evidence structure from the order (n) to the Order (1).

Ein anderer, die Leistung bestimmender Faktor ist die Zeit, in welcher SETATOMS ausgeführt werden, um eine Ausgangs-Zustandsbeschreibung zu bilden, gegenüber der die Schlußfolgerungseinrichtung ihre Rückwärts-Verkettungssuche für die Bestätigung von Zielfeststellungen beendet. Die Laufzeit-Parameter desAnother factor that determines the performance is the time in which SETATOMS are executed to produce an output state description against which the inference engine will perform its backward concatenation search for confirmation terminated by goal setting. The runtime parameters of the

- 23 - 59 198 - 23 - 59 198

Systems und auch die Atom-Tafelanordnung ermöglichen eine Reduzierung des Bearbeitungsaufwandes. Die beobachteten Verzögerungen aufgrund der Laufzeiten werden derart auf die Ordnung (2M) zurückgeführt, die Zeitgrenze für den Bestätigungs-Suchalgorithmus selbst, wobei M die Anzahl der einfachen (atomaren) Sätze ist, die in der Regel-Basis benutzt werden.Systems and also the atomic panel arrangement allow a reduction the processing effort. The observed delays due to the transit times are so on the order (2M), the time limit for the confirmation search algorithm itself, where M is the number of simple (atomic) Is sentences that are usually used as a rule-base.

Prädikaten-Logik:Predicate logic:

Die erweiterte, teilweise in die Software des Systems implementierte Regel-Sprache weist Atome auf, die als Beziehungen zwischen einzelnen Konstanten (Namen, Zahlen), einzelnen Variablen (Pronomen) und Funktionen von Einzelheiten ausgedrückt werden, welche als zulässige Argumente dienen. Diese Erweiterungen heben die Regel-Sprache von der Ebene einer einfachen Boole'sehen Satz-Logik auf die Ebene einer Prädikaten-Logik erster Ordnung. In der nicht erweiterten Syntax ausgedrückte Regeln sind als Regeln in Satzform definiert, während in der erweiterten Syntax ausgedrückte Regeln als Regeln erster Ordnung in Prädikat-Form definiert sind.The extended, partially implemented in the software of the system Rule language has atoms that act as relationships between individual constants (names, numbers) and individual variables (Pronouns) and functions of details are expressed which serve as valid arguments. These extensions lift See rule language from a simple Boolean level Sentence logic to the level of a first-order predicate logic. Rules expressed in the unexpanded syntax are as Rules defined in sentence form, while rules expressed in extended syntax as first-order rules in predicate form are defined.

Die Schlußfolgerungseinrichtung liefert Schlußfolgerungen, deren Richtigkeit durch die Prädikatlogik-Form der Regeln gewährleistet wird, nicht aber durch die Satz-Form der in der Schlußfolgerungseinrichtung benutzten Regeln, über die beim Schlußfolgern mittels Regeln in Satzform verwendeten Prozeduren hinaus wird auch die Regel der Vereinheitlichung (Auffindung von geeigneten Substituten für freie Variable) implementiert, um Prädikatlogik-Schlußfolgerungsregeln zu handhaben, z.B.:The inference facility provides inferences whose correctness is guaranteed by the predicate logic form of the rules becomes, but not by the sentence form of the rules used in the inference device via which the Inference by means of rules in sentence form procedures used In addition, the rule of standardization (finding suitable substitutes for free variables) is implemented, to handle predicate logic inference rules, e.g .:

Formaler Ausdruck DeutschFormal expression German

AUS: verboten (x) Alles ist verboten.OFF: forbidden (x) Everything is forbidden.

SCHLIESSE: verboten (min(INTl)) Das Minimum INTl istCLOSE: forbidden (min (INTl)) The minimum INTl is

verboten.forbidden.

Ein Nachteil der Prädikaten-Logik liegt darin, daß die Widerspruchsfreiheit eines Regel-Satzes nicht wirksam geprüft werden kann, da die Widerspruchsfreiheit von Formel-Sätzen einer Logik erster Ordnung ein unlösbaren Problem darstellt (ein Problem,
für welches kein Algorithmus existiert, der mit einer endlichen Anzahl von Schritten eine endgültige Antwort gibt).
A disadvantage of predicate logic is that the consistency of a rule set cannot be effectively checked, since the consistency of formula sets in a logic of the first order represents an unsolvable problem (a problem,
for which no algorithm exists that gives a final answer with a finite number of steps).

Trotzdem liegt ein wesentlicher praktischer Vorteil der erweiterten Sprache darin, daß komplexe logische Beziehungen und Bedingungen präzise ausgedrückt werden können. Die Einführung von Atomen (einfachen Feststellungen), die als Relationen und Funktionen zusammengesetzt sind, ermöglicht eine Verkürzung des Umfanges der Regel-Sätze. Anstelle von unbeschränkt langen Listen von Regeln:Nevertheless, there is a significant practical advantage of the extended Language means that complex logical relationships and conditions can be precisely expressed. The introduction of Atoms (simple statements), which are put together as relations and functions, enable a shortening of the scope the rule-sentences. Instead of unlimited lists of rules:

:Parameterlverboten := Schlechtparameterl
:Parameter2verboten := Schlechtparameter2
: Parameter forbidden: = Bad parameter
: Parameter2forbidden: = Bad parameter2

In Englisch:In English:

:ParmlOutOfBounds := BadParml
:Parm2OutOfBounds := BadParm2
: ParmlOutOfBounds: = BadParml
: Parm2OutOfBounds: = BadParm2

welche ohne Relational-Ausdrücke und freie Variable ausgedrückt sind, kann stattdessen auch die einzige Regel:which are expressed without relational expressions and free variables can use the only rule instead:

:Parm(x) & Gr(VaKx), obere Grenze (x))
:=schlechter Wert(x)
: Parm (x) & Gr (VaKx), upper limit (x))
: = bad value (x)

verwendet werden.be used.

Die Regel ist derart zu interpretieren, daß "alles, was ein
Parameter ist und einen Wert größer als die bestimmte obere
Grenze hat, ein Fehlwert (schlechter Wert) ist". Oder weniger
kryptisch, "jeder Parameter-Wert, der größer ist als sein
oberer Grenzwert, ist fehlsam11.
The rule is to be interpreted in such a way that "everything a
Parameter is and a value greater than the determined upper
Limit has a false value (bad value) is ". Or less
cryptic, "any parameter value that is greater than its
upper limit value, is incorrect 11 .

Regel-Syntax:Rule syntax:

Die Systemsprache von Regeln basiert auf einer formalen Sprache symbolischer Logik. Die syntaktische Bestimmung dieser Sprache läßt sich darstellen durch eine Diskussion der lexikalischen (Wort-) Struktur und sodann der grammatikalischen (phraseologischen) Struktur von Ausdrucken, welche vom Regel-Kompilierer erkannt werden.The system language of rules is based on a formal language of symbolic logic. The syntactic definition of this language can be represented by a discussion of the lexical (word) structure and then the grammatical (phraseological) Structure of printouts that are recognized by the rule compiler.

Die lexikalische Struktur der Ausdrücke:The lexical structure of the expressions:

Die Symbol-Arten, welche bei der Bildung von Behauptungen, Regeln und anderen Ausdrücken von der Syntax des Systems verstanden werden sind folgende:The types of symbols used in the formation of assertions, rules and other expressions understood by the syntax of the system are the following:

(1) Prädikat-Konstante.(1) predicate constant.

(2) Individuelle Konstanten.(2) Individual constants.

(3) Individuelle Variable.(3) Individual variable.

(4) Funktionssymbole.(4) Function symbols.

(5) Markierungssymbole (Interpunktion).(5) Marking symbols (punctuation).

(6) Logische Konstanten.(6) Logical constants.

Nachfolgend werden diese Symbol-Arten im einzelnen diskutiert. (1) Prädikaten-Konstante:These types of symbols are discussed in detail below. (1) Predicate constant:

Prädikat-Konstante sind Identifizierungsmittel, welche dazu dienen, endliche, m-stellige Beziehungen zwischen einzelnen Objekten auszudrücken. Prädikaten-Konstanten-Identifizierer sind als Abfolgen von alphabetischen und numerischen Zeichen mittels Unterstreichungszeichen zusammengefügt (Unterstreichungszeichen: "_"), mit der Voraussetzung, daß die Ketten jeweils mit einem "großen" alphabetischen Zeichen beginnen. Dementsprechend sind beispielsweise GrößerAls, KLEINERALS, Gleich-Mit, Prädikaten-Konstante, während die folgenden Ketten keine sind (aus den nachstehend angegebenen Gründen):Predicate constants are means of identification which are used to establish finite, m-place relationships between individual objects to express. Predicate constant identifiers are available as sequences of alphabetic and numeric characters using Underscores combined (underscores: "_"), with the condition that the chains are each marked with a Start "large" alphabetic characters. Accordingly, for example, Greater Than, Lesser Than, Equal To, Predicate Constant, while the following chains are not (for the reasons given below):

größerals - kein Großbuchstabe am Anfang 2-ter_Spark_Plus - kein Großbuchstabe am Anfang Leistung_l/2 - unzulässiges Zeichen "/"greater than - no capital letter at the beginning 2nd_Spark_Plus - no capital letter at the beginning Performance_l / 2 - illegal character "/"

(2) Individuelle Konstante:(2) Individual constant:

Die Klasse der individuellen Konstanten schließt Abfolgen ein, welche sowohl mit den Regeln für Prädikat-Konstante übereinstimmen als auch mit Abfolgen, welche tatsächliche (Festpunkt-) Zahlen wiedergeben. Individuelle Konstanten können als Namen von einzigartigen Individuen (Objekten, Zahlen, etc.) interpretiert werden. Deshalb ist die folgende Abfolge eine ordnungsgemäße individuelle Konstante:The class of individual constants includes sequences which both conform to the rules for predicate constants as well as with sequences which reflect actual (fixed point) numbers. Individual constants can be used as names interpreted by unique individuals (objects, numbers, etc.) will. Therefore, the following sequence is a proper individual constant:

Batterie Zündung System_2000 3706 -123.4546,Battery ignition System_2000 3706 -123.4546,

während die folgenden Abfolgen aus den angegebenen Gründen keine sind:while the following sequences are not for the reasons given:

batterie - kein Großbuchstabe am Anfang 2-te_Besetzung - kein Großbuchstabe am Anfang -.123e4546 - keine Fixpunkt-Darstellungbattery - no capital letter at the beginning 2-te_Besetzung - no capital letter at the beginning -.123e4546 - no fixed point representation

(3) Individuelle Variable:(3) Individual variable:

Individuelle Variable sind als Abfolgen aus gleichen Zeichen-Sätzen wie die Prädikat-Konstanten und die alphanumerischen individuellen Konstanten gebildet, allerdings mit dem Unterschied, daß sie mit einem Kleinbuchstaben beginnen. Individuelle Variable sind als formelle Gegenstücke zu den Pronomen im gewöhnlichen Englisch (Deutsch) zu interpretieren, weil sie einzelne Individuen nur innerhalb eines Kontextes benennen. Zu beachten ist, daß typische Variable aus dem Ende des Alphabetes gewähltIndividual variables are a sequence of the same character sets formed like the predicate constants and the alphanumeric individual constants, but with the difference that they begin with a lowercase letter. Individual variables are as formal counterparts to the pronouns in the ordinary To interpret English (German) because they name individual individuals only within a context. To note is that typical variable chosen from the end of the alphabet

werden, doch ist die Beschreibung wesentlich breiter. Dementsprechend sind die folgenden Abfolgen ordnungsgemäße individuelle Variable:but the description is much broader. Accordingly the following sequences are proper individual variables:

χ y xlχ y xl

y234 object_l plus_2y234 object_l plus_2

während es die folgenden aus den angegebenen Gründen nicht sind:while the following are not, for the reasons given:

xl - kein anfänglicher Kleinbuchstabexl - no initial lowercase letter

2-tes_Objekt - kein anfänglicher Kleinbuchstabe2nd_object - no initial lowercase letter

x.l - unzulässiger Zeichen "."x.l - illegal character "."

(4) FunktionsSymbole:(4) Function symbols:

Funktionssymbole sind in gleicher Weise wie die individuellen Variablen gebildet und unterscheiden sich grammatikalisch durch den Kontext. FunktionsSymbole können als endliche, m-stellige Funktionen interpretiert werden, welche ein einzigartiges Individuum aus einer Folge von Individuen herausgreifen. Funktionssymbole beginnen gewöhnlich nicht mit Buchstaben aus dem Ende des Alphabetes, doch sind derartige Funktionssymbole nicht falsch. Deshalb ist die AbfolgeFunction symbols are formed in the same way as the individual variables and differ in grammatical terms the context. Function symbols can be finite, m-digit Functions are interpreted which single out a unique individual from a sequence of individuals. Function symbols usually do not start with letters from the end of the alphabet, but such functional symbols are not wrong. That is why the sequence is

sort xml bin-widthsort xml bin-width

ein ordnungsgemäßes Funktionssymbol, während die nachstehenden Abfolgen es aus den genannten Gründen nicht sind:a proper function symbol, while the following sequences are not for the reasons given:

SQUARE - kein Kleinbuchstabe am Anfang.SQUARE - no lowercase letter at the beginning.

2s_complement - kein anfänglicher Kleinbuchstabe. int#min - unzulässiges Zeichen "#".2s_complement - no initial lowercase letter. int # min - illegal character "#".

(5) Markierungssymbole:(5) Marking symbols:

Die Markierungssymbole dienen dazu, die Ausdrücke so anzuordnen, daß sie von der Syntax erkannt werden. Die Markierungssymbole sind die runden Klammern "("und")", und die eckigen Klammern "£"und"3". Ausdrucksanordnungen, wie Funktionen oder Prädikat-Argument-Listen oder Bool'sche Kombinationen von Sätzen, welche mit "(" beginnen,müssen mit ")" enden, während solche, die mit "£" beginnen;mit "2" enden müssen.The marking symbols are used to arrange the expressions so that they can be recognized by the syntax. The marking symbols are the round brackets "(" and ")", and the square brackets "£" and "3". Expression arrangements such as functions or predicate-argument lists or Boolean combinations of sentences that begin with "(" must end with ")", while those that begin with "£"; must end with "2".

(6) Logische Konstante:(6) Logical constant:

Die logischen Konstanten sind die Bool1sehen Satz-Operatoren, welche wie folgt symbolisiert sind:The logical constants are the Boolean 1 sentence operators, which are symbolized as follows:

SYMBOLSYMBOL OPERATOROPERATOR VERBINDUNGLINK && Konjunktionconjunction (und)(and) VV DisjunktionDisjunction (oder)(or) -- Negationnegation (nein)(no) : =: = Konditioncondition (wenn-dann)(if then) ==== Äquivalenzequivalence (dann und nur dann)(then and only then)

Die Syntaktische Struktur der Systern-Ausdrücke:The syntactic structure of the system expressions:

Die Syntax unterscheidet verschiedene Arten syntaktischer Strukturen. Diese sind:The syntax differentiates between different types of syntactic structures. These are:

(1) Individuelle Ausdrücke.(1) Individual expressions.

(2) Atomare Formeln.(2) Atomic formulas.

(3) Richtig gebildete Formeln.(3) Correctly formed formulas.

(4) P-Regeln.(4) P-rules.

(5) H-Regeln.(5) H-rules.

(1) Individuelle Ausdrücke:(1) Individual expressions:

Individuelle Ausdrücke sind Klassen von Ausdrücken, welche als Argumente für Funktionen oder Prädikate dienen können. Sie sind rekursiv wie folgt definiert:Individual expressions are classes of expressions that can serve as arguments for functions or predicates. they are defined recursively as follows:

(a) Jede individuelle Konstante ist ein individueller Ausdruck.(a) Each individual constant is an individual expression.

(b) Jede individuelle Variable ist ein individueller Ausdruck.(b) Each individual variable is an individual expression.

(c) Ist f ein n-stelliges Funktionssymbol und sind Tl, ..., Tn individuelle Ausdrücke (Terme), dann sind f(Tl, ..., Tn) und f [Tl, ..., Tn] ebenfalls individuelle Terme (Ausdruck = Term).(c) If f is an n-digit function symbol and Tl, ..., Tn are individual expressions (terms), then f (Tl, ..., Tn) and f [Tl, ..., Tn] are also individual Terms (expression = term).

(d) Nur Ausdrücke, welche den Vorschriften (a), (b) oder(d) Only expressions that comply with provisions (a), (b) or

(c) entsprechen, sind individuelle Terme.(c) are individual terms.

(2) Atomare Formeln:(2) Atomic formulas:

Atomare Formeln repräsentieren die unterste Ebene einer vollständigen Phraseologie innerhalb des Syntax. Atomare Formeln sind wie folgt rekursiv definiert:Atomic formulas represent the lowest level of a complete one Phraseology within the syntax. Atomic formulas are recursively defined as follows:

Ist P eine m-stellige Prädikatenkonstante und sind Tl, ..., Tm individuelle Terme, dann sind P(Tl, ..., Tm) und PCTl, ..., Tm] atomare Formeln. Nichts anderes ist eine atomare Formel.If P is an m-place predicate constant and Tl, ..., Tm are individual terms, then P (Tl, ..., Tm) and PCTl, ..., Tm] are atomic formulas. Nothing else is one atomic formula.

(3) Gut gebildete Formeln:(3) Well-formed formulas:

Das höchste Niveau der durch das System erkannten Phrasenstruktur ist die Klasse der "gut gebildeten Formeln". Die ElementeThe highest level of phrase structure recognized by the system is the class of "well-formed formulas". The Elements

dieser Klasse sind beliebige Bool'sche Kombinationen von atomaren Formeln. Die Klasse definiert sich rekursiv wie folgt:of this class are arbitrary Boolean combinations of atomic Formulas. The class is defined recursively as follows:

(a) Jede atomare Formel ist eine gut gebildete Formel.(a) Every atomic formula is a well-formed formula.

(b) Sind P und Q gut gebildete Formeln, dann sind es auch -P (P&Q) , (PVG) , (P := Q) und (P==Q) .(b) If P and Q are well-formed formulas, then they are also -P (P&Q), (PVG), (P: = Q) and (P == Q).

(c) Nur Ausdrücke, welche durch eine endliche Anzahl von Anwendungen der Regeln (a) und (b) gebildet sind, sind gut gebildete Formeln.(c) Only expressions which are divided by a finite number of Applications of rules (a) and (b) formed are well-formed formulas.

Weiterhin wird eine Klasse von gut gebildeten Formeln unterschieden, welche Literale genannte werden:Furthermore, a class of well-formed formulas is distinguished, which literals are mentioned:

(d) Ist A eine atomare Formel, dann sind sowohl A und -A Literale.(d) If A is an atomic formula, then both A and -A are literals.

(4) P-Regeln:(4) P-rules:

P-Regeln sind die einfachsten vom System erkannten Regeln. P-Regeln definieren sich rekursiv wie folgt:P-rules are the simplest rules recognized by the system. P-rules are defined recursively as follows:

(a) Jedes einzelne Literal oder jede endliche Verknüpfung von Literalen ist ein LITPROD.(a) Every single literal or every finite combination of literals is a LITPROD.

(b) Jedes einzelne Literal oder jede endliche Disjunktion (oder-Verknüpfung) von Literalen ist ein LITSUM.(b) Every single literal or every finite disjunction (or combination) of literals is a LITSUM.

(c) Ist P ein LITPROD und S ein LITSUM, dann ist (P:=S) eine P-Regel.(c) If P is a LITPROD and S is a LITSUM, then (P: = S) is a P-rule.

(d) Nur Ausdrücke, welche gemäß den Regeln (a), (b) und (c) gebildet sind, sind P-Regeln.(d) Only expressions which are formed according to rules (a), (b) and (c) are P-rules.

Beachte, daß einzelne Literale, beispielsweise "-verboten (Int(x))" sowohl als Bool'sche Suitune oder als Bool'sches Produkt von Literalen angesehen werden können, entsprechend den Gesetzen "S==(SVS)" und "S==(S&S)n. Es besteht eine ein-eindeutige Beziehung zwischen P-Regeln und der durch den Regel-Kompilierer erzeugten Datenstruktur.Note that individual literals, for example "-forbidden (Int (x))" can be viewed both as a Boolean suite or as a Boolean product of literals, according to the laws "S == (SVS)" and "S = = (S&S) n . There is a one-to-one relationship between P-rules and the data structure generated by the rule compiler.

(5) H-Regeln:(5) H-rules:

Η-Regeln sind die allgemeinste Art von Regeln, welche durch die Syntax interpretiert werden. Η-Regeln werden rekursiv wie folgt definiert:Η-rules are the most general kind of rules established by the Syntax to be interpreted. Η-rules are defined recursively as follows:

(a) Jedes einzelne LITPROD oder jede endliche Diskunktion von LITPRODs ist eine PRODSUM.(a) Every single LITPROD or every finite disc function of LITPRODs is a PRODSUM.

(b) Jede einzelne LITSUM oder jede endliche Verknüpfung von LITSUMs ist eine SUMPROD.(b) Every single LITSUM or every finite combination of LITSUMs is a SUMPROD.

(c) Ist P eine PRODSUM und S eine SUMPROD, dann sind(c) If P is a PRODSUM and S is a SUMPROD, then are

(P:=S) und (P==S) H-Regeln.(P: = S) and (P == S) H-rules.

(d) Nur gemäß den Regeln (a), (b) und (c) geformte Ausdrücke sind H-Regeln.(d) Only expressions formed according to rules (a), (b) and (c) are H-rules.

Es besteht eine eins-viele-Beziehung zwischen den H-Regeln und den P-Regeln, welche die durch den Regel-Kompilierer erzeugte Datenstruktur bewahren. Der Grund liegt darin, daß H-Regeln Abkürzungen von Konjunktionen von P-Regeln sind und deshalb äquivalent sind zu Sätzen von P-Regeln aufgrund des folgenden Reduktionsschemas :There is a one-many relationship between the H-rules and the P-rules, which preserve the data structure generated by the rule compiler. The reason is that H-rules are abbreviations of conjunctions of P-rules and are therefore equivalent to sets of P-rules due to the following reduction scheme :

Η-Regel Äquivalenter P-Regel-SatzΗ-rule Equivalent P-rule set

( (P&Q)V(R&S)) := T ( (P&Q) := T , (R&S) := T) P := ( (QVR) & (SVT) ) ( P := (QVR), P := (SVT)) P==Q ( P :=Q , Q := P )((P&Q) V (R&S)): = T ((P&Q): = T, (R&S): = T) P: = ((QVR) & (SVT)) (P: = (QVR), P: = (SVT)) P == Q (P: = Q, Q: = P)

Bildung eines H-Regel-Satzes:Formation of an H-rule set:

Die Regel-Sätze werden als ASCII-Text-Dateien im Verarbeitungsrechner gebildet. Es existieren vier Abschnitte in einem Regel-Satz, welche Ausdrücke angeben und dazu dienen, das Expertenwissen zu repräsentieren:The rule sets are created as ASCII text files in the host computer. There are four sections in a rule set, which expressions indicate and serve to represent the expert knowledge:

(1) Der NAMENS-Abschnitt.(1) The NAME section.

(2) Der PRADIKATEN-Abschnitt.(2) The PRADICATES section.

(3) Der FUNKTIONS-Abschnitt.(3) The FUNCTIONS section.

(4) Der REGEL-Abschnitt.(4) The RULE section.

Nachfolgend wird jeweils ein Beispiel eines derartigen Abschnittes eines H-Regel-Satzes für ein Anwendungsbeispiel vorgestellt und kommentiert.An example of such a section is given below of an H-rule set for an application example presented and commented on.

(1) Der NAMENS-Abschnitt:(1) The NAME section:

Um die bei einer Anwendung verwendeten nicht-numerischen individuellen Konstanten zu nummerieren, ordnet der Benutzer sie in den Anfangsabschnitt der Anwendungs-H-Regel wie folgt ein:To the non-numeric individual used in an application To number constants, the user arranges them in the initial section of the application H-rule as follows:

- NAMEN -- NAME -

Prangel
Prange2
Prange3
Prang
Prange2
Prange3

Im weiteren Verlauf der Bildung des H-Regel-Satzes werden diese angegebenen Namen benutzt, um Argumente für die interessierenden Prädikate und Funktionen zu bilden.In the further course of the formation of the H-rule set, these specified names are used to provide arguments for the relevant To form predicates and functions.

(2) Die PRÄDIKATEN-Abschnitte:(2) The PREDICT sections:

Im Anschluß an den NAMENS-Abschnitt erklärt der Benutzer die Prädikaten-Konstanten, welche im Regel-Ausdruck des Expertenwissens wie folgt benutzt werden:Following the NAME section, the user explains the predicate constants, which are used in the rule expression of expert knowledge can be used as follows:

- PRÄDIKATE -- PREDICATES -

vernünftig(x)
χ ist annehmbar.
reasonable (x)
χ is acceptable.

verboten(x)prohibited (x)

χ ist verboten.χ is forbidden.

Minimum(x, y)Minimum (x, y)

χ ist Minimum von y.χ is the minimum of y.

Maximum(x, y)Maximum (x, y)

y ist Maximum von y.y is the maximum of y.

DeltaThresh(x, y)DeltaThresh (x, y)

y ist der Grenzwert für annehmbare Änderungen von x.y is the limit for acceptable changes in x.

Zu beachten ist, daß für jede im Prädikaten-Abschnitt eingeführte Prädikaten-Konstante eine Blind-Argumenten-Liste (dummyargument-Liste) gegeben ist. Die Blind-Arumenten-Liste dient zwei Zwecken. Zunächst wird die Länge der Liste als Grad ("arity") der Beziehung genommen, so daß, z.B. "verboten" eine monadische (unäre) Beziehung ersten Grades ist, während "Minimum", "Maximum" und "DeltaThresh" binäre Beziehungen zweiten Grades" sind. Zweitens dient die Blind-Argumenten-Liste der Markierung der Relativpositionen in der nachfolgenden Textzeile, wo der Test für jeden substituierten individuellen TermIt should be noted that for each in the predicate section introduced Predicate constant a blind argument list (dummy argument list) given is. The blind arguments list is used two purposes. First, the length of the list is taken as the degree ("arity") of the relationship so that, e.g., "forbidden" a monadic (unary) relationship is first degree, while "minimum", "maximum" and "DeltaThresh" binary relationships second Second, the blind argument list is used to mark the relative positions in the following line of text, where the test for each substituted individual term

Wahrend der Erläuterung in den rückwärts erfolgenden Bestätigungen angeordnet ist.During the explanation in the backward confirmations is arranged.

(1) FUNKTIONS-Abschnitt:(1) FUNCTIONAL section:

Nachdem der Benutzer die im Regel-Satz zu benutzenden PRÄDIKATE eingeführt hat, werden die FUNKTIONS-Abschnitte wie folgt gebildet: After the user has specified the PREDICATES to be used in the rule set introduced, the FUNCTIONAL sections are formed as follows:

- FUNKTIONEN -- FUNCTIONS -

Quadratwurzel (x) ANSCHLIESSEN ufool Quadratwurzel von x.CONNECT square root (x) ufool square root of x.

min(x) PROJECT Min (x,y)
Minimum von x.
min (x) PROJECT Min (x, y)
Minimum of x.

max(x) PROJECT Max(x,y)
Maximum von x.
max (x) PROJECT Max (x, y)
Maximum of x.

Es ist zu bemerken, daß bei der Darstellung der Funktionssymbo-Ie nicht nur eine Argumentenliste gegeben wird, die den gleichen zwei Zwecken dient, wie die Argumentenliste bei der Darstellung der Prädikatenkonstanten, sondern daß auch ein Attribut angegeben wird, welches das Auswerteverfahren näher beschreibt .It should be noted that in the representation of the functional symbols Ie not only is given an argument list which serves the same two purposes as the argument list in presentation of the predicate constants, but also that an attribute is specified which describes the evaluation process in more detail .

Funktionen, die mit einem ANSCHLUSS-Attribut versehen sind, werden während der Laufzeit der Bestätigung ausgewertet, indem eine PASCAL-Funktion aufgerufen wird, die von der vorliegenden Kette als Argument für das ANSCHLUSS-Attribut genannt wird, im vorliegenden Fall z.B. die Funktion namens "ufool". Die vorlie-Functions that are provided with a CONNECTION attribute, are evaluated during the runtime of the confirmation by calling a PASCAL function that is assigned by the present Chain is mentioned as an argument for the CONNECTION attribute, in the present case e.g. the function called "ufool". The present

gende Terminologie ergibt sich aus dem Konzept des "prozeduralen Anschlusses" für die Verifikation von (Unter-)Zielen innerhalb der auf Regeln basierenden Technologie des Systems.Low terminology arises from the concept of the "procedural Connection "for the verification of (sub) goals within the rules-based technology of the system.

modul BENÜTZERFUNKTION (eingang/ausgang)USER FUNCTION module (input / output)

*
*

funktion ufool (x : real) : real; beginnfunction ufool (x: real): real; beginning

ufool := sqrt(x); ende.ufool: = sqrt (x); end.

Mit dem PROJEKT-Attribut erklärte Funktionen werden derart ausgewertet, daß ein Term eines Tupels im Tafel-Attribut erscheint Beim oben angegebenen Beispiel bezüglich der Vereinbarung für "min" wird die Beziehungstafel für eine zuvor vereinbarte Prädikatenkonstante, "Min", während der Bestätigung geprüft und die Funktion wertet die passende Projektion jedes entsprechenden Tupels aus. Wird beispielsweise "min (Prange1)" während der Bestätigung als eine Substitution für "min(x)" ausgewertet, so wird das zweite Element des vierten Tupels aus dem nachstehenden Diagramm 1 als Ergebnis ermittelt.Functions declared with the PROJECT attribute are evaluated in such a way that that a term of a tuple appears in the table attribute In the example given above with regard to the declaration for "min" the relationship table for a previously agreed predicate constant, "min", is checked during confirmation and the function evaluates the appropriate projection of each corresponding tuple. For example, if "min (Prange1)" is used during the Confirmation evaluates as a substitution for "min (x)", then becomes the second element of the fourth tuple from the following Diagram 1 determined as the result.

Diagramm 1Diagram 1

Rangel, 123.456
Range2, 234.567
Range3, 345.678
Rangel, 123.456
Range2, 234.567
Range3, 345,678

Range9, 456.789Range9, 456.789

Die Funktion "min(Range3)" wird durch PROJEKTION 345,678 aus dem Tupel-Range3,345,673- in der Beziehungstafel für "Min" ausgewertet .The function "min (Range3)" is made up by PROJECTION 345,678 the tuple range3,345,673- evaluated in the relationship table for "Min".

(4) Der REGEL-Abschnitt:(4) The RULE section:

Der letzte Abschnitt eines Anwendungs-Regelsatzes ist derjenige, in welchem der Benutzer die Regeln des Fachwissens in Form von Vereinbarungen ausdrückt, welche in den vorausgegangenen drei Abschnitten getroffen worden sind. Zum Beispiel:The last section of an application rule set is the one in which the user applies the rules of the technical knowledge in the form of agreements that have been made in the previous three sections. For example:

- REGELN -- RULES -

:Reichweite(Reichweite9).
!Reichweite (Reichweite8).
: Range (Range9).
! Range (Range8).

!Reichweite(Reichweitel).
!Reichweite(Reichweite2).
! Range (range).
! Range (Range2).

!Reichweite(x) & Gr diff(max χ ,min χ , deltathresh(x) := Normal(x).! Range (x) & Gr diff (max χ, min χ, deltathresh (x): = normal (x).

Dieser Regel-Abschnitt führt zu einer Regel, welcher die Idee, daß "jede Reichweite, deren Maximum sich von ihrem Minimum um mehr als einen bekannten Grenzwert unterscheidet, akzeptabel ist", zugrunde liegt.This rule section leads to a rule which the idea that "every reach whose maximum differs from its minimum by differs more than a known limit value, is acceptable ".

Vorwärtverkettung - Fig. 4:Forward chaining - Fig. 4:

In Fig. 4 ist ein Expertensystem für die Vorwärtsverkettung gezeigt. Das System weist einen gegebenen Stapelspeicher 25 auf, welcher die über die Schnittstelle 12 der Fig. 1 eingegebenen Primitiv-Feststellungen empfängt. Der gegebene Stapelspeicher 25 ist typischerweise ein Hardware-Stack, welches eine Untermenge aller Primitiv-Feststellungen speichert, die im Wissens-An expert system for forward chaining is shown in FIG. The system has a given stack memory 25 which contains the values entered via the interface 12 of FIG Receives primitive statements. The given stack memory 25 is typically a hardware stack which is a subset of all primitive statements stored in the knowledge

Basisspeicher 10 auftreten. Diese Untermenge von Primitiv-Feststellungen im Speicher 25 repräsentiert die Daten bestimmter Beobachtungen, welche gegenüber der Wissensbasis geprüft werden sollen. Ein Sortierer 26 bewirkt, daß jede Primitiv-Feststellung (jeweils eine zu einer gegebenen Zeit) im Speicher 25 in dessen Adress-Register 27 nach dem LIFO-Prinzip eingespeichert wird (LIFO-Prinzip: Last Inn-First Out = Kaskadierung). Das Adress-Register 27 adressiert den Primitiven-Speicher 28, welcher einen Teil des Wissens-Basisspeichers 10 der Fig. 1 bildet. Der Primitiven-Speicher 28 speichert eine Regel-ID (eine Adresse) für jede Regel, in welcher die Primitiv-Feststellungen des Registers 27 auftreten. In der Tafel 28 wird jede Regel-ID im Regel-ID-Register 28 gespeichert. Der Sortierer 26 bewirkt, daß jede Regel-ID im Register 29 (jeweils eine zu einer gegebenen Zeit) den Regel-Speicher 30 adressiert. Das Register 29 weist typischerweise eine Anzahl von Feldern auf, eines für jede Regel-ID. Unter Steuerung durch CIDS Signale des Sortierers 26 werden die Regel-ID im Register 29 Stück für Stück zur Ausgangsfeld-Speicherzelle 37 geschoben, welche den Regel-Speicher 30 adressiert.Base memory 10 occur. This subset of primitive statements in memory 25 represents the data of certain observations which are checked against the knowledge base should. A sorter 26 causes each primitive determination (one at a time) stored in memory 25 in its address register 27 according to the LIFO principle (LIFO principle: Last Inn-First Out = cascading). That Address register 27 addresses the primitive memory 28, which forms part of the knowledge base memory 10 of FIG. The primitive memory 28 stores a rule ID (a Address) for each rule in which the primitive determinations of register 27 occur. In the table 28, each rule ID stored in the rule ID register 28. The sorter 26 causes that each rule ID in register 29 (one at a time) addresses rule memory 30. Register 29 typically has a number of fields, one for each rule ID. Controlled by CIDS signals from the sorter 26, the rule ID in register 29 is shifted piece by piece to the output field memory cell 37, which is the rule memory 30 addressed.

Der Regel-Speicher 30 ist ein Teil des Wissens-Basisspeichers 10 der Fig. 1. Der Zugriff auf das der im Regel-Speicher 30 adressierten Regel entsprechende Feld erfolgt mittels des CCR-Signales, welches in das Ausgangs-Folgen-Register 31 eingegeben wird. Das Folgen-Register 31 ist mit einem Eingang des UND-Gatters 32 verbunden. Der andere Eingang des UND-Gatters 32 ist mit dem Ergebnis-Register 33 verbunden. Für den Ausgangszustand der Gatter 32 setzt der Sortierer 26 die Ergebnis-Register 33 alle in den "1"-Zustand. Das Ausgangs-Signal der UND-Gatter 32 wird sodann mittels des CRR-Signals im Ergebnis-Register 33 festgelegt. Sodann bewirkt der Sortierer 26, daß die nächste Regel aus dem Regel-ID-Register 29 im Regel-Speicher 30 zugreift und das zugehörige Folgen-Feld wird im Folgen-Register 31 gespeichert. Der Inhalt des Folgen-Registers 31 wird sodannThe rule memory 30 is part of the knowledge base memory 10 of FIG. 1. The access to that in the rule memory 30 The field corresponding to the addressed rule takes place by means of the CCR signal, which is entered in the output sequence register 31 will. The sequence register 31 is connected to one input of the AND gate 32. The other input of AND gate 32 is connected to the result register 33. The sorter 26 sets the result register 33 for the initial state of the gates 32 all in the "1" state. The output signal of the AND gate 32 is then entered in the result register 33 by means of the CRR signal set. The sorter 26 then causes the next rule to be accessed from the rule ID register 29 in the rule memory 30 and the associated sequence field is stored in sequence register 31. The content of the sequence register 31 is then

über eine UND-Verknüpfung mit dem Inhalt des Ergebnis-Registers 33 verknüpft, worauf wiederum das Ergebnis im Ergebnis-Register 33 gespeichert wird.via an AND link with the content of the result register 33 linked, whereupon the result is again stored in the result register 33.

Dieser Vorgang des Zugriffs auf Regeln im Speicher 30 wird so lange fortgesetzt, bis alle mit der ersten Primitiv-Feststellung zusammenhängenden Regeln im Register 27 erfaßt sind. Der Sortierer 26 ermittelt mittels des Testers 36, ob das Register 29 leer ist.This process of accessing rules in memory 30 is continued until all with the first primitive determination related rules are recorded in register 27. The sorter 26 uses the tester 36 to determine whether the register 29 is empty.

Der Tester 36 weist einen leeren Zustand des Registers 37 nach. Daraufhin liefert der Tester 36 ein Leer-Signal zum Sortierer 26, welcher seinerseits das CGS-Signal abgibt, welches bewirkt, daß die nächste Primitiv-Feststellung aus dem Stapelspeicher 25 in das Register 27 eingegeben wird, um den Primitiven-SpeicherThe tester 36 detects an empty state of the register 37. The tester 36 then delivers an empty signal to the sorter 26, which in turn emits the CGS signal, which causes the next primitive determination from the stack memory 25 is entered into register 27 to the primitive memory

28 zu adressieren. Der Vorgang wird bezüglich des Regel-ID des Primitiven-Speichers 28 wiederholt, welcher im Regel-ID-Register28 to be addressed. The process is carried out with regard to the rule ID of the Primitive memory 28 repeats which is in the rule ID register

29 gespeichert ist. Auf die Regeln bezüglich der zweiten Primitiv-Feststellung wird wiederum Stück für Stück zugegriffen und die Folgen werden im Folgen-Register 31 festgelegt. Jede Folge im Register 31 wird über eine UND-Verknüpfung mit den vorherigen Ergebnissen im Ergebnis-Register 33 verknüpft.29 is stored. To the rules regarding the second primitive statement is again accessed piece by piece and the sequences are specified in sequence register 31. Every episode In register 31, an AND link is used to link the previous results in results register 33.

Dieser Vorgang des Zugriffs auf Regel-Folgen entsprechend jeder Primitv-Aussage wird fortgesetzt, bis alle Primitiv-Aussagen und alle Regeln erfaßt und die zugehörigen Folgen über UND-Verknüpfungen verbunden sind. Zeigt der Tester 34 an, daß keine Primitiv-Feststellungen mehr vorhanden sind und zeigt der Tester 36 an, daß keine Regeln mehr vorhanden sind, bewirkt der Sortierer 26, daß der Dekodierer 35 den Inhalt der Ergebnis-Register 35 prüft. Findet der Dekodierer 35 nur "O"-Werte im Register 33, wird angezeigt, daß die gegebene Primitiv-Feststellung nicht den Regeln des Expertensystems entspricht. Weitere Informationen sind erforderlich, bevor ein Ergebnis bestätigt werden kann.This process of accessing rule sequences corresponding to each primitive statement is continued until all primitive statements and all rules are recorded and the associated consequences via AND operations are connected. If the tester 34 indicates that there are no more primitive determinations present and shows the Tester 36 indicates that there are no more rules, sorter 26 causes decoder 35 to read the contents of the result register 35 checks. If the decoder 35 finds only "O" values in the register 33, it is indicated that the given primitive determination does not conform to the rules of the expert system. More information is required before confirming a result can be.

59 19859 198

Weist der Dekodierer einen und nur einen Wert "1" im Ergebnis-Register 33 auf und gibt ein entsprechendes Signal über die Leitung 65 ab, dann hat das Expertensystem eine Bestätigung der eingegebenen Primitiv-Aussagen durchgeführt.The decoder has one and only one value "1" in the result register 33 and emits a corresponding signal via the line 65, then the expert system has a confirmation of the entered primitive statements.

Weist der Dekodierer 35 mehr als eine einzige "1" im Ergebnis-Register 33 nach, so zeigt er an (über die Leitung 66), daß mehr als eine eindeutige Bestätigung für den gegebenen Satz von Primitiv-Feststellungen existiert und daß deshalb kein einziger, eindeutiger Nachweis bestimmt worden ist.If the decoder 35 has more than a single "1" in the result register 33 after, it indicates (via line 66) that more than one unique confirmation for the given set of Primitive statements exist and that therefore not a single, unambiguous evidence has been determined.

Beim Betrieb der in Fig. 4 gezeigten Anordnung wird jede beim Adressieren des Regel-Speichers 30 benutzte Regel-Identifizierung im Erklärungs-Stapelspeicher 38 gespeichert. Der Stapelspeicher 38 liefert dementsprechend die Spur der Abfolge, in der das Ergebnis erreicht worden ist. Wird auf den Erklärungs-Stapelspeicher 38 und den zugehörigen Regel-Text des Regel-Speichers 30 zugegriffen, so ergibt sich eine Erklärung für das Ergebnis. Der Sortierer 26 greift nacheinander auf die Regel-Identifizierungen des Erklärungs-Stapelspeichers 38, indem das CES-Signal erzeugt wird, welches die Regel-Identifizierungen jeweils in die unterste Speicherzelle 92 des Erklärungs-Stapelspeichers 3 8 einschreibt. Jede Regel-Identifizierung im Register 92 adressiert den Regel-Speicher 30. Die adressierte Speicherzelle im Speicher 30 bewirkt, daß der Text-Feldabschnitt zur Ausgabe-Einrichtung 89 ausgelesen wird. Die Ausgabe-Einrichtung 89 ist typischerweise ein Bildschirm oder ein Drucker.In operation of the arrangement shown in FIG. 4, each rule identifier used in addressing the rule memory 30 becomes stored in the declaration stack 38. The stack memory 38 accordingly supplies the track of the sequence in which the result has been achieved. Is on the explanation stack 38 and the associated rule text of the rule memory 30 is accessed, there is an explanation for the result. The sorter 26 accesses the rule identifications one after the other of the declaration stack 38 by generating the CES signal which is the rule identifiers writes in each case in the lowest memory cell 92 of the explanation stack memory 3 8. Each rule identification in the register 92 addresses the rule memory 30. The addressed memory cell in memory 30 causes the text field section to output device 89 is read out. The output device 89 is typically a screen or a Printer.

Rückwärtsverkettung:Backward chaining:

In Fig. 5 ist ein Expertensystem für die Rückwärtsverkettung gezeigt. Ein Ziel-Stapelspeicher 50 ist Teil des Wissens-Basisspeichers 10 der Fig. 1. Der Ziel-Stapelspeicher 50 speichert alle Ziele des Systems. Wie zuvor definiert, sind die Ziele einzelne Folge-Feststellungen. Der Ziel-Stapelspeicher 50 istAn expert system for backward chaining is shown in FIG. A target stack 50 is part of the knowledge base 10 of Figure 1. The target stack 50 stores all of the system's targets. As previously defined, the goals are individual follow-up findings. The target stack 50 is

beispielsweise ein Speicher mit wahlfreiem Zugriff (RAM), welcher im "LIFO" (Stapel-Speicherbetrieb) arbeitet. Das unterste Register dieses Stapelspeichers ist das Register 78. Der Inhalt des Speichers 50 wird unter Steuerung durch das Stapel-Signal CGOS des Sortierers 79 in geordneter Reihenfolge nacheinander abwärtsgespeichert, wennimmer ein neues Ziel verarbeitet werden muß.for example a random access memory (RAM) which operates in "LIFO" (batch memory mode). The bottom Register of this stack memory is the register 78. The contents of the memory 50 are under the control of the stack signal Sorter 79 CGOS are sequentially downstored in ordered order whenever a new destination is processed got to.

Der Sortierer 29 ist von herkömmlicher Art, wie beispielsweise ein programmierter Prozessor oder eine fest verdrahtete, programmierbare Logikschaltung. Der Sortierer 29 erzeugt die Steuersignale, welche in Fig. 5 alle mit dem Buchstaben "C" beginnen. Die Zeitfolge und Funktion dieser Steuersignale soll nachfolgend beschrieben werden.The sorter 29 is of a conventional type, such as a programmed processor or a hard-wired, programmable one Logic circuit. The sorter 29 generates the control signals, which in FIG. 5 all begin with the letter "C". The timing and function of these control signals will be described below.

In Fig. 5 speichert der Ausgangs-Stapelspeicher 72 eine Untermenge an Primitiv-Feststellungen, welche gegenüber den Zielen im Ziel-Stapelspeicher 50 entsprechend den im Regel-Speicher 74 gespeicherten P-Regeln geprüft werden sollen. Der Ausgangs-Stapelspeicher 72 ist typischerweise ein Speicher mit wahlfreiem Zugriff (RAM), welcher im bereits genannten "LIFO"-Betrieb arbeitet. Er repräsentiert die laufende Zustandsbeschreibung.In Figure 5, the output stack 72 stores a subset of primitive determinations which, compared to the goals in the target stack memory 50, correspond to those in the rule memory 74 stored P-rules are to be checked. The output stack 72 is typically random access memory (RAM) operating in the aforementioned "LIFO" mode is working. It represents the current status description.

Der Ziel-Adress-Speicher 51 ist Teil des Regel-Adress-Speichers 91, welcher wiederum ein Teil des Wissens-Basisspeichers 10 der Fig. 1 ist. Der Regel-Adress-Speicher 91 kann auch als "Atom-Tafel" bezeichnet werden, da er durch Atome adressiert wird. Jede Speicherzelle im Speicher 68 weist ein oder mehrere Textfelder auf, auf welche zugegriffen wird, wenn ein Text abgeschlossen ist, um eine sprachliche Erklärung der Abfolge zu ermöglichen, mit welcher der Test durchgeführt worden ist.The destination address memory 51 is part of the rule address memory 91, which in turn is part of the knowledge base memory 10 of the Fig. 1 is. The rule address memory 91 can also be used as an "atom table" because it is addressed by atoms. Each memory cell in memory 68 has one or more text fields which are accessed when a text is completed to allow a linguistic explanation of the sequence, with which the test was carried out.

Der Speicher 51 ist so aufgebaut, daß jede Regel erkannt wird, in welcher ein bestimmtes Ziel (Ziel-Feststellung) als Folge erscheint. Der Speicher 51 wird mittels des Regel-KompilierersThe memory 51 is constructed to recognize any rule in which a specific goal (goal determination) as a result is recognized appears. The memory 51 is created by means of the rule compiler

- Ai - 59 198- Ai - 59 198

oder einer anderen geeigneten Einrichtung beschickt. Der Ziel-Adress-Speicher 51 ist ein Speicher mit wahlfreiem Zugriff (RAM), welcher durch den Inhalt des unteren Registers 78 im Ziel-Stapelspeicher 50 adressiert wird. Bei Adressierung durch den Inhalt des Registers 78 enthält das Ausgangssignal des Ziel-Adress-Speichers 51 alle Regel-Identifizierungen, in welchen das Ziel im Register 78 als Folge auftritt.or another suitable facility. The destination address store 51 is a random access memory (RAM) which is determined by the contents of the lower register 78 in the Target stack memory 50 is addressed. When addressed by the contents of register 78, the output signal contains the Destination address memory 51 contains all rule identifications in which the destination in register 78 occurs as a result.

Das Auswahlgatter 53 liefert bei Abgabe des CGOT-Signals durch den Sortierer 29 die Regel-Identifizierungen aus der adressierten Speicherzelle im Adress-Speicher 51 zum Regel-Identifizierungsregister 75. Wird das CGOT-Signal nicht abgegeben, so wählen die Gatter 53 das Ausgangssignal aus dem Adressenspeicher 68. Das Register 75 wird durch das CRID-Signal dos Sortierers 69 getaktet, um die parallelen Ausgangssignale der Auswahlgatter 53 zu speichern. Das Register 75 ist mit einer Vielzahl von Feldern versehen, wobei für jede Regel-Identifizierung, die aus dem Ziel-Adressenspeicher 51 oder aus dem Folgen-Adressenspeicher 68 ausgewählt ist, eine Speicherzelle vorgesehen ist. Die Regel-Identifizierungen werden derart entladen, daß eine Verschiebung von links nach rechts erfolgt, beispielsweise durch CSID-Signale des Sortierers 69 in die ganz rechts gelegene Speicherzelle 39.The selection gate 53 delivers when the CGOT signal is output the sorter 29 transfers the rule identifications from the addressed memory cell in the address memory 51 to the rule identification register 75. If the CGOT signal is not issued, the gates 53 select the output signal from the address memory 68. Register 75 is activated by the CRID signal of the sorter 69 clocked in order to store the parallel output signals of the selection gates 53. The register 75 is with a variety of Fields are provided, with for each rule identification that is taken from the target address memory 51 or from the sequence address memory 68 is selected, a memory cell is provided. The rule identifiers are unloaded in such a way that a shift takes place from left to right, for example by CSID signals from the sorter 69 to the rightmost one Memory cell 39.

Der Folgen-Adress-Speicher 68 ist Teil des Wissens-Basisspeichers 10 der Fig. 1. Der Folgen-Adress-Speicher 68 liefert bei Adressierung durch ein Atom aus dem Atom-Stapelspeicher 60 die Regel-Identifizierungen für jede der Regeln, welche mit dem adressierenden Atom als eine Folge verbunden sind. Der Inhalt der Speicherzellen 39 des jeweils ausgewählten Speichers 61 bzw. 68 wird durch die Regel-Stapelsteuerung 54 immer dann ausgewählt, wenn das CRS-Signal des Sortierers 69 abgegeben wird. Die Regel-Stapelsteuerung 54 ist ein push-pop-Stapelspeicher zum sequentiellen Auftasten jeder Regel-Identifizierung aus der Speicherzelle 39 des Registers 75 in den Stapelspeicher 56. Wennimmer das CRS-Signal durch den Sortierer 69 abgegeben wird,The sequence address memory 68 is part of the knowledge base memory 10 of FIG. 1. The sequence address memory 68 supplies Addressing by an atom from the atom stack 60 the rule identifiers for each of the rules associated with the addressing atom are connected as a sequence. The content of the memory cells 39 of the respectively selected memory 61 or 68 is selected by the rule stack control 54 whenever the CRS signal of the sorter 69 is output. The rule stack control 54 is a push-pop stack memory for sequentially keying in each rule identification from the Store cell 39 of register 75 in stack memory 56. Whenever the CRS signal is asserted by sorter 69,

T920 - /frS - 59 198T920 - / frS - 59 198

drückt die Regel-Stapelsteuerung 54 die Regel-Identifizierungen im Stapel 56 abwärts. Wennimmer das CRS-Signal durch den Sortierer 69 nicht abgegeben wird, werden die Regel-Identifizierungen aus dem Stapelspeicher 56 entnommen.the rule stack controller 54 expresses the rule identifiers in the stack 56 downwards. Whenever the CRS signal through the sorter 69 is not released, the rule identifications are removed from the stack memory 56.

Die Steuerung 54 weist ein Knoten-bit-Feld 55 auf. Das Knotenbit-Feld 55 nimmt unter Steuerung durch das CRSN-Signal des Sortierers 69 die Werte "1" oder "0" an. Das Knoten-bit 55 wird als eine "0" für alle Regel-Identifizierungen gespeichert, außer der ersten Regel-Identifizierung des Registers 75, den Regel-Identifizierungen aus dem Adress-Speicher 51 oder dem Adress-Speicher 68. Wennimmer die Regel-Speichersteuerung 54 Regel-Identifizierungen in den Stapelspeicher 57 einliest, prüft die Test-RS-Einheit 66, ob der letzte Speicherplatz 39 (und somit alle Felder) im Register 75 leer ist und verursacht, daß der Sortierer 69 aufhört, Regel-Identifizierungen in den Stapelspeicher 57 einzugeben. Wenn die Steuerung 54 Regel-Identifizierungen aus dem Stapelspeicher 57 entnimmt, weist die Test-Einheit 66 die Regel-Identifizierungs-bits und die Knotenbit im obersten Register 78 des Stapelspeichers 56 nach, um eine Steuerung des Systems mittels der Werte "1" oder "0" der bits im obersten Register 78 des Stapelspeichers 56 zu ermöglichen. The controller 54 has a node bit field 55. The node bit field 55 assumes the values "1" or "0" under the control of the CRSN signal of the sorter 69. The node bit becomes 55 stored as a "0" for all rule identifications except the first rule identifier of register 75, the Rule identifications from the address memory 51 or the address memory 68. Whenever the rule memory controller 54 Reads rule identifications into the stack memory 57, the test RS unit 66 checks whether the last memory location 39 (and thus all fields) in register 75 is empty and causes sorter 69 to stop adding rule identifications to the Enter stack memory 57. When the controller 54 removes rule identifications from the stack memory 57, the Test unit 66 the rule identification bits and the node bits in the top register 78 of the stack memory 56 to to enable control of the system by means of the values "1" or "0" of the bits in the top register 78 of the stack memory 56.

Knoten-Steuerung des Regel-Stapelspeichers:Node control of the rule stack:

Für Eingaben in den Stapelspeicher 56 wird das Knoten-bit für die erste Regel-Identifizierung, welche in den Stapelspeicher eingegeben wird, auf "1" gesetzt und jede nachfolgende Regel-Identifizierung des Registers 75 hat das Knoten-bit "0". Für Entnahmen wird jede Regel-Identifizierung auf Leer-Räume geprüft (alle auf "0") und bezüglich des Wertes "1" oder "0" des Knoten-bit.For entries in the stack memory 56, the node bit for the first rule identification, which is in the stack memory is entered, set to "1" and each subsequent rule identification of register 75 has the node bit "0". Every rule identification is checked for empty spaces for withdrawals (all on "0") and with regard to the value "1" or "0" of the node bit.

- « - 59 198- «- 59 198

Zum Löschen des Regel-Stapelspeichers werden gegebenenfalls die Regel-Identifizierungen mit Knoten-bits "0" solange gelöscht, bis eine Regel-Identifizierung mit dem Knoten-bit "1" gefunden ist und danach werden alle Regel-Identifizierungen mit Knotenbits "1" gelöscht bis eine Regel-Identifizierung mit dem Knoten-bit "0" gefunden ist. Diese Regel-Identifizierung mit dem Knoten-bit "0" wird nicht gelöscht sondern an oberster Stelle des Stapels im Register 78 belassen. Insgesamt erfolgt also eine Löschung, bis eine erste "0" nach einer "1" gefunden ist.To delete the rule stack, the rule identifications with node bits "0" may be deleted as long as until a rule identification with the node bit "1" is found and then all rule identifications with node bits "1" deleted until a rule identification with the node bit "0" is found. This rule identification with the Node bit "0" is not deleted but left at the top of the stack in register 78. So overall it takes place a deletion until a first "0" after a "1" is found.

Werden die Regel-Identifizierungen aus dem Stapelspeicher 56 entnommen, so gibt die Steuerung 54 die entnommenen Regel-Identifizierungen als Adresse in den Regel-Speicher 74 ein. Der Regel-Speicher 74 ist Teil des Wissens-Basisspeichers 10 der Fig. 1.If the rule identifications are removed from the stack memory 56, the controller 54 outputs the rule identifications that have been removed as an address in the rule memory 74. The rule memory 74 is part of the knowledge base memory 10 of FIG Fig. 1.

Der Regel-Speicher 74 wird unter Steuerung seitens der Regel-Stapel-Steuerung 54 durch den Inhalt des obersten Registers 78 im Stapelspeicher 57 adressiert. Die Regel-Identifizierung des Registers 78 adressiert den Speicher 74 und bewirkt, daß alle der adressierten Speicherzelle vorausgehenden Atome (einfachen Feststellungen) des Regel-Speichers 74 in das Register 76 eingelesen werden. Sie werden parallel in das Register 76 unter Steuerung durch das CATR-Signal des Sortierers 79 eingelescn. Jedes Atom im Register 76 ist unter Steuerung des CATR-Signals in einem unterschiedlichen Feld verriegelt. Die der im Register 76 verriegelten Regel vorausgehenden Atome werden unter Steuerung der Atom-Stapel-Steuerung 58 aus dem Register 76 von links nach rechts verschoben (unter Steuerung durch das CSAT-Signal des Sortierers 69) und im Atom-Stapelspeicher 60 nach unten eingelesen. Die Atom-Stapelspeicher-Steuerung 58 dient dazu, die Atome aus dem Register 76 in den Stapelspeicher 60 abzulegen oder Atome aus dem Stapel-Speicher 60 unter Steuerung durch die CAS-Signale des Sortierers 69 zu entnehmen. Wird das CAS-The rule memory 74 is under the control of the rule stack controller 54 is addressed by the contents of the top register 78 in the stack 57. The rule identification of the Register 78 addresses the memory 74 and causes all atoms preceding the addressed memory cell (simple Findings) of the rule memory 74 are read into the register 76. They are parallel in register 76 under Control by the CATR signal of the sorter 79 read in. Each atom in register 76 is locked in a different field under control of the CATR signal. The ones in the register Atoms preceding the locked rule are under control of the atom stack controller 58 from register 76 from the left shifted to the right (under control of the CSAT signal from sorter 69) and down in atomic stack 60 read in. The atom stack memory controller 58 is used to store the atoms from the register 76 in the stack memory 60 or to remove atoms from the stack memory 60 under the control of the CAS signals of the sorter 69. If the CAS

SiSi

Signal abgegeben, drückt die Steuerung 58 Atome in den Stapelspeicher 60, während bei fehlendem Signal die Atome aus dem Stapelspeicher 60 entnommen werden.Signal given, the controller pushes 58 atoms into the stack 60, while in the absence of a signal, the atoms are removed from the stack memory 60.

Die Atom-Stapelsteuerung 58 weist ein Knoten-Steuerungsfeld 59 auf, das unter Steuerung durch das CASN-Signal des Sortierers 59 angesteuert wird. Wenn andere Atome als das erste Atom des Registers 76 aus demselben in den Atom-Stapelspeicher 60 eingelesen werden, so bewirkt die Knoten-Steuerung 59, daß eine logische "0" in das zugehörige Knotenfeld 61 geladen wird. Das erste Atom des Registers 76 für einen bestimmten Kegel-Satz wird auf den Wert "1" gesetzt, um den Knoten-Punkt zu kennzeichnen. Die Prüf-Atomstapeleinrichtung 70 prüft, ob die Register 76 und 79 voll oder leer sind, damit der Sortierer 69 das CASN-Signal abgeben kann.The atom stack controller 58 has a node control field 59 which is activated under the control of the CASN signal of the sorter 59. If atoms other than the first atom of the Register 76 are read from the same into the atomic stack memory 60, the node controller 59 causes a Logical "0" is loaded into the associated node field 61. The first atom of register 76 for a particular set of cones is set to the value "1" to identify the node point. The check atom stacker 70 checks that the registers 76 and 79 are full or empty so that the sorter 69 can issue the CASN signal.

Steuerung der Atom-Stapel-Knoten:Control of the atom stack nodes:

Für Eingaben wird das Knoten-bit für das erste Atom einer Regel auf den Wert "1" gesetzt und das Knoten-bit für jedes nachfolgende Atom der Regel wird auf den Wert "0" gesetzt.For inputs, the node bit for the first atom of a rule is set to the value "1" and the node bit for each subsequent atom Atom of the rule is set to the value "0".

Wenn ein Atom bestätigt wird, so wird es aus dem Atom-Stapelspeicher 79 entnommen und in das Erklärungs-Register 77 eingegeben und sodann in den Erklärungs-Stapelspeicher 80 gedrückt. Wird ein Atom mit einem Knoten-bit "1" bestätigt, so wird der Regel-Stapelspeicher 56 gelöscht und das nachfolgende Atom im Stapelspeicher 66 gilt ebenfalls als bestätigt. Hat das nächste Atom ebenfalls das Knoten-bit "1", so wird aufgrund der Tatsache, daß das nächste Atom ebenfalls als geprüft gilt, der Regel-Stapelspeicher wiederum gelöscht usw. bis das im Register 79 oben liegende Atom ein Knoten-bit "0" aufweist oder der Atom-Stapelspeicher leer ist.When an atom is asserted, it is removed from the atom stack 79 removed and entered into the explanation register 77 and then pushed into the explanation stack memory 80. If an atom is confirmed with a node bit "1", the rule stack memory 56 is deleted and the following atom is deleted Stack 66 is also considered confirmed. If the next atom also has the node bit "1", then due to the fact that the next atom is also considered checked, the rule stack is cleared again, and so on until that is in the register 79 top atom has a node bit "0" or the atom stack is empty.

Wird das CAS-Signal nicht abgegeben und werden Atome aus dem Stapelspeicher 60 entnommen, so weist die Knotensteuerung 59 zusammen mit der Prüfatom-Stapeleinheit 70 den Zustand "0" oder "1" des Knoten-bit im obersten Speicherplatz des Registers 79 des Stapelspeichers 60 nach. Auf diese Weise wird der Betrieb des in Fig. 5 gezeigten Systems an den Wert der bits angepaßt, auf welche im Atom-Stapelspeicher 60 zugegriffen wird.If the CAS signal is not emitted and atoms are removed from the When the stack memory 60 is removed, the node control 59 together with the test atom stack unit 70 has the status "0" or "1" of the node bit in the top memory location of the register 79 of the stack memory 60 after. That way, the operation of the system shown in FIG. 5 is adapted to the value of the bits which are accessed in the atomic stack memory 60.

Die Atom-Stapelspeichersteuerung 58 gibt das im Register 79 oben liegende Atom als Eingang in den Komparator 73 sowie in den Folgen-Adress-Speicher 68 ein. Der Folgen-Adress-Speicher 68 ist typischerweise ein Speicher mit wahlfreiem Zugriff (RAM), welcher einen Teil des Regel-Adress-Speichers 91 bildet. Der Folgen-Adress-Speicher 68 wird durch die Atome im Register 79 des Atom-Stapelspeichers 60 adressiert.The atom stack memory controller 58 gives the atom at the top of register 79 as an input to comparator 73 as well as in the sequence address memory 68. Sequence address memory 68 is typically random access memory (RAM), which forms part of the rule address memory 91. The sequence address memory 68 is represented by the atoms in the register 79 of the atom stack memory 60 is addressed.

Der Komparator 73 vergleicht das Atom im obersten Speicherplatz des Stapelregisters 79 mit dem Inhalt des Registers 81, welches das unterste Register im Ausgangs-Stapelspeicher 72 ist. Der Ausgangs-Stapelspeicher 72 wirkt als Schieberegister, wobei der Ausgang des untersten Stapelregisters 81 als Eingang in den obersten Speicherplatz des Stapelspeichers 72 dient. Auf diese Weise wird der Inhalt des Stapelspeichers 72 zirkuliert und jede Eingabe in den Stapelspeicher 72 kann mit dem Inhalt des Registers 79 im Stapelspeicher 60 verglichen werden. Der Ausgangs-Stapelspeicher 72 speichert Primitiv-Atome, welche als Ausgangsbedingungen bei der Prüfung der Ziel(-Feststellungen) dienen, durch die Ziel-Atome im Ziel-Stapelspeicher 50 spezifiziert werden und den im Regel-Speicher 74 gespeicherten Regeln entsprechen. Der Ausgangs-Stapelspeicher 72 wird deshalb auch "Primitiv-Stapelspeicher" genannt.The comparator 73 compares the atom in the topmost memory location of the stack register 79 with the contents of the register 81, which is the lowest register in output stack 72. The output stack memory 72 acts as a shift register, the The output of the lowest stack register 81 serves as an input into the uppermost memory location of the stack memory 72. To this Manner, the contents of the stack memory 72 are circulated and each entry into the stack memory 72 can be compared with the contents of the Register 79 in the stack memory 60 are compared. The output stack 72 stores primitive atoms, which are used as starting conditions for the examination of the target (determinations) serve, are specified by the target atoms in the target stack memory 50 and the rules stored in the rule memory 74 correspond. The output stack memory 72 is therefore also called the "primitive stack memory".

Weist der Komparator 73 eine Identität nach, so bewirkt der Sortierer 69, daß das Atom aus dem Register 79 im Register 77 verriegelt und in den Stapelspeicher 64 gedrückt wird. DerIf the comparator 73 proves an identity, the sorter 69 causes the atom from the register 79 in the register 77 is locked and pushed into the stack memory 64. Of the

59 19859 198

Inhalt des Registers 79 wird unter Steuerung durch die Erklärungs-Stapelsteuerung 62 in den Stapel-Speicher 64 gedrückt. Die Steuerung 62 drückt die Atome in den Stapelspeicher 64, sobald ein CES-Signal vom Sortierer 69 abgegeben wird und entnimmt Atome aus dem Stapelspeicher 64, wenn kein CES-Signal abgegeben wird. Die Steuerung 64 weist ein Knoten-Steuerfeld 63 auf, welches zusammen mit dem Tester 67 dazu dient, die in den Knoten-Feldern 65 des Stapel-Speichers 64 gespeicherten Knotenbits nachzuweisen und zu steuern. Außer dem ersten wird jedes Atom, welches mit der zuletzt aus dem Stapelspeicher 56 entnommenen Regel zusammenhängt, mit einer logischen "0" gespeichert. Das erste Atom wird mit einer "1" gespeichert. Wird die aus dem Stapelspeicher 56 entnommene Regel, welche durch eine Sequenz von Atomen des Stapelspeichers 60 repräsentiert wird, nicht bestätigt, d.h. der Komparator 73 hat keinen Vergleich, dann werden alle mit dieser Regel zusammenhängenden Atome, die zuvor in den Erklärungs-Stapelspeicher 64 eingestapelt worden sind, aus diesem wieder entnommen. Das heißt, alle Atome mit einer "0" vor einem mit einer "1" werden aus dem Stapelspeicher 64 entnommen. Der "1"- oder "0"-Knotenzustand der aus dem Stapelspeicher 64 entnommenen Atome wird mittels der Testeinheit 67 ermittelt, welche ihrerseits entsprechende Signale an den Sortierer 69 abgibt.The contents of register 79 are under the control of the declaration stack controller 62 pressed into the stack memory 64. The controller 62 pushes the atoms into the stack memory 64, as soon as a CES signal is issued by the sorter 69 and removed Atoms from stack 64 when no CES signal is asserted. The controller 64 has a node control field 63 which, together with the tester 67, serves to determine the node bits stored in the node fields 65 of the stack memory 64 to prove and control. In addition to the first, every atom which is the last one is removed from the stack 56 Usually related, stored with a logical "0". The first atom is stored with a "1". Will the Rule taken from stack memory 56, which is represented by a sequence of atoms in stack memory 60, not confirmed, i.e. the comparator 73 has no comparison, then all atoms related to this rule will be the have previously been stacked in the declaration stack memory 64, removed from it again. That is, all atoms with a "0" before one with a "1" are removed from the stack memory 64. The "1" or "0" node state from the stack 64 atoms removed is determined by means of the test unit 67, which in turn sends corresponding signals to the Sorter 69 delivers.

Der Rückwärtsverkettungsbetrieb des in Fig. 5 gezeigten Systems wird fortgesetzt bis alle Ziele im Stapelspeicher 50 bearbeitet worden sind. Der Sortierer 69 gibt immer dann das CGOS-Signal ab, wenn mittels der Testeinheit 66 festgestellt ist, daß der Regel-Stapelspeicher 56 in seinem obersten Register 78 einen freien Platz hat, um ein neues Ziel in das unterste Register des Stapelspeichers 50 einzugeben. Daraufhin erfolgt die Verarbeitung des neuen Zieles genauso wie beim vorstehend beschriebenen ersten Ziel. Sind alle Ziele aus dem Stapelspeicher 50 verarbeitet, was durch die Testeinheit 52 nachgewiesen wird, signalisiert der Sortierer 69, daß die Rückwärts-Verkettungsanalyse abgeschlossen ist.The backward chaining operation of the system shown in Figure 5 continues until all of the destinations in stack memory 50 are serviced have been. The sorter 69 always emits the CGOS signal when it is determined by means of the test unit 66 that the Rule stack memory 56 in its top register 78 has a free space to put a new destination in the bottom register of the stack memory 50. The new target is then processed in the same way as the one described above first goal. If all targets from the stack memory 50 have been processed, which is verified by the test unit 52, the sorter 69 signals that the backward chaining analysis is complete.

SiSi

Steuerung der Erklärungs-Stapelspeicher-Knoten:Control of the declaration stack nodes:

Für eine Eingabe wird das Knoten-bit des ersten Atomes, welches für ein Ziel bestätigt wurde, auf den Wert "1" gesetzt und danach wird das Knoten-bit für jedes nachfolgende Atom auf den Wert "0" gesetzt. Wird ein Ziel nicht bestätigt, werden alle Atome im Stapelspeicher 64 mit einem Knoten-bit "0" gelöscht bis das erste Knoten-bit mit dem Wert "1" nachgewiesen wird und dieses wird ebenfalls gelöscht. Das Knoten-bit-Feld 65 im Stapelspeicher 54 kann mehr als ein bit aufweisen. Beispielsweise sind die Knoten-bit-Werte des Feldes 61 des Stapelspeichers (für jedes Atom) ebenfalls im Stapelspeicher 64 gespeichert, um mittels der Ausgabeeinrichtung 91 einen Text ausgeben zu können. Jedes derart bestätigte Knoten-bit wird benutzt, um eine Stufe der Text-Erklärungen zu erreichen.The node bit of the first atom, which has been confirmed for a target is set to the value "1" and then the node bit for each subsequent atom is set to the Value "0" set. If a target is not confirmed, all atoms in the stack memory 64 are deleted with a node bit "0" until the first node bit with the value "1" is detected and this is also deleted. The node bit field 65 on the stack 54 can have more than one bit. For example, the node bit values are field 61 of the stack (for each atom) also stored in the stack memory 64 in order to be able to output a text by means of the output device 91. Each node bit confirmed in this way is used to achieve a level of text explanation.

In Fig. 5 adressiert das unterste Register 90 im Stapelspeicher 64 den Folgen-Speicher 68 und jedes Atom im Register 90 adressiert einen Speicherplatz im Folgen-Adress-Speicher 68. Ein oder mehrere Felder im Speicher 68 speichern ein Text-Feld, welches mittels einer Verknüpfungsschaltung an die Ausgabeeinrichtung 89 gegeben wird. Jedes Atom im Ausgangsregister 90 bewirkt, daß ein Text-Feld an die Ausgabeeinrichtung 89 abgegeben wird. Die Atome im Stapelspeicher 64 werden durch das vom Sortierer 69 abgegebene CES-Signal niedergedrückt, wobei die Abgabe der Atome an die Ausgabeeinrichtung 89 typischerweise dann erfolgt, nachdem der Sortierer 69 nachgewiesen hat, daß die Ziel-Überprüfung abgeschlossen ist. Die Ausgabeeinrichtung 89 ist typischerweise ein Kathodenstrahlröhre, ein Drucker oder dergleichen. Gewöhnlich ist die Ausgabeeinrichtung 89 ein Teil der Benutzer-Schnittstelle 12 der Fig. 1.In Fig. 5, the lowest register 90 in stack memory 64 addresses sequence memory 68 and each atom in register 90 is addressed a storage location in the sequence address memory 68. One or more fields in the memory 68 store a text field, which is given to the output device 89 by means of a logic circuit. Each atom in output register 90 has the effect of that a text field is delivered to the output device 89. The atoms in stack 64 are picked up by the sorter 69 output CES signal depressed, the output of the atoms to the output device 89 typically then occurs after sorter 69 has verified that target verification is complete. The output device 89 is typically a cathode ray tube, printer, or the like. Usually the dispenser 89 is a part the user interface 12 of FIG. 1.

Betrieb bei Rückwärtsverkettung:Operation with backward chaining:

Der Betrieb bei der Rückwärtsverkettung des Systems wird mittels der Regeln des nachfolgenden DIAGRAMMS 2 erklärt, wobeiThe backward chaining operation of the system is explained using the rules in DIAGRAM 2 below, where

11 q?n11 q? N

\ \Z£U - « - 59 198 \ \ Z £ U - «- 59 198

die Primitiv-Feststellungen gemäß Test 1 des DIAGRAMMES 3 benutzt werden. Im DIAGRAMM 2 sind die drei Ziele G-, G_ und G-durch die Regeln R13/ R14 bzw. R15 definiert.the primitive statements according to test 1 of DIAGRAM 3 are used. In DIAGRAM 2 the three goals G-, G_ and G- are defined by the rules R 13 / R 14 and R 15 , respectively.

In DIAGRAMM 3 sind fünf verschiedene Tests, Test 1, Test 2, Test 3, Test 4 und Test 5, jeweils mit unterschiedlichen Sätzen von Primitiv-Feststellungen definiert. Beispielsweise sind die vorgegebenen Primitiv-Feststellungen des Testes 1 durch die Symbole A., A- und A3 angegeben. Die Schrittfolge des Testes 1 ist im DIAGRAMM 4 für das erste Ziel angegeben.In DIAGRAM 3, five different tests, Test 1, Test 2, Test 3, Test 4, and Test 5, are defined, each with different sets of primitive statements. For example, the predetermined primitive determinations of test 1 are indicated by the symbols A., A- and A 3 . The sequence of steps for test 1 is given in DIAGRAM 4 for the first objective.

Im DIAGRAMM 4 (entsprechend Fig. 4) gibt die Spalte GS den Inhalt des Ziel-Stapelspeichers 50 wieder, die Spalte RS entspricht dem Inhalt des Regel-Stapelspeichers 56, die Spalte AS entspricht dem Inhalt des Atom-Stapelspeichers 60, die Spalte ES entspricht dem Inhalb des Erklärungs-Stapelspeichers 64 und die Spalte GIS entspricht dem Inhalt des Ausgangs-Stapelspeichers 72. Die in Klammern gesetzten Werte "1" oder "O" entsprechen dem jeweiligen Knoten-bit.In DIAGRAM 4 (corresponding to FIG. 4) the GS column shows the content of the target stack memory 50, the RS column corresponds the content of the rule stack memory 56, the column AS corresponds to the content of the atom stack memory 60, the column ES corresponds to the inside of the explanation stack 64 and the column GIS corresponds to the contents of the output stack 72. The values "1" or "O" in brackets correspond to the respective node bit.

$8$ 8

59 19859 198

DIAGRAMM 2DIAGRAM 2

Regelrule

Voraussetzungpre-condition

Folgeepisode

R-,R-,

1010

4 2 13 44 115 4 2 13 44 1 15

A1 & A' &A 1 & A '&

χχ 44th

& A& A

δ A4 &δ A 4 &

Ac & A, & A^ Ac & A£ & A-A c & A, & A ^ A c & A £ & A-

B. B1 B,B. B 1 B,

B.B.

11 DIAGRAMM 3DIAGRAM 3 Vorgabespecification A3 A 3 Testtest 22 Aj, Aj,Aj, Aj, A5 A 5 Testtest 33 3' 4 '3 '4' A7 A 7 Testtest 44th A5' Λ6' A 5 ' Λ 6' Testtest 55 A1, A2 A 1 , A 2 3' 4' 53 '4' 5 Testtest A1, A2,A 1 , A 2 , Testtest

1 9701,970

I3ZU , _ Μ _ 59 198 I3ZU, _ Μ _ 59 198

DIAGRAMM 4DIAGRAM 4

ZUbTANDCONDITION GSGS RS (Knoten)RS (knot) AS (Knoten) ES(^Oten) GIS AS (node) ES (^ Oten) GIS (0)(0) A3 A 3 G3 G 3 A2
0
A 2
0
1.11.1 G2
Gl
G 2
G l
0(0)0 (0) 0(0) '0 (0) ' 0(0)0 (0) [ Kopie][ Copy]
G3 G 3 1.21.2 G2 G 2 R13(DR 13 (D 0(0)0 (0) 0(0)0 (0) [Kopie][Copy] SS. 1.31.3 G2 G 2 0(0)0 (0) C1(O)C 1 (O) 0(0)0 (0) [Kopie][Copy] G3 G 3 C2(I)C 2 (I) 1.41.4 G2 G 2 R7(DR 7 (D C2(I)C 2 (I) 0(0)0 (0) [Kopie][Copy] G? G ? 1.51.5 G2 G 2 0(0)0 (0) B1(O)B 1 (O) B2(I)
C1(O)
B 2 (I)
C 1 (O)
0(0)0 (0) [Kopie][Copy]
G3 G 3 C2(DC 2 (D 1.61.6 G2 G 2 R1(O)R 1 (O) B1(O)B 1 (O) R3(DR 3 (D B2(DB 2 (D
C1(O)C 1 (O)
C2(I)C 2 (I)

- Sri - 59 - Sri - 59

DIAGRAMM 4 (fortgesetzt) DIAGRAM 4 (continued )

SUSTANESUSTANE ) GS ) GS RS (Knoten)RS (knot) ASAS (Knoten)(Node) ES (Knoten) GIS ES (node) GIS 1.71.7 R3(I)R 3 (I) Al A l (Ο)'(Ο) ' 0(0) [.Kopie]0 (0) [.copy] G2 G 2 A2
A3
Bl
A 2
A 3
B l
Or-IOOr-IO
B2
Cl
B 2
C l
d)
(O)
d)
(O)
C2 C 2 (1)(1) 1.81.8 0,00.0 B2 B 2 (D(D B1(O) [Kopie]B 1 (O) [copy] Cl C l (O)(O) A3(O)A 3 (O) C? C ? (D(D A2(O)A 2 (O) A1(I)A 1 (I) 1.91.9 SS. R2(I)R 2 (I) B? B ? (D(D B1(O) !Kopie]B 1 (O)! Copy] G? G ? Gl G l (O)(O) A3(O)A 3 (O) C2 C 2 (1)(1) A2(O)A 2 (O) A1(I)A 1 (I)

1.10 G3 0,0 A1(O) B1(O) [Kopie] 1.10 G 3 0.0 A 1 (O) B 1 (O) [copy]

G2 A2(O) A3(O)G 2 A 2 (O) A 3 (O)

A3(I) A2(O)A 3 (I) A 2 (O)

B2(I) A1(I) C1(O)
C2(I)
B 2 (I) A 1 (I) C 1 (O)
C 2 (I)

59 19859 198

DIAGRAMM 4 (fortgesetzt)DIAGRAM 4 (continued)

ZUSTAND GS RS (Knoten) AS (Knoten) ES( Knoten) GISSTATE GS RS (node) AS (node) ES (node) GIS

.11.11 SS. 0,00.0 C2(I)C 2 (I) C1(O)C 1 (O) [Kopie][Copy] 11 G2 G 2 Bj(O)
A3(O)
Bj (O)
A 3 (O)
Aj(O)Aj (O) A1(O)A 1 (O) [Kopie][Copy] .12.12 SS. R8(O)R 8 (O) C2(DC 2 (D [Kopie][Copy] [Kopie][Copy] 11 G2 G 2 R9(DR 9 (D .13.13 SS. R9(DR 9 (D B1(O)B 1 (O) I Kopie]I copy] [Kopie][Copy] 11 G2 G 2 B2(I)
C2(D
B 2 (I)
C 2 (D
.14.14 G3 G 3 R1(O)R 1 (O) B1(O)B 1 (O) t Kopie]t copy] [Kopie][Copy] 11 G2 G 2 R3(D
R9(D
R 3 (D
R 9 (D
B2(D
C2(D
B 2 (D
C 2 (D
.15.15 R3(DR 3 (D A1(O)A 1 (O) [ Kopie][ Copy] [ Kopie][ Copy] 11 G2 G 2 R9(DR 9 (D A2(O)A 2 (O) A3(I)A 3 (I) B1(O)B 1 (O) B2(I)B 2 (I) C2(I)C 2 (I)

6t6t

- Sri, -- Sri, -

DIAGRAMM 4 (fortgesetzt)DIAGRAM 4 (continued)

ZUSTAND GS RS (Knoten) AS(Knoten) ES(Knoten) GISSTATE GS RS (node) AS (node) ES (node) GIS

.16.16 G3 G 3 0,(0)0, (0) B2(I)B 2 (I) B1(O)B 1 (O) [Kopie][Copy] 11 G2 G 2 C2(I)C 2 (I) A3(O)A 3 (O) A2(O)A 2 (O) A1(O)A 1 (O) [Kopie][Copy] .17.17 SS. R2(DR 2 (D B2(I)B 2 (I) [Kopie][Copy] [Kopie][Copy] 11 G2 G 2 C2(I)C 2 (I) .18.18 G3 G 3 0,(0)0, (0) A1(O)A 1 (O) tKopie]tcopy] [Kopie][Copy] 11 G2 G 2 A2(O)A 2 (O) A3(I)A 3 (I) B2(I)B 2 (I) C2(I)C 2 (I)

DIAGRAMM 4 (fortgesetzt)DIAGRAM 4 (continued)

ZUSTAND GS CONDITION GS RS (Knoten) AS(Knoten)RS (node) AS (node) 0,(0) 0,00, (0) 0.0 ES(Knoten)ES (knot) GISGIS tt 1.19 Gg1.19 Gg C2(O)C 2 (O) A3 A 3 G2 G 2 B2(O)B 2 (O) A2 A 2 Ag(O)Ag (O) Al A l A2(O)A 2 (O) 00 A1(O)A 1 (O) B1(O)B 1 (O) Ag(O)Ag (O) A2(O)A 2 (O) A1(O)A 1 (O) C1(O)C 1 (O) B2(O)B 2 (O) Ag(O)Ag (O) A2(0) A 2 (0) A1(O)A 1 (O) B1(O)B 1 (O) Ag(O)Ag (O) R14(D 0,0R 14 (D 0.0 A2(O)A 2 (O) 0,(0) C2(O)0, (0) C 2 (O) A1(I)A 1 (I) 1.20 Gg1.20 Gg C3(I)C 3 (I) t Kopie]t copy] [ Kopie][ Copy] 1.21 Gg1.21 Gg [ Kopie][ Copy] I Kopie]I copy]

- -56 - 59 198- -56 - 59 198

Im DIAGRAMM 4 ist im Zustand 1.1 der Ziel-Stapelspeicher 50 mit den Zielen G~, G« und G. geladen. Der Ausgangs-Stapelspeicher 72 ist mit den Primitv-Feststellungen A3, A3 und A1 geladen. Zu diesem Zeitpunkt hat der Sortierer 69 ein Freigabesignal abgegeben, welches alle anderen Register und Stapelspeicher auf den "O"-Zustand löscht, um die Durchführung der Prüfung vorzubereiten. Nach der Löschung prüfen die Testeinheiten 66 und 70, ob der Regel-Stapelspeicher 56 und der Atom-Stapelspeicher 60 frei sind (alle auf "0"). Zu diesem Zeitpunkt ermittelt die Testeinheit 52, daß das Ziel G1 im Register 78 nicht bis nach unten durchgeschoben ist, so daß das Register 78 als "nicht leer" erkannt wird. Der Sortierer 69 nimmt diesen Zustand wahr und setzt die Abgabe des CGOS-Signales fort, welches bewirkt, daß das Ziel G, im Stapel-Register 78 schrittweise nach unten durchgeschoben wird. Das Ziel G1 adressiert den Ziel-Adressenspeicher 51. Der Sortierer 69 gibt das CGOT-Signal ab, um die Regel-Identifizierungen aus der Adress-Speicherzelle des Zieles G. im Ziel-Adress-Speicher 51 auszuwählen. Der Ziel-Adress-Speicher 51 wird durch den Selektor 53 ausgewählt, nicht aber der Folgen-Adress-Speicher 68, weil die Testeinheiten 66 und 70 im Regel-Stapelspeicher 56 und im Atom-Stapelspeicher 61 den "0"-Zustand ermitteln.In the DIAGRAM 4, in state 1.1, the target stack memory 50 with the targets G ~, G «and G is loaded. The output stack 72 is loaded with the findings Primitv-A 3, A 3 and A1. At this point in time, the sorter 69 has issued an enable signal which clears all other registers and stacks to the "O" state in preparation for the execution of the test. After the deletion, the test units 66 and 70 check whether the rule stack memory 56 and the atom stack memory 60 are free (all at "0"). At this point in time, the test unit 52 determines that the target G 1 has not been pushed through to the bottom in the register 78, so that the register 78 is recognized as "not empty". The sorter 69 detects this state and continues the delivery of the CGOS signal, which causes the target G, in the stack register 78 to be pushed through step by step. The destination G 1 addresses the destination address memory 51. The sorter 69 emits the CGOT signal in order to select the rule identifications from the address memory cell of the destination G. in the destination address memory 51. The target address memory 51 is selected by the selector 53, but not the sequence address memory 68, because the test units 66 and 70 determine the "0" status in the rule stack memory 56 and in the atom stack memory 61.

Die Regel R13 ID (ID = Identifizierung) ist diejenige, welche aus dem Adressen-Speicher 51 für das Ziel G1 ermittelt wurde. Sie wird im Register 75 gespeichert. Das CRID-Signal verriegelt die Regel R13 ID im Register 75. Der Sortierer 69 erzeugt dann ein CSID-Signal, um die R13 ID in die rechte Feld-Speicherzelle 39 zu schieben. Zu diesem Zeitpunkt ermittelt die Testeinheit 66, daß sich das Feld 39 nicht im "0"-Zustand befindet und deshalb wird R13 in die Regel-Stapelspeicher-Steuerung 54 eingegeben. Der Regel-Stapelspeicher 54 wird durch das CRS-Signal gesteuert, um R13 im Regel-Stapelspeicher 56 in die oberste Speicherzelle 78 zu drücken. Das CRSN-Signal wird abgegeben, so daß das Knoten-bit den Wert "1" annimmt. Der Zustand des in Fig. 5The rule R 13 ID (ID = identification) is that which was determined from the address memory 51 for the destination G 1 . It is stored in register 75. The CRID signal locks the rule R 13 ID in register 75. The sorter 69 then generates a CSID signal to shift the R 13 ID into the right field memory cell 39. At this point in time, the test unit 66 determines that the field 39 is not in the "0" state, and therefore R 13 is entered into the rule stack memory controller 54. The rule stack 54 is controlled by the CRS signal to push R 13 in the rule stack 56 into the top memory cell 78. The CRSN signal is issued so that the node bit assumes the value "1". The state of the in Fig. 5

- ·&6 - 59 198- · & 6 - 59 198

gezeigten Systems entspricht zu diesem Zeitpunkt dem Zustand 1.2 im DIAGRAMM 4. Der Ausdruck Kopie in· der Spalte Gis zeigt an, daß der Zustand des Ausgangs-Stapelspeichers im Zustand alle Eingänge des vorherigen Zustandes 1.1 erfaßt.The system shown corresponds to state 1.2 in DIAGRAM 4 at this point in time. The expression copy in the column G sharp shows indicates that the state of the output stack memory in the state includes all inputs of the previous state 1.1.

Im Zustand 1.2 des DIAGRAMMES 4 weist die Testeinheit 66 die Anwesenheit der Regel-ID R,, im Regel-Stapelspeicher 78 nach und entnimmt die Regel R1^-ID aus dem Register 78, um den Regel-Speicher 74 zu adressieren. Sodann erfolgt ein Zugriff auf den Regel-Speicher 74 und alle der Regel R... vorausgehenden Atome werden durch die Abgabe des CATR-Signales des Sortierers 69 in das Register 76 geladen. Sodann wird das CSAT-Signal durch den Sortierer 69 abgegeben bis alle Atome, in diesem Falle C, und C„, über die Speicherzelle 24 durch die Atom-Stapelsteuerung 58 in den Atom-Stapelspeicher 60 umgeladen sind. Das zuerst geladene Atom ist C„, dessen Knoten-bit auf den Wert "1" gesetzt ist. Als zweites und letztes Atom wird C. in den Stapelspeicher gedrückt, wobei sein Knoten-bit auf den Wert "0" gesetzt ist. Zu diesem Zeitpunkt ermittelt die Testeinheit 70, daß die Speicherzelle 24 leer ist und signalisiert dem Sortierer 69, das Eindrücken von Atomen über die Steuerung 58 in den Atom-Stapelspeicher 60 zu beenden. Der Zustand des in Fig. 5 gezeigten Systems zu diesem Zeitpunkt entspricht dem Zustand 1.3 des DIAGRAMMES 4.In state 1.2 of DIAGRAM 4, the test unit 66 detects the presence of the rule ID R 1 in the rule stack memory 78 and takes the rule R 1 ^ ID from the register 78 in order to address the rule memory 74. The rule memory 74 is then accessed and all of the atoms preceding the rule R ... are loaded into the register 76 by the output of the CATR signal from the sorter 69. The CSAT signal is then emitted by the sorter 69 until all atoms, in this case C 1 and C ″, have been reloaded into the atom stack memory 60 via the storage cell 24 by the atom stack controller 58. The atom loaded first is C ", whose node bit is set to the value" 1 ". As the second and last atom, C. is pushed into the stack memory with its node bit set to the value "0". At this point in time, the test unit 70 determines that the memory cell 24 is empty and signals the sorter 69 to end the pressing of atoms into the atomic stack memory 60 via the controller 58. The state of the system shown in FIG. 5 at this point in time corresponds to state 1.3 of DIAGRAM 4.

Im Zustand 1.3 weist die Testeinheit 70 nach, daß der Atom-Stapelspeicher 60 ein nicht-leeres oberstes Register 79 aufweist und bewirkt, daß die Atom-Stapelsteuerung 58 den Inhalt des Registers 79 in den Komparator 73 eingibt. Befindet sich der Inhalt des Registers 79 im Komparator 73, ermittelt der Sortierer 69 mittels der Testeinheit 71, daß sich das unterste Register 81 im Stapelspeicher 72 im "0"-Zustand befindet. Der Sortierer 69 gibt dann das CGIS-Signal ab, worauf der Wert "0" aus dem Register 81 entnommen und an die oberste Stelle des Stapels geschoben wird, welcher das A1-AtOm im Register 81 darstellt. Der Komparator 73 vergleicht den Inhalt des Registers 81 mit demIn state 1.3, the test unit 70 verifies that the atom stack memory 60 has a non-empty uppermost register 79 and causes the atom stack controller 58 to enter the content of the register 79 into the comparator 73. If the content of the register 79 is in the comparator 73, the sorter 69 uses the test unit 71 to determine that the lowest register 81 in the stack memory 72 is in the "0" state. The sorter 69 then emits the CGIS signal, whereupon the value “0” is taken from the register 81 and pushed to the top of the stack, which represents the A 1 -AtOm in the register 81. The comparator 73 compares the content of the register 81 with that

- 57 - 59 198- 57 - 59 198

Inhalt des Atom-Stapelregisters 79. Wird ein Vergleichskriterium durch den Komparator 73 ermittelt, so wird der Inhalt des Registers 79 mittels eines CEXR-Signales im Register 77 verriegelt und in den Erklärungs-Stapelspeicher 64 gedrückt. Im Zustand 1.3 entspricht aber C, nicht einem Vergleichskriterium mit A- im Register 81, so daß kein Vergleich erfolgt. Der Sortierer 69 gibt wiederum das CGIS-Signal ab, wodurch A.. aus dem Stapelspeicher entnommen und wieder an die Spitze gedrückt wird, wobei A„ im Register 81 verbleibt. Dieser Vorgang des Vergleichs jeder Eingabe im Ausgangs-Stapelspeicher 72 wird fortgesetzt, bis A„ und A_ wiederum zurück in den Stapelspeicher gedrückt sind. Der Sortierer 69 gibt das CGIS-Signal so lange ab, bis der Tester 71 wiederum feststellt, daß im Register 81 überall der Zustand "0" herrscht, unabhängig davon, ob der Komparator 73 ein Vergleichskriterium findet. Ergibt sich kein Vergleichskriterium, so wird das Atom C, im Register 79 nicht aus dem Stapelspeicher 60 entnommen, sondern verbleibt vielmehr dort.Contents of the atom stack register 79. If a comparison criterion is determined by the comparator 73, the contents of the Register 79 locked in register 77 by means of a CEXR signal and pushed into explanation stack 64. In state 1.3, however, C does not correspond to a comparison criterion with A- in register 81, so that no comparison is made. The sorter 69 in turn emits the CGIS signal, whereby A .. from the Stack is removed and pushed back to the top, with A "remaining in register 81. This process of the Comparison of each entry in the output stack 72 continues until A "and A_ again go back to the stack are pressed. The sorter 69 outputs the CGIS signal until the tester 71 again determines that in the register 81 the state "0" prevails everywhere, regardless of whether the comparator 73 finds a comparison criterion. Surrendered If there is no comparison criterion, atom C in register 79 is not removed from stack memory 60, but remains rather there.

Die Inhalte des Registers 79 werden weiterhin durch die Steuerung 58 entnommen und in den Folgen-Adress-Speicher 68 eingegeben. Da der Regel-Stapelspeicher 56 und der Atom-Stapelspeicher 60 nicht beide leer sind, gibt der Sortierer 69 kein CGOT-Signal ab und wählt somit den Ausgang des Folgen-Adress-Speichers 68. Die der durch C- im Folgen-Adress-Speicher 68 adressierten Regel vorausgehende wird im Register 75 verriegelt. Wie zuvor werden die Inhalte von links nach rechts durch die Speicherzelle 39 und in den Regel-Stapelspeicher 56 geschoben. Beim gegebenen Ausführungsbeispiel ist die zugegriffene Regel-ID R_, welche im Register 78 mit einem Knoten-bit erscheint, der auf "1" gesetzt ist. Der Zustand des in Fig. 5 gezeigten Systems entspricht zu diesem Zeitpunkt dem Zustand 1.4 des DIAGRAMMESThe contents of the register 79 are also taken by the controller 58 and entered into the sequence address memory 68. Since rule stack 56 and atom stack 60 are not both empty, sorter 69 does not issue a CGOT signal and thus selects the output of the sequence address memory 68. The rule that precedes the rule addressed by C- in the sequence address memory 68 is latched in register 75. As beforehand, the contents are shifted from left to right through the memory cell 39 and into the rule stack memory 56. At the given embodiment is the accessed rule ID R_, which appears in register 78 with a node bit that is set to "1". The state of the system shown in FIG corresponds to state 1.4 of the DIAGRAM at this point in time

Im Zustand 1.4 mit nicht leerem Regel-Stapelspeicher 56, leerem Register 77, was durch die Testeinheit 67 nachgewiesen ist und bedeutet, daß nichts in den Erklärungs-Stapelspeicher 64 einge-In state 1.4 with rule stack memory 56 that is not empty, register 77 empty, which is verified by test unit 67 and means that nothing has entered the declaration stack 64

geben wurde, verbindet die Steuerung 54 die Inhalte des Registers 78, um den Regel-Speicher 74 zu adressieren. Die Regel-ID R_ adressiert den Speicher 74 und bewirkt, daß die dieser Regel vorausgehende (Regel) im Register 76 durch Abgabe des CATR-Signales verriegelt wird. Danach wird wie zuvor durch das CSAT-Signal der Inhalt des Registers 76 durch die Speicherzelle 24 geladen, um über die Steuerung 58 an die oberste Stelle des Atom-Stapels 60 geschoben zu werden. Der Zustand des in Fig. 5 gezeigten Systems entspricht zu diesem Zeitpunkt dem Zustand 1.5 im DIAGRAMM 4.has been given, the controller 54 combines the contents of the register 78 to address the rule memory 74. The rule ID R_ addresses the memory 74 and causes the rule that precedes this rule to be entered in the register 76 by emitting the CATR signal is locked. Thereafter, as before, the content of the register 76 is transferred to the memory cell 24 by the CSAT signal loaded to be pushed to the top of the atom stack 60 via the controller 58. The state of the in Fig. 5 The system shown corresponds to state 1.5 in DIAGRAM 4 at this point in time.

Im Zustand 1.5, also nach dem Laden des Atom-Stapelspeichers 60, wird die Steuerung 58 durch den Sortierer 69 veranlaßt, den Inhalt des Registers 79 dem Komparator 73 zuzuführen. Der Komparator 73 vergleicht dann den Inhalt des Ausgangs-Stapelspeichers 72 mit dem B1-Inhalt des Registers 79. Da B1 nicht mit einem der Inhalte im Ausgangs-Stapelspeicher 72 vergleichbar ist, wird kein Vergleichs-Signal zum Sortierer 69 abgegeben. Dementsprechend bleibt die Eingabe des Registers 79 über die Steuerung 58 verbunden, um den Folgen-Adress-Speicher 68 zu adressieren. Der Folgen-Adress-Speicher 68 liefert die Regel-Identifizierungen für alle Regeln, die B, als Folge haben, in das Register 75. Das Register 75 wird sodann über die Speicherzelle 39 und die Steuerung 54 in den Regel-Stapelspeicher 56 entladen. Die zuerst geladene Regel-ID ist R-, deren Knoten-bit auf "1" gesetzt ist, und die zweite entladene Regel ist R1, deren Knoten-bit auf "0" gesetzt ist. Zu diesem Zeitpunkt entspricht der Zustand des in Fig. 5 gezeigten Systems dem Zustand 1.6 des DIAGRAMMES 4.In state 1.5, that is to say after loading the atomic stack memory 60, the controller 58 is caused by the sorter 69 to feed the contents of the register 79 to the comparator 73. The comparator 73 then compares the content of the output stack memory 72 with the B 1 content of the register 79. Since B 1 cannot be compared with any of the contents in the output stack memory 72, no comparison signal is output to the sorter 69. Accordingly, the input of the register 79 remains connected via the controller 58 in order to address the sequence address memory 68. The sequence address memory 68 supplies the rule identifications for all rules which have B as a result in the register 75. The register 75 is then unloaded into the rule stack 56 via the memory cell 39 and the controller 54. The first rule ID loaded is R-, whose node bit is set to "1", and the second unloaded rule is R 1 , whose node bit is set to "0". At this point in time, the state of the system shown in FIG. 5 corresponds to state 1.6 of DIAGRAM 4.

Im Zustand 1.6 adressiert der R1-Inhalt des Regel-Stapelspeichers 78 den Regel-Speicher 74 und wird entnommen. Das der Regel R1 vorausgegangene Feld wird in das Register 76 geladen und über die Steuerung 58 entladen und an die Spitze des Stapels 60 gedrückt. Zu diesem Zeitpunkt entspricht der Zustand des in Fig. 5 gezeigten Systemes dem Zustand 1.7 des DIAGRAMMES 4.In state 1.6, the R 1 content of the rule stack memory 78 addresses the rule memory 74 and is removed. The field preceding rule R 1 is loaded into register 76 and unloaded via controller 58 and pushed to the top of stack 60. At this point in time, the state of the system shown in FIG. 5 corresponds to state 1.7 of DIAGRAM 4.

Im Zustand 1.7 führt die Steuerung 58 den Wert A1 im Register 79 dem Komparator 73 zu. Der Komparator 73 vergleicht den A--Wert des Registers 79 mit den Inhalten des Ausgangs-Stapelspeichers 72. Der Ausgangs-Stapelspeicher 72 enthält A., so daß der Komparator 73 das Vergleichskriterium ermittelt und dem Signal-Sortierer 79 ein entsprechendes Signal übermittelt. Aufgrund des Nachweises des Vergleichskriteriums für das Atom A1, wird das CEXR-Signal abgegeben, um das Atom A. im Register 77 zu verriegeln. Gleichzeitig werden durch die Steuerung 62 die Inhalte des Registers 77 ausgewählt, um das Atom A1 in den Stapelspeicher 64 zu drücken. Da das Atom A1 als erstes für das Ziel in den Stapelspeicher gedrückt ist, entspricht sein Knoten-bit dem Wert "1". Enthält das Register 77 einen Wert, was durch die Testeinheit 67 ermittelt wird, so verbindet die Steuerung 58 den obersten Wert im Register 79, welcher zu diesem Zeitpunkt das A_-Atom ist, da das A1-AtOm aus dem Register 77 entnommen ist. Das A3-AtOm wird im Komparator 73 mit den Inhalten des Ausgangs-Stapelspeichers 72 verglichen. Dabei wird wiederum ein Vergleichskriterium gefunden und das Atom A_ wird aus dem Register 79 entnommen und in das Register 77 eingelesen. Die Steuerung 62 bewirkt wiederum, daß das Atom A_ in den Stapel 64 gedrückt wird, wobei sein Knoten-bit auf den Wert "0" gesetzt ist.In state 1.7, the controller 58 feeds the value A 1 in the register 79 to the comparator 73. The comparator 73 compares the A value of the register 79 with the contents of the output stack memory 72. The output stack memory 72 contains A., so that the comparator 73 determines the comparison criterion and transmits a corresponding signal to the signal sorter 79. On the basis of the verification of the comparison criterion for atom A 1 , the CEXR signal is emitted in order to lock atom A. in register 77. At the same time, the contents of the register 77 are selected by the controller 62 in order to push the atom A 1 into the stack memory 64. Since atom A 1 is the first to be pushed into the stack for the target, its node bit corresponds to the value "1". If the register 77 contains a value which is determined by the test unit 67, the controller 58 connects the uppermost value in the register 79, which is the A_ atom at this point in time, since the A 1 -AtOm is taken from the register 77. The A 3 -AtOm is compared in the comparator 73 with the contents of the output stack memory 72. A comparison criterion is again found and the atom A_ is taken from register 79 and read into register 77. The controller 62 in turn causes the atom A_ to be pushed into the stack 64 with its node bit set to the value "0".

Wiederum wird das im Register 79 auftretende Atom A3 im Komparator 73 verglichen, um ein Vergleichskriterium mit dem A_-Eingang im Stapelspeicher 72 zu finden. Das A_-Atom des Registers 79 wird im Register 77 verriegelt und in den Stapelspeicher 64 gedrückt, wobei das Knoten-bit den Wert "0" hat. Der Tester 67 weist nach, daß das Knoten-bit im Register 77 des A3 Atoms aus dem Register 79 den logischen Wert "1" hat. Der Sortierer 79 entnimmt deshalb automatisch das nächste Atom im Register 79, das B1-AtOm, und führt es in das Register 77 und drückt es in den Stapelspeicher 64. Weiterhin bewirkt der Sortierer 69, daß der Regel-Stapelspeicher gelöscht wird, so daß R3(D entnommen und nicht benutzt wird, während das Register 77 gelöscht wird. The atom A 3 occurring in the register 79 is again compared in the comparator 73 in order to find a comparison criterion with the A_ input in the stack memory 72. The A_ atom of register 79 is locked in register 77 and pushed into stack memory 64, the node bit having the value "0". The tester 67 proves that the node bit in register 77 of the A 3 atom from register 79 has the logical value "1". The sorter 79 therefore automatically takes the next atom in the register 79, the B 1 -AtOm, and feeds it into the register 77 and pushes it into the stack memory 64. Furthermore, the sorter 69 causes the rule stack memory to be cleared so that R 3 (D is removed and not used while register 77 is cleared.

- frO - 59 198- frO - 59 198

indem alle "O"-Werte aus der Speicherzelle 24 über die Steuerung 58 eingelesen werden. Zu diesem Zeitpunkt ermittelt der Tester 67 eine "O" für das Knoten-bit von B1 im Register 77, so daß keine weitere Entnahme von Atomen aus dem Stapelspeicher 60 ohne weitere Prüfung erfolgt. Zu diesem Zeitpunkt entspricht der Zustand des in Fig. 5 gezeigten Systems dem Zustand 1.8 des DIAGRAMMES 4.by reading in all "O" values from memory cell 24 via controller 58. At this point in time, the tester 67 determines an "O" for the node bit of B 1 in register 77, so that no further extraction of atoms from the stack memory 60 takes place without further testing. At this point in time, the state of the system shown in FIG. 5 corresponds to state 1.8 of DIAGRAM 4.

Im Zustand 1.8 wird das B_-Atom aus dem Register 79 mittels der Steuerung 58 in den Komparator 73 eingegeben und mit dem Inhalt des Ausgangs-Stapelspeichers 72 verglichen. Da B„ keine Primitiv-Feststellung im Stapelspeicher 72 ist, adressiert die B--Regel-ID den Folgen-Adress-Speicher 68 und bewirkt, daß alle Regeln, in denen B_ als Folge auftritt, in das Register 75 eingegeben werden. Die Regel-ID im Register 75 ist R„, welche in den Regel-Stapelspeicher 56 gedrückt wird. Zu diesem Zeitpunkt entspricht der Zustand des in Fig. 5 gezeigten Systems dem Zustand 1.9 des DIAGRAMMES 4.In state 1.8 the B_ atom is removed from register 79 by means of Controller 58 is entered into comparator 73 and compared with the contents of output stack memory 72. Since B “is not a primitive statement is on stack 72, addresses the B rule ID the sequence address memory 68 and causes all rules in which B_ occurs as a sequence to be entered into the register 75 will. The rule ID in register 75 is R ", which is in the rule stack 56 is pushed. At this time, the state of the system shown in Fig. 5 corresponds to the state 1.9 of DIAGRAM 4.

Im Zustand 1.9 adressiert die R2-Regel-ID über die Steuerung 54 den Regel-Speicher 74 und die mit R„ zusammenhängenden Atome werden im Register 76 untergebracht, während R_ aus dem Register 78 entnommen wird. Diese mit R„ zusammenhängenden Atome werden in den Stapelspeicher 60 gedrückt und der Zustand des in Fig. 5 gezeigten Systems entspricht dem Zustand 1.10 im DIAGRAMM 4.In state 1.9, the R 2 rule ID addresses the rule memory 74 via the controller 54 and the atoms associated with R "are stored in the register 76, while R_ is taken from the register 78. These atoms connected with R "are pushed into the stack memory 60 and the state of the system shown in FIG. 5 corresponds to state 1.10 in DIAGRAM 4.

Im Zustand 1.10 werden die Atome im Stapelspeicher 60 mit den Inhalten des Ausgangs-Stapelspeicher 72 verglichen, und zwar in der Reihenfolge, in welcher sie in die oberste Position des Registers 79 gedrückt werden. Ein Vergleich erfolgt der Reihe nach für A.., A2 und A3 und jedes dieser Atome wird deshalb in den Erklärungs-Stapelspeicher 64 gedrückt, und zwar über diejenigen Informationen, die sich bereits in diesem Speicher befinden. Die sich bereits im Stapelspeicher 64 befindenden Informationen sind im Zustand 1.9 gezeigt und der Einfachheit halberIn state 1.10, the atoms in stack memory 60 are compared with the contents of output stack memory 72, specifically in the order in which they are pushed into the topmost position of register 79. A comparison is made sequentially for A .., A 2 and A 3 and each of these atoms is therefore pushed into the explanation stack 64 over the information that is already in this memory. The information already in the stack memory 64 is shown in state 1.9 and for the sake of simplicity

- 64 - 59 198- 64 - 59 198

im Zustand 1.10 durch das Wort KOPIE angezeigt. Dementsprechend sind zu diesem Zeitpunkt A-, A„ und A3 aus dem Atom-Stapelspeicher 60 entnommen und in den Erklärungs-Stapelspeicher 64 gedrückt. Erscheint das A3-AtOm im Register 77, so wird das Knoten-bit "1" durch die Testeinheit 67 ermittelt, so daß das nächste im Register 79 auftretende Atom B_ ebenfalls aus dem Stapelspeicher 60 entnommen und in den Stapelspeicher 64 gedrückt wird. Erscheint das Atom B1 im Register 77, so hat es ebenfalls das Knoten-bit "1", welches durch die Einheit 67 nachgewiesen wird, so daß die nächste Einheit im Atom-Stapelregister 79 ebenfalls entnommen und in den Stapelspeicher 64 gedrückt wird. Dies ist das C1-AtOm. Zu diesem Zeitpunkt entspricht der Zustand des in Fig. 5 gezeigten Systems dem Zustand 1.11 im DIAGRAMM 4. Es sei angemerkt, daß die C1-, B3-, A--, A„- und A--Atome auf die obersten Lagen über die zuvor im Stapelspeicher abgelegten Informationen gedrückt werden (was durch das Wort KOPIE angedeutet ist und explizit im Zustand 1.9 gezeigt ist) .indicated in state 1.10 by the word COPY. Correspondingly, at this point in time, A 1, A 1 and A 3 have been removed from the atomic stack memory 60 and pushed into the explanation stack memory 64. If the A 3 -AtOm appears in register 77, the node bit "1" is determined by the test unit 67, so that the next atom B_ appearing in register 79 is also removed from the stack memory 60 and pushed into the stack memory 64. If the atom B 1 appears in the register 77, it also has the node bit "1", which is detected by the unit 67, so that the next unit in the atom stack register 79 is also removed and pushed into the stack memory 64. This is the C 1 atom. At this point in time, the state of the system shown in FIG. 5 corresponds to state 1.11 in DIAGRAM 4. It should be noted that the C 1 , B 3 , A, A n and A atoms are on the top layers be pressed via the information previously stored in the stack memory (which is indicated by the word COPY and is explicitly shown in state 1.9).

Im Zustand 1.11 befindet sich C1 mit dem Knoten-bit "0" im Register 77. Deshalb bewirkt der Sortierer 69, daß die Steuerung 58 das C?-Atom aus dem Register 79 in den Komparator 73 eingibt. Da im Ausgangs-Stapelspeicher 72 kein C„ entsprechendes Vergleichskriterium gefunden wird, wird C_ dazu benutzt, den Folgen-Adress-Speicher 68 zu adressieren. Die Regel-Identifizierungen für C? werden im Register 75 verriegelt und im Regel-Stapelspeicher 56 nach unten gedrückt. Diese Regel-Identifizierungen sind Rfi und Rg. Der Zustand des Sortierers entspricht zu diesem Zeitpunkt dem Zustand 1.12 im DIAGRAMM 4.In state 1.11 there is C 1 with the node bit "0" in register 77. Therefore, the sorter 69 causes the controller 58 to send the C ? -Atom from the register 79 into the comparator 73. Since no comparison criterion corresponding to C "is found in the output stack memory 72, C_ is used to address the sequence address memory 68. The rule identifiers for C ? are locked in register 75 and pushed down in rule stack memory 56. These rule identifications are R fi and Rg. The status of the sorter at this point in time corresponds to status 1.12 in DIAGRAM 4.

Im Zustand 1.12 adressiert die Rg-Regel-ID des Registers 78 den Regel-Speicher 74 und bewirkt, daß die B1- und B2-Atome im Atom-Stapelspeicher 60 nach unten gedrückt werden. Dieser Zustand des Systems ist im DIAGRAMM 4 mit 1.13 bezeichnet.In state 1.12, the Rg-Regel-ID of the register 78 addresses the rule memory 74 and causes the B 1 and B 2 atoms in the atomic stack memory 60 to be pushed down. This state of the system is identified in DIAGRAM 4 with 1.13.

59 19859 198

Im Zustand 1.14 adressiert das B,-Atom im Atom-Stapelspeicher 60 den Folgen-Adress-Speicher 68 und drückt R_ und R. in den Regel-Stapelspeicher.In state 1.14, the B, -atom is addressed in the atomic stack 60 moves the sequence address memory 68 and pushes R_ and R. into the rule stack.

Danach adressiert R- den Regel-Speicher 74 und drückt die Atome A_, A_ und A1 in den Atom-Stapelspeicher 60.Then R- addresses the rule memory 74 and pushes the atoms A_, A_ and A 1 into the atom stack memory 60.

Im Zustand 1.15 ergibt sich für jedes der Atome A1, A? und A_ ein Vergleichskriterium und sie werden in den Erklärungs-Stapelspeicher gedrückt. Da das A,-Atom ein Knoten-bit "1" aufweist, wird auch das B1-AtOm in den Stapelspeicher gedruckt. Da der Stapelspeicher bis zum Knotenpunkt gefüllt ist, wird der Kegel-Speicher entsprechend den Lösch-Regeln gelöscht. Da im Zustand 1.15 alle Regeln das Knoten-bit "1" aufweisen, werden alle Regeln im Stapelspeicher gelöscht. Der Zustand des in Fig. 5 gezeigten Systems entspricht in diesem Zeitpunkt dem Zustand 1.16 im DIAGRAMM 4.In state 1.15 we get for each of the atoms A 1 , A ? and A_ a comparison criterion and they are pushed into the explanation stack. Since the A, atom has a node bit "1", the B 1 -AtOm is also printed in the stack. Since the stack memory is filled up to the node, the cone memory is deleted according to the deletion rules. Since all rules have the node bit "1" in state 1.15, all rules in the stack are deleted. The state of the system shown in FIG. 5 at this point in time corresponds to state 1.16 in DIAGRAM 4.

Im Zustand 1.16 findet sich für das B2-AtOm im Atom-Stapelspeicher kein Vergleichskriterium und entsprechend wird auf die R_-Regel-ID im Regel-Stapelspeicher 56 zurückgegriffen. Zu diesem Zeitpunkt ist der Zustand 1.17 im DIAGRAMM 4 erreicht.In state 1.16 there is no comparison criterion for the B 2 -AtOm in the atom stack and the R_ rule ID in the rule stack 56 is used accordingly. At this point in time, state 1.17 in DIAGRAM 4 has been reached.

Im Zustand 1.17 adressiert die R„-Regel-ID den Regel-Speicher 74 und bewirkt, daß die Atome entsprechend R„ gemäß dem Zustand 1.18 in den Atom-Stapelspeicher 60 gedrückt werden.In state 1.17, the R “rule ID addresses the rule memory 74 and causes the atoms according to R "according to the state 1.18 must be pushed into the atomic stack memory 60.

Im Zustand 1.18 findet sich für die Atome A1, A„ und A3 ein Vergleichskriterium und sie werden aus dem Atom-Stapelspeicher entnommen und in den Erklärungs-Stapelspeicher gedrückt. Da das Atom A_ ein Knoten-bit "1" aufweist, wird auch der oberste B~- Wert im Stapelspeicher 60 hieraus entnommen und in den Erklärungs-Stapelspeicher gedrückt. Da B„ ebenfalls den Wert "1" im Knoten-bit aufweist, wird auch der nächste Wert C„ im Register 79 vom Atom-Stapelspeicher entnommen und in den Erklärungs-In state 1.18 there is a comparison criterion for the atoms A 1 , A 1 and A 3 and they are removed from the atom stack and pushed into the explanation stack. Since the atom A_ has a node bit "1", the topmost B ~ value in the stack memory 60 is also taken from it and pushed into the explanation stack memory. Since B "also has the value" 1 "in the node bit, the next value C" in register 79 is also taken from the atomic stack and stored in the explanation

- #3 - 59 198 - # 3 - 59 198

Stapelspeicher gedrückt. Zu diesem Zeitpunkt entspricht der Zustand des in Fig. 5 gezeigten Systems dem Zustand 1.19 im DIAGRAMM 4.Stack pressed. At this point in time, the state of the system shown in FIG. 5 corresponds to state 1.19 in DIAGRAM 4.

Im Zustand 1.19 sind die obersten Register 78 bzw. 79 der Regel-Stapelspeicher 56 bzw. des Atom-Stapälspeichers 60 als leer nachgewiesen. Dementsprechend gibt der Sortierer 79 wiederum das CGOS-Signal ab, wodurch das nächste Ziel in das Register geführt wird. Zu diesem Zeitpunkt adressiert das Ziel G„ den Ziel-Adress-Speicher 51 und der Selektor 53 bewirkt, daß die Regel-ID für G„ im Register 75 verriegelt wird. Diese Regel-ID ist R14/ welche auf den Regel-Stapelspeicher 56 gedrückt wird. Zu diesem Zeitpunkt wird die Verarbeitung des zweiten Zieles fortgesetzt und der Zustand des in Fig. 5 gezeigten Systems entspricht dem Zustand 1.20 im DIAGRAMM 4.In state 1.19, the uppermost registers 78 and 79 of the rule stack memory 56 and the atom stack memory 60 are shown to be empty. Accordingly, the sorter 79 again emits the CGOS signal, as a result of which the next destination is fed into the register. At this point in time, the target G ″ addresses the target address memory 51 and the selector 53 causes the rule ID for G ″ in the register 75 to be locked. This rule ID is R 14 / which is pushed onto the rule stack 56. At this point in time, the processing of the second target is continued and the state of the system shown in FIG. 5 corresponds to state 1.20 in DIAGRAM 4.

Im Zustand 1.20 adressiert die Regel-ID R14 aus dem Stapelspeicher 56 den Regel-Speicher 74 und wird aus dem Stapelspeicher entnommen, worauf die Atome C_ und C» auf den Stapelspeicher gedrückt werden. Der Zustand des in Fig. 5 gezeigten Systems entspricht nunmehr dem Zustand 1.21 im DIAGRAMM 4.In state 1.20, the rule ID R 14 addresses the rule memory 74 from the stack memory 56 and is removed from the stack memory, whereupon the atoms C_ and C »are pushed onto the stack memory. The state of the system shown in FIG. 5 now corresponds to state 1.21 in DIAGRAM 4.

Die Verarbeitung des Zieles G„ wird dem Zustand 1.21 folgend analog den Zuständen 1.1 bis 1.19 des Zieles G1 fortgesetzt (wie oben beschrieben). Ist die Verarbeitung des Zieles G„ abgeschlossen, so wird wiederum das CGOS-Signal abgegeben, damit das G_-Ziel analog den G-- und G2~Zielen verarbeitet wird.The processing of the goal G ″ is continued following the state 1.21 analogously to the states 1.1 to 1.19 of the goal G 1 (as described above). When the processing of the target G "is completed, the CGOS signal is emitted again so that the G_ target is processed in the same way as the G and G 2 targets.

Sind das Register 78 im Ziel-Stapelspeicher 50 und die obersten Register 78 und 79 im Regel-Stapelspeicher 56 sowie der Atom-Stapelspeicher 60 allesamt leer, so wird der Sortierer 69 diesen Zustand erkennen und der Test 1 des DIAGRAMMES 3 ist abgeschlossen. Are the register 78 in the target stack memory 50 and the top registers 78 and 79 in the rule stack memory 56 and the atomic stack memory 60 are all empty, the sorter 69 will recognize this state and test 1 of DIAGRAM 3 is complete.

- -fr4 - 59 198- -fr4 - 59 198

Danach können zusätzliche Tests, beispielsweise die Tests 2-5 des DIAGRAMMES 3 ausgeführt werden, wobei die Abfolge dem DIAGRAMM 4 entspricht, wie sie zuvor beschrieben worden ist.Additional tests, for example tests 2-5 of DIAGRAM 3, can then be carried out, the sequence corresponding to DIAGRAM 4 corresponds to that previously described.

Ist ein Test abgeschlossen, tritt der Sortierer 69 üblicherweise mit der Schnittstelle 12 (Fig. 1) in Verbindung, gegebenenfalls auf eine Abfrage hin, um die textmäßige Beschreibung der durch die Atome im Erklärungs-Stapelspeicher 64 bestimmten Sequenz auszugeben. Um die Textinformationen auszugeben, gibt der Sortierer 69 wiederholt CES-Signale ab, um die Atome im Stapelspeicher 64 jeweils einzeln gemäß dem LIFO-Prinzip abwärts zu drücken. Jedes im untersten Register 90 auftauchende Atom adressiert den Folgen-Adress-Speicher 78, welcher seinerseits ein Textfeld der Ausgabeeinrichtung 91 zur Verfügung stellt. Ist die Ausgabeeinrichtung 91 ein Drucker, wird eine textmäßige Beschreibung der Art und Weise, wie das Ergebnis erhalten wurde, ausgedruckt, so daß sie für den Menschen verständlich ist.Once a test has been completed, the sorter 69 usually communicates with the interface 12 (FIG. 1), if necessary upon query, for the textual description of the sequence determined by the atoms in the explanation stack 64 to spend. To output the text information, the sorter 69 repeatedly outputs CES signals to stack the atoms 64 downwards, one at a time, according to the LIFO principle. Each atom appearing in the lowest register 90 is addressed the sequence address memory 78, which in turn makes a text field available to the output device 91. is the output device 91 a printer, a textual description of the way in which the result was obtained, printed out so that it can be understood by humans.

Claims (22)

-1-"1-· SCHWEIGERSTRASSE 2 lA-59 198 telefon: (089)6620 ji telegramm: protectpatent Telex: 524070 telefax: via (089) 271 6063 (in) Patentansprüche :-1- "1- · SCHWEIGERSTRASSE 2 LA-59 198 phone: (089) 6620 ji telegram: protectpatent Telex: 524070 fax: via (089) 271 6063 (in) patent claims: 1. Datenverarbeitungsanlage,
gekennzeichnet durch
1. data processing system,
marked by
einen Wissens-Basis-Speicher (10) zum Speichern von Regeln in Flach-Dateien, wobei jede Regel eine Mehrzahl von Aussagen aufweist, welche in einer in der zugehörigen Flach-Datei angegebenen Weise verknüpft sind,a knowledge base memory (10) for storing rules in flat files, each rule having a plurality of statements, which are linked in a manner specified in the associated flat file, einen Primitiven-Speicher (28) zum Speichern von einem oder Ί mehreren Primitiv-Aussagen,a primitive memory (28) for storing one or Ί several primitive statements, einen Ziel-Speicher (50) zum Speichern von einer oder mehreren Ziel-Aussagen unda target memory (50) for storing one or more target statements and eine Schlußfolgerungseinrichtung (11) zum Verarbeiten von Primitiv-Aussagen und Ziel-Aussagen, um festzustellen, ob die Ziel-Aussagen entsprechend den Regeln durch die Primitv-Aussagen bestätigt werden.an inference device (11) for processing primitive statements and goal-statements to determine whether the goal-statements conform to the rules given by the primitive statements beeing confirmed.
2. Datenverarbeitungsanlage mit der mittels Rückwärtsverkettung geprüft wird, ob bestimmte Ziel-Aussagen bei Vorliegen von einer oder mehreren Primitiv-Aussagen als Ausgangszustand bestimmten Regeln genügen,
gekennzeichnet durch
2. Data processing system that uses backward chaining to check whether certain target statements meet certain rules when one or more primitive statements are present as the initial state,
marked by
einen Regel-Speicher (30) zum Speichern von Regeln in Flach-Dateien, wobei jede Regel eine Voraussetzung und eine Folge aufweist, die jeweils durch eine oder mehrere Aussagen gebildet werden, welche in einer in der zugehörigen Flach-Datei angegebenen Weise miteinander verknüpft sind, «£a rule memory (30) for storing rules in flat files, Each rule has a prerequisite and a consequence, each formed by one or more statements which are linked to one another in a manner specified in the associated flat file, «£ - 2 - 59 198- 2 - 59 198 einen Primitiven-Stapelspeicher (28) zum Speichern von einer oder mehreren Primitiv-Aussagen,a primitive stack (28) for storing one or more primitive statements, einen Ziel-Stapelspeicher (50) zum Speichern von einer oder mehreren Ziel-Aussagen, wobei jede Ziel-Aussage eine Folge einer Regel aus dem Regel-Speicher (30) ist, einen Regel-Adressenspeicher (91) mit Speicherzellen für Regel-Adressen, wobei jede Speicherzelle durch eine Adressier-Aussage adressiert wird und wobei jede Regel-Adress-Speicherzelle Regel-Adressen von Regeln speichert, welche die adressierende Aussage als Folge enthalten,a target stack (50) for storing one or more target statements, each target statement being a sequence of a Rule from the rule memory (30) is a rule address memory (91) with memory cells for rule addresses, wherein each memory cell is addressed by an addressing statement and wherein each rule address memory cell is rule addresses of rules which contain the addressing statement as a sequence, einen Regel-Stapelspeicher (56) zum Speichern von Regel-Adressen, auf welche im Regel-Adress-Speicher (91) zugegriffen ist,a rule stack memory (56) for storing rule addresses which are accessed in the rule address memory (91) is, einen Aussagen-Stapelspeicher (60) zum Speichern von Aussagen, welche in denjenigen Regeln die Voraussetzungen darstellen, auf welche im Regel-Speicher (30) zugegriffen ist, einen Komparator (73), welcher Primitiv-Aussagen aus dem Primitiven-Stapelspeicher (28) mit Aussagen aus dem Aussagen-Stapelspeicher (60) vergleicht und welcher ein Vergleichssignal abgibt, sobald eine Aussage aus dem Stapelspeicher (60) nach einem Vergleichskriterium mit einer Primitv-Aussage übereinstimmt, unda statement stack (60) for storing statements which represent the prerequisites in those rules which is accessed in the rule memory (30), a comparator (73), which primitive statements from the primitive stack (28) compares with statements from the statements stack memory (60) and which emits a comparison signal, as soon as a statement from the stack memory (60) matches a primitive statement according to a comparison criterion, and einen Sortierer (69) zum Verarbeiten von Primitiv-Aussagen und Ziel-Aussagen, um festzustellen, ob die Ziel-Aussagen durch die Primitiv-Aussagen entsprechend den Regeln bestätigt werden, wobei der Sortierer (69) folgende Funktionen ausführt: Eingeben der Ziel-Aussagen aus dem Ziel-Speicher (50), um den Regel-Adress-Speicher (91) zu adressieren, Eingeben von Regel-Adressen aus der adressierten Speicherzelle im Regel-Adress-Speicher (91) in den Regel-Stapelspeicher (56) , Eingeben von Regel-Adressen aus dem Regel-Adress-Stapelspeicher (91), um den Regel-Speicher (56) zu adressieren, Eingeben von Voraussetzungs-Aussagen aus dem Regel-Speicher (56) in den Aussagen-Stapelspeicher (60), Eingeben von Aussagen aus dem Aussagen-Stapelspeicher (60) in den Komparator (73), um einen Vergleich mit den Primitiv-Aussagen aus dem Primitiv-Speicher (28) zu ermöglichen. a sorter (69) for processing primitive and goal statements to determine whether the goal statements match the Primitive statements are confirmed according to the rules, the sorter (69) executing the following functions: Input the target statements from the target memory (50) to address the rule address memory (91), entering rule addresses from the addressed memory cell in the rule address memory (91) into the rule stack memory (56), input of rule addresses from the rule address stack (91) to the rule memory (56) entering prerequisite statements from rule memory (56) into the statement stack (60), inputting statements from the statements stack (60) into the comparator (73) for comparison with to enable the primitive statements from the primitive memory (28). - 3 - 59 198- 3 - 59 198
3. Datenverarbeitungsanlage nach Anspruch 2,3. Data processing system according to claim 2, dadurch gekennzeichnet, daß zusätzlich ein Erklärungs-Stapelspeicher (64) vorgesehen ist mit Erklärungs-Stapelzellen und mit einer Erklärungs-Stapelspeicher-Steuerung (62), welche auf den Sortierer (69) ansprechen, um Aussagen immer dann in den Erklärungs-Stapelspeicher (64) zu drücken, wenn der Komparator (73) gemäß einem Vergleichskriterium zwischen einer Aussage im Primitiven-Stapelspeicher (28) und einer Aussage im Aussagen-Stapelspeicher (60) eine Übereinstimmung erkennt.characterized in that an explanation stack memory (64) is additionally provided is with explanation stack cells and with an explanation stack memory controller (62), which respond to the sorter (69), always put statements into the explanation stack (64) to press when the comparator (73) according to a comparison criterion between a statement in the primitive stack (28) and a statement in the statement stack (60) recognizes a match. 4. Datenverarbeitungsanlage nach einem der Ansprüche 2 oder 3,4. Data processing system according to one of claims 2 or 3, dadurch gekennzeichnet, daß der Regel-Stapelspeicher (56) einen Push-pop-Regelstapel mit Regel-Stapelzellen sowie eine Regel-Stapelsteuerung (54) aufweist, wobei jede Regel-Stapelzelle ein Regel-Adress-Knotenbit-Feld aufweist, welches benutzt wird, um das Eindrücken der Aussagen in den Regel-Stapel und das Entnehmen von Aussagen aus diesem Stapel zu ermöglichen.characterized in that the rule stack (56) is a push-pop rule stack with rule stack cells and a rule stack controller (54), each rule stack cell having a rule address node bit field which is used to push statements into the rule stack and extract statements from it to enable this stack. 5. Datenverarbeitungsanlage nach einem der Ansprüche 2-4, dadurch gekennzeichnet, daß der Regel-Stapelspeicher (56) eine Regel-Stapel-Knoten-bit-Steuerung aufweist, um den ersten Regel-Adress-Knoten-bit in einen bestimmten Zustand zu setzen, wobei jedes nachfolgende Regel-Adress-Knoten-bit für alle sich aus der adressierenden Aussage ergebenden Regel-Adressen in den entgegengesetzten Zustand gesetzt wird.5. Data processing system according to one of claims 2-4, characterized in that that the rule stack memory (56) is a rule stack node bit control to set the first rule address node bit to a certain state, each subsequent Rule address node bit for all rule addresses resulting from the addressing statement in the opposite state is set. 6. Datenverarbeitungsanlage nach einem der Ansprüche 2-4, dadurch gekennzeichnet, daß der Aussagen-Stapelspeicher (60) einen Push-pop("Eindrücken-Entnehmen")-Stapel aufweist, welcher Aussagen-Stapelzellen und < eine Aussagen-Stapelsteuerung (58) aufweist, um Aussagen aus6. Data processing system according to one of claims 2-4, characterized in that that the statements stack (60) is a push-pop ("push-in-take-out") stack has which statement stack cells and <a statement stack control (58) to statements from - 4 - 59 198- 4 - 59 198 dem Regel-Speicher (74) in den Aussagen-Stapelspeicher (60) zu drücken, sowie Einrichtungen, um die Aussagen aus dem Aussagen-Stapelspeicher (60) zu entnehmen.the rule memory (74) into the statement stack (60) Press, as well as means to remove the statements from the statements stack (60). 7. Datenverarbeitungsanlage nach Anspruch 6, dadurch gekennzeichnet, daß der Aussagen-Stapel ein Aussagen-Stapel-Knoten-bit-Feld für jede Aussagen-Stapelzelle aufweist, wobei die Aussagen-Stapelsteuerung (58) Einrichtungen aufweist, um ein Aussagen-Stapel-Knoten-bit für die erste Aussage einer Regel in einen bestimmten Zustandswert zu setzen, worauf das Knoten-bit für jede folgende Aussage der Regel in den entgegengesetzten Zustand gesetzt wird.7. Data processing system according to claim 6, characterized in that that the statements stack has a statements stack node bit field for each statement stack cell, the statement stack controller (58) including means to generate a statement stack node bit for the first statement of a rule to be set in a certain state value, whereupon the node bit for each subsequent one Statement is usually put in the opposite state. 8. Datenverarbeitungsanlage nach einem der Ansprüche 2-7, dadurch gekennz eichnet, daß Einrichtungen zum überführen einer Aussage aus dem Aussagen-Stapelspeicher (60) vorgesehen ist, um den Regel-Adressen-Speicher (91) bei Abwesenheit eines Vergleichssignales zu adressieren, damit entsprechend Aussagen auf den Regel-Stapelspeicher (56) gedrückt werden können.8. Data processing system according to one of claims 2-7, characterized in that it is marked, that means for transferring a statement from the statement stack (60) is provided in order to address the rule address memory (91) in the absence of a comparison signal, so that statements on the rule stack memory (56) can be pressed accordingly. 9. Datenverarbeitungsanlage nach einem der Ansprüche 2-8, dadurch gekennzeichnet, daß ein Regel-Stapelspeicher-Tester (66) vorgesehen ist, um Regel-Adressen im Regel-Stapelspeicher (56) zu prüfen und zu bestimmen, ob der Regel-Stapelspeicher (56) leer ist, und daß ein Aussagen-Stapelspeicher-Tester (70) vorgesehen ist, um Aussagen im Aussagen-Stapelspeicher (60) zu prüfen und um zu bestimmen, ob der Aussagen-Stapelspeicher (60) leer ist, wobei der Regel-Stapelspeicher-Tester (66) und der Aussagen-Stapelspeicher-Tester (70) mit dem Sortierer (69) verbunden sind, um diesem anzuzeigen, daß er eine Ziel-Feststellung aus dem Ziel-Stapelspeicher (50) auswählen soll, wenn der Regel-Stapelspeicher (56) und der Aussagen-Stapelspeicher (60) beide leer sind.9. Data processing system according to one of claims 2-8, characterized in that that a rule stack memory tester (66) is provided to check and to check rule addresses in the rule stack memory (56) determine if the rule stack (56) is empty and that a statements stack tester (70) is provided to test statements test in the assertion stack (60) to determine if the assertion stack (60) is empty wherein said rule stack tester (66) and said assertive stack tester (70) are connected to the sorter (69) to indicate to the latter that it is making a target determination select the target stack (50) if the rule stack (56) and the assertion stack (60) are both are empty. - 5 - 59 198- 5 - 59 198 10. Datenverarbeitungsanlage nach einem der Ansprüche 3-9, dadurch gekennzeichnet,10. Data processing system according to one of claims 3-9, characterized, daß der Erklärungs-Stapelspeicher (64) einen Push-pop-Erklärungsstapel und eine Erklärungs-Stapelsteuerung (62) aufweist, wobei jede Erklärungsstapel-Speicherzelle ein Erklärungsstapel-Knoten-bit-Feld aufweist und die Erklärungsstapel-Steuerung (62) Einrichtungen aufweist, um Aussagen in den Erklärungsstapel zu drücken und Aussagen unter Steuerung durch den Sortierer (69) aus dem Erklärungsstapel zu entnehmen.that the declaration stack (64) is a push-pop declaration stack and a declaration stack controller (62), each declaration stack memory cell having a declaration stack node bit field and the explanation stack control (62) comprises means for adding statements to the explanation stack to press and to take statements under the control of the sorter (69) from the explanatory pile. 11. Datenverarbeitungsanlage nach Anspruch 10, dadurch gekennzeichnet,11. Data processing system according to claim 10, characterized, daß Eine Ausgabeeinrichtung (89) vorgesehen ist, welche mit dem Regel-Adress-Speicher (91) verbunden ist um Text-Aussagen aus dem Regel-Adress-Speicher (91) sequentiell in Ansprache auf die Adressierung des Regel-Adress-Speichers (91) durch im Erklärungsstapel gespeicherte Aussagen abzugeben.that an output device (89) is provided which with the Usually address memory (91) is connected to text statements the rule address memory (91) sequentially in response to the addressing of the rule address memory (91) by in the explanation stack submit saved statements. 12. Datenverarbeitungsanlage mit der mittels Vorwärtsverkettung geprüft wird, ob bestimmte Ziel-Aussagen bei Vorliegen von einer oder mehreren Primitiv-Aussagen als Ausgangszustand bestimmten Regeln genügen,
gekennzeichnet durch
12. Data processing system with which it is checked by means of forward chaining whether certain target statements meet certain rules when one or more primitive statements are present as the initial state,
marked by
einen Regel-Speicher (30, 56) zum Speichern von Regeln in Flach-Dateien, wobei jede Regel eine Voraussetzung und eine Folge aufweist, welche jeweils durch eine oder mehrere Aussagen gebildet werden, die miteinander in einer in der entsprechenden Flach-Datei angegebenen Weise verknüpft sind, einen Primitiven-Stapelspeicher (28) zum Speichern von einer oder mehreren Primitiv-Aussagen,a rule memory (30, 56) for storing rules in flat files, each rule having a prerequisite and a Has sequence, which are each formed by one or more statements that are linked to one another in a in the corresponding Flat file specified manner are linked, a primitive stack memory (28) for storing one or several primitive statements, einen Regel-Adress-Speicher (91) mit Regel-Adress-Speicherzellen, wobei jede Regel-Adress-Speicherzelle durch Primitiv-Aussagen adressiert wird, auf die im Primitiv-Stapelspeicher (28) zugegriffen wird, und wobei jede Regel-Adress-Speicherzelle Regel-Adressen von Regeln speichert, welche die adressierende Primitiv-Aussage als Folge aufweisen,a rule address memory (91) with rule address memory cells, where each rule address memory cell by primitive statements is addressed, which is accessed in the primitive stack memory (28), and wherein each rule address memory cell Saves rule addresses of rules which have the addressing primitive statement as a result, - 6 - 59 198- 6 - 59 198 ein Regel-Adress-Register (29) zum Speichern von Regel-Adressen, auf welche im Regel-Adress-Speicher (91) zugegriffen wird, wobei das Regel-Adress-Register zur Adressierung des Regel-Speichers verbunden ist,a rule address register (29) for storing rule addresses, which is accessed in the rule address memory (91), the rule address register for addressing the rule memory connected is, ein Folgen-Register (31) zum Speichern von Aussagen, welche die Folgen der Regeln bilden, auf die im Regel-Speicher (30) zugegriffen ist,a sequence register (31) for storing statements which form the sequences of the rules to which the rule memory (30) is accessed eine Verknüpfungseinrichtung (32), welche Folgen-Aussagen aus dem Folgen-Register (31) mit Inhalten des Ergebnis-Registers (33) verknüpft, um ein neues Resultat zu erzeugen, welches wiederum in das Ergebnis-Register (33) eingegeben wird, und einen Dekodierer (35), der mit dem Ergebnis-Register (33) verbunden ist, um dessen Zustand nachzuweisen und dabei zu bestimmen, ob die Primitiv-Aussagen den Regeln entsprechen.a linking device (32) which sequence statements from the sequence register (31) with the contents of the result register (33) linked in order to generate a new result, which in turn is entered into the result register (33), and a decoder (35) which is connected to the result register (33) in order to detect its state and thereby determine, whether the primitive statements conform to the rules.
13. Datenverarbeitungsanlage nach Anspruch 12, dadurch gekennzeichnet ,13. Data processing system according to claim 12, characterized in that daß die Verknüpfungseinrichtung (32) ein logisches UND-Gatter ist, um die Inhalte des Folgen-Registers (31) und des Ergebnis-Registers (33) in einer UND-Funktion miteinander zu verknüpfen.that the logic device (32) is a logical AND gate to the contents of the sequence register (31) and the result register (33) to be linked in an AND function. 14. Datenverarbeitungsanlage nach einem der Ansprüche 12 oder 13,14. Data processing system according to one of claims 12 or 13, dadurch gekennzeichnet ,characterized , daß weiterhin ein Erklärungs-Stapelspeicher (38) vorgesehen ist, der mit dem Regel-Adress-Register (29) verbunden ist, um jede Regel-Adresse zu speichern, auf welche im Primitiv-Stapelspeicher (28) zugegriffen wurde.that further a declaration stack memory (38) is provided which is connected to the rule address register (29) in order to store each rule address accessed in the primitive stack memory (28). 15. Datenverarbeitungsanlage nach Anspruch 14, dadurch gekennzeichnet ,15. Data processing system according to claim 14, characterized in that daß weiterhin eine Ausgabeeinrichtung (89) vorgesehen ist, welche mit dem Regel-Speicher (30) verbunden ist und Text-Erklärungen aus dem Regel-Speicher (30) nacheinander in Ansprache auf eine Adressierung des Regel-Speichers (30) durch im Erklärungs-Stapelspeicher (38) gespeicherte Regel-Adressen abgibt.that an output device (89) is also provided, which is connected to the rule memory (30) and text explanations from the rule memory (30) one after the other in response to an addressing of the rule memory (30) by in the explanation stack (38) sends stored rule addresses. - 7 - 59 198- 7 - 59 198 16. Datenverarbeitungsverfahren unter Verwendung von Regel-Speichern zum Speichern von Regeln in Flach-Dateien, wobei jede Regel eine Voraussetzung und eine Folge aufweist, welche jeweils durch eine oder mehrere Aussagen gebildet werden, die miteinander in einer in der zugehörigen Flach-Datei angegebenen Weise zusammenhängen, unter Verwendung von Primitiv-Speichern zum Speichern von einer oder mehreren Primitiv-Aussagen sowie von Ziel-Speichern zum Speichern von einer oder mehreren Ziel-Aussagen, wobei das Verfahren folgende Schritte aufweist: nacheinander wird auf jede der genannten Primitiv-Aussagen zugegriffen, 16. Data processing methods using rule memories for storing rules in flat files, each rule having a prerequisite and a sequence which respectively are formed by one or more statements that are given together in a given in the associated flat file Related manner, using primitive memories to store one or more primitive statements as well of target memories for storing one or more target statements, the method comprising the following steps: each of the named primitive statements is accessed one after the other, nacheinander wird auf jede der genannten Ziel-Aussagen zugegriffen undeach of the stated target statements is accessed one after the other and die erfaßten Primitiv-Aussagen und Ziel-Aussagen werden verarbeitet, um zu bestimmen, ob sie den Regeln entsprechen.the recorded primitive statements and target statements are processed, to determine if they conform to the rules. 17. Verfahren nach Anspruch 16,
dadurch gekennzeichnet, daß das Datenverarbeitungssystem einen Regel-Adress-Speicher, Regel-Adress-Stapelspeicher und einen Aussagen-Stapelspeicher aufweist, wobei durch Rückwärtsverkettung für jede zugegriffene Ziel-Aussage der Verarbeitungsschritt folgende Einzelschritte aufweist:
17. The method according to claim 16,
characterized in that the data processing system has a rule address memory, rule address stack memory and a statement stack memory, the processing step having the following individual steps for each target statement accessed by backward chaining:
Verbindung einer Ziel-Aussage aus dem Ziel-Stapelspeicher, um einen Regel-Adress-Speicher zu adressieren, Eingeben der Regel- Adressen der adressierten Speicherzellen iir. Regel-Adress-Speicher in den Regel-Stapelspeicher, Verbinden der Regel-Adressen aus dem Regel-Adress-Stapelspeicher, um den Regel-Speicher zu adressieren, Eingeben von Voraussetzungs-Aussagen aus dem Regel-Speicher in den Aussagen-Stapelspeicher, undConnect a target statement from the target stack to to address a rule address memory, inputting the rule addresses of the addressed memory cells iir. Rule address memory in the rule stack, connecting the rule addresses from the rule address stack, in order to address the rule memory, input of prerequisite statements from the rule memory into the statements stack, and Eingeben von Aussagen aus dem Aussagen-Stapelspeicher in den Komparator, um einen Vergleich mit den Primitiv-Aussagen aus dem Primitiv-Speicher durchzuführen.Entering statements from the statements stack into the comparator to make a comparison with the primitive statements to perform the primitive memory. - 8 - 59 198- 8 - 59 198
18. Verfahren nach Anspruch 17,
dadurch gekennzeichnet,
18. The method according to claim 17,
characterized,
daß der Regel-Adress-Stapelspeicher ein Regel-Adress-Knotenbit-Feld aufweist und daß der Aussagen-Stapelspeicher ein Aussagen-Stapelspeicher-Knoten-bit-Feld aufweist, wobei im Verfahren folgende Schritte vorgesehen sind:that the rule address stack is a rule address node bit field and that the statements stack has a statements stack node bit field having, the following steps being provided in the method: Eindrücken und Herausnehmen von Regel-Adressen in den bzw. aus dem Regel-Adress-Stapelspeicher unter Steuerung durch das Regel-Adress-Knoten-bit-Feld und Eindrücken und Herausnehmen von Aussagen in den bzw. aus dem Aussagen-Stapelspeicher unter Steuerung durch das Aussagen-Stapelspeicher-Knoten-bit-Feld.Pushing in and taking out rule addresses into and out of the rule address stack under the control of the Rule address node bit field and push in and out of statements to and from the statement stack under control of the statement stack node bit field.
19. Datenverarbeitungsanlage,
gekennzeichnet durch
19. data processing system,
marked by
einen Wissens-Basis-Speicher (10) zum Speichern von Regeln in Flach-Dateien, wobei jede Regel eine Vielzahl von Aussagen aufweist, welche in einer in der entsprechenden Flach-Datei angegebenen Weise miteinander verknüpft sind, einen Primitiven-Speicher (28) zum Speichern von einer oder mehreren Primitiv-Aussagen, unda knowledge base memory (10) for storing rules in flat files, each rule having a plurality of statements, which are linked to one another in a manner specified in the corresponding flat file, a primitive memory (28) for storing one or more primitive statements, and einer Schlußfolgerungseinrichtung (11) zum Verarbeiten der Primitiv-Aussagen, um zu Ermitteln, ob die Primitiv-Aussagen den Regeln entsprechen.an inference device (11) for processing the primitive statements, to determine whether the primitive statements match the rules.
20. Datenverarbeitungsanlage nach Anspruch 19, dadurch gekennzeichnet,20. Data processing system according to claim 19, characterized in that daß ein Ziel-Stapelspeicher (50) zum Speichern von einer oder mehreren Ziel-Aussagen vorgesehen ist, wobei jede Ziel-Aussage eine Folge einer Regel aus dem Regel-Speicher ist und wobei die Schlußfolgerungseinrichtung (11) weiterhin einen oder mehrere push/pop-Stapelspeicher aufweist, welche jeweils ein Knotenbit-Feld aufweisen, um das Niederdrücken und entnehmen von Aussagen in die bzw. aus den Push/pop-Stapelspeichern zu steuern.that a target stack memory (50) is provided for storing one or more target statements, each target statement is a sequence of a rule from the rule memory and wherein the inference device (11) furthermore has one or more push / pop stack, each having a node bit field to control the depression and extraction of statements into and out of the push / pop stacks. - 9 - 59 198- 9 - 59 198 21. Datenverarbeitungsanlage nach Anspruch 20, dadurch gekennzeichnet,21. Data processing system according to claim 20, characterized in that daß die Schlußfolgerungseinrichtung (11) einen Komparator (73) zum Vergleichen von Primitiv-Aussagen mit Aussagen aus einem der push/pop-Stapelspeicher aufweist, um ein Vergleichssignal zu erzeugen, wenn die genannten Aussagen einem Vergleichskriterium entsprechen.that the inference device (11) has a comparator (73) for comparing primitive statements with statements from one the push / pop stack has to send a comparison signal to be generated if the statements mentioned correspond to a comparison criterion. 22. Datenverarbeitungsanlage nach einem der Ansprüche 20 oder 21,22. Data processing system according to one of claims 20 or 21, dadurch gekennzeichnet,characterized, daß die Schlußfolgerungseinrichtung (11) einen Erklärungs-Stapelspeicher aufweist, um entsprechend dem Vergleichssignal Aussagen aus den push/pop-Stapelspeichern zu speichern.that the inference device (11) has an explanation stack in order to store statements from the push / pop stacks in accordance with the comparison signal.
DE19853511920 1984-04-03 1985-04-01 ELECTRONIC GUIDE Withdrawn DE3511920A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US59643084A 1984-04-03 1984-04-03

Publications (1)

Publication Number Publication Date
DE3511920A1 true DE3511920A1 (en) 1985-12-05

Family

ID=24387237

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19853511920 Withdrawn DE3511920A1 (en) 1984-04-03 1985-04-01 ELECTRONIC GUIDE

Country Status (3)

Country Link
JP (1) JPS6121565A (en)
DE (1) DE3511920A1 (en)
GB (1) GB2160684A (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6426235A (en) * 1987-07-22 1989-01-27 Sharp Kk Display system for inference process of interrogation and answer system
BG49592A1 (en) * 1988-11-17 1991-12-16 Inst Mikroelektronika Electronic scheme for processing knowledge
GB8902414D0 (en) * 1989-02-03 1989-03-22 Bang & Olufsen As Signal processing apparatus and method
US5799293A (en) * 1996-11-04 1998-08-25 Ford Global Technologies, Inc. Method for optimizing the design of a product using knowledge-based engineering techniques
GB9920662D0 (en) * 1999-09-01 1999-11-03 Ncr Int Inc Expert system
GB9920661D0 (en) 1999-09-01 1999-11-03 Ncr Int Inc Expert system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4290114A (en) * 1976-07-01 1981-09-15 Sinay Hanon S Medical diagnostic computer
GB2106288B (en) * 1981-08-24 1986-09-17 Schlumberger Ltd Well logging method and system for detecting structural and stratigraphic geological make-up of subsurface formations
JPH0650442B2 (en) * 1983-03-09 1994-06-29 株式会社日立製作所 Facility group control method and system
JPH0736123B2 (en) * 1983-05-09 1995-04-19 株式会社日立製作所 Equipment group control method

Also Published As

Publication number Publication date
JPS6121565A (en) 1986-01-30
GB2160684A (en) 1985-12-24
GB8506578D0 (en) 1985-04-17

Similar Documents

Publication Publication Date Title
DE69726339T2 (en) Method and apparatus for language translation
DE2554442C2 (en) Device for comparing logical quantities with a group of logical reference quantities
DE60029732T2 (en) Phrase translation method and system
DE69333854T2 (en) Automatic call of computer resources without operator intervention
DE10255128A1 (en) Computer-implemented PDF document management
DE112010000947T5 (en) Method for completely modifiable framework data distribution in the data warehouse, taking into account the preliminary etymological separation of said data
DE3032664A1 (en) ELECTRONIC LANGUAGE TRANSLATOR.
DE69532307T2 (en) Expression propagation for hierarchical net lists
DE69934195T2 (en) Identification of a phrase by modified keywords generated from transformations of consecutive suffixes
DE102015121509A1 (en) Methodology and device for consistency check by comparison of ontology models
DE112007000051T5 (en) Three-part model-based method for obtaining and processing information
DE3511920A1 (en) ELECTRONIC GUIDE
DE10256990A1 (en) Program code generator and program
DE2312193A1 (en) TRANSLATOR AND SOURCE CODE GENERATOR FOR A PROBLEM-ORIENTED LANGUAGE FOR COMPUTER SYSTEMS
DD294115A5 (en) DEVICE AND METHOD FOR SIGNAL PROCESSING
EP1412875B1 (en) Method for processing text in a computer and computer
EP1324218A1 (en) System for categorising data objects and method of checking the consistency of the designation of categories to the data objects
EP0519096B1 (en) Knowledge based diagnostic system with graphical knowledge-acquisition element
DE4311211C2 (en) Computer system and method for automated text analysis
DE2613703C2 (en) Circuit arrangement for translating program texts
DE3627204C2 (en) Digital computer system with an expert system
Cox Speaking Stata: Problems with lists
DE102009019442A1 (en) Method for automatic generation of test data, involves providing object model, which forms technical framework for statistical modification of test data, and reading sequential input-test data flow
DE102022128157A1 (en) Computer-implemented method for standardizing part names
DE102007033019B4 (en) Methods and data processing systems for computerized reasoning

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee