DE4225758C2 - Schaltungsanordnung mit einer Wirts-Recheneinheit (Host-CPU), einem Fuzzy-Logic-Coprozessor und einem Wissensbasis-Speicher - Google Patents
Schaltungsanordnung mit einer Wirts-Recheneinheit (Host-CPU), einem Fuzzy-Logic-Coprozessor und einem Wissensbasis-SpeicherInfo
- Publication number
- DE4225758C2 DE4225758C2 DE4225758A DE4225758A DE4225758C2 DE 4225758 C2 DE4225758 C2 DE 4225758C2 DE 4225758 A DE4225758 A DE 4225758A DE 4225758 A DE4225758 A DE 4225758A DE 4225758 C2 DE4225758 C2 DE 4225758C2
- Authority
- DE
- Germany
- Prior art keywords
- knowledge base
- rule
- circuit
- input variables
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/02—Computing arrangements based on specific mathematical models using fuzzy logic
- G06N7/04—Physical realisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/048—Fuzzy inferencing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Feedback Control In General (AREA)
- Logic Circuits (AREA)
Description
Ein Fuzzy-Logic-Controller mit hoher Bearbeitungsgeschwin
digkeit ist in der beim DPA eingereichten Patentanmeldung
mit dem amtlichen Aktenzeichen P 42 19 348.6 (= GR 92 P
1320 DE) wiedergegeben. Dabei handelt es sich um einen
Fuzzy-Logic-Controller, der einen Speicher für die Ein
gangsvariablen, einen davon separaten Speicher für die
Ausgangsvariablen sowie einen Regeldekoder in Form eines
PLA′s bzw. FPLA′s besitzt und der nur für eine fest vor
gegebene Anzahl von Eingangsvariablen und einer fest vor
gegebenen Maximalzahl von Regeln ausgelegt ist.
Aus der deutschen Offenlegungsschrift DE 39 27 343 A1 ist
eine programmierbare Fuzzylogikschaltung bekannt, die eine
Operationsabschnittsspeichereinheit aufweist, in der das
als Antwort auf ein Eingangssignal auszugebende
Operationsergebnis unter einer Adresse abgespeichert wird,
die von dem Eingangssignal spezifiziert worden ist. Die
Inhaltsänderungen einer durchzuführenden Fuzzylogikopera
tion können durch einfaches Überschreiben der Inhalte der
Operationsabschnittsspeichereinheit bewirkt werden.
Ferner sind aus dem Artikel von M. Sc. EE. Daniel Gariglio
mit dem Titel "Fuzzy in der Praxis" in der deutschen Zeit
schrift Elektronik 20/1991, Seiten 63 bis 75, einige
grundlegende Hinweise zur Anwendbarkeit von Fuzzy-Control
lern und eine Hilfestellung zur Festlegung von Regeln und
Zugehörigkeitsfunktionen zu entnehmen.
Der Erfindung liegt nun die Aufgabe zugrunde, eine Schal
tungsanordnung mit einer Wirts-Recheneinheit (Host-CPU),
einem Fuzzy-Logic-Coprozessor und einem Wissensbasis-Spei
cher anzugeben, bei der sowohl mehrere Regelsätze mit
einer programmierbaren Anzahl von Regeln als auch ein
Speicher für eine programmierbare Anzahl von Eingangsva
riablen und einem Speicher für Ausgangsvariablen in einem
gemeinsamen Wissensspeicher (knowledgebase memory) abspei
cherbar sind, wobei der Wissensbasis-Speicher und damit
die Anzahl der Regeln und die Anzahl der Ein/Ausgangsva
riablen theoretisch unbegrenzt ist und nur von der Spei
cherkapazität des Wissensbasis-Speichers abhängt.
Diese Aufgabe wird erfindungsgemäß durch die im Patentan
spruch 1 angegebenen Merkmale gelöst.
Die mit der Erfindung erzielbaren Vorteile liegen insbeson
dere, in einer kostengünstigen Implementierbarkeit, in
einer günstigen Emulierbarkeit, in einer mehrfachen
Nutzung von Speicherbereichen für mehrere Ein/Ausgangsva
riablen mit gleichen Zugehörigkeitsfunktionen, in der
Bildbarkeit von Regelsätzen aus Regelgruppen mit bei
spielsweise gleicher Eingangsvariablenzahl und, bei einer
großen Zahl von Eingangsvariablen, auch in einer höheren
Rechenleistung.
Die Ansprüche 2 bis 6 sind auf bevorzugte Ausbildungen der
erfindungsgemäßen Schaltungsanordnung gerichtet, wobei
sich die Ansprüche 2 und 3 auf die Organisation des
Wissensbasis-Speichers, der Anspruch 4 auf den Aufbau
eines Regeldekoders und die Ansprüche 5 und 6 auf eine
Regelauswerteschaltung der erfindungsgemäßen Schaltungs
anordnung beziehen.
Die Erfindung wird nachfolgend anhand der Zeichnung erläu
tert. Dabei zeigt
Fig. 1 eine Darstellung einer Schaltungsanordnung mit
einer Wirts-Recheneinheit, einem Fuzzy-Logic-
Coprozessor und einem Wissensspeicher,
Fig. 2 eine Darstellung zur Verdeutlichung der logischen
Beziehungen in einer erfindungsgemäßen Schaltungs
anordnung,
Fig. 3 ein Schaltbild eines Regeldekoders einer erfin
dungsgemäßen Schaltungsanordnung,
Fig. 4 ein Schaltbild einer Regelauswertungsschaltung
einer erfindungsgemäßen Schaltungsanordnung und
Fig. 5 eine Darstellung zur Organisation des Wissens
basis-Speichers in einer erfindungsgemäßen Schal
tungsanordnung.
Fig. 1 zeigt eine Schaltungsanordnung mit einer Wirts-
Recheneinheit MC, die mit einer Regelstrecke RS über einen
Bus verbunden ist und beispielsweise aus einem konventio
nellen Mikrocontroller besteht, einem Fuzzy-Logic-Copro
zessor FLC, der ein Steuer-Register CREG und ein Daten-
Register DREG besitzt und über eine Speicherschnittstelle
SI mit der Wirts-Recheneinheit MC gekoppelt ist, und einem
Wissensbasis-Speicher KBM, der über einen sogenannten
FLC-Bus FB mit dem Fuzzy-Logic-Coprozessor FLC gekoppelt
ist. Ferner ist optional eine Entwicklungssoftware ES, die
über einen Mikrocontroller MC2 auf den Wissensbasis-Spei
cher KBM schreibend und lesend zugreift, gestrichelt dar
gestellt. Es sind dabei verschiedene Integrationskonzepte
von einer 3-Chip-Lösung bis hin zu einer 1-Chip-Lösung so
wie einem Entwicklungsbord denkbar. In einer 3-Chip-Lösung
steuert ein Mikrocontroller oder ein Mikroprozessor als
Host-Rechner den Fuzzy-Logic-Coprozessor über eine gewöhn
liche RAM-Schnittstelle an. Der Fuzzy-Logic-Coprozessor
FLC liest den Wissensbasis-Speicher KBM, der in einem ex
ternen EPROM oder PROM abgespeichert ist über dem soge
nannten FLC-Bus ein. Diese Lösung ist vor allem für Vor-
oder Kleinserien von Interesse, da hier schnell die Daten
im Wissensbasis-Speicher geändert werden können. Die
2-Chip-Lösung unterscheidet sich zur vorhergehenden nur
darin, daß der Wissensbasis-Speicher als ROM auf dem
Fuzzy-Logic-Coprozessor integriert ist, wodurch der ex
terne Wissensbasis-Speicher wegfällt. Alternativ hierzu
ist es auch möglich, den Fuzzy-Logic-Coprozessor FLC auf
einem Mikrocontroller zu integrieren und den externen
Speicherbaustein für den Wissensbasis-Speicher KBM über
den FLC-Bus anzuschließen. Die nächste Integration bietet
die 1-Chip-Lösung. Hier ist sowohl der Fuzzy-Logic-Copro
zessor als auch dessen Wissensbasis-Speicher auf dem Micro
controller integriert. Dies ist die Lösung, die vor allem
für Großserien am günstigsten ist. Bei jeder der zuvor
aufgelisteten Lösungen ist es möglich, mit den zur Verfü
gung stehenden Entwicklungshilfsmitteln die Erstellung der
Wissensbasis zu unterstützen. Hierbei ist es von Vorteil
beim Fuzzy-Logic-Coprozessor eine Umschaltmöglichkeit vor
zusehen, die ein Umschalten von einem Wissensbasis-Spei
cher in Form eines Festwertspeichers auf einen Wissensba
sis-Speicher in Form eines Dual-Port-S-RAM′s ermöglicht,
auf das über den Mikrocontroller MC2 durch die Entwick
lungssoftware ES zugegriffen werden kann. Hierdurch ist
die gesamte Schaltungsanordnung durch die Entwicklungs
software gesteuert abfragbar, ohne daß dabei das
Zeitverhalten der Schaltungsanordnung gegenüber dem Nor
malbetrieb verändert wird.
In Fig. 2 ist eine Darstellung zur Verdeutlichung der lo
gischen Beziehungen in einer erfindungsgemäßen Schaltungs
anordnung gezeigt, wobei der Fuzzy-Logic-Coprozessor FLC,
ähnlich wie der Fuzzy-Logic-Controller der eingangs zitier
ten früheren Anmeldung, eine Fuzzifikationsschaltung FUZ
einen Regeldekoder RDEC, eine Regelauswerteschaltung RA,
eine Inferenzschaltung INF und eine Defuzzifikationsschal
tung DFUZ neben einer zusätzlichen Eingangs/Ausgangsschal
tung I0 besitzt und mit dem Wissensspeicher KBM verknüpft
ist. Scharfe Eingangs/Ausgangswerte CI0 sind in das Daten
register DREG über die Ein/Ausgabeeinheit I0 einschreibbar
bzw. auslesbar. Scharfe Eingangswerte CI (crisp input) wer
den neben Werten der Zugehörigkeitsfunktionen IMF der lin
guistischen Werte der Eingangsvariablen der Fuzzyfikations
schaltung FUZ zugeführt und in ihr die jeweils kleinere
Nummer NMI von maximal zwei betroffenen linguistischen
Werten (der maximale Überlappungsgrad u = 2 ist hierbei
festgelegt) und die zugehörigen Werte MI der Zugehörig
keitsfunktionen der betroffenen linguistischen Werte der
Eingangsvariablen erzeugt. Der Regeldekoder RDEC erhält
die Nummern NMI und aus dem Wissensspeicher KBM Nummern RI
für die geforderten linguistischen Werte der in einer
jeweiligen Regel vorkommenden Eingangsvariablen sowie die
Nummer R0 eines geforderten linguistischen Wertes der in
der jeweiligen Regel vorkommenden Ausgangsvariablen und
erzeugt ein bitsignifikantes Signal SM zur Festlegung der
von einer Regel betroffenen Eingangsvariablen, ein bit
signifikantes Signal NA für die jeweils betroffenen lingu
istischen Werte der Ausgangsvariablen und ein Treffer
signal HIT, zur Feststellung ob eine Regel angesprochen
ist (feuert) oder nicht. Neben den Signalen SM, NA und HIT
sind Werte MI der Zugehörigkeitsfunktion der jeweiligen
linguistischen Werte der Eingangsvariablen, die in der
Fuzzifikationsschaltung FUZ erzeugbar sind, der Regelaus
werteschaltung RA zuführbar, in der dann abhängig von
einem Verknüpfungsauswahlsignal MODE0 für jeden der lingu
istischen Werte der Ausgangsvariablen Gewichtungssignale G
erzeugbar sind. In der nachfolgenden Inferenzschaltung INF
wird aus den Gewichtungssignalen G zusammen mit den aus
dem Wissensspeicher KBM stammenden Werte für die Zugehörig
keitsfunktionen OMF der linguistischen Werte der Ausgangs
variablen abhängig von einem Inferenzauswahlsignal MODE1
eine unscharfe Vereinigungsmenge FA gebildet, die ihrer
seits abhängig von einem Defuzzifikationsauswahlsignal
MODE2 in der Defuzzifikationsschaltung DFUZ zu einem schar
fen Ausgangswert C0 (crisp output) verarbeitet und dem Da
tenregister DREG der Einheit I0 zugeführt wird. Über das
Speicherinterface SI der Ein/Ausgabeeinheit I0 ist das
Steuer-Register CREG mit einer Adresse AKBD für einen
Wissensbasis-Descriptor (knowledgebase descriptor) ladbar,
wobei der Wissensbasis-Descriptor auf Speicherbereiche der
jeweiligen Zugehörigkeitsfunktionen IMF der lingustischen
Werte der Eingangsvariablen, auf Speicherbereiche der
Zugehörigkeitsfunktionen OMF der lingustischen Werte der
Ausgangsvariablen sowie auf Speicherbereiche von Regel
sätzen zeigt, die die Nummern RI und R0 enthalten, be
sitzt. Das Steuer-Register ist wie folgt aufgeteilt: die
Bits AKBD0 bis AKBD5 selektieren einen von 64 Wissensbasis
deskriptoren und das Bit 6 des Controll-Registers wird
jedesmal dann gesetzt, wenn jeweils vier Eingangsvariable
bearbeitet wurden und weitere Eingangsvariablen angefor
dert werden. Das Bit 6 wird durch das nächst folgende Be
schreiben des Datenregisters wieder auf Null zurückge
setzt. Ferner zeigt das Bit 6 des Steuer-Registers auch
an, daß das Ergebnis der Berechnung einer Ausgangsvariab
len zur Verfügung steht. Das Bit wird durch den Fuzzy-
Logic-Coprozessor auf 1 gesetzt und durch das Lesen des
Datenregisters DREG wieder auf 0 zurückgesetzt. Durch das
Setzen des Bits 6 des Steuer-Registers kann ein Interrupt
beim Wirts-Rechner ausgelöst werden. Das Bit 7 des Steuer-
Registers kann beim Lesen dieser Bitstelle anzeigen ob
keine Regel gefunden wurde (nohit) und das Datenregister
einen undefinierten Ausgangswert enthält. Ferner kann
durch das Schreiben des Bits 7 des Steuer-Registers eine
Aktivierung des Interrupts beim Wirts-Rechner und eine
Aktivierung eines Ausgangs zur Bestätigung eines gültigen
Ausgabewertes verhindert werden.
Im Datenregister DREG werden, wie eingangs erwähnt, entwe
der die scharfen Eingangsdaten CI oder die scharfen Aus
gangsdaten C0 eingeschrieben bzw. gelesen. Da die Program
mierung der beiden Register CREG und DREG nicht nur den
reinen Datenverkehr steuert sondern auch die Operation des
Fuzzy-Logic-Coprozessors selbst ist eine im folgenden
beschriebene Reihenfolge zum Programmieren der Register
fest einzuhalten. Es hat sich als vorteilhaft erwiesen vier
Eingangsvariable durch den Fuzzy-Logic-Coprozessor parallel
zu verarbeiten, es sind aber im Prinzip auch Anordnungen
mit mehr oder weniger als vier Eingangsvariablen möglich.
Ist die im hier gewählten Fall Anzahl der gleichzeitig
verarbeitbaren Eingangsvariablen größer als vier werden
mehrere Eingangszyklen nZ durchlaufen. Hierbei gilt die
Beziehung nZ = INT (ni/4), wobei ni die Anzahl der
Eingangsvariablen ist und INT (X) die kleinste natürliche
Zahl größer gleich X bedeutet. Im ersten Eingangszyklus
wird das Steuer-Register beschrieben und die vier scharfen
Werte der Eingangsvariablen in das Datenregister DREG
eingeschrieben. Sollen scharfe Werte für mehr als vier
Eingangsvariablen geschrieben werden, gibt es zwei
Möglichkeiten um zu erkennen daß neue Daten angefordert
werden sollen. Nach jeweils vier Schreibzugriffen prüft
der Wirts-Rechner ob das Bit 6 des Steuer-Registers auf 1
gesetzt ist, ob ein Interrupt durch den Fuzzy-Logic-Co
prozessor vorliegt oder eine Wartezeitbedingung über
schritten ist. Sind die scharfen Werte aller Eingangs
variablen eingelesen, so werden, sofern das Bit 6 des
Steuer-Registers gleich 1 ist, ein Interrupt durch den
Fuzzy-Logic-Coprozessor vorliegt oder gültige Ausgangsda
ten angezeigt werden, scharfe Ausgangsdaten aus dem Daten
register DEG ausgelesen. Bei der erfindungsgemäßen Schal
tungsanordnung ist im Fuzzy-Logic-Coprozessor FLC der Re
geldekoder RDEC, nicht wie der Regeldekoder des bekannten,
eingangs erwähnten Fuzzy-Logic-Controllers, in Form eines
PLA′s oder FPLA′s ausgebildet, sondern stellt eine im
folgenden näher erläuterte Logikschaltung dar, wobei nicht
nur ein Regelsatz, sondern in diesem Fall 64 Regelsätze im
Wissensbasisspeicher KBM ablegbar ist.
In Fig. 3 ist ein Ausführungsbeispiel eines
Regeldekoders der erfindungsgemäßen Schaltungsanordnung gezeigt, der Nummern RI0 . . . RI3 für
bei einer jeweiligen Regel geforderte linguistische Werte
von vier Eingangsvariablen und eine Nummer R0 für einen
in einer jeweiligen Regel geforderten linguistischen Wert
der Ausgangsvariablen mit vier niedrigsten Nummern NMI für
durch die scharfen Eingangswerte CI festgelegte lingui
stische Werte der Eingangs variablen jeweils zum bitsigni
fikanten Signal NA zur Festlegung eines jeweiligen von
einer Regel betroffenen linguistischen Wertes der Ausgangs
variablen, zum Signal SM zur Festlegung der von einer je
weiligen Regel betroffenen Eingangsvariablen und zum Si
gnal HIT zur Festlegung eines erfüllten Regelbedingungs
falls, also ob die Regel feuert oder nicht, verknüpft ist.
Dabei ist die drei Bit breite Nummer R0 auf einen 1 aus
8-Dekoder DEC geführt und die acht Leitungen am Ausgang
des Dekoders DEC über ein Achtfach-UND-Gatter A5 mit dem
Signal HIT zu acht bitsignifikanten Signalen NA verknüpft.
Die drei Bit breite Nummer RI0 wird in einer Regelbedingungs
schaltung RB0 bitweise mit Hilfe einer UND-Schaltung A0
UND-verknüpft bzw. sowohl einer ersten Äquivalenzschal
tung E00 als auch einer zweiten Äquivalenzschaltung E01 zu
geführt. Zusätzlich wird der Äquivalenzschaltung E00 die
Nummer NNI0 direkt und der Äquivalenzschaltung E01 über
einen Inkrementierer INC0 zugeführt. Die Ausgänge der UND-
Schaltung A0, der Äquivalenzschaltung E00 und der Äquiva
lenzschaltung E01 sind mit Eingängen einer ODER-Schaltung
00 verbunden, die ein Bedingungssignal B0 liefert. Ent
sprechendes gilt für die RI1, RI2, RI3 und die Nummern
NMI1, NMI2 und NMI3, die in Regelbedingungsschaltungen RB1
. . . RB3 zu Bedingungssignalen B1 . . . B3 verarbeitbar sind.
Die UND-Schaltungen A0 usw. in den Regelbedingungsschaltun
gen RB0 . . . RB3 bilden an ihren Ausgängen vier bitsignifi
kante Signale SM. Die vier Ausgänge der ODER-Schaltungen
00 usw. in den Regelbedingungsschaltungen RB0 . . . RB3 sind
durch eine UND-Schaltung A4 zum Signal HIT zusammengefaßt.
Definitionsgemäß bedeutet hier, wenn alle drei Bits, bei
spielsweise der Nummer RI0, gleich 1 sind, daß die Eingangs
variable 0 in einer Regel bzw. einem Regelsegment nicht
vorkommt und er mit dem Ausgang der ODER-Schaltung 00 ver
bundene Eingang der UND-Schaltung A4 und das erste Bit des
Signals SM ein Eins-Signal erhält. Da hier der maximale
Überlappungsgrad u gleich 2 beträgt, wird eine Äquivalenz
zwischen der Nummer RI0 und der niedrigeren Nummer NMI0
oder eine Äquivalenz zwischen der Nummer RI0 und der
höheren Nummer NMI0 + 1 untersucht. Ein weiterer wesent
licher Unterschied besteht darin, daß nicht mehr alle 2ni
Kombinationen der Nummern NMI und der dazugehörigen Werte
MI untersucht werden, sondern nur die vorhandenen Regeln
eines Regelsatzes daraufhin überprüft werden, ob der
Bedingungsteil erfüllt ist oder nicht bzw. ob die
jeweilige Regel feuert oder nicht. Da die Anzahl der
Regeln praktisch meist unter 100 liegt, so bedeutet dies
für eine hohe Anzahl von Eingangsvariablen auch eine Verbesse
rung der Rechengeschwindigkeit.
In Fig. 4 ist eine Ausbildung einer Regelauswertungsschal
tung RA in einer erfindungsgemäßen Schaltungsanordnung ge
zeigt, bei der, wie beim eingangs beschriebenen Fuzzy-Logic-
Controller, die vier bitsignifikanten Signale SM mit Wer
ten der Zugehörigkeitsfunktionen von linguistischen Werten
MI vierer Eingangsvariabler in einer ODER-Schaltung OR ver
knüpft werden und anschließend einer Minimumschaltung MIN1
zur Bildung eines Minimums bzw. zur Bildung einer unschar
fen UND-Verknüpfung zugeführt werden. Der Ausgang der Mini
mumschaltung MIN1 ist hier nicht wie beim eingangs erwähn
ten Fuzzy-Logic-Controller zur unscharfen ODER-Verknüpfung
mit einer Schaltung zur Bildung einer begrenzten Summe
BSUM und einer Schaltung zur Bildung eines Maximums verbun
den, sondern es ist eine weitere Minimumschaltung MIN2 da
zwischengeschaltet, um im Falle von ni größer gleich 4 Ein
gangsvariablen in einem weiteren Durchlauf mit wiederum
vier Eingangsvariablen bei maximal 256 Regeln Bedingungs
teile von Regelsegmenten bzw. Bedingungsteile der Regeln
mit jeweils vier Eingangsvariablen abzuarbeiten. Wenn ein
Regelsegment nicht feuert, also ein Bedingungsteil mit
vier Eingangsvariablen nicht erfüllt ist, so ist die
gesamte Regel nicht erfüllt und nach Abarbeitung aller
Segmente dieser Regel muß am Ausgang der Minimumschaltung
MIN2 Null anliegen. Dies wird dadurch bewirkt, daß für
jede Regel das Ausgangssignal der Minimumschaltung MIN2
mit dem jeweiligen Signal HIT aus dem Regeldekoder in
einer UND-Schaltung AND UND-verknüpft wird. Über eine
Treiberschaltung T wird das Ausgangssignal der UND-Schal
tung verstärkt und einer internen Schreib/Lesespeicherschal
tung RAM, die 256 × 6 Bit organisiert ist, zugeführt und
aus dieser über eine Haltestufe L dem zweiten Eingang der
Minimumschaltung MIN2 zugeleitet. Die interne Speicherschal
tung RAM kann wesentlich platzsparender ausgelegt werden,
wenn keine Setzschaltungen, die ein definiertes Setzen auf
1 ermöglichen, erforderlich sind. Dies bedeutet jedoch,
daß beim ersten Durchlauf von maximal 256 Regeln für die
ersten Regelsegmente ein undefinierter Wert im internen
Schreib/Lesespeicher steht und in der Minimumschaltung
MIN2 verknüpft wird. Aus diesem Grund wird zwischen der
Schaltung RAM und der Minimumschaltung MIN2 die Haltestufe
L (latch) vorgesehen, die vor dem ersten Durchlauf über
einen Setzeingang definiert auf 1 gesetzt wird. Der aus
der Schaltung BSUM und der Schaltung MAX bestehenden
unscharfen ODER-Verknüpfung ist, wie bei dem eingangs
zitierten Fuzzy-Logic-Controller, ein erster Multiplexer
MUX1 nachgeschaltet, um wahlweise einen Ausgang der beiden
Schaltungen allen Gewichtsregistern GREG zuzuführen, wobei
für jeden linguistischen Wert der Ausgangsvariable ein
getrenntes Register vorgesehen ist und abhängig von dem
aus dem Regeldekoder kommenden Signal NA in ein zum
jeweiligen linguistischen Wert der Ausgangsvariable
gehörigen Register einschreibbar ist. Die Ausgangssignale
der, hier beispielsweise acht, Gewichtungsregister stellen
gleichzeitig die Gewichtungssignale G und werden über
einen zweiten Multiplexer MUX2 sowohl der Schaltung BSUM
als auch der Schaltung MAX zugeführt. Sind mehr als 256
Regeln erforderlich, so werden alle Regelsegmente der
ersten 256 Regeln abgearbeitet und damit steht das durch
eine unscharfe ODER-Verknüpfung erzeugte Zwischenergebnis
aus den ersten 256 Regeln in den Gewichtungsregistern GREG
und weitere Regelgruppen mit jeweils maximal 256 Regeln
werden mit den in den Gewichtungsregistern GREG gespeicher
ten Zwischenergebnissen vorhergehender Regelgruppen
durchläufe unscharf ODER-verknüpft. Durch diese Art von
Regelauswerteschaltung sind also eine beliebige Anzahl von
Eingangsvariablen in Regel-Segmenten zu je maximal vier
Eingangsvariablen und in Regelgruppen von je maximal 256
Regeln abarbeitbar.
Fig. 5 zeigt eine Darstellung zur Organisation des Wis
sensbasisspeichers KBM. Wie aus einer Wissensbasis-Des
kriptortabelle KBDT mit hier beispielsweise 64 Wissens
basis-Deskriptoren KBD1 . . . KBD64 besteht, die über Wis
sensbasis-Deskriptoradressen AKBD1 . . . AKBD64 ansprech
bar sind und jeweils aus vier 15 Bit breiten Worten be
stehen. Anhand eines ersten Wissensbasis-Deskriptors KBD1,
mit seinen vier Worten KBD1 (0) . . . K8D1 (3), wird der
Aufbau eines Wissensbasis-Deskriptors erläutert. Dabei
legen die niedrigsten acht Bits die Anzahl nr von Regeln
innerhalb einer Regelgruppe fest, die maximal 2⁸ = 256
Regeln besitzt. Die Bits 8 und 9 des Wortes KBD1 (0) geben
die Anzahl ni von Eingangsvariablen eines Eingabezyklusses
fest, der maximal vier Eingangsvariablen mit scharfen Ein
gangswerten belegt. Das zehnte Bit des Wortes KBD1 (0)
zeigt, falls es gesetzt ist, an ob ein neuer Eingabezyklus
erforderlich ist bzw. ob mehr als vier Eingangsvariablen
in mindestens einer Regel vorkommen. Die Bits 11 bis 13
des Wortes KBD1 (0) stellen bitsignifikant die Auswahlsi
gnale MODE0 . . . M0DE2 für die Regelauswertungsschaltung
RA, die Inferenzschaltung INF und die Defuzzyfikations
schaltung DFUZ dar und sind in Fig. 5 mit MODES bezeich
net. Das vierzehnte Bit und damit das höchstwertige Bit
des Wortes KBD1 (0) stellt das Regelanzahlerweiterungsbit
REN (rule number extention bit) dar und zeigt an, ob wei
tere Regelgruppen mit jeweils maximal nr = 256 Regeln er
forderlich sind, wobei für jede neue Regelgruppe eine neue
Wissensbasis und damit ein neuer Wissensbasis-Deskriptor
erforderlich ist. Das zweite Wort KBD1 (1) des in Fig. 5
exemplarisch detailliert dargestellten Wissensbasis-Des
kriptors KBD1 enthält eine 15-Bit-breite Startadresse
SAIMF1 für Eingangszugehörigkeitsfunktion IMF1, das dritte
Wort KBD1 (2) des Wissensbasis-Deskriptors KBD1 enthält
eine 15-Bit-breite Startadresse SASR1 für einen Satz von
Regelsegmenten SRS1 und das dritte Wort KBD1 (3) des Des
kriptors KBD1 stellt eine 15 Bit breite Startadresse
SA0MF1 für die Ausgangszugehörigkeitsfunktion OMF1 der
ersten Wissensbasis KB1 dar. Das Steuer-Register CREG des
Fuzzy-Logic-Coprozessors FLC besitzt hier 6 Bit und er
möglicht somit eine Adressierung von 2⁶ = 64 Wissensba
sis-Deskriptoren KBD1 . . . KBD64 und entsprechend viele
Wissensbasen KB1 . . . KB64. Mit Hilfe eines breiteren Ko
ntrollregisters wäre unschwer auch eine größere Anzahl von
Wissensbasis-Deskriptoren bzw. Wissensbasen möglich. Die
Wissensbasis-Deskriptoren liegen im Wissensbasis-Speicher
KBM ab der Speicherstelle 0 aufwärts. Die Adresse die auf
einen Wissensbasis-Deskriptor zeigt ergibt sich wie folgt:
AKBD: = CREG (5 . . . 0) * 4.
Im Gegensatz zur Wissensbasis-Deskriptortabelle KBDT kön
nen die Wissensbasen KB1 . . . KB64 irgendwo im verbleiben
den Wissensspeicher stehen, da auf ihre Bestandteile über
die im zur jeweiligen Wissensbasis zugehörigen Wissensba
sis-Deskriptor stehenden Startadressen zugegriffen werden
kann. In Fig. 5 ist beispielhaft anschließend an die
Wissensbasis-Deskriptortabelle KBDT eine Wissensbasis KB1
detailliert dargestellt, die die Eingangszugehörigkeits
funktionen IMF1 - 1 . . . IMF1 - NI für maximal NI = 4 Ein
gangsvariable innerhalb eines Eingangszyklusses, einen Satz
von Regelsegmenten SRS1 und eine Ausgangszugehörigkeits
funktion OMF1 besitzt. Stellvertretend für die maximal NI
Eingangszugehörigkeitsfunktionen ist die Eingangszugehörig
keitsfunktion IMF1 - 1 für die erste Eingangsvariable de
tailliert dargestellt und weist 256-15-Bit breite Worte
IMF1 - (1) . . . IMF1 (256) auf, wobei beispielsweise die
niedrigsten sechs Bit des Wortes IMF1 - 1 (1) der MI0 - 1
(1) der niedrigeren Nummer zweier betroffener Nummern be
troffener linguistischer Werte der Eingangsvariablen, die
sechs nächsthöheren Bits der höheren Nummer MI1 - 1 (1)
zweier Nummern für linguistische Werte der Eingangsvariab
len und die Bits 12 bis 14 der niedrigeren Nummer NMI - 1
(1) zweier Nummern betroffener linguistischer Werte der
Eingangsvariablen zugeordnet. Die Startadresse SAIMF1 für
die Eingangszugehörigkeitsfunktion zeigt dabei auf das
erste Wort IMF1 - 1 (1). Der Speicherbereich der Eingangs
zugehörigkeitsfunktionen liegt an einer beliebigen Stelle
im Wissensbasis-Speicher KBM nach dem Bereich für die Wis
sensbasis-Deskriptortabelle. Die Adresse für eine Eingangs
variable mit einer Nummer iv und einem Wert dat berechnet
sich wie folgt:
IMF-Adresse: = KBD (1) + iv * 2⁸ + dat.
Werden hierbei weniger als vier Eingangsvariablen benö
tigt, so müssen immer die Eingangsvariablen mit den niedri
geren Nummern zuerst verwendet werden, um Lücken im Spei
cher zu vermeiden. Der Satz von Regelsegmenten SRS1 in der
Wissensbasis KB1 besteht maximal aus NR = 256 15-Bit
breiten Worten SRS1 (1) . . . SRS1 (NR), wobei die Start
adresse SASR1 im dritten Wort KBD1 (2) des Wissensbasis-
Deskriptors KBD1 auf das erste Wort SRS1 (1) des Satzes
von Regelsegmenten SRS1 zeigt. Allgemein berechnet sich
die Adresse des 1. Wortes eines Satzes von Regelsegmenten
wie folgt:
ASRS (1): = KB (2).
Exemplarisch ist das Wort SRS1 (1) detailliert dargestellt,
wobei die Bits 0 bis 2 die Nummer RI0 - 1 (1) für den lin
guistischen Wert der in der ersten Regel vorkommenden
ersten Eingangsvariable, die Bits 3 bis 5 die Nummer RI1 -
(1) des linguistischen Wertes der in der ersten Regel vor
kommenden zweiten Eingangsvariable, die Bits 6 bis 8 die
Nummer RI2 - 1 (1) des linguistischen Wertes der in der
ersten Regel vorkommenden dritten Eingangsvariablen, die
Bits 9 bis 11 die Nummer RI3 - 1 (1) des linguistischen
Wertes der in der ersten Regel vorkommenden vierten Ein
gangsvariablen und die Bits 12 bis 14 die Nummer R0 - 1
(1) für den linguistischen Wert der in der ersten Regel
vorkommenden Ausgangsvariablen enthält. Die Adresse für
ein Regelsegment berechnet sich durch Hinzuaddieren der
gewünschten Regelsegmentnummer zur Startadresse eines
Satzes von Regelsegmenten. Die Nummern für die lingui
stischen Werte der von einer Regel betroffenen Eingangs
variablen besitzen eine Kodierung, bei der die Bitkombi
nation 111 für den Fall reserviert ist, daß die jeweilige
Variable in der jeweiligen Regel nicht vorkommt, hieraus
ergibt sich daß maximal nur 8-1 = 7 verschiedene lingui
stische Werte für eine von einer jeweiligen Regel betrof
fenen Eingangsvariable möglich sind. Bei den Nummern für
die linguistischen Werte der von einer Regel betroffenen
Ausgangsvariablen hingegen ist diese Kombination frei und
die Anzahl der verschiedenen linguistischen Werte beträgt
gleich 8. Die Ausgangszugehörigkeitsfunktion OMF1 der Wis
sensbasis KB1 besteht aus 256 Worten OMF1 (1) . . . 0MF 1
(256) mit einer Bitbreite von 15 Bit und die Startadresse
SA0MF1 zeigt auf das erste Wort OMF1 (1) der Zugehörig
keitsfunktion OMF1. Die Adresse für eine Ausgangsvariable
mit dem Wert dat berechnet sich wie folgt:
OMF-Adresse: = KBD (3) + dat.
Die Bitaufteilung innerhalb der Worte für die Ausgangszu
gehörigkeitsfunktion OMF1 ist anhand des ersten Wortes
OMF1 (1) näher erläutert, wobei die Bits 0 bis 5 dem Wert
M00 - 1 (1) der Zugehörigkeitsfunktion für eine niedrigere
Nummer zweier betroffener linguistischer Werte einer
Ausgangsvariablen, die Bits 6 bis 11 der Wert MO1 - 1 (1)
einer Zugehörigkeitsfunktion für die höhere Nummer der
zwei Nummern für linguistische Werte einer Ausgangsvari
ablen und die Bits 12 bis 14 die niedrigere Nummer NM0 - 1
(1) der zwei Nummern für betroffene linguistische Werte
der Ausgangsvariablen darstellen.
Zur Erläuterung eines Falles, bei dem mindestens in einer
Regel fünf Eingangsvariable vorgesehen sind, ist anschließend
an die Wissensbasis KB1 eine Wissensbasis KB2 darge
stellt, die aus der Eingangszugehörigkeitsfunktion IMF2 -
1 und des Satzes SRS2 von Regelsegmenten besteht. In
diesem Fall steht im ersten Wort KBD1 (0) des Wissensbasis
diskriptors KBD1 NI = 4 und das Bit zur Anzeige eines
neuen Einlesezyklusses ICN ist gesetzt. Im Wissensbasis-Des
kriptor für die Wissensbasis KB2 steht NI = 5-4 = 1 und
das Bit ICN wird anzeigen, daß kein weiterer Eingabezyklus
erforderlich ist. Für die zusätzliche Eingangsvariable ist
in der Wissensbasis KB2 eine zusätzliche Eingangszugehörig
keitsfunktion IMF2 - 1 mit 256 Worten zu jeweils 15 Bit
vorgesehen und eine Startadresse SAIMF2 ist, wie bei der
Wissensbasis KB1, auf das erste von maximal 256 Worten ge
richtet. Der Satz SRS2 von Regelsegmenten enthält an der
Stelle der Bits 0 bis 2 jeweils die Nummern RI0 - 2 für
die linguistischen Werte der fünften Eingangsvariable
einer jeweiligen Regel. Die Bits 12 bis 14 bleiben hierbei
grundsätzlich unbelegt, da es sich nicht um den ersten
Satz von Regelsegmenten handelt, in dem ja bereits die
Nummern für die linguistischen Werte der in den Regeln
vorkommenden Ausgangsvariablen bereits vorgesehen sind.
Ferner besteht die Möglichkeit, daß ein Regelsatz mehr als
256 Regeln besitzt und deshalb mindestens eine zweite Re
gelgruppe erforderlich ist. Für diesen Fall ist eine wei
tere Wissensbasis, beispielsweise die in Fig. 5 mit KB2′
bezeichnete Wissensbasis, erforderlich. Diese weitere Wis
sensbasis KB2′ erfordert, je nach Anzahl der zusätzlichen
Regeln, eine entsprechende Anzahl von jeweils 15-Bit-brei
ten Worten eines weiteren Satzes SRS2′, dessen erstes Wort
durch eine weitere Startadresse SASR2′ aus einem weiteren
Wissensbasis-Deskriptor für die Wissensbasis KB2′. Im
ersten Wort KBD1 (0) des Wissensbasisdiskriptors KBD1 wird
in diesem Fall das Bit RNE so gesetzt, daß das Erfordernis
weiterer Regeln angezeigt wird. Im Wissensbasis-Deskriptor
für die Wissensbasis KB2′ wäre dieses Bit RNE beispiels
weise so gesetzt, daß keine weiteren Regeln erforderlich
sind. Nicht nur wenn die Anzahl NR = 256 Regeln überschrit
ten ist, ist die Bildung von Regelgruppen und damit das An
legen einer zusätzlichen Wissensbasis vorteilhaft, da bei
spielsweise der Regelsatz in eine Regelgruppe, die nur
Regeln enthält, die weniger als vier Eingangsvariable
besitzen, und in eine oder mehrere Regelgruppen mit Regeln,
die mehr als vier Eingangsvariable enthalten, aufteilbar
sind und damit Speicherplatz bzw. Rechenzeit einsparbar
sind. Ferner besteht die Möglichkeit daß Regelgruppen so
gebildet werden, daß in jeder Regelgruppe gleiche Auswahl
signale MODES auftreten. In diesem Fall ist beispielsweise
möglich, daß wichtige Regeln beispielsweise in der Regel
auswertungsschaltung RA durch die Schaltung BSUM unscharf
ODER-verknüpft und weniger wichtige Regeln durch die
Schaltung MAX unscharf ODER-verknüpft werden.
Durch das Bit ICN im ersten Wort eines jeweiligen Wissens
basis-Deskriptors kann eine beliebige Anzahl ni von Ein
gangsvariablen verarbeitet werden, da sofern mehr als vier
Eingangsvariable in mindestens einer Regel auftreten, die
se in weitere Wissensbasen verlagert werden können. Ent
sprechendes gilt für das Bit RNE im ersten Wort des Wis
sensbasis-Deskriptors, das einen oder mehrere Regelsätze
mit einer Regelzahl nr erlaubt, die größer als 256 ist.
Der Speicherbedarf für ein linguistisches Protokoll bzw.
einen Regelsatz errechnet sich wie folgt:
M = MKBD + MIMF + MSR + MOMF
MKBD = nZ * 4 * 15 = nZ * 60 Bits = Speicherbedarf für die KBD′s.
MIMF = ni * 256 * 15 = ni * 3840 Bits = Speicherbedarf für die Eingangszugehörigkeits funktionen
MSR = nZ * nr * 15 = nZ * nr * 15 Bits = Speicherbedarf für die Regelsätze
MOMF = 256 * 15 = 3840 Bits = Speicherbedarf für die Ausgangszugehörigkeits funktion,
wobei nZ die Anzahl der Eingangszyklen, ni die Anzahl der verwendeten Eingangsvariablen und nr die Anzahl der Re geln bezeichnet. Besitzt beispielsweise ein Regelsatz 50 Regeln mit jeweils 5 Eingangsvariablen und einer Aus gangsvariablen, berechnet sich der Speicherbedarf zu 24 600 Bits oder 16 640 Worte zu 15 Bit Wortbreite.
M = MKBD + MIMF + MSR + MOMF
MKBD = nZ * 4 * 15 = nZ * 60 Bits = Speicherbedarf für die KBD′s.
MIMF = ni * 256 * 15 = ni * 3840 Bits = Speicherbedarf für die Eingangszugehörigkeits funktionen
MSR = nZ * nr * 15 = nZ * nr * 15 Bits = Speicherbedarf für die Regelsätze
MOMF = 256 * 15 = 3840 Bits = Speicherbedarf für die Ausgangszugehörigkeits funktion,
wobei nZ die Anzahl der Eingangszyklen, ni die Anzahl der verwendeten Eingangsvariablen und nr die Anzahl der Re geln bezeichnet. Besitzt beispielsweise ein Regelsatz 50 Regeln mit jeweils 5 Eingangsvariablen und einer Aus gangsvariablen, berechnet sich der Speicherbedarf zu 24 600 Bits oder 16 640 Worte zu 15 Bit Wortbreite.
Claims (6)
1. Schaltungsanordnung mit einer Wirts-Recheneinheit
(MC), einem Fuzzy-Logic-Coprozessor (FLC) und einem Wis
sensbasis-Speicher (KBM),
- - bei der im Fuzzy-Logic-Coprozessor (FLC) ein Steuer- Register (CREG) vorgesehen ist, in dem eine Adresse (zum Beispiel AKBD1) für einen Wissensbasis-Deskriptor (KBD1) speicherbar ist,
- - bei der der Wissensbasis-Speicher (KBM) im Speicher eine Wissensbasis-Deskriptortabelle (KGBT) enthält, die aus einer Vielzahl von Wissensbasis-Deskriptoren (KBD) auf gebaut ist,
- - und bei der ein Wissensbasis-Deskriptor (zum Beispiel KBD1) jeweils eine Startadresse (SAIMF1) für Zugehörig keitsfunktionen (IMF1 - 1 . . . IMF1 - NI) von Eingangs variablen, eine Startadresse (SA0MF1) für Zugehörig keitsfunktionen (OMF1) einer Ausgangsvariable und eine Startadresse (SASR1) für einen Satz (SRS1) von Regel segmenten enthält.
2. Schaltungsanordnung nach Anspruch 1,
bei der eine in einem Wort (zum Beispiel KBD1 (0)) des
Wissensbasis-Deskriptors (zum Beispiel KBD1) gespeicherte
und bei der Regelprogrammierung festgelegte Zahl (NI) von
Zugehörigkeitsfunktionen (IMF1 - 1 . . . IMF1 - NI) von Ein
gangsvariablen aus einer zum Wissensbasis-Deskriptor ge
hörigen Wissensbasis (KB1) durch den Fuzzy-Logic-Coprozes
sor (FLC) auslesbar sind, und bei der, sofern die Anzahl
der Eingangsvariablen (ni) eine fest vorgegebene maximale
Zahl (beispielsweise 4) von Eingangsvariablen überschrei
tet, in diesem Wort des Wissensbasis-Deskriptors (KBD1)
eine bei der Regelprogrammierung festgelegte Information
(ICN) dem Fuzzy-Logic-Coprozessor (FLC) anzeigt, daß
mindestens eine weitere Wissensbasis (zum Beispiel KB2)
mit Zugehörigkeitsfunktionen (IMF2 - 1) für weitere
Eingangsvariable und ein weiterer Satz (zum Beispiel SRS2)
von Regelsegmenten erforderlich ist.
3. Schaltungsanordnung nach Anspruch 1 oder 2,
bei der eine in einem Wort (zum Beispiel KBD1 (0)) des
Wissensbasis-Deskriptors (zum Beispiel KBD1) befindliche
und bei der Regelprogrammierung festgelegte Zahl (NR) von
Regelsegmenten (SRS1 (1) . . . SRS1 (NR)) aus einer zum
Wissensbasis-Deskriptor gehörigen Wissensbasis (KB1) durch
den Fuzzy-Logic-Coprozessor (FLC) auslesbar sind und bei
der, sofern die Anzahl der Regelsegmente (nr) eine fest
vorgegebene maximale Anzahl (beispielsweise 256) von Regel
segmenten überschreitet, in diesem Wort des Wissensbasis-
Deskriptors (KBD1) eine bei der Regelprogrammierung fest
gelegte Information (RNE) dem Fuzzy-Logic-Coprozessor
(FLC) anzeigt, daß mindestens eine weitere Wissensbasis
(zum Beispiel KB2′) mit einem weiteren Satz (SRS2′) von
Regelsegmenten erforderlich ist.
4. Schaltungsanordnung nach einem der Ansprüche 1 bis 3,
bei der der Fuzzy-Logic-Coprozessor (FLC) einen Regelde
coder (RDEC) aufweist, der Schaltungen (RB0 . . . RB3) zur
Auswertung von Regelsegmenten, ein erstes und ein zweites
UND-Gatter (A4, A5) und einen Auswahldekoder (DEC) be
sitzt,
bei der in jeder Schaltung (zum Beispiel RB0) zur Aus wertung von Regelsegmenten aus einer Nummer (RI0) für einen im Bedingungsteil eines Regelsegments (SRS1 - 1) für eine Eingangsvariable geforderten linguistischen Wert und einer niedrigsten Nummer (NMI0) eines betroffenen lin guistischen Wertes dieser Eingangsvariablen ein Bedin gungssignal (B0) für diese Eingangsvariable bildbar ist und diese Bedingungssignale (B0 . . . B3) der Eingangsvariab len eines Regelsegments durch das erste UND-Gatter (A4) zu einem Treffersignal (HIT) verknüpfbar sind, wobei das Treffersignal angibt) ob der Bedingungsteil eines Regel segmentes erfüllt ist oder nicht,
bei der im Regeldekoder (RDEC) aus einer Nummer (zum Beispiel R0) eines in einem Regelsegment (SRS1 - 1) für die Ausgangsvariable geforderten linguistischen Wertes mit Hilfe des Auswahldecoders (DEC) ein bitsignifikantes Signal bildbar ist, das durch das zweite UND-Gatter (A5) mit dem Treffersignal (HIT) zu einem bitsignifikanten Auswahlsignal (NA) für den als Folge der jeweiligen Regel auftretenden linguistischen Wert der Ausgangsvariablen verknüpfbar ist,
und bei der in den Schaltungen (RB0 . . . RB3) zur Auswer tung von Regelsegmenten aus Nummern (RI0 . . . RI3) für die im Bedingungsteil eines Regelsegments (zum Beispiel SRS1 - 1) für die Eingangsvariablen geforderten linguistischen Werte ein bitsignifikantes Auswahlsignal (SM) zur Festle gung der an dieser Regel beteiligten Eingangsvariablen bildbar ist.
bei der in jeder Schaltung (zum Beispiel RB0) zur Aus wertung von Regelsegmenten aus einer Nummer (RI0) für einen im Bedingungsteil eines Regelsegments (SRS1 - 1) für eine Eingangsvariable geforderten linguistischen Wert und einer niedrigsten Nummer (NMI0) eines betroffenen lin guistischen Wertes dieser Eingangsvariablen ein Bedin gungssignal (B0) für diese Eingangsvariable bildbar ist und diese Bedingungssignale (B0 . . . B3) der Eingangsvariab len eines Regelsegments durch das erste UND-Gatter (A4) zu einem Treffersignal (HIT) verknüpfbar sind, wobei das Treffersignal angibt) ob der Bedingungsteil eines Regel segmentes erfüllt ist oder nicht,
bei der im Regeldekoder (RDEC) aus einer Nummer (zum Beispiel R0) eines in einem Regelsegment (SRS1 - 1) für die Ausgangsvariable geforderten linguistischen Wertes mit Hilfe des Auswahldecoders (DEC) ein bitsignifikantes Signal bildbar ist, das durch das zweite UND-Gatter (A5) mit dem Treffersignal (HIT) zu einem bitsignifikanten Auswahlsignal (NA) für den als Folge der jeweiligen Regel auftretenden linguistischen Wert der Ausgangsvariablen verknüpfbar ist,
und bei der in den Schaltungen (RB0 . . . RB3) zur Auswer tung von Regelsegmenten aus Nummern (RI0 . . . RI3) für die im Bedingungsteil eines Regelsegments (zum Beispiel SRS1 - 1) für die Eingangsvariablen geforderten linguistischen Werte ein bitsignifikantes Auswahlsignal (SM) zur Festle gung der an dieser Regel beteiligten Eingangsvariablen bildbar ist.
5. Schaltungsanordnung nach Anspruch 4,
bei der der Fuzzy-Logic-Coprozessor (FLC) eine Regelaus
wertungsschaltung (RA) aufweist, die eine erste Minimum
schaltung (MIN1), eine zweite Minimumschaltung (MIN2),
ein UND-Gatter (AND) und einen Schreib/Lesespeicher (RAM)
besitzt,
bei der die erste Minimumschaltung (MIN1) eine unscharfe UND-Verknüpfung von betroffenen Eingangsvariablen eines Regelsegments bildet,
bei der die zweite Minimumschaltung (MIN2) aus dem Aus gangssignal der ersten Minimumschaltung und aus einem im Schreib/ Lesespeicher (RAM) für jede Regel einer Regelgrup pe zwischengespeicherten Ergebnis von unscharfen UND-Ver knüpfungen von betroffenen Eingangsvariablen vorhergehen der Regelsegmente eine unscharfe UND-Verknüpfung der Ein gangsvariablen aller Regelsegmente einer jeweiligen Regel bewirkbar ist
und bei der das Ausgangssignal der zweiten Minimumschaltung im UND-Gatter (AND) mit dem Treffersignal (HIT) verknüpf bar ist bevor es im Schreib/Lesespeicher (RAM) zwischen speicherbar ist, um eine logische Null als Ergebnis der unscharfen UND-Verknüpfung der Eingangsvariablen aller Regelsegmente zu bewirken, sobald die Bedingungen eines einzelnen Regelsegments nicht erfüllt sind.
bei der die erste Minimumschaltung (MIN1) eine unscharfe UND-Verknüpfung von betroffenen Eingangsvariablen eines Regelsegments bildet,
bei der die zweite Minimumschaltung (MIN2) aus dem Aus gangssignal der ersten Minimumschaltung und aus einem im Schreib/ Lesespeicher (RAM) für jede Regel einer Regelgrup pe zwischengespeicherten Ergebnis von unscharfen UND-Ver knüpfungen von betroffenen Eingangsvariablen vorhergehen der Regelsegmente eine unscharfe UND-Verknüpfung der Ein gangsvariablen aller Regelsegmente einer jeweiligen Regel bewirkbar ist
und bei der das Ausgangssignal der zweiten Minimumschaltung im UND-Gatter (AND) mit dem Treffersignal (HIT) verknüpf bar ist bevor es im Schreib/Lesespeicher (RAM) zwischen speicherbar ist, um eine logische Null als Ergebnis der unscharfen UND-Verknüpfung der Eingangsvariablen aller Regelsegmente zu bewirken, sobald die Bedingungen eines einzelnen Regelsegments nicht erfüllt sind.
6. Schaltungsanordnung nach Anspruch 5,
bei der der Schreib/Lesespeicher (RAM) der Regelauswerte
schaltung (RA) über eine Haltestufe (L) mit einem Eingang
der zweiten Minimumschaltung (MIN2) verbunden ist und eine
definierte Voreinstellung eines noch nicht vorhandenen
zwischengespeicherten Ergebnisses bei der unscharfen UND
-Verknüpfung der Eingangsvariablen des ersten Regelseg
ments über einen Setzeingang (SET) der Haltestufe (L)
bewirkbar ist, um eine einfache Schreib/Leseschaltung
ohne Voreinstellungsteil zu ermöglichen.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4225758A DE4225758C2 (de) | 1992-08-04 | 1992-08-04 | Schaltungsanordnung mit einer Wirts-Recheneinheit (Host-CPU), einem Fuzzy-Logic-Coprozessor und einem Wissensbasis-Speicher |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4225758A DE4225758C2 (de) | 1992-08-04 | 1992-08-04 | Schaltungsanordnung mit einer Wirts-Recheneinheit (Host-CPU), einem Fuzzy-Logic-Coprozessor und einem Wissensbasis-Speicher |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4225758A1 DE4225758A1 (de) | 1994-02-10 |
DE4225758C2 true DE4225758C2 (de) | 1996-04-11 |
Family
ID=6464813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4225758A Expired - Fee Related DE4225758C2 (de) | 1992-08-04 | 1992-08-04 | Schaltungsanordnung mit einer Wirts-Recheneinheit (Host-CPU), einem Fuzzy-Logic-Coprozessor und einem Wissensbasis-Speicher |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4225758C2 (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0612010A3 (de) * | 1993-02-17 | 1997-10-01 | Siemens Ag | Anordnung zur Emulation eines Fuzzy-Logic-Koprozessors und Verfahren zu deren Betrieb. |
US5524174A (en) * | 1993-04-14 | 1996-06-04 | Siemens Aktiengesellschaft | Apparatus for inference formation and defuzzification in a high-definition fuzzy logic co-processor |
WO1995022099A1 (de) * | 1994-02-11 | 1995-08-17 | Siemens Aktiengesellschaft | Anrodnung zur gesonderten behandlung von fuzzy-regeln mit unterschieldlicher wichtigkeit |
EP0674462B1 (de) * | 1994-03-23 | 2002-08-14 | Siemens Audiologische Technik GmbH | Einrichtung zur Anpassung programmierbarer Hörgeräte |
EP0674464A1 (de) * | 1994-03-23 | 1995-09-27 | Siemens Audiologische Technik GmbH | Programmierbares Hörgerät mit Fuzzy-Logik-Controller |
EP0674463A1 (de) * | 1994-03-23 | 1995-09-27 | Siemens Audiologische Technik GmbH | Programmierbares Hörgerät |
FR2733611B1 (fr) * | 1995-04-28 | 1997-06-13 | Sgs Thomson Microelectronics | Procede de mise en service d'un circuit integre |
FR2733612B1 (fr) * | 1995-04-28 | 1997-06-13 | Sgs Thomson Microelectronics | Dispositif de mise en service d'un circuit integre |
DE59607523D1 (de) * | 1995-07-28 | 2001-09-27 | Infineon Technologies Ag | Verfahren zur Mehrfachnutzung einer Regelbasis in einem Fuzzy-Logic-Coprozessor |
US5684928A (en) * | 1995-12-11 | 1997-11-04 | Motorola, Inc. | Circuit and method for evaluating fuzzy logic rules |
DE19828924C1 (de) * | 1998-06-29 | 1999-06-02 | Siemens Ag | Schaltungsanordnung zum Steuern eines Fahrwerks- oder Antriebssystems in einem Kraftfahrzeug |
EP1102175A1 (de) | 1999-11-22 | 2001-05-23 | STMicroelectronics S.r.l. | Neuro-Fuzzy Netzwerkarchitektur mit on-line Lernfähigkeiten und entsprechendes Steuerverfahren |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2223338B (en) * | 1988-08-19 | 1992-07-01 | Fuji Xerox Co Ltd | Programmable fuzzy logic circuit |
-
1992
- 1992-08-04 DE DE4225758A patent/DE4225758C2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE4225758A1 (de) | 1994-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0603196B1 (de) | Fuzzy logic controller mit optimierter speicherorganisation | |
DE4225758C2 (de) | Schaltungsanordnung mit einer Wirts-Recheneinheit (Host-CPU), einem Fuzzy-Logic-Coprozessor und einem Wissensbasis-Speicher | |
DE3688640T2 (de) | Suchgerät. | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE69732793T2 (de) | Acht-bit-mikrokontroller mit risc-architektur | |
DE2746505A1 (de) | Dv-system mit einer einrichtung zum adressieren in einem festwertspeicher abgelegter mikroprogramme | |
DE2758829A1 (de) | Multiprozessor-datenverarbeitungssystem | |
DE69315192T2 (de) | Datenverarbeitungssystem und -Verfahren mit einem erweitbaren Register | |
DE69516888T2 (de) | Speicheranordnung nach erweiterter harvard-architektur | |
EP0620519B1 (de) | Vorrichtung zur Inferenzbildung und Defuzzifikation und ihre Verwendung in einem hochauflösenden Fuzzy-Logik-Coprozessor | |
DE68926158T2 (de) | Einchip-Mikrorechner mit EPROM | |
DE3927343C2 (de) | Programmierbare Fuzzylogikschaltung | |
EP0748467B1 (de) | Selbstprogrammierende schaltungsanordnung | |
DD294115A5 (de) | Vorrichtung und verfahren zur signalverarbeitung | |
DE2233164B2 (de) | Schaltungsanordnung zur uebertragung von aufeinanderfolgenden bitstellen zwischen zwei registern | |
EP0772811B1 (de) | Defuzzifikations-vorrichtung für einen hochauflösenden fuzzy-logic-controller | |
EP0757811B1 (de) | Verfahren zur fuzzifizierung von an eingängen eines fuzzy-prozessors anliegenden eingangssignalen unter verwendung von eingangszugehörigkeitsfunktionen | |
DE4412488A1 (de) | Verfahren und Vorrichtung zur Steuerung der Zündvorrichtung eines Automobils | |
DE3633898A1 (de) | Einrichtung zur folgesteuerung eines aeusseren kreises, beispielsweise eines pipelineprozessors | |
DE69428417T2 (de) | Verbesserungen an Befehlszählern | |
EP0744049B1 (de) | Anordnung zur gesonderten behandlung von fuzzy-regeln mit unterschieldlicher wichtigkeit | |
EP0217232B1 (de) | Schaltungsanordnung zur Generierung von Splitting-Adressen | |
EP0756229B1 (de) | Verfahren zur Mehrfachnutzung einer Regelbasis in einem Fuzzy-Logic-Coprozessor | |
EP1429254B1 (de) | Interrupt-Behandlung in einem CAN-Knoten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 15/353 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |