DE3907843A1 - HARDWARE-ESTABLISHED, CONTROLLED EXPERT SYSTEM - Google Patents
HARDWARE-ESTABLISHED, CONTROLLED EXPERT SYSTEMInfo
- Publication number
- DE3907843A1 DE3907843A1 DE3907843A DE3907843A DE3907843A1 DE 3907843 A1 DE3907843 A1 DE 3907843A1 DE 3907843 A DE3907843 A DE 3907843A DE 3907843 A DE3907843 A DE 3907843A DE 3907843 A1 DE3907843 A1 DE 3907843A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- rule
- stored
- condition
- action
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
Abstract
Description
Die Erfindung betrifft ein in Hardware ausgeführtes, regel gestütztes Expertensystem und betrifft insbesondere ein in Hardware ausgeführtes bzw. festverdrahtetes, regelgestütztes Expertensystem, das hoch schnelle Schlußfolgerungen in An wendungsfällen mit künstlicher Intelligenz durchführen kann.The invention relates to an executed in hardware, rule based expert system and in particular relates to a in Hardware executed or hard-wired, rule-based Expert system, the high-speed conclusions in An applications with artificial intelligence.
Expertensysteme sind eine bestimmte Art von Computerprogram men, welche künstliche Intelligenz-(KI-)Technologie enthal ten, um Probleme zu adressieren, deren Lösung normalerweise menschliche Experten oder Spezialisten erfordern. In einem regelgestützten Expertensystem wird sachkundige Kenntnis in einem ganz bestimmten Anwendungsbereich in Form einer Reihe von Regeln oder Vorschriften, d. h. sogenannten "Produktions regeln" dargestellt. Bei dem Betrieb eines typischen Experten systems versorgt der Benutzer über ein herkömmliches Be nutzer-Interface das Expertensystem mit bestimmten bekannten Informationen über ein ganz bestimmtes Problem, und das Ex pertensystem verwertet die Produktionsregeln hinsichtlich dieser bekannten Informationen, um Fakten zu deduzieren und um Probleme zu lösen, die den Anwendungsbereich betreffen. Für weitere Hintergrundinformationen, welche Expertensysteme betreffen, wird auf folgende Artikel verwiesen: Robert H. Michaelsen, et al., Stn. 308-312; Beverly A. Thompson, et al., "Inside an Expert System", Byte Magazin, April 1985 Stn. 315-330; Michael F. Deering, "Architectures for AI", Byte Magazin, April 1985, Stn. 193-206.Expert systems are a specific type of computer program containing artificial intelligence (AI) technology to address problems whose solution is usually require human experts or specialists. In one rule - based expert system will be knowledgeable in a very specific application in the form of a series of rules or regulations, d. H. so-called "production In the operation of a typical expert system provides the user with a conventional Be user interface the expert system with certain known Information about a particular problem, and the Ex pertensystem utilizes the production rules with regard to of this known information to deduce facts and to solve problems that affect the scope. For more background information, which expert systems Reference is made to the following articles: Robert H. Michaelsen, et al., Stn. 308-312; Beverly A. Thompson, et al., "Inside an Expert System," Byte Magazine, April 1985 Stn. 315-330; Michael F. Deering, "Architectures for AI", Byte Magazine, April 1985, Stn. 193-206.
Erfolgreiche Expertensysteme sind für eine Anzahl von An wendungsbereichen entwickelt worden, beispielsweise zum Durchführen medizinischer Diagnosen, zum Identifizieren organischer Verbindungen, zum Selektieren von Ölbohr- Schlämmen, usw. Zusätzlich sind eine Anzahl bereichsunab hängiger Expertensystemgerüste in Softwareform entwickelt worden, um ein Ausbilden von regelgestützten Expertensyste men für spezifische Anwendungsbereiche zu erleichtern. Meh rere handelsübliche Expertensystem-Werkzeuge oder -Instru mente in den vorstehend angeführten Artikeln beschrieben. Üblicherweise sind diese Expertensysteme und -Werkzeuge bzw. -Instrumente in Form von Softwareprogrammen ausgelegt, die einen Universalrechner oder Mikrocomputer durchlaufen. Mit tels des Softwareprogramms wird eine Dialogsitzung zwischen dem Benutzer und dem Expertensystem herbeigeführt, wobei das Expertensystem dem Benutzer Fragen stellt und seine Sach kenntnis dazu verwendet, die Probleme zu lösen und dem Be nutzer Ratschläge zu geben.Successful expert systems are for a number of times been developed, for example for Performing medical diagnoses, identifying organic compounds for selecting oil wells Muds, etc. In addition, a number are range-independent pending expert skeletons developed in software form to form a rule-based expert system for specific applications. meh Other commercially available expert system tools or instructions ments described in the above-mentioned articles. Usually these expert systems and tools or Instruments designed in the form of software programs that go through a general purpose computer or microcomputer. with The software program will have a dialogue session between the user and the expert system brought about, the Expert system asks the user questions and his property knowledge used to solve the problems and the Be give users advice.
Es besteht ein großes Interesse daran, die Benutzung von Expertensystemen auf andere praktische Anwendungsfälle auszu dehnen, und insbesondere Expertensysteme zu entwickeln, wel che in Realzeit-Anwendungen benutzt werden können. Solche Systeme würden beispielsweise als Steuersysteme für ver schiedene Anwendungsfälle, wie Herstellungs- oder Fertigungs verfahren, Prozeßsteuern, Lenk- oder Leitsysteme, Roboter steuerung, usw. nützlich sein. Eine Beschränkung bei der Ent wicklung von komplizierten Realzeit-Systemen mit künstlicher Intelligenz stellt jedoch die Rechengeschwindigkeit dar. Um künstliche Intelligenz-Technologie in der Praxis wirksam verwenden zu können, muß daher die Rechenleistung und -Ge schwindigkeit erhöht werden.There is a great interest in the use of Expert systems to other practical applications to expand, and in particular to develop expert systems, wel can be used in real-time applications. Such Systems would be used, for example, as control systems for ver various applications, such as manufacturing or manufacturing Procedures, process control, steering or guidance systems, robots control, etc. be useful. A limitation in the Ent Development of complicated real-time systems with artificial ones Intelligence, however, represents the computing speed. Um artificial intelligence technology is effective in practice Therefore, the computational power and gene must be used speed are increased.
Es sind bereits beträchtliche Anstrengungen gemacht worden, um die Geschwindigkeit bei der Verarbeitung von künstlicher Intelligenz zu verbessern, indem die Software-Werkzeuge bzw. -Mittel, welche bei der Verarbeitung von künstlicher Intelli genz verwendet werden, wie beispielsweise die künstlichen Sprachen, zu verbessern und zu rationalisieren. Auch ist er kannt worden, daß Leistungsverbesserungen durch kundenspezi fische Hardware erreicht werden können, die insbesondere für eine Verarbeitung von künstlicher Intelligenz ausgelegt wor den ist. Wie in dem vorstehend angeführten Artikel von Deering aufgezeigt ist, hat ein Lösungsvorschlag bezüglich Hardware-Architekturverbesserungen Verfeinerungen in dem Prozessor-Befehlsvorrat betroffen, damit der Prozessor schneller arbeiten kann. Besondere Beachtung ist auch der Entwicklung von parallelen Verarbeitungsarchitekturen ge schenkt worden, welche es erlauben würden, die künstlichen Intelligenzberechnungen parallel durchzuführen. In dem er wähnten Artikel ist auch ausgeführt, daß kundenspezifische VLSI-Hardware verwendet werden könnte, um ganz bestimmte Operationen, wie ein Anpassen und Abrufen, parallele Prozes sor-Kommunikation und eine Signal-Symbol-Verarbeitung zu be schleunigen.Considerable efforts have already been made to speed up the processing of artificial Improve intelligence by using the software tools or Agents used in the processing of artificial intelligence used, such as the artificial ones Languages, improve and streamline. He is too been known that performance improvements by custom Hardware can be achieved, especially for a processing of artificial intelligence designed wor that is. As in the above mentioned article of Deering has suggested a solution Hardware architecture refinements in the Processor command set affected so that the processor can work faster. Special attention is also the Development of parallel processing architectures ge which would allow it, the artificial ones Perform intelligence calculations in parallel. In which he The article mentioned is also designed to be customized VLSI hardware could be used to specific purpose Operations, such as fitting and retrieving, parallel Prozes sor communication and signal symbol processing accelerate.
Gemäß der Erfindung soll daher die Geschwindigkeit und Effizienz von regelgestützten Expertensystemen dadurch ver bessert werden, daß eine Schlußfolgerungen durchführende Einrichtung vorgesehen ist, welche in Hardware ausgeführt ist. Insbesondere soll die Erfindung eine anwendungsspezi fische integrierte Schaltung schaffen, welche speziell da für ausgelegt ist, hochschnelle Schlußfolgerungen für ein regelgestütztes Expertensystem durchzuführen. Das in Hard ware ausgeführte d. h. fest verdrahtete, regelgestützte Ex pertensystem wird nachstehend mit dem Akronym REX (Regel gestützter EXperte) bezeichnet und weist einen Arbeits speicher auf, in welchem zu Beginn einer Schlußfolgerungs operation bekannte Information oder bekannte Fakten, welche den Anwendungsbereich betreffen, gespeichert werden. Zu sätzlich weist das System einen Regelspeicher zum Speichern eines Regelvorrats für den jeweiligen Anwendungsbereich auf. Der Regelvorsatz weist eine Reihe von Anweisungen oder Be fehle auf, die jeweils eine Bedingung bzw. Kondition oder eine Aktion bzw. eine Bedienungsmaßnahme festlegen. Ferner ist eine Einrichtung vorgesehen, um von dem Regelspeicher in den Arbeitsspeicher nacheinander Anweisungen oder Be fehle aus dem Regelvorsatz zu laden; darüber hinaus ist eine logische Einrichtung vorgesehen, um die Befehle in dem Arbeitsspeicher bezüglich der gespeicherten Fakten in dem Arbeitsspeicher nacheinander auszuführen, um dadurch neue Fakten zu deduzieren. Wenn während der Folgerungsoperation neue Fakten deduziert werden, werden sie in dem Arbeits speicher gespeichert und können während der Ausführung nach folgender Anweisungen aus dem Regelvorrat verwendet werden, um zusätzliche Fakten abzuleiten. Nach Beendigung der Fol gerungsoperation werden die in dem Arbeitsspeicher gespei cherten Fakten an eine Ausgabeeinrichtung transferiert.According to the invention, therefore, the speed and Efficiency of rule-based expert systems thereby ver that conclusions are made Device is provided which is executed in hardware is. In particular, the invention is a Anwendungsspezi create fish integrated circuit, which is specially there is designed for, high-speed conclusions for a perform rule-based expert system. That in Hard ware executed d. H. Hardwired, rule-based Ex pertensystem is described below with the acronym REX (Rule supported expert) and has a working memory in which at the beginning of a conclusion known information or known facts which the scope are stored. to In addition, the system has a rule memory for storage a rule list for the respective field of application. The rule header has a series of instructions or be missing, each one condition or condition or define an action or an operating measure. Further A facility is provided to remove from the rule storage successive instructions or loading into the main memory lack of the control intent to load; beyond that a logic means is provided to execute the instructions in the Memory regarding the stored facts in the Run memory one after another to create new ones Deduce facts. If during the inference operation new facts are deduced, they are working in the stored and can while running after following instructions from the rule pool are used, to derive additional facts. After completion of the Fol The operation will be stored in the memory transferred facts to an output device.
Jede der Anweisungen des Regelvorrats enthält einen Operator, ein Konditions-/Aktions-Flag und ein Paar Operanden. Die lo gische Einrichtung weist einen Befehlsdekoder auf, um das Konditions-/Aktions-Flag jedes Befehls zu überprüfen, um zu bestimmen, ob der Befehl eine Kondition bzw. Bedingung oder eine Aktion bzw. Bedienungsmaßnahme ist. Wenn der Befehl eine Bedingung ist, werden die Operanden entsprechend der logischen Operation, welche durch den Operator spezifiziert worden ist, verglichen, um ein logisches Ergebnis (z. B. richtig oder falsch) zu erzeugen. Wenn die Anweisung eine Bedienungsmaßnahme bzw. Aktion ist, wird diese Aktion, wel che durch den Operator spezifiziert worden ist, an den Operanden durchgeführt.Each of the rules of the rule set contains an operator a condition / action flag and a pair of operands. The lo The device has a command decoder to handle the Check condition / action flag of each command to determine whether the command is a condition or condition an action or operating measure is. If the command is a condition, the operands are corresponding to the logical operation specified by the operator has been compared to obtain a logical result (eg right or wrong). If the statement is a Action or action, this action, wel has been specified by the operator to whom Operands performed.
Der Arbeitsspeicher und die logische Einrichtung können in einer integrierten Schaltung vorgesehen sein. Der Regel speicher kann entweder extern in der integrierten Schal tung vorgesehen und mit dem Arbeitsspeicher über einen entsprechenden externen Speicherbus verbunden sein, oder der Regelspeicher kann auf der integrierten Schaltung vor gesehen sein, wobei entsprechende Datenbus-Verbindungen mit dem Arbeitsspeicher bestehen. Da der Anwendungs-Regelvor rat in einem Speicher gespeichert ist, ist die REX-Fol gerungseinrichtung bereichsunabhängig und kann in einer be liebigen Anzahl verschiedener Anwendungsfälle in einfacher Weise dadurch benutzt werden, daß ein anderer Anwendungs regelvorrat in dem Regelspeicher untergebracht ist. Die Struktur des Regelspeichers und die Datenstruktur des An wendungs-Regelsatzes werden entsprechend ausgelegt, um die Effizienz und damit die Leistung des Folgerungspro zesses zu erhöhen.The memory and the logical device can be in be provided an integrated circuit. The rule Memory can either be external in the integrated scarf provided and with the main memory via a be connected to the corresponding external memory bus, or The rule memory may be present on the integrated circuit be seen, with corresponding data bus connections with consist of the working memory. Since the application rule rat is stored in a memory, the REX-Fol Regardless of area and can be in a be sweet number of different use cases in simple Be used by another application rule reserve is housed in the rule memory. The Structure of Rule Memory and the Data Structure of the On application rulesets are designed to work the efficiency and thus the performance of the inference pro to increase their zeal.
Um die Vielseitigkeit und den weiten Anwendungsbereich der Erfindung zu zeigen, wird nachfolgend im einzelnen be schrieben, wie die REX-Folgerungseinrichtung als Co-Pro zessor in Verbindung mit einem bestehenden Computer oder Mikrocomputer benutzt werden kann, um ein Expertensystem zu schaffen, welches Folgerungen mit Geschwindigkeiten durch führen kann, welche erheblich größer sind als die, welche mit herkömmlichen in Software ausgeführten Folgerungsein richtungen durchgeführt werden konnten. Die REX-Folgerungs einrichtung kann jedoch auch in vielen anderen Anwendungs fällen benutzt werden, wie beispielsweise in einem selb ständig operierenden System, wenn es mit einem entsprechen den internen Steuersystem, einem Benutzer-Interface und Ein-/Ausgabe-Einrichtungen versehen ist.To the versatility and the wide scope of the Invention will be described in detail be wrote how the REX inference device as a co-pro computer in conjunction with an existing computer or Microcomputer can be used to provide an expert system create what conclusions with speeds through can lead, which are considerably larger than those which with conventional in-software implications could be carried out. The REX conclusion However, the device can also be used in many other applications cases are used, such as in a selb constantly operating system, if it corresponds with one the internal control system, a user interface and Input / output facilities is provided.
Die REX-Folgerungseinrichtung kann auch eine Realzeit- Wissenverarbeitung durchführen, die auf der laufenden VLSI- Technologie basiert. Die Geschwindigkeit, mit welcher ein Problem gelöst wird, wird anstelle von Gleitpunkt-Operatio nen pro Sekunde (FLOPS) durch logische Schlußfolgerungen pro Sekunde (LIPS) gemessen. Eine logische Schlußfolgerung pro Sekunde entspricht annähernd 100 bis 1000 Gleitpunkt-Opera tionen pro Sekunde in einem herkömmlichen Rechner.The REX reasoning device can also be a real-time Perform knowledge processing based on the current VLSI Technology based. The speed with which one Problem is solved, instead of floating-point Operatio per second (FLOPS) by logical inference per Second (LIPS). One logical conclusion per Second corresponds to approximately 100 to 1000 floating-point Opera per second in a conventional computer.
Nachfolgend wird die Erfindung anhand von bevorzugten Aus führungsformen unter Bezugnahme auf die anliegenden Zeich nungen im einzelnen erläutert. Es zeigtThe invention will be described below with reference to preferred management forms with reference to the attached drawing explained in detail. It shows
Fig. 1 eine perspektivische Darstellung, in welcher ge zeigt ist, wie die REX-Folgerungseinrichtung ge mäß der Erfindung als ein Co-Prozessor in einem herkömmlichen Personal-Computer benutzt werden kann; Fig. 1 is a perspective view showing how the REX inference device according to the invention can be used as a co-processor in a conventional personal computer;
Fig. 2 eine detailliertere Darstellung einer Co-Prozessor- Schaltungskarte, welche in der REX-Folgerungsein richtung verwendet ist; Fig. 2 is a more detailed illustration of a co-processor circuit board used in the REX inference device;
Fig. 3 ein schematisches Blockdiagramm des Datenflusses für die REX-Einrichtung; Figure 3 is a schematic block diagram of the data flow for the REX device.
Fig. 4 ein Blockdiagramm der regelgestützten Struktur für die REX-Einrichtung; 4 is a block diagram of the rule-based structure for the REX device.
Fig. 5a und 5b Diagramme, in welchen die Datenstruktur der Befehle wiedergegeben ist, welche in einem Re gelspeicher gespeichert sind; FIGS. 5a and 5b are diagrams in which the data structure of the instructions is shown that are stored in a gelspeicher Re;
Fig. 6 ein Diagramm des Operationscodes-Formats, das in dem REX-Chip verwendet ist; Fig. 6 is a diagram of the operation code format used in the REX chip;
Fig. 7 ein Gesamtblockdiagramm der Hauptfunktionskompo nenten des REX-Chips; Fig. 7 is an overall block diagram of the main functional components of the REX chip;
Fig. 8 ein Diagramm der Datenbus-Bit-Zuordnung für Ein- Ausgabe-Lese-/Schreib-Operationen; FIG. 8 is a diagram of data bus bit allocation for input / output read / write operations; FIG.
Fig. 9 ein Flußdiagramm des Folgerungsflusses des REX- Chips und Fig. 9 is a flowchart of the inference flow of chips and REX
Fig. 10 bis 12 Zeitdiagramme für das REX-Chip, welche die zeitliche Steuerung des Lese-, des Schreib-Modes sowie des externen Speichers zeigen. Fig. 10 to 12 are timing diagrams for the REX-chip showing the timing of the read, the write-mode and of the external memory.
In Fig. 1 ist ein Expertensystem gemäß der Erfindung dar gestellt, welches entsprechend ausgelegt ist, um mit einem Mikrocomputer 10 zu arbeiten, wie beispielsweise einem IBM-AT-Personal-Computer, welchem eine regelgestützte Ex pertensystem (REX)-Co-Prozessor-Schaltungskarte 11 hinzu gefügt ist. Die REX-Schaltungskarte 11 besteht aus einem REX-Chip 12, einem externen Regelspeicher 13 und einem Ein-/Ausgabe-Interface 14. Die REX-Schaltungskarte ist in Fig. 2 im einzelnen dargestellt. Ein Anwendungs-Regel vorrat für einen ganz bestimmten Anwendungsbereich, wel cher in Fig. 2 mit 15 bezeichnet ist, ist in dem externen Regelspeicher 13 gespeichert. Folglich ist das REX-Chip 12 bereichsunabhängig und kann bei einer Vielzahl verschiede ner Anwendungen benutzt werden.In Fig. 1, an expert system according to the invention is provided, which is adapted to operate with a microcomputer 10 , such as an IBM AT personal computer, which is a rule-based Ex pertensystem (REX) co-processor Circuit card 11 is added. The REX circuit board 11 is composed of a REX chip 12 , an external rule memory 13 and an input / output interface 14 . The REX circuit card is shown in Fig. 2 in detail. An application rule stock for a very specific application, wel cher in Fig. 2 is denoted by 15 is stored in the external rule memory 13 . Consequently, the REX chip 12 is domain independent and can be used in a variety of different applications.
Anhand von Fig. 2 wird jede Komponente der REX-Co-Prozessor- Schaltungskarte 11 im einzelnen erläutert:Referring now to Figure 2, each component of the REX co-processor circuit card 11 will be explained in detail:
Ein-/Ausgabe-Interface:
Das Ein-/Ausgabe-Interface 14 ist
für die Kommunikation zwischen dem Personal-Computer 10 und
der REX-Co-Prozessor-Schaltungskarte 11 verantwortlich. Ex
terne Daten werden von dem Personal-Computer 10 zu der
REX-Schaltungskarte 11 über das Ein-/Ausgabe-Interface 14
transferiert. In der dargestellten, bevorzugten Ausfüh
rungsform schafft ein DMA-Kanal eine Datenübertragung zwi
schen der REX-Schaltungsplatte 11 und dem Personal-Compu
ter 10. Ein Software-Programmdurchlauf durch den Personal-
Computer wird dazu verwendet, um ein leicht verständliches
Benutzer-Interface zu schaffen.
REX-Chip:
Das REX-Chip 12 ist eine Hardware-Folgerungsein
richtung und stellt das Herzstück der REX-Co-Prozessor-
Schaltungskarte 11 dar. Zwei Hauptkomponenten des REX-
Chips sind ein Arbeitsspeicher und eine Steuerlogik. Bevor
der Folgerungsprozeß begonnen wird, wird der Arbeitsspei
cher mit externen Daten von dem Ein-/Ausgabe-Interface ini
tialisiert. Externe Daten, welche Fakten betreffen, welche
über den Anwendungsbereich bekannt sind, werden an ganz be
stimmten Speicherstellen des Arbeitsspeichers gespeichert.
Während des Folgerungsprozesses ist der Arbeitsspeicher ein
vorübergehender Speicher für Zwischendaten. Wenn der Fol
gerungsprozeß beendet ist, enthält der Arbeitsspeicher die
Ergebnisse des Folgerungsprozesses, welche dann über das
Ein-/Ausgabe-Interface an den Personal-Computer übertragen
werden.
Regelspeicher:
Ein gut unterrichteter Ingenieur extrahiert
einen Satz Produktionsregeln, welcher als Anwendungs-Regel
vorrat 15 bezeichnet ist, aus dem Anwendungsbereich, und
dieser Regelvorrat wird in dem Regelspeicher 13 gespeichert.
Während des Folgerungsprozesses verweist das REX-Chip 12
bezüglich einer Regelinformation auf den Regelspeicher 13.
Die Struktur des Regelspeichers ist bekannt, um ihn an die
REX-Chip-Anforderungen anzupassen und um Speicherplatz zu
verringern. Die Datenstruktur des in dem Regelspeicher ge
speicherten Anwendungs-Regelvorrats ist entsprechend ausge
legt, um die Effizienz und Leistung des Folgerungsprozesses
sehr zu steigern. Weitere Einzelheiten über die Struktur des
Regelspeichers und den gespeicherten Regelvorrat werden nach
stehend noch gegeben.Input / output interface:
The I / O interface 14 is responsible for the communication between the personal computer 10 and the REX co-processor circuit board 11 . External data is transferred from the personal computer 10 to the REX circuit card 11 via the input / output interface 14 . In the illustrated preferred embodiment, a DMA channel provides data transfer between the REX circuit board 11 and the personal computer 10 . A software program pass through the personal computer is used to provide an easy-to-understand user interface.
REX chip:
The REX chip 12 is a hardware inference device and represents the heart of the REX co-processor circuit card 11. Two major components of the REX chip are memory and control logic. Before the inference process is started, the work memory with external data is initialized by the I / O interface. External data concerning facts known about the scope are stored at very specific memory locations. During the inference process, the memory is temporary storage for intermediate data. When the sequencing process is completed, the memory contains the results of the inference process, which are then transferred to the personal computer via the I / O interface.
Rule memory:
A well-informed engineer extracts a set of production rules, referred to as application rule stock 15 , from the scope, and this rule set is stored in the rule storage 13 . During the inference process, the REX chip 12 refers to the rule memory 13 for control information. The structure of the rule memory is known to adapt to the REX chip requirements and to reduce storage space. The data structure of the application rule set stored in the rule store is appropriately set to greatly increase the efficiency and performance of the inference process. Further details about the structure of the rule storage and the stored rule stock are still given after standing.
Der Regelspeicher kann ein ROM-, RAM-, ein EPROM- oder ein anderer entsprechender Speicher sein. Wenn ein RAM-Speicher als Regelspeicher verwendet wird, wid ein Initialisierungs programm benutzt, um anfangs den Regelvorrat 15 in dem ex ternen Speicher 13 einzubringen.The rule memory may be ROM, RAM, EPROM, or other equivalent memory. When a RAM memory is used as a rule memory, an initialization program is used to initially apply the rule set 15 in the external memory 13 .
Obwohl die hier dargestellte, spezielle Ausführungsform zeigt, wie das REX-Chip 12 als ein Co-Prozessor für einen Personal-Computer benutzt werden kann, erkennen Fachleute, daß das in Hardware ausgeführte, d. h. festverdrahtete regel gestützte Expertensystem gemäß der Erfindung (REX) in vie len anderen speziellen Anwendungsfällen benutzt werden kann. Beispielsweise kann es als ein selbständig operierendes System benutzt werden. In einem solchen Fall ist ein Steuer system vorgesehen, um mit einem Benutzer-Interface und ei nem Ein-/Ausgabe-Interface umzugehen, und es sind zusätzli che Ein-/Ausgabeeinrichtungen, wie ein Tastenfeld, ein grafisches Display usw. vorgesehen, um eine Kommunikation zwischen der REX-Schaltungsplatte und dem Benutzer zu er möglichen.Although the particular embodiment shown here shows how the REX chip 12 can be used as a co-processor for a personal computer, those skilled in the art will recognize that the hardware-executed, ie, hard-wired, rule-based expert system according to the invention (REX) many other special applications can be used. For example, it can be used as a stand-alone system. In such a case, a control system is provided to handle a user interface and an input / output interface, and additional input / output devices, such as a keypad, a graphic display, etc., are provided to provide a user interface Communication between the REX circuit board and the user is possible.
Es gibt verschiedene Arten von Folgerungsverfahren, welche verwendet werden können um ein Problem in einem regelge stützten Expertensystem zu lösen. Einige der wichtigen Fol gerungsverfahren sind vorwärts verknüpft (forward chaining) rückwärts verknüpft (backwar chaining) oder weisen eine Kombination dieser Verknüpfungen auf. Die im einzelnen dar gestellte und beschriebene Folgerungseinrichtung benutzt das Vorwärtsverknüpfungs-Folgerungsverfahren mit Produk tionsregeln.There are several types of inference methods which can be used to solve a problem in a rule solved expert system to solve. Some of the important fol evaluation procedures are linked forward (forward chaining) backward chaining (backwar chaining) or assign a Combination of these links. The individual dar Asked and described inference used the forward link inference method with product tion rules.
Die Regeln des regelgestützten Systems sind durch Produk tionsregeln dargestellt. Die Produktionsregel besteht aus einem Wenn-Teil und einem Dann-Teil. Der Wenn-Teil ist eine Liste aus einer oder mehreren Bedingungen oder Vorläufern (antecedents). Der Dann-Teil ist eine Liste von Aktionen oder Folgerungen. Folglich kann eine Produktionsregel folgendermaßen dargestellt werden:The rules of the rule-based system are by product tion rules. The production rule consists of an if-part and a then-part. The if part is one List from one or more conditions or precursors (Antecedents). The then part is a list of actions or conclusions. Consequently, a production rule are represented as follows:
Wenn den Bedingungen (Bedingung 1, Bedingung 2, . . . Bedingung n) durch die Fakten eines vorgegebenen Problems genügt ist, kann gesagt werden, daß die Regel getriggert ist. Das Expertensystem kann dann die vorgegebenen Aktionen durchführen. Sobald die Aktionen durchgeführt sind, wird ge sagt, daß die Regeln aktiviert sind. Diese speziellen Aktio nen können andere Bedingungen ändern, welche ihrerseits andere Regeln aktivieren können. Das ständige Aktivieren von Regeln dauert an, bis die Probleme gelöst sind, oder keinen anderen Regeln genügt werden kann. Diese Methode der Regelaktivierung wird durch die Regeln hindurch in Vorwärts richtung hindurchgeführt, weshalb dies auch als Vorwärts verknüpfung bezeichnet wird. Eine Vorwärtsverknüpfung wird auch als ein Deduziersystem von angesteuerten Fakten be zeichnet, da die Fakten den Fluß oder Ablauf der zu akti vierenden Regeln leiten.If the conditions (condition 1, condition 2,. , , condition n) is satisfied by the facts of a given problem, it can be said that the rule is triggered. The expert system can then perform the given actions. Once the actions are done, it says that the rules are enabled. These special actions can change other conditions, which in turn can activate other rules. The constant activation of rules lasts until the problems are solved or no other rules can be met. This method of rule activation is passed through the rules in the forward direction, which is why this is also referred to as forward linkage. A forward link is also referred to as a deduction system of driven facts, as the facts guide the flow or flow of the rules to be acted upon.
Das Triggern der Regeln bedeutet nicht, daß die Regeln akti viert werden, weil den Bedingungen einiger anderer Regeln gleichzeitig genügt sein kann und alles zu triggern ist. Sollte dies vorkommen, dann muß eine Konflikt-Entscheidungs strategie angewendet werden, um zu entscheiden, welche Re gel tatsächlich aktiviert wird. Eine Konflikt-Entscheidungs strategie ist ein Prozeß, um die vorteilhafteste Regel aus zuwählen, wenn mehr als einer Regel genügt ist. Beispiele für Konflikt-Entscheidungsstrategien sind die folgenden:The triggering of the rules does not mean that the rules are active Fourth, because of the conditions of some other rules at the same time it can be enough and everything can be triggered. If this happens, then a conflict decision must be made strategy to decide which Re gel is actually activated. A conflict decision Strategy is a process to rule out the most advantageous select if more than one rule is sufficient. Examples for conflict-resolution strategies are the following:
- 1. Die Regel, welche die häufigsten Daten enthält, wird ausgewählt. Diese Strategie wird Daten-Neuheitenorder be zeichnet.1. The rule that contains the most common data becomes selected. This strategy will be data novelty order records.
- 2. Die Regel, welche die komplizierteste der schwierigsten Anforderungen ist, wird ausgewählt. Dies wird dann auch als Kontext-Begrenzungsstrategie bezeichnet.2. The rule, which is the most complicated of the most difficult Requirements is selected. This is also called Context limitation strategy called.
- 3. Die Regel, welche als erste in der Liste angegeben ist, wird ausgewählt. Dies wird als Regel-Anordnung bezeichnet.3. The rule that is listed first in the list will be chosen. This is called a rule arrangement.
Dies Beispiel ist eine generelle Darstellung der Arbeits weise des regelgestützten Expertensystems. Für diese Dar stellung wird auf den Tier-Identifizierungs-Regelvorrat im Angang A Bezug genommen. Dieser Regelvorrat versucht, ein Tier dadurch zu identifizieren, daß seine physischen charak teristischen Merkmale vorgegeben werden. Die folgenden charakteristischen Merkmale sollen beobachtet worden sein:This example is a general representation of the work example of the rule-based expert system. For this dar Position is added to the Animal Identification Rule Pool in the Angang A reference. This rule store tries to Identify animal by its physical charak teristic characteristics are given. The following characteristic features should have been observed:
das Tier hat Haare;
das Tier ißt Fleisch;
das Tier hat eine gelbbraune Farbe;
das Tier hat schwarze Streifen.the animal has hair;
the animal eats meat;
the animal has a yellow-brown color;
the animal has black stripes.
Die Wahrnehmungen werden in die folgenden Fakten übersetzt:The perceptions are translated into the following facts:
Bedeckung = Haare;
Nahrung = Fleisch;
Farbe = gelbbraun;
Streifen = schwarz.Covering = hair;
Food = meat;
Color = yellow-brown;
Stripes = black.
Wenn diese Fakten vorgegeben sind, wird Regel 1 getriggert. Gemäß der Regel wird dann deduziert:If these facts are given then rule 1 will be triggered. The rule then deduces:
Klasse = Säugetier.Class = mammal.
Nunmehr nimmt das System dies als ein neues Faktum, daß das Tier ein Säugetier ist. Folglich können Regel 2 bis Regel 4 nicht getriggert werden. Die Voraussetzung der Re gel 5 ist gültig; folglich deduziert das System, daß das Tier ein Fleischfresser ist.Now the system takes this as a new fact that the animal is a mammal. Consequently, Rule 2 bis Rule 4 will not be triggered. The requirement of Re gel 5 is valid; consequently, the system deduces that Animal is a carnivore.
Fleischfresser = ja.Carnivore = yes.
Bis jetzt hat das System zwei neue Fakten deduziert, welche verwendet werden können. Die ersten drei Voraussetzungen von Regel 9 sind richtig, aber die letzte Voraussetzung gilt nicht; folglich reicht die Regel nicht aus. Regel 10 wird getriggert und kann aktiviert werden. Das System deduziert folglich, daß das Tier ein Tiger ist.So far the system has deduced two new facts which can be used. The first three requirements of Rule 9 is correct, but the last condition applies Not; therefore, the rule is not enough. Rule 10 becomes triggered and can be activated. The system deduced hence that the animal is a tiger.
Tier = Tiger.Animal = Tiger.
Der Folgerungsablauf stoppt hier noch nicht, da es noch mehr Regeln gibt. In diesem Fall kann jedoch keiner der übrigen genügt werden. Das System identifiziert dann das Tier als einen Tiger.The reasoning process does not stop here, as it is still There are more rules. In this case, however, none of the rest will suffice. The system then identifies that Animal as a tiger.
Das Beispiel zeigt die Folgerungsmethode, bei welcher von den aktuellen Fakten oder Beobachtungen bis zu einem Schluß bzw. Ergebnis vorwärts gearbeitet wird.The example shows the inference method in which of the actual facts or observations up to one Conclusion or result is worked forward.
Die Hauptkomponenten der REX-Folgerungseinrichtung sind im einzelnen in Fig. 3 dargestellt. Das REX-Chip selbst hat drei Hauptfunktionskomponenten, nämlich den Arbeitsspeicher 16, eine Arithmetik-Logik-Einheit (ALU) 17 und eine Steuer logik 18. In der dargestellten Ausführungsform ist der Re gelspeicher 13 eine separate Speichereinrichtung, welche mit dem Arbeitsspeicher 16 durch ein Datenbus 21 verbunden ist. Jedoch könnte selbstverständlich der Datenspeicher erforderlichenfalls in dem REX-Chip selbst integriert sein. Das Ein-/Ausgabe-Interface 14 ist durch ein in seiner Ge samtheit mit 22 bezeichnetes System-Interfacebus kommuni kativ mit dem Arbeitsspeicher verbunden. Die Steuerlogik 18 ist in Fig. 3 schematisch dargestellt. Im allgemeinen be steht die Aufgabe der Steuerlogik 18 darin, die Operationen der anderen Elemente wie der Arithmetik-Logikeinheit (ALU) 17 und des Arbeitsspeichers 16, zu steuern.The main components of the REX reasoning device are shown in detail in FIG . The REX chip itself has three main functional components, namely the main memory 16 , an arithmetic logic unit (ALU) 17 and a control logic 18th In the illustrated embodiment, the read-only memory 13 is a separate memory device which is connected to the random access memory 16 through a data bus 21 . However, of course, the data store could, if necessary, be integrated in the REX chip itself. The input / output interface 14 is communi katively connected to the main memory by a designated in its entirety Ge with 22 system interface bus. The control logic 18 is shown schematically in FIG . In general, the task of the control logic 18 is to control the operations of the other elements, such as the arithmetic logic unit (ALU) 17 and the random access memory 16 .
Der Datenfluß für die REX-Einrichtung wird am besten an hand von Fig. 3 verständlich und nachfolgend beschrieben. Die mit Kreisen umgebenen Zahlen in Fig. 3 entsprechen den folgenden numerierten Überschriften:The data flow for the REX device is best understood with reference to FIG. 3 and described below. The numbers surrounded by circles in FIG. 3 correspond to the following numbered headings:
Der Benutzer gibt die Fakten in das System über ein Be nutzer-Interface-Programm in den Personal-Computer 10 ein. Der Benutzer stellt die Fakten in einer vorher festge legten Syntax dar. Beispielsweise würde der Benutzer mit Hilfe der tatsächlichen Daten des Beispiels 1 und des Regel vorrats im Anhang A das folgende eingeben:The user enters the facts into the system via a user interface program in the personal computer 10 . The user presents the facts in a predefined syntax. For example, using the actual data of example 1 and the rule stock in Appendix A, the user would enter the following:
Bedeckung = Haar
Farbe = gelbbraun
. . .
. . . usw.Covering = hair
Color = yellow-brown
, , ,
, , , etc.
Das Benutzer-Interface-Programm setzt jede tatsächliche Beobachtung in Werte um, welche durch ein paar Binärzahlen dargestellt sind. Der erste Teil des Paars ist eine Adresse und der zweite Teil des Paars ist ein Wert.The user interface program sets each actual Observation into values around, which by a few binary numbers are shown. The first part of the pair is an address and the second part of the pair is a value.
In dem vorstehenden Beispiel ergibt sich dann:In the example above, then:
(Adresse $ 32) Bedeckung = (Wert # 10) Haare;
(Adresse $ 58) Farbe = (Wert # 55) gelbbraun;
. . .
. . . usw.(Address $ 32) coverage = (value # 10) hair;
(Address $ 58) Color = (value # 55) tan;
, , ,
, , , etc.
wobei "$" und "#" anzeigen, daß die betreffende Zahl eine Adresse bzw. ein Wert ist. In dem oben wiedergegebenen Fall ist Bedeckung bei der Adresse 32 abgelegt. (Kein anderes Wort ist bei der Adresse 32 abgelegt.) Folglich ist jedes Wort einer eindeutigen Adressenzahl zugeordnet. Der Wert Haare ist in der Adresse 32 gespeichert. Diese Zahlen werden beim Schritt 2 verwendet.where "$" and "#" indicate that the number in question is a Address or value. In the case reproduced above Cover is stored at the address 32. (Nothing else Word is filed at address 32.) Consequently, each one is Word assigned to a unique address number. The value Hair is stored in address 32. These numbers will be used in step 2.
Beim Schritt 2 werden die Faktoren in den Arbeitsspeicher ge speichert.In step 2, the factors are ge in the memory ge stores.
Ein externer Speicher wird dazu verwendet, Regeln, die zu dem Anwendungsbereich passen, zu speichern. Jede Regel wird folgendermaßen dargestellt:An external memory is used to create rules that are too fit the scope of application. Every rule will as shown:
Ein Bedingungselement ist:A condition element is:
(Klasse = Säugetier)(Class = mammal)
Dementsprechend ist ein Aktionselement:
(Typ : hufförmig)Accordingly, an action item is:
(Type: hoof-shaped)
Jedes Element, ob es nun ein Bedingungs- oder ein Aktions teil der Regel ist, wird intern als eine Anweisung in dem nachstehend wiedergegebenen Format dargestellt:Every element, be it a condition or an action Part of the rule is internally as an instruction in the shown below format:
Jede Anweisung hat eine vorherbestimmte Länge, beispiels weise 32 Bits. Der Operand 1 stellt eine Adresse des Ar beitsspeichers dar. In Abhängigkeit von dem Wert des Dir/Unm.-Feldes ist der Operand 2 eine Adresse oder ein Wert in dem Arbeitsspeicher. Das Dir/Unm.-Feld bestimmt, ob der Adressierungsmode des Operanden 2 DIREKT oder unmittel bar ist. Das Akt./Beding.-Feld bestimmt, ob das Element sich auf den Bedingungs- oder Aktionsteil einer Regel bezieht. Das Operatorfeld bestimmt den Typ des Operators, welcher in dem Bedingungsteil der Regel benutzt wird. Beispiele von Operatoren sind: gleich (=), größer als (<), kleiner als (<) usw.Each statement has a predetermined length, for example wise 32 bits. The operand 1 represents an address of the Ar depending on the value of the Dir / Unm field, the operand 2 is an address or a Value in the memory. The Dir / Unm. Field determines whether the addressing mode of operand 2 DIRECT or immediate bar is. The Act./Beding field determines whether the item is refers to the condition or action part of a rule. The operator field determines the type of operator, which in the condition part of the rule is used. Examples of Operators are: equal (=), greater than (<), less as (<) etc.
Die folgenden Schritte werden während des Folgerungszyklus durchgeführt.The following steps are taken during the inference cycle carried out.
Eine Regel wird aus dem Regelspeicher 13 abgerufen und das Beding./Akt-Feld des ersten Befehls der Regel wird überprüft, um zu prüfen, ob eine Bedingung oder eine Aktion ist. Wenn der Befehl ein Bedingungselement ist, dann wird die im Ab schnitt 4.1.1 beschriebene Prozedur angewendet. Wenn es eine Aktion ist, dann wird die im Abschnitt 4.1.2 beschriebene Prozedur angewendet. A rule is retrieved from the rules store 13 and the condition / act field of the rule's first command is checked to see if it is a condition or an action. If the command is a conditional element then the procedure described in section 4.1.1 is applied. If it is an action then the procedure described in section 4.1.2 is used.
Die Adresse im Operanden 1 wird in die Arithmetik-Logik-Ein heit (ALU) geladen (Schritt 4). Als nächstes wird das Dir/ Unm.-Feld überprüft, um zu sehen, ob der Operand 2 Direkt oder Unmittelbar ist. Wenn er unmittelbar ist, dann wird der Wert des Operanden 2 unmittelbar in die ALU-Einheit einge geben; sonst wird der Inhalt der durch den Operanden 2 ange zeigten Adresse in ALU-Einheit eingegeben. Die Eingaben in die ALU-Einheit werden durch die ALU-Einheit mit Hilfe des Operator (Operatorfeld) verglichen, um festzustellen, ob die Bedingung richtig oder falsch ist. Wenn die Bedingung rich tig ist, wird der nächstfolgende Befehl der Regel überprüft, indem die Schrittfolge wiederholt wird, die im Abschnitt 4.1 wiedergegeben ist. Wenn das Bedingungselement falsch ist, dann wird diese Regel ausgeschieden, und die nächste Regel wird getestet, indem die Schrittfolge des Abschnitts 4.1 wiederholt wird.The address in operand 1 becomes the arithmetic logic on (ALU) is loaded (step 4). Next is the dir / Unm. Field checked to see if the operand 2 is Direct or Immediately. If he is immediate then he will Value of operand 2 inserted directly in the ALU unit give; otherwise the contents of the operand 2 are indicated showed address entered in ALU unit. The entries in The ALU unit is controlled by the ALU unit using the Operator (operator field) compared to determine if the Condition is right or wrong. If the condition is rich tiger, the next command of the rule is checked, by repeating the sequence of steps described in section 4.1 is reproduced. If the condition element is wrong, then this rule is eliminated, and the next rule is tested by following the steps of section 4.1 is repeated.
Das Dir/Unm.-Flag des Aktionselements wird zuerst überprüft. Wenn es Direkt ist, dann wird der Wert, welcher an der Arbeitsspeicher-Stelle für den Operanden 2 gespeichert ist, an die durch den Operanden 1 dargestellte Arbeitsspeicher- Adresse kopiert. Wenn das Dir/Unm-Flag Unmittelbar ist, dann wird der Operand 2 an die durch den Operanden 1 darge stellte Arbeitsspeicher-Adresse kopiert. Nach der Durchfüh rung der durch den Befehl festgelegten Aktion wird der nächstfolgende Aktionsbefehl der Regel gelesen, und die im Abschnitt 4.1.2 beschriebene Prozedur wird wiederholt. Wenn der Aktionsbefehl der letzte Befehl der Regel ist, dann wird die nächste Regel getestet, indem die Schrittfolge im Abschnitt 4.1 wiederholt wird.The Dir / Unm. Flag of the action item is checked first. If it is direct then the value which is at the Memory location for operand 2 is stored, to the memory memory represented by operand 1 Address copied. If the Dir / Unm flag is Immediate, then operand 2 is presented to the one indicated by operand 1 set memory address copied. After the execution The action specified by the command becomes the Next action command usually read, and the The procedure described in section 4.1.2 is repeated. If the action command is the last command of the rule, then the next rule is tested by following the step sequence in Section 4.1 is repeated.
Nachdem alle Daten verarbeitet worden sind, wird die Steu erung an das Ein-/Ausgabe-Interface 14 übertragen. Die numerische Darstellung der Fakten wird in eine Form übersetzt, welche von dem Benutzer ohne weiteres verstan den wird.After all the data has been processed, the control is transmitted to the I / O interface 14 . The numerical representation of the facts is translated into a form which is readily understood by the user.
Das Ein-/Ausgabe-Interface wird dann die Daten an den Per sonal-Computer 10 abgeben.The input / output interface will then deliver the data to the personal computer 10 .
In diesem Beispiel wird dargestellt, wie das REX-Chip das vorstehend im Beispiel 1 beschriebene Problem löst. Die numerierten Überschriften entsprechen wieder den mit Kreisen umgebenen Zahlen in Fig. 3. Bezüglich des vollständigen Tier- Identifizierungs-Regelvorrats wird wieder auf den Anhang A Bezug genommen.This example illustrates how the REX chip solves the problem described in Example 1 above. The numbered headings again correspond to the circle surrounded numbers in Figure 3. For the complete animal identification rule stock, reference is again made to Appendix A.
Die Daten oder die gemachte Beobachtung sind bzw. ist folgende:The data or the observation made is or is the following:
Das Tier hat Haare;
das Tier ißt Fleisch;
das Tier hat eine gelbbraune Farbe;
das Tier hat schwarze Steifen.The animal has hair;
the animal eats meat;
the animal has a yellow-brown color;
the animal has black stripes.
Die vorstehenden Daten werden in das Ein-/Ausgabe-Interface eingegeben und werden in Fakten übersetzt. Die Daten werden dann in die folgenden:The above data is input to the I / O interface are entered and translated into facts. The data will be then in the following:
(Adresse $ 32) Bedeckung = (Wert # 10) Haare;
(Adresse $ 21) Nahrung = (Wert # 3) Fleisch;
(Adresse $ 58) Farbe = (Wert ′55) gelbbraun;
(Adresse $ 35) Streifen = (Wert # 8) schwarz.(Address $ 32) coverage = (value # 10) hair;
(Address $ 21) Food = (Value # 3) Meat;
(Address $ 58) Color = (value '55) tan;
(Address $ 35) stripe = (value # 8) black.
Die Adresse stellt die Stelle in dem Arbeitsspeicher dar. Beispielsweise ist an der Adresse 32 der Wert von 10 ge speichert. The address represents the location in the memory. For example, at the address 32, the value of 10 ge stores.
Ein Befehl wird aus dem Regelspeicher geladen. Der erste Befehl von Regel 1 ist eine Bedingung und hat die Form:A command is loaded from the rules memory. The first Instruction of rule 1 is a condition and has the form:
(Adresse $32) Bedeckung gleich (Wert #10) Haare.(Address $ 32) Covering the same (value # 10) hair.
Der Wert der Adressenstelle 32 wird in die ALU-Einheit in diesem Fall als 10 geladen. Die Vergleichsoperation der ALU-Einheit ist dann;The value of the address location 32 is in the ALU unit loaded as 10 in this case. The comparison operation the ALU unit is then;
(Wert #10) Haare gleich (Wert #10) Haare.(Value # 10) hair equal (value # 10) hair.
Dies Ergebnis ist richtig.This result is correct.
Wenn der Befehl lautet:If the command is:
(Adresse $32) Bedeckung gleich (Wert #11) Federn;(Address $ 32) Covering Equal (Value # 11) Springs;
der Abgabewert der ALU-Einheit ist falsch. Die Steuerung kehrt auf Schritt 3 zurück.the output value of the ALU unit is wrong. The control returns to step 3.
Wenn der Befehl eine Aktion ist, gilt:If the command is an action, then:
(Adresse $77) Klasse MOV (Wert #) Säugetier(Address $ 77) Class MOV (value #) Mammal
Die ALU-Einheit erhält den Wert 20 und wird ihn an der Speicherstelle 77 speichern.The ALU unit receives the value 20 and will receive it at the Store memory location 77.
Der Wert 20 wird aus der Regel deduziert und es wird be fohlen, ihn an der Adressenstelle 77 zu speichern. Die Steuerung kehrt dann auf Schritt 3 zurück.The value 20 is deduced from the rule and it will be foal to save him at the address 77. The Control then returns to step 3.
In diesem Beispiel wird der Wert an der (Adresse $88) Klasse an das Ein-/Ausgabe-Interface übertragen. Aufgrund dieser Fakten ist der Wert an der Adressenstelle 88 (Wert #100) Tiger.In this example, the value at the ($ 88 address) Transfer class to I / O interface. by virtue of of these facts is the value at the address location 88 (value # 100) Tiger.
Der Wert 100 wird durch das Interface in Tiger übersetzt. The value 100 is translated into Tiger by the interface.
Der Anwendungs-Regelvorrat 15, welcher in dem Arbeitsspeicher 16 gespeichert ist, wird in zwei Teile aufgeteilt, nämlich Struktur und Regeln. Ein Satz von Bedingungen in jeder Re gel wird zusammen mit benachbarten Adressen gruppiert. Ein Satz Aktionen in jeder Regel wird ebenfalls zusammen mit benachbarten Adressen gruppiert. Diese Gruppen können dann in dem Regel-Teil des Arbeitsspeichers in der folgenden Weise gespeichert werden.The application rule list 15, which is stored in the working memory 16 , is divided into two parts, namely structure and rules. A set of conditions in each rule is grouped together with adjacent addresses. A set of actions in each rule is also grouped together with adjacent addresses. These groups can then be stored in the rule part of the working memory in the following way.
Da Bedingungen und Aktionen nacheinander an verschiedenen Speicheradressen gespeichert werden, kann die Darstellung von Regeln mit Hilfe der Startadresse jeder Regel struk turiert werden. Folglich kann die Produktionsregel ausge drückt werden als:Because conditions and actions follow one another at different times Memory addresses can be saved, the representation of rules using the starting address of each rule struk be tured. Consequently, the production rule can be canceled be expressed as:
Dieses Format zeigt, daß, wenn eine Gruppe von Bedingungen an einer bestimmten Stelle richtig ist, dann die Gruppe von Aktionen an der in dem DANN-Teil spezifizierten Adresse ausgeführt wird. Wenn nun die erste Regel fehlt, springt der Steuermechanismus auf die Startadresse der nächsten Regel. Es besteht keine Notwendigkeit für die End-Indikatoren für jede Regel; folglich vergeudet REX keine Zeit mit Suchen von End-Indikatoren.This format shows that if a group of conditions is correct at a certain point, then the group of actions at the address specified in the THEN part is performed. If now the first rule is missing, the jumps Control mechanism to the starting address of the next rule. There is no need for the end indicators for every rule; therefore, REX does not waste time searching for End indicators.
Eine regelgestützte Struktur von REX ist in Fig. 4 darge stellt. Bei dieser Version wird ein externer Speicher in Form eines 64K×32 ROM verwendet, um den Anwendungs-Regel vorrat 15 zu speichern. Um die Ausnutzung des begrenzten Speichers zu maximieren, werden Struktur und Regeln an bei den Enden des Regelspeichers 13 gespeichert. Bei Struktur wird von der Adresse OOOOH aus gestartet und erhöht. Bei Re geln wird von der Adresse FFFFH aus gestartet und dann ver ringert.A rule-based structure of REX is shown in Fig. 4 Darge. In this version, an external memory in the form of a 64K × 32 ROM is used to store the application rule stock 15 . To maximize the utilization of the limited memory, structure and rules are stored at the ends of the rule memory 13 . In the case of structure, it is started and increased from the address OOOOH. With rules, the address FFFFH is started and then reduced.
Die detaillierte Struktur des Regelspeichers ist in Fig. 5a und b dargestellt. Bei Struktur wird der Adressenindex ge speichert, welcher die Startadresse jeder Regel in REGELN anzeigt. Die Größe des Regelspeichers beträgt 64K, so daß nur 16-Bit-Worte der unteren Hälfte verwendet werden.The detailed structure of the rule memory is shown in Figs. 5a and b. In structure, the address index is stored which indicates the start address of each rule in RULES. The size of the rule memory is 64K, so only 16-bit lower half words are used.
Jede Bedingung oder Aktion ist als ein 32-Bit-Wort-Befehl dargestellt, welcher von REX ausgeführt wird. Die Bedingung ist grundsätzlich ein logischer Vergleich von zwei gegebenen Operanden. Die Aktionen sind in ähnlicher Weise organisiert. Die Operatoren der Aktionen sind grundsätzlich logische Ope ratoren und ein Zuweisungs-Operator. Es gibt zwei Operanden für jede Operation, nämlich einen Operanden 1 und einen Ope randen 2. Der Operand 2 kann zwei Formen haben, nämlich di rekt oder unmittelbar. Wir in Fig. 4 dargestellt, ist der di rekte Operand ein Zeiger zu einer Adresse in dem Arbeitsspei cher, welcher durch das Symbol "$" dargestellt ist, und der unmittelbare Operand ist eine durch "#" dargestellte, ganze Zahl. Each condition or action is represented as a 32-bit word instruction executed by REX. The condition is basically a logical comparison of two given operands. The actions are organized in a similar way. The operators of the actions are basically logical operators and an assignment operator. There are two operands for each operation, namely an operand 1 and an operand 2. The operand 2 can have two forms, namely direct or immediate. As shown in Fig. 4, the direct operand is a pointer to an address in the memory represented by the symbol "$", and the immediate operand is an integer represented by "#".
Wie in Fig. 5(b) dargestellt, sind die Befehle von REX immer 32 Bit lang. Der Operationscode (6 Bits), der Operand 1 (13 Bits) und der Operand 2 (13 Bits) sind in einem 32-Bit-Be fehl zusammengesetzt. Jede Regel in einem vorgegebenen An wendungs-Regelvorrat hat Bedingungs- und Aktionsteile. Daher hat REX zwei Typen von Befehlssätzen:As shown in Fig. 5 (b), the instructions of REX are always 32 bits long. The operation code (6 bits), operand 1 (13 bits) and operand 2 (13 bits) are composed in a 32-bit instruction. Each rule in a given application rule set has condition and action parts. Therefore, REX has two types of instruction sets:
-
- Bedingungs-Befehle:
Dieser Befehlstyp wird verwendet, um zu prüfen, ob die Bedingung richtig oder falsch ist. Dies ermöglicht den Benutzern, verschiedene logische Rela tionen zwischen zwei Operanden zu spezifizieren, beispiels weise "gleich", "größer als", usw. Dieses Ausführungsergeb nis eines Bedingungs-Befehls kann nur richtig oder falsch sein, wodurch dann die nächste Ausführungsfolge beeinflußt wird.- Condition commands:
This type of command is used to check if the condition is true or false. This allows the users to specify different logical rela tions between two operands, such as "equal", "greater than", and so on. This instruction result of a conditional instruction can only be true or false, which will then affect the next execution order. -
- Aktions-Befehle:
Dieser Befehlstyp wird nur ausge führt, wenn alle Bedingungen der aktuellen Regel richtig sind. Das Ergebnis der Durchführung der Aktion wird immer in dem ersten Operanden gespeichert.- Action commands:
This command type is only executed if all the conditions of the current rule are correct. The result of the execution of the action is always stored in the first operand.
Die Befehle und die entsprechenden Operationscodes sind in Tabelle 1 zusammengefaßt.The commands and the corresponding opcodes are in Table 1 summarized.
Das Format des Operandencodes ist in Fig. 6 dargestellt. MSB (das höchstwertige Bit), d. h. F1, des Operandencodes wird dazu verwendet, um den Typ des Befehls zu spezifizieren. Wenn F1 0 ist, dann ist es ein Bedingungs-Befehl; sonst ist es ein Aktions-Befehl.The format of the operand code is shown in FIG . MSB (the most significant bit), ie F1, of the operand code is used to specify the type of instruction. If F1 is 0, then it is a conditional command; otherwise it is an action command.
Ein Bedingungs-Befehl hat immer zwei Operanden, während ein Aktions-Befehl in Abhängigkeit von den Operations-Erforder nissen immer nur einen oder zwei Operanden haben kann.A conditional instruction always has two operands, while a Action command depending on the operation requirement can only ever have one or two operands.
REX läßt zwei Arten von Adressiermodes zu, ein unmittelbares und ein direktes Adressieren. Der erste Operand benutzt im mer den direkten Adressiermode. Der zweite Operand kann ein unmittelbarer Datenwert oder ein direkt-adressierter Daten wert sein. Der Adressiermode wird durch Überprüfen des zwei ten höchstwertigen Bits (MSB), d. h. F2, des Operationscodes geprüft. Wenn F2 0 ist, ist der zweite Operand ein unmittel barer Datenwert. Sonst ist der zweite Operand ein direkt- adressierter Datenwert.REX admits two types of addressing modes, one immediate and direct addressing. The first operand used in mer direct addressing mode. The second operand can be immediate data value or direct-addressed data be worth. The addressing mode is determined by checking the two most significant bits (MSB), d. H. F2, the operation code checked. If F2 is 0, the second operand is an immediate one stable data value. Otherwise, the second operand is a direct addressed data value.
In Fig. 7 ist ein detailliertes Blockdiagramm des REX-Chips 12 wiedergegeben. Um Wiederholungen zu vermeiden, sind Ele mente, welche vorher bereits in Verbindung mit einer frühe ren Zeichnung beschrieben worden sind, mit denselben Bezugs zeichen versehen. Referring to Fig. 7, a detailed block diagram of the REX chip 12 is shown . To avoid repetition, ele ments, which have been previously described in connection with an early ren drawing, provided with the same reference characters.
In der nachfolgenden Tabelle 2 sind der Name, der Ein-/Aus gabetyp und die Funktion jedes in Fig. 7 dargestellten Ein gangs- oder Ausgangswerts aufgelistet.In the following Table 2, the name, the input / output type, and the function of each input or output value shown in Fig. 7 are listed.
Die Identifizierung jedes Registers und dessen jeweilige Funktion sind folgende:The identification of each register and its respective Function are the following:
-
- WM (Arbeitsspeicher):
Der Arbeitsspeicher 16 wird ver wendet, um die Zwischendaten während des Folgerungsprozesses zu speichern. Bevor REX den Folgerungsprozeß startet, wird der Arbeitsspeicher mit Fakten geladen, die vom Benutzer eingegeben werden. Die Größe des Arbeitsspeichers begrenzt die Menge an Benutzer-Eingaben in REX zu einer bestimmten Zeit. In der dargestellten Ausführungsform ist der Arbeits speicher ein 4K×8 statistisches RAM.- WM (Memory):
The random access memory 16 is used to store the intermediate data during the inference process. Before REX starts the reasoning process, the memory is loaded with facts entered by the user. The amount of memory limits the amount of user input in REX at a particular time. In the illustrated embodiment, the working memory is a 4K × 8 random RAM. -
- WMC (Arbeitsspeicher-Zähler) Register:
WMC ist ein 13-Bit-Inkrement-Zähler, der parallel geladen werden kann. Während des Ein-/Ausgabe-Modes wird WMC als ein Arbeits speicher-Adressen-Zähler für einen Datentransfer verwendet. Wenn der Daten-Transfer vor sich geht, wird WMC automatisch inkrementiert. Der Inhalt von WMC kann dann durch die Zen traleinheit (CPU) gesetzt werden, bevor der Daten-Transfer startet.- WMC (Memory Counter) registers:
WMC is a 13-bit increment counter that can be loaded in parallel. During the input / output mode, WMC is used as a memory address counter for data transfer. When the data transfer is in progress, WMC is automatically incremented. The contents of WMC can then be set by the central unit (CPU) before the data transfer starts. -
- C1-Register:
C1 ist ein 16-Bit-Inkrement-Zähler, welcher parallel geladen werden kann. Während des Folgerungspro zesses zeigt C1 auf eine der Regeladressen in dem Struktur- Teil des Regelspeichers 13. C1 wird um 1 inkrementiert, be vor REX zur nächsten Regel übergeht. Für einen JMP-(Spring befehl wird C1 mit einem neuen Wert geladen, statt um eins inkrementiert zu werden.- C1 register:
C1 is a 16-bit increment counter that can be loaded in parallel. During the inference process, C1 points to one of the rule addresses in the structure part of the rule memory 13 . C1 is incremented by 1 before going to the next rule before REX. For a JMP (Spring command, C1 is loaded with a new value instead of being incremented by one. -
- C2-Register:
C2 ist ein 16-Bit-Dekrement-Zähler, welcher parallel geladen werden kann. C2 zeigt auf den Regel-Teil des Regel-Speichers. Wenn keine falsche Bedingung in einer Regel vorkommt, wird C2 um eins dekrementiert, bevor REX zur nächsten Bedingung oder Aktion übergeht. Wenn eine falsche Bedingung einer Regel festgestellt wird, wird C2 mit der Startadresse der nächsten Regel geladen, statt um 1 dekrementiert zu werden.C2 register:
C2 is a 16-bit decrement counter that can be loaded in parallel. C2 points to the rule part of the rule memory. If no false condition occurs in a rule, C2 is decremented by one before REX transitions to the next condition or action. If an incorrect condition of a rule is detected, C2 is loaded with the start address of the next rule instead of being decremented by one. -
- OP-Register:
Ein OP-Register enthält drei Teile: Den Operations-Code, Operand OP1 und Operand OP2, welche einen REX-Befehl enthalten. Der Operations-Code ist ein 6 Bit- Register, welches den Operator eines Befehls speichert. Beide Operandengruppen OP1 und OP2 sind 13-Bit-Datenre gister, welche die Adresse von Operand 1 bzw. Operand 2 im Arbeitsspeicher speichern.- OP registry:
An OP register contains three parts: the operation code, operand OP1 and operand OP2, which contain a REX instruction. The operation code is a 6-bit register which stores the operator of a command. Both operand groups OP1 and OP2 are 13-bit data registers which store the address of operand 1 or operand 2 in the main memory. -
- OP′-Register:
Das OP′-Register ist ein Vorabruf-Register, das verwendet wird, um den Vorabrufbefehl für das OP-Register zu speichern. REX will nun den Vorabruf-Befehl ausführen, außer wenn ein JMP-(Spring-)Befehl oder eine falsche Bedingung vorkommt.- OP'-register:
The OP 'register is a prefetch register that is used to store the prefetch instruction for the OP register. REX now wants to execute the prefetch command, except when a JMP (Spring) command or condition occurs. -
- SI (Start/Leerlauf)-Steuer-Flag:
SI wird verwendet, um einen REX-Operationszustand, nämlich einen Folgerungs- Mode oder einen Ein-/Ausgabe-Mode zu identifizieren. SI wird durch die Zentraleinheit (CPU) gesetzt, nachdem das System alle Fakten an den Arbeitsspeicher gesendet hat. SI hat den Wert eins während des Folgerungs-Modes. SI wird durch REX jedesmal dann rückgesetzt, wenn der Folgerungs prozeß stoppt; dann schaltet REX auf Ein-/Ausgabe-Mode.- SI (Start / Idle) control flag:
SI is used to identify a REX operation state, namely, a conclusion mode or an input / output mode. SI is set by the central processing unit (CPU) after the system sends all the facts to the main memory. SI has the value one during the inference mode. SI is reset by REX each time the inference process stops; then REX switches to input / output mode. -
- IE (Unterbrechungs-Freigabe-)Steuer-Flag:
IE wird von der Zentraleinheit (CPU) zur selben Zeit wie das SI-Flag gesetzt. REX garantiert die Unterbrechungsfreigabe, bevor REX auf den Folgerungs-Mode geht. IO wird zusammen mit dem IRQ-Flag verwendet, um ein Unterbrechungssignal zu erzeugen. Das IE-Flag wird durch die Zentraleinheit (CPU) am Ende des Unterbrechungs-Service-Programms rückgesetzt.- IE (Interrupt Enable) control flag:
IE is set by the central processing unit (CPU) at the same time as the SI flag. REX guarantees the interrupt release before REX goes into the inference mode. IO is used together with the IRQ flag to generate an interrupt signal. The IE flag is reset by the central processing unit (CPU) at the end of the interrupt service program. -
- IRQ (Interrupt ReQuest) (Unterbrechungs-Anforderungs-)
Zustands-Flag:
Wenn der Folgerungsprozeß stoppt, wird IRQ durch REX gesetzt, um anzuzeigen, daß REX eine Unterbre chung an der Zentraleinheit (CPU) anfordert. IRQ wird und verknüpft von IE-Flags, um ein Unterbrechungssignal INT zu erzeugen, nachdem die Unterbrechung bestätigt ist.IRQ (Interrupt ReQuest) (Interrupt Request) State Flag:
When the inference process stops, IRQ is set by REX to indicate that REX is requesting an interrupt at the central processing unit (CPU). IRQ becomes and is linked by IE flags to generate an interrupt signal INT after the interruption is asserted.
Wenn REX im Ein-/Ausgabemode arbeitet, kann die Zentralein heit (CPU) REX-Register lesen oder in diese schreiben. Die Signale und beeinflußte Register sind in Tabelle 3 aufge listet.When REX operates in the input / output mode, the central one can (CPU) read or write REX registers. The Signals and affected registers are listed in Table 3 lists.
REX hat zwei Betriebs-Modes, nämlich den Ein-/Ausgabemode und den Folgerungs-Mode. Ein Steuerflag SI wird als ein Mode-Flag benutzt. REX schaltet auf den anderen Mode, wenn das SI-Flag geändert wird.REX has two modes of operation, namely the input / output mode and the inference mode. A control flag SI is considered a Fashion flag used. REX switches to the other mode, though the SI flag is changed.
Bevor REX auf Folgerungs-Mode geht, hat REX alle Anwender- Eingabefakten von dem Verarbeitungssystem (host) in den Arbeitsspeicher von REX zu laden. REX wird von dem Ein-/ Ausgabe-Mode auf Folgerungs-Mode geschaltet, wenn das SI- Flag durch das Verarbeitungssystem gesetzt ist. Nachdem der Folgerungsprozeß beendet ist, werden die Ergebnisse von dem Arbeitsspeicher an das Verarbeitungssystem übertragen. Before REX goes into inference mode, REX has disabled all user Input files from the processing system (host) in the To load RAM from REX. REX is powered by the on / off Output mode switched to inference mode, if the SI- Flag is set by the processing system. After the Conclusion process is finished, the results of the Memory transferred to the processing system.
Während der Ein-/Ausgabeoperation kann das Verarbeitungssy stem spezielle Register lesen oder in diese schreiben, wenn das REX-Chip ausgewählt ist. Das Steuern der Lese-/Schreib- Operationen und die Auswahl von Registern werden mittels einer Gruppe von Steuerleitungen gesteuert, welche in Ta belle 3 aufgelistet sind. Während des Lesens und Schreibens von WMC- und C/S-Register werden nur einige Bits des Sy stem-Daten-Bus benutzt. Dies ist in Fig. 8 dargestellt.During the I / O operation, the processing system may read or write special registers when the REX chip is selected. The control of the read / write operations and the selection of registers are controlled by means of a group of control lines, which are listed in Table 3. During reading and writing of WMC and C / S registers, only a few bits of the system data bus are used. This is shown in FIG. 8.
Sobald der Arbeitsspeicher mit Benutzer-Eingabefakten ge laden ist, startet REX den Folgerungsprozeß von der ersten Regel in dem externen Speicher aus. Der Folgerungsfluß von REX ist in Fig. 9 dargestellt. Es gibt drei verschiedene Maschinenzyklen für REX in dem Folgerungs-Mode.Once the memory is loaded with user input data, REX starts the inference process from the first rule in the external memory. The inference flow of REX is shown in FIG . There are three different machine cycles for REX in the inference mode.
-
- T1-Zyklus:
T1 ist ein Regel-Abruf-Zyklus. Der T1-Zyklus wird nur ganz zu Anfang des Folgerungsprozesses oder wenn ein JMP-(Spring-)Befehl vorkommt, ausgeführt. Bei dem T1- Zyklus wird die Startadresse einer Regel im externen Spei cher in dem C1-Register abgerufen. C1 ist ein Regel-Zähler, welcher auf die Startadresse einer aktuellen Folgerungsre gel gerichtet ist.T1 cycle:
T1 is a rule polling cycle. The T1 cycle is executed only at the very beginning of the inference process or when a JMP (Spring) command occurs. In the T1 cycle, the start address of a rule is fetched in the external memory in the C1 register. C1 is a rule counter directed to the start address of a current inference rule. -
- T2-Zyklus:
T2 ist ein Befehl-Abrufzyklus. Der T2-Zyklus ruft den ersten Konditionsbefehl jeder Regel in REX-Register ab. Der T2-Zyklus wird durchgeführt, wenn eine der Bedingun gen einer Regel falsch ist und die Ausführung von dem ersten Befehl der nächsten Regel auf aus startet. C2 kann als ein Befehls-Zähler betrachtet werden, welcher auf einen Konditions-Befehl oder auf einen Aktionsbefehl gerichtet ist, welcher laufend in einer Arithmetik-Logik-Einheit (ALU) durchgeführt wird.T2 cycle:
T2 is a command fetch cycle. The T2 cycle retrieves the first condition command of each rule in REX registers. The T2 cycle is performed when one of the conditions of a rule is false and execution starts from the first instruction of the next rule to off. C2 may be considered as a command counter directed to a condition command or to an action command which is currently performed in an arithmetic logic unit (ALU). -
- T3-Zyklus:
Der T3-Zyklus ist ein Befehl-Ausführ-Zyklus.T3 cycle:
The T3 cycle is an instruction execution cycle.
Es gibt mehrere Fälle des T3-Zyklus:There are several cases of the T3 cycle:
Konditions-Befehl/Unmittelbare Daten
Konditions-Befehl/Direkte Adressierung
Aktions-Befehl/Unmittelbare Daten
Aktions-Befehl/Direkte Adressierung
JMP (Sprung)
STOP (Regel-Ende)Condition Command / Immediate Data
Condition Command / Direct Addressing
Action command / Immediate data
Action command / direct addressing
JMP (jump)
STOP (rule end)
Der Befehls-Vorabruf-Zyklus überlappt mit T3-Zyklus. Wenn ein JMP-(Sprung-)Befehl vorkommt, geht die Ausführungsfolge auf den T1-Zyklus. Wenn das Ergebnis eines Konditionsbe fehls falsch ist, geht die Ausführungsfolge auf den T2-Zy klus. Wenn kein JMP-(Sprung-)Befehl und keine falsche Kondi tion vorkommt, benutzt REX die Vorabrufdaten, um dann auf den T3-Zyklus zu gehen.The instruction prefetch cycle overlaps with T3 cycle. If a JMP (jump) command occurs, the execution sequence goes on the T1 cycle. If the result of a Conditionbe is wrong, the execution sequence goes to the T2-Zy klus. If no JMP (jump) command and no wrong Kondi REX uses the prefetch data, and then on to go the T3 cycle.
REX durchläuft denselben Prozeß immer wieder, bis die Fol gerungen aller Regeln in dem externen Speicher erledigt sind. Wenn der Folgerungsprozeß gestoppt ist, wird das SI-Flag auf "0" rückgesetzt. Dann schaltet REX von dem Folgerungs-Mode auf den Ein-/Ausgabe-Mode.REX goes through the same process over and over again until the Fol All rules in the external memory are done are. If the inference process is stopped, it will SI flag reset to "0". Then REX shuts off the Inference mode in the input / output mode.
Die Zeitdiagramme für REX in dem Ein-/Ausgabe-Lesemode, dem Ein-/Ausgabe-Schreibmode und für den externen Regel speicher sind in den Fig. 10 bis 12 dargestellt. Die Wech selstrom-Kenndaten von REX im Ein-/Ausgabe-Mode sind in Tabelle 4 aufgelistet.The timing diagrams for REX in the input / output read mode, the input / output write mode and the external rule memory are shown in Figs. 10 to 12. The AC characteristics of REX in input / output mode are listed in Table 4.
Claims (32)
- a) einen Arbeitsspeicher;
- b) eine Eingabeeinrichtung, um externe Daten zu empfangen, welche den Anwendungsbereich betreffen, und um die externen Daten in dem Arbeitsspeicher als Fakten zu speichern;
- c) einen Regelspeicher;
- d) eine Einrichtung, um in dem Regelspeicher einen Regel vorrat für den Anwendungsbereich zu speichern, der eine Reihe von Befehlen und Anweisungen enthält, die jeweils eine Bedingung oder eine Aktion festlegen;
- e) eine Einrichtung, um aus dem Regelspeicher in den Ar beitsspeicher nacheinander Befehl des Regelvorrats zu laden, und
- f) eine Logikeinrichtung, um nacheinander die Befehle in dem Arbeitsspeicher bezüglich der gespeicherten Fakten in dem Arbeitsspeicher auszuführen, um dadurch neue Fakten zu deduzieren.
- a) a working memory;
- b) input means for receiving external data concerning the application area and for storing the external data in the working memory as facts;
- c) a rule memory;
- d) means for storing in the rule store a rule set for the scope containing a series of commands and instructions each defining a condition or action;
- e) means for sequentially loading the rule store instruction from the rule store into the work memory, and
- f) a logic means for successively executing the instructions in the working memory with respect to the stored facts in the working memory to thereby deduce new facts.
- a) einen Arbeitsspeicher;
- b) ein Eingabe-Ausgabe-Interface, um kommunikativ den Ar beitsspeicher mit einem externen System zu verbinden, wobei die Eingabe-Ausgabe-Einrichtung aufweist, eine Einrichtung, die bei der Initialisierung der Folgerungsoperation betreib bar ist, um in dem Arbeitsspeicher Werte zu empfangen und zu speichern, welche bekannte Fakten darstellen, welche den An wendungsbereich betreffen;
- c) einen Regelspeicher;
- d) eine Einrichtung, um in dem Regelspeicher einen Regel satz für den Anwendungsbereich zu speichern, der eine Reihe von Befehlen enthält, die jeweils eine Bedingung oder eine Aktion festlegen;
- e) eine Einrichtung, die während der Folgerungsoperation betreibbar ist, um nacheinander aus dem Regelspeicher Befehle des Regelsatzes abzurufen und diese in dem Arbeits speicher zu speichern;
- f) eine logische Einrichtung, welche während der Folge rungsoperation betreibbar ist, um nacheinander die entspre chenden Befehle zu empfangen, die in dem Arbeitsspeicher ge speichert sind, und um die Befehle bezüglich der gespeicherten Fakten in dem Arbeitsspeicher auszuführen, um dadurch neue Fakten zu deduzieren, wobei die logische Einrichtung auch eine Einrichtung aufweist, um deduzierte neue Fakten in dem Arbeitsspeicher zu speichern, um sie während der Ausführung der anschließenden Befehle zu benutzen, und
- g) wobei die Eingabe-Ausgabe-Einrichtung eine Ein richtung aufweist, welche bei Beendigung der Folgerungs operation betreibbar ist, um die in dem Arbeitsspeicher ge speicherten Fakten an eine Ausgabeeinrichtung zu übertragen.
- a) a working memory;
- b) an input-output interface for communicatively connecting the working memory to an external system, the input-output device having means operable to initialize the inference operation to receive values in the working memory and to store which are known facts pertaining to the field of application;
- c) a rule memory;
- d) means for storing in the rule memory a set of rules for the scope of application containing a series of commands each defining a condition or an action;
- e) means operable during said inference operation for sequentially fetching from said rule memory commands of said rule set and storing them in said working memory;
- f) a logical device operable during the follow-up operation to successively receive the corresponding instructions stored in the work memory and to execute the instructions on the stored facts in the work memory to thereby deduce new facts wherein the logic means also includes means for storing deduced new facts in the working memory for use during execution of the subsequent instructions, and
- g) wherein the input-output device comprises a device which is operable at the conclusion of the reasoning operation to transmit the ge stored in the memory ge facts to an output device.
- a) ein Arbeitsspeicher;
- b) ein System-Interface-Bus, um den Arbeitsspeicher mit einem externen System kommunikativ zu verbinden, um Werte, welche bekannte Fakten darstellen, welche den Anwendungs bereich betreffen, zu empfangen und um sie in dem Arbeits speicher zu speichern;
- c) einen Regelspeicher-Bus für eine Kommunikation mit einem externen Regelspeicher, in welchem ein Regelsatz oder -vorrat für den Anwendungsbereich gespeichert ist, der eine Reihe von Befehlen enthält, die jeweils eine Bedingung bzw. Kondition oder eine Aktion festlegen;
- d) eine Regelspeicher-Zähleinrichtung mit einem Adres senregister, um die Adresse des laufenden Befehls in den externen Speicher zu speichern;
- e) eine Einrichtung, um den laufenden Befehl aus dem Regelspeicher über das Regelspeicher-Bus abzurufen, und
- f) eine logische Einrichtung, um den laufenden Befehl zu empfangen und um den Befehl bezüglich der gespeicherten Da ten in dem Arbeitsspeicher auszuführen, um dadurch neue Fak ten zu deduzieren.
- a) a working memory;
- b) a system interface bus to communicatively connect the main memory to an external system to receive values representing known facts pertaining to the application area and to store them in the working memory;
- c) a rule storage bus for communicating with an external rule store in which a rule set or set is stored for the scope containing a series of commands each defining a condition or action;
- d) a rule memory counter with an address register to store the address of the current instruction in the external memory;
- e) means for retrieving the current instruction from the rule storage via the rule storage bus, and
- f) a logical means for receiving the current command and executing the command on the stored data in the main memory to thereby deduce new facts.
- a) einen Arbeitsspeicher;
- b) eine Einrichtung, um externe Daten zu empfangen, welche bekannte Fakten darstellen, und um Werte, welche die Fakten darstellen, an vorherbestimmten Speicheradressen des Arbeitsspeichers zu speichern;
- c) einen Speicher zum Speichern eines Regelsatzes;
- d) einen Regelsatz, der eine Reihe von in dem Speicher ge speicherten Regeln aufweist, wobei jede Regel des Regelsatzes eine Reihe von Befehlen enthält, die an aufeinanderfolgenden Speicheradressen des Speichers gespeichert sind;
- e) zumindest einen der Befehle jeder Regel, welche eine
Kondition oder Bedingung darstellen, welcher durch die Fak
ten eines vorgegebenen Problems genügt ist, und welche ein
schließen
- (i) einen Operationscode, welcher eine durchzuführende logische Operation festlegt;
- (ii) einen ersten Operanden, welcher einen ersten Wert festlegt, welcher durch die logische Operation zu vergleichen ist, und
- (iii) einen zweiten Operanden, welcher die Adresse in dem Arbeitsspeicher festlegt, der einen zweiten Wert enthält, welcher durch die logische Operation zu vergleichen ist.
- a) a working memory;
- b) means for receiving external data representing known facts and for storing values representing the facts at predetermined memory addresses of the working memory;
- c) a memory for storing a rule set;
- d) a rule set having a series of rules stored in the memory, each rule of the rule set including a series of instructions stored at successive memory addresses of the memory;
- e) at least one of the instructions of each rule, which represent a condition or condition which is satisfied by the facts of a given problem, and which include one
- (i) an operation code specifying a logical operation to be performed;
- (ii) a first operand specifying a first value to be compared by the logical operation, and
- (iii) a second operand which sets the address in the working memory containing a second value to be compared by the logical operation.
- f) zumindest einer der Befehle jeder Regel eine durch
zuführende Aktion darstellt, wenn allen durchzuführenden Be
dingungen oder Konditionen genügt ist, und welcher aufweist
- (i) einen Operationscode, welcher die durchzuführende Aktion festlegt;
- (ii) einen ersten Operanden, welcher einen Wert für einen Fakt festlegt, und
- (iii) einen zweiten Operanden, welcher eine Adresse in dem Arbeitsspeicher festlegt, an welcher der in dem ersten Operanden definierte Wert zu speichern ist.
- f) at least one of the commands of each rule represents an action to be performed when all the conditions or conditions to be performed are satisfied and which has
- (i) an operation code which specifies the action to be performed;
- (ii) a first operand specifying a value for a fact, and
- (iii) a second operand which specifies an address in the random access memory to which the value defined in the first operand is to be stored.
eine Reihe in dem Speicher gespeicherter Regeln;
wobei jede Regel des Regelsatzes eine Reihe von Befehlen enthält, die an aufeinanderfolgenden Speicheradressen des Speichers gespeichert sind;
zumindest einen der Befehle jeder Regel, welcher eine Kon dition oder Bedingung darstellt, welcher durch die Fakten eines gegebenen Problems zu genügen ist, und zumindest einen der Befehle jeder Regel, welcher eine durchzuführende Aktion darstellt, wenn der Bedingung genügt ist.15. An application rule set for a hardware-executed, rule-based expert system having a memory with a memory address, characterized in that the rule set comprises
a series of rules stored in the memory;
each rule of the rule set containing a series of instructions stored at successive memory addresses of the memory;
at least one of the commands of each rule representing a condition or condition to be satisfied by the facts of a given problem and at least one of the commands of each rule representing an action to be performed when the condition is satisfied.
eine Reihe von Regeln, die jeweils wiederum eine Reihe von Befehlen enthalten, die eine vorherbestimmte Anzahl Bits lang sind und an aufeinanderfolgenden Speicheradressen des Speichers gespeichert sind;
bestimmte Befehle jeder Regel, welche eine Bedingung oder Kondition darstellen, welcher durch die Fakten eines vor gegebenen Problems genügt ist;
noch weitere Befehle jeder Regel, welche eine durchzuführen de Aktion darstellen, wenn diese Regel aktiviert wird und einen Regelindex, der ebenfalls in dem Speicher gespeichert ist und eine Reihe von Speicheradressen in dem Speicher ent hält, welche der Anfangs-Speicheradresse jeder Regel des Regelsatzes entsprechen.22. An application rule set for a hardware-executed, rule-based expert system having a memory with a number of memory addresses, characterized in that the rule set comprises
a series of rules, each in turn containing a series of instructions which are a predetermined number of bits long and stored at successive memory addresses of the memory;
certain commands of each rule representing a condition or condition satisfied by the facts of a given problem;
yet other instructions of each rule representing an action to perform when this rule is activated and a rule index also stored in the memory and holding a series of memory addresses in the memory corresponding to the starting memory address of each rule of the rule set ,
eine Reihe von Regeln, die jeweils aus einer Serie von Be fehlen bestehen, die eine vorherbestimmte Anzahl Bits lang sind, wobei die Befehle jeder Regel an aufeinanderfolgenden Speicheradressen des Speichers gespeichert sind und die zu speichernden Regeln des Regelsatzes nacheinander an einem Ende des Speichers beginnen;
wobei die Befehle Bits, die einen Operationscode festlegen, Bits, welche einen ersten Operanden festlegen, Bits, welche einen zweiten Operanden festlegen, zumindest ein Bit, das ein Flag festlegt, welches anzeigt, ob der Befehl eine Kon dition oder eine Aktion ist, und zumindest ein Bit aufweisen, welches den Adressiermode eines der Operanden anzeigt, und ein Regelindex, der auch in dem Speicher gespeichert ist und eine Reihe von Speicheradressen in dem Speicher auf weist, die der Anfangs-Speicheradresse jeder Regel des Regelsatzes entsprechen, wobei der Regelindex in aufeinander folgenden Speicheradressen gespeichert ist, die am anderen Ende des Speichers beginnen, von welchem aus der Regelsatz beginnt.25. An application rule set for a hardware-executed, rule-based expert system having a memory with a number of memory addresses, characterized in that it comprises the rule set
a set of rules, each consisting of a series of instructions which are a predetermined number of bits long, the instructions of each rule being stored at successive memory addresses of the memory and the rules of the rule set to be stored beginning at one end of the memory;
wherein the instructions bits defining an operation code, bits specifying a first operand, bits specifying a second operand, at least one bit specifying a flag indicating whether the instruction is a condition or an action, and have at least one bit indicating the addressing mode of one of the operands, and a rule index also stored in the memory and having a series of memory addresses in the memory corresponding to the initial memory address of each rule of the rule set, the rule index in memory addresses beginning at the other end of the memory from which the ruleset begins.
- (a) in einem Arbeitsspeicher bekannte Fakten gespeichert werden, welche den Anwendungsbereich betreffen;
- (b) in einem Regelspeicher ein Regelsatz für den An wendungsbereich gespeichert wird, der eine Reihe von Be fehlen aufweist, die jeweils eine Kondition oder eine Aktion festlegen;
- (c) aus dem Regelspeicher in den Arbeitsspeicher ein Be fehl des Regelsatzes geladen wird und
- (d) der Befehl in dem Arbeitsspeicher bezüglich der ge speicherten Fakten in dem Arbeitsspeicher ausgeführt wird.
- (a) storing in known memory known facts pertaining to the scope;
- (b) a policy set is stored in a rule store for the scope of application which has a number of items each defining a condition or an action;
- (c) loading a rule set instruction from the rule memory into the memory and;
- (d) executing the instruction in the working memory with respect to the stored data in the working memory.
- (a) ein Satz von Kenndaten festgelegt wird, welche dem Anwendungsbereich entsprechen;
- (b) jedes Charakteristikum des Satzes zugeteilt wird, um Speicheradressen in einem Arbeitsspeicher zu spezifizie ren;
- (c) aus dem Satz für ein ganz bestimmtes Problem, welches von dem Expertensystem zu lösen ist, diese Kenndaten ausgewählt werden, welche Werte haben, die bekannt sind;
- (d) die Werte für die bekannten Kenndaten in dem Arbeitsspeicher an entsprechenden Speicheradressen gespei chert werden, welche diesen Kenndaten zugeordnet sind;
- (e) in einem Regelspeicher ein Regelsatz für den An wendungsbereich gespeichert wird, wobei der Regelsatz eine Reihe von Befehlen enthält;
- (f) aus dem Regelspeicher in den Arbeitsspeicher auf einanderfolgende Befehle des Regelsatzes geladen werden, und die Befehle bezüglich der gespeicherten Kennwerte in dem Arbeitsspeicher ausgeführt werden, um dadurch einen Wert für ein unbekanntes Charakteristikum zu deduzieren und
- (g) der deduzierte Wert im Arbeitsspeicher an der entsprechenden Speicheradresse für dieses Charakteristikum gespeichert wird.
- (a) a set of characteristics is defined which correspond to the scope;
- (b) allocating each characteristic of the set to specify memory addresses in a random access memory;
- (c) from the set for a particular problem to be solved by the expert system, selecting those characteristics having values that are known;
- (d) storing the values for the known characteristics in the random access memory at corresponding memory addresses associated with these characteristics;
- (e) a policy set is stored in a rule store, the rule set containing a set of commands;
- (F) are loaded from the rule memory in the working memory on successive commands of the rule set, and the instructions are executed with respect to the stored characteristics in the working memory, thereby to deduce a value for an unknown characteristic and
- (g) storing the deduced value in memory at the corresponding memory address for that characteristic.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16687388A | 1988-03-11 | 1988-03-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3907843A1 true DE3907843A1 (en) | 1989-09-28 |
DE3907843C2 DE3907843C2 (en) | 1995-03-16 |
Family
ID=22605029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3907843A Expired - Lifetime DE3907843C2 (en) | 1988-03-11 | 1989-03-10 | Hardware-based, rule-based expert system |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPH01283639A (en) |
DE (1) | DE3907843C2 (en) |
GB (1) | GB2217068B (en) |
NL (1) | NL194520C (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3918789A1 (en) * | 1988-06-08 | 1989-12-21 | Hitachi Ltd | Adaptive knowledge inference method and system |
DE4108310A1 (en) * | 1990-03-14 | 1991-09-26 | Hitachi Ltd | Knowledge base processing and expert system - stores indices representing certainty grade of casual relationship between occurrence and others relevant to it |
DE4100500A1 (en) * | 1991-01-10 | 1992-07-16 | Bodenseewerk Geraetetech | SIGNAL PROCESSING ARRANGEMENT FOR THE CLASSIFICATION OF OBJECTS BASED ON THE SIGNALS OF SENSORS |
DE4103128A1 (en) * | 1991-01-30 | 1992-08-13 | Krone Ag | REAL-TIME PROCESS EXPERT SYSTEM |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR920003701B1 (en) * | 1988-03-17 | 1992-05-09 | 가부시끼가이샤 도시바 | Real-time expert system |
DE10322686A1 (en) * | 2003-05-20 | 2004-12-23 | Siemens Ag | Process for linking data sets comprising medical therapy information |
US8510142B2 (en) | 2011-07-20 | 2013-08-13 | Fluor Technologies Corporation | Conflicting expert systems |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0137414A2 (en) * | 1983-09-28 | 1985-04-17 | Hitachi, Ltd. | High speed processing system for computer system |
US4670848A (en) * | 1985-04-10 | 1987-06-02 | Standard Systems Corporation | Artificial intelligence system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS619729A (en) * | 1984-06-26 | 1986-01-17 | Toshiba Corp | Reasoning system |
JPH0743722B2 (en) * | 1985-08-02 | 1995-05-15 | 株式会社東芝 | Inductive reasoning device |
JPS647232A (en) * | 1987-06-30 | 1989-01-11 | Toshiba Corp | Inference processor |
GB2208020A (en) * | 1987-06-30 | 1989-02-15 | Toshiba Kk | Inference processing system |
-
1989
- 1989-03-10 JP JP1059468A patent/JPH01283639A/en active Pending
- 1989-03-10 GB GB8905488A patent/GB2217068B/en not_active Expired - Lifetime
- 1989-03-10 NL NL8900588A patent/NL194520C/en not_active IP Right Cessation
- 1989-03-10 DE DE3907843A patent/DE3907843C2/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0137414A2 (en) * | 1983-09-28 | 1985-04-17 | Hitachi, Ltd. | High speed processing system for computer system |
US4670848A (en) * | 1985-04-10 | 1987-06-02 | Standard Systems Corporation | Artificial intelligence system |
Non-Patent Citations (3)
Title |
---|
DE-Z.: Micro extra 2/88, S. 11-15 * |
HARMON, Paul, und KING, David: Expertensysteme in der Praxis, - München, Wien: Oldenbourg, 1986, S. 61-65 und S. 131/132 * |
SCHACHTER-RADIG, Mina-Jaqueline: Entwicklungs- und Ablaufumgebungen für die Künstliche Intelligenz-Arbeitsplatzrechner für die Wissensverarbeitung. In: Informationstechnik 5/1987, S. 334-349 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3918789A1 (en) * | 1988-06-08 | 1989-12-21 | Hitachi Ltd | Adaptive knowledge inference method and system |
DE4108310A1 (en) * | 1990-03-14 | 1991-09-26 | Hitachi Ltd | Knowledge base processing and expert system - stores indices representing certainty grade of casual relationship between occurrence and others relevant to it |
US5493729A (en) * | 1990-03-14 | 1996-02-20 | Hitachi, Ltd. | Knowledge data base processing system and expert system |
DE4108310C2 (en) * | 1990-03-14 | 1998-10-22 | Hitachi Ltd | Processing system for a knowledge base in an expert system |
DE4100500A1 (en) * | 1991-01-10 | 1992-07-16 | Bodenseewerk Geraetetech | SIGNAL PROCESSING ARRANGEMENT FOR THE CLASSIFICATION OF OBJECTS BASED ON THE SIGNALS OF SENSORS |
US5247584A (en) * | 1991-01-10 | 1993-09-21 | Bodenseewerk Geratetechnik Gmbh | Signal processing unit for classifying objects on the basis of signals from sensors |
DE4103128A1 (en) * | 1991-01-30 | 1992-08-13 | Krone Ag | REAL-TIME PROCESS EXPERT SYSTEM |
Also Published As
Publication number | Publication date |
---|---|
GB2217068B (en) | 1992-10-21 |
DE3907843C2 (en) | 1995-03-16 |
GB2217068A (en) | 1989-10-18 |
NL194520B (en) | 2002-02-01 |
NL8900588A (en) | 1989-10-02 |
GB8905488D0 (en) | 1989-04-19 |
JPH01283639A (en) | 1989-11-15 |
NL194520C (en) | 2002-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4302495C2 (en) | Apparatus and method for determining the length of an instruction in a sequential instruction stream | |
DE2230102C2 (en) | Micro-programmed processor with bit-parallel data transmission | |
DE3914265C2 (en) | ||
DE3116100C2 (en) | Data processing unit | |
DE4010384C2 (en) | Burst data transmission method | |
DE2355993A1 (en) | DATA PROCESSING UNIT INCLUDING MICROPROGRAM CONTROL DEVICE | |
DE2524229A1 (en) | DATA PROCESSING SYSTEM WITH A PYRAMID-SHAPED HIERARCHY OF THE CONTROL FLOW | |
DE2411963B2 (en) | DATA PROCESSING SYSTEM | |
DE19855806A1 (en) | Device for execution of sub routines and jump operations in computer | |
DE2449547A1 (en) | COMPUTER AND DATA PROCESSING SYSTEM | |
DE19729618C2 (en) | Microprocessor and multiprocessor system | |
DE2023354A1 (en) | Programmable unit and method of operating a programmable unit | |
DE1931966B2 (en) | Data processing system with associative memories | |
DE2145709B2 (en) | ||
DE2556617C2 (en) | Sliding and rotating circuit | |
DE3907843C2 (en) | Hardware-based, rule-based expert system | |
EP0722583A1 (en) | Processor for variable-length character strings | |
DE1191145B (en) | Electronic number calculator | |
CH635451A5 (en) | ARRANGEMENT FOR SWITCHING BETWEEN PROGRAMS TO BE PROCESSED IN A DATA PROCESSING SYSTEM. | |
DE10213860A1 (en) | Programmable control | |
DE2817536C2 (en) | ||
DE1449584C3 (en) | Arrangement for the transmission of data from a card in a data processing facility or vice versa | |
DE4039532C2 (en) | Data processor | |
DE19635284C2 (en) | One-chip processor with an external test function | |
DE2359037A1 (en) | MICRO PROGRAM COMPUTER DEVICE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: RICOH CO., LTD., TOKIO/TOKYO, JP |