DE69221373T2 - Prozessor und Verfahren für unscharfe Schlussfolgerung, und Verfahren und Anordnung zur Regelbestimmung - Google Patents
Prozessor und Verfahren für unscharfe Schlussfolgerung, und Verfahren und Anordnung zur RegelbestimmungInfo
- Publication number
- DE69221373T2 DE69221373T2 DE69221373T DE69221373T DE69221373T2 DE 69221373 T2 DE69221373 T2 DE 69221373T2 DE 69221373 T DE69221373 T DE 69221373T DE 69221373 T DE69221373 T DE 69221373T DE 69221373 T2 DE69221373 T2 DE 69221373T2
- Authority
- DE
- Germany
- Prior art keywords
- input
- processing
- input data
- input variable
- antecedent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 60
- 238000012545 processing Methods 0.000 claims abstract description 275
- 230000006870 function Effects 0.000 claims abstract description 130
- 238000003672 processing method Methods 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 description 16
- 238000012546 transfer Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/02—Computing arrangements based on specific mathematical models using fuzzy logic
- G06N7/04—Physical realisation
-
- 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/048—Fuzzy inferencing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/02—Computing arrangements based on specific mathematical models using fuzzy logic
- G06N7/023—Learning or tuning the parameters of a fuzzy system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/02—Computing arrangements based on specific mathematical models using fuzzy logic
- G06N7/026—Development tools for entering the parameters of a fuzzy system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S706/00—Data processing: artificial intelligence
- Y10S706/90—Fuzzy logic
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Fuzzy Systems (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Molecular Biology (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Mathematics (AREA)
- Computational Linguistics (AREA)
- Feedback Control In General (AREA)
- Hardware Redundancy (AREA)
- Devices For Executing Special Programs (AREA)
- Emergency Protection Circuit Devices (AREA)
- Electrophonic Musical Instruments (AREA)
- Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Analysis (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf einen Fuzzy- Schlußfolgerungsprozessor und ein Fuzzy-Schlußfolgerungsverarbeitungsverfahren.
- Wenn eine Entscheidung und eine Fehlerdiagnose erfolgen und die Regelung einer Regelstrecke mit starker Nichtlinearität unter Verwendung des sogenannten Knowhow und der empirischen Regel eines geschulten Ingenieurs oder Technikers, die schwierig streng durch Gleichungen und dergleichen darzustellen sind, durchgeführt wird, wird in breitem Maße eine Fuzzy-Sohlußfolgerungsverarbeitung verwendet. Die Fuzzy- Schlußfolgerungsverarbeitung wird durch einen analogen oder digitalen Prozessor mit einer speziellen für die Fuzzy- Schlußfolgerungsverarbeitung bestimmten Architektur oder einem digitalen Allzweckcomputer, der so programmiert ist, daß eine Fuzzy-Operation möglich ist, durchgeführt.
- Eine Fuzzy-schlußfolgerungsverarbeitung wird nach Maßgabe der sogenannten "Wenn ..., dann ... "-Regel durchgeführt. Beispiele für die "Wenn ..., dann ... "-Regel sind folgende:
- Regel 1: Wenn x1 = PL und x2 = PL und x4 = PL, dann y1 = PL
- Regel 2: Wenn x1 = PL und x2 = PM, dann y1 = PL
- Regel i: Wenn x1 = NL und x3 = PM, dann y1 = ZR
- Dabei wird "Wenn ..." als "Vordersatz" und "dann ..." als "Hintersatz" bezeichnet. x1, x2, x3 und x4 sind Eingangsvariable, und y1 ist eine Ausgangsvariable. PL, PM, NL, ZR und dergleichen sind Label von Zugehörigkeitsfunktionen, die Elemente sprachlicher Information darstellen.
- Eine Fuzzy-Schlußfolgerungsoperation wird in der folgenden Weise durchgeführt.
- Zunächst wird in einer Vordersatzverarbeitung der Grad der Übereinstimmung von Eingangsdaten mit einer entsprechenden Zugehörigkeitsfunktion aufgefunden. Beispielsweise werden in der Regel 1 jeweils die Übereinstimmungsgrade a11, a12 und a14 der Eingangsdaten, die die Eingangsvariablen x1, x2 und x4 (die Eingangsdaten werden auch durch Bezugszeichen x1, x2 und x4 ausgedrückt) betreffen, mit der Zugehörigkeitsfunktion PL aufgefunden. Der Übereinstimmungsgrad meint einen Wert einer Zugehörigkeitsfunktion, der gewonnen wird, wenn Eingangsdaten auf die Zugehörigkeitsfunktion gegeben werden (einen Funktionswert oder einen Grad). Es wird eine bestimmte Operation (eine MIN-Operation wird am häufigsten als diese Operation verwendet) der Übereinstimmungsgrade a11, a12 und a14 in Regel 1 ausgeführt, und das Ergebnis a1 der Operation ist der Übereinstimmungsgrad in Regel 1.
- Ähnlich werden in der Regel 2 der Übereinstimmungsgrad a21 der Eingangsdaten x1 mit der Zugehörigkeitsfunktion PL und der Übereinstimmungsgrad a22 der Eingangsdaten x2 mit der Zugehörigkeitsfunktion PM aufgefunden. Das Ergebnis einer bestimmten Operation (einer MIN-Operation) der Übereinstimmungsgrade a21 und a22 ist der Übereinstimmungsgrad a2 in der Regel 2.
- Der Übereinstimmungsgrad für jede Regel wird in Bezug auf die anderen Regeln durch die gleiche Operationsverarbeitung aufgefunden.
- Es erfolgt eine Prüfung dahingehend, ob eine Anzahl von Regeln den gleichen Hintersatz haben oder nicht. Beispielsweise haben die Regel 1 und die Regel 2 den gleichen Hintersatz, d.h., y1 = PL. Eine bestimmte Operation (eine MAX- Operation wird am häufigsten als die Operation verwendet) des Übereinstimmungsgrads wird zwischen solchen Regeln, die den gleichen Hintersatz haben, durchgeführt, um den schließlichen Übereinstimmungsgrad A1 zu gewinnen.
- Wenn keine weiteren Regeln vorhanden sind, die den gleichen Hintersatz haben, wird der Übereinstimmungsgrad für jede Regel ohne Modifikation beibehalten.
- Dann wird die Hintersatzverarbeitung durchgeführt. Bei der Hintersatzverarbeitung wird eine Verarbeitung zur Anwendung des Übereinstimmungsgrads für jede Regel, der vorher gewonnen worden ist, auf eine in einem Hintersatz der Regel beschriebene Zugehörigkeitsfunktion durchgeführt. Beispielsweise haben die Regel 1 und die Regel 2 den gleichen Hintersatz, d.h., y1 = PL. Da der Übereinstimmungsgrad in den Regeln 1 und 2 A1 ist, wird der Übereinstimmungsgrad A1 auf die Zugehörigkeitsfunktion PL im Hintersatz angewendet (eine MIN-Operation des Zugehörigkeitsgrads A1 und der Zugehörigkeitsfunktion PL, das heißt, eine Trunkierung wird in breitem Maße als diese Operation durchgeführt). Ferner wird in der Regel i eine Verarbeitung zur Anwendung des Übereinstimmungsgrads ai, der in der Vordersatzverarbeitung in Bezug auf die Regel i gewonnen wurde, auf die Zugehörigkeitsfunktion ZR im Hintersatz durchgeführt.
- Das Ergebnis einer Operation, für jedes Label, einer Zugehörigkeitsfunktion in einem Hintersatz, das so gewonnen wurde, ist ebenfalls eine Art von Zugehörigkeitsfunktion. Zwischen den Zugehörigkeitsfunktionen wird eine Operation (beispielsweise eine MAX-Operation) zur Gewinnung des abschließenden Schlußfolgerungsergebnisses durchgeführt.
- Bei einer Regelungsanwendung oder dergleichen muß eine auf eine Regelstrecke gegebene Stellgröße hergeleitet werden. Daher wird ein Vorgang der Defuzzifizierung des Schlußfolgerungsendergebnisses (als Determinierungsoperationsverarbeitung bezeichnet) durchgeführt. Zu Beispielen der Operation gehören ein Schwerpunktsverfahren und ein Maximalhöhenverfahren. Das Schwerpunktsverfahren besteht darin, die Lage des Schwerpunkts des Endergebnisses der Schlußfolgerung zu berechnen und die Lage des Schwerpunkts als schließliche Ausgabe zu nehmen. Das Maximalhöhenverfahren besteht darin, ein Label einer Zugehörigkeitsfunktion des höchsten Grades unter Zugehörigkeitsfunktionen in Hintersätzen nach einer Hintersatzverarbeitung zu bestimmen. Dieses Verfahren wird häufig verwendet, wenn Fuzzy-Schlußfolgerung zur Entscheidungsfindung verwendet wird. In diesem Fall wird die Zugehörigkeitsfunktion im Hintersatz oft als Singleton ausgedrückt.
- Im allgemeinen gibt es keine Grenzen für die Reihenfolge, in der die oben beschriebene Anzahl von Regeln beschrieben (gesetzt) wird. Folglich erstellt und beschreibt ein Konstrukteur Regeln oder Eingaben und setzt die Regeln in einem Prozessor oder einem Computer in einer beliebigen Reihenfolge. Innerhalb des Prozessors oder Computers wird die oben beschriebene Verarbeitungsfolge und insbesondere die Vordersatzverarbeitung in der Reihenfolge ausgeführt, in der die Regeln beschrieben (gesetzt) werden.
- Folglich kann eine Fuzzy-Schlußfolgerungsverarbeitung erst beginnen, wenn Eingangsdaten, die alle in einer Anzahl von gesetzten Regeln enthaltenen Eingangsvariable betreffen, gesammelt sind. Der Prozessor oder der Computer bestätigt beim Starten der Fuzzy-Schlußfolgerungsverarbeitung, ob alle Eingangsdaten eingegeben sind oder nicht.
- Gemäß einem solchen herkömmlichen Verfahren ist eine lange Wartezeit erforderlich, um eine Fuzzy-Schlußfolgerung zu starten, wenn viele Arten von Eingangsvariablen vorhanden sind und wenn das Eingeben von Eingangsdaten lange dauert. Ein Beispiel für den letzteren Fall ist ein Fall, wo Eingangsdaten seriell auf einen Fuzzy-Prozessor von Host-Geräten, wie etwa einer Haupt-CPU, übertragen werden.
- In beiden Fällen ist eine Zeitdauer vom Zeitpunkt der Eingabe oder Übertragung der Eingangsdaten bis zum Beginn der Fuzzy-Schlußfolgerungsverarbeitung (Overhead) lang, wodurch die gesamte Verarbeitungseffizienz vermindert wird.
- Eine Aufgabe der vorliegenden Erfindung ist es, die gesamte Verarbeitungseffizienz zu verbessern.
- Ein Fuzzy-Schlußfolgerungsverarbeitungsverfahren gemäß der vorliegenden Erfindung umfaßt die im Anspruch 1 angegebenen Schritte.
- Ein Fuzzy-Schlußfolgerungsprozessor gemäß der vorliegenden Erfindung ist in Anspruch 23 angegeben.
- In einer Ausführungsform der vorliegenden Erfindung wird eine Vordersatzverarbeitung, wenn Eingangsdaten gegeben werden, in Bezug auf alle Regeln durchgeführt, zu welchen eine Eingangsvariable der gegebenen Eingangsdaten in Beziehung steht.
- In einer weiteren Ausführungsform der vorliegenden Erfindung werden gegebene Eingangsdaten vorübergehend in Speichermitteln gespeichert. In den oben beschriebenen Speichermitteln gespeicherte Eingangsdaten werden sequentiell ausgelesen, und es wird eine Vordersatzverarbeitung in Bezug auf alle Regeln, zu welchen eine Eingangsvariable der ausgelesenen Eingangsdaten in Beziehung steht, durchgeführt.
- Wenn Eingangsdaten gegeben werden, können die gegebenen Eingangsdaten durch eine Unterbrechungsverarbeitung auch in den oben beschriebenen Speichermitteln gespeichert werden. Außerdem können die oben beschriebenen Speichermittel durch einen FIFO-Speicher realisiert sein, so daß Eingangsdaten in dem FIFO-Speicher in der Reihenfolge, in der sie gegeben werden, gespeichert und in der Reihenfolge, in der sie gegeben werden, aus dem FIFO-Speicher ausgelesen werden.
- Die oben beschriebene Vordersatzverarbeitung dient der Gewinnung der Übereinstimmungsgrade von Eingangsdaten mit Zugehörigkeitsfunktionen, die Eingangsvariablen der gegebenen Eingangsdaten durch eine Regel zugeordnet sind, und zur Ausführung einer bestimmten Operation (beispielsweise einer MIN-Operation) der in Bezug auf die Eingangsvariable, die in einem Vordersatz der Regel enthalten ist, bereits gewonnenen Übereinstimmungsgrade.
- Nach Abschluß der Vordersatzverarbeitung in Bezug auf alle Eingangsvariable wird eine bestimmte Operation (beispielsweise eine MAX-Operation) der Ergebnisse der Vordersatzverarbeitung zwischen Regeln, die den gleichen Hintersatz haben, durchgeführt.
- Es gibt verschiedene Ausführungsformen eines Verfahrens zum Setzen einer Anzahl von Regeln in einem Speicher.
- In einer Ausführungsform werden alle in allen Regeln enthaltene Eingangsvariablen vorab in einen Vordersatz einer jeden einer Anzahl von Regeln eingeschlossen und Zugehorigkeitsfunktion zu den Eingangsvariablen in Beziehung gesetzt oder ein Code der Eingangsvariablen, zu welcher keine Zugehörigkeitsfunktion in Beziehung steht, zugeordnet. In diesem Fall wird in einer Vordersatzverarbeitung in Bezug auf jede der Eingangsvariablen festgestellt, ob eine Zugehörigkeitsfunktion zur Eingangsvariable für jede Regel in Beziehung steht oder nicht, um, in Bezug auf eine Eingangsvariable, zu der eine Zugehörigkeitsfunktion in Beziehung steht, den Übereinstimmungsgrad von Eingangsdaten betreffend die Eingangsvariable, die zu der Zugehörigkeitsfunktion in Beziehung steht, herauszufinden.
- In einer weiteren Ausführungsform werden Paare von Eingangsvariablen und Zugehörigkeitsfunktionen, die Vordersätze einer Anzahl von Regeln bilden, vorab für jede Eingangsvariable und in Verbindung mit Identifikationscodes der Regeln gesetzt.
- In einer weiteren Ausführungsform werden Paare von Eingangsvariablen und Zugehörigkeitsfunktionen, die Vordersätze einer Anzahl von Regeln bilden, vorab für jede Eingangsvariable in Übereinstimmung mit einem eine Eingangsvariable angebenden Code und in Verbindung mit Identifikationscodes der Regeln gesetzt. Eingangsdaten werden mit einem hinzugefügten Code, der eine Eingangsvariable der Eingangsdaten angibt, gegeben. Der den gegebenen Eingangsdaten hinzugefügte, die Eingangsvariable angebende Code wird bestimmt und eine Vordersatzverarbeitung in Bezug auf Paare aus Eingangsvariable und Zugehörigkeitsfunktionen, die in Übereinstimmung mit dem bestimmten, eine Eingangsvariable angebenden Code gesetzt sind, durchgeführt.
- Gemäß der vorliegenden Erfindung wird, wenn Eingangsdaten gegeben werden oder durch Lesen von Ausgangsdaten, die bereits gegeben und in den Speichermitteln gespeichert worden sind, eine Vordersatzverarbeitung in Bezug auf alle Regeln, zu denen eine Eingangsvariable der Eingangsdaten in Beziehung steht, durchgeführt. Wenn die Vordersatzverarbeitung abgeschlossen ist, wird eine Vordersatzverarbeitung in Bezug auf alle Regeln, zu welchen eine Eingangsvariable von anderen Eingangsdaten zugeordnet ist, durchgeführt.
- Auf diese Weise wird eine Vordersatzverarbeitung für jede Eingangsvariable durchgeführt.
- Gemäß der vorliegenden Erfindung wird eine Vordersatzverarbeitung bei der Fuzzy-Schlußfolgerungsoperationsverarbeitung für jede Eingangsvariable durchgeführt. Demgemäß kann in einem Fall, wo Eingangsdaten sequentiell übertragen werden, wenn die Übertragung von einem Eingangsdatum beendet ist, eine Vordersatzverarbeitung in Bezug auf die bereits übertragenen Eingangsdaten durchgeführt werden, während die nachfolgenden Eingangsdaten übertragen werden. Folglich ist es nicht erforderlich zu warten, bis die Übertragung aller Eingangsdaten abgeschlossen ist, wodurch es möglich ist, den Übertragungs-Overhead zu mildern.
- Wenn ferner Eingangsdaten nicht periodisch erzeugt werden, kann eine Verarbeitung mit einer Verarbeitung in Bezug auf bereits eingegebene Daten beginnen, wodurch es möglich wird, die Datenwartezeit effizient zu nützen.
- Ferner werden in einem Fall, wo eine Zeitdauer vom Zeitpunkt, wo Eingangsdaten angefordert werden, bis zum tatsächlichen Erhalt der angeforderten Eingangsdaten von der Art der Eingangsdaten (Eingangsvariablen) abhängt oder nicht festliegt, oder in einem Fall, wo die Reihenfolge, in der Eingangsdaten erzeugt werden, nicht festliegt, Eingangsdaten mit einem angefügten Code gegeben, der eine Eingangsvariable der Eingangsdaten angibt, wodurch es möglich wird, Eingangsdaten zu übertragen und eine Schlußfolgerungsverarbeitung in der Reihenfolge, in der Eingangsdaten erhalten werden, auszuführen.
- In der oben beschriebenen Weise ist es gemäß der vorliegenden Erfindung möglich, effizient die gesamte Fuzzy- Schlußfolgerungsverarbeitung durchzuführen.
- Ein Fuzzy-Schlußfolgerungsverarbeitungsverfahren gemäß der vorliegenden Erfindung umfaßt die Schritte des Vorabeinstellens der Beziehung zwischen Paaren aus Eingangsvariablen und Zugehörigkeitsfunktionen, die Vordersätze einer Anzahl von Regeln bilden, und Regelnummern für jede Eingangsvariable in einem Speicher und des Ausführens einer Vordersatzverarbeitung für jede Eingangsvariable in einer solchen Weise, daß eine Vordersatzverarbeitung in Bezug auf alle der oben beschriebenen Paare, zu welchen eine solche Eingangsvariable in Beziehung steht, deren Eingangsdaten gegeben werden, wonach eine Vordersatzverarbeitung in Bezug auf alle der oben beschriebenen Paare, zu welchen eine andere Eingangsvariable in Beziehung steht, deren Eingangsdaten gegeben werden, durchgeführt wird.
- Ein Fuzzy-Schlußfolgerungsprozessor gemäß der vorliegenden Erfindung umfaßt einen Speicher, in welchem die Beziehung zwischen Paaren von Eingangsvariablen und Zugehörigkeitsfunktionen, die Vordersätze einer Anzahl von Regeln bilden, und Regelnummern für jede Eingangsvariable vorab gesetzt werden, Vordersatzverarbeitungsmittel zur Durchführung einer Vordersatzverarbeitung in Bezug auf alle der oben beschriebenen Paare, zu welchen eine Eingangsvariable von gegebenen Eingangsdaten in Beziehung steht, und Mittel zur Durchführung einer solchen Steuerung derart, daß nach Abschluß einer Vordersatzverarbeitung in Bezug auf eine Eingangsvariable mit den oben beschriebenen Vordersatzverarbeitungsmitteln Eingangsdaten, die eine andere Eingangsvariable betreffen, auf die oben beschriebenen Vordersatzverarbeitungsmittel gegeben werden und eine Vordersatzverarbeitung in Bezug auf die andere Eingangsvariable durchgeführt wird.
- In einer weiteren Ausführungsform des Setzens von Regeln gemäß der vorliegenden Erfindung wird Paaren von Eingangsvariablen und Zugehörigkeitsfunktionen vorab eine bestimmte Reihenfolge zugeordnet, und ein Regelnummembereich, der Regelnummern, die jeweils den Paaren zugeordnet sind, an Adressen speichert, die dieser Reihenfolge folgen, ist in dem oben beschriebenen Speicher vorgesehen.
- In einer weiteren Ausführungsform des Setzens von Regeln gemäß der Erfindung wird ein Regelanzahlbereich, der vorab die Anzahl von Regeln, die alle von Paaren von Eingangsvariablen und Zugehörigkeitsfunktionen enthalten, in dem oben beschriebenen Speicher vorgesehen, und auf den oben beschriebenen Regelnummembereich wird zugegriffen, während auf den oben beschriebenen Regelanzahlbereich in der Vordersatzverarbeitung in Bezug auf eine Eingangsvariable von gegebenen Eingangsdaten Bezug genommen wird.
- In dem oben beschriebenen Regelanzahlbereich wird die Anzahl aller Regeln, die Paare enthalten, die durch Kombinationen aller Eingangsvariablen und Zugehörigkeitsfunktionen geschaffen werden, an jeder der Adressen in einer bestimmten Reihenfolge, die vorab den Paaren zugeordnet worden ist, gespeichert.
- Bei einer Ausführungsform des Starts der Vordersatzverarbeitung gemäß der vorliegenden Erfindung wird, wenn Eingangsdaten gegeben werden, eine Vordersatzverarbeitung in Bezug auf alle Regeln durchgeführt, die zu einer Eingangsvariablen der gegebenen Eingangsdaten in Beziehung stehen.
- In einer weiteren Ausführungsform der vorliegenden Erfindung werden gegebene Eingangsdaten vorübergehend in Speichermitteln gespeichert. In den oben beschriebenen Speichermitteln gespeicherte Eingangsdaten werden sequentiell ausgelesen, und es wird eine Vordersatzverarbeitung in Bezug auf alle Regeln durchgeführt, die zu einer Eingangsvariablen der ausgelesenen Eingangsdaten in Beziehung stehen.
- Wenn Eingangsdaten gegeben werden, können die gegebenen Eingangsdaten durch Unterbrechungsverarbeitung ebenfalls in den oben beschriebenen Speichermitteln gespeichert werden. Außerdem können die oben beschriebenen Speichermittel durch einen FIFO-Speicher realisiert sein, so daß Eingangsdaten in dem FIFO-Speicher in der Reihenfolge, in der sie gegeben werden, gespeichert und aus dem FIFO-Speicher in der Reihenfolge, in der sie gegeben werden, ausgelesen werden.
- Die oben beschriebene Vordersatzverarbeitung dient der Gewinnung der Übereinstimmungsgrade von Eingangsdaten mit Zugehörigkeitsfunktionen, die zusammen mit Eingangsvariablen Paare bilden, und der Durchführung, für jede Regel, einer bestimmten Operation (beispielsweise einer MIN-Operation) der bereits gewonnenen Zugehörigkeitsgrade in Bezug auf die Eingangsvariable, die in einem Vordersatz der Regel enthalten ist.
- Nach Abschluß der Vordersatzverarbeitung in Bezug auf alle Eingangsvariablen wird eine bestimmte Operation (beispielsweise eine MAX-Operation) der Ergebnisse der Vordersatzverarbeitung zwischen Regeln, die den gleichen Hintersatz haben, durchgeführt.
- Es ist auch möglich, Eingangsdaten unter Hinzufügung eines Codes zu geben, der eine Eingangsvariable der Eingangsdaten angibt, den Code festzustellen und eine Vordersatzverarbeitung in Bezug auf die durch den Code angegebene Eingangsvariable durchzuführen. Auf diese Weise können Eingangsdaten in einer beliebigen Reihenfolge gegeben werden.
- Ein Regelsetzverfahren gemäß der vorliegenden Erfindung umfaßt die Schritte der Vorabzuordnung einer bestimmten Reihenfolge zu Paaren, die durch alle Kombinationen von Eingangsvariablen und Zugehörigkeitsfunktionen hervorgebracht werden, Speicherns der Anzahl von Regeln, die tatsächlich in ihren Vordersätzen jedes der oben beschriebenen Paare enthalten, die durch alle Kombinationen in einer Anzahl von Regeln erzeugt werden, die an jeder der Adressen, die der oben beschriebenen Reihenfolge folgen, in einem Regelanzahlbereich in einem Speicher in Bezug auf die oben beschriebenen Paare gesetzt worden sind, und Speicherns einer Regelnummer einer Regel, die tatsächlich jedes der oben beschriebenen Paare, die tatsächlich in der Anzahl von gesetzten Regeln enthalten sind, an jeder der der oben beschriebenen Reihenfolge folgenden Adressen in einem Regelnummerbereich im Speicher in Bezug auf die oben beschriebenen Paare.
- Ferner umfaßt das Regelsetzverfahren gemäß der vorliegenden Erfindung die Schritte der Vorabzuordnung einer bestimmten Reihenfolge zu Paaren von Eingangsvariablen und Zugehörigkeitsfunktionen, die in Vordersätzen einer Anzahl von gesetzten Regeln enthalten sind, und des Speicherns einer Regelnummer einer Regel, welche jedes der oben beschriebenen Paare enthält, an jeder Adresse der obigen Reihenfolge folgend in einem Speicher.
- Eine Regelsetzvorrichtung gemäß der vorliegenden Erfindung umfaßt einen gesetzte Regeln speichernden Speicher, wobei der Speicher mit einem Regelanzahlbereich und einem Regelnummembereich versehen ist. Paaren, die durch alle Kombinationen von Eingangsvariablen und Zugehörigkeitsfunktionen, die in den Regeln verwendbar sind, hervorgebracht sind, wird vorab eine bestimmte Reihenfolge zugeordnet. Die Anzahl der Regeln, die tatsächlich in ihren Vordersätzen jedes der oben beschriebenen Paare enthalten, die durch alle Kombinationen in einer Anzahl von gesetzten Regeln erzeugt werden, wird in jeder von Adressen der obigen Reihenfolge folgend im Regelanzahlbereich im Speicher in Bezug auf die oben beschriebenen Paare gespeichert, und eine Regelnummer einer Regel, die jedes der oben beschriebenen Paare enthält, die tatsächlich in der Anzahl von gesetzten Regeln enthalten sind, wird in jeder von Adressen der obigen Reihenfolge folgend im Regelnummerbereich im Speicher in Bezug auf die oben beschriebenen Paare gespeichert.
- Die Regelsetzvorrichtung gemäß der vorliegenden Erfindung umfaßt ferner einen gesetzte Regeln speichernden Speicher. Paaren von Eingangsvariablen und Zugehörigkeitsfunktionen, die in Vordersätzen einer Anzahl von gesetzten Regeln enthalten sind, wird vorab eine bestimmte Reihenfolge zugeordnet, und eine Regelnummer einer Regel, die jede der oben beschriebenen Paare enthält, wird an jeder von Adressen der oben beschriebenen Reihenfolge folgend in dem oben beschriebenen Speicher gespeichert.
- Paaren, die durch alle Kombinationen von Eingangsvariablen und Zugehörigkeitsfunktionen erzeugt werden, wird vorab eine bestimmte Reihenfolge zugeordnet.
- Bei mehreren gesetzten Regeln wird die Anzahl der Regeln, die tatsächlich in ihren Vordersätzen jede der durch alle Kombinationen erzeugten oben beschriebenen Paare enthält, an jeder von Adressen der oben beschriebenen Reihenfolge folgend in einem Regelanzahlbereich in einem Speicher in Bezug auf die oben beschriebenen Paare gespeichert.
- Eine Regelnummer einer Regel, die tatsächlich jedes der oben beschriebenen Paare enthält, die tatsächlich in der Anzahl von gesetzten Regeln enthalten ist, wird an jeder von Adressen der oben beschriebenen Reihenfolge folgend in einem Regelnummerbereich im Speicher gespeichert.
- Wenn Eingangsdaten gegeben werden oder durch ein Auslesen von Eingangsdaten, die bereits gegeben und in Speichermitteln gespeichert worden sind, wird auf den oben beschriebenen Regelnummerbereich zugegriffen, während auf den oben beschriebenen Regelanzahlbereich in Bezug auf alle oben beschriebenen Paare Bezug genommen wird, die zu einer Eingangsvariablen der Eingangsdaten in Beziehung stehen, um so eine Vordersatzverarbeitung durchzuführen.
- Eine Vordersatzverarbeitung wird für jede Eingangsvariable in einer solchen Weise durchgeführt, daß eine Vordersatzverarbeitung in Bezug auf alle oben beschriebenen Paare, die einer einzelnen Eingangsvariablen zugeordnet sind, und dann eine Vordersatzverarbeitung in Bezug auf alle oben beschriebenen Paare, die zu einer anderen Eingangsvariablen in Beziehung stehen, durchgeführt wird.
- Gemäß der vorliegenden Erfindung wird eine Vordersatzverarbeitung bei der Fuzzy-Schlußfolgerungsoperationsverarbeitung für jede Eingangsvariable ausgeführt. Dementsprechend kann in einem Fall, wo Eingangsdaten sequentiell übertragen werden, wenn die Übertragung von einem Eingangsdatum abgeschlossen ist, eine Vordersatzverarbeitung in Bezug auf die bereits übertragenen Eingangsdaten durchgeführt werden, während die nachfolgenden Eingangsdaten übertragen werden. Folglich ist es nicht erforderlich zu warten, bis die Übertragung aller Eingangsdaten abgeschlossen ist, wodurch es möglich wird, den Übertragungs-Overhead zu mildern.
- Ferner kann, wenn Eingangsdaten nicht periodisch erzeugt werden, eine Verarbeitung mit einer Verarbeitung in Bezug auf bereits eingegebene Daten beginnen, wodurch es möglich wird, die Wartezeit auf Daten effizient zu nutzen.
- Wenn ferner eine Zeitdauer vom Zeitpunkt, wo Eingangsdaten angefordert werden, bis zur tatsächlichen Gewinnung der angeforderten Eingangsdaten abhängig von der Art von Eingangsdaten (Eingangsvariablen) unterschiedlich und nicht fest ist, oder wenn die Reihenfolge, in der Eingangsdaten erzeugt werden, nicht fest ist, werden Eingangsdaten mit einem hinzugefügten Code gegeben, der eine Eingangsvariable der Eingangsdaten angibt, wodurch es möglich wird, in der Reihenfolge, in der Eingangsdaten gewonnen werden, Eingangsdaten zu übertragen und eine Schlußfolgerungsverarbeitung durchzuführen.
- Auf die oben beschriebene Weise ist es gemäß der vorliegenden Erfindung möglich, effizient die gesamte Fuzzy- Schlußfolgerungsverarbeitung durchzuführen.
- Außerdem werden gemäß der vorliegenden Erfindung Daten, die alle Regeln durch minimale Information beschreiben, in einem Speicher gespeichert. Dementsprechend ist es möglich, die Kapazität des Speichers, der die Regeln speichert, und die Kapazität eines Datenzwischenspeicherbereichs, der während einer Operation verwendet wird, zu minimieren. Außerdem wird eine überflüssige Verarbeitung übersprungen, wodurch es möglich wird, die für die Ausführung einer Schlußfolgerungsverarbeitung benötigte Zeit zu reduzieren.
- Die vorstehenden und anderen Aufgaben, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden aus der folgenden detaillierten Beschreibung der vorliegenden Erfindung bei Hinzuziehung der beigefügten Zeichnungen deutlicher werden.
- Fig. 1 ist ein Blockschaltbild, welches den Aufbau eines Fuzzy-Schlußfolgerungsprozessors gemäß einer ersten Ausführungsform veranschaulicht,
- Fig. 2 veranschaulicht den Inhalt eines RAM,
- Fig. 3 veranschaulicht die Anordnung von im RAM gespeicherten Regeldaten,
- Fig. 4 ist ein Flußdiagramm, welches den Vorgang der Fuzzy-Schlußfolgerungsverarbeitung gemäß der ersten Ausführungsform zeigt,
- Fig. 5 veranschaulicht den Verarbeitungsfluß gemäß der ersten Ausführungsform,
- Fig. 6 veranschaulicht den Inhalt eines RAM in einer modifizierten Ausführungsform,
- Fig. 7 ist ein Flußdiagramm, welches den Vorgang der Fuzzy-Schlußfolgerungsverarbeitung in der modifizierten Ausführungsform zeigt,
- Fig. 8 veranschaulicht die Anordnung von Regeldaten in einer zweiten Ausführungsform,
- Fig. 9 ist ein Flußdiagramm, welches den Vorgang der Fuzzy-Schlußfolgerungsverarbeitung gemäß der zweiten Ausführungsform zeigt,
- Fig. 10 ist ein Flußdiagramm, welches den Vorgang der Fuzzy-Schlußfolgerungsverarbeitung in einer modifizierten Ausführungsform zeigt,
- Fig. 11 ist ein Blockschaltbild, welches den Aufbau eines Fuzzy-Schlußfolgerungsprozessors gemäß einer dritten Ausführungsform zeigt,
- Fig. 12 veranschaulicht ein Format von Eingangsdaten, die von einer Eingangsvariablennummer begleitet sind,
- Fig. 13 veranschaulicht einen Bereich für ein Prozeßabschlußkennzeichen,
- Fig. 14 veranschaulicht die Anordnung von in einem RAM gespeicherten Regeldaten,
- Fig. 15 veranschaulicht den Vorgang der Fuzzy-Schlußfolgerungsverarbeitung gemäß der dritten Ausführungsform,
- Fig. 16 veranschaulicht den Verarbeitungsfluß gemäß der dritten Ausführungsform,
- Fig. 17 ist ein Flußdiagramm, welches den Vorgang der Fuzzy-Schlußfolgerungsverarbeitung in einer modifizierten Ausführungsform zeigt,
- Fig. 18 ist ein Blockschaltbild, welches ein Beispiel des Aufbaus eines Fuzzy-Schlußfolgerungsprozessors in einer vierten Ausführungsform zeigt,
- Fig. 19 veranschaulicht einen Eingangsdaten-Zwischenspeicherbereich,
- Fig. 20 ist ein Flußdiagramm, welches den Vorgang der Unterbrechungsverarbeitung zeigt,
- Fig. 21 ist ein Blockschaltbild, welches ein weiteres Beispiel des Aufbaus eines Fuzzy-Schlußfolgerungsprozessors in der vierten Ausführungsform zeigt,
- Fig. 22 ist ein Flußdiagramm, welches den Vorgang der Fuzzy-Schlußfolgerungsverarbeitung in der ersten Ausführungsform zeigt, die mit der vierten Ausführungsform modifiziert ist,
- Fig. 23 ist ein Flußdiagramm, welches den Vorgang der Fuzzy-Schlußfolgerungsverarbeitung bei der zweiten Ausführungsform zeigt, die durch die vierte Ausführungsform modifiziert ist,
- Fig. 24 ist ein Flußdiagramm, welches den Vorgang der Fuzzy-Schlußfolgerungsverarbeitung bei der dritten Ausführungsform zeigt, die mit der vierten Ausführungsform modifiziert ist,
- Fig. 25 veranschaulicht ein Beispiel des Verarbeitungsflusses gemäß der vierten Ausführungsform,
- Fig. 26 veranschaulicht ein weiteres Beispiel des Verarbeitungsflusses gemäß der vierten Ausführungsform,
- Fig. 27 ist ein Diagramm, welches die Beziehung zwischen Paaren aus Eingangsvariablen und Labeln und Regelnummern in einer fünften Ausführungsform zeigt,
- Fig. 28 veranschaulicht einen Regelanzahlbereich,
- Fig. 29 veranschaulicht einen Regelnummembereich,
- Fig. 30 ist ein Flußdiagramm, welches den Vorgang der Fuzzy-Schlußfolgerungsverarbeitung in der fünften Ausführungsform zeigt, und
- Fig. 31 ist ein Blockschaltbild, welches ein Beispiel veranschaulicht, bei welchem ein Fuzzy-Schlußfolgerungsprozessor gemäß der vorliegenden Erfindung durch eine elektrische Schaltungsanordnung realisiert ist.
- Die Fig. 1 bis 5 veranschaulichen eine erste Ausführungsform.
- Fig. 1 veranschaulicht den Aufbau eines Fuzzy-Schlußfolgerungsprozessors. Der Fuzzy-Schlußfolgerungsprozessor führt eine Fuzzy-Schlußfolgerungsverarbeitung gemäß Software durch. Es versteht sich, daß Fuzzy-Schlußfolgerungsprozessor gemäß der vorliegenden Erfindung nicht nur einen Allzweckprozessor, der so programmiert ist, daß er eine Fuzzy- Schlußfolgerungsverarbeitung gestattet, sondern auch einen Prozessor mit einer speziellen Architektur für Fuzzy-Schlußfolgerungsverarbeitung umfaßt.
- Bei der vorliegenden Ausführungsform werden Eingangsdaten auf den Fuzzy-Schlußfolgerungsprozessor von externen Geräten oder Apparaten her (einer Host-CPU und dergleichen) über eine serielle Übertragungsleitung gegeben. Die Reihenfolge, in der Eingangsdaten gegeben werden, wird, wie später noch beschrieben wird, vorab bestimmt.
- Der Fuzzy-Schlußfolgerungsprozessor umfaßt eine CPU 10 zur Durchführung einer Fuzzy-Schlußfolgerungsverarbeitung, Datenübertragungssteuerung und dergleichen. Ein RAM 11, ein ROM 12 und ein Puffer (Speicher) 14 sind mit der CPU 10 über verschiedene Busse verbunden.
- Der Fuzzy-Schlußfolgerungsprozessor ist mit einer seriellen Übertragungsschnittstelle 13 verbunden und erhält so Eingangsdaten. Die Schnittstelle 13 ist mit der seriellen Übertragungsleitung verbunden. Wenn die Schnittstelle 13 Eingangsdaten in einer Einheit betreffend eine Eingangsvariable erhält, wird ein Signal, das den Abschluß des Empfangs von Eingangsdaten angibt (Empfangsabschlußsignal), von der Schnittstelle 13 auf die CPU 10 gegeben. Die empfangenen Eingangsdaten werden im Puffer 14 zwischengespeichert.
- Eine Anzahl von Regeln, eine Anzahl von Zugehörigkeitsfunktionen und dergleichen, die vorher gesetzt worden sind, werden im RAM 11 gespeichert. Der RAM 11 ist ferner mit Bereichen, die verschiedene Daten, die zur Operationsverarbeitung benötigt werden, speichern, und einem Arbeitsspeicher für die Operationsverarbeitung versehen. Der ROM 12 speichert ein Fuzzy-Schlußfolgerungsausführungsprogramm, ein Datenübertragungssteuerprogramm und dergleichen, die durch die CPU 10 ausgeführt werden.
- Fig. 2 veranschaulicht die verschiedenen Bereiche, die im RAM 11 vorgesehen sind. Ein Bereich, der den Grad von Übereinstimmung speichert (Übereinstimmungsbereich), ein als MIN-Register verwendeter Bereich, ein Regelspeicherbereich, der gesetzte Regeln speichert, ein ZF-Speicherbereich, der gesetzte Zugehörigkeitsfunktionen (MFS) speichert, ein Arbeitsbereich und dergleichen sind im RAM 11 vorgesehen.
- Bei der vorliegenden Ausführungsform soll ein Maximum von sieben Arten (Label) von Zugehörigkeitsfunktionen in Bezug auf eine Eingangsvariable verwendet werden. Seien die Label der Zugehörigkeitsfunktionen PL, PM, PS, ZR, NS, NM und NL. PL stellt positiv groß, PM positiv mittel, PS positiv klein, ZR nahezu null, NS negativ klein, NM negativ mittel und NL negativ groß dar. Die sieben Label von Zugehörigkeitsfunktionen können für jede Eingangs- und Ausgangsvariable gesetzt werden, oder es können sich einige oder alle der Eingangs- und Ausgangsvariablen in diese teilen. Daten oder Codes, die Zugehörigkeitsfunktionen darstellen, werden in dem ZF-Speicherbereich gespeichert.
- Der Übereinstimmungsbereich ist einer zur vorübergehenden Speicherung des Übereinstimmungsgrads von Eingangsdaten, die eine Eingangsvariable betreffen, die gerade einer Vordersatzverarbeitung unterworfen wird, mit jedem der sieben Label der Zugehörigkeitsfunktionen (ein Funktionswert oder Grad, der gewonnen wird, wenn die Eingangsdaten auf die Zugehörigkeitsfunktion gegeben werden).
- Bei der vorliegenden Ausführungsform wird die Nummer von gesetzten Regeln mit mx ausgedrückt. Das MIN-Register speichert für jede Regel das Ergebnis einer MIN-Operation der Übereinstimmungsgrade, die bei einer Vordersatzverarbeitung in Bezug auf die Regel gewonnen werden.
- Fig. 3 zeigt ein Beispiel von Regeln, die im Regelspeicherbereich im RAM 11 gesetzt sind. Zehn Regeln sind veranschaulicht. x1, x2, x3 und x4 drücken Eingangsvariable aus. y1 drückt eine Ausgangsvariable aus. Die betreffenden Nummern von Eingangs- und Ausgangsvariablen sind natürlich beliebig. Bei den Regeln ist ein Code S mit Eingangsvariablen kombiniert, mit denen keine Zugehörigkeitsfunktion kombiniert ist.
- Fig. 4 zeigt den von der CPU 10 durchgeführten Vorgang der Fuzzy-Schlußfolgerungsverarbeitung. Es wird angenommen, daß Eingangsdaten in der Reihenfolge von Eingangsvariablen x1, x2, x3 und x4 übertragen werden.
- Zunächst werden alle MIN-Register im RAM 11 initialisiert (Schritt 31). Bei dieser Initialisierungsverarbeitung wird der Maximalwert der Übereinstimmungsgrade, d.h., 1, in allen MIN-Registern gesetzt.
- Nachfolgend wird ein Zähler n, der eine Eingangsvariablennummer angibt, auf 1 gesetzt (Schritt 32). Eingangsvariablennummern der Eingangsvariablen x1, x2, x3 und x4 sollen 1, 2, 3 bzw. 4 sein.
- Die Steuerung wartet, bis die serielle Übertragungsschnittstelle 13 Eingangsdaten betreffend die erste Eingangsvariable x1 erhält. Wenn die Schnittstelle 13 die Eingangsdaten (die Eingangsvariable der Eingangsdaten wird allgemein durch xn ausgedrückt) erhält, wird ein Empfangsabschlußsignal von der Schnittstelle 13 auf die CPU 10 gegeben, und die empfangenen Eingangsdaten werden im Puffer 14 gespeichert (Schritt 33).
- Die Übereinstimmungsgrade der empfangenen Eingangsdaten mit allen in Bezug auf die Eingangsvariable der Eingangsdaten gesetzten Zugehörigkeitsfunktionen PL bis NL werden gewonnen, und die gewonnenen Übereinstimmungsgrade im Übereinstimmungsbereich des RAM 11 in Übereinstimmung mit den Labeln der Zugehörigkeitsfunktionen gespeichert (Schritt 34).
- Ein eine Regelnummer angebender Zähler m wird auf 1 initialisiert (Schritt 35).
- Es wird auf den Regelspeicherbereich Bezug genommen, um zu sehen, ob das mit der Eingangsvariablen xn kombinierte Label einer Zugehörigkeitsfunktion in der Regel m ein Code S ist oder nicht (Schritt 37). Wenn der Code S mit der Eingangsvariablen xn kombiniert ist, muß die folgende Vordersatzverarbeitung in Bezug auf die Eingangsvariable nicht durchgeführt werden.
- Wenn das mit der Eingangsvariablen xn kombinierte Label der Zugehörigkeitsfunktion in der Regel m vom Code S verschieden ist, das heißt, irgendeines der Label PL bis NL, wird der Grad der Übereinstimmung, der dem Label entspricht, aus dem Übereinstimmungsbereich ausgelesen (Schritt 38), und es wird bestimmt, ob der ausgelesene Übereinstimmungsgrad kleiner als der im MIN-Register für die Regel m gesetzte Übereinstimmungsgrad ist (MIN-Operation) (Schritt 39). Im Falle der ersten Eingangsvariablen x1 wird das MIN-Register durch Setzen des Maximalwerts, d.h., 1, wie oben beschrieben, initialisiert. Wenn dementsprechend der ausgelesene Übereinstimmungsgrad von 1 verschieden ist, ist die Antwort auf die Feststellung im Schritt 39 stets Ja. Wenn die Antwort im Schritt 39 Ja ist, wird der aus dem Übereinstimmungsbereich ausgelesene Übereinstimmungsgrad im MIN-Register gespeichert, um den Inhalt des MIN-Registers zu aktualisieren (Schritt 40). Auf die oben beschriebene Weise wird für jede Ausführungsverarbeitung in Bezug auf jede Eingangsvariable die MIN-Operation der Übereinstimmungsgrade für eine Regel, zu der die Eingangsvariable in Beziehung steht, durchgeführt, um den Minimalwert der Übereinstimmungsgrade in der Regel aufzufinden.
- Der eine Regelnummer angebende Zähler m wird um eins inkrementiert, so daß die oben beschriebene Vordersatzverarbeitung in den Schritten 36 bis 40 für jede Regel wiederholt wird (Schritte 41 und 42).
- Wenn der Wert in dem oben beschriebenen Zähler m zu (mx + 1) wird, ist die oben beschriebene Vordersatzverarbeitung in Bezug auf alle Regeln abgeschlossen, so daß der eine Eingangsvariablennummer angebende Zähler n um eins erhöht wird, um die nächstfolgende Eingangsvariable anzugeben (Schritt 43). Die Steuerung wartet, bis Eingangsdaten, die die nächstfolgende Eingangsvariable betreffen, empfangen werden (Schritt 44).
- Auf die oben beschriebene Weise wird jedesmal, wenn Eingangsdaten empfangen werden, eine Vordersatzverarbeitung in Bezug auf eine Eingangsvariable der empfangenen Eingangsdaten durchgeführt. Dementsprechend ist es möglich, eine Vordersatzverarbeitung in Bezug auf vorhergehende Eingangsdaten, die während der Übertragung der nachfolgenden Eingangsdaten empfangen worden sind, durchzuführen, wie dies in Fig. 5 gezeigt ist. Selbst wenn der Datentransfer lange Zeit benötigt, ist es möglich, die Wartezeit zur Verbesserung der gesamten Verarbeitungseffizienz zu vermindern. In Fig. 5 bedeuten eingegebene xE-Daten die letzten Eingangsdaten, die Eingangsdaten entsprechen, welche die Eingangsvariable x4 in der vorliegenden Ausführungsform betreffen.
- Wenn die Vordersatzverarbeitung in Bezug auf die letzte Eingangsvariable x4 abgeschlossen ist (Schritt 44), erfolgt eine Prüfung dahingehend, ob Regeln mit dem gleichen Hintersatz existieren oder nicht. Beispielsweise hat sowohl eine Regel 1 als auch eine Regel 2, die in Fig. 3 gezeigt sind, den gleichen Hintersatz, d.h., y1 = PL. Eine Regel 4 und eine Regel 5 haben den gleichen Hintersatz, d.h., y = PS. Außerdem haben eine Regel 6 und eine Regel 8 den gleichen Hintersatz, d.h., y1 = ZR. Eine MAX-Operation der Übereinstimmungsgrade, die in den einzelnen Regeln mit dem gleichen Hintersatz gewonnen sind, wird unter den Regeln durchgeführt, und das Ergebnis der MAX-Operation wird als eines, das auf eine Zugehörigkeitsfunktion im Hintersatz der Regel anzuwenden ist, gespeichert (Schritt 45). Beispielsweise wird al als der Übereinstimmungsgrad, der in der Vordersatzverarbeitung in Bezug auf die Regel 1 gewonnen ist, genommen (das Ergebnis der oben beschriebenen MIN-Operation, das heißt, der in dem MIN-Register gespeicherte Übereinstimmungsgrad), und a2 wird als Übereinstimmungsgrad genommen, der in der Vordersatzverarbeitung in Bezug auf Regel 2 gewonnen wird. Es wird die MAX-Operation der Übereinstimmungsgrade a1 und a2 durchgeführt. Die Folge ist, daß der größere der Übereinstimmungsgrade a1 und a2 als einer gespeichert wird, der auf die Zugehörigkeitsfunktion PL im Hintersatz anzuwenden ist.
- Wenn der auf eine Zugehörigkeitsfunktion in einem Hintersatz anzuwendende Übereinstimmungsgrad (das Ergebnis der oben beschriebenen MAX-Operation oder der Übereinstimmungsgrad für jede Regel in einem Fall, wo keine Regeln mit dem gleichen Hintersatz vorhanden sind) in der oben beschriebenen Weise gewonnen wird, wird der Übereinstimmungsgrad auf eine Zugehörigkeitsfunktion in einem entsprechenden Hintersatz (einer MIN-Operation oder Trunkation) angewandt. Zwischen den so gewonnenen Zugehörigkeitsfunktionen wird eine MAX-Operation angewandt. Dies ist die Hintersatzoperationsverarbeitung (Schritt 46).
- Schließlich werden determinante Ausgangsdaten betreffend eine Ausgangsvariable durch Ausführung einer Defuzzifizierungsverarbeitung in Bezug auf das Ergebnis der Hintersatzoperationsverarbeitung gewonnen (Schritt 47). Diese Ausgangsdaten werden auf andere Geräte oder Apparate aus der seriellen Übertragungsschnittstelle 13 übertragen.
- Bei der oben beschriebenen Ausführungsform ist der Übereinstimmungsbereich im RAM 11 vorgesehen. Wenn die Eingangsdaten empfangen werden, werden die Übereinstimmungsgrade der Eingangsdaten mit allen in Bezug auf eine Eingangsvariable der Eingangsdaten gesetzten Zugehörigkeitsfunktionen PL bis NL gewonnen, und die gewonnenen Übereinstimmungsgrade werden im Übereinstimmungsbereich des RAM 11 in Übereinstimmung mit den Labeln der Zugehörigkeitsfunktionen gespeichert.
- Da der die Übereinstimmungsgrade der Eingangsdaten mit allen Zugehörigkeitsfunktionen PL bis NL speichernde Übereinstimmungsbereich im RAM 11 vorgesehen ist, wird der verfügbare Speicherbereich im RAM 11 schmaler. Wenn gewünscht wird, den Speicherbereich im RAM 11 effizienter zu nutzen, wird ein Eingangsdatenbereich anstelle des Übereinstimmungsbereichs, wie in Fig. 6 gezeigt, vorgesehen. Wie in Fig. 7 gezeigt, werden, wenn Eingangsdaten empfangen werden, die empfangenen Eingangsdaten im Eingangsdatenbereich des RAM 11 zwischengespeichert (Schritt 48). In Bezug auf nur eine Regel, in welcher ein von einem Code S verschiedenes Label einer Zugehörigkeitsfunktion mit einer Eingangsvariablen xn der empfangenen Eingangsdaten kombiniert ist, wird der Übereinstimmungsgrad der Eingangsdaten mit der das Label aufweisenden Zugehörigkeitsfunktion jedesmal berechnet (Schritt 49), um zur MIN-Operationsverarbeitung weiterzuschreiten. Auf diese Weise ist es möglich, den Speicherbereich im RAM 11 effizient auszunutzen. In Fig. 7 ist die von der oben beschriebenen verschiedene Verarbeitung die gleiche wie die in Fig. 4 gezeigte.
- Die Fig. 8 und 9 veranschaulichen eine zweite Ausführungsform.
- Bei der oben beschriebenen ersten Ausführungsform sind alle Eingangsvariablen in einem Vordersatz einer jeden Regel enthalten, und es wird ein spezieller Code S mit Eingangsvariablen, mit welchen keine Zugehörigkeitsfunktion kombiniert ist, anstelle eines Label einer Zugehörigkeitsfunktion kombiniert. Folglich ist die Beschreibung betreffend Eingangsvariable, die nicht mit jeder der Regeln in Beziehung stehen, in der Regel enthalten, wodurch die Kapazität von Regeldaten erhöht wird.
- Bei der zweiten Ausführungsform speichert ein Regelspeicherbereich eines RAM 11 für jede Eingangsvariable Label von Zugehörigkeitsfunktionen, die zu der Eingangsvariablen in Beziehung stehen, in Übereinstimmung mit Regelnummern, wie dies in Fig. 8 gezeigt ist. Ein spezieller Startcode und eine Eingangsvariablennummer werden am oberen Ende einer Gruppe von Labeln für jede Eingangsvariable gesetzt.
- Label von Zugehörigkeitsfunktionen in einem Hintersatz werden ähnlich in einer bestimmten Reihenfolge in Verbindung mit den Regelnummern mit einem Startcode und einem Symbol einer MAX-Operation an der Spitze gesetzt. Die Zugehörigkeitsfunktionen, die das gleiche Label haben, können aufeinanderfolgend angeordnet werden, beispielsweise PL (Regel 1) und PL (Regel 2), PS (Regel 4) und PS (Regel 5) sowie ZR (Regel 6) und ZR (Regel 8).
- Ein solches Verfahren beseitigt die Notwendigkeit, eine unnötige Verarbeitung durchzuführen, was zu einer kleineren Speicherkapazität führt.
- Der in den Fig. 1 und 2 gezeigte Aufbau wird auch auf die zweite Ausführungsform ohne Modifikation angewandt.
- Fig. 9 zeigt den von einer CPU 10 durchgeführten Vorgang der Fuzzy-Schlußfolgerungsverarbeitung. In Fig. 9 sind die gleichen Verarbeitungsschritte wie die in Fig. 4 gezeigten mit den gleichen Nummern versehen, um eine überlappende Beschreibung zu vermeiden.
- Alle MIN-Register werden initialisiert (Schritt 31) wonach ein Zähler n, der eine Eingangsvariablennummer angibt, auf null initialisiert wird (Schritt 51). Regeldaten am Beginn des Regelspeicherbereichs werden ausgelesen (Schritt 52).
- Es wird festgestellt, ob die ausgelesenen Regeldaten ein Startcode:Eingabe xi (i = 1 bis 4) oder ein Startcode:MAX (Schritte 53 und 55) sind.
- Wenn die Regeldaten der Startcode:Eingabe xi ist, wird der Zähler n um eins inkremeniert (Schritt 54), und die Steuerung wartet, bis Eingangsdaten, die eine Eingangsvariable betreffen, deren Nummer durch diesen Zähler n angegeben wird, empfangen werden (Schritt 33).
- Da der Startcode:Eingabe x1 zuerst ausgelesen wird, ändert sich der im Zähler n gesetzte Wert von 0 nach 1, um eine Vordersatzverarbeitung in Bezug auf eine Eingangsvariable x1 durchzuführen.
- Wenn die Eingangsvariable x1 betreffende Eingangsdaten empfangen werden, werden die Übereinstimmungsgrade der Eingangsdaten mit allen Zugehörigkeitsfunktionen berechnet und in einem Übereinstimmungsbereich gespeichert (Schritt 34).
- Regeldaten, die jeweils aus einer Regelnummer und einem Label, zu dem die Eingangsvariable x1 in Beziehung steht, bestehen, werden in der Reihenfolge von Adressen ausgelesen. Da die Regeldaten kein Startcode sind, ist die Antwort in beiden Schritten 53 und 56 negativ, so daß das Programm nach Schritt 38 weitergeht und eine eine MIN-Operation enthaltende Vordersatzverarbeitung durchführt (Schritte 38 bis 40).
- Wenn die Verarbeitung in Bezug auf alle auf die Eingangsvariable x1 bezüglichen Regeldaten abgeschlossen ist, wird ein Startcode, der die nachfolgende Eingangsvariable x2 betrifft, ausgelesen. Dementsprechend geht das Programm vom Schritt 53 zum Schritt 54 weiter. Im Schritt 54 wird der Zähler n inkrementiert. Die Steuerung wartet, bis die Eingangsvariable x2 betreffende Eingangsdaten empfangen werden, und führt dann eine Vordersatzverarbeitung in Bezug auf die Eingangsvariable x2 durch.
- Wenn die Vordersatzverarbeitung in Bezug auf die letzte Eingangsvariable x4 abgeschlossen ist, wird ein Startcode:MAX ausgelesen. Dementsprechend ist die Antwort im Schritt 55 Ja, und es wird die oben beschriebene MAX-Operation, Hintersatzverarbeitung und determinierende Operationsverarbeitung durchgeführt (Schritte 45 bis 47).
- Auch bei der zweiten Ausführungsform kann ein Eingangsdatenbereich im RAM 11 anstelle des Übereinstimmungsbereichs vorgesehen sein, wie dies in Fig. 6 gezeigt ist. Wie in Fig. 10 gezeigt, können eine Verarbeitung zur vorübergehenden Speicherung empfangener im Eingangsdatenbereich (Schritt 48) und eine Verarbeitung zur Berechnung der Übereinstimmungsgrade der Eingangsdaten mit Zugehörigkeitsfunktionen, die mit in Bezug auf eine Eingangsvariable der Eingangsdaten ausgelesenen Regeln kombiniert sind (Schritt 49) jeweils anstelle der Verarbeitung im Schritt 34 und der Verarbeitung im Schritt 38, die in Fig. 9 gezeigt sind, durchgeführt werden.
- Die Fig. 11 bis 16 veranschaulichen eine dritte Ausführungsform.
- Bei der oben beschriebenen ersten und zweiten Ausführungsform wird angenommen, daß Eingangsdaten in einer bestimmten Reihenfolge von Eingangsvariablen übertragen werden.
- In der dritten Ausführungsform können Eingangsdaten in einer beliebigen Reihenfolge übertragen werden.
- Wie in Fig. 12 gezeigt, werden Eingangsdaten in einer solchen Form übertragen, daß sie von einer Eingangsvariablennummer begleitet sind, die eine Eingangsvariable der Eingangsdaten bezeichnet. Beispielsweise setzen sich die Daten aus acht Bits zusammen, und die Eingangsvariablennummer setzt sich aus acht Bits zusammen.
- Der Aufbau des in Fig. 11 gezeigten Fuzzy-Schlußfolgerungsprozessors ist der gleiche wie der in Fig. 1 gezeigte, mit Ausnahme des Folgenden.
- Ein Puffer ist in einen Empfangspuffer 23 und einen Übertragungspuffer 24, wie veranschaulicht, unterteilt. Der Empfangspuffer 23 umfaßt einen Bereich 23a, der Eingangsdaten speichert, und einen Bereich 23b, der eine Eingangsvariablennummer speichert.
- Es sind zwei RAMs 21 und 22 vorgesehen. Es versteht sich, daß die RAMs durch einen einzigen RAM-Chip oder nicht weniger als drei RAM-Chips gebildet sein können.
- Wenigstens Regeldaten, wie sie in Fig. 14 gezeigt sind, werden in einem der RAMs 22 gespeichert. Wenigstens ein Arbeitsbereich ist im anderen RAM 21 vorgesehen. Der oben beschriebene Übereinstimmungsbereich, MIN-Register und ZF- Speicherbereich sowie ein Bereich, der ein einen Prozeßabschluß angebendes Kennzeichen speichert (Prozeßabschlußkennzeichenbereich), die in Fig. 13 gezeigt sind, kann in jedem der RAMs vorgesehen sein.
- Ein Regelspeicherbereich des RAM 22 speichert für jede Eingangsvariablennummer (Eingabe x1, Eingabe x2 oder dergleichen) Regeldaten, die jeweils aus einer Regelnummer, mit welcher eine durch die Eingangsvariablennummer spezifizierte Eingangsvariable, und einem Label einer Zugehörigkeitsfunktion bestehen, die mit der Eingangsvariablen in einer durch die Regelnummer spezifizierten Regel kombiniert ist, wie in Fig. 14 gezeigt. Auf eine Gruppe von Regeldaten für jede Eingangsvariable kann durch eine Eingangsvariablennummer einer Eingangsvariablen zugegriffen werden. Ein End-Code END wird am Ende der Gruppe von Regeldaten gesetzt.
- Durch eine Eingangsvariablennummer, die in dem Eingangsvariablennummerbereich 23b im Empfangspuffer 23 gespeichert ist, kann ein Bereich, im RAM 22, der eine Gruppe von Regeldaten speichert, die einer durch die Eingangsvariablennummer spezifizierten Eingangsvariablen entspricht, adressiert werden. Im einzelnen kann durch eine Eingangsvariablennummer ein Bereich, der eine Gruppe von Regeldaten speichert, die zu einer durch die Eingangsvariablennummer spezifizierten Eingangsvariablen in Beziehung stehen, in seinen oberen Adressenbits bezeichnet werden. In diesem Fall werden die einzelnen Regeldaten (eine Regelnummer und ein Label) in seinen unteren Adressenbits bezeichnet.
- Der in Fig. 13 gezeigte Prozeßbeendigungskennzeichenbereich speichert ein eine Prozeßbeendigung anzeigendes Kennzeichen (Prozeßbeendigungskennzeichen) in Übereinstimmung mit einer Eingangsvariablen. Das Prozeßbeendigungskennzeichen wird anfänglich auf 0 zurückgesetzt und wird auf 1 gesetzt, wenn eine Vordersatzverarbeitung in Bezug auf die Eingangsvariable beendet ist. Wenn bestätigt ist, daß die Prozeßbeendigungskennzeichen auf 1 in Übereinstimmung mit allen Eingangsvariablen gesetzt sind, schreitet das Programm zu einer MAX-Operation der Übereinstimmungsgrade zwischen Regeln, die den gleichen Hintersatz haben, fort (Schritt 45 in Fig. 15).
- Fig. 15 zeigt den durch eine CPU 10 ausgeführten Vorgang einer Fuzzy-Schlußfolgerungsverarbeitung. Auch in Fig. 15 sind den gleichen Verarbeitungsschritten wie die in den Fig. 4 und 9 gezeigten die gleichen Nummern zugeordnet.
- Wenn Eingangsdaten zusammen mit einer hinzugefügten Eingangsvariablennummer empfangen werden, werden die Übereinstimmungsgrade der Eingangsdaten mit auf die Eingangsvariablennummer bezüglichen Zugehörigkeitsfunktionen gewonnen, und die gewonnenen Übereinstimmungsgrade werden im Übereinstimmungsbereich gespeichert (Schritte 33 und 34).
- Als nächstes werden Regeldaten sequentiell aus einem Bereich des RAM 22 ausgelesen, der in seinen oberen Adressenbits durch eine empfangene Eingangsvariablennummer bezeichnet wird, und der Übereinstimmungsgrad wird ausgelesen und eine MIN-Operationsverarbeitung in Bezug auf alle Regeldaten ausgeführt (Schritt 52, und Schritte 38 bis 40).
- Wenn ein End-Code END ausgelesen wird, wird eine Vordersatzverarbeitung in Bezug auf eine durch die Eingangsvariablennummer spezifizierte Eingangsvariable beendet, so daß ein entsprechendes Prozeßbeendigungskennzeichen auf 1 gesetzt wird (Schritt 42).
- Die Steuerung wartet, bis die nachfolgenden Eingangsdaten empfangen sind, um ähnlich eine Vordersatzverarbeitung in Bezug auf eine Eingangsvariable durchzuführen, die durch eine den Eingangsdaten hinzugefügte Eingangsvariablennummer spezifiziert ist.
- Wenn Prozeßbeendigungskennzeichen, die allen Eingangsvariablen entsprechen auf 1 gesetzt sind (Schritt 44), werden eine MAX-Operation, Hintersatzverarbeitung und determinierende Operationsverarbeitung durchgeführt (Schritte 45 bis 47).
- Auf die oben beschriebene Weise ist es auch dann, wenn Eingangsdaten in einer beliebigen Reihenfolge gegeben werden, möglich, eine Vordersatzverarbeitung in Bezug auf die vorhergehenden Eingangsdaten, die bereits gegeben worden sind, während der Übertragung der nachfolgenden Eingangsdaten durchzuführen, wie dies in Fig. 16 gezeigt ist.
- Auch bei der dritten Ausführungsform versteht sich, daß die Verarbeitung im Schritt 34 und die Verarbeitung im Schritt 38, die in Fig. 15 gezeigt sind, jeweils durch die Verarbeitung im Schritt 48 und die Verarbeitung im Schritt 491 die in Fig. 17 gezeigt sind, ersetzt werden können.
- Bei den oben beschriebenen ersten bis dritten Ausführungsformen wird angenommen, daß eine Vordersatzverarbeitung in Bezug auf Eingangsdaten, die empfangen worden sind, während einer kurzen Zeitdauer abgeschlossen wird, die verstreicht, bis die Übertragung von nachfolgend übertragenen Eingangsdaten beendet ist, wie dies aus den Fig. 5 und 16 ersichtlich ist.
- Wenn es verhältnismäßig lange Zeit benötigt, eine Vordersatzverarbeitung in Bezug auf eine Eingangsvariable durchzuführen, weil die Anzahl von Regeln groß ist, oder wenn die Übertragungsrate von nachfolgenden Eingangsdaten relativ hoch ist, tritt eine Situation auf, wo während der Durchführung einer Vordersatzverarbeitung in Bezug auf eine Eingangsvariable von vorhergehenden Daten, die empfangen worden sind, der Empfang der nachfolgenden Eingangsdaten abgeschlossen wird. Nicht weniger als zwei Arten von Eingangsdaten können in einigen Fällen nachfolgend während der Ausführung der Vordersatzverarbeitung in Bezug auf die vorhergehenden Eingangsdaten empfangen werden.
- Die vierte Ausführungsform bezieht sich auf einen Fuzzy-Schlußfolgerungsprozessor, der in der Lage ist, mit einer solchen Situation fertigzuwerden, indem er nachfolgend empfangene Eingangsdaten zwischenspeichert.
- Es gibt zwei Verfahren der Zwischenspeicherung nachfolgender Eingangsdaten.
- Eine ist ein Verfahren der Zwischenspeicherung in einem Speicher, wie etwa einem RAM, von empfangenen Eingangsdaten durch Unterbrechungsverarbeitung unter Verwendung eines Empfangsabschlußsignals der Eingangsdaten als Auslöser, und die Einzelheiten desselben sind in den Fig. 18 bis 20 veranschaulicht.
- Ein in Fig. 18 gezeigter Fuzzy-Schlußfolgerungsprozessor ist im Grundsatz der gleiche wie der in Fig. 1 gezeigte. Ein von einer seriellen Übertragungsschnittstelle 13 erzeugtes Empfangsabschlußsignal wird als Unterbrechungssignal auf einen Unterbrechungsanschluß einer CPU 10 gegeben.
- Ein Eingangsdaten-Zwischenspeicherbereich, der in der Lage ist, eine Anzahl von Eingangsdaten, wie in Fig. 19 gezeigt, zu speichern, ist in einem RAM 11 vorgesehen.
- Fig. 20 zeigt den Vorgang der Unterbrechungsverarbeitung, den die CPU 10 durchführt. Wenn das Unterbrechungssignal von der seriellen Übertragungsschnittstelle 13 aufgegeben wird, werden in einem Puffer 14 (der in einigen Fällen eine Eingangsvariablennummer wie bei der dritten Ausführungsform enthält) gespeicherte empfangene Eingangsdaten im Eingangsdaten-Zwischenspeicherbereich des RAM 11 gespeichert, wonach das Programm zur Hauptroutine zurückkehrt Wie in Fig. 25 gezeigt, wird nach Empfang von Eingangsdaten, die eine Eingangsvariable x1 betreffen, eine Vordersatzverarbeitung in Bezug auf die Eingangsvariable x1 durchgeführt. Wenn die nachfolgende Eingangsvariable x2 betreffende Eingangsdaten während der Ausführung der Vordersatzverarbeitung in Bezug auf die Eingangsvariable x1 empfangen werden, wird die Vordersatzverarbeitung in Bezug auf die Eingangsvariable x1 vorübergehend unterbrochen und eine Speicherverarbeitung (Unterbrechungsverarbeitung) der empfangenen Eingangsdaten betreffend die Eingangsvariable x2 im RAM durchgeführt. Wenn die Speicherverarbeitung der die Eingangsvariable x2 betreffenden Eingangsdaten im RAM 11 abgeschlossen ist, wird die Vordersatzverarbeitung in Bezug auf die Eingangsvariable x1 wieder aufgenommen. Das gleiche gilt für einen Fall, wo während der Durchführung der Vordersatzverarbeitung in Bezug auf eine andere Eingangsvariable Eingangsdaten betreffend eine wiederum andere Eingangsvariable empfangen werden.
- Das zweite Verfahren der Zwischenspeicherung von nachfolgenden Eingangsdaten ist eines, das einen FIFO- (First In First Out) Speicher verwendet. Ein Beispiel des Aufbaus eines Fuzzy-Schlußfolgerungsprozessors, der den FIFO-Speicher aufweist, ist in Fig. 21 veranschaulicht.
- Durch die serielle Übertragungsschnittstelle 13 empfangene Eingangsdaten (die in einigen Fällen eine den Eingangsdaten, wie in der dritten Ausführungsform, hinzugefügte Eingangsvariablennummer enthalten) werden in dem FIFO-Speicher 25 in der Reihenfolge gespeichert, in der sie empfangen werden. Der FIFO-Speicher 25 wird nur zur Zwischenspeicherung der Eingangsdaten verwendet. Andere Daten für die Fuzzy-Schlußfolgerung werden, wie in Fig. 2 gezeigt, in einem RAM 21 gespeichert. Der übrige Aufbau ist der gleiche wie der in Fig. 11 gezeigte.
- Wie später noch beschrieben wird, nimmt die CPU 10 jedesmal, wenn eine Vordersatzverarbeitung abgeschlossen ist, auf den FIFO-Speicher in Bezug auf jede Eingangsvariable Bezug, um zu überprüfen, ob nachfolgend zu verarbeitende Eingangsdaten im Speicher 25 zwischengespeichert sind oder nicht. Wenn Eingangsdaten gespeichert sind, werden die Eingangsdaten aus dem Speicher 25 in der Reihenfolge, in der sie empfangen werden, ausgelesen, um eine Vordersatzverarbeitung in Bezug auf die gelesenen Eingangsdaten durchzuführen. Wenn andererseits keine Eingangsdaten gespeichert sind, wartet die Steuerung, bis Eingangsdaten empfangen sind.
- Wie in Fig. 26 gezeigt, wird nach dem Empfang von Eingangsdaten, die die erste Eingangsvariable x1 betreffen, eine Vordersatzverarbeitung für jede Eingangsvariable aufeinanderfolgend durchgeführt, solange nachfolgend zu verarbeitende Eingangsdaten im FIFO-Speicher 25 vorliegen.
- Fig. 22 entspricht dem Verarbeitungsvorgang gemäß der in Fig. 4 gezeigten ersten Ausführungsform. Beim Beginnen der Vordersatzverarbeitung in Bezug auf die erste Eingangsvariable x1 und jedesmal, wenn eine Vordersatzverarbeitung in Bezug auf eine Eingangsvariable abgeschlossen ist, wird festgestellt, ob Eingangsdaten im RAM 11 oder dem FIFO-Speicher 25 vorliegen (Schritt 71). Wenn Eingangsdaten vorliegen, werden die Eingangsdaten ausgelesen, um eine Vordersatzverarbeitung in Bezug auf eine Eingangsvariable der gelesenen Eingangsdaten durchzuführen (Schritt 72 und nachfolgende Schritte). Die andere Verarbeitung ist die gleiche, wie die in Fig. 4 gezeigte.
- Fig. 23 entspricht dem Verarbeitungsvorgang gemäß der in Fig. 9 gezeigten zweiten Ausführungsform Wenn aus dem RAM 11 ausgelesene Regeldaten einen Startcode:Eingabe xi angeben (Schritt 53), wird ein eine Eingangsvariablennummer angebender Zähler n inkrementiert (Schritt 54), und es wird bestimmt, ob Eingangsdaten im RAM 11 oder dem FIFO-Speicher 25 vorliegen (Schritt 71). Wenn Eingangsdaten vorliegen, werden die Eingangsdaten ausgelesen, um eine Vordersatzverarbeitung in Bezug auf eine Eingangsvariable der gelesenen Eingangsdaten durchzuführen (Schritt 72 und nachfolgende Schritte). Die übrige Verarbeitung ist die gleiche wie die in Fig. 9 gezeigte.
- Fig. 24 entspricht dem Verarbeitungsvorgang gemäß der in Fig. 15 gezeigten dritten Ausführungsform. Beim Beginnen der Vordersatzverarbeitung in Bezug auf die erste Eingangsvariable und jedesmal, wenn eine Vordersatzverarbeitung in Bezug auf eine Eingangsvariable abgeschlossen ist, wird festgestellt, ob von einer Eingangsvariablennummer begleitete Eingangsdaten im RAM 11 oder im FIFO-Speicher 25 vorliegen (Schritt 71). Wenn Eingangsdaten vorliegen, werden die Eingangsdaten und die Eingangsvariablennummer ausgelesen, um eine Vordersatzverarbeitung in Bezug auf eine durch die Eingangsvariablennummer spezifizierte Eingangsvariable unter Verwendung der ausgelesenen Eingangsdaten durchzuführen (Schritt 72 und nachfolgende Schritte). Die übrige Verarbeitung ist die gleiche, wie die in Fig. 15 gezeigte.
- Es versteht sich, daß auch in der in den Fig. 22, 23 und 24 gezeigten Verarbeitung die Übereinstimmungsgrade von Eingangsdaten mit Zugehörigkeitsfunktionen, die nur in gesetzte Regeln involviert sind, vor einer MIN-Operationsverarbeitung anstelle des Schritts 34 der Gewinnung der Übereinstimmungsgrade von Eingangsdaten mit allen Zugehorigkeitsfunktionen gewonnen werden können (Schritt 49 in den Fig. 7, 10 und 17).
- Auf die oben beschriebene Weise ist es möglich, Eingangsdaten asynchron zu empfangen sowie eine Vordersatzverarbeitung in Bezug auf jede Eingangsvariable durchzuführen.
- Bei der oben beschriebenen ersten Ausführungsform sind alle Eingangsvariablen in einem Vordersatz aller Regeln enthalten, und es wird ein spezieller Code S mit Eingangsvariablen, mit welchen keine Zugehörigkeitsfunktion kombiniert ist, anstelle eines Labels einer Zugehörigkeitsfunktion kombiniert. Folglich ist die Beschreibung betreffend Eingangsvariable, die nicht zu den einzelnen Regeln in Beziehung stehen, in der Regel enthalten, um so die Kapazität von Regeldaten zu erhöhen.
- Ferner werden die Zugehörigkeitsgrade zu allen Zugehörigkeitsfunktionen gewonnen und im Übereinstimmungsbereich des RAM in dem in Fig. 4 gezeigten Schritt 34 gespeichert.
- In einer in Fig. 3 gezeigten Gruppe von Regeln sind sieben Arten von Zugehörigkeitsfunktionen PL bis NL mit einer Eingangsvariablen x1, fünf Arten von Zugehörigkeitsfunktionen mit einer Eingangsvariablen x2 und nur vier Arten von Zugehörigkeitsfunktionen jeweils mit Eingangsvariablen x3 und x4 kombiniert. Dennoch werden bei der oben beschriebenen ersten Ausführungsform die Zugehörigkeitsgrade zu allen Zugehörigkeitsfunktionen gewonnen. Dementsprechend wird eine unnötige Operation durchgeführt, und es werden die Plätze für die Speicherung der Zugehörigkeitsgrade zu sieben Arten von Zugehörigkeitsfunktionen unweigerlich im Übereinstimmungsbereich benötigt.
- Die fünfte Ausführungsform zielt darauf ab, die Kapazität eines Regelspeicherbereichs und die Kapazität eines Übereinstimmungsbereichs so klein wie möglich zu halten, sowie darauf, eine nutzlose Berechnung der Übereinstimmungsgrade wegzulassen.
- Bei der fünften Ausführungsform wird der in Fig. 1 gezeigte Aufbau des Fuzzy-Schlußfolgerungsprozessors ohne Modifikation angewandt. Außerdem werden die in Fig. 2 bei der ersten Ausführungsform gezeigten Inhalte des RAM 11 ohne Modifikation angewandt, mit Ausnahme, daß die Kapazität zur Speicherung des Zugehörigkeitsgrads zu einer Zugehörigkeitsfunktion als Kapazität des Ubereinstimmungsbereichs bei der fünften Ausführungsform ausreichend ist, und mit Ausnahme, daß der Inhalt des Regelspeicherbereichs sich von dem in Fig. 2 gezeigten unterscheidet. Der in Fig. 5 gezeigte Fuzzy-Schlußfolgerungsverarbeitungsfluß kann ohne Modifikation verwendet werden.
- Fig. 27 zeigt die Beziehung zwischen Paaren von Eingangsvariablen und Label (Paar aus x1 - PL, Paar aus x1 - PM und dergleichen) in Bezug auf zehn in Fig. 3 gezeigte Regeln. Die Beschreibung betreffend die in Fig. 27 gezeigte Beziehung ist zur Beschreibung der Regeln ausreichend.
- Bei der fünften Ausführungsform sind ein Regelanzahlbereich, wie in Fig. 28 gezeigt, und ein Regelnummembereich, wie in Fig. 29 gezeigt, in einem RAM 11 vorgesehen, um die Beziehung zwischen den Paaren von Eingangsvariablen und Labeln und den Regeln, wie in Fig. 27 gezeigt, zu errichten.
- Zur leichteren Veranschaulichung werden zehn in Fig. 3 gezeigte Regeln als Beispiel beschrieben. Die Anzahl von Eingangsvariablen wird als vier angenommen und die Anzahl von Ausgangsvariablen als eins. Außerdem wird die Anzahl von Labeln als sieben genommen.
- Die Anzahl aller Kombinationen der vier Arten von Eingangsvariablen x1, x2, x3 und x4 sowie der sieben Arten von Labeln PL, PM, PS, ZR, NS, NM und NL ist 28. Den 28 Kombinationen (Paaren von Eingangsvariablen und Labeln) wird eine bestimmte Reihenfolge zugeordnet. In der vorliegenden Ausführungsform ist die Reihenfolge der Eingangsvariablen x1, x2, x3 und x4 und die Reihenfolge der Label PL, PM, PS, ZR, NS, NM und NL. Die Eingangsvariablen sollen gegenüber den Labeln vorrangig sein. Folglich ist die Reihenfolge der Paare Eingabe x1 - Label PL, Eingabe x1- Label PM, Eingabe x1 - Label PS, Eingabe x1 - Label ZR, Eingabe x1 - Label NS, Eingabe x1 - Label NM, Eingabe x1 - Label NL, Eingabe x2 - Label PL, Eingabe x2 - Label PM, Eingabe x2 - Label PS, Eingabe x2 - Label ZR, Eingabe x2 - Label NS, Eingabe x2 - Label NM, Eingabe x2 - Label NL, Eingabe x3 - Label PL, Eingabe x3 - Label PM, Eingabe x3 - Label PS, ..., Eingabe x4 - Label NM und Eingabe x4 - Label NL.
- In dem in Fig. 28 gezeigten Regelanzahlbereich ist ein Speicherplatz, der einem Wort (beispielsweise acht Bits oder vier Bits) entspricht, einem solchen Paar aus einer Eingangsvariablen und einem Label zugeordnet, wobei die oben beschriebene Reihenfolge von Paaren und die Reihenfolge aufeinanderfolgender Adressen übereinstimmt. Eine Startadresse des Regelanzahlbereichs wird durch LA ausgedrückt. Folglich sind Adressen, die einem Paar x1 - PL, einem Paar aus x2 - PL, einem Paar x3 - PL und einem Paar x4 - PL entsprechen, (LA + 0), (LA + 7), (LA + 14) bzw. (LA + 21). Das heißt, eine einem Speicherplatz zugeordnete Adresse am Start einer jeden der Eingangsvariablen wird durch Addieren eines Vielfachen von sieben zu LA aufgefunden.
- In jedem solcher Speicherplätze des Regelanzahlbereichs wird die Anzahl von Regeln gespeichert, die tatsächlich in ihren Vordersätzen ein Paar aus einer Eingangsvariablen und einem Label, die einander entsprechen, enthalten. Beispielsweise ist ein Paar aus einer Eingangsvariablen x1 und einem Label PL in Vordersätzen der Regeln 1 und 2 enthalten, so daß 2 als Anzahl der Regeln in einem Speicherplatz gespeichert wird, dem eine Adresse LA zugeordnet ist. Ein Paar aus einer Eingangsvariablen x1 und einem Label PM ist in Vordersätzen von Regeln 3 und 7 enthalten, so daß 2 als die Anzahl der Regeln in einem Speicherplatz gespeichert wird, dem eine Adresse (LA + 1) zugeordnet ist. Da ein Paar aus einer Eingangsvariablen x1 und einem Label PS in nur einem Vordersatz einer Regel 10 enthalten ist, wird 1 als die Anzahl der Regeln an einem Speicherplatz gespeichert, dem eine Adresse (LA + 2) zugeordnet ist. Da ein Paar aus einer Eingangsvariablen x2 und einem Label NS in keiner Regel enthalten ist, wird 0 als die Anzahl der Regeln an einem Speicherplatz gespeichert, dem eine Adresse (LA + 11) zugeordnet ist. Die in Fig. 28 in Klammer gezeigte Zahl ist die Anzahl der Regeln bei der vorliegenden Ausführungsform
- (Anzahl von Eingangsvariablen) x (Anzahl von Labeln)
- Wörter (4 x 7 = 28 Wörter bei der vorliegenden Ausführungsform) sind ausreichend als Speicherkapazität des Regelanzahlbereichs.
- Aufeinanderfolgende Adressen werden betreffenden Speicherplätzen (ein Wort = acht oder vier Bits) des in Fig. 29 gezeigten Regelnummernbereichs zugeordnet, wobei eine Startadresse durch RU ausgedrückt wird. Eine Regelnummer einer Regel, die jedes aller Paare aus Eingangsvariablen und Labeln (die einander überlappen können) enthält, die tatsächlich in Vordersätzen von gesetzten Regeln enthalten sind, wird in jedem von Speicherplätzen des Regelnummernbereichs gespeichert, wobei die oben beschriebene Reihenfolge von Paaren und die Reihenfolge von Adressen zusammenfallen.
- Beispielsweise ist, wie oben beschrieben, ein Paar aus einer Eingangsvariablen x1 und einem Label PL in zwei Regeln enthalten (Anzahl der Regeln = 2), und die Regeln sind eine Regel 1 und eine Regel 2. Folglich werden 1 und 2 als Regelnummern an Speicherplätzen gespeichert, denen Adressen (RU + 0) und (RU + 1) zugeordnet sind. Ähnlich ist ein Paar aus einer Eingangsvariablen x2 und einem Label PM in zwei Regeln enthalten (Anzahl der Regeln = 2), und die Regeln sind eine Regel 3 und eine Regel 7. Folglich werden 3 und 7 als Regelnummern in Speicherplätzen gespeichert, denen Adressen (RU + 2) und (RU + 3) zugeordnet sind. Da ein Paar aus einer Eingangsvariablen x1 und einem Label PS in nur einer Regel 10 enthalten ist, wird 10 als Regelnummer an einem Speicherplatz gespeichert, dem eine Adresse (RU + 4) zugeordnet ist. Da ein Paar aus einer Eingangsvariablen x2 und einem Label NS in keiner Regel enthalten ist, wird keine Regelnummer bezogen zum Paar aus einer Eingangsvariablen x2 und einem Label NS gespeichert. Eine in Fig. 29 in Klammern gezeigte Zahl ist eine Regelnummer bei der vorliegenden Ausführungsform.
- (Anzahl aller Regeln) x (Anzahl von Eingangsvariablen)
- Wörter oder weniger reichen als Kapazität des Regelnummernbereichs aus. Bei der vorliegenden Ausführungsform ist die Kapazität 10 x 4 = 40 Wörter oder weniger, wobei 23 Wörter tatsächlich ausreichend sind.
- Ferner werden Daten, die einen Hintersatz einer gesetzten Regel beschreiben, im Regelspeicherbereich des RAM 11 gespeichert. Diese Daten können die Beziehung zwischen einer Ausgangsvariablen, einem Label und einer Regelnummer darstellen.
- Der Übereinstimmungsbereich des RAM 11 kann, wie oben beschrieben, eine Kapazität zur Speicherung eines Übereinstimmungsdatums aufweisen. Das heißt, ein Wort ist als Kapazität ausreichend.
- Auf die oben beschriebene Weise sind die Minimalkapazitäten als Kapazitäten für den Regelspeicherbereich und den Übereinstimmungsbereich im RAM 11 ausreichend.
- Fig. 30 zeigt den von der CPU 10 durchgeführten Vorgang der Fuzzy-Schlußfolgerungsverarbeitung. In Fig. 30 sind die gleichen Verarbeitungsschritte wie die in Fig. 4 gezeigten mit den gleichen Nummern versehen, um eine überlappende Beschreibung zu vermeiden. Auch in diesem Fall wird angenommen, daß Eingangsdaten in der Reihenfolge von Eingangsvariablennummern übertragen werden.
- Alle MIN-Register werden initialisiert (Schritt 31), wonach ein Zähler n, der eine Eingangsvariablennummer angibt, auf 1 initialisiert wird, wobei ein Adressenzähler ad, der eine (von RU verschiedene) Relativadresse im Regelnummembereich angibt, auf 0 initialisiert wird (Schritt 81).
- Ferner wird ein eine (von LA verschiedene) Relativadresse des Regelanzahlbereichs angebender Adressenzähler auf 0 initialisiert (Schritt 82).
- Wenn die erste Eingangsvariable x1 betreffende Eingangsdaten empfangen werden (Schritt 33), werden die Eingangsdaten aus einem Puffer 14 in einen Arbeitsbereich des RAM 11 übertragen (Schritt 83).
- Zunächst wird auf den Regelanzahlbereich Bezug genommen. Die Regelanzahl, die an einem Speicherplatz, des Regelanzahlbereichs, gespeichert ist, der durch eine Adresse (LA + i) (eine Adresse LA zuerst, weil i 0 ist) (die Regelanzahl in dem Speicherplatz, dem die Adresse LA zugeordnet ist, ist 2) bezeichnet wird, wird in einem Regelanzahl-Zähler gesetzt (Schritt 84).
- Wenn der im Regelanzahl-Zähler gesetzte Wert 0 ist (Schritt 85) (beispielsweise in einem Fall, wo die Anzahl gespeicherter Regeln 0 ist, wie in dem oben beschriebenen Speicherplatz, dem die Adresse (LA + 11) zugeordnet ist), kommt das Paar aus einer Eingangsvariablen und einem Label in keiner Regel vor, so daß die Verarbeitung in den Schritten 86 bis 89 übersprungen wird. Auf diese Weise wird eine überflüssige Verarbeitung weggelassen.
- Wenn der im Regelanzahl-Zähler gesetzte Wert nicht ist (Schritt 85), wird der Übereinstimmungsgrad von empfangenen Eingangsdaten mit einer Zugehörigkeitsfunktion in Bezug auf ein Paar aus einer Eingangsvariablen und einem Label, das durch die Adresse (LA + i) (eine Adresse im Regelnummembereich, und ein Paar ist in Eins-zu-eins-Entsprechung, wie oben beschrieben) bestimmt wird, gewonnen. Wenn beispielsweise 1 = 0, wird der Übereinstimmungsgrad von Eingangsdaten betreffend eine Eingangsvariable x1 mit einer Zugehörigkeitsfunktion PL aufgefunden und im Übereinstimmungsbereich gespeichert.
- Nachfolgend wird auf den Regelnummembereich Bezug genommen. Eine Regelnummer, die in einem Speicherplatz, des Regelnummernbereichs, der durch eine Adresse (RU + ad) (eine Regelnummer, die in einem Speicherplatz gespeichert ist, dem eine Adresse RU zugeordnet ist, ist 1, wenn ad 0) bezeichnet ist, gespeichert ist, wird ausgelesen, und es werden die Übereinstimmungsgrade, die im MIN-Register entsprechend der Regelnummer gespeichert sind, ausgelesen (Schritt 87).
- Der im Schritt 86 gewonnene Übereinstimmungsgrad und der aus dem MIN-Register im Schritt 87 ausgelesene Übereinstimmungsgrad werden miteinander verglichen. Wenn der gewonnene Übereinstimmungsgrad kleiner ist, wird der gewonnene Übereinstimmungsgrad in einem entsprechenden MIN-Register gespeichert, um den Übereinstimmungsgrad zu aktualisieren (Schritte 39 und 40).
- Der Zähler ad, der eine Relativadresse im Regelnummernbereich angibt, wird um eins inkrementiert und der Regelanzahl-Zähler um eins dekrementiert (Schritt 88).
- Die Verarbeitung in den Schritten 87 und 88 wird wiederholt, bis der im Regelanzahl-Zähler gesetzte Wert 0 wird (Schritt 89). Im einzelnen wird der Übereinstimmungsgrad, der in Bezug auf ein Paar aus Eingangsvariable und Label unter Verwendung gegebener Eingangsdaten gewonnen wird, sequentiell mit den Übereinstimmungsgraden in das Paar enthaltenden Regeln verglichen (die Regelnummer der Regel ist im Regelnummernspeicher gespeichert), um die Übereinstimmungsgrade zu aktualisieren.
- Wenn der im Regelanzahl-Zähler gesetzte Wert 0 wird, ist die Verarbeitung in Bezug auf ein Paar abgeschlossen, so daß der Zähler i, der eine Relativadresse im Regelanzahlbereich abgibt, um eins inkrementiert wird, damit auf den nachfolgenden Speicherplatz des Regelanzahlbereichs wieder Bezug genommen wird (Schritt 90).
- Da sieben Arten von Labeln mit einer Eingangsvariablen kombiniert sind, wird die Verarbeitung der Schritte 84 bis 90 siebenmal wiederholt. Wenn der im Zähler i gesetzte Wert ein Vielfaches von sieben wird (Schritt 91), wird der eine Eingangsvariablenummer angebende Zähler n inkrementiert, um die Verarbeitung in Bezug auf die nachfolgende Eingangsvariable zu beginnen (Schritt 92), so daß das Programm zum Schritt 33 zurückkehrt und wartet, bis die nachfolgenden Eingangsdaten empfangen sind.
- Wenn die oben beschriebene Verarbeitung in Bezug auf alle Eingangsvariablen abgeschlossen ist (Schritt 93) (wenn der im Zähler n gesetzte Wert 4 überschreitet, weil die Anzahl von Eingangsvariablen in der vorliegenden Ausführungsform vier ist), werden die oben beschriebene MAX-Operation, Hintersatzverarbeitung und determinierende Operationsverarbeitung durchgeführt (Schritte 45 bis 47).
- In der oben beschriebenen fünften Ausführungsform wird angenommen, daß Eingangsdaten in einer bestimmten Reihenfolge von Eingangsvariablen übertragen werden. Es ist auch möglich, die Eingangsdaten in einer beliebigen Reihenfolge, wie in der dritten und vierten Ausführungsform, zu übertragen.
- Wie für die oben beschriebene dritte Ausführungsform in Fig. 12 gezeigt, werden Eingangdaten in einer solchen Form übertragen, daß eine Eingangsvariablennummer, die eine Eingangsvariable der Eingangsdaten angibt, den Eingangsdaten hinzugefugt wird. Beispielsweise setzen sich die Eingangsdaten aus acht Bits und die Eingangsvariablennummer aus acht Bits zusammen.
- Durch eine zusammen mit den Eingangsdaten gegebene Eingangsvariablennummer wird auf einen Speicherplatz, der einem Paar entspricht, das zu einer durch die Eingangsvariablennummer spezifizierten Eingangsvariablen gehort, im Regelanzahlbereich zugegriffen. Im einzelnen kann, in Fig. 30, der Zähler i, der eine Relativadresse des Regelanzahlbereichs angibt, voreingestellt werden, wenn Eingangsdaten empfangen werden, indem eine Eingangsvariablennummer den Eingangsdaten hinzugefügt wird. Beispielsweise kann i als 0, 7, 14 bzw. 21 genommen werden, wenn die Eingangsvariable x1, x2, x3 und x4 ist. In Fig. 30 ist die Initialisierungsverarbeitung des Schritts 82 nicht erforderlich.
- Im RAM 11 ist ein Prozeßabschlußkennzeichenbereich, wie in Fig. 13 gezeigt, vorgesehen zur Beurteilung, ob die Vordersatzverarbeitung in Bezug auf alle Eingangsvariablen abgeschlossen ist oder nicht.
- Der Prozeßabschlußkennzeichenbereich speichert Prozeßabschlußkennzeichen in Übereinstimmung mit Eingangsvariablen. Das Prozeßabschlußkennzeichen wird anfänglich auf zurückgesetzt und anstelle der Verarbeitung des in Fig. 30 gezeigten Schritts 92 auf 1 gesetzt, wenn eine Vordersatzverarbeitung in Bezug auf eine Eingangsvariable abgeschlossen ist. Wenn bestätigt wird, daß die Prozeßabschlußkennzeichen in Bezug auf alle Eingangsvariable auf 1 gesetzt sind, schreitet das Programm zu einer MAX-Operation der Übereinstimmungsgrade zwischen Regeln mit dem gleichen Hintersatz fort (Schritt 45), anstelle der Beurteilung in dem in Fig. 30 gezeigten Schritt 93.
- Auf die oben beschriebene Weise ist es auch, wenn Eingangsdaten in einer beliebigen Reihenfolge gegeben werden, möglich, eine Vordersatzverarbeitung in Bezug auf vorhergehende Eingangsdaten durchzuführen, die während der Übertragung der nachfolgenden Eingangsdaten gegeben worden sind, wie dies in Fig. 16 gezeigt ist.
- Bei der oben beschriebenen fünften Ausführungsform und ihrem modifizierten Beispiel wird angenommen, daß eine Vordersatzverarbeitung in Bezug auf vorher empfangene Eingangsdaten während einer kurzen Zeitdauer abgeschlossen wird, die abgelaufen ist, bis die Übertragung von nachfolgend übertragenen Eingangsdaten abgeschlossen ist, wie dies aus den Fig. 5 und 16 ersichtlich ist.
- Wenn es verhältnismäßig lange dauert, eine Vordersatzverarbeitung in Bezug auf eine einzelne Eingangsvariable durchzuführen, weil die Anzahl der Regeln groß ist, oder wenn die Übertragungsrate von Eingangsdaten verhältnismäßig hoch ist, tritt eine Situation auf, wo während der Durchführung einer Vordersatzverarbeitung in Bezug auf eine vorhergehende Eingangsvariable von vorher empfangenen Eingangsdaten der Empfang nachfolgender Eingangsdaten abgeschlossen wird. Nicht weniger als zwei Eingangsdaten können in einigen Fällen aufeinanderfolgend während der Ausführung der Vordersatzverarbeitung in Bezug auf die vorhergehenden Eingangsdaten empfangen werden.
- Die nachfolgend empfangenen Eingangsdaten werden zwischengespeichert, wodurch es möglich wird, mit einer solchen Situation wie in der oben beschriebenen vierten Ausführungsform fertig zu werden.
- Es gibt zwei Verfahren der Zwischenspeicherung von nachfolgenden Eingangsdaten.
- Eines ist ein Verfahren der Zwischenspeicherung von empfangenen Eingangsdaten in einem Speicher, wie etwa einem RAM, durch eine Unterbrechungsverarbeitung, die als Auslöser ein Empfangsabschlußsignal der Eingangsdaten verwendet.
- Wie in Fig. 25 gezeigt, auf welche in der vierten Ausführungsform Bezug genommen wird, wird nach einem Empfang von einer Eingangsvariable x1 betreffenden Eingangsdaten (die in manchen Fällen eine Eingangsvariablennummer enthalten) eine Vordersatzverarbeitung in Bezug auf die Eingangsvariable x1 durchgeführt. Wenn die nachfolgende Eingangsvariable x2 betreffende Eingangsdaten während der Ausführung der Vordersatzverarbeitung in Bezug auf die Eingangvariable x1 empfangen werden, wird die Vordersatzverarbeitung in Bezug auf die Eingangsvariable x1 vorübergehend unterbrochen und die Speicherverarbeitung (Unterbrechungsverarbeitung) der empfangenen Eingangsdaten betreffend die Eingangsvariable x2 im RAM 11 durchgeführt. Wenn die Speicherverarbeitung der die Eingangsvariable x2 betreffenden Eingangsdaten im RAM 11 abgeschlossen ist, wird die Vordersatzverarbeitung in Bezug auf die Eingangsvariable x1 wieder aufgenommen. Das gleiche gilt fur einen Fall, wo während der Durchführung einer Vordersatzverarbeitung in Bezug auf eine weitere Eingangsvariable Eingangsdaten betreffend eine wiederum weitere Eingangsvariable empfangen werden. Die Verarbeitung des in Fig. 30 gezeigten Schritts 33 wird durch die Verarbeitung zur Prüfung, ob es empfangene und im RAM 11 gespeicherte Eingangsdaten gibt, ersetzt.
- Das zweite Verfahren der Zwischenspeicherung von nachfolgenden Eingangsdaten ist eines, welches einen FIFO(First in First Out)-Speicher verwendet.
- Durch eine serielle Übertragungsschnittstelle 13 empfangene Eingangsdaten (die in einigen Fällen eine den Eingangsdaten hinzugefügte Eingangsvariablennummer enthalten) werden in dem FIFO-Speicher in der Reihenfolge, in der sie empfangen werden, gespeichert.
- Die CPU 10 nimmt auf den FIFO-Speicher anstelle der Verarbeitung des in Fig. 30 gezeigten Schritts 33 jedesmal Bezug, wenn eine Vordersatzverarbeitung in Bezug auf jede Eingangsvariable abgeschlossen ist, um zu prüfen, ob nachfolgend zu verarbeitende Eingangsdaten im FIFO-Speicher zwischengespeichert sind. Wenn Eingangsdaten im FIFO-Speicher gespeichert sind, werden die Eingangsdaten aus dem FIFO-Speicher in der Reihenfolge, in der sie empfangen werden, ausgelesen, um eine Vordersatzverarbeitung in Bezug auf die gelesenen Eingangsdaten durchzuführen. Wenn andererseits keine Eingangsdaten gespeichert sind, wartet die Steuerung, bis Eingangsdaten empfangen sind.
- Wie in Fig. 26, auf die in der vierten Ausführungsform Bezug genommen worden ist, gezeigt ist, wird, nachdem Eingangsdaten betreffend die erste Eingangsvariable x1 empfangen worden sind, eine Vordersatzverarbeitung für jede Eingangsvariable aufeinanderfolgend durchgeführt, solange nachfolgend zu verarbeitende Eingangsdaten im FIFO-Speicher vorliegen.
- Bei der oben beschriebenen Ausführungsform ist es auch möglich, den Regelanzahlbereich wegzulassen. In diesem Fall wird eine Tabelle, die eine Entsprechung zwischen einer Startadresse am Anfang der Speicherplätze, die für jede Eingangsvariable im Regelnummembereich gruppiert sind, und der Eingangsvariablen angibt, vorgesehen, so daß auf den Regelnummembereich durch eine Eingangsvariablennummer der Eingangsvariablen zugegriffen werden kann. Außerdem kann ein Endcode am Ende der Speicherplätze, die für jedes identische Paar (ein Paar aus einer Eingangsvariablen und einem Label) gruppiert sind, gespeichert werden, so daß die gruppierten Speicherplätze unterschieden werden können.
- Wenn ferner eine Tabelle, die eine Entsprechung zwischen einer Startadresse von Speicherplätzen, die für jede Eingangsvariable gruppiert sind, und der Eingangsvariablennummer angibt, in dem in Fig. 28 gezeigten Regelanzahlbereich vorgesehen ist, ist es nicht nötig, Daten anzuordnen, die jeweils die Regelanzahl in der Reihenfolge voneingangsvariablennummern darstellen.
- Wie in Vorstehendem beschrieben, kann ein Fuzzy-Schlußfolgerungsprozessor gemäß der vorliegenden Erfindung nicht nur durch einen Allzweck-Computer, sondern auch durch einen Hardware-Prozessor mit einer speziell für eine Fuzzy-Schlußfolgerungsverarbeitung bestimmten Architektur realisiert sein.
- Fig. 31 veranschaulicht ein Beispiel, bei welchem ein Fuzzy-Schlußfolgerungsprozessor durch eine Hardware-Schaltungsanordnung realisiert ist. Dieser Schaltungsblock läßt sich auch als einer verstehen, bei welchem eine Anzahl von Funktionen eines Allzweckprozessors (Computers), der so programmiert ist, daß er eine Fuzzy-Schlußfolgerungsverarbeitung zuläßt, durch Blöcke ausgedrückt ist. Folglich muß jeder Schaltungsabschnitt bzw. jedes Schaltungsmittel als eines interpretiert werden, das nicht nur eine Hardware- Schaltung, sondern auch einen Teil eines Computers umfaßt, der so programmiert ist, daß er eine Fuzzy-Schlußfolgerungsverarbeitung zuläßt.
- Durch die in Fig. 31 gezeigte Anordnung werden die oben beschriebene erste und zweite Ausführungsform folgendermaßen realisiert.
- Ein Empfangsschaltungsabschnitt 101, der der seriellen Übertragungsschnittstelle 13 entspricht, empfängt ein Eingangsvariablensignal, welches Eingangsdaten darstellt, und führt das empfangene Eingangsvariablensignal einem Übereinstimmungsoperationsschaltungsabschnitt 102 der nachfolgenden Stufe zu.
- Der Übereinstimmungsoperationsschaltungsabschnitt 102 umfaßt eine Anzahl von Zugehörigkeitsfunktionsschaltungsabschnitten 111. Alle in Vordersätzen aller gesetzten Regeln enthaltenen Zugehörigkeitsfunktionen werden jeweils in Zu gehörigkeitsfunktionsschaltungsabschnitten 111 gesetzt. Beispielsweise sind sieben Zugehörigkeitsfunktionsschaltungsabschnitte 111 vorgesehen, bei welchen die oben beschriebenen Zugehörigkeitsfunktionen mit den Labeln PL, PM, PS, ZR, NS, NM und NL jeweils gesetzt sind. Wenn das Eingangsdaten darstellende Eingangsvariablensignal gegeben wird, geben die Zugehörigkeitsfunktionsschaltungsabschnitte 111 jeweils Übereinstimmungssignale aus, die die Grade von Zugehörigkeit der Eingangsdaten zu den Zugehörigkeitsfunktionen (Zugehörigkeitsfunktionswerte oder -grade) darstellen.
- Ein im Übereinstimmungsoperationsschaltungabschnitt 102 enthaltener Steuerschaltungsabschnitt 112 umfaßt einen Speicherschaltungsabschnitt, der Regeln speichert, wie in Fig. 3 (erste Ausführungsform) oder Fig. 8 (zweite Ausführungsform) gezeigt. Der Steuerschaltungsabschnitt 112 steuert, wenn ein Eingangsvariablensignal aufgegeben wird, einen Demultiplexerabschnitt 113 und einen Multiplexerabschnitt 114 so, daß das Eingangsvariablensignal dem Zugehörigkeitsfunktionsschaltungsabschnitt 111, in welchem die Zugehörigkeitsfunktionen in den Vordersätzen gesetzt sind, zu welchen eine Eingangsvariable des Eingangsvariablensignals gehört, über den Demultiplexerabschnitt 113 sequentiell (in einer konstanten Periode) eingegeben wird, und die von den ausgewählten Zugehörigkeitsfunktionsschaltungsabschnitten 111, denen das Eingangsvariablensignal eingegeben wird, ausgegebenen Übereinstimmungssignale werden einem Vergleichsschaltungsabschnitt 121 der nachfolgenden Stufe über den Multiplexerabschnitt 114 sequentiell (synchron mit der oben beschriebenen Periode) eingegeben. Wenn das Eingangsvariablensignal aufgegeben wird, werden daher die Übereinstimmungsgrade mit allen Zugehörigkeitsfunktionen in den Vordersätzen, zu welchen eine Eingangsvariable des Eingangsvariablensignals in Beziehung steht, für jede der Regeln (nicht alle Regeln) sequentiell gewonnen.
- Ein MIN-Wertspeicherschaltungsabschnitt 122, welcher den im RAM 11 gesetzten MIN-Registern entspricht, speichert den Minimalwert der Übereinstimmungsgrade für jede Regel in Bezug auf alle Regeln. Dieser Minimalwert wird auf 1 (den Maximalwert) vor einer Fuzzy-Schlußfolgerungsverarbeitung initialisiert.
- Jedesmal, wenn ein Übereinstimmungssignal dem Vergleichsschaltungsabschnitt 121 eingegeben wird, wird der Minimalwert der Übereinstimmungsgrade für eine Regel, zu der das Übereinstimmungssignal in Beziehung steht, aus dem MIN- Wertspeicherschaltungsabschnitt 122 unter der Steuerung durch den Steuerschaltungsabschnitt 112 ausgelesen und auf den Vergleichsschaltungsabschnitt 121 gegeben. Der Vergleichsschaltungsabschnitt 121 vergleicht den durch das eingegebene Übereinst immungs signal dargestellten Übereinstimmungsgrad mit dem aus dem MIN-Wertspeicherschaltungsabschnitt 122 ausgelesenen Minimalwert, um ein Ausgangssignal zu erzeugen, wenn der Übereinstimmungsgrad kleiner als der Minimalwert ist. Ein Gate-Abschnitt 123 wird durch das Ausgangssignal freigeschaltet. Dementsprechend wird das Übereinstimmungssignal auf den MIN-Wertspeicherschaltungsabschnitt 122 über den Gate-Abschnitt 123 aufgegeben, und der in dem Speicherschaltungsabschnitt 122 gespeicherte Minimalwert wird durch den durch das Übereinstimmungssignal dargestellten Übereinstimmungsgrad ersetzt, um den Minimalwert zu aktualisieren.
- Der oben beschriebene Vorgang wird jedesmal, wenn ein Eingangsvariablensignal eingegeben wird, ausgeführt. Wenn alle Eingangsvariablensignale eingegeben und alle Operationen in Bezug auf die Eingangsvariablensignale durchgeführt sind, wird der Minimalwert der Übereinstimmungsgrade für jede Regel aus dem MIN-Wertspeicherschaltungsabschnitt 122 auf einen Hintersatzverarbeitungsschaltungsabschnitt 103 übertragen, so daß die gleiche Hintersatzoperation wie die Verarbeitung in den Schritten 45 bis 47 durchgeführt wird, um das Schlußfolgerungsendergebnis auszugeben.
- Bei der dritten Ausführungsform ist ein Eingangsvariablensignal durch ein Eingangssignal, das Eingangsdaten darstellt, und ein Codesignal, das eine Eingangsvariablennummer darstellt, gebildet. Der Empfangsschaltungsabschnitt 101 führt, wenn er das Eingangsvariablensignal erhält, das Eingangssignal dem Demultiplexerabschnitt 113 und das Codesignal dem Steuerschaltungsabschnitt 112 zu. Regeldaten in einer Anordnung, wie sie in Fig. 14 gezeigt ist, werden in dem Steuerschaltungsabschnitt 112 gesetzt. Wenn das Codesignal aufgegeben wird, steuert der Steuerschaltungsabschnitt 112 den Demultiplexerabschnitt 113 und den Multiplexerabschnitt 114 nach Maßgabe von Regeldaten, die zu einer Eingangsvariablen in Beziehung stehen, die durch die durch das Codesignal dargestellte Eingangsvariablennummer spezifiziert ist.
- Bei der vierten Ausführungsform umfaßt der Empfangsschaltungsabschnitt 101 einen Speicherschaltungsabschnitt, der dem Pufferspeicher 114 oder dem FIFO-Speicher 25 entspricht, und führt ein in dem Speicherschaltungsabschnitt gespeichertes Eingangsvariablensignal dem Übereinstimmungsoperationsschaltungsabschnitt 102 jedesmal zu, wenn eine Operationsverarbeitung in Bezug auf das vorhergehende Eingangsvariablensignal beendet ist.
- Die vorliegende Erfindung wurde im einzelnen beschrieben und dargestellt, es versteht sich jedoch, daß dies allein der Veranschaulichung und als Beispiel dient und nicht einschränkend zu nehmen ist, da die vorliegende Erfindung nur durch den Inhalt der beigefügten Ansprüche begrenzt wird.
Claims (43)
1. Fuzzy-Schlußfolgerungsverarbeitungsverfahren mit den
Schritten des
vorhergehenden Einstellens einer Anzahl von Regeln,
wobei jede Regel wenigstens eine in einem Vordersatzteil der
Regeln enthaltene Eingangsvariable mit wenigstens einer
einen Hintersatzteil enthaltenden Ausgangsvariablen in
Beziehung setzt, wobei Zugehörigkeitsfunktionen verwendet
werden,
Ausführens einer Verarbeitung von Vordersatzteilen
gemäß jeder der Regeln, welches ein Anwenden von gegebenen
Eingangsdaten der Eingangsvariablen auf die entsprechende
Vordersatzzugehörigkeitsfunktion enthält, und
Ausführens einer Verarbeitung von Hintersatzteilen
gemäß den Regeln, welches ein Anwenden des Ergebnisses der
Verarbeitung von Vordersatzteilen gemäß der entsprechenden
Hintersatzzugehörigkeitsfunktion enthält,
gekennzeichnet durch das Ausführen der
Vordersatzverarbeitung für jede Eingangsvariable in der Reihenfolge der
Erzeugung der Eingangsdaten der Eingangsvariablen
hinsichtlich aller Regeln, zu welchen eine Eingangsvariable, deren
Eingangsdaten erzeugt werden, in Beziehung steht, in dem
Ausmaß der Benutzung des Teils des
Vordersatzverarbeitungsergebnisses, der unter Verwendung der bereits so erzeugten
Eingangsdaten gewonnen ist (Schritte 33 - 44, 48, 49,
51 -55, 83 - 93).
2. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 1, gekennzeichnet durch eine Ausführung der
Verarbeitung von Vordersatzteilen, wenn Eingangsdaten erzeugt
und gegeben werden, in Bezug auf alle Regeln, zu welchen die
Eingangsvariable der erzeugten Eingangsdaten in Beziehung
steht (Schritte 33 - 44, 49, 52 - 55).
3. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 1, dadurch gekennzeichnet, daß das Verfahren die
Schritte des vorübergehenden Speicherns der erzeugten
Eingangsdaten, wenn Eingangsdaten erzeugt und gegeben werden,
(Schritt 48) und nachfolgenden Ausführens einer Verarbeitung
von Vordersatzteilen in Bezug auf alle Regeln, zu welchen
die Eingangsvariable der gespeicherten Eingangsdaten in
Beziehung steht (Schritte 35 - 44, 49, 52 - 55), aufweist.
4. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 1, dadurch gekennzeichnet, daß das Verfahren die
Schritte des vorübergehenden Speicherns (Schritt 61) der
erzeugten und gegebenen Eingangsdaten in Speichermittel (14,
25), des nachfolgenden Auslesens (Schritt 72) der in den
Speichermitteln gespeicherten Eingangsdaten und des
Ausführens der Verarbeitung von Vordersatzteilen in Bezug auf alle
Regeln, zu welchen die Eingangsvariable der ausgelesenen
Eingangsdaten in Beziehung steht, aufweist.
5. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 1, dadurch gekennzeichnet, daß das Verfahren ferner
die Schritte des
vorhergehenden Einschließens in den Vordersatz einer
jeden einer Anzahl von Regeln aller in allen Regeln
enthaltenen Eingangsvariablen sowie des Inbeziehungsetzens einer
Zugehörigkeitsfunktion zur Eingangsvariablen oder einer
Zuordnung eines Codes (S; Fig. 3) zu der Eingangsvariablen,
zu der keine Zugehörigkeitsfunktion in Beziehung steht, und
Feststellens in der Verarbeitung von Vordersatzteilen
in Bezug auf jede der Eingangsvariablen, ob eine
Zugehörigkeitsfunktion zu der Eingangsvariablen für jede Regel in
Beziehung steht oder nicht, um in Bezug auf eine
Eingangsvariable, zu der eine Zugehörigkeitsfunktion in Beziehung
steht, den Grad der Übereinstimmung von die Eingangsvariable
betreffenden Eingangsdaten mit der in Beziehung stehenden
Zugehörigkeitsfunktion herauszufinden (Schritte 37, 39, 40,
49), aufweist.
6. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 1, dadurch gekennzeichnet, daß das Verfahren den
Schritt des vorhergehenden Setzens von Paaren von
Eingangsvariablen und Zugehörigkeitsfunktionen, die Vordersatzteile
einer Anzahl von Regeln bilden, für jede Eingangsvariable
und in Verbindung mit Identifikationscodes der Regeln
aufweist (Fig. 8, 14).
7. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 1, dadurch gekennzeichnet, daß das Verfahren die
Schritte des
vorhergehenden Setzens von Paaren von Eingangsvariablen
und Zugehörigkeitsfunktionen, die Vordersatzteile einer
Anzahl von Regeln bilden, für jede Eingangsvariable in
Übereinstimmung mit einem Code, der eine Eingangsvariable
angibt, und in Verbindung mit Identifikationscodes der Regeln
(Fig. 14),
Gebens der erzeugten Eingangsdaten mit einem
hinzugefügten Code, der die Eingangsvariable der Eingangsdaten
angibt (Fig. 12),
Feststellens des die Eingangsvariable angebenden Codes,
der den gegebenen Eingangsdaten hinzugefügt ist (Schritt
52), und
Durchführens der Verarbeitung von Vordersatzteilen in
Bezug auf Paare von Eingangsvariablen und
Zugehörigkeitsfunktionen, die in Übereinstimmung mit dem die
Eingangsvariable angebenden festgestellten Code gesetzt sind (Schritte
38
- 40, 42, 44, 49), aufweist.
8. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 7, gekennzeichnet durch das Feststellen (Schritt
52), wenn Eingangsdaten gegeben werden, des zu den
Eingangsdaten hinzugefügten Codes, der die Eingangsvariable angibt,
um die Verarbeitung von zugehörigen Vordersatzteilen zu
beginnen.
9. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 7, dadurch gekennzeichnet, daß das Verfahren die
Schritte des
Speicherns (Schritt 61) von gegebenen Eingangsdaten
zusammen mit dem die Eingangsvariable angebenden
hinzugefügten Codes in Speichermitteln (14, 25),
Bestimmens (Schritt 71), ob in den Speichermitteln
Eingangsdaten gespeichert sind oder nicht, und
Auslesens (Schritt 72), wenn Eingangsdaten gespeichert
sind, des eine Eingangsvariable angebenden, den
Eingangsdaten hinzugefügten Codes, um den Code zu bestimmen,
aufweist.
10. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 9, gekennzeichnet durch das Speichern, wenn
Eingangsdaten gegeben werden, der gegebenen Eingangsdaten in
den Speichermitteln durch eine Unterbrechungsverarbeitung
(Fig. 20).
11. Fuzzy-Schlußfolgerungsverfahren nach Anspruch 9,
dadurch gekennzeichnet, daß die Speichermittel ein FIFO-
Speicher (25) sind, so daß Eingangsdaten in dem
FIFO-Speicher in der Reihenfolge, in der sie gegeben werden,
gespeichert und aus dem FIFO-Speicher in der Reihenfolge, in der
sie gegeben werden, ausgelesen werden.
12. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
irgendeinem der Ansprüche 1 bis 11, dadurch gekennzeichnet,
daß die Vordersatzverarbeitung zur Gewinnung der Grade von
Übereinstimmung der Eingangsdaten mit
Zugehörigkeitsfunktionen, die zu der Eingangsvariablen der gegebenen
Eingangsdaten durch eine Regel in Beziehung stehen, und zu einer
Ausführung, für jede Regel, einer bestimmten Operation der
Grade von Übereinstimmung, die bereits in Bezug auf die im
Vordersatz der Regel enthaltene Eingangsvariable gewonnen
ist, dient.
13. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 12, dadurch gekennzeichnet, daß die bestimmte
Operation eine MIN-Operation ist.
14. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
irgendeinem der Ansprüche 1 bis 11, dadurch gekennzeichnet,
daß das Verfahren ferner den Schritt (Schritt 45) der
Ausführung, nach Abschluß der Vordersatzverarbeitung in Bezug
auf alle Eingangsvariablen, einer bestimmten Operation der
Ergebnisse der Vordersatzverarbeitung zwischen Regeln, die
den gleichen Hintersatz haben, aufweist.
15. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 14, dadurch gekennzeichnet, daß die bestimmte
Operation eine MAX-Operation ist.
16. Fuzzy-Schlußfolgerungsverarbeitungsverfahren,
dadurch gekennzeichnet, daß das Verfahren die Schritte des
vorhergehenden Setzens, in einem Speicher (11), der
Beziehung zwischen Paaren von Eingangsvariablen und
Zugehörigkeitsfunktionen, die Vordersätze einer Anzahl von Regeln
bilden, und von Regelnummern für jede Eingangsvariable (Fig.
27 - 29) , und
Ausführens der Vordersatzverarbeitung für jede
Eingangsvariable in Bezug auf alle der Paare, mit welchen eine
solche Eingangsvariable, deren Eingangsdaten erzeugt werden,
in Beziehung steht (Schritte 33, 39, 40, 81 - 93), aufweist.
17. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 16, gekennzeichnet durch die Schritte des
vorhergehenden Zuordnens einer bestimmten Reihenfolge zu Paaren von
Eingangsvariablen und Zugehörigkeitsfunktionen und des
Vorsehens, in dem Speicher, eines Regelnnummernbereichs, der
Regelnummern, die jeweils zu den Paaren in Beziehung stehen,
an der Reihenfolge folgenden Adressen speichert.
18. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 17, dadurch gekennzeichnet, daß das Verfahren die
Schritte des
Vorsehens, in dem Speicher, eines Regelanzahlbereichs,
der vorhergehend die Anzahl der Regeln speichert, die jedes
der Paare von Eingangsvariablen und Zugehörigkeitsfunktionen
enthalten, und des
Zugreifens auf den Regelnummembereich unter Bezugnahme
auf den Regelanzahlbereich bei einer Verarbeitung von
Vordersatzteilen in Bezug auf eine Eingangsvariable gegebener
Eingangsdaten aufweist.
19. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 18, gekennzeichnet durch die Schritte des
vorhergehenden Zuordnens einer bestimmten Reihenfolge zu Paaren, die
durch alle Kombinationen von Eingangsvariablen und
Zugehörigkeitsfunktionen hervorgebracht sind, in dem
Regelanzahlbereich und Speicherns der Anzahlen der Regeln, die jedes
der Paare enthalten, an jeder von der Reihenfolge folgenden
Adressen.
20. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 16, gekennzeichnet durch den Schritt der Ausführung
der Verarbeitung von Vordersatzteilen, wenn die erzeugten
Eingangsdaten gegeben werden, in Bezug auf alle der Paare,
die zu einer Eingangsvariablen der gegebenen Eingangsdaten
in Beziehung stehen.
21. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 16, gekennzeichnet durch die Schritte des
vorübergehenden Speicherns der erzeugten und gegebenen
Eingangsdaten in Speichermitteln (14, 25), sequentiellen Auslesens
von in den Speichermitteln gespeicherten Eingangsdaten und
Ausführens der Verarbeitung von Vordersatzteilen in Bezug
auf alle der Paare, die zu den Eingangsvariablen der
ausgelesenen Eingangsdaten in Beziehung stehen.
22. Fuzzy-Schlußfolgerungsverarbeitungsverfahren nach
Anspruch 16, gekennzeichnet durch die Schritte des
Hinzufügens eines Codes zu Eingangsdaten, der eine Eingangsvariable
der Eingangsdaten angibt, Feststellens des Codes und
Durchführens einer Verarbeitung von Vordersatzteilen in Bezug auf
die durch den Code angegebene Eingangsvariable.
23. Fuzzy-Schlußfolgerungsprozessor mit
Speichermitteln (11, 21, 22, 111) zur Speicherung einer
Anzahl von Regeln, von denen jede wenigstens eine
Eingangsvariable eines Vordersatzes der Regeln mit wenigstens einer
Ausgangsvariablen eines Hintersatzteils der Regeln in
Beziehung setzt, wobei Zugehörigkeitsfunktionen verwendet werden,
Mitteln zur Verarbeitung von Vordersatzteilen der
Anzahl von Regeln (10, 102, 121, 122, 123) zur Ausführung
einer Verarbeitung eines Vordersatzteils einer jeder der
Regeln, wobei die Mittel Mittel zur Aufgabe gegebener
Eingangsdaten der Eingangsvariablen auf die entsprechende
Vordersatzzugehörigkeitsfunktion aufweisen, und
Mitteln zur Verarbeitung von Hintersatzteilen der
Anzahl von Regeln (10, 103) zur Ausführung einer Verarbeitung
eines Hintersatzteils, welches das Aufgeben des Ergebnisses
der Vordersatzverarbeitung von Vordersatzteilen auf die
entsprechende Hintersatzzugehörigkeitsfunktionen enthält,
dadurch gekennzeichnet, daß der
Fuzzy-Schlußfolgerungsprozessor ferner Steuermittel (10, 112, 113, 114) aufweist
zur Bewirkung, daß die Mittel zur Verarbeitung von
Vordersatzteilen die Verarbeitung von Vordersatzteilen für jede
Eingangsvariable in der Reihenfolge der Erzeugung der
Eingangsdaten der Eingangsvariablen hinsichtlich aller Regeln,
zu welchen eine Eingangsvariable, deren Eingangsdaten
erzeugt werden, in Beziehung stehen, im Ausmaß der Benutzung
des Teils des Ergebnisses der Verarbeitung von
Vordersatzteilen, das unter Verwendung der bereits erzeugten
Eingangsdaten gewonnen ist, durchführen.
24. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 23,
dadurch gekennzeichnet, daß die Steuermittel die Mittel zur
Verarbeitung von Vordersatzteilen so steuern, daß die
Verarbeitung von Vordersatzteilen in Bezug auf eine
Eingangsvariable der gegebenen Eingangsdaten durchgeführt wird, wenn
die erzeugten Eingangsdaten gegeben werden.
25. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 23,
dadurch gekennzeichnet, daß der Prozessor ferner
Speichermittel (14, 25) zur vorübergehenden Speicherung von
gegebenen Eingangsdaten aufweist, wobei
die Speichermittel die Vordersatzverarbeitungsmittel so
steuern, daß die in den Speichermitteln gespeicherten
Eingangsdaten sequentiell ausgelesen werden und die
Vordersatzverarbeitung in Bezug auf eine Eingangsvariable der
ausgelesenen Eingangsdaten durchgeführt wird.
26. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 23,
dadurch gekennzeichnet, daß
die Speichermittel vorhergehend eine Anzahl von Regeln
speichern, die jeweils einen Vordersatz aufweisen, der durch
Einschluß aller Eingangsvariablen, die in allen Regeln
enthalten sind, und in Inbeziehungsetzen einer
Zugehörigkeitsfunktion zu der Eingangsvariablen oder zuordnung eines Codes
zu der Eingangsvariablen, zu der keine
Zugehörigkeitsfunktion in Beziehung steht, gebildet ist, und
die Vordersatzverarbeitungsmittel bei der Verarbeitung
von Vordersatzteilen in Bezug auf jede der Eingangsvariablen
feststellen, ob eine Zugehörigkeitsfunktion der
Eingangsvariablen für jede Regel zugeordnet ist, um eine
Vordersatzoperation in Bezug auf nur eine Eingangsvariable, zu der
eine Zugehörigkeitsfunktion in Beziehung steht,
durchzuführen.
27. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 23,
dadurch gekennzeichnet, daß
die Speichermittel Paare von Eingangsvariablen und
Zugehörigkeitsfunktionen, die Vordersätze einer Anzahl von
Regeln bilden, für jede Eingangsvariable und in Verbindung
mit Identifikationscodes der Regeln setzen, und
die Verarbeitungsmittel von Vordersatzteilen die
Vordersatzverarbeitung für jede Eingangsvariable in einer
solchen Weise durchführen, daß die Verarbeitung von
Vordersatzteilen in Bezug auf alle der Paare durchgeführt wird, mit
welchen eine Eingangsvariable in Beziehung steht, deren
Eingangsdaten erzeugt werden.
28. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 23,
dadurch gekennzeichnet, daß
die Speichermittel Paare von Eingangsvariablen und
Zugehörigkeitsfunktionen, die Vordersätze einer Anzahl von
Regeln bilden, für jede Eingangsvariable in Übereinstimmung
mit einem Code, der eine Eingangsvariable angibt, und in
Verbindung mit Identifikationscodes der Regeln speichern,
und
die Steuermittel einen eine Eingangsvariable angebenden
und gegebenen Eingangsdaten hinzugefügten Code feststellen,
um zu bewirken, daß die Mittel zur Verarbeitung von
Vordersatzteilen die Verarbeitung von Vordersatzteilen in Bezug
auf Paare aus einer Eingangsvariablen und gesetzten
Zugehörigkeitsfunktionen in Übereinstimmung mit dem die
Eingangsvariable angebenden festgestellten Code durchführen.
29. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 28,
dadurch gekennzeichnet, daß
die Steuermittel eine solche Steuerung ausführen, daß,
wenn die Eingangsdaten gegeben werden, ein eine
Eingangsvariable angebender und den Eingangsdaten hinzugefügter Code
festgestellt wird, um die Verarbeitung von Vordersatzteilen
zu beginnen.
30. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 28,
dadurch gekennzeichnet, daß er ferner Speichermittel (14,
25) zur vorübergehenden Speicherung von gegebenen
Eingangsdaten zusammen mit einem eine Eingangsvariable angebenden
hinzugefügten Code aufweisen, wobei
die Steuermittel feststellen, ob Eingangsdaten in den
Speichermitteln gespeichert sind, einen den Eingangsdaten
hinzugefügten und eine Eingangsvariable angebenden Code
auslesen, wenn Eingangsdaten gespeichert sind, und den Code
feststellen.
31. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 30,
dadurch gekennzeichnet, daß er ferner
Unterbrechungsverarbeitungsmittel (10) zur Speicherung, wenn Eingangsdaten
gegeben werden, der gegebenen Eingangsdaten in den
Speichermitteln durch Unterbrechungsverarbeitung aufweist.
32. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 30,
dadurch gekennzeichnet, daß die Speichermittel ein FIFO-
Speicher sind, so daß Eingangsdaten in dem FIFO-Speicher in
der Reihenfolge, in der sie gegeben werden, gespeichert und
in der Reihenfolge, in der sie gegeben werden, aus dem FIFO-
Speicher ausgelesen werden.
33. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 23,
dadurch gekennzeichnet, daß die Mittel zur Verarbeitung von
Vordersatzteilen zur Gewinnung der Grade an Übereinstimmung
der Eingangsdaten mit Zugehörigkeitsfunktionen, die zur
Eingangsvariablen der Eingangsdaten durch die Regel in
Beziehung stehen, und zur Durchführung, für jede Regel, einer
vorgegebenen Operation des bereits gewonnenen Grades an
Übereinstimmung in Bezug auf die Eingangsvariable, die im
Vordersatz der Regel enthalten ist, dienen.
34. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 33,
dadurch gekennzeichnet, daß die bestimmte Operation eine
MIN-Operation ist.
35. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 23,
dadurch gekennzeichnet, daß die Mittel zur Verarbeitung von
Vordersatzteilen nach Abschluß der Verarbeitung von
Vordersatzteilen in Bezug auf alle Eingangsvariablen eine
bestimmte Operation der Ergebnisse der Verarbeitung von
Vordersatzteilen zwischen Regeln mit dem gleichen Hintersatz
ausführen.
36. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 35,
dadurch gekennzeichnet, daß die bestimmte Operation eine
MAX-Operation ist.
37. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 23,
dadurch gekennzeichnet, daß
die Beziehung zwischen Paaren von Eingangsvariablen und
Zugehörigkeitsfunktionen, die Vordersätze einer Anzahl von
Regeln bilden, und Regelnnummern vorab in den
Speichermitteln für jede Eingangsvariable eingestellt werden,
die Vordersatzverarbeitungsmittel die Verarbeitung von
Vordersatzteilen in Bezug auf alle der Paare, mit welchen
die Eingangsvariable der erzeugten und gegebenen
Eingangsdaten in Beziehung steht, durchführen, und
die Steuermittel nach Abschluß der
Vordersatzverarbeitung mit den Mitteln zur Verarbeitung von Vordersatzteilen
in Bezug auf eine Eingangsvariable Eingangsdaten, die eine
andere Eingangsvariable betreffen, auf die Mittel zur
Verarbeitung von Vordersatzteilen geben.
38. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 37,
dadurch gekennzeichnet, daß die Speichermittel einen
Regelnummembereich aufweisen, wobei
der Regelnummembereich an Adressen, die der
vorhergehend Paaren von Eingangsvariablen und
Zugehörigkeitsfunktionen zugeordneten Reihenfolge folgen, auf die Paare bezogene
Regelnnummern speichert.
39. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 38,
dadurch gekennzeichnet, daß der Speicher einen
Regelanzahlbereich aufweist, wobei
der Regelanzahlbereich vorab die Anzahlen der Regeln
speichert, die jedes der Paare von Eingangsvariablen und
Zugehörigkeitsfunktionen enthalten, wobei auf die
Regelnnummern unter Bezugnahme auf den Regelanzahlbereich bei der
Vordersatzverarbeitung in Bezug auf die Eingangsvariable der
gegebenen Eingangsdaten zugegriffen wird.
40. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 39,
dadurch gekennzeichnet, daß der Regelanzahlbereich die
Anzahlen der Regeln, die jedes von Paaren enthalten, die durch
alle Kombinationen von Eingangsvariablen und
Zugehörigkeitsfunktionen hervorgebracht sind, an jeder von Adressen
speichert, die der vorhergehend den Paaren zugeordneten
Reihenfolge folgen.
41. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 37,
dadurch gekennzeichnet, daß die Speichermittel die
Vordersatzverarbeitungsmittel so steuern, daß eine Verarbeitung
von Vordersatzteilen in Bezug auf die Eingangsvariable der
gegebenen Eingangsdaten durchgeführt wird, wenn die
erzeugten Eingangsdaten gegeben werden.
42. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 37,
dadurch gekennzeichnet, daß er ferner Speichermittel (14,
25) zur vorübergehenden Speicherung von gegebenen
Eingangsdaten aufweist, wobei
die Speichermittel die Vordersatzverarbeitungsmittel so
steuern, daß sie die in den Speichermitteln gespeicherten
Eingangsdaten sequentiell auslesen und die Verarbeitung von
Vordersatzteilen in Bezug auf die Eingangsvariable der
ausgelesenen Eingangsdaten durchführen.
43. Fuzzy-Schlußfolgerungsprozessor nach Anspruch 37,
dadurch gekennzeichnet, daß ein eine Eingangsvariable der
Eingangsdaten angebender Code den Eingangsdaten hinzugefügt
ist, wobei
die Speichermittel die Mittel zur Verarbeitung von
Vordersatzteilen so steuern, daß der Code festgestellt wird
und die Verarbeitung von Vordersatzteilen in Bezug auf die
durch den Code angegebene Eingangsvariable durchgeführt
wird.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13866391 | 1991-05-15 | ||
JP13945291A JP3211093B2 (ja) | 1991-05-16 | 1991-05-16 | ファジィ推論処理方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69221373D1 DE69221373D1 (de) | 1997-09-11 |
DE69221373T2 true DE69221373T2 (de) | 1998-03-19 |
Family
ID=26471658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69221373T Expired - Fee Related DE69221373T2 (de) | 1991-05-15 | 1992-05-15 | Prozessor und Verfahren für unscharfe Schlussfolgerung, und Verfahren und Anordnung zur Regelbestimmung |
Country Status (5)
Country | Link |
---|---|
US (1) | US5604842A (de) |
EP (1) | EP0513829B1 (de) |
KR (1) | KR970004526B1 (de) |
AT (1) | ATE156608T1 (de) |
DE (1) | DE69221373T2 (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0721617B1 (de) * | 1993-09-20 | 1997-05-28 | Siemens Aktiengesellschaft | Anordnung zur regeldekodierung und regelauswertung für einen fuzzy-interference-prozessor mit hoher auflösung |
DE59402938D1 (de) * | 1993-09-20 | 1997-07-03 | Siemens Ag | Verfahren zur beschleunigten regelauswertung in einem fuzzy-inference-prozessor und vorrichtung zu dessen durchführung |
EP0756229B1 (de) * | 1995-07-28 | 2001-05-30 | Infineon Technologies AG | Verfahren zur Mehrfachnutzung einer Regelbasis in einem Fuzzy-Logic-Coprozessor |
DE69628177D1 (de) * | 1996-12-27 | 2003-06-18 | St Microelectronics Srl | Kodierungs und Speicherungsverfahren für Fuzzy Logik Regeln und Schaltungarchitektur zur Verarbeitung von solchen Regeln |
FR2759799B1 (fr) * | 1997-02-18 | 1999-04-30 | Sgs Thomson Microelectronics | Procede d'utilisation en reseau d'un processeur de logique floue, et processeur de logique floue utilisable en reseau |
US6272476B1 (en) * | 1999-04-14 | 2001-08-07 | Winbond Electronics Corp | Programmable and expandable fuzzy processor for pattern recognition |
US6853991B1 (en) | 1999-10-27 | 2005-02-08 | Agere Systems Inc. | Fuzzy logic system with evolutionary variables rules |
US7334517B2 (en) * | 2002-10-31 | 2008-02-26 | Star Manufacturing International, Inc. | Section divider ensemble for roller grill for cooking human food |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4755960A (en) * | 1985-06-20 | 1988-07-05 | Tektronix, Inc. | Waveform data compressing circuit |
JPH0797284B2 (ja) * | 1986-09-03 | 1995-10-18 | 株式会社日立製作所 | ファジー推論によるディジタル制御方法 |
JPH0786893B2 (ja) * | 1986-11-13 | 1995-09-20 | オムロン株式会社 | ファジィ情報処理装置 |
JPH01206435A (ja) * | 1988-02-15 | 1989-08-18 | Matsushita Electric Ind Co Ltd | ルール解析装置 |
US5243687A (en) * | 1988-09-20 | 1993-09-07 | Omron Tateisi Electronics Co. | Fuzzy computer system having a fuzzy inference processing circuit for controlling and adapting output signal to the set membership signal |
US5179625A (en) * | 1988-09-26 | 1993-01-12 | Omron Tateisi Electronics Co. | Fuzzy inference system having a dominant rule detection unit |
US5280565A (en) * | 1989-03-10 | 1994-01-18 | Mitsubishi Denki Kabushiki Kaisha | Fuzzy backward reasoning device |
US5191638A (en) * | 1989-03-31 | 1993-03-02 | Matsushita Electric Industrial Co., Ltd. | Fuzzy-boolean multi-stage inference apparatus |
US5239616A (en) * | 1989-04-14 | 1993-08-24 | Omron Corporation | Portable fuzzy reasoning device |
US5185849A (en) * | 1989-06-27 | 1993-02-09 | Olympus Optical Co., Ltd. | Digital fuzzy inference apparatus having time divisional control function |
JPH0365704A (ja) * | 1989-08-03 | 1991-03-20 | Toshiba Corp | ファジィ制御装置及びファジィ制御方法 |
US5261036A (en) * | 1989-10-24 | 1993-11-09 | Mitsubishi Denki K.K. | Programmable controller with fuzzy control function, fuzzy control process and fuzzy control monitoring process |
JP2522415B2 (ja) * | 1989-10-24 | 1996-08-07 | 三菱電機株式会社 | ファジイ制御機能付プログラマブルコントロ―ラ、そのモニタシステム、および、ファジイ制御機能付プログラマブルコントロ―ラの制御方法 |
-
1992
- 1992-05-12 US US07/881,855 patent/US5604842A/en not_active Expired - Lifetime
- 1992-05-15 KR KR1019920008233A patent/KR970004526B1/ko not_active IP Right Cessation
- 1992-05-15 AT AT92108283T patent/ATE156608T1/de not_active IP Right Cessation
- 1992-05-15 DE DE69221373T patent/DE69221373T2/de not_active Expired - Fee Related
- 1992-05-15 EP EP92108283A patent/EP0513829B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR920022140A (ko) | 1992-12-19 |
ATE156608T1 (de) | 1997-08-15 |
EP0513829B1 (de) | 1997-08-06 |
KR970004526B1 (ko) | 1997-03-28 |
DE69221373D1 (de) | 1997-09-11 |
US5604842A (en) | 1997-02-18 |
EP0513829A3 (en) | 1994-11-17 |
EP0513829A2 (de) | 1992-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3854154T2 (de) | Vorrichtung und Verfahren zur Erzeugung von Daten für einen Druckvorgang, und ein Drucker, in Kombination mit der Vorrichtung, zur Ausführung des Druckvorganges. | |
DE69322538T2 (de) | Methode und Prozessor zur Bearbeitung eines Programmes in Parallelbearbeitung | |
DE69332458T2 (de) | Vektorprozessor | |
DE3854481T2 (de) | Datenverarbeitungsverfahren in einem dezentralisierten Verarbeitungssystem. | |
DE69222821T2 (de) | Genereller Datenaustausch | |
DE3751205T2 (de) | Paralleles verarbeitungssystem und verfahren zu dessen anwendung. | |
DE69327928T2 (de) | Vorrichtung zur Kodierung von unbeweglichen Bildern | |
DE69026764T2 (de) | Verfahren zur Datenübertragung mit hoher Geschwindigkeit | |
DE3741953A1 (de) | Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen | |
DE2145120A1 (de) | Digitales Datenverarbeitungsgerat | |
DE3416939A1 (de) | Verfahren zur steuerung von betriebseinrichtungen | |
DE60211452T2 (de) | DMA-Übertragung von Daten und Prüfinformation zu und von einem Datenspeicherungsgerät | |
DE69221373T2 (de) | Prozessor und Verfahren für unscharfe Schlussfolgerung, und Verfahren und Anordnung zur Regelbestimmung | |
DE3783796T2 (de) | Erweiterte rasterbedienung in einem anzeigegeraet. | |
DE3811145C2 (de) | ||
DE4123550A1 (de) | Informationsverarbeitungssystem mit direktem speicherzugriff | |
DE69224718T2 (de) | Klassifizierungsverfahren für Rechnerarchitekturen | |
DE69324742T2 (de) | Farbwerteverarbeitungsgerät zur Optimierung einer Verarbeitungsbeschreibung | |
DE69112434T2 (de) | Kurvengenerator. | |
DE69426229T2 (de) | Verfahren zur parallellen Bearbeitung von Fuzzy-Logik-Inferenzregeln und übereinstimmende Schaltkreisarchitektur mit Fuzzy-Eingabe und -Ausgabe | |
DE69203592T2 (de) | Elektronische Fuzzy-Logiksteuerung und zugehöriges Speicheraufbauverfahren. | |
DE69326968T2 (de) | Datenverteilungsverfahren und -gerät | |
DE69203700T2 (de) | Architektur eines elektronischen Fuzzy-Logik-Kontroller. | |
DE10109848B4 (de) | Programmierbarer Logik Controller und Programmerzeugungsvorrichtung zum Erzeugen eines Sequenzprogramms für einen programmierbaren Logik Controller | |
DE4422637A1 (de) | Rechnersystem und Verfahren zum Problemlösen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |