DE69132188T2 - Einrichtung zur "Fuzzy"-Folgerung - Google Patents
Einrichtung zur "Fuzzy"-FolgerungInfo
- Publication number
- DE69132188T2 DE69132188T2 DE69132188T DE69132188T DE69132188T2 DE 69132188 T2 DE69132188 T2 DE 69132188T2 DE 69132188 T DE69132188 T DE 69132188T DE 69132188 T DE69132188 T DE 69132188T DE 69132188 T2 DE69132188 T2 DE 69132188T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- processing
- code
- stage
- processing means
- 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
- 238000012545 processing Methods 0.000 claims description 95
- 239000002131 composite material Substances 0.000 claims description 14
- 238000000034 method Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 6
- 238000003672 processing method Methods 0.000 claims description 4
- 238000010977 unit operation Methods 0.000 claims description 3
- 238000012432 intermediate storage Methods 0.000 claims description 2
- 230000003139 buffering effect Effects 0.000 claims 1
- 210000004027 cell Anatomy 0.000 description 44
- 230000006870 function Effects 0.000 description 40
- 230000004044 response Effects 0.000 description 9
- 230000000630 rising effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 210000004460 N cell Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001360 synchronised effect Effects 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/0275—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using fuzzy logic only
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Feedback Control In General (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Fuzzy- Schlußfolgerungs- (oder Näherungsschlußfolgerungs-)System.
- Herkömmliche Fuzzy-Schlußfolgerungssysteme sind bislang nicht in der Lage, Schlußfolgerungsregelgruppen mit hoher Geschwindigkeit zu schalten, wenn Schlußfolgerungen ausgeführt werden. Ein Hochgeschwindigkeits-Schlußfolgerungssystem hat daher die Schlußfolgerungsverarbeitung nach Maßgabe einer einer einzelnen Teilaufgabe (Task) entsprechenden Regelgruppe durchgeführt.
- Trotz der Tatsache, daß ein gewöhnlicher Binärrechner ein sogenanntes Multitasking durchführen kann, wurde bislang kein Schlußfolgerungssystem verwirklicht, das Multitasking durchführen kann. Da viele zu steuernde Objekte nicht notwendigerweise eine Hochgeschwindigkeits-Schlußfolgerungsverarbeitung erfordern, kann ein Hochgeschwindigkeits-Schlußfolgerungssystem nicht alle seine Fähigkeiten nutzen.
- Andererseits wurden für herkömmliche Binärrechner Pipeline- Verarbeitungsmethoden als Methode zur Verwirklichung einer Hochgeschwindigkeitsoperation über die Verwendung einer speziellen Architektur vorgesehen. Da jedoch Steuerungscodes zur Steuerung der Pipeline-Verarbeitung häufig zu verschiedenen Zeiten dem Pipeline-Verarbeitungssystem zugeführt werden, ergibt sich oftmals eine Wartezeit in den Verarbeitungsmitteln, beruhend auf der Verzögerung zwischen den Pipeline-Steuerdaten und den Objektdaten. Da außerdem die Steuercodes und die zu verarbeitenden Objektdaten von außen zugeführt werden, kann es sein, daß diese Codes und Daten nicht zu der für den Prozeß richtigen Zeit zugeführt werden. Ferner tritt eine Wartezeit in dem Pipeline- System oftmals auf, wenn die Zeit, zu der das Verarbeitungsergebnis ausgegeben wird, verzögert ist. Dadurch können die oben erwähnten Probleme entstehen, wenn ein Schlußfolgerungssystem in einer Pipeline-Architektur bzw. einem Pipeline-Format verwendet wird.
- Bei Fuzzy-Schlußfolgerungssystemen wird eine Anzahl von Zugehörigkeitsfunktionen nach Maßgabe einer Schlußfolgerungsregelgruppe bestimmt. Daher können, wenn Eingangswerte gegeben sind, Funktionswerte der Zugehörigkeitsfunktionen, die den Eingangswerten entsprechen (der Grad, in dem die Eingangswerte zu den Zugehörigkeitsfunktionen gehören und bezeichnet als Adaptibilitäts- oder Wahrheitswerte), gewonnen werden. Bei herkömmlichen Fuzzy-Schlußfolgerungssystemen ist es jedoch, da die Zugehörigkeitsfunktionen am Hardware-Aufbau fest eingestellt oder die Funktionswerte der Zugehörigkeitsfunktionen in einer Speichereinheit gespeichert sind, schwierig, ohne ungebührlichen Zeit- und Arbeitsaufwand die fest bestimmten Zugehörigkeitsfunktionen zu ändern oder die Abstimmflexibilität in den Zugehörigkeitsfunktionen zu verbessern. Wenn ferner verschiedene Zugehörigkeitsfunktionen, die für eine Schlußfolgerungsverarbeitung erforderlich sind, in einer Speichereinheit gespeichert sind, wird die schiere Datenmenge in der Speichereinheit zunehmend groß.
- Wenn das Schlußfolgerungssystem einer Pipeline-Steuerungsarchitektur angepaßt wird, wird es extrem wichtig, für diese Architektur geeignete Daten zuzuführen. Es ist auch erforderlich, das System in einer solchen Weise aufzubauen, daß die Reduktion der Wartezeit optimiert wird, um den Durchsatz zu erhöhen.
- Verfahren zur Umformung von durch einen Mikrorechner ausgeführen Rechenoperationsprogrammen in Daten, die für eine Pipeline-Steuerungsverarbeitung geeignet sind, sind bekannt. Ein Beispiel eines solchen Verfahrens ist in JP-A-64-66734 beschrieben. Dieses Verfahren kann jedoch keine Regelgruppen, die für eine Fuzzy-Schlußfolgerungsverarbeitung verwendbar sind, in eine Datenform umwandeln, die für eine Pipeline-Architektur geeignet ist. Dies liegt daran, daß im Gegensatz zu Mikrorechner- Befehlen Fuzzy-Regeln in der Anzahl und Sorte von Eingangsvariablen für den Vordersatz voneinander verschieden, und daher nicht für eine Pipeline-Architektur geeignet sind, die auf gleichartigen Befehlen beruht. Infolgedessen besteht ein Problem bei der Anwendung und Anpassung einer Fuzzy-Schlußfolgerungsverarbeitung auf eine Pipeline-Architektur zur Verbesserung der Schlußfolgerungsgeschwindigkeit.
- Hintergrund-Stand der Technik ist in EP-A-0 292 286 und US- A-4 839 823 beschrieben.
- Eine Aufgabe der vorliegenden Erfindung ist die Schaffung einer Pipeline-Verarbeitungsvorrichtung und eines Pipeline-Verarbeitungsverfahrens, die optimal Prozessorwartezeit vermindern können.
- Eine Pipeline-Verarbeitungsvorrichtung der vorliegenden Erfindung ist in Anspruch 1 definiert. Die Vorrichtung besteht aus einer Anzahl von Verarbeitungsmitteln, die in der Reihenfolge einer Fuzzy-Schlußfolgerungsverarbeitung elektrisch miteinander verbunden sind, Zwischenspeichermitteln, die mit einer vorderen Stufe eines jeden der Verarbeitungsmittel verbunden sind, zur Zwischenspeicherung von Daten, die entsprechenden Verarbeitungsmitteln zuzuführen und auf Verarbeitungsmittel einer rückwärtigen Stufe zu übertragen sind, Datenspeichermitteln zur Anordnung und Speicherung einer Anzahl von zusammengesetzten Daten, die sich jeweils aus in Fuzzy-Schlußfolgerungsverarbeitung zu verarbeitenden Objektdaten und Operationscodes zur Steuerung von Operationen der Verarbeitungsmittel zusammensetzen, in einer bestimmten Folge, Datenlesemitteln zum Auslesen der zusammengesetzten Daten in Folge aus den Datenspeichermitteln und Zuführen der gelesenen Daten zu den Zwischenspeichermitteln der ersten Stufe, und Zeitsignalerzeugungsmitteln zur Erzeugung von Zeitsignalen zur Steuerung der Zeit, zu der Daten von den Datenlesemitteln gelesen werden und zu der Daten durch die Zwischenspeichermitteln in jede Stufe verriegelt werden, in einer solchen Weise, daß bestimmte Daten oder ein bestimmter Code in zusammengesetzten Daten oder Daten, die durch die Verarbeitungsmittel der vorderen Stufe gebildet werden, in Folge aus den Zwischenspeichermittel oder den Verarbeitungsmitteln an der vorderen Stufe auf die Zwischen speichermittel an der rückwärtigen Stufe übertragen werden. Vorzugsweise sind die Verarbeitungsmittel an der Endstufe Speichermittel zur Speicherung von Daten, die durch die Verarbeitungsmittel der vorderen Stufe gebildet werden, in Folge, immer wenn ein Verarbeitungsschritt abgeschlossen ist.
- Gemäß Anspruch 3 ist ein Pipeline-Fuzzy-Schlußfolgerungsverarbeitungsverfahren gemäß der vorliegenden Erfindung zum Betreiben einer Pipeline-Fuzzy-Schlußfolgerungsverarbeitungsvorrichtung vorgesehen, welche eine Anzahl von Verarbeitungsmitteln, die in der Reihenfolge der Fuzzy-Schlußfolgerungsverarbeitung in elektrisch verbundener Beziehung angeordnet sind, und Datenverriegelungsmittel, die mit einer vorderen Stufe eines jeden der Verarbeitungsmittel verbunden sind, zur Zwischenspeicherung von Daten, die auf die entsprechenden Verarbeitungsmittel aufzugeben und auf die Verarbeitungsmittel der rückwärtigen Stufe zu übertragen sind, enthält. Das Verfahren beinhaltet die Schritte, zunächst zusammengesetzte Daten, die sich aus den in Fuzzy- Schlußfolgerungsverarbeitung zu verarbeitenden Objektdaten und Operationscodes zur Steuerung von Operationen der Verarbeitungsmittel, wobei jede der Operationen eine Einheitsoperation der Fuzzy-Schlußfolgerungsverarbeitung ist, zusammensetzen, ausbilden. Ein zweiter Schritt beinhaltet dann das Anordnen und Speichern der zusammengesetzten Daten in einer bestimmten Verarbeitungsfolge; und dann das Auslesen der zusammengesetzten Daten, beginnend am Kopf der angeordneten zusammengesetzten Daten, in einer bestimmten Verarbeitungsfolge zur Lieferung der ausgelesenen Daten an die Datenverriegelungsmittel der ersten Stufe.
- Wie oben beschrieben, werden die zusammengesetzten Daten durch Paaren von zu verarbeitenden Objektdaten und Operationscodes zur Steuerung der Operation des Verarbeitungsvorgangs gebildet. Daher ist es möglich, ein Paar aus zu verarbeitenden Objektdaten und Operationscodes in den Speichermitteln zusammen zu speichern, womit die Verarbeitungszeit insgesamt vermindert und die Handhabung von Objektdaten und Operationscoedes vereinfacht wird. Da ferner die zu verarbeitenden Objektdaten oder die an den Verarbeitungsmitteln der vorhergehenden Stufe gewonnenen Ergebnisdaten den Verarbeitungsmitteln der aktuellen Stufe zusammen mit dem Operationscode zur Steuerung der aktuellen Verarbeitungsmittel zugeführt werden, ist es möglich, die Wartezeit zu eliminieren, die für den Empfang des Operationscodes für die Verarbeitungsmittel erforderlich ist, womit die Verarbeitungsgeschwindigkeit für jedes der Verarbeitungsmittel erhöht wird. Da ferner ein Pufferspeicher an der Endstufe der Verarbeitungsmittel vorgesehen ist, kann eine Folge von Verarbeitungsendergebnissen in diesem Pufferspeicher gespeichert und gleichzeitig auf ein externes System ausgegeben werden, wenn die gesamte Verarbeitungsfolge abgeschlossen ist, womit ein synchronisiertes Arbeiten zwischen der Pipeline-Verarbeitungsvorrichtung und dem externen System erleichtert wird.
- Fig. 1 und 2 sind graphische Darstellungen, die Beispiele von Zugehörigkeitsfunktionen zeigen;
- Fig. 3 ist eine graphische Darstellung, die Zugehörigkeitsfunktionen in Form einer Einermenge zeigt;
- Fig. 4 und 5 sind Darstellungen zur Unterstützung der Erläuterung eines Fuzzy-Schlußfolgerungsprozesses, wobei Fig. 4 die Verarbeitung, die Vordersätze betrifft, und Fig. 5 die Verarbeitung im Bezug auf Hintersätze zeigt;
- Fig. 6 ist ein Blockschaltbild, welches die Fuzzy-Schlußfolgerungssystemkonfiguration zeigt;
- Fig. 7 ist eine Darstellung, die eine in Unterregeln unterteilte und dann umgeordnete Regelgruppe zeigt;
- Fig. 8 ist ein Format eines Operationscodes;
- Fig. 9 ist ein praktisches Beispiel der Operationscodes einer in Fig. 7 gezeigten Regelgruppe;
- Fig. 10 ist ein Blockdiagramm, welches ein Beispiel der Controller-Konfiguration zeigt;
- Fig. 11 ist ein Zeitdiagramm zur Unterstützung der Erläuterung des Schlußfolgerungsverarbeitungsvorgangs.
- Die vorliegende Erfindung wird nachfolgend im Detail anhand des Falles beschrieben, wo die Erfindung auf ein System zur Durchführung von Fuzzy-Schlußfolgerungen (oder Näherungsschlußfolgerungen) des Modus Ponens angewandt wird.
- Fuzzy-Schlußfolgerung gemäß einem Modus Ponens wird oftmals in Form einer "Wenn, dann"-Aussage folgendermaßen ausgedrückt:
- Wenn x3 = NS und x5 = PM, dann y1 = NM, wobei "Wenn x3 = NS und x5 = PM" als "Vordersatz" und "dann y1 = NM" als "Hintersatz" bezeichnet wird.
- Obige Regel läßt sich folgendermaßen vereinfachen:
- (Regel 1)
- x3 - NS, x5 = PM → y1 = NM
- Auf gleiche Weise läßt sich ein Beispiel von drei anderen Regeln folgendermaßen ausdrücken:
- (Regel 2)
- x2 = NL, x4 = NM → y1 = NL
- (Regel 3)
- x3 - PL, x2 = PM, x5 = NL → y1 = PL
- (Regel 4)
- x1 = ZR, x5 = PS, x4 = PL y1 = NL
- wobei x1 (i = 1, 2, 3, 4, 5, ..., M) die Eingangsvariable und y1 die Ausgangsvariable bezeichnet. Ferner sind NL, NM, NS, ZR, PS, PM und PL Sprachinformation (nachfolgend als Etiketten bezeichnet), die für Zugehörigkeitsfunktionen repräsentativ ist, und die beeinhalten:
- NL: negativ groß
- NM: negativ mittel
- NS: negativ klein
- ZR: ungefähr null
- PS. positiv klein
- PM: positiv mittel
- PL: positiv groß
- In den obigen Regeln ist die Folge der Eingangsvariablen nicht regelmäßig. Es besteht jedoch kein Problem, da diese Variablen, wie später noch beschrieben, in eine optimale Folge umgeordnet werden.
- Die Zugehörigkeitsfunktionen stellen einen Grad dar, in welchem die Eingangsvariablen zu einer Fuzzy-Menge gehören, und jede gegebene Funktion kann für die Zugehörigkeitsfunktionen angenommen werden. Hier werden die oben erwähnten sieben Funktionen von NL bis PL berücksichtigt (bei dieser Ausführungsform können jedoch die Zugehörigkeitsfunktionen des Vordersatzes durch fünf Parameter in irgendeine gegebene Form gebracht werden und auf irgendwelche gewünschte Orte der Eingangsvariablenachse gesetzt werden, wie dies später noch beschrieben wird). Die Funktionswerte (Grade) der Zugehörigkeitsfunktionen liegen in einem Bereich zwischen null und eins.
- Die Fig. 1 bis 3 zeigen Beispiele für die Zugehörigkeitsfunktionen.
- Fig. 1 zeigt die vorgenannten sieben Zugehörigkeitsfunktionen, ausgedrückt in Form einer Normal- (Gauss-)Verteilung.
- Fig. 2 zeigt Beispiele für die gleichen Funktionen zu einer Dreiecksform vereinfacht.
- Fig. 3 zeigt Beispiele der gleichen Funktionen ausgedrückt in Form einer Einermenge. Diese Einermengen-Ausdrücke sind für die Darstellung von Zugehörigkeitsfunktionen des Hintersatzes der Regel geeignet. In diesem Fall ist es möglich, die Operation zur Gewinnung von defuzzifizierten Endresultaten extrem zu vereinfachen.
- Fig. 4 zeigt einen Fuzzy-Schlußfolgerungsprozeß gemäß Regel 1, bei welchem zur Vereinfachung dreiecksförmige Zugehörigkeitsfunktionen gezeigt sind.
- In Fig. 4 kann, wenn eine Eingabe x3 gegeben ist, ein Funktionswert (als Wahrheitswert bezeichnet) a3 der Zugehörigkeitsfunktion NS gewonnen werden. Auf die gleiche Weise kann ein Wahrheitswert a5 der Zugehörigkeitsfunktion PM bei einer Eingabe x5 gewonnen werden.
- Dann wird (zur Auswahl des kleinsten) eine MIN-Operation dieser Wahrheitswerte a3 und a5 durchgeführt. Das Ergebnis der durchgeführten MIN-Operation wird als aNM ausgedrückt.
- Eine MIN-Operation (Trunkierung) zwischen der Zugehörigkeitsfunktion NM des Hintersatzes der Regel 1 und dem MIN- Operationsergebnis aNM wird zur Gewinnung einer Zugehörigkeitsfunktion SNM wie sie durch den schraffierten Abschnitt in Fig. 4 gezeigt ist, ausgeführt.
- Auf die gleiche Weise werden Fuzzy-Schlußfolgerungen für alle anderen Regeln (einschließlich der Regeln 2 bis 4) durchgeführt.
- Die Zugehörigkeitsfunktionen der Hintersätze der Regeln 2 und 4 sind beide NL. In einem solchen Fall wäre eine MAX- Operation (zur Auswahl des größten) aus einem Schlußfolgerungsoperationsergebnis aNL1 des Vordersatzes der Regel 2 und einem Schlußfolgerungsoperationsergebnis aNL2 des Vordersatzes der Regel 4 zur Gewinnung eines MAX-Operationsergebnisses arm, durchgeführt. Ferner wird eine MIN-Operation (Trunkierung) zwischen diesem MAX-Operationsergebnis aNL und der Zugehörigkeitsfunktion NL zur Gewinnung eines Ergebnisses SNL durchgeführt.
- Schließlich wird eine MAX-Operation zwischen den Schlußfolgerungsoperationsergebnissen SNL, SNM, SNS, SZR und SPS aller wie oben beschrieben gewonnenen Regeln zur Gewinnung eines Endergebnisses (die Ergebnisse SPM und SPL sind null) durchgeführt. Ein defuzzifizierter Endwert W kann durch Defuzzifizieren des Endergebnisses (welches Fuzzy-Information darstellt) durch Berechnen beispielsweise eines Schwerpunkts derselben gewonnen werden. Dieser defuzzifizierte Endwert W wird als Ausgabe y1 ausgegeben.
- Wo die Zugehörigkeitsfunktionen der Hintersätze der Regel durch Einermengen dargestellt werden, kann der defuzzifizierte Endwert W durch die folgende Gleichung gewonnen werden:
- wobei Ck den eine Einermenge darstellenden Gewichtungskoeffizienten bezeichnet und k = NL bis PL.
- Fig. 6 zeigt den gesamten Fuzzy-Schlußfolgerungssystemaufbau. Dieses System umfaßt eine Schlußfolgerungseinheit 30 zur Gewinnung von Schlußfolgerungsoperationsergebnissen ak (k = NL bis PL) im Bezug auf die Vordersätze nach Maßgabe von Regeln, wie sie oben erwähnt wurden, und auf der Grundlage einer Pipeline- Verarbeitung; eine Steuereinheit 20 zur Lieferung von Pfadcodes, von denen jeder Daten, auf denen Operationen durchzuführen sind, und einen Operationscode ("OP-Code") zur Steuerung von Operationen enthält, an die Schlußfolgerungseinheit 30 in Folge und ferner zur Steuerung der Zeiten für verschiedene in der Schlußfolgerungseinheit 30 durchgeführte Operationen; und einen Host- Rechner 10 zur Überwachung der gesamten Systemoperation.
- Die Schlußfolgerungseinheit 30 umfaßt Pufferregister 40, 41, 42, 43 und 44 zur Übertragung von Daten, auf denen Operationen durchzuführen sind, oder Operationsergebnisdaten und OP-Codes in Folge synchron mit Taktsignalen TC0, TC1, TC2, TC3 und TC4; einen Eingangspuffer 31, einen Wahrheitswertgenerator 32, einen MIN- Operationsabschnitt 33 und einen MAX-Operationsabschnitt 34, die alle zwischen zwei Register gelegt sind; einen Ausgangspuffer 35 zum Halten des Operationsendergebnisses ak; und einen Ausgangsadressenzähler 36 zur Bezeichnung von Speicheradressen im Ausgangspuffer 35.
- Die Steuereinheit 20 umfaßt einen Regelspeicher 22 zur Speicherung einer Anzahl von Regelzellen (N Zellen bei dieser Ausführungsform); ein Regelzellenadressenregister 23 zur Erzeugung von Zellenadressen zur Bezeichnung von Regelzellen im Regelspeicher 22; einen Pfadadressenzähler 24 zur Erzeugung von Pfadadressen zur Bezeichnung von Pfadcodes (Unterregeln) in jeder Regelzelle; und einen Controller 21 zur Erzeugung der Taktsignale TC0 bis TC4 und Steuerung des Pfadadressenzählers 24 und des Ausgangsadressenzählers 36.
- Der Host-Rechner 10 ist mit dem Regelzellenadressenregister 23, dem Regelspeicher 22 und Controller 21 in der Steuereinheit 20 und ferner mit dem Eingangspuffer 31 und dem Ausgangspuffer 35 in der Schlußfolgerungseinheit 30 über einen Systembus (der einen Adressenbus, einen Datenbus und Steuerleitungen enthält) verbunden.
- Die oben genannten Regeln 1 bis 4 sind nur ein Beispiel für Regeln im Bezug auf die Ausgangsvariable y1. Allgemein existieren auch andere Regeln im Bezug auf die Ausgangsvariable y1.
- Das Fuzzy-Schlußfolgerungssystem kann Multitask-Verarbeitung für eine Anzahl von Ausgangsvariablen yj (j = 1 bis N) ausführen. Eine Anzahl von Regeln (d. h., eine Regelgruppe) sind für jede Ausgangsvariable yj vorgegeben. Bei dieser Ausführungsform wird eine Regelgruppe in Bezug auf eine Ausgangsvariable als Regelzelle bezeichnet. Beispielsweise beinhaltet eine Regelzelle 1 einen Satz von allen Regeln, die für die Ausgangsvariable y1 bestimmt sind.
- Pfadcodes werden nachfolgend zur Vereinfachung anhand des Falles von Regeln im Bezug auf die Ausgangsvariable y1, die in der Regelzelle 1 enthalten sind, erläutert.
- Jede Regel kann in Unterregeln unterteilt werden, deren Anzahl die gleiche wie die der Eingangsvariablen ist. Beispielsweise wird die oben erwähnte Regel 1 in zwei Unterregeln folgendermaßen unterteilt:
- x3 = NS → y1 = NM
- x5 = PM → y1 = NM
- Auf gleiche Weise werden alle Regeln im Bezug auf die Ausgangsvariable y1 in Unterreglen unterteilt.
- Ferner werden die aufgeteilten Unterregeln in einer bestimmten Folge angeordnet. Die Anordnungsfolge wird später noch im einzelnen beschrieben, hier wird die Anordnungsfolge nur folgendermaßen erläutert: Die Unterregeln werden so angeordnet, daß die Hintersatzzugehörigkeitsfunktionen in der Reihenfolge NL, NM, NS, ZR, PS, PM und PL vorliegen. Fig. 7 zeigt den Fall, wo die Unterregeln in einer vorgegebenen Folge angeordnet sind, in der die Unterregeln der Einfachheit halber mit Bezugszeichen (1) bis (m) bezeichnet sind.
- Pfadcodes können auf der Grundlage dieser Unterregeln ausgebildet werden. Ein Pfadcode kann anhand einer Unterregel gewonnen werden.
- Fig. 8 zeigt ein Format eines Pfadcodes, der sich aus einem IV-Code und einem OP-Code zusammensetzt. Ferner setzt sich der OP-Code aus vier Codes OP1, OP2, OP3 und OP4 zusammen.
- Der IV-Code ist ein Code zur Bezeichnung der Eingangsvariablen, d. h. in der Praxis, einer Adresse des Eingangspuffers 31 der Schlußfolgerungseinheit 30.
- Der Code OP1 enthält Codes (später beschriebene p1, p2, q1 und q2) zur Bezeichnung einer Zugehörigkeitsfunktion im Wahrheitswertgenerator 32 und einen Parameter (CW, später beschrieben), der zur Berechnung eines Wahrheitswerts verwendet wird.
- Der Code OP2 steuert die Operation des MIN-Operationsabschnitts 33 der Schlußfolgerungseinheit 30 und setzt sich aus einem Startbit S und einem Endbit E zusammen.
- Der Code OP3 steuert die Operation des MAX-Operationsabschnitts 34 der Schlußfolgerungseinheit 30 und setzt sich auch aus einem Startbit 5 und einem Endbit E zusammen.
- Der Code OP4 ist ein Einzelbit-Code zur Inkrementierung des Ausgangsadressenzählers 36 der Schlußfolgerungseinheit 30. Der Code OP4 wird hier jedoch präsentiert, um die Erläuterung zu systematisieren. In der Praxis wird das E-Bit des OP3 stattdessen verwendet, weil OP4 identisch zum E-Bit von OP3 ist, wie in Fig. 7 gezeigt.
- Fig. 9 zeigt ein Beispiel einer Folge von. Pfadcodes, die aus einer Folge von in Fig. 7 gezeigten Unterregeln umgeformt sind. Die Anordnungsfolge dieser Pfadcodes ist die gleiche wie diejenige der Unterregeln. In Fig. 9 ist der IV-Code nur als xi gezeigt und der Code OP1 weggelassen. Die Codes OP2, OP3 und OP4 und das Arbeiten der Abschnitte 33, 34 und 36, die durch diese Codes gesteuert werden, werden in weiteren Einzelheiten später beschrieben.
- Ein Endcode (gezeigt durch die Nummer (m+1)) ist an der Position ganz am Ende der Pfadcodefolge gezeigt. Der Endcode steuert den Controller 21 der Steuereinheit 20 so, daß er ein Löschsignal CLR ausgibt. Dieses Löschsignal CLR dient zur Rücksetzung des Pfadadressenzählers 24 und des Ausgangsadressenzählers 36. Im Endcode sind nur die beiden Codes OP2 und OP3 signifikant und auf (1 0) bzw. (1 1) festgelegt. Ferner übt eine Kombination (1 0) und (1 1) keinen Einfluß auf das Arbeiten des MIN-Operationsabschnitts 33 und des MAX-Operationsabschnitts 34 aus. Die anderen IV-Code und Operationscodes OP1 und OP4 im Endcode sind insignifikant und daher in einer solchen Weise vorgegeben, daß sie keinen Einfluß auf den Eingangspuffer 31, den Wahrheitswertgenerator 32 und den Ausgangsadressenzähler 36 ausüben.
- Die Regelzelle 1 umfaßt einen Satz von Pfadcodes im Bezug auf die Ausgangsvariable y1, wie in Fig. 9 gezeigt, und diese Pfadcodes werden durch den Host-Rechner 10 gebildet und über den Bus zur Vorabspeicherung in einen Bereich der Regelzelle 1 im Regelspeicher 22 übertragen. In der gleichen Weise werden aus Pfadcodsätzen zusammengesetzte Regelzellen 2 bis N im Bezug auf die anderen Ausgangsvariablen y2 bis yN ausgebildet und in den entsprechenden Bereichen des Regelspeichers 22 gespeichert.
- Bei dieser Ausführungsform ist jede Regelzelle für jede Ausgangsvariable ausgebildet. Es ist jedoch möglich, eine Regelzelle auszubilden, die Regeln im Bezug auf 2 oder mehr Ausgangsvariable enthält. In diesem Fall ist bevorzugt, daß die Pfadcodes in einer bestimmten Folge in Bezug auf die Ausgangsvariablen angeordnet werden.
- Fig. 10 zeigt einen Aufbau des Controllers 21 in der Steuereinheit 20. Ferner zeigt Fig. 11 ein Zeitdiagramm zur Unterstützung der Erläuterung des Arbeitens des den Controller 21 enthaltenden Gesamtsystems.
- Unter Bezug auf die Fig. 10 bis 11, ist der Controller 21 mit einem Referenztaktgenerator 21 zur Ausgabe eines Referenz taktsignals (z. B. 16 MHz) an einen Taktsignalgenerator 53 und einem Frequenzteiler 52 versehen. Der Frequenzteiler 52 teilt die Frequenz des Referenztaktsignals in 1/4 beispielsweise und gibt ein Taktsignal CK (z. B. 4 MHz) aus. Dieses Taktsignal CK wird auf den Taktsignalgenerator 53 und den Pfadadressenzähler 24 gegeben. Der Taktsignalgenerator 53 enthält eine Anzahl von Schieberegistern und erzeugt fünf Taktsignale TC0 bis TC4 durch Verschieben des Eingangstaktsignals CK um geeignete Schritte in den Schieberegistern ansprechend auf das Referenztaktsignal.
- Der Controller 21 enthält ein DT-Flipflop 55. Ein Signal auf hohem (H-)Wert wird auf einen Dateneingang dieses DT-Flipflop 55 gegeben. Das DT-Flipflop wird rückgesetzt, wenn ein Systemlöschsignal SCLR vom Host-Rechner 10 über einen (nicht gezeigten) Bus auf einen Rücksetzanschluß R des DT-Flipflop 55 gegeben wird, so daß der Inversionsausgang auf einen hohen Wert "H" gesetzt wird. Da der Inversionsausgang mit H-Wert und das Systemlöschsignal SCLR auf ein UND-Glied 56 gegeben werden, wenn das DT- Flipflop 55 zurückgesetzt wird, wird der Ausgang (das Löschsignal SCLR) des UND-Glieds 56 auf einen H-Wert gesetzt, so daß der Pfadadressenzähler 24 durch das H-Wert-Löschsignal CLR rückgesetzt (auf null gelöscht) wird. Der Zähler 24 beginnt, nachdem er zurückgesetzt worden ist, die eingegebenen Taktsignale CK zu zählen. Das Zählausgangssignal dieses Zählers 24 ist ein Pfadadressensignal. Das Löschsignal CLR wird auf den Ausgangszähler 36 der Schlußfolgerungseinheit 30 zur Rücksetzung (Nullöschung) dieses Zählers 36 gegeben.
- Der Controller 21 ist ferner mit einem Endcodedetektor 54 versehen, welchem Codes OP2 und OP3 des Endcodes zugeführt werden. Wenn diese zugeführten Endcodes OP2 und OP3 (1 0) bzw. (1 1) sind, gibt der Endcodedetektor ein H-Nachweissignal auf einen Takteingang T des DT-Flipflop 55, so daß das DT-Flipflop gesetzt wird und daher der Nicht-Inversionsausgang Q auf einen H-Wert gesetzt ist. Dieser H-Wert-Ausgang Q wird über den Bus auf den Host-Rechner 10 als Schlußfolgerungsendsignal END gegeben.
- Ansprechend auf dieses Schlußfolgerungsendsignal END erkennt der Host-Rechner 10, daß die Schlußfolgerungsverarbeitung gemäß der einen Regelzelle abgeschlossen ist und gibt das Systemlösch signal SCLR erneut aus, um die Schlußfolgerungsverarbeitung gemäß der nachfolgenden Regelzelle zu starten. Ansprechend auf das Signal SCLR wird das DT-Flipflop 55 zurückgesetzt, weshalb die Adressenzähler 24 und 36, wie bereits beschrieben, zurückgesetzt werden.
- Unter Bezugnahme auf Fig. 6 speichert der Host-Rechner 10 vorab eine Anzahl von wie oben beschrieben ausgebildeten Regelzellen an entsprechenden Bereichen des Regelspeichers 22. Wenn eine Schlußfolgerungsverarbeitung gemäß der Regelzelle 1 gefordert wird, setzt der Host-Rechner 10 eine Adresse (z. B. die Kopfadresse) des Bereichs, wo die Regelzelle 1 gespeichert ist, über den Bus am Regelzellenadressenregister 23.
- Danach gibt der Host-Rechner 10 das Systemlöschsignal SCLR aus, um den Pfadadressenzähler 24 (und den Ausgangsadressenzähler 36) zurückzusetzen, so daß der Zähler 24 die Anzahl von Taktsignalen CK zu zählen und sequenziell inkrementierte Pfadadressensignale auszugeben beginnt. Ansprechend auf die Pfadadressensignale werden Pfadcodes in der Regelzelle 1 beginnend beim ersten Pfadcode in Folge gelesen und dann der Schlußfolgerungseinheit zugeführt. Die vom Controller 21 erzeugten Taktsignale TC0 bis TC4 werden auf die Schlußfolgerungseinheit 30 gegeben. Die Schlußfolgerungseinheit 30 führt eine Schlußfolgerungsverarbeitung nach Maßgabe der aufgegebenen Pfadcodes synchron mit den Taktsignalen TC0 bis TC4 aus, wie noch in weiteren Einzelheiten beschrieben wird. Die Schlußfolgerungsergebnisse ak werden in dem Ausgangspuffer 35 in Folge gespeichert.
- Wenn ein Endcode, der am Ende einer Folge von Pfadcodes enthalten ist, gelesen wird, und ferner die Codes OP2 und OP3 des Endcodes dem Controller 21 (über das Register 40) eingegeben werden, wird das Schlußfolgerungsendsignal END, wie bereits beschrieben, erzeugt und auf den Host-Rechner 10 gegeben.
- Ansprechend auf dieses Endsignal END liest der Host-Rechner 10 über den Bus das im Ausgangspuffer 35 gespeicherte Schlußfolgerungsergebnis ak (k = NL bis PL). Wenn ferner eine zusätzliche Schlußfolgerungsverarbeitung gemäß der Regelzelle 2 erforderlich ist, setzt der Host-Rechner 10 eine Adresse eines Bereichs der Regelzelle 2 in Regelspeicher 22 auf diejenige des Regelzellenadressenregisters 23 und gibt das Systemlöschsignal SCLR aus. Ansprechend auf dieses Signal werden der Zähler 24 und der Zähler 36 beide rückgesetzt, so daß der Zähler 24 erneut die Taktsignale CK zu zählen beginnt, um die Pfadadressensignale auszugeben. Ansprechend auf die Pfadadressensignale werden die Pfadcodes der Regelzelle 2 in Folge gelesen und dann der Schlußfolgerungseinheit 30 zur Ausführung einer Schlußfolgerung gemäß der Regelzelle 2 in der gleichen Weise zugeführt.
- Wenn der Host-Rechner 10 die Schlußfolgerungsergebnisse ak (die Schlußfolgerungsergebnisse im Bezug auf den Vordersatz) aus dem Ausgangspuffer 35 der Schlußfolgerungseinheit 30 ausliest, führt der Host-Rechner 10 die Operation gemäß der vorgenannten Gleichung (1) oder eine andere Hintersatzverarbeitung (z. B. MAX- Operation und Defuzzifizierung) aus, um ein Schlußfolgerungsendergebnis gemäß Regelzelle 1 zu gewinnen.
- Wie oben beschrieben kann, da eine Anzahl von Regelzellen vorab im Regelspeicher 22 gespeichert worden sind, der Host- Rechner 10 irgendeine gegebene Schlußfolgerung einfach dadurch starten, daß er eine Regelzellenadresse zur Bezeichnung einer Regelzelle, die einer auszuführenden Schlußfolgerung zugeordnet ist, aufgibt und das Systemlöschsingal SCLR ausgibt. Ferner kann ansprechend auf das Endsignal END, das angibt, daß eine Schlußfolgerungsverarbeitung gemäß einer bezeichneten Regelzelle abgeschlossen ist, der Host-Rechner 10 nur ein Schlußfolgerungsergebnis aus dem Ausgangspuffer 35 auslesen. Ähnlich schreibt, wenn eine andere Schlußfolgerung auszuführen ist, der Host- Rechner 10 eine Regelzellenadresse zur Bezeichnung einer auszuführenden Regelzelle in das Register 23 und gibt das Systemlöschsignal SCLR aus. Wie oben beschrieben kann der Host- Rechner 10 auszuführende Schlußfolgerungen mit hoher Geschwindigkeit schalten. Wenn eine Schlußfolgerung gemäß einer Regelzelle hier als eine Teilaufgabe betrachtet wird, kann der Host-Rechner 10 mehrere Teilaufgabe in Folge ohne Unterbrechung ausführen. Da ferner die Teilaufgaben einfach durch Umschreiben der Adressen daten in dem Regelzellenadressenregister 23 umgeschaltet werden können, ist es möglich einen Teilaufgabenumschaltvorgang mit hoher Geschwindigkeit zu verwirklichen.
- Die Schlußfolgerungseinheit 30 führt eine Schlußfolgerungsoperation gemäß einer einzelnen Regelzelle mit einer extrem hohen Geschwindigkeit durch. Im Allgemeinen ist es, da gesteuerte Objekte keine Hochgeschwindigkeitsschlußfolgerung erfordern, möglich, eine Anzahl von Fuzzy-Schlußfolgerungen zur Steuerung einer Anzahl von Objekten durch ein einzelnes Fuzzy-Schlußfolgerungssystem auszuführen, weil die oben erwähnte Mehraufgabenverarbeitung ermöglicht ist.
- Der detaillierte Aufbau und das detaillierte Arbeiten der in Fig. 6 gezeigten Schlußfolgerungseinheit wird nachfolgend unter Bezug auf das in Fig. 11 gezeigte Zeitdiagramm unter der Annahme beschrieben, daß die Pfadcodes im Bezug auf die in Fig. 9 gezeigte Ausgangsvariable y1 geliefert werden (eine Zellenadresse der Regelzelle 1 im Adressenregister 23 gesetzt wird).
- Der Zählwert des Pfadadressenzählers 24 wird durch die Anstiegsflanke des Taktsignals CK gesetzt. D. h., es wird nach Rücksetzung durch das Löschsignal CLR, wenn der Zählwert des Zählers 24 durch die erste Anstiegsflanke des Taktsignals CK zu 1 wird, der erste Pfadcode der Regelzelle 1 aus dem Regelspeicher 22 ausgelesen und dann auf das Register 40 gegeben. Das Register 40 verriegelt den Pfadcode an der Anstiegsflanke des Taktsignals TC0. Der IV-Code des verriegelten Pfadcodes wird dem Eingangspuffer 31 zugeführt.
- Dieser Eingangspuffer 31 weist Speicherbereiche auf, wo Eingangsdaten für alle Eingangsvariablen x1 (i = 1 M), die für alle Regelzellen 1 bis M verwendet werden, gespeichert werden können, und ferner wird eine Adresse für jeden Bereich jeder Eingangsvariablen x1 bestimmt.
- Andererseits liest der Host-Rechner 10 Eingangswerte (Eingangsdaten), die Eingangsvariablen x1 betreffen, aus Sensoren oder Eingangsvorrichtungen (alle nicht gezeigt) periodisch aus jedes Mal, wenn sich die Eingangswerte geändert haben, oder zu geeigneten Zeiten, und schreibt über den Bus diese Eingangsdaten in die entsprechenden Bereiche des Eingangspuffers 31. Allgemein werden diese Eingangsdaten ohne Synchronisierung mit der Schlußfolgerungsoperation der Schlußfolgerungseinheit 30 eingeschrieben. Es ist möglich, den Host-Rechner 10 von der oben erwähnten Schreibverarbeitung zu entlasten, indem eine andere spezielle Hardware zum Auslesen von Eingangsdaten aus Sensoren und Einschreiben der gelesenen Daten in die entsprechenden Bereiche des Eingangspuffers 31 vorgesehen werden.
- In jedem Fall werden die in den entsprechende Eingangsvariable x1 betreffenden Eingangsdatenspeicherbereichen gespeicherten Eingangsdaten im Eingangspuffer 31 aktualisiert. Wenn der IV-Code dem Eingangspuffer 31 zugeführt wird, werden Eingangsdaten (ausgedrückt durch x1 in Fig. 6), die in den Speicherbereich geschrieben sind, dessen Adresse durch den IV-Code bezeichnet ist (d. h., in den durch den IV-Code bezeichneten Eingangsdatenspeicherbereich der Eingangsvariablen xi), ausgelesen und dann dem Register 41 zugeführt.
- Danach werden die OP-Codes des durch das Register 40 verriegelten Pfadcodes und die vom Eingangspuffer 31 ausgegebenen Eingangsdaten xi durch das Register 41 der nachfolgenden Stufe zum Zeitpunkt der Anstiegsflanke des Taktsignals TC1 verriegelt. Der Code OP1 des OP-Codes und die Eingangsdaten xi, die durch das Register 41 verriegelt wurden, werden dem Wahrheitswertgenerator 32 zugeführt.
- Der praktische Aufbau des Wahrheitswertgenerators 32 wird später noch beschrieben, der Wahrheitswertgenerator 32 ist aber mit einer solchen Funktion ausgestattet, daß der Wahrheitswert ai in einer durch den Code OP1 bezeichneten Zugehörigkeitsfunktion berechnet und ausgegeben wird, wenn Eingangsdaten x1 gegeben sind. Der Wahrheitswert ai wird dem Register 42 der nachfolgenden Stufe zugeführt.
- Die durch das Register 41 verriegelten Codes OP2 bis OP4 des OP-Codes und der vom Wahrheitswertgenerator 32 ausgegebene Wahrheitswert ai werden durch das nachfolgende Register 42 zum Zeitpunkt der Anstiegsflanke des Taktsignals TC2 verriegelt. Die durch das Register 42 verriegelten Code OP2 und Wahrheitswertdaten ai werden dem MIN-Operationsabschnitt 33 zugeführt.
- Der MIN-Operationsabschnitt 33 umfaßt eine MIN-Schaltung, ein MIN-Register und einen Dekodierer zur Steuerung dieser Schaltungen nach Maßgabe des Codes OP2. Die MIN-Schaltung vergleicht die Eingangsdaten mit den im MIN-Register verriegelten Daten. Andererseits wird, da der Code OP2 sich, wie bereits beschrieben, aus zwei Bits zusammensetzt, der MIN-Operationsabschnitt 33 durch den Code OP2 folgendermaßen gesteuert:
- Wenn der Code 0P2 (1 0) ist, verriegelt die MIN-Operationseinheit 33 die Eingangsdaten im MIN-Register.
- Wenn der OP2-Code (0 0) ist, werden die Eingangsdaten mit den in MIN-Register verriegelten Daten verglichen und der kleinere Wert im MIN-Register verriegelt.
- Wenn der Code OP2 (0 1) ist, werden die Eingangsdaten mit den im MIN-Register verriegelten Daten verglichen und der kleinere Wert auf die nachfolgende Stufe ausgegeben.
- Wenn der Code OP2 (1 1) ist, werden die Eingangsdaten auf die nachfolgende Stufe, so wie sie sind, ausgegeben.
- Unter Bezug auf Fig. 9 beispielsweise werden, da der Code OP2 im Pfadcode Nr. (1) (1 0) ist, die Eingangsdaten durch das MIN-Register verriegelt. Da der Code OP2 im Pfadcode Nr. (2) (0 1) ist, werden die Eingangsdaten mit den vorher im MIN-Register verriegelten Daten verglichen und die kleineren Daten ausgegeben. Durch obige Operation ist die MIN-Operation für zwei Daten abgeschlossen (siehe Regel 1).
- Ähnlich werden, da der Code OP2 im Pfadcode Nr. (3) (1 0) ist, die Eingangsdaten durch das MIN-Register verriegelt. Da der Code OP2 im Pfadcode Nr. (4) (0 1) ist, werden die Eingangsdaten mit den vorher im MIN-Register verriegelten Daten verglichen und die kleineren Daten ausgegeben. Durch obige Operation ist die MIN-Operation für zwei Daten abgeschlossen (siehe Regel 2).
- Da ferner der Code OP2 im Pf adcode Nr. (5) (1 0) ist, werden die Eingangsdaten im MIN-Register verriegelt. Da der Code OP2 im Pfadcode Nr. (6) (0 0) ist, werden die Eingangsdaten mit den vorher im MIN-Register verriegelten Daten verglichen, und die kleineren Daten werden im MIN-Register verriegelt. Da der Code OP2 im Pfadcode Nr. (7) (0 1) ist, werden die Eingangsdaten mit den im MIN-Register verriegelten Daten verglichen und die kleineren Daten ausgegeben. Durch obigen Vorgang ist die MIN- Operation von drei Daten abgeschlossen (siehe Regel 4).
- Wie oben beschrieben, führt der MIN-Operationsabschnitt 33 eine MIN-Operation für eine Anzahl von Pfadcodes durch und gibt das Operationsergebnis ak oder ak1 (k = NL bis PL, 1 = 1, 2, ...) aus, wenn die MIN-Operation abgeschlossen ist (wenn OP = (0 1)).
- Die durch das Register 42 verriegelten Codes OP3 und OP4 und das MIN-Operationsergebnis (nur ausgegeben, wenn die MIN- Operation abgeschlossen ist, wie oben beschrieben) des MIN- Operationsabschnitts 33 werden durch das Register 43 der nachfolgenden Stufe zum Zeitpunkt der Anstiegsflanke des Zeitsignals TC3 verriegelt. Der durch das Register 43 verriegelte Code OP3 und die MIN-Operationsergebnisdaten (wenn gewonnen) werden dem MAX-Operationsabschnitt 34 zugeführt.
- Der MAX-Operationsabschnitt 34 umfaßt eine MAX-Schaltung, ein MAX-Register und einen Dekodierer zur Steuerung dieser Schaltungen gemäß dem Code OP3. Die MAX-Schaltung vergleicht die Eingangsdaten mit den im MAX-Register verriegelten Daten. Da sich der Code OP3, wie bereits beschrieben, aus zwei Bits zusammensetzt, wird der MAX-Operationsabschnitt 34 durch den Code OP3 folgendermaßen gesteuert:
- Wenn der Code OP3 (1 0) ist, verriegelt der MAX-Operationsabschnitt 34 die Eingangsdaten im MAX-Register.
- Wenn der Code OP3 (0 0) ist, werden die Eingangsdaten mit den im MAX-Register verriegelten Daten verglichen und die größeren Daten im MAX-Register verriegelt.
- Wenn der Code OP3 (0 1) ist, werden die Eingangsdaten mit den im MAX-Register verriegelten Daten verglichen und die größeren Daten auf die nachfolgende Stufe ausgegeben.
- Wenn der Code OP3 (1 1) ist, werden die Eingangsdaten, so wie sie sind, ausgegeben.
- Unter Bezug auf Fig. 9 beispielsweise werden, da der Code OP3 im Pfadcode Nr. (1) (0 0) ist, die Eingangsdaten mit den MAX- Registerdaten verglichen und die größeren Daten durch das MAX- Register verriegelt. Im vorliegenden Fall passiert jedoch nichts, da der MIN-Operationsabschnitt 33 der vorhergehenden Stufe keine Daten ausgibt (d. h., die Eingangsdaten null sind) und das MAX- Register gelöscht gehalten wird (d. h., die Daten null sind).
- Da der Code OP3 im Pfadcode Nr. (2) (1 1) ist, werden die Eingangsdaten ak1 (k = NM in Regel 1) ausgegeben, wie sie sind (aNM in Regel 1; siehe Fig. 4).
- Da der Code OP3 im Pfadcode Nr. (3) (0 0) ist, werden die Eingangsdaten mit den MAX-Registerdaten ak1 verglichen und die größeren Daten durch das MAX-Register verriegelt. Im vorliegenden Fall werden jedoch die Daten ak1 im MAX-Register verriegelt gehalten, da der MIN-Operationsabschnitt 33 kein Signal ausgibt (d. h., die Eingangsdaten null sind).
- Da der Code OP3 im Pfadcode Nr. (4) (1 0) ist, werden die Daten ak1 im MAX-Register verriegelt.
- Da der Code OP3 im Pfadcode Nr. (5) (0 0) ist und keine Eingangsdaten vorliegen, bleibt der MAX-Operationsabschnitt 34 unverändert. Ebenso bleibt, da der Code OP3 im Pfadcode Nr. (6) (0 0) ist und keine Eingangsdaten vorliegen, der MAX-Operationsabschnitt 34 unverändert.
- Da der Code OP3 im Pfadcode Nr. (7) (0 1) ist, werden die Eingangsdaten ak2 mit den MAX-Registerdaten ak1 verglichen und die größeren Daten ak ausgegeben. Die MAX-Operation für zwei Daten ist hier abgeschlossen (MAX-Operation für Regeln 2 und 4).
- Da es viele Regeln gibt, die keine MAX-Operation wie bei Regel 1 oder 3 erfordern, dient in einem solchen Fall der MAX- Operationsabschnitt 34 lediglich zur Durchreichung von Daten.
- Zum Zeitpunkt der Anstiegsflanke des Taktsignals CT4 werden der im Register 43 verriegelte Code OP4 und die Ausgabe ak (wenn vorhanden) des MAX-Operationsabschnitts 34 durch das Register 44 verriegelt.
- Da der Code OP4 ein Bit ist, wird der Code OP4 auf "1" gesetzt, wenn das Operationsergebnis vom MAX-Operationsabschnitt 34 ausgegeben wird (wenn OP3 (0 1) ist) oder wenn das MIN- Operationsergebnis über den MAX-Operationsabschnitt 34 ausgegeben wird (wenn OP3 (1 1) ist). Der Code OP4 wird auf "0" in anderen als obigen Fällen gesetzt. Das heißt, der Code OP4 wird auf "1" nur dann gesetzt, wenn das Etikett der Hintersatz-Zugehörigkeits funktion sich ändert.
- Der Code OP4 wird auf den Ausgangsadressenzähler 36 ausgegeben. Der Zähler 36 wird dann, wie oben bereits beschrieben, ansprechend auf das Löschsignal CLR zurückgesetzt und zählt den Code OP4 wenn der Code OP4 "1" ist.
- Der in Fig. 6 gezeigte Ausgangspuffer 35 enthält sieben Bereiche, wo sieben Schlußfolgerungsergebnisse ak betreffend Vordersätze, die allen sieben Hintersatzetiketten entsprechen, gespeichert werden. Diese Bereiche werden durch Zählwerte (Adressen) des Zählers 36 bezeichnet. Wenn das Schlußfolgerungsergebnis ak vom MAX-Operationsabschnitt 34 ausgegeben und durch das Register 44 verriegelt wird, werden der Zählwert des Zählers 36 inkrementiert und die durch das Register 44 verriegelten Daten ak in einem Bereich des Ausgangspuffers 35 gespeichert, der durch den Zählwert des Zählers 36 bezeichnet wird.
- In dem Fall, wo die Anzahl von Etiketten der Hintersatzzugehörigkeitsfunktionen sechs oder kleiner für eine Regelgruppe, die eine Regelzelle bildet, ist, werden sechs oder weniger dazu entsprechende Daten ak im Ausgangspuffer 35 gespeichert. Ferner sind in dem Fall, wo Regeln im Bezug auf zwei oder mehr Ausgangsvariable in einer Regelzelle enthalten sind, vierzehn oder mehr Datenbereiche beispielsweise für den Ausgangspuffer vorgesehen.
- Da der Pfadadressenzähler 24 der Steuereinheit 20 die Anstiegsflanken des Taktsignals CK, wie bereits beschrieben, zählt und Signale zur Adressierung der Pfadcodes in einer bezeichneten Regelzelle in Folge ausgibt, werden die Pfadcodes dem Register 40 in Folge mit der gleichen Periode, wie es diejenige des Taktsignals CK ist, zugeführt. Ferner ist die Periode der Taktsignale TC0 bis TC4 die gleiche wie diejenige des Taktsignals CK. Daher verriegeln, wie in Fig. 11 abgebildet, bei jeder Periode des Taktsignals in Folge die Register 40 bis 44 eingegebene Codes und Daten zum Lesen der Eingangsdaten und Ausführen von Wahrheitswertberechnungen, MIN-Operationen und MAX- Operationen.
- Ferner treten verschiedene Verarbeitungen im Bezug auf einen spezifizierten Pfadcodefluß nach rechts in Fig. 6 zu jeder Taktperiode auf. Es ist daher möglich eine perfekte Pipeline- Verarbeitung ohne Zeitverlust (z. B. Wartezeit) bei jedem Pfadcode und bei jeder Verarbeitungsstufe durchzuführen, weil sowohl zu verarbeitende Daten als auch OP-Codes zur Steuerung einer an jeder Stufe auszuführenden Verarbeitung zusammen im Pfadcode enthalten sind.
- Nachdem die Verarbeitung für eine Regelzelle abgeschlossen ist, wird ein spezieller Code (1 0 1 1) (OP2, OP3), der, wie oben beschrieben, im Endcode enthalten ist, durch den Controller 21 festgestellt und das Signal END auf den Host-Rechner 10 gegeben. Der Host-Rechner 10 liest das im Ausgangspuffer 35 gespeicherte Schlußfolgerungsoperationsergebnis über den Bus 11. In diesem Fall kann der Host-Rechner leicht die Schlußfolgerungsergebnisdaten lesen, da der Augangspuffer 35 an der Endstufe vorgesehen ist.
Claims (3)
1. Pipeline-Fuzzyschlußfolgerungsverarbeitungsvorrichtung
(30), welche aufweist:
eine Anzahl von Verarbeitungsmitteln (31-35), die in der
Reihenfolge der Fuzzyschlußfolgerungsverarbeitung elektrisch
verschaltet sind,
Zwischenspeichermittel (40-44), die mit einer vorderen Stufe
jeder der Verarbeitungsmittel verbunden sind, zur
Zwischenspeicherung von Daten, die an entsprechende Verarbeitungsmittel
zu liefern und die an Verarbeitungsmittel einer rückwärtigen
Stufe zu übertragen sind,
Datenspeichermittel (22) zur Anordnung und Speicherung einer
Anzahl von zusammengesetzten Daten, die jeweils aus in
Fuzzyschlußfolgerungsverarbeitung zu verarbeitenden Objektdaten und
Operationscodes (OP1-OP4) zur Steuerung von Operationen der
Verarbeitungsmittel zusammengesetzt sind, wobei jede der
Operationen eine Einheitsoperation von
Fuzzyschlußfolgerungsverarbeitung ist und entsprechende Bearbeitungsmittel hat,
Datenlesemittel (10) zum Auslesen der zusammengesetzten
Daten in Folge aus den Datenspeichermitteln und Liefern der
ausgelesenen Daten an die Zwischenspeichermittel der ersten
Stufe, und
Taktsignalerzeugungsmittel (21) zum Erzeugen von
Taktsignalen (TC0-TC4) zur Steuerung von Zeiten, zu denen Daten mit den
Datenlesemitteln gelesen werden und zu denen Daten durch die
Zwischenspeichermittel an jede Stufe in einer solchen Weise
verriegelt werden, daß bestimmte Daten oder Codes in
zusammengesetzten Daten oder Daten, die durch die
Vorderstufenverarbeitungsmittel gebildet sind, in Folge aus den
Zwischenspeichermitteln oder den Verarbeitungsmitteln an der vorderen Stufe auf
die Zwischenspeichermittel der hinteren Stufe übertragen werden.
2. Pipeline-Verarbeitungsvorrichtung nach Anspruch 1, wobei
die Verarbeitungsmittel an der Endstufe Speichermittel (35) zur
Speicherung von Daten, die durch die Verarbeitungsmittel an der
vorderen Stufe gebildet sind, in Folge jedesmal, wenn eine
Verarbeitung abgeschlossen ist, sind.
3. Pipeline-Fuzzyschlußfolgerungsverarbeitungsverfahrenzum
Betreiben einer
Pipeline-Fuzzyschlußfolgerungsverarbeitungsvorrichtung (30), welche eine Anzahl von Verarbeitungsmitteln
(31-35), die in der Reihenfolge von
Fuzzyschlußfolgerungsverarbeitung in elektrischer Verbindungsbeziehung angeordnet sind
und mit einer vorderen Stufe jeder der Verarbeitungsmittel
verbundene Datenverriegelungsmittel (40-44) zur Zwischenspeicherung
von Daten, die auf entsprechende Verarbeitungsmittel zu geben
sind und auf Bearbeitungsmittel einer rückwärtigen Stufe zu
übertragen sind, enthält, welches die folgenden
Verfahrensschritte aufweist:
Bilden von zusammengesetzten Daten, die sich aus in
Fuzzyschlußfolgerungsverarbeitung zu verarbeitenden Objektdaten und
Operationscodes zur Steuerung von Operationen der
Verarbeitungsmittel zusammensetzen, wobei jede der Operationen eine
Einheitsoperation von Fuzzyschlußfolgerungsverarbeitung ist,
Anordnen und Speichern der zusammengesetzten Daten in einer
bestimmten Verarbeitungsfolge, und
Auslesen der zusammengesetzten Daten, beginnend am Kopf in
der bestimmten Verarbeitungsfolge, zur Lieferung der ausgelesenen
Daten an die Datenverriegelungsmittel an der ersten Stufe.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3269990A | 1990-07-26 | 1990-07-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69132188D1 DE69132188D1 (de) | 2000-06-15 |
DE69132188T2 true DE69132188T2 (de) | 2001-02-15 |
Family
ID=21866362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69132188T Expired - Fee Related DE69132188T2 (de) | 1990-07-26 | 1991-07-26 | Einrichtung zur "Fuzzy"-Folgerung |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0472921B1 (de) |
DE (1) | DE69132188T2 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0684549B1 (de) * | 1994-05-23 | 2000-11-02 | Co.Ri.M.Me. Consorzio Per La Ricerca Sulla Microelettronica Nel Mezzogiorno | Verfahren zur parallellen Bearbeitung von Fuzzy-Logik-Inferenzregeln und übereinstimmende Schaltkreisarchitektur mit Fuzzy-Eingabe und -Ausgabe |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61218323A (ja) * | 1985-03-20 | 1986-09-27 | 株式会社東芝 | 事故判定方法 |
EP0241286B2 (de) * | 1986-04-11 | 1994-11-09 | Mitsubishi Denki Kabushiki Kaisha | Selbsteinstellender Regler |
DE3878032T2 (de) * | 1987-05-19 | 1993-05-19 | Honda Motor Co Ltd | Fahrzeug-regelsystem. |
-
1991
- 1991-07-26 DE DE69132188T patent/DE69132188T2/de not_active Expired - Fee Related
- 1991-07-26 EP EP91112587A patent/EP0472921B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0472921B1 (de) | 2000-05-10 |
DE69132188D1 (de) | 2000-06-15 |
EP0472921A1 (de) | 1992-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3883192T2 (de) | Neuronale Netzwerkschaltung und -struktur. | |
DE68926557T2 (de) | Fuzzy Computersystem | |
DE19581638C2 (de) | Rechenvorrichtung mit einem Mikroprozessor, einem neuralen Netz-Koprozessor und einer DMA-Steuervorrichtung | |
DE69030778T2 (de) | Ein Lernsystem in einem neuronalen Rechner | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE69218941T2 (de) | Neuronale netzwerk architektur | |
DE1499722B1 (de) | Einrichtung zur modifizierung von informationswoertern | |
DE4042139A1 (de) | Neuron-einheit, neuronales netz und signalverarbeitungsverfahren | |
EP0573845B1 (de) | Fuzzy logic Controller mit hoher Verarbeitungsgeschwindigkeit | |
DE1915818B2 (de) | Steuerschaltung für ein elektronisches Datenverarbeitungssystem | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE69525682T2 (de) | Datenprozessorsystem mit Saturation-arithmetischer Operationsfunktion | |
DE69314732T2 (de) | Programmierbare logische Vorrichtung | |
DE2911909C2 (de) | Digitales Datenverarbeitungsgerät | |
DE69326102T2 (de) | Verfahren zum Betreiben eines digitalen Datenprozessors zur Auswertung einer Regel verschwommener Logik | |
DE4005042A1 (de) | Architektur eines digitalen bewegungssteuerungselements hoher geschwindigkeit | |
DE2117581B2 (de) | Einrichtung zur Adressenprüfung | |
DE69031361T2 (de) | Taktsignalgeneratorsystem | |
DE69426229T2 (de) | Verfahren zur parallellen Bearbeitung von Fuzzy-Logik-Inferenzregeln und übereinstimmende Schaltkreisarchitektur mit Fuzzy-Eingabe und -Ausgabe | |
DE3121046C2 (de) | ||
DE3782343T2 (de) | Zustandsanpassung fuer parallele verarbeitung. | |
DE69132188T2 (de) | Einrichtung zur "Fuzzy"-Folgerung | |
DE2745204A1 (de) | Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage | |
CH657487A5 (de) | Funktionsgenerator zur erzeugung einer anzahl von sich wiederholenden digitalen wellenformen. | |
DE2245284A1 (de) | Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |