[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE3907843A1 - In hardware ausgefuehrtes, regelgestuetztes expertensystem - Google Patents

In hardware ausgefuehrtes, regelgestuetztes expertensystem

Info

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
Application number
DE3907843A
Other languages
English (en)
Other versions
DE3907843C2 (de
Inventor
Hideaki Kobayashi
Masahiro Shindo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
International Chip Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd, International Chip Corp filed Critical Ricoh Co Ltd
Publication of DE3907843A1 publication Critical patent/DE3907843A1/de
Application granted granted Critical
Publication of DE3907843C2 publication Critical patent/DE3907843C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Devices For Executing Special Programs (AREA)

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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Nachfolgend wird die Erfindung anhand von bevorzugten Aus­ führungsformen unter Bezugnahme auf die anliegenden Zeich­ nungen im einzelnen erläutert. Es zeigt
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. 2 eine detailliertere Darstellung einer Co-Prozessor- Schaltungskarte, welche in der REX-Folgerungsein­ richtung verwendet ist;
Fig. 3 ein schematisches Blockdiagramm des Datenflusses für die REX-Einrichtung;
Fig. 4 ein Blockdiagramm der regelgestützten Struktur für die REX-Einrichtung;
Fig. 5a und 5b Diagramme, in welchen die Datenstruktur der Befehle wiedergegeben ist, welche in einem Re­ gelspeicher gespeichert sind;
Fig. 6 ein Diagramm des Operationscodes-Formats, das in dem REX-Chip verwendet ist;
Fig. 7 ein Gesamtblockdiagramm der Hauptfunktionskompo­ nenten des REX-Chips;
Fig. 8 ein Diagramm der Datenbus-Bit-Zuordnung für Ein- Ausgabe-Lese-/Schreib-Operationen;
Fig. 9 ein Flußdiagramm des Folgerungsflusses des REX- Chips und
Fig. 10 bis 12 Zeitdiagramme für das REX-Chip, welche die zeitliche Steuerung des Lese-, des Schreib-Modes sowie des externen Speichers zeigen.
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.
Anhand von Fig. 2 wird jede Komponente der REX-Co-Prozessor- Schaltungskarte 11 im einzelnen erläutert:
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.
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.
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.
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.
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:
Wenn
Bedingung 1,
Bedingung 2,
:
Bedingung n
Dann Aktion 1,
Aktion 2,
:
Aktion n
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.
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:
  • 1. Die Regel, welche die häufigsten Daten enthält, wird ausgewählt. Diese Strategie wird Daten-Neuheitenorder be­ zeichnet.
  • 2. Die Regel, welche die komplizierteste der schwierigsten Anforderungen ist, wird ausgewählt. Dies wird dann auch als Kontext-Begrenzungsstrategie bezeichnet.
  • 3. Die Regel, welche als erste in der Liste angegeben ist, wird ausgewählt. Dies wird als Regel-Anordnung bezeichnet.
Beispiel 1 Beispiel für eine Vorwärtsverkettung
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:
das Tier hat Haare;
das Tier ißt Fleisch;
das Tier hat eine gelbbraune Farbe;
das Tier hat schwarze Streifen.
Die Wahrnehmungen werden in die folgenden Fakten übersetzt:
Bedeckung = Haare;
Nahrung = Fleisch;
Farbe = gelbbraun;
Streifen = schwarz.
Wenn diese Fakten vorgegeben sind, wird Regel 1 getriggert. Gemäß der Regel wird dann deduziert:
Klasse = Säugetier.
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.
Fleischfresser = ja.
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.
Tier = 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.
Das Beispiel zeigt die Folgerungsmethode, bei welcher von den aktuellen Fakten oder Beobachtungen bis zu einem Schluß bzw. Ergebnis vorwärts gearbeitet wird.
Architektur der REX-Folgerungseinrichtung
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.
Datenfluß in der REX-Folgerungseinrichtung
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:
1. Eingangsdaten
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:
Bedeckung = Haar
Farbe = gelbbraun
. . .
. . . usw.
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.
In dem vorstehenden Beispiel ergibt sich dann:
(Adresse $ 32) Bedeckung = (Wert # 10) Haare;
(Adresse $ 58) Farbe = (Wert # 55) gelbbraun;
. . .
. . . usw.
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.
2. Speichern von Fakten in den Arbeitsspeicher
Beim Schritt 2 werden die Faktoren in den Arbeitsspeicher ge­ speichert.
3. Ablegen der Regeln in den Arbeitsspeicher
Ein externer Speicher wird dazu verwendet, Regeln, die zu dem Anwendungsbereich passen, zu speichern. Jede Regel wird folgendermaßen dargestellt:
WENN
Bedingung 1 und
Bedingung 2 und
. . .
DANN Aktion 1
Aktion 2
. . .
Ein Bedingungselement ist:
(Klasse = Säugetier)
Dementsprechend ist ein Aktionselement:
(Typ : hufförmig)
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:
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.
4-5 Folgerungszyklus
Die folgenden Schritte werden während des Folgerungszyklus durchgeführt.
4.1 Externes Speicherelement abrufen
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.
4.1.1. Regelbedingungselement an Arbeitsspeicher anpas­ sen
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.
4.1.2 Aktions-Teil
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.
6. Fakten in Daten
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.
7. Datenausgabe
Das Ein-/Ausgabe-Interface wird dann die Daten an den Per­ sonal-Computer 10 abgeben.
Beispiel 2 Beispiel für einen REX-Datenfluß
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.
1. Externe Daten eingeben
Die Daten oder die gemachte Beobachtung sind bzw. ist folgende:
Das Tier hat Haare;
das Tier ißt Fleisch;
das Tier hat eine gelbbraune Farbe;
das Tier hat schwarze Steifen.
Die vorstehenden Daten werden in das Ein-/Ausgabe-Interface eingegeben und werden in Fakten übersetzt. Die Daten werden dann in die folgenden:
(Adresse $ 32) Bedeckung = (Wert # 10) Haare;
(Adresse $ 21) Nahrung = (Wert # 3) Fleisch;
(Adresse $ 58) Farbe = (Wert ′55) gelbbraun;
(Adresse $ 35) Streifen = (Wert # 8) schwarz.
2. Fakten in Arbeitsspeicher speichern
Die Adresse stellt die Stelle in dem Arbeitsspeicher dar. Beispielsweise ist an der Adresse 32 der Wert von 10 ge­ speichert.
3. Befehl Laden
Ein Befehl wird aus dem Regelspeicher geladen. Der erste Befehl von Regel 1 ist eine Bedingung und hat die Form:
(Adresse $32) Bedeckung gleich (Wert #10) Haare.
4. Operanden Laden a) Bedingung
Der Wert der Adressenstelle 32 wird in die ALU-Einheit in diesem Fall als 10 geladen. Die Vergleichsoperation der ALU-Einheit ist dann;
(Wert #10) Haare gleich (Wert #10) Haare.
Dies Ergebnis ist richtig.
Wenn der Befehl lautet:
(Adresse $32) Bedeckung gleich (Wert #11) Federn;
der Abgabewert der ALU-Einheit ist falsch. Die Steuerung kehrt auf Schritt 3 zurück.
b) Aktion
Wenn der Befehl eine Aktion ist, gilt:
(Adresse $77) Klasse MOV (Wert #) Säugetier
Die ALU-Einheit erhält den Wert 20 und wird ihn an der Speicherstelle 77 speichern.
5. Fakten in Arbeitsspeicher speichern
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.
6. Fakten in Daten
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.
7. Datenausgabe
Der Wert 100 wird durch das Interface in Tiger übersetzt.
Regelgestützte Struktur
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.
Regel # 1
Adresse xxx 1 Bedingung 1 1
Adresse xxx 2 Bedingung 1 2
. @ . @ Adresse xxxm Bedingung 1 m
Adresse yyy 1 Aktion 1 1
Adresse yyy 2 Aktion 1 2
. @ . @ Regel # 2 @ Adresse zzz 1 Bedingung 2 1
. @ .
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:
wenn
xxx 1
dann yyy 1
wenn zzz 1
dann . . .
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.
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.
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.
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.
Befehlsvorrat für REX-Folgerungseinrichtung
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:
  • - 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.
  • - 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.
Die Befehle und die entsprechenden Operationscodes sind in Tabelle 1 zusammengefaßt.
Tabelle 1
REX-Operationscodes
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.
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.
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.
Funktionelle Beschreibung des REX-Chips
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.
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.
Tabelle 2
Stift- oder Pin-Beschreibung von REX
Die Identifizierung jedes Registers und dessen jeweilige Funktion sind folgende:
  • - 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.
  • - 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.
  • - 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.
  • - 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.
  • - 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′-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.
  • - 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.
  • - 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.
  • - 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.
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.
Tabelle 3
Definition von Register-Codes
Betriebs-Modes
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.
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.
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.
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.
  • - 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.
  • - 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.
  • - T3-Zyklus:
    Der T3-Zyklus ist ein Befehl-Ausführ-Zyklus.
Es gibt mehrere Fälle des T3-Zyklus:
Konditions-Befehl/Unmittelbare Daten
Konditions-Befehl/Direkte Adressierung
Aktions-Befehl/Unmittelbare Daten
Aktions-Befehl/Direkte Adressierung
JMP (Sprung)
STOP (Regel-Ende)
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.
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.
Zeitdiagramme
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.
Tabelle 4
Wechselstrom-Spezifikation
Fachausdrücke
Vorläufe
Der Wenn-Teil einer Produktionsregel.
Anwendungsbereich Das Gebiet wo der Bereich, welches bzw. welchen das Expertensystem betrifft.
Anwendungs-Regelvorrat Ein Satz bzw. Vorrat von Regeln, welche von einem gut unterrichteten Ingenieur extrahiert werden, und die sich auf ein ganz bestimmtes Anwendungsgebiet beziehen.
ASIC Eine anwendungsspezifische integrierte Schaltung ist kundenspezifische integrierte Schaltung für einen ganz bestimmten Anwendungsfall
Folge Der Dann-Teil ist eine Produktionsregel.
CPU Zentraleinheit: Eine Betriebseinheit, welche Befehle und Daten verarbeitet.
Co-Prozessor Ein speziell ausgelegter Prozessor, welcher mit einem Verarbeitungsrechner zusammenarbeitet, um die Leistung des gesamten Systems zu erhöhen.
Steuerlogik Eine kundenspezifische Schaltung, welche alle Operationen steuert, welche für das REX-Chip notwendig sind.
DMA Direkt-Speicher-Zugriff: Ein im allgemeinen verwendetes, Kommunikationsverfahren zwischen einem Verarbeitungsrechner und peripheren Einrichtungen. DMA schafft den wirksamsten Weg, um einen Block Daten zu übertragen.
Externe Daten Ein Block von Binärdaten ist in einem Verarbeitungsrechner-Speicher gespeichert.
Externer Speicher Ein Speicher, welcher einen Anwendungsregel-Vorrat speichert.
Fakt Eine Wahrheit, die aufgrund tatsächlicher Erfahrungen und Beobachtungen bekannt ist. Eine Gruppe von Fakten wird bei Streit-Mutmaßungen (combat conjectures) gesammelt.
Folgerung Interpretieren einer Regel eines Anwendungs-Regelvorrats oder -satzes.
Folgerungseinrichtung Ein problemlösender Steuermechanismus für ein Expertensystem.
Ein-/Ausgabe-Interface Eine Art Ansteuereinrichtung, welche für die Kommunikation zwischen dem Verarbeitungsrechner-System und den peripheren Einrichtungen des Rechners verantwortlich ist.
Gut unterrichteter Ingenieur Eine Person, welche Kenntnisse und Fakten eines ganz bestimmten Anwendungsbereichs extrahiert und sie in einen Anwendungs-Regelvorrat umsetzt.
PC Personal-Computer
PC/DOS Das mit Disk betriebene System eines Personal-Computers, welches die Lese-/Schreiboperationen einer Disk-Ansteuereinheit verwaltet.
Produktionsregel Eine Regel, die in einem Wenn-Dann-Format spezifiziert ist.
RAM Random-Speicher: Ein elektronischer Speicher speichert Binärinformationen, welche durch Zugriff gelesen oder geschrieben werden.
ROM Festwertspeicher: Ein elektronischer Speicher, welcher die Binärinformation speichert. Ein ROM hat nur einen Lese-Zugriff; es besteht nicht die Möglichkeit, in ihn zu schreiben.
Regel-Basis-Struktur Eine Organisation, welche die Produktionsregeln in einer effizienten Weise speichert, um Speicherplatz und Verarbeitungszeit einzusparen.
Arbeitsspeicher Ein RAM, welcher in den REX-Chip gespeichert ist, um die Anfangs-, Zwischen- und Enddaten eines Folgerungsprozesses zu speichern.
Benutzer-Interface Ein Software-Programm, welches für die Kommunikation zwischen den Endverbrauchern und dem Verarbeitungsrechnersystem verantwortlich ist.
Anhang A
Beispiel eines Regelsatzes oder -vorrats für eine Tieridentifizierung
Regel 1
WENN (Bedeckung = Haare)
DANN (Klasse = Säugetier)
Regel 2 @ WENN (Produkt = Milch)
DANN (Klasse = Säugetier)
Regel 3 @ WENN (Bedeckung = Federn)
DANN (Klasse = Vogel)
Regel 4 @ WENN (Bewegung = Fliegen) und (Produkt = Eier)
DANN (Klasse = Vogel)
Regel 5 @ WENN (Nahrung = Fleisch)
DANN (Fleischfresser = ja).
Regel 6 @ WENN (Zähne = spitz) und (Glied = Clown) und (Augen = nach vorn)
DANN (Fleischfresser = Ja)
Regel 7 @ WENN (Klasse = Säugetier) und (Glieder = Hufe)
DANN (Typ = Huftier)
Regel 8 @ WENN (Klasse = Säugetier) und (Nahrung = wiedergekäutes Futter)
DANN (Typ = Huftier) und (zehig = geradzehig).
Regel 9 @ WENN (Klasse = Säugetier) und (Typ = Fleischfresser) und (Farbe = Gelb-braun) und (Flecken = dunkel)
DANN (Tier = Gepard).
Regel 10 @ WENN (Klasse = Säugetier) und (Typ = Fleischfresser) und (Farbe = Gelb-braun) und (Streifen = schwarz)
DANN (Tier = Tiger)
Regel 11 @ WENN (Typ = Huftier) und (Hals = lang) und (Glieder = lang) und (Punkte = dunkel)
DANN (Tier = Giraffe)
Regel 12 @ WENN (Typ = Huftier) und (Streifen = schwarz)
DANN (Tier = Zebra).
Regel 13 @ WENN (Klasse = Vogel) und (Bewegung << fliegen) und (Hals = lang) und (Glieder = lang) und (Farbe = schwarz-und-weiß)
DANN (Tier = Strauß).
Regel 14 @ WENN (Klasse = Vogel) und (Bewegung << fliegen) und (Schwimmer = ja) und (Farbe = schwarz-und-weiß)
DANN (Tier = Pinguin)
Regel 15 @ WENN (Klasse = Vogel) und (Bewegung = fliegt gut)
DANN (Tier = Albatros).

Claims (32)

1. In Hardware ausgeführtes, regelgestütztes Expertensystem, das hochschnelle Folgerungen bei Anwendungen mit künstlicher Intelligenz, basierend auf einem Regelsatz für einen Anwendungsbereich, durchführen kann, gekennzeichnet durch
  • 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.
2. Expertensystem nach Anspruch 1, dadurch gekenn­ zeichnet, daß die Logikeinrichtung eine Einrichtung zum Speichern der deduzierten neuen Daten in dem Arbeits­ speicher und zusätzlich eine Ausgabeeinrichtung aufweist, um die deduzierten neuen Fakten, welche in dem Arbeits­ speicher gespeichert sind, an eine Ausgabeeinrichtung zu übertragen.
3. Expertensystem nach Anspruch 2, dadurch gekenn­ zeichnet, daß die Ausgabeeinrichtung ein Eingabe- Ausgabe-Interface und einen Interface-Bus aufweist, der kommunikativ das Eingabe-Ausgabe-Interface mit dem Ar­ beitsspeicher verbindet.
4. Expertensystem nach Anspruch 1, dadurch gekenn­ zeichnet, daß der Arbeitsspeicher einen Halbleiter- Random-Speicher aufweist, und daß der Regelspeicher einen separaten Halbleiter-Random-Speicher aufweist, und daß ein Daten-Bus und ein Adressen-Bus vorgesehen sind, durch wel­ che der Arbeitsspeicher und Regelspeicher zur Durchführung eines Datentransfers miteinander verbunden sind.
5. In Hardware ausgeführtes, regelgestütztes Expertensystem, um hochschnelle Folgerungen bei Anwendungen mit künstlicher Intelligenz, basierend auf einem Regelsatz für einen Anwendungs­ bereich, durchführen zu können, gekennzeichnet durch
  • 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.
6. Expertensystem nach Anspruch 5, dadurch gekenn­ zeichnet, daß die Einrichtung, um nacheinander Be­ fehle des Regelvorrats abzurufen, eine Regelspeicher- Zähleinrichtung mit einem Adressenregister aufweist, um die Adresse des laufenden Befehls in dem Regelspeicher zu spei­ chern, und eine Einrichtung aufweist, um das Adressenre­ gister mit der Adresse des nächsten Befehls jedesmal dann auf den neuesten Stand zu bringen, wenn ein Befehl aus dem Regelspeicher abgerufen wird.
7. Expertensystem nach Anspruch 5, dadurch gekenn­ zeichnet, daß jeder Befehl des Regelvorrats einen Operator, ein Bedingungs-/Aktions-Flag und ein Paar Operan­ den aufweist, und daß die logische Einrichtung einen Befehls- Dekoder zum Testen des Bedingungs-/Aktions-Flags, um fest­ zulegen, ob der Befehl eine Bedingung oder eine Aktion ist, eine Einrichtung, die betreibbar ist, wenn der Befehl eine Bedingung ist, um die Operanden entsprechend der logischen Operation zu vergleichen, welche durch den Operator spezi­ fiziert ist, um dadurch ein logisches Resultat zu erzeugen, und eine Einrichtung aufweist, die betreibbar ist, wenn der Befehl eine Aktion ist, um eine Aktion durchzuführen, wel­ che durch den Operator an den Operanden spezifiziert worden ist.
8. Expertensystem nach Anspruch 7, dadurch gekenn­ zeichnet, daß die logische Einrichtung eine Ein­ richtung hat, die betreibbar ist, wenn das logische Ergebnis des Vergleichs richtig ist, um ein Abrufen des nächsten Befehls derselben Regel zu bewirken.
9. Expertensystem nach Anspruch 8, dadurch gekenn­ zeichnet, daß die logische Einrichtung eine Ein­ richtung aufweist, die betreibbar ist, wenn das logische Ergebnis des Vergleichs falsch ist, um ein Abrufen des ersten Befehls der nächsten Regel zu bewirken.
10. Expertensystem nach Anspruch 7, dadurch gekenn­ zeichnet, daß jeder Befehl auch ein Direkt-/Unmittel­ bar-Flag aufweist, um den Adressierungsmode eines der Operan­ den zu spezifizieren.
11. In Hardware ausgeführtes Expertensystem, um hochschnelle Folgerungen bei Anwendungen mit künstlicher Intelligenz durchzuführen, die auf einem Regelvorrat für einen bestimm­ ten Anwendungsbereich basieren, gekennzeichnet durch eine integrierte Schaltung, auf welcher vorgesehen sind:
  • 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.
12. Expertensystem nach Anspruch 11, dadurch gekenn­ zeichnet, daß die logische Einrichtung auch eine Einrichtung zum Speichern deduzierter, neuer Fakten in dem Arbeitsspeicher aufweist.
13. In Hardware ausgeführtes, regelgestütztes Expertensystem, gekennzeichnet durch
  • 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.
14. Expertensystem nach Anspruch 13, dadurch gekenn­ zeichnet, daß
  • 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.
15. Anwendungs-Regelsatz für ein in Hardware ausgeführtes, regelgestütztes Expertensystem, welches einen Speicher mit einer Speicheradresse aufweist, dadurch gekenn­ zeichnet, daß der Regelsatz aufweist
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.
16. Regelsatz nach Anspruch 15, dadurch gekenn­ zeichnet, daß die Befehle in der Länge alle dieselbe Anzahl Bits haben.
17. Regelsatz nach Anspruch 15, dadurch gekenn­ zeichnet, daß bestimmte Bits jedes Befehls einen Operanden und andere Bits des Befehls einen Operationscode festlegen.
18. Regelsatz nach Anspruch 15, dadurch gekenn­ zeichnet, daß zumindest ein Bit des Befehls ein Flag aufweist, das anzeigt, ob der Befehl eine Bedingung oder eine Aktion ist.
19. Regelsatz nach Anspruch 16, dadurch gekenn­ zeichnet, daß die Befehle 32 Bits lang sind und Bits, welche einen Operationscode festlegen, Bits, welche einen ersten Operanden festlegen, Bits, welche einen zweiten Ope­ randen festlegen, und zumindest ein Bit aufweisen, welches ein Flag festlegt, das anzeigt, ob der Befehl eine Bedingung oder eine Aktion ist.
20. Regelsatz nach Anspruch 16, dadurch gekenn­ zeichnet, daß die Befehle jeweils zumindest ein Bit enthalten, welches den Adressiermode eines der Operanden an­ zeigt.
21. Regelsatz nach Anspruch 15, dadurch gekenn­ zeichnet, daß die Regeln des Regelsatzes als eine Reihe von Befehlen an aufeinanderfolgenden Adressen ge­ speichert sind, wobei an einem Ende des Speichers begonnen wird, und einen Regelindex aufweisen, welcher an aufeinan­ derfolgenden Speicheradressen gespeichert ist, wobei an dem entgegengesetzten Ende des Speichers begonnen wird, wobei der Regelindex eine Reihe von Speicheradressen auf­ weist, welche die Anfangs-Speicheradresse jeder Regel des Regelsatzes festlegen.
22. Anwendungs-Regelsatz für ein in Hardware ausgeführtes, regelgestütztes Expertensystem, welches einen Speicher mit einer Anzahl Speicheradressen aufweist, dadurch gekenn­ zeichnet, daß der Regelsatz aufweist
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.
23. Regelsatz nach Anspruch 22, dadurch gekenn­ zeichnet, daß die Regeln des Regelsatzes an auf­ einanderfolgenden Speicheradressen gespeichert sind, wobei an einem Ende des Speichers begonnen wird, und daß der Re­ gelindex an aufeinanderfolgenden Speicheradressen gespei­ chert ist, wobei an dem gegenüberliegenden Ende des Spei­ chers begonnen wird.
24. Regelsatz nach Anspruch 22, dadurch gekenn­ zeichnet, daß jeder der Befehle des Regelsatzes einen Operator, ein Konditions-/Aktions-Flag und ein Paar Operanden aufweist.
25. Anwendungs-Regelsatz für ein in Hardware ausgeführtes, regelgestütztes Expertensystem, welches einen Speicher mit einer Anzahl Speicheradressen aufweist, dadurch gekenn­ zeichnet, daß der Regelsatz aufweist
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.
26. Verfahren für ein in Hardware ausgeführtes, regelge­ stütztes Expertensystem zum Durchführen hochschneller Fol­ gerungen bei Anwendungen mit künstlicher Intelligenz, die auf einem Regelsatz für einen bestimmten Anwendungsbereich basieren, dadurch gekennzeichnet, daß
  • (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.
27. Verfahren nach Anspruch 26, dadurch gekenn­ zeichnet, daß die Schritte (c) und (d) für aufeinan­ derfolgende Befehle des Regelsatzes wiederholt werden, um einen neuen Fakt zu deduzieren, und daß der deduzierte neue Fakt in dem Arbeitsspeicher gespeichert wird.
28. Verfahren nach Anspruch 27, dadurch gekenn­ zeichnet, daß der Schritt, einen Regelsatz in dem Regelspeicher zu speichern, das Speichern der Befehle des Regelsatzes an aufeinanderfolgenden Speicheradressen des Regelspeichers einschließt, und daß ein Speicheradressen- Register mit der Adresse des nächsten Befehls jedesmal dann auf den neuesten Stand gebracht wird, wenn ein Befehl aus dem Regelspeicheer geladen wird.
29. Verfahren nach Anspruch 26, dadurch gekenn­ zeichnet, daß das Speichern eines Regelsatzes in einem Regelspeicher ein Speichern von Befehlen, welche einen Operator, ein Konditions-/Aktions-Flag und ein Paar Operanden enthalten, an aufeinanderfolgenden Speicheradres­ sen des Regelspeichers einschließt, und daß das Durchführen des Befehls ein Prüfen des Konditions-/Aktions-Flags ein­ schließt, um festzulegen, ob der Befehl eine Kondition oder eine Aktion ist.
30. Verfahren nach Anspruch 29, dadurch gekenn­ zeichnet, daß der Schritt, der durchgeführt wird, wenn der Befehl eine Kondition ist, die Operanden entspre­ chend der logischen Operation zu vergleichen, welche durch den Operator spezifiziert ist, um dadurch ein logisches Resul­ tat zu erzeugen.
31. Verfahren nach Anspruch 29, dadurch gekenn­ zeichnet, daß der Schritt, der durchgeführt wird, wenn der Befehl eine Aktion ist, die Aktion durchführt, die durch den Operator an den Operanden spezifiziert ist.
32. Verfahren für ein in Hardware ausgeführtes, regelge­ stütztes Expertensystem zum Durchführen von hochschnellen Folgerungen bei Anwendungen mit künstlicher Intelligenz, die auf einem Regelsatz für einen bestimmten Anwendungs­ bereich basieren, dadurch gekennzeichnet, daß
  • (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.
DE3907843A 1988-03-11 1989-03-10 In Hardware ausgeführtes, regelgestütztes Expertensystem Expired - Lifetime DE3907843C2 (de)

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 (de) 1989-09-28
DE3907843C2 DE3907843C2 (de) 1995-03-16

Family

ID=22605029

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3907843A Expired - Lifetime DE3907843C2 (de) 1988-03-11 1989-03-10 In Hardware ausgeführtes, regelgestütztes Expertensystem

Country Status (4)

Country Link
JP (1) JPH01283639A (de)
DE (1) DE3907843C2 (de)
GB (1) GB2217068B (de)
NL (1) NL194520C (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3918789A1 (de) * 1988-06-08 1989-12-21 Hitachi Ltd Adaptives kenntnisfolgerungsverfahren und -system
DE4108310A1 (de) * 1990-03-14 1991-09-26 Hitachi Ltd Wissensbank-verarbeitungssystem und expertensystem
DE4100500A1 (de) * 1991-01-10 1992-07-16 Bodenseewerk Geraetetech Signalverarbeitungsanordnung zur klassifizierung von objekten aufgrund der signale von sensoren
DE4103128A1 (de) * 1991-01-30 1992-08-13 Krone Ag Echtzeit-prozessexpertensystem

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920003701B1 (ko) * 1988-03-17 1992-05-09 가부시끼가이샤 도시바 리얼타임 엑스파트 계산기 시스템
DE10322686A1 (de) * 2003-05-20 2004-12-23 Siemens Ag Verfahren zur Verknüpfung von medizinischen Therapiehinweisen umfassenden Datensätzen
US8510142B2 (en) 2011-07-20 2013-08-13 Fluor Technologies Corporation Conflicting expert systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0137414A2 (de) * 1983-09-28 1985-04-17 Hitachi, Ltd. Hochgeschwindigkeitverarbeitungssystem für Rechneranlage
US4670848A (en) * 1985-04-10 1987-06-02 Standard Systems Corporation Artificial intelligence system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS619729A (ja) * 1984-06-26 1986-01-17 Toshiba Corp 推論システム
JPH0743722B2 (ja) * 1985-08-02 1995-05-15 株式会社東芝 帰納推論装置
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0137414A2 (de) * 1983-09-28 1985-04-17 Hitachi, Ltd. Hochgeschwindigkeitverarbeitungssystem für Rechneranlage
US4670848A (en) * 1985-04-10 1987-06-02 Standard Systems Corporation Artificial intelligence system

Non-Patent Citations (3)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3918789A1 (de) * 1988-06-08 1989-12-21 Hitachi Ltd Adaptives kenntnisfolgerungsverfahren und -system
DE4108310A1 (de) * 1990-03-14 1991-09-26 Hitachi Ltd Wissensbank-verarbeitungssystem und expertensystem
US5493729A (en) * 1990-03-14 1996-02-20 Hitachi, Ltd. Knowledge data base processing system and expert system
DE4108310C2 (de) * 1990-03-14 1998-10-22 Hitachi Ltd Verarbeitungssystem für eine Wissensbank in einem Expertensystem
DE4100500A1 (de) * 1991-01-10 1992-07-16 Bodenseewerk Geraetetech Signalverarbeitungsanordnung zur klassifizierung von objekten aufgrund der signale von sensoren
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 (de) * 1991-01-30 1992-08-13 Krone Ag Echtzeit-prozessexpertensystem

Also Published As

Publication number Publication date
JPH01283639A (ja) 1989-11-15
GB8905488D0 (en) 1989-04-19
NL194520B (nl) 2002-02-01
NL8900588A (nl) 1989-10-02
DE3907843C2 (de) 1995-03-16
NL194520C (nl) 2002-06-04
GB2217068A (en) 1989-10-18
GB2217068B (en) 1992-10-21

Similar Documents

Publication Publication Date Title
DE4302495C2 (de) Einrichtung und Verfahren zum Bestimmen der Länge eines Befehls in einem sequentiellen Befehlsstrom
DE2230102C2 (de) Mikroprogrammierter Prozessor mit bitparalleler Datenübertragung
DE3851746T2 (de) Sprungvorhersage.
DE69110430T2 (de) Matrix-Adressendekoder für Tisch-Kugelspielgeräte.
DE3914265C2 (de)
DE3116100C2 (de) Datenverarbeitungseinheit
DE4010384C2 (de) Verfahren zur Burst-Datenübertragung
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE2355993A1 (de) Datenverarbeitungseinheit einschliesslich mikroprogramm-steuereinrichtung
DE2411963B2 (de) Datenverarbeitungsanlage
DE19855806A1 (de) Vorrichtung und Verfahren zum Durchführen von Unterprogrammaufruf- und Rücksprungoperationen
DE19729618C2 (de) Mikroprozessor und Mehrprozessorsystem
DE2145709B2 (de)
DE2556617C2 (de) Schiebe- und Rotierschaltung
DE3907843C2 (de) In Hardware ausgeführtes, regelgestütztes Expertensystem
EP0722583A1 (de) Prozessor für zeichenketten variabler länge
DE68927313T2 (de) Operandenspezifiererverarbeitung
DE69130233T2 (de) Verfahren und gerät um ein sperrungscache einzusetzen
DE69804562T2 (de) Prozessarchitektur und Verfahren zur Durchführung von verschiedenen Adressierungsarten
DE1191145B (de) Elektronische Zifferrechenmaschine
DE68915102T2 (de) Programmierbare Steuerung.
DE2948442C2 (de) Digitalrechenanlage
DE3688973T2 (de) Verarbeitungssystem in Pipelinestruktur und Mikroprozessor mit einem derartigen System.
CH635451A5 (de) Anordnung zum wechsel zwischen verzahnt zu verarbeitenden programmen in einer datenverarbeitungsanlage.
DE10213860A1 (de) Programmierbare Steuerung

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