Information Technology Reference
In-Depth Information
(bei Index 0) zugewiesen. Wenn der skalare Wert oberhalb des Wertebereichs liegt, wird
er auf die Höhe des am weitesten rechts liegenden Elements (bei Index
MAXHEIGHT =
256
) gesetzt. Wenn er zwischen den Werten von
domainLo
und
domainHi
liegt, wird
er linear auf eine Indexposition im Wahrheitsvektor skaliert und auf die Höhe an diesem
Index gesetzt. Die Methoden
segmentKurve()
und
vectorlnterpret()
werden
verwendet, um die Form des Wahrheitsvektors eines Fuzzy-Sets auszufüllen, sobald die
Schlüsselpunkte festgelegt sind. Bei einem Trapez-Fuzzy-Set werden im Konstruktor zum
Beispiel vier Punkte festgelegt. Danach wird die Methode
segmentCurve()
aufgeru-
fen, um die restlichen 252 Werte des Wahrheitsvektors einzustellen.
Die Klasse
TrapezoidFuzzySet
definiert eine Fuzzy-Zugehörigkeitsfunktion, de-
ren Form einem Trapez ähnelt. Dieses Fuzzy-Set benötigt die vier Parameter
ptLeft
,
ptLeftCore
,
ptRightCore
und
prRight
, um die Basis (links und rechts) und den
oberen Rand (links und rechts) des Fuzzy-Sets zu beschreiben. Die Klasse
Triangle-
FuzzySet
definiert eine Fuzzy-Zugehörigkeitsfunktion, deren Form einem Dreieck äh-
nelt. Dieses Fuzzy-Set benötigt die drei Parameter
ptLeft
,
ptCenter
und
prRight
,
um die Basis (links und rechts) und den oberen Rand (Mitte) des Fuzzy-Sets zu beschrei-
ben. Die Klasse
ShoulderFuzzySet
definiert eine Fuzzy-Zugehörigkeitsfunktion,
deren Form einer Linie ähnelt, die zu einem Plateau ansteigt. Dieses Fuzzy-Set benötigt
die drei Parameter
ptBeg
,
ptEnd
und die Richtung der Schulterlinie, entweder links
oder rechts. Zu guter Letzt stellt die Klasse
WorkingFuzzySet
eine der Hauptklassen
der Fuzzy-Regelbasis dar. Sie wird verwendet, um die Fuzzy-Sets zu kombinieren, wenn
mit den Methoden
corelateWith()
und
impliedThat()
Schlussfolgerungen er-
folgen.
Die Klasse
FuzzyRule
implementiert die Schnittstelle
Rule
und definiert eine Reihe
von Fuzzy-Regelvariablen und Fuzzy-Regeln sowie höhere Methoden für die Vorwärts-
verkettung. Sie hat einen Namen (
name
), eine Liste von Variablen (
variableList
),
die alle von den Fuzzy-Regeln verwendeten Fuzzy-Regelvariablen enthält, und eine Re-
gelliste (
ruleList
), in der alle Fuzzy-Regeln aufgeführt sind. Die Schlüsselparameter
für die Steuerung der Schlussfolgerung sind die Elemente
alphaCut
,
Inference-
Method
,
correlationMethod
und
defuzzificationMethod
. Die Methode
backwardChain()
, die Teil der Schnittstelle
Rule
ist, beschränkt sich darauf anzu-
zeigen, dass die Fuzzy-Regelbasis keine Rückwärtsverkettung unterstützt.
Die
get
- und
set
-Methoden für das Setzen bzw. Zurückliefern ermitteln die Haupt-
steuerungsparameter der Fuzzy-Schlussfolgerung. Die Methode
setAlphaCut()
ge-
währleistet, dass die alpha-Cut-Grenze (Wahrheitswerte unterhalb dieses Wertes werden
auf 0,0 gesetzt) zwischen 0,0 und 1,0 liegt. Übliche Werte liegen unter 0,25, der Stan-
dardwert beträgt 0,1. Die Methode
setKorrelationMethod()
stellt sicher, dass
entweder
PRODUCT
oder
MINIMISE
zur Korrelation ausgewählt wird.
SetDefuz-
zifyMethod()
gewährleistet, dass entweder
CENTROID
oder
MAXHEIGHT
für die
Defuzzifizierung des Fuzzy-Sets verwendet wird. Der Parameter von
setInference-
Method()
kann entweder
FUZZYADD
oder
MINMAX
sein.