Information Technology Reference
In-Depth Information
Abb. 5.3 UML-Diagramm des Fuzzy-Produktionsregelsystems
den Werten 0,0 und 1,0 liegt. Typische Fuzzy-Sets bestehen aus Linienabschnitten, die
Dreiecke und Trapeze bilden Funktionen der Gauß-Form ab.
Die Implementierung der Fuzzy-Regelbasis besteht aus verschiedenen Klassen, die
sich bezüglich Architektur der booleschen Regelbasis sehr ähnlich sind (Abb. 5.3 ).
Den Kern des Fuzzy Produktionsregelsystems bilden die Klassen FuzzyRule , Fuz-
zyClause , FuzzyRuleVariable und FuzzyRuleSet . Da die Grundstruktur der
Klassen identisch ist, erfolgt in diesem Abschnitt eine Konzentration auf die besonderen
Aspekte des Codes für die Fuzzy-Schlussfolgerung.
Die Klasse FuzzyRule wird für die Definition einer einzelnen Regel benutzt und ent-
hält auch Methoden, die den Schlussfolgerungsvorgang unterstützen. Jede Fuzzy-Regel
hat das Datenelement name , einen Verweis auf das übergeordnete Objekt der Fuzzy-Re-
gelbasis, einen Vektor von Fuzzy-Prämissen und eine einzelne Fuzzy-Konsequenz. Das
boolesche Element firedFlag zeigt an, ob die Regel gefeuert hat oder nicht. Jeder in
der Fuzzy-Regelbasis festgelegten Fuzzy-Variablen ist ein eindeutiger Integerwert id zu-
gewiesen. Diese id-Werte werden in den Instanzen von BitSet , rdRefs und wrRefs ,
verwendet, um im Auge zu behalten, welchen Variablen ein Wert zugewiesen wurde und
um zu entscheiden, welche Regel feuern soll.
Es gibt verschiedene Konstruktoren für Fuzzy-Regeln, die alle jeweils einen Verweis
auf die Instanzen der Fuzzy-Regelbasis, den Namen der Fuzzy-Regel, ein oder mehre-
re FuzzyConclusionClause -Objekte (Prämissen) und ein einziges FuzzyCon-
ClusionClause -Objekt (Konsequenz) benötigen. Jeder Konstruktor legt die richtige
Search WWH ::




Custom Search