DE4303149C1 - Fuzzy logic rule matrix storage for fuzzy controller - Google Patents

Fuzzy logic rule matrix storage for fuzzy controller

Info

Publication number
DE4303149C1
DE4303149C1 DE4303149A DE4303149A DE4303149C1 DE 4303149 C1 DE4303149 C1 DE 4303149C1 DE 4303149 A DE4303149 A DE 4303149A DE 4303149 A DE4303149 A DE 4303149A DE 4303149 C1 DE4303149 C1 DE 4303149C1
Authority
DE
Germany
Prior art keywords
linguistic
statement
input
premise
rule
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
DE4303149A
Other languages
German (de)
Inventor
Klaus Dieter Dr Meyer-Gramann
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.)
Mercedes Benz Group AG
Original Assignee
Daimler Benz AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Daimler Benz AG filed Critical Daimler Benz AG
Priority to DE4303149A priority Critical patent/DE4303149C1/en
Application granted granted Critical
Publication of DE4303149C1 publication Critical patent/DE4303149C1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/193Formal grammars, e.g. finite state automata, context free grammars or word networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/0275Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using fuzzy logic only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Fuzzy Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

Approximate rules with n input values and output length of a set of N statements are evaluated, as the premise of each rule is an AND product of statements about the input values, and the conclusion is expressed as output values in that each rule is replaced by a numerical value Zi, then for each sampling instant t output is: Zt=sum of elements from N to i=1 of Wi(t)*Zi/sum of elements from N to i = 1 of Wi(t), where wi(t) is the validity of the ith rule. Rules with the same conclusion are stored together in a matrix with natural numbers. L assorted conclusions Z1....ZL form the L-premise matrix.

Description

Die Erfindung bezieht sich auf ein im Oberbegriff des Patentanspruchs 1 angegebenes Verfahren, einen unscharfen Regler ("fuzzy controller") zu realisieren. Unscharfe Regler haben in den letzten Jahren zunehmend Bedeutung erlangt, vgl. z. B. H.-P. Preuß: "Fuzzy control - heuristische Regelung mittels unscharfer Logik" (Automatisierungstechn. Praxis 34, Teil I: S. 176-184, Teil II: S. 239-246), B. Kosko: "Neutral networks and fuzzy systems" (Prentice-Hall, 1992, Proceed. IEEE Intern. Conf. on Fuzzy Systems 1992).The invention relates to a specified in the preamble of claim 1 Method to realize a fuzzy controller. Blurred regulators have become increasingly important in recent years attained, cf. z. B. H.-P. Preuß: "Fuzzy control - heuristic regulation by means of fuzzy logic "(Automation Technology Practice 34, Part I: pp. 176-184, Part II: pp. 239-246), B. Kosko: "Neutral networks and fuzzy systems" (Prentice-Hall, 1992, Proceed., IEEE International Conf. On Fuzzy Systems 1992).

In der Erfindung wird ein unscharfer Regler behandelt, der n Eingangsgrößen und eine Ausgangsgröße aufweist. Seine Aktionen werden durch eine Menge {R₁, . . ., RN} linguistischer Regeln gesteuert. Jede dieser Regeln besitzt als Prämisse entweder eine linguistische Aussage über eine Eingangsgröße oder eine UND-Verknüpfung von mehreren linguistischen Aussagen über paarweise verschiedene Eingangsgrößen, und als Konklusion weist die Regel eine linguistische Aussage über die Ausgangsgröße Z des Reglers auf. Jede linguistische Aussage ist durch eine unscharfe Menge ("fuzzy set") beschrieben, die durch ihre Zugehörigkeitsfunktion gekennzeichnet ist. Dieser Aufbau ist der gebräuchlichste für einen unscharfen Regler.The invention deals with a fuzzy controller having n input quantities and one output. Its actions are represented by a set {R₁,. , ., R N } linguistic rules controlled. Each of these rules has as a premise either a linguistic statement about an input variable or an AND combination of several linguistic statements about pairwise different input variables, and as a conclusion the rule has a linguistic statement about the output variable Z of the controller. Each linguistic statement is described by a fuzzy set, which is characterized by its membership function. This setup is the most common for a fuzzy controller.

Ein Nachteil der üblichen Arbeitsweise eines unscharfen Reglers (vgl. z. B. H.-P. Preuß, a. a. O.) ist, daß zur Laufzeit viele Rechenoperationen mit Zugehörigkeitsfunktionen erforderlich sind. Dies kann insbesondere bei hohen Geschwindigkeitsanforderungen, z. B. beim Echtzeitbetrieb, von Nachteil sein. Die vorhandene Automatisierungseinrichtung für den technischen Prozeß, der geregelt werden soll, erlaubt es oft nicht, den unscharfen Regler auf besonders leistungsfähige Hardware abzusetzen, da diese schlecht in die übrigen Komponenten der Automatisierungseinrichtung integrieren ließe und/oder zu teuer wäre. Um den bestehenden Geschwindigkeitsanforderungen trotzdem zu genügen, wurden in neuerer Zeit mehrfach unscharfe Regler vorgestellt, die zu jedem Abtastzeitpunkt die gewichtete Zusammenfassung der zuvor durch "defuzzification" der Konklusionen gewonnenen N Zahlen bilden und als Wert der Ausgangsgröße ausgeben. Beispielhaft genannt seien C. L. McCullough: "An anticipatory fuzzy logic controller utilizing neural net prediction" (Simulation 58 No. 5, pp. 327-332, 1992) und M. Mizumoto: "Realization of PID controls by fuzzy control methods" (Proceed. IEEE Intern. Conf. on Fuzzy Systems 1992, pp. 709-715).A disadvantage of the usual operation of a fuzzy controller (cf. H.-P. Preuss, a. a. O.) is that at runtime many arithmetic operations with membership functions required are. This can be especially at high Speed requirements, eg. B. in real-time operation, disadvantageous  his. The existing automation device for the technical process, which is supposed to be regulated, often does not allow the blurred regulator to be particularly to dispose of powerful hardware, as this bad in the other components could integrate the automation device and / or would be too expensive. Nevertheless, to meet the existing speed requirements, In recent times, blurred regulators have been introduced at each sampling time, the weighted summary of the previously formed by "defuzzification" of the conclusions obtained N numbers and output as the value of the output quantity. Examples include C.L. McCullough: "An anticipatory fuzzy logic controller using neural net prediction" (Simulation 58 No. 5, pp. 327-332, 1992) and M. Mizumoto: "Realization of PID controls by fuzzy control methods "(Proceed. IEEE International Conf. on Fuzzy Systems 1992, pp. 709-715).

Fig. 1 zeigt die Arbeitsweise eines derartigen Reglers beispielhaft für den Fall zweier Eingangsgrößen X und Y. Die Prämisse jeder Regel ist entweder die UND-Verknüpfung einer linguistischen Aussage über X und einer über Y oder eine einzelne linguistische Aussage über X oder eine über Y. Der Verzicht auf ODER-Verknüpfungen ist keine echte Einschränkung: Eine Regel der Form "IF Prämisse₁ ODER Prämisse₂ THEN Konklusion" läßt sich äquivalent ersetzen durch zwei Regeln "IF Prämisse₁ THEN Konklusion" sowie "IF Prämisse₂ THEN Konklusion". Seien μi und νi die Zugehörigkeitsfunktionen für die linguistische Aussage über X bzw. Y in der Prämisse oder Regel Ri und λi die für die Konklusion von Ri. Falls in der Prämisse von Ri nur eine linguistische Aussage über X auftritt, aber keine über Y, so wird formal νi(y)=1 für alle y gesetzt. Falls nur eine Aussage über Y auftritt, wird μi(x)=1 für alle x gesetzt. Seien xt und yt die aktuellen Werte der Eingangsgrößen X und Y. Der Regler arbeitet wie folgt:The premise of each rule is either the AND of a linguistic statement about X and one about Y or a single linguistic statement about X or one about Y. FIG. The omission of OR-links is not a real restriction: a rule of the form "IF premise il OR premise ¨ THEN conclusion" can be equivalently replaced by two rules "IF premise İ THEN conclusion" and "IF premise İ THEN conclusion". Let μ i and ν i be the membership functions for the linguistic statement about X or Y in the premise or R i and λ i for the conclusion of R i . If in the premise of R i only a linguistic statement about X occurs, but none about Y, then formally ν i (y) = 1 is set for all y. If only one statement about Y occurs, then μ i (x) = 1 is set for all x. Let x t and y t be the current values of the input quantities X and Y. The controller works as follows:

In der ersten Phase wird für alle i ε {1, . . ., N} die Zugehörigkeitsfunktion λi "defuzzifiziert" und dadurch eine reelle Zahl Zi als Handlungsvorschlag der Regel Ri gewonnen (Schritt I).In the first phase, for all i ε {1,. , ., N} the membership function λ i is "defuzzified" and thereby a real number Z i is obtained as an action proposal of the rule R i (step I).

In der zweiten Phase wird für alle i ε {1, . . ., N} der Zugehörigkeitsgrad von xt zu μi und von yt zu νi bestimmt, und dadurch werden die Werte αi1(t) und αi2(t) gewonnen (Schritt II). Danach werden für i=1, . . ., N die Werte αi1(t) und αi2(t) zum aktuellen Gewichtsfaktor ωi der Regel Ri zusammengefaßt, indem auf die beiden Zugehörigkeitsgrade αi1(t) und αi2(t) eine T-Norm ("triangular norm", s. u.) angewendet wird (Schritt III). Für i=1, . . ., N wird ωi(t) mit der präzisen Konklusion Zi der Regel Ri multipliziert (Schritt IV). Die dergestalt gewichteten N Aktionsvorschläge werden addiert (Schritt V). Zur Normierung wird die Summe aller Gewichtsfaktoren gebildet (Schritt VI). Der aktuelle Wert zt der vom unscharfen Regler bestimmten Größe wird durch Division des in Schritt V gebildeten Wertes durch den im Schritt VI bestimmten Wertes ermittelt (Schritt VII), also istIn the second phase, for all i ε {1,. , ., N} determines the degree of membership of x t to μ i and y t to ν i , and thereby the values α i1 (t) and α i2 (t) are obtained (step II). Thereafter, for i = 1,. , ., N the values α i1 (t) and α i2 (t) to the current weighting factor ω i the rule R i summarized by the two membership degrees α i1 (t) and α i2 (t) a T-norm ("triangular norm ", see below) (step III). For i = 1,. , ., N, ω i (t) is multiplied by the precise conclusion Z i of the rule R i (step IV). The thus weighted N action suggestions are added (step V). For normalization, the sum of all weight factors is formed (step VI). The current value z t of the variable determined by the fuzzy controller is determined by dividing the value formed in step V by the value determined in step VI (step VII), that is

Die bislang in der Literatur am häufigsten erwähnte T-Norm ist das Minimum, eine andere T-Norm das algebraische Produkt. T-Normen werden z. B. in C. C. Lee: "Fuzzy Logic in Control Systems: Fuzzy Logic Controller (IEEE Transactions on Systems, Man, and Cybernetics 20, pp. 404-435, 1990) beschrieben.The most frequently mentioned T-standard in the literature so far is the minimum, another T-norm the algebraic product. T-standards are z. In C.C. Lee: "Fuzzy Logic in Control Systems: Fuzzy Logic Controller (IEEE Transactions on Systems, Man, and Cybernetics 20, pp. 404-435, 1990) described.

Ein Vorteil dieses Vorgehens gegenüber der klassischen unscharfen Regelung ist der, daß die Arbeit der ersten Phase nicht zur Laufzeit erfolgen muß, sondern vorab bei der Erstellung des Reglers ausgeführt werden kann. Zur Laufzeit braucht dann der unscharfe Regler nur die Arbeit der zweiten Phase zu verrichten. Mit Ausnahme des Schrittes II sind dies ausschließlich Rechenoperationen mit reellen Zahlen, nicht mit Zugehörigkeitsfunktionen.An advantage of this approach over the classic blurred scheme is that the work of the first phase does not have to take place at runtime, but can be executed in advance when creating the controller. to Running time then the fuzzy controller needs only the work of the second phase to perform. With the exception of step II, these are only arithmetic operations with real numbers, not with membership functions.

Das in Fig. 1 gezeigte Verfahren legt nicht fest, wie der Regelsatz abzuspeichern ist. Eine naheliegende Methode, einen Satz linguistischer Regeln abzuspeichern, wird z. B. in Abdelnour et al. ("Design of a Fuzzy Controller Using Input and Output Mapping Factors", IEEE Transact. Systems, Man and Cybernetics Vol. 21, No. 5, pp. 952-960) genannt:The method shown in Fig. 1 does not specify how the rule set is to be stored. An obvious method of storing a set of linguistic rules is e.g. In Abdelnour et al. ("Design of a Fuzzy Controller Using Input and Output Mapping Factors", IEEE Transact. Systems, Man and Cybernetics Vol. 21, No. 5, pp. 952-960):

  • - Die linguistischen Aussagen über die Eingangs- und Ausgangsgrößen werden geeignet codiert, indem sie durchnumeriert werden. Für jede Eingangs- und jede Ausgangsgröße beginnt die Numerierung bei 1.- The linguistic statements about the input and output variables are suitable encoded by numbering. For every input and every output the numbering starts at 1.
  • - Der Regelsatz wird in einer n-dimensionalen Datenstruktur abgelegt, wobei n die Anzahl der Eingangsgrößen des Reglers bezeichnet.- The rule set is stored in an n-dimensional data structure, where n is the number of Input variables of the controller called.

Im Falle zweier Eingangsgrößen X und Y und einer Ausgangsgröße Z ist diese Datenstruktur eine Tabelle. Seien A₁, . . ., An-X die Aussagen über X, B₁, . . ., Bn-Y die über Y und C₁, . . ., Cn-Z die über Z. Die Regel "FALLS 'X=Ai' UND 'Y=Bj' DANN 'Z=Ck' " wird dadurch abgespeichert, daß in der i-ten Zeile und j-ten Spalte die Zahl k eingetragen wird. Dies erfolgt für i=1, . . ., n-X, j=1, . . ., n-Y und k=1, . . . n-Z. Die Tabelle hat demnach n-X Zeilen und n-Y Spalten. Jeder Eintrag ist eine ganze Zahl zwischen 1 und n-Z.In the case of two input variables X and Y and one output Z, this data structure is a table. Be A₁,. , ., A nX the statements about X, B₁ ,. , ., B nY the over Y and C₁ ,. , ., C nz the over Z. The rule "FALLS 'X = A i ' AND 'Y = B j ' THEN 'Z = C k '" is stored in that in the ith row and the j-th column Number k is entered. This is done for i = 1,. , ., nX, j = 1,. , ., nY and k = 1,. , , nZ. The table therefore has nX rows and nY columns. Each entry is an integer between 1 and nZ.

Diese naheliegende Methode hat folgende Nachteile:This obvious method has the following disadvantages:

  • - Sie legt nicht fest, wie der Regler zur Laufzeit die Datenstruktur auswertet.- It does not specify how the controller evaluates the data structure at runtime.
  • - Sie ermöglicht keine effiziente Parallelisierung.- It does not allow efficient parallelization.

Ein Regler kann die Tabelle zur Laufzeit rein seriell auswerten. Das kann oft zu viel Zeit in Anspruch nehmen. Abhilfe schafft eine geeignete Parallelisierung.A controller can evaluate the table purely serially at runtime. That can often take too much time in Claim. Remedy creates a suitable parallelization.

Will man bei der gerade beschriebenen Art, den Regelsatz abzuspeichern, erreichen, daß der Regler mehrere Aktionen parallel ausführt, so muß man für jede Regel, d. h. für jeden Tabelleneintrag, eine eigene Verarbeitungseinheit vorsehen. Die Anzahl der erforderlichen Verarbeitungseinheiten kann groß sein, wie das folgende Rechenbeispiel zeigt: Ein unscharfer Regler habe 3 Eingangsgrößen X₁, X₂ und X₃, und über jede Eingangsgröße seien 5 linguistische Aussagen formuliert. Dann gibt es 5³=125 Möglichkeiten, je eine Aussage über jede Eingangsgröße zu kombinieren. Demnach wären 125 Verarbeitungseinheiten erforderlich. Ändert man die Anzahl linguistischer Aussagen über eine Eingangs- oder Ausgangsgröße ab, so muß man die Anzahl von Verarbeitungseinheiten, also die Architektur des Reglers, ändern. Eine derartige Änderung ist beim Entwurf und bei der Validierung des Reglers häufig erforderlich.Will you in the just described way to save the rule set, achieve that the Regulator performs several actions in parallel, so you have for each rule, d. H. for each Table entry, provide a separate processing unit. The number of required Processing units can be large, as the following calculation example shows: A blurred Regulator has 3 inputs X₁, X₂ and X₃, and about each input 5 formulated linguistic statements. Then there are 5³ = 125 possibilities, one statement each to combine every input. Thus, 125 processing units would be required. If the number of linguistic statements is changed over an input or output variable, so you have to change the number of processing units, so the architecture of the controller. Such a change is common in the design and validation of the controller required.

Es stellt sich die Aufgabe, das eingangs genannte und in Fig. 1 gezeigte Verfahren so zu verbessern, daß es kostengünstig und leistungsfähig implementiert werden kann, d. h. so, daß der Regler den Regelsatz möglichst schnell auswertet und möglichst wenig Speicherplatz verbraucht, und daß es für jede mögliche Anzahl von Eingangsgrößen und beliebig viele linguistische Aussagen pro Eingangsgröße anwendbar ist, um den Anforderungen in der Praxis zu genügen.It has as its object to improve the method mentioned in the introduction and shown in FIG. 1 so that it can be implemented inexpensively and efficiently, ie in such a way that the controller evaluates the set of rules as quickly as possible and uses as little space as possible, and that it is suitable for every possible number of input variables and any number of linguistic statements per input variable is applicable in order to meet the requirements in practice.

Diese Aufgabe wird durch das im Patentanspruch 1 beschriebene Verfahren gelöst: Aufgezeigt wird, wie ein - möglicherweise umfangreicher - Regelsatz speicherplatzsparend abgespeichert und zur Laufzeit schnell ausgewertet werden kann, auch wenn nur beschränkte Speicher- und Rechenkapazität zur Verfügung stehen. This object is achieved by the method described in claim 1 solved: Displayed as a - possibly more extensive - ruleset saved in memory space and quickly evaluated at runtime can be, even if only limited storage and computing capacity be available.  

Idee des erfindungsgemäßen Verfahrens ist es, daß man alle Regeln mit gleicher Konklusion zusammengefaßt abspeichert und zur Laufzeit gemeinsam auswertet. Sei {Aussage₁, . . ., AussageL} die Menge der über Z möglichen linguistischen Aussagen. Sei für k ε {1, . . ., L} Z(k) die reelle Zahl, die durch "defuzzification" derjenigen Zugehörigkeitsfunktion geliefert wird, die Aussagek kennzeichnet. Formel (1) wird umgeschrieben; zu jedem Abtastzeitpunkt arbeitet der Regler folgendermaßen:The idea of the method according to the invention is that all rules are stored together with the same conclusion and evaluated together at runtime. Let {statement ₁,. , ., Statement L } the set of possible linguistic statements about Z. Let k ε {1,. , ., L} Z (k) is the real number given by "defuzzification" of the membership function that identifies k . Formula (1) is rewritten; At each sampling time, the controller works as follows:

  • - Zuerst bestimmt der Regler für k=1, . . ., L die reelle Zahl ζk(t), das ist die aktuelle Gewichtung von Aussagek, gemäß ζk(t) = Σ {ωi(t) | Die Konklusion von Ri ist "Z = Aussagek} (2)- First, the controller determines k = 1,. , ., L is the real number ζ k (t), which is the current weighting of the statement k , according to ζ k (t) = Σ {ω i (t) | The conclusion of R i is "Z = statement k } (2)
  • - Dann wird der aktuelle Ausgangswert zt als gewichtetes Mittel von {Z(1), . . ., Z(L)} berechnet, nämlich gemäß Then the current output value z t is calculated as a weighted average of {Z (1) ,. , ., Z (L) }, namely according to

Diese Modifizierung erfordert nur L Multiplikationen anstelle N Multiplikationen wie Formel (1). In vielen unscharfen Reglern, die in der Literatur beschrieben sind, ist N erheblich größer als L.This modification requires only L multiplications instead of N multiplications as formula (1). In many fuzzy regulators described in the literature N is considerably larger than L.

Die gemäß Formel (2) bestimmten Gewichtsfaktoren ζk(t) hängen von den aktuellen Eingangswerten, den Zugehörigkeitsfunktionen für linguistische Aussagen über die Eingangsgrößen sowie von den Prämissen der Regeln ab, nicht aber von den Konklusionen. In Formel (3) fließen nur die Gewichtsfaktoren {ζ₁(t), . . ., ζL(t)} sowie die "defuzzifizierten" Konklusionen {Z(1), . . ., Z(L)} ein. Dies motiviert die Idee, die Prämissen aller Regeln mit gleicher Konklusion gemeinsam abzuspeichern. Das erfindungsgemäße Verfahren sieht eine codierte Abspeicherung in einer Matrix vor, die aus ganzen nichtnegativen Zahlen besteht. Da es L verschiedene Konklusionen gibt, erhält man L Prämissen-Matrizen P(1), . . ., P(L). Für jedes k ε {1, . . ., L} enthält P(k) codiert die Prämissen aller Regeln der Gestalt "IF Prämisse THEN Z=Aussagek".The weighting factors ζ k (t) determined according to formula (2) depend on the current input values, the membership functions for linguistic statements on the input variables and on the premises of the rules, but not on the conclusions. In formula (3) flow only the weighting factors {ζ₁ (t),. , ., ζ L (t)} and the "defuzzified" conclusions {Z (1) ,. , ., Z (L) }. This motivates the idea to store the premises of all rules together with the same conclusion. The method according to the invention provides coded storage in a matrix consisting of whole nonnegative numbers. Since there are L different conclusions, one obtains L premise matrices P (1) ,. , ., P (L) . For each k ε {1,. , ., L} contains P (k) encodes the premises of all rules of the form "IF premise THEN Z = statement k ".

Um zur Laufzeit ζk(t) nach Formel (2) zu berechnen, wertet der unscharfe Regler die Matrix P(k) aus. Außerdem sind ihm die Zahlen Z(1), . . ., Z(L) verfügbar.To calculate at runtime ζ k (t) according to formula (2), the fuzzy controller evaluates the matrix P (k) . In addition, the numbers Z (1) ,. , ., Z (L) available.

Im folgenden wird zunächst beschrieben, wie nach dem Reglerentwurf die Prämissen der linguistischen Regeln, die die Aktionen des unscharfen Reglers steuern, erfindungsgemäß in den Prämissen-Matrizen codiert abgespeichert werden (Phase 1), und dann wird dargelegt, wie der unscharfe Regler gemäß Patentanspruch 1 zur Laufzeit arbeitet (Phase 2). Hierzu wird wieder beispielhaft der Fall zweier Eingangsgrößen X und Y behandelt; es ist also n = 2. Z bezeichne die Ausgangsgröße. Über X seien nX linguistische Aussagen möglich, über Y nY und über Z nZ linguistische Aussagen. Sie werden von 1 bis nX bzw. bis nY bzw. bis nZ durchnumeriert. Seien {μ[1], . . ., μ[nX]}, {ν[1], . . ., ν[nY]} und {λ[1], . . ., λ[nZ]} die linguistischen Hecken für X, Y und Z; unter der linguistischen Hecke einer Größe versteht man die Menge der Zugehörigkeitsfunktionen für die möglichen linguistischen Aussagen über die Größe.In the following it will first be described how, according to the controller design, the premises of the linguistic rules which control the actions of the fuzzy controller are stored coded in the premises matrices (phase 1), and then it is explained how the fuzzy controller according to claim 1 working at runtime (phase 2). For this purpose, the case of two input variables X and Y is again treated as an example; it is therefore n = 2. Let Z denote the output quantity. X X linguistic statements are possible via X, linguistic statements about Y n Y and Z n Z. They are numbered from 1 to n X or to n Y or to n Z. Be {μ [1],. , ., μ [n X ]}, {ν [1],. , ., ν [n Y ]} and {λ [1],. , ., λ [n Z ]} the linguistic hedges for X, Y and Z; The linguistic hedge of a quantity is the set of membership functions for the possible linguistic statements about size.

Welche Schritte das erfindungsgemäße Verfahren in Phase 1 vorsieht, nachdem der unscharfe Regler entworfen und validiert wurde, zeigt Fig. 2. Zunächst werden die N linguistischen Regeln {R₁, . . ., RN} auf die Mengen T₁, . . . TL aufgeteilt (Schritt I). Für k ε {1, . . . L} enthält Tk alle Regeln, deren Konklusionen die k-te linguistische Aussage über Z ist. Sei Nkdie die Elementezahl von Tk. Falls Nk=0, so gibt es keine Regel mit der k-ten linguistischen Aussage über Z als Konklusion, und diese linguistische Aussage wird in Phase und Phase 2 vernachlässigt. Der Übersichtlichkeit halber wird dieser Fall in Fig. 2 und Fig. 3 nicht berücksichtigt. Falls Nk<0, so werden die Prämissen nach folgender Vorschrift in der Prämissen-Matrix P(k) codiert (Schritt II):The steps which the method according to the invention provides in phase 1 after the fuzzy controller has been designed and validated are shown in FIG. 2. First, the N linguistic rules {R 1,. , ., R N } to the quantities T₁,. , , T L divided (step I). For k ε {1,. , , L} T k contains all the rules whose conclusions are the k-th linguistic statement about Z. Let N k be the number of elements of T k . If N k = 0, then there is no rule with the k-th linguistic statement about Z as a conclusion, and this linguistic statement is neglected in phase and phase 2. For the sake of clarity, this case is not considered in FIG. 2 and FIG. 3. If N k <0, then the premises are coded according to the following rule in the premises matrix P (k) (step II):

Für k ε {1, . . ., L} ist P(k) eine Matrix mit Nk Zeilen und n=2 Spalten. Für i ε {1, . . ., Nk} ist pi1 (k), die Zahl in der i-ten Zeile und 1. Spalte von P(k), gleich 0, falls in der Prämisse der i-ten Regel aus Tk nicht auf X Bezug genommen wird, ansonsten ist pi1 (k)=r ε {1, . . ., nX}, falls in der Prämisse dieser Regel die r-te linguistische Aussage über X auftritt. Entsprechend ist pi2 (k)=0, falls in der Prämisse dieser Regel nicht auf Y Bezug genommen wird, ansonsten ist pi2 (k)=s ε {1, . . ., nY}.For k ε {1,. , ., L}, P (k) is a matrix with N k rows and n = 2 columns. For i ε {1,. , ., N k } is p i1 (k) , the number in the i-th row and the first column of P (k) , equal to 0, if not referenced X in the premise of the ith rule from T k otherwise, p i1 (k) = r ε {1 ,. , ., n X }, if in the premise of this rule the rth linguistic statement about X occurs. Similarly, p i2 (k) = 0 if the premise of this rule does not refer to Y, otherwise p i2 (k) = s ε {1 ,. , ., n Y }.

An einem simplen Beispiel wird das Codierungs-Verfahren des Patentanspruchs illustriert. Über X und Y seien je 3 linguistische Aussagen möglich. Nach Durchnumerierung seien dies für X:
Aussage₁ über X sei "X ist klein", Aussage₂ über X sei "X ist mittel", und Aussage₃ über X sei "X ist groß". Entsprechend sei Aussage₁ über Y ist "Y ist klein", Aussage₂ über Y ist "Y ist mittel" und Aussage₃ über Y ist "Y ist groß".
A simple example illustrates the coding method of the claim. About X and Y are ever 3 linguistic statements possible. After numbering, these are for X:
Statement ₁ over X is "X is small", statement ₂ over X is "X is medium", and statement ₃ over X is "X is large". Accordingly, statement ₁ over Y is "Y is small", statement ₂ over Y is "Y is medium" and statement ₃ over Y is "Y is large".

Aussage₁ über Z sei "Z ist sehr groß". Die Konklusion "Z ist sehr groß" trete in folgenden Regeln auf:Statement ₁ over Z is "Z is very large". The conclusion "Z is very big" occurs in the following rules:

IF "X ist groß"IF "X is big" THEN "Z ist sehr groß"THEN "Z is very big" IF "Y ist klein"IF "Y is small" THEN "Z ist sehr groß" sowieTHEN "Z is very big" as well IF "X ist klein" UND "Y ist mittel"IF "X is small" AND "Y is middle" THEN "Z ist sehr groß"THEN "Z is very big"

Da dies 3 Regeln sind, ist N₁=3 und P(1) eine 3×2-Matrix. Sie hat diese Elemente:Since these are 3 rules, N₁ = 3 and P (1) is a 3 × 2 matrix. It has these elements:

p₁₁(1) = 3, p₁₂(1) = 0, p₂₁(1) = 0, p₂₂(1) = 1, p₃₁(1) = 1, p₃₂(1) = 2p₁₁ (1) = 3, p₁₂ (1) = 0, p₂₁ (1) = 0, p₂₂ (1) = 1, p₃₁ (1) = 1, p₃₂ (1) = 2

In Phase 1 werden nach dem Reglerentwurf außerdem die Zahlen {Z(1), . . ., Z(L)} gewonnen (Schritt III in Fig. 2). Für k ε {1, . . ., L} wird Z(k) bestimmt durch "defuzzification" von λ[k], also der Zugehörigkeitsfunktion, die die k-te linguistische Aussage über Z kennzeichnet. Hierfür wird eines der vielfach in der Literatur beschriebenen Verfahren angewendet, etwa die Schwerpunkt-Methode. In Phase 1, after the controller design, the numbers {Z (1) ,. , ., Z (L) } (step III in FIG. 2). For k ε {1,. , ., L}, Z (k) is determined by "defuzzification" of λ [k], ie the membership function which characterizes the k-th linguistic statement about Z. One of the methods widely used in literature, such as the centroid method, is used for this.

Um den Regelsatz erfindungsgemäß abzuspeichern, ist bei n Eingangsgrößen folgender Speicherplatz erforderlich: Sei für i ε {1, . . ., n} ni die Anzahl der linguistischen Aussagen über die i-te Eingangsgröße, sei nmax=max {n₁, . . ., nn}. Dann benötigt man:In order to store the rule set according to the invention, the following storage space is required for n input variables: Let iε {1,. , ., n} n i is the number of linguistic statements about the i-th input, let n max = max {n₁,. , ., n n }. Then you need:

  • - n₁ + . . . nn-mal den Platz für eine Zugehörigkeitsfunktion- n₁ +. , , n n times the space for a membership function
  • - N*n-mal den Platz für eine ganze Zahl größer oder gleich 0 und kleiner oder gleich nmax - N * n times the space for an integer greater than or equal to 0 and less than or equal to n max
  • - L-mal den Platz für eine reelle Zahl- L times the space for a real number
  • - L-mal den Platz für Struktur- und Speicherinformationen einer Matrix (z. B. Speicheradresse des 1. Elementes), nämlich für die L Prämissen-Matrizen- L times the space for structure and memory information of a matrix (eg. Memory address of the 1st element), namely for the L premises matrices
  • - und 1-mal den Platz für Struktur- und Speicherinformationen eines Vektors, nämlich des Vektors (Z₁, . . ., ZL)and once the place for structure and memory information of a vector, namely the vector (Z₁, ..., Z L )

In den meisten unscharfen Reglern, über die in der Literatur berichtet wird, sind sowohl nmax als auch L kleiner 10.In most fuzzy regulators reported in the literature, both n max and L are less than 10.

Die Arbeit des unscharfen Reglers zur Laufzeit, also in Phase 2, bei einem Abtastzeitpunkt t zeigt Fig. 3 für den Fall zweier Eingangsgrößen X und Y. Benötigt werden einerseits die durchnumerierten Zugehörigkeitsfunktionen der linguistischen Hecken für X und Y, andererseits die L Prämissen-Matrizen P(1), . . ., P(L), außerdem die Zahlen xt und yt als Werte von X bzw. Y zum Abtastzeitpunkt t.The operation of the fuzzy controller at run time, ie in phase 2, at a sampling time t, Fig. 3 for the case of two input variables X and Y. On the one hand, the numbered membership functions of the linguistic hedges for X and Y, on the other hand, the L premise matrices P (1) ,. , ., P (L) , in addition, the numbers x t and y t as values of X and Y at the sampling time t.

Zunächst werden die L Matrizen A(1)(t), . . ., A(L)(t) bestimmt (Schritt IV). Für k ε {1, . . ., L} hat A(k)(t) genau wie P(k) Nk Zeilen und n=2 Spalten. Die Elemente von A(k)(t) sind Zahlen aus dem Intervall [0, 1] und hängen nach folgender Formel ab von xt, yt, den linguistischen Hecken von X und Y sowie der Prämissen-Matrix P(k):First, the L matrices A (1) (t),. , ., A (L) (t) determined (step IV). For k ε {1,. , ., L} has A (k) (t) just like P (k) N k rows and n = 2 columns. The elements of A (k) (t) are numbers from the interval [0, 1] and depend on the following formula: x t , y t , the linguistic hedges of X and Y, and the premise matrix P (k) :

Die Zahl µ[pi1 (k)](xt) ist der Zugehörigkeitsgrad von xt, dem Wert von X zum Zeitpunkt t, zur Zugehörigkeitsfunktion für die pi1(k)-te linguistische Aussage über X.The number μ [p i1 (k) ] (x t ) is the degree of membership of x t , the value of X at time t, to the membership function for the p i1 (k) -th linguistic statement about X.

Für k ε {1, . . ., L} wird nun der aktuelle Gewichtsfaktor ζk(t) des Wertes Zk bestimmt, indem Formel (2) auf die Matrix A(k)(t) angewendet wird. Formel 2 auf A(k)(t) anzuwenden bedeutet, zunächst für jede Matrix-Zeile eine T-Norm auf die n Zahlen der Zeile anzuwenden und dann die so gewonnenen Nk Zahlen zu addieren.For k ε {1,. , , L}, the current weighting factor ζ k (t) of the value Z k is determined by applying formula (2) to the matrix A (k) (t). Applying formula 2 to A (k) (t) means first applying a T-norm to the n numbers of the row for each matrix row and then adding the N k numbers thus obtained.

Zum Abschluß wird gemäß Formel (3) die mit ζ(t), . . ., ζL(t) gewichtete Zusammenfassung der Werte Z(1), . . ., Z(L) gebildet und dadurch zt als Ausgangswert zum Zeitpunkt t berechnet.Finally, according to formula (3), with ζ (t),. , ., ζ L (t) weighted summary of values Z (1) ,. , ., Z (L) and thereby computes z t as the output value at time t.

Bei n Eingangsgrößen erfordert das in Fig. 3 gezeigte Vorgehen insgesamt folgende Rechenoperationen: Sei für k ε {1, . . ., L} Gk die Anzahl derjenigen Elemente der Prämissen-Matrix P(k), die größer 0 sind. Es ist Gk≧Nk, da jede Regel mindestens eine linguistische Aussage in der Prämisse besitzt und die Regel-Teilmenge Tk Nk Elemente besitzt und Gk≦Nk *n, da P(k) Nk *n Elemente besitzt. Sei G: = G₁+. . .+GL, es ist N≦G≦N*n.For n input variables, the procedure shown in FIG. 3 requires the following overall arithmetic operations: Let k ε {1,. , ., L} G k, the number of those elements of the premise matrix P (k) that are greater than 0. It is G k ≧ N k , since each rule has at least one linguistic statement in the premise, and the rule subset T k has N k elements and G k ≦ N k * n, since P (k) has N k * n elements , Let G: = G₁ +. , + G L , it is N ≦ G ≦ N * n.

Zu jedem Abtastzeitpunkt sind durchzuführen:At each sampling time, perform:

  • - N*n Lesezugriffe auf eine Matrix, nämlich auf eine Prämissen-Matrix, N*n Prüfungen einer Zahl auf Gleichheit mit 0 sowie G Bestimmungen eines Zugehörigkeitswertes für eine aktuellen Eingangswert, um die Matrizen A(1)(t), . . ., A(L)(t) zu bestimmen (Schritt IV in Fig. 3) - N * n read accesses to a matrix, namely to a premise matrix, N * n checks of a number for equality with 0, and G determinations of a membership value for a current input value to the matrices A (1) (t),. , ., A (L) (t) to determine (step IV in Fig. 3)
  • - N*n Multiplikationen und N Additionen reeller Zahlen zwischen 0 und 1, um aus den Matrizen A(1)(t), . . ., A(L)(t) die Gewichtsfaktoren ζ₁(t), . . ., ζL(t) zu berechnen (Schritt V)- N * n multiplications and N additions of real numbers between 0 and 1 to obtain from the matrices A (1) (t),. , ., A (L) (t) the weighting factors ζ₁ (t),. , ., ζ L (t) to calculate (step V)
  • - L Multiplikationen, 2*L Additionen und 1 Division, um zt als gewichtete Summe gemäß Formel 1 des Patentanspruches zu bestimmen (Schritte VI bis VIII).- L multiplications, 2 * L additions and 1 division to determine z t as a weighted sum according to formula 1 of the claim (steps VI to VIII).

Ein unscharfer Regler, der nach dem erfindungsgemäßen und in Fig. 2 und Fig. 3 dargestellten Verfahren arbeitet, läßt sich sowohl als Softwareprogramm als auch durch handelsübliche Rechentechnik-Hardware-Bausteine technisch realisieren.A fuzzy controller which operates according to the inventive method shown in FIG. 2 and FIG. 3, can be realized technically both as a software program as well as by commercially available computer technology hardware modules.

Eine vorteilhafte Wahl der in Formel 2 auftretenden, aber im Patentanspruch 1 nicht spezifizierten T-Norm ist das algebraische Produkt. Es ist schnell zu berechnen, verschenkt aber im Gegensatz zum oft in der Literatur erwähnten Minimum keine Informationen, da das Produkt zweier Zahlen von beiden Zahlen abhängt, das Minimum nur von der kleineren Zahl.An advantageous choice of occurring in formula 2, but in the claim 1 unspecified T-norm is the algebraic product. It's fast too calculate, but gives away in contrast to the often mentioned in the literature Minimum no information, as the product of two numbers of both Numbers depend on the minimum only of the smaller number.

Eine weitere vorteilhafte Ausgestaltung der Erfindung ist, wenn jede Zugehörigkeitsfunktion trapezförmig ist, also eine der in Fig. 4 gezeigten Formen hat. Die Beschränkung auf trapezförmige Zugehörigkeitsfunktionen spart Speicherplatz und Laufzeit bzw. Rechen-Hardware. Der Zugehörigkeitsgrad eines aktuellen Wertes einer Eingangsgröße zu einer trapezförmigen Zugehörigkeitsfunktion, die in Schritt IV der Fig. 3 bestimmt werden muß, wird dann vorteilhaft durch lineare Interpolation über die vier Stützstellen exakt realisiert.A further advantageous embodiment of the invention is when each membership function is trapezoidal, that is one of the forms shown in Fig. 4 has. The limitation to trapezoidal membership functions saves memory and runtime or compute hardware. The degree of membership of a current value of an input variable to a trapezoidal membership function, which must be determined in step IV of FIG. 3, is then advantageously realized exactly by linear interpolation over the four interpolation points.

Eine weitere vorteilhafte Ausgestaltung der Erfindung besteht darin, bereits vor dem Reglerentwurf eine obere Schranke S für die maximal zulässige Anzahl linguistischer Aussagen über jede Eingangs- und Ausgangsgröße festzulegen. Für praktische Anwendungen dürfte S=7 völlig ausreichen. Die Festlegung dieser oberen Schranke hat zwei Vorteile:A further advantageous embodiment of the invention is already before the controller design, an upper limit S for the maximum permissible number linguistic statements about each input and output variable. For practical applications S = 7 should be sufficient. The Defining this upper bound has two advantages:

  • - Da jedes Element pÿ (k) der Prämissen-Matrix P(k) eine ganze Zahl zwischen 0 und S ist, kann man den maximalen Speicherplatzbedarf für die Prämissen-Matrizen leicht bestimmen. Für S=7 benötigt man für jedes Element einer Prämissen-Matrix maximal 4 Bit, da das Element eine Zahl zwischen 0 und 7 ist. Insgesamt beanspruchen die Elemente aller L Prämissen-Matrizen demnach 4*N*n Bit.Since each element p ÿ (k) of the premise matrix P (k) is an integer between 0 and S, one can easily determine the maximum storage space requirement for the premises matrices. For S = 7, a maximum of 4 bits is required for each element of a premise matrix, since the element is a number between 0 and 7. Altogether, the elements of all L premise matrices thus claim 4 * N * n bits.
  • - Da L, die Anzahl der linguistischen Aussagen über die Ausgangsgröße Z, kleiner oder gleich S ist, kann man S Funktions- oder Rechenhardware- Bausteine parallel schalten und damit gewährleisten, daß jeder erfindungsgemäß abgespeicherte Regelsatz wie folgt parallel bearbeitet wird: Die Matrizen A(1)(t), . . ., A(L)(t) werden parallel bestimmt (Schritt IV in Fig. 3), gleichfalls die Gewichtsfaktoren ζ₁(t), . . ., ζL(t) (Schritt V).Since L, the number of linguistic statements about the output quantity Z, is less than or equal to S, one can switch S function or computational hardware components in parallel and thus ensure that each rule set stored according to the invention is processed in parallel as follows: The matrices A ( FIG. 1) (t),. , ., A (L) (t) are determined in parallel (step IV in Fig. 3), also the weighting factors ζ₁ (t),. , ., ζ L (t) (step V).

Eine weitere vorteilhafte Ausgestaltung der Erfindung ist, die "fuzzification" der Eingangsgrößen für jede linguistische Aussage zu jedem Abtastzeitpunkt t nur einmal für alle Regeln gemeinsam durchzuführen. Sei n die Anzahl der Eingangsgrößen und für i ε {1, . . ., n} bezeichne ni die Anzahl der linguistischen Aussagen über die i-te Eingangsgröße. Sei N die Anzahl der linguistischen Regeln des unscharfen Reglers. Dann müssen statt bis N*n Bestimmungen eines Zugehörigkeitswertes, wie es beim Vorgehen nach Fig. 3 erforderlich sein kann, nur n₁+. . .+nn Bestimmungen eines Zugehörigkeitswertes durchgeführt werden. Fig. 5 zeigt die Arbeitsweise eines derart arbeitenden unscharfen Reglers für den Fall zweier Eingangsgrößen X und Y.A further advantageous embodiment of the invention is to perform the "fuzzification" of the input variables for each linguistic statement at each sampling time t only once for all rules together. Let n be the number of input quantities and for i ε {1,. , ., n} denote n i the number of linguistic statements about the ith input. Let N be the number of linguistic rules of the fuzzy controller. Then, instead of N * n provisions of a membership value, as may be required in the procedure of Fig. 3, only n₁ +. , . + n n determinations of a membership value. Fig. 5 shows the operation of such a fuzzy controller in the case of two input variables X and Y.

Beherzigt man alle hier dargestellten Möglichkeiten, die Erfindung vorteilhaft auszugestalten, so erfordert das in Fig. 5 gezeigte Vorgehen zu jedem Abtastzeitpunkt folgende Rechenoperationen:Taking all the possibilities presented here to design the invention in an advantageous manner, the procedure shown in FIG. 5 requires the following arithmetic operations at each sampling instant:

  • - n₁+. . .+nn Bestimmungen eines Zuhörigkeitswertes (Schritt I in Fig. 5) durch lineare Interpolation über 4 Stützstellen und Abspeicherung der dadurch gewonnenen n₁+. . .+nn Zahlen- n₁ +. , . + n n determinations of a hearing value (step I in Fig. 5) by linear interpolation over 4 nodes and storage of the thus obtained n₁ +. , . + nn numbers
  • - N* Lesezugriffe auf eine Matrix, nämlich auf eine Prämissen-Matrix, N*n Prüfungen einer Zahl auf Gleichheit mit 0 und N*n Lesezugriffe auf einen zuvor bestimmten Zugehörigkeitswert, um die Matrizen A(1)(t), . . ., A(L)(t) zu bestimmen (Schritt II in Fig. 5)- N * read accesses to a matrix, namely to a premises matrix, N * n checks of a number for equality with 0 and N * n read accesses to a previously determined membership value, around the matrices A (1) (t),. , ., A (L) (t) (step II in FIG. 5)
  • - N*n Multiplikationen und N Additionen reeller Zahlen zwischen 0 und 1, um aus den Matrizen A(1)(t), . . ., A(L)(t) die Gewichtsfaktoren ζ₁(t), . . ., ζL(t) zu berechnen (Schritt III) - N * n multiplications and N additions of real numbers between 0 and 1 to obtain from the matrices A (1) (t),. , ., A (L) (t) the weighting factors ζ₁ (t),. , ., ζ Calculate L (t) (Step III)
  • - L Multiplikationen, 2*L Additionen und 1 Division, um zt als gewichtete Summe gemäß Formel (3) zu bestimmen (Schritte IV bis VI),- L multiplications, 2 * L additions and 1 division to determine z t as a weighted sum according to formula (3) (steps IV to VI),

Falls über jede Größe maximal S linguistische Aussagen getroffen wurden, so sind folgende Abschätzungen möglich:If maximum linguistic statements were made about each size, so the following estimates are possible:

L ≦ S
n₁ + . . . +nn ≦ S*n
N ≦ S*n,
L ≦ S
n₁ +. , , + n n ≦ S * n
N ≦ S * n,

da es maximal S*n Möglichkeiten gibt, ein n-Tupel mit einer linguistischen Aussage über jede Eingangsgröße zu bilden.since there are at most S * n possibilities to form an n-tuple with a linguistic statement about each input quantity.

Claims (6)

1. Verfahren zur Abspeicherung und Auswertung einer Menge linguistischer Regeln {R₁, . . ., RN} in einem unscharfen Regler mit n Eingangsgrößen und einer Ausgangsgröße Z, wobei
  • - die Prämisse jeder Regel entweder aus einer einzigen linguistischen Aussage über eine Eingangsgröße des Reglers oder aus mehreren linguistischen Aussagen über jeweils eine Eingangsgröße besteht,
  • - die linguistischen Aussagen in jeder Prämisse mit UND verknüpft sind, wenn die Prämisse aus mehr als einer linguistischen Aussage besteht,
  • - die linguistischen Aussagen in jeder Prämisse paarweise verschiedenen Eingangsgrößen gelten und
  • - die Konklusion jeder Regel eine einzige linguistische Aussage über die Ausgangsgröße ist,
  • - für jede linguistische Aussage, die in der Prämisse oder Konklusion einer Regel auftritt, eine Zugehörigkeitsfunktion über die Grundgesamtheit der in der Aussage betroffenen Größe vorliegt, und
  • - in einer ersten Phase für jedes i ε {1, . . ., N}, wobei N die Anzahl der linguistischen Regeln ist, die Konklusion der Regel Ri durch einen Zahlenwert Zi ersetzt wird, der durch "defuzzification" der die linguistische Aussage der Konklusion charakterisierenden Zugehörigkeitsfunktion gewonnen wird, und
  • - in einer zweiten Phase für jeden Zeitpunkt t, für den der unscharfe Regler durch Auswertung des Regelsatzes einen Wert für die Ausgangsgröße Z bestimmen soll,
    • - zunächst für jedes i = 1, . . ., N für jede linguistische Aussage Aÿ (mit j ε {1, . . ., n}), die in der Prämisse der Regel Ri auftritt, der Zugehörigkeitsgrad αÿ(t) ermittelt wird, den der aktuelle Wert der von der linguistischen Aussage betroffenen Größe in der die linguistischen Aussage charakterisierenden Zugehörigkeitsfunktion besitzt,
    • - dann für jedes i ε {1, . . ., N} aus diesen Zugehörigkeitsgraden die aktuelle Gültigkeit ωi(t) der Prämisse von Ri bestimmt wird,
    • - und zuletzt die Zahl zt nach der Formel gebildet und als aktueller Wert für die Ausgangsgröße Z benutzt wird,
1. Method for storing and evaluating a set of linguistic rules {R₁,. , ., R N } in a fuzzy controller with n input variables and an output Z, where
  • - the premise of each rule consists either of a single linguistic statement about an input variable of the controller or of several linguistic statements about one input variable each,
  • - the linguistic statements in each premise are ANDed if the premise consists of more than one linguistic statement,
  • - the linguistic statements in each premise apply in pairs different input quantities and
  • - the conclusion of each rule is a single linguistic statement about the output quantity,
  • - for each linguistic statement that appears in the premise or conclusion of a rule, there is a membership function over the population of the variable involved in the statement, and
  • in a first phase for each i ε {1,. , ., N}, where N is the number of linguistic rules, the conclusion of the rule R i is replaced by a numerical value Z i, which is obtained by "defuzzification" of the membership function characterizing the linguistic statement of the conclusion, and
  • in a second phase for each time t, for which the fuzzy controller is to determine a value for the output quantity Z by evaluating the set of rules,
    • - first for each i = 1,. , ., N for each linguistic statement A ÿ (with j ε {1, ... , N}), which occurs in the premise of the rule R i , the degree of membership α ÿ (t) is determined, which is the current value of the linguistic statement has affected size in the membership function characterizing the linguistic statement,
    • - then for each i ε {1,. , ., N} from these degrees of membership the actual validity ω i (t) of the premise of R i is determined,
    • - and finally the number z t according to the formula is formed and used as the current value for the output Z,
dadurch gekennzeichnet, daß bei dem Verfahren
  • - in der ersten Phase die linguistischen Aussagen über jede Eingangs- und Ausgangsgröße jeweils bei 1 beginnend durchnumeriert werden,
  • - die Regelmenge in L disjunkte Teilmengen T₁, . . ., TL zerlegt wird, wobei L die Anzahl der linguistischen Aussagen über Z ist, indem für alle k ε {1, . . ., L} Tk aus der Menge aller Regeln besteht, die als Konklusion gerade die k-te linguistische Aussage über Z besitzen,
  • - für alle k ε {1, . . ., L} die Regeln der Teilmenge Tk ineiner Matrix
    P(k) = {pÿ (k) | 1 ≦ i ≦ Nk und 1 ≦ j ≦ n}
    abgespeichert werden, wobei n die Anzahl der Eingangsgrößen und Nk die Anzahl der linguistischen Regeln in der Regel-Teilmenge Tk bezeichnet,
  • - für alle k ε {1, . . ., L}, i ε {1, . . ., Nk} und j ε {1, . . ., n} pÿ (k) eine ganze Zahl größer gleich 0 ist, die die linguistische Aussage über die j-te Eingangsgröße in der Prämisse der i-ten Regel in der Menge Tk beschreibt, wobei pÿ (k)=0 bedeutet, daß diese Eingangsgröße in der Prämisse nicht auftritt, während pÿ (k)<0 ausdrückt, daß in der Prämisse die pÿ (k)-te linguistische Aussage über die j-te Eingangsgröße auftritt, und
  • - für alle k ε {1, . . ., L} die reelle Zahl Z(k) durch "defuzzification" derjenigen Zugehörigkeitsfunktion gewonnen wird, die die k-te linguistische Aussage über Z kennzeichnet,
  • - in der zweiten Phase
  • - zunächst für k ε {1, . . ., L}, i ε {1, . . ., Nk} und j ε {1, . . ., n} αÿ (k)(t)=1 gesetzt wird, falls pÿ (k)=0 ist, bzw. αÿ (k)(t) als Zugehörigkeitsgrad des Wertes der j-ten Eingangsgröße zum Zeitpunkt t zu der Zughörigkeitsfunktion, die die pÿ (k)-te linguistische Aussage über die j-ten Eingangsgröße kennzeichnet, bestimmt wird, falls pÿ (k)<0 ist,
  • - dann für k ε {1, . . ., L} die aktuelle Gewichtung ζk(t) der k-ten linguistischen Aussage über Z nach der Formel gebildet wird, wobei T eine T-Norm mit n Argumenten ist, und
  • - zuletzt der aktuelle Ausgangswert zt gemäß berechnet wird.
characterized in that in the method
  • - in the first phase, the linguistic statements about each input and output variable are numbered beginning at 1,
  • - The rule set in L disjunkte subsets T₁,. , ., T L , where L is the number of linguistic statements about Z, for all k ε {1,. , ., L} T k consists of the set of rules which, as conclusion, have the k-th linguistic statement about Z,
  • - for all k ε {1,. , ., L} the rules of the subset T k in a matrix
    P (k) = {p ÿ (k) | 1 ≦ i ≦ N k and 1 ≦ j ≦ n}
    are stored, where n is the number of input variables, and N k denotes the number of linguistic rules in the rule-subset T k,
  • - for all k ε {1,. , ., L}, i ε {1,. , ., N k } and j ε {1,. , ., n} p ÿ (k) is an integer greater than or equal to 0, which describes the linguistic statement about the jth input in the premise of the ith rule in the set T k , where p ÿ (k) = 0 means that this input does not appear in the premise, while p ÿ (k) <0 expresses that the premise is the p ÿ (k) -th linguistic statement about the j-th input, and
  • - for all k ε {1,. , . L} the real number Z (k) is obtained by "defuzzification" of the membership function which characterizes the k-th linguistic statement about Z,
  • - in the second phase
  • - first for k ε {1,. , ., L}, i ε {1,. , ., N k } and j ε {1,. , ., n} α ÿ (k) (t) = 1 is set if p ÿ (k) = 0, or α ÿ (k) (t) as a degree of membership of the value of the j-th input quantity at time t the match function, which identifies the p ÿ (k) -th linguistic statement about the j-th input, is determined if p ÿ (k) <0,
  • - then for k ε {1,. , ., L} the current weighting ζ k (t) of the k-th linguistic statement about Z according to the formula where T is a T-norm with n arguments, and
  • - last the current output value z t according to is calculated.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
  • - daß in Formel 2 als T-Norm das algebraische Produkt gewählt wird, also für k ε {1, . . ., L} die aktuelle Gewichtung ζk(t) der k-ten linguistischen Aussage über Z nach der Formel bestimmt wird.
2. The method according to claim 1, characterized
  • - that in formula 2 as T-norm the algebraic product is chosen, thus for k ε {1,. , ., L} the current weighting ζ k (t) of the k-th linguistic statement about Z according to the formula is determined.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß eine obere Schranke S für die maximale Anzahl der linguistischen Aussagen über jede Eingangsgröße sowie über die Ausgangsgröße festgelegt und dadurch der maximale Speicherplatzbedarf des Reglers bestimmt werden kann.3. The method according to claim 1 or 2, characterized, that an upper bound S for the maximum number of linguistic statements over each input variable as well as over the output size and thereby the maximum storage space requirement of the controller are determined can. 4. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß ausschließlich trapezförmige Zugehörigkeitsfunktionen verwendet werden.4. The method according to claim 1 or 2, characterized, that exclusively trapezoidal membership functions are used. 5. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß zu jedem Abtastzeitpunkt für jede Eingangsgröße die Zugehörigkeitswerte ihres aktuellen Wertes zu allen linguistischen Aussagen über diese Eingangsgröße vorab bestimmt, zwischengespeichert und bei der Regelsatzanwendung für diesen Abtastzeitpunkt die gespeicherten Zugehörigkeitswerte verwendet werden.5. The method according to claim 1 or 2, characterized, that at each sampling time for each input, the membership values their current value to all linguistic statements about them Input size determined in advance, cached, and in the rule set application for this sampling time the stored membership values be used.
DE4303149A 1993-01-30 1993-01-30 Fuzzy logic rule matrix storage for fuzzy controller Expired - Fee Related DE4303149C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE4303149A DE4303149C1 (en) 1993-01-30 1993-01-30 Fuzzy logic rule matrix storage for fuzzy controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE4303149A DE4303149C1 (en) 1993-01-30 1993-01-30 Fuzzy logic rule matrix storage for fuzzy controller

Publications (1)

Publication Number Publication Date
DE4303149C1 true DE4303149C1 (en) 1994-06-30

Family

ID=6479600

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4303149A Expired - Fee Related DE4303149C1 (en) 1993-01-30 1993-01-30 Fuzzy logic rule matrix storage for fuzzy controller

Country Status (1)

Country Link
DE (1) DE4303149C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19635902C1 (en) * 1996-09-04 1998-02-19 Siemens Ag Process for the mechanical generation of an optimized knowledge base for a fuzzy logic processor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3927343A1 (en) * 1988-08-19 1990-03-01 Fuji Xerox Co Ltd PROGRAMMABLE FUZZYLOGIKSCHALTUNG

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3927343A1 (en) * 1988-08-19 1990-03-01 Fuji Xerox Co Ltd PROGRAMMABLE FUZZYLOGIKSCHALTUNG

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Abdelnour, Ghassan M. et al.: Design of a Fuzzy Controller Using Input and Output Mapping Factors. In: IEEE Transaction on Systems, Man, and Cybernetics, Vol. 21, No. 5, Sept./Oct. 1991, S. 952-960 *
Mizumoto, M.: Realization of PID-Controls by Fuzzy Control Methods. In: Proc. IEEE Intern. Conference on Fuzzy Systems, 1992, S. 709-715 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19635902C1 (en) * 1996-09-04 1998-02-19 Siemens Ag Process for the mechanical generation of an optimized knowledge base for a fuzzy logic processor

Similar Documents

Publication Publication Date Title
DE3883192T2 (en) Neural network circuit and structure.
DE68927014T2 (en) Associative model conversion system and adjustment procedure therefor
DE69803606T2 (en) METHOD FOR PREDICTING OVERVOLTAGE IN A CONTROL SYSTEM
DE68928612T2 (en) METHOD FOR DETERMINING THE INFERENCE RULE AND INFERENCE MOTOR
EP0845720B1 (en) Method of analyzing and monitoring of transient processes
DE10392599T5 (en) Method for controlling a target system
EP0875808A2 (en) Method and system for generating a process model of a technical installation
DE2063199B2 (en) Device for the execution of logical functions
EP0977687B1 (en) Method for low-fuel, computer-assisted control of any number of thrusters arranged on a spacecraft
DE69320003T2 (en) Neural network circuit
DE4303149C1 (en) Fuzzy logic rule matrix storage for fuzzy controller
DE69426229T2 (en) Process for parallel processing of fuzzy logic inference rules and matching circuit architecture with fuzzy input and output
DE69126052T2 (en) Neural network
DE69203592T2 (en) Electronic fuzzy logic control and associated memory construction method.
EP0600569B1 (en) Method for evaluating a number of linguistic rules
EP0689688B1 (en) Fuzzy standard automation system for industrial plants
DE69313837T2 (en) Storage organization method for a control with fuzzy logic and device for it
DE69313622T2 (en) Storage organization method for a control with fuzzy logic and device for it
EP0703567B1 (en) Process and apparatus for determining the degree of matching of two structures, as well as apparatus to recognize the speech and programme modul for that
DE69123623T2 (en) Fuzzy reasoning system
DE3609925C2 (en)
EP0673522B1 (en) Device for completing an incomplete rulebase within a fuzzy-regulator
DE102019204136A1 (en) Method and device for training and producing an artificial neural network
EP0744049B1 (en) Arrangement for separately processing fuzzy rules of differing immportance
WO2021089710A1 (en) Method for processing input data

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: DAIMLERCHRYSLER AG, 70567 STUTTGART, DE

8339 Ceased/non-payment of the annual fee