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 Regelbestimmung

Info

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
Application number
DE69221373T
Other languages
English (en)
Other versions
DE69221373D1 (de
Inventor
Hajime Nishidai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP13945291A external-priority patent/JP3211093B2/ja
Application filed by Omron Tateisi Electronics Co filed Critical Omron Tateisi Electronics Co
Publication of DE69221373D1 publication Critical patent/DE69221373D1/de
Application granted granted Critical
Publication of DE69221373T2 publication Critical patent/DE69221373T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/04Physical realisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/023Learning or tuning the parameters of a fuzzy system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/026Development tools for entering the parameters of a fuzzy system
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/90Fuzzy 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

    HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf einen Fuzzy- Schlußfolgerungsprozessor und ein Fuzzy-Schlußfolgerungsverarbeitungsverfahren.
  • Beschreibung des Standes der Technik
  • 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.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • 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.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN Erste Ausführungsform
  • 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.
  • Zweite Ausführungsform
  • 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.
  • Dritte Ausführungsform
  • 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.
  • Vierte Ausführungsform
  • 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.
  • Fünfte Ausführungsform
  • 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.
DE69221373T 1991-05-15 1992-05-15 Prozessor und Verfahren für unscharfe Schlussfolgerung, und Verfahren und Anordnung zur Regelbestimmung Expired - Fee Related DE69221373T2 (de)

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)

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

* Cited by examiner, † Cited by third party
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 三菱電機株式会社 ファジイ制御機能付プログラマブルコントロ―ラ、そのモニタシステム、および、ファジイ制御機能付プログラマブルコントロ―ラの制御方法

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