DE3907843A1 - In hardware ausgefuehrtes, regelgestuetztes expertensystem - Google Patents
In hardware ausgefuehrtes, regelgestuetztes expertensystemInfo
- 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
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.
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.
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.
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.
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.
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.
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:
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.
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.
(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.
Beim Schritt 2 werden die Faktoren in den Arbeitsspeicher ge
speichert.
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)
(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.
Die folgenden Schritte werden während des Folgerungszyklus
durchgeführt.
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.
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.
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.
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.
Das Ein-/Ausgabe-Interface wird dann die Daten an den Per
sonal-Computer 10 abgeben.
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.
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.
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.
(Adresse $ 21) Nahrung = (Wert # 3) Fleisch;
(Adresse $ 58) Farbe = (Wert ′55) gelbbraun;
(Adresse $ 35) Streifen = (Wert # 8) schwarz.
Die Adresse stellt die Stelle in dem Arbeitsspeicher dar.
Beispielsweise ist an der Adresse 32 der Wert von 10 ge
speichert.
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.
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.
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.
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.
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.
Der Wert 100 wird durch das Interface in Tiger übersetzt.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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.
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.
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.
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)
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)
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)
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)
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 |
-
1989
- 1989-03-10 NL NL8900588A patent/NL194520C/nl not_active IP Right Cessation
- 1989-03-10 GB GB8905488A patent/GB2217068B/en not_active Expired - Lifetime
- 1989-03-10 JP JP1059468A patent/JPH01283639A/ja active Pending
- 1989-03-10 DE DE3907843A patent/DE3907843C2/de not_active Expired - Lifetime
Patent Citations (2)
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)
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 (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 |