1.Einführung in Smart Elements 1.1. Smart Elements
Smart Elements ist ein Entwicklungswerkzeug für Expertensysteme, welches über eine auf WINDOWS basierende graphische Anwender-Schnittstelle bedient wird. Die Wissensrepräsentation erfolgt über Produktionsregeln, d.h.
die Aktionsteile der Regeln sind Prozeduren bzw. prozedural interpretierte prädikatenlogische Implikationen. Die drei elementaren Komponenten dieses Systems sind die Wissensbasis (Fakten, Daten), die Regelbasis (Wenn-Dann- Sonst-Regeln) und der Regelinterpreter (Inferenzmaschine).
1.2. Wissensbasis
Die Wissensbasis besteht aus einer Menge vorgegebener oder aktuell gewonnener Fakten. Es handelt sich dabei um Aussagen im Sprachgebrauch der Logik. Die Wissensbasis kann durch Regeln modifiziert und erweitert werden.
Object: - Objekt, das bestimmte Eigenschaften annehmen kann Bsp.: Hans
Properties: - Bennenung der Eigenschaften eines Objektes Bsp.: Hans.Alter
Meta-Slots: - Formatierung einer Eigenschaft, Initialwert bzw.
Formulierung der Abfrage
Bsp.: Hans.Alter Typ: Numerisch ( 0 -150) Initialwert: --
Abfrage: Wie alt ist Hans?
Class: - gleichartige Objekte können in Klassen zusammen- gefasst werden
- Eigenschaften einer Klasse werden auf ihre Objekte vererbt
Bsp.: <Mensch> (Klasse Mensch) <Mensch>.Alter (Eigenschaft Alter)
<Mensch>.Hans (Objekt der Klasse Mensch) Hans.Alter (Vererbung auf das Objekt)
1.2. Regelbasis
Die Regelbasis setzt sich aus einer Vielzahl von Wenn-Dann-Sonst Regeln zusammen.
Eine Regel besteht aus Prämisse und Hypothese, dabei stellt die Prämisse die Bedingungen, die zur Bestätigung einer Hypothese notwendig sind, dar.
Bedingungen sind grundsätzlich Aktionen (Prozeduren), die nach Ausführung einen Rückgabewert des Types Boolean liefern. Bis auf die Vergleichs-Aktion ( x <=> y ?), die nur in der Prämisse anwendbar ist, können alle anderen Aktionen auf der linken oder rechten Seite der Regel ausgeführt werden. Die Anwendung solcher Aktionen bewirkt eine Modifizierung der Standard-Regel.
IF Aktionen=TRUE THEN Hypothese=TRUE + Aktionen ELSE Hypothese=FALSE + Aktionen
Nur wenn alle Aktionen der Prämisse den Rückgabewert TRUE liefern, ist die Hypothese bestätigt.
Bsp.:
IF Hans.Geschlecht=Mann THEN Alter_Mann=TRUE Hans.Alter >= 90
Die Aktionen sind automatisch über ein logisches UND miteinander verknüpft, so daß es nicht möglich ist , auf Aktionen der Prämisse die OR-Verknüpfung anzuwenden. Für diesen Fall muß eine weitere Regel existieren, die die gleiche Hypothese hat.
Bsp.:
IF Hans.Auto = Porsche THEN Angeber IF Hans.Auto = Ferrari THEN Angeber
Aktionen der Hypothese sind Anweisungen, die mit Erflüllung (THEN) oder mit Nichterfüllung (ELSE) ausgeführt werden.
Bsp.:
IF Hans.Geschlecht = Mann THEN Alter_Mann
Hans.Alter >= 90 Ausgabe „Hans ist ein alter Mann“
Beispiele für Aktionen: - Vergleiche
- Bildschirmausgaben
- Modifizierung der Wissensbasis
- Datenbankzugriffe (Lesen + Schreiben) - Steuerung des Inferenzprozesses
- Änderung der Regelbasis (Meta-Regeln)
1.3. Regelinterpreter
Der Regelinterpreter von Smart-Elements ist in der Lage eine Breiten- bzw.
Tiefensuche oder eine Suche nach dem A*-Algorithmus durchzuführen. Der Zielzustand entspricht einer oder mehrerer Hypothesen, die über SUGGEST (Vorschlagen) gewählt werden. Zusätzlich können über VOLUNTEER (Unterstützen) Daten vorgegeben werden.
Das Vorgeben von Daten bewirkt eine Vorwärtsverkettung, wo versucht wird Regeln durch Fakten zu bestätigen. Das vorhandene Wissen wird durch diese Ergebnisse erweitert, bis die gewünschte Hypothese bestätigt werden konnte.
Im Fall der Rückwärtsverkettung wird von der gesuchten Hypothese ausgehend versucht, die zur Bestätigung erforderlichen Fakten durch die Anwendung der Regeln zu erhalten.
Über einen Regel-Browser ist es möglich, während der Laufzeit den Inferenzprozeß zu verfolgen. Es wird ersichtlich, welche Regeln durch Fakten erfüllt oder nicht erfüllt sind oder ob Regeln weitere Datenvorgaben benötigen, in diesem Fall wird der Benutzer aufgefordert, diese festzulegen.