Information Technology Reference
In-Depth Information
Anzahl der Einträge im Vektor
antecedents
fest und verknüpft den
id
-Wert jeder
Variable mit den
BitSet
-Objekten, indem er sie den Datenelementen hinzufügt. Anders
als die boolesche Klasse Regel verfügt die Klasse
FuzzyRule
nicht über einen Wahr-
heitswert. Die Fuzzy-Regel registriert sich bei der entsprechenden Fuzzy-Regelbasis. Die
ersten beiden Konstruktoren sind bedingte Regeln, die Prämissen und eine Konsequenz
umfassen. Der dritte ist eine unbedingte Regel oder eine Behauptung, weil er nur eine
Konsequenz aufweist.
Fuzzy-Klauseln werden sowohl in den Prämissen als auch in den Konsequenzen einer
Fuzzy-Regel verwendet. Eine Fuzzy-Klausel besteht aus einer Fuzzy-Regelvariablen auf
der linken Seite, einem Fuzzy-Operator, der einen Fuzzy-Vergleich oder eine Zuweisung
implementiert und einem
FuzzySet
-Wert auf der rechten Seite. Die folgende Regel ent-
hält zum Beispiel drei Klauseln:
extremStarkRegel:
IF
temperatur ist sehr heiss
AND
feuchtigkeit ist sehr klebrig
Die erste Prämisse besteht aus der Fuzzy-Regelvariable
temperatur
, dem Fuz-
zy-Operator
ist
, dem linguistischen Hedge-Ausdruck
sehr
und dem Fuzzy-Set
heiss
.
Die anderen Klauseln sind ähnlich aufgebaut. Eine Fuzzy-Klausel enthält auch den boole-
schen Wert
conclusion
, der anzeigt, ob die Klausel in der Prämisse oder der Konse-
quenz der Regel auftaucht. Der Konstruktor für Fuzzy-Klauseln nimmt eine Fuzzy-Regel-
variable für die linke Seite, einen Integerwert, der den gewünschten Fuzzy-Vergleichsope-
rator oder Zuweisungsoperator darstellt, und für die rechte Seite einen Fuzzy Set-Wert in
Hedge-Form. Die Methode
eval()
führt im Falle einer Prämisse den Fuzzy-Vergleich
und im Falle einer Konsequenz eine Fuzzy-Zuweisung aus. Die Klasse
FuzzyOpera-
tor
implementiert zwei Hauptoperationen der Fuzzy-Logik zwischen einer Fuzzy-Regel-
variablen und einem FuzzyLiteral-Wert (einem FuzzySet-Wert). Der Zuweisungsoperator
ist (=is)
weist der Variablen den Wert des gegebenen Fuzzy-Sets zu. Der Vergleichs-
operator
is
überprüft die Zugehörigkeit der aktuellen Fuzzy-Regelvariablen auf der lin-
ken Seite gegenüber dem Fuzzy-Set auf der rechten Seite und gibt einen Wert zwischen
0,0 und 1,0 zurück.
Speziell für die Fuzzy-Regelverarbeitung ist die Grundklasse
FuzzyRuleVaria-
ble
definiert und die Unterklasse
ContinuousFuzzyRuleVariable
, die die Ver-
wendung von Fuzzy-Sets in der Konsequenz unterstützt. Der Konstruktor für kontinuierli-
che Fuzzy-Regelvariablen nimmt einen Verweis auf die übergeordnete Fuzzy-Regelbasis,
den Namen der Variablen und die Mindest- und Höchstwerte des Wertebereichs (Diskurs)
der linguistischen Variablen auf. Eine Sammlung von
get
- und
set
-Methoden wird für
die Datenelemente zur Verfügung gestellt. In der Hash-Tabelle
setList
sind alle Fuzzy-
Sets und linguistischen Hedge-Ausdrücke aufgeführt, die für die Variable festgelegt wur-
den. Es werden zwei Instanzen des
WorkingFuzzySet
verwendet. In
valFzy
sind die
aktuellen Fuzzy-Werte der Variablen abgelegt, wohingegen
valFzyTmp
als temporäres