Information Technology Reference
In-Depth Information
Klauseln sind Teile von Prämissen und Konklusionen einer Regel. Eine Klausel besteht
gewöhnlich aus einer Regelvariablen auf der linken Seite, einer Verknüpfung, die über-
prüft, ob der Wert gleich, größer oder kleiner ist, und einer rechten Seite, die in der ak-
tuellen Implementierung aus einem Stringwert (Zeichen- oder Ziffernfolge) besteht. Die
folgende Regel enthält zum Beispiel drei Klauseln:
Automobil:
IF num_raeder=4
AND motor=ja
Die erste Prämisse setzt sich aus der Regelvariablen num_raeder , der Bedingung = und
der Zeichenkette (String) 4 zusammen. Die anderen Klauseln sind genauso aufgebaut.
Eine Klausel weist auch einen Vektor der Regeln auf, die diese Klauseln enthalten, den
booleschen Wert conclusion , der anzeigt, ob die Klausel in der Prämisse oder der
Konklusion der Regel auftaucht, und den booleschen Wert truthValue , der angibt,
ob die Klausel wahr, falsch oder unbekannt (null) ist. Wie man dem Programmcode
entnehmen kann, nimmt der Konstruktor für die Klauseln eine Regelvariable für die linke
Seite, ein Bedingungsobjekt ( RuleCondition ) und einen String für die rechte Seite
auf. Die Klausel registriert sich bei der Regelvariable, so dass sie automatisch überprüft
werden kann, wenn sich der Wert der Variable ändert. Der boolesche Wert conclusion
wird zu Anfang auf false gesetzt, weil die meisten Klauseln Prämissen darstellen.
Die Klasse Clause enthält vier Methoden. Die Methode addRule() wird von dem
Konstruktor Produktionsregel verwendet, um die Regel bei dieser Klausel zu re-
gistrieren. Die Methode check() führt eine Überprüfung der Klausel durch. Wenn die
Klausel eine Konsequenz ist, ergibt das Überprüfen ihrer Wahrheit keinen Sinn, d. h. es
wird in diesem Fall ein Nullwert zurückgegeben. Wenn die Variable auf der linken Seite
ungebunden ist, wird ebenfalls ein Nullwert zurückgegeben, weil kein Wahrheitswert er-
mittelt werden kann. Wenn die Variable gebunden ist, kommt die Anweisung switch
zur Anwendung, um die jeweilige logische Verknüpfung zu überprüfen und den resul-
tierenden Wahrheitswert zurückzugeben. Die Methode setConclusion() setzt den
booleschen Wert conclusion auf wahr und getRule() gibt einen Verweis auf die
zugehörige Regelinstanz zurück.
Die Klasse RuleCondition stellt eine Hilfsklasse der Klasse Clause dar. Sie
nimmt die String-Darstellung eines Bedingungstests und wandelt sie in einen Code um,
den die Anweisung switch in der Methode Clause.check() dann verwenden kann.
In der Klasse Variable wird eine abstrakte Grundklasse von Variablen definiert,
die die Funktionen unterstützen, die für die Regelverarbeitung und das Lernen unbedingt
benötigt werden. Die im Programmcode aufgelistete Klasse Variable hat das Element
name als Bezeichnung für die Variable und den String value . Das Element labels
wird verwendet, um diskrete Symbole für kategorische Variablen zu speichern. Column
legt die Position der Variable einer Datei fest. Es gibt einen Standardkonstruktor und
einen, bei dem der Name spezifiziert werden kann. Zwei Zugriffsmethoden werden zur
Search WWH ::




Custom Search