Information Technology Reference
In-Depth Information
darin, eine Frage zu stellen, ob das Fahrzeug vier Räder hat. Die erste Prämisse wäre dem-
nach wahr, was einen Übergang zur zweiten Prämisse zur Folge hätte: motor=ja . Auch
hier ergibt die Überprüfung des Arbeitsspeichers, dass motor noch keinen Wert besitzt.
Erneut wird in der Regelbasis nach einer Regel gesucht, die die Konklusion motor=ja
hat. Diese Suche ist ebenfalls erfolglos und erneut wird der Anwender um einen Wert ge-
beten. Dieser antwortet, dass das Fahrzeug einen Motor hat, womit motor=ja wahr ist.
Beide Prämissen sind nun wahr. Insofern gilt als bewiesen, dass die Regel Automobil
wahr ist und damit zutrifft, was die Festlegung fahrzeugTyp=automobil impliziert.
Der Arbeitsspeicher enthält nun folgende Fakten:
num_raeder = 4
motor = ja
fahrzeugTyp = automobil
Nach Rückkehr zur ersten Regel erkennt man, dass die erste Prämisse wahr ist. Als
nächstes müssen Werte für groesse und num_tueren gefunden werden, was wiede-
rum die Konsultation des Anwenders erforderlich macht. Dieser gibt an, dass groes-
se=mittel und num_tueren=3 gelten soll. Damit sind alle Prämissen erfüllt und es
lässt sich schlussfolgern: fahrzeug=MiniVan . Der endgültige Arbeitsspeicherauszug
zeigt das hierfür entsprechende Bild:
num_raeder = 4
motor = ja
fahrzeugTyp = automobil
groesse = mittel
num_tueren = 3
fahrzeug = MiniVan
Der Algorithmus der Rückwärtsverkettung führt so etwas wie eine Tiefensuche in der
Regelbasis aus, während er versucht, eine Zielklausel zu beweisen.
5.2.4
Binär-Boolesche Produktionsregeln
In diesem Abschnitt werden Implementierungsdetails beschrieben, die sowohl den boole-
schen Ansatz als auch den Ansatz der Fuzzy-Logik betreffen. Weiterhin werden die beiden
Hauptarten von Inferenzalgorithmen veranschaulicht, die in regelbasierten Systemen ver-
wendet werden, nämlich die Vorwärts- und die Rückwärtsverkettung. Alle besprochenen
Klassen sind im Paket de.cc.pr Regel enthalten. Einen groben Überblick verschafft
das folgende UML-Diagramm (Abb. 5.2 ).
Die Klasse Rule wird verwendet, um eine einzelne Regel darzustellen und enthält Me-
thoden für die Unterstützung des Schlussfolgerungsvorgangs. Jede Regel hat das Daten-
element name , einen Verweis auf das übergeordnete Objekt der booleschen Regelbasis,
ein Array von Prämissen ( premise ) und eine Konklusion ( conclusion ). Der Wahr-
heitswert der Regel wird in truthValue abgelegt. Dabei gilt es zu beachten, dass es
sich hierbei nicht um eine einfache boolesche Variable, sondern vielmehr um ein Objekt
Search WWH ::




Custom Search