Information Technology Reference
In-Depth Information
arbeitet werden müssen, gilt es die Liste durchzugehen und jede Regel feuern zu lassen.
Ein Nebeneffekt hiervon ist, dass die bekannten Variablen, die durch das Element fact-
Basis dargestellt werden, über mehr gesetzte Bits verfügen. Auch werden die Regeln,
die verarbeitet wurden, als gefeuert gekennzeichnet. Auf diese Weise müssen weniger
Regeln untersucht werden, wenn das nächste Mal die while-Schleife zu durchlaufen ist
und damit sind in factBasis auch Bits gesetzt. In der Methode fire() der Klasse
FuzzyRule werden zwei Fälle behandelt. Im ersten Fall gibt es keine Prämissen, da es
sich um eine unbedingte Regel handelt, so dass die Konsequenz einfach durch eval()
ermittelt und mit or in den workingSet eingebracht wird. Im zweiten Fall handelt es
sich um eine bedingte Regel mit Prämissen und Konsequenzen, die verarbeitet werden
muss. Dabei wird durch die Prämissen gegangen, indem für jede die Methode eval()
aufgerufen wird. Wenn der Wahrheitswert unterhalb der alphaCut -Grenze liegt, wird
das Flag skipConclusion so gesetzt, dass die Konsequenz der Regel nicht tatsäch-
lich feuern kann. Dabei wird der kleinste Wahrheitswert aller Prämissen gemerkt. Wenn
skipConclusion immer noch nicht wahr ist, erfolgt einfach eine Schätzung bezüglich
der Konsequenz mit eval() und die Ergebnisse dieser Schätzung werden mit or in den
workingSet übernommen.
Die Methoden eval() der Klasse FuzzyClause werden in den Methoden fire()
der Klasse FuzzyRule verwendet, um die Klauseln während der Schlussfolgerung aus-
zuwerten. Die Version von eval() ohne Argumente wird bei Prämissen aufgerufen. Dies
führt einen Fuzzy-Vergleich aus. eval() , mit dem kleinsten Wahrheitswert, wird bei der
Konsequenz aufgerufen, wenn die Regel feuert. Dies führt eine Fuzzy-Zuweisung durch.
Die Methoden der Klasse FuzzyOperator führen den Vergleich oder die Zuweisung
aus. Die Fuzzy-Zuweisung asgnls() und der Fuzzy-Vergleich cmpls() , der Klasse
FuzzyOperator , werden in den bereits beschriebenen Methoden eval() verwendet.
Die Methode asgnls() mit drei Parametern wird aufgerufen, wenn die Konsequenz
ausgewertet wird. Sie weist dem Fuzzy-Set-Subjekt rhs den Wahrheitswert truthVa-
lue der Fuzzy-Regelvariablen Ihs zu. Bei Prämissen wird die Methode cmpls() ver-
wendet. Diese erhalten den aktuellen numerischen Wert der Fuzzy-Regelvariablen Ihs
und überprüfen ihre Zugehörigkeit zum Fuzzy-Set rhs . Dieser Wert zwischen 0,0 und 1,0
wird in der Methode fire() der Klasse FuzzyRule als Wahrheitswert zurückgegeben.
5.3
Genetische Algorithmen
Die Natur zeichnet sich durch eine durch Evolution entstandene Vielfalt aus, indem die
Lebewesen vielgestaltige, unterschiedliche Anpassungslösungen für ähnliche Selektions-
bedingungen verfolgen und dabei die gleiche Anpassung auf verschiedenen Wegen er-
reicht werden. Die so entwicklungsgeschichtlich entstandenen Eigenschaften der Lebe-
wesen sind ein Abbild der historischen Kontingenz, Variabilität und Verlaufsabhängigkeit
von Eigenschaften und Verhaltensweisen der biologischen Systeme. Vor allem die Va-
riabilität scheint damit als ein unverzichtbares Merkmal aller biologischen Populationen
 
Search WWH ::




Custom Search