|
Nächste Seite: 4. Problemlösen durch Suchen Aufwärts: I. Der Untersuchungsbereich Vorherige Seite: 2. Der Begriff Wissensverarbeitung   Inhalt
|
| (3.2) |
wobei die
Wenn ein Fakt
aus einem EFRS logisch folgt, dann schreiben wir
. Die Menge aller Fakten die aus einem EFRS
logisch
folgen, bezeichnen wir als
. [Gottlob1990]
Ein Beispiel für ein Einfaches Fakten Regel System ist:
| (3.3) |
Aus dem Faktum
und der Regel
wird gefolgert, daß
ein neues Faktum
ist. Der analoge Schluß führt zu
. Aus der Regel
folgt somit, daß
,
und
sterblich sind, da alle Menschen sind. Alle
Fakten, die aus dem EFRS
logisch folgern, erhält man mit
:
| (3.4) |
In einem weiteren Beispiel soll die Mitarbeiterstruktur eines Betriebes mit Hilfe eines EFRS beschrieben werden. Abbildung 3.2 zeigt die Mitarbeiterhierarchie im Betrieb. [Gottlob1990]
|
>
|
|
|
|
|
|
|
|
Bei der Umsetzung der in der Abbildung beschriebenen Struktur soll das Prädikat
nicht durch eine Faktenmenge, sondern durch Regeln definiert werden.
| (3.5) |
Für
Um zum Faktum
zu gelangen,
beginnt man bei der Schlußfolgerung der letzten Regel:
. Somit lautet die Voraussetzung, daß das
Faktum aus den bereits bekannten Fakten folgt:
gleiche_ebene(X,Y)
vorgesetzter(X, stallburger)
vorgesetzter(Y, zettel). In den bekannten Fakten wird
nun nach einem
gesucht, welches das Prädikat
erfüllt. Das ist für
der Fall. Äquivalent wird mit
verfahren, sodaß
folgt. Die einzige offene Voraussetzung
ist nun
. Um diese Forderung zu prüfen
wird rekursiv wieder die letzte Regel betrachtet. Nach der Abarbeitung
kommt man zu der Vorderung
, welche
durch die vorletzte Regel
erfüllt ist. Somit kann man schreiben:
.
Die Regeln in einem EFRS entsprechen Hornklauseln, das sind Klauseln
bei denen nur auf ein Faktum geschlossen wird, d.h. es steht nur ein
Prädikatensymbol nach dem Implikationszeichen. Somit stellt z.B. die
PIF-Formel (3.1) keine Hornklausel dar. Sie besitzt
nach dem Implikationszeichen die zwei Prädikate
und
. Hornklauseln werden auch in logischen
Programmiersprachen z.B. PROLOG verwendet. [Böhringer1988]
3.3.2 Logische Programmiersprachen
Klassische Programmiersprachen sind hauptsächlich auf zwei Schwerpunkte ausgerichtet, um wissenschaftlich-technischen Aufgaben zu lösen und um Daten und Textbestände zu manipulieren. Mit ihrer Hilfe ist es schwer komplexe Wissensbasierte Systeme zu entwickeln. Aus diesem Grund werden solche Systeme vorwiegend in logischen Programmiersprachen, wie Lisp oder Prolog, implementiert. [Gottlob1990]
LISP
LISP wurde in den 50er Jahren von John McCarthy entwickelt und ist die zweitälteste noch in Verwendung stehende Programmiersprache. Nur Fortran ist um ein Jahr älter. LISP steht für List Programming. Zielsetzung bei der Entwicklung der Sprache war es, ein System zur Symbolmanipulation zur Verfügung zu haben. Symbolmanipulation wurde als Schlüssel für die Entwicklung intelligenter Programme aufgefaßt.
LISP ist eine funktionale Programmiersprache und verwendet Listen als Datenstruktur. Die Verarbeitung eines Programmes erfolgt durch Verarbeitung von Listen. Für LISP sind Daten und Programme äquivalent, d.h. sie werden in der gleichen Datenstruktur, in Listen, kodiert. Dieser Ansatz verhalf LISP zu einer dominierenden Stellung überall dort, wo anspruchsvolle Symbolverarbeitungsaufgaben gelöst werden mußten, für welche die Sprachmittel bisher bekannter Sprachen nicht ausreichten.
LISP selbst stellt jedoch direkt keine Methoden zur Verfügung, um Fakten logisch zu verknüpfen und so auf neue Fakten zu schließen. Die für ein Wissensbasiertes System notwendigen Komponenten, die Wissensbasis und die Inferenzmaschine, sind somit erst aus LISP-Konstrukten zu erstellen. [Schnupp1986]
Prolog
Prolog ist eine deklarative Programmiersprache und steht für ,,Programmieren in Logik''. Das bedeutet, daß in Prolog, im Gegensatz zu den herkömmlichen prozeduralen Programmiersprachen wie Fortran, Pascal oder C nicht mehr algorithmisch der Lösungsweg angegeben wird, sondern nur mehr die Bedingungen, die die Lösung des Problems erfüllen sollen. Funktionale Sprachen wie LISP sind ebenfalls deklarativ. Während aber funktionale Programmiersprachen auf Funktionen und Funktionsapplikationen beruhen, basieren logische Programmiersprachen auf Relationen und Regelanwendung. [Gottlob1990]
Prolog ist eine deskriptive Programmiersprache, d.h. die Lösung eines
Problems wird durch Regeln und Fakten beschrieben. Prozedurale
Programmiersprachen sind hingegen imperativ. Die Lösung eines Problems
muß in Form von Befehlsfolgen ausprogrammiert werden. Die in
der nachfolgenden Gleichung formulierte Aussage
betont den Unterschied zwischen dem Was (der Logik) und dem Wie (der Kontrolle) in der Programmierung, d.h. in der Implementierung eines Algorithmus. Ein Algorithmus besteht also aus einer logischen Komponente, die das Wissen zur Problemlösung enthält und einer Steuerungskomponente, die bestimmt, wie das Wissen verwendet wird, um damit Probleme zu lösen. Mit dieser Grundidee stellt Prolog eine Sprache dar, in der sich Wissensbasierte Systeme, wie sie in Abschnitt 3.2.3 beschrieben wurden, einfach entwickeln lassen. [Gottlob1990]
3.4 Prozedurale Methode als Wissensrepräsentation
Beim prozeduralem Ansatz wird Wissen in Form einer Abfolge von Anweisungen, den Prozeduren, gespeichert. Im Unterschied zu nicht wissensbasierten Programmen muß der Aufruf einer Prozedur aber explizit der Kontrolle des Programmes unterliegen. Das bedeutet, das Programm weiß über seine Problemlösungsmöglichkeiten bescheid und wendet diese entsprechende der vorliegenden Problemstellungen an. [Gottlob1990]
Beispiel: Es soll der Sachverhalt dargestellt werden, daß alle Personen sterblich sind, daß alle Hunde sterblich sind, daß alle Katzen sterblich sind, und daß Helena und Sokrates Personen sind.
Die logische Repräsentation sieht folgendermaßen aus:

Eine prozedurale Repräsentation könnte so aussehen:
boolean function person(x)
if x=sokrates then return true
else
if x=helena then return true
else return false
boolean function sterblich(x)
if person(x) then true
else
if hund(x) then true
else
if katze(x) then true
else return false
Versucht man mit dem Aufruf
zu überprüfen ob
Sokrates sterblich ist, so wird zuerst überprüft ob Sokrates eine
Person ist. Wäre Sokrates keine Person, würde überprüft ob Sokrates
ein Hund ist. In dieser Kette wird solange fortgeschritten, bis auf
die Spezies getroffen wird, der Sokrates angehört oder keine weiteren
Abfragen mehr folgen. Geht man davon aus, daß die meisten Objekte
Personen sind, die auf Sterblichkeit überprüft werden, ist diese
Vorgehenswiese effizient. Schon beim ersten Schritt wird überprüft, ob
das Objekt der Spezies Person angehört. Somit ist es bei prozeduraler
Wissensspeicherung möglich, durch geschickte Wahl der Abfolge der
Einzelschritte, die Abarbeitung für häufig auftretende Vorgänge
effizient zu gestalten. Da jedoch alle Lösungsmöglichkeiten explizit
berücksichtigt werden müssen, ist es schwer, komplexe Wissensbasen zu
erstellen.
Ein weiterer Nachteil ist die geringe Flexibilität. So kann das System
die Frage ,,Sind alle Personen sterblich?'' nicht entscheiden. Eine
solche Entscheidung wäre bei einer logikbasierten Repräsentation mit
geeignetem Inferenzverfahren möglich. Zudem macht eine Erweiterung
der bestehenden Wissensbasis um den Satz
einen Eingriff in eine bereits bestehende Prozedur nötig. Dies schränkt die Modularität sehr stark ein. [Gottlob1990]
3.5 Frames
Die Wissensrepräsentation mit Hilfe von Frames stellt eine objektorientierte Wissensrepräsentation dar. Dabei werden Objekte der realen Welt durch Frames dargestellt. Die Eigenschaften des Objekts werden in den Frames in sogenannten Slots gespeichert. Der Tatsache, daß es in der realen Welt mehrere unterschiedliche Objekte eines Objekttyps gibt, wird mit Hilfe von generischen Frames und deren Instanzen Rechnung getragen. Ein generischer Frame hält für jedes Attribut mit dem ein Objekt beschrieben wird, einen Slot bereit. In einer Instanz des generischen Frames wird nun jedem Slot, entsprechend für das Attribut für das er steht, ein Wert zugeordnet. Abbildung 3.3 zeigt den generischen Frame des Objekttyps Elefant und eine Instanz, die den speziellen Elefanten Bimbo beschreibt. Die Bedeutung des Slots AKO wird später beschrieben, wenn auf die Technik der Vererbung eingegangen wird. [Winston1993]
|
Die Beziehung zwischen einem generischen Frame und einer Instanz wird mit Hilfe des ,,Is A''-Slot hergestellt. Im Beispiel ist im ,,Is A''-Slot gespeichert, daß es sich bei Bimbo um einen Elefanten handelt. In den übrigen Slots sind die Werte zu den Attributen gespeichert.
In einem generischen Frame wird zu einem Slot nicht nur das Attribut gespeichert, für das der Slot steht, sondern auch zusätzliche Informationen und Programme. Dazu gehören: [Puppe1991]
- Defaultwerte, die beim Lesezugriff zurückgegeben werden, wenn kein Wert explizit zugeordnet wurde. Im Beispiel mit dem Elefanten wäre das für den Slot Farbe der Wert grau.
- Bedingungen, die der Wert erfüllen muß, z.B. männlich oder weiblich im Slot Geschlecht.
- Prozeduren die beim Schreib-, Lese- oder Löschzugriff auf den Slotwert ausgeführt werden. Dadurch wird erreicht, daß Wissen nicht nur passiv gespeichert wird. Es wird möglich bei jedem Zugriff auf Slots Schlüsse zu ziehen und andere Frames zu modifizieren. Somit ist es möglich, die Wissensbasis auf einfache Art konsistent zu halten.
Vererbung
Die Stärke des Framekonzepts ist die Vererbung. Ein generischer Frame kann Slots an einen anderen generischen Frame vererben. Diese Beziehung wird mit Hilfe des AKO-Slots dargestellt. AKO steht für ,,A Kind Of''. Im erbenden Frame ist im AKO-Slot vermerkt, von welchem Frame er Slots erbt. Abbildung 3.4 zeigt eine Framestruktur, in der Informationen zu einem Ereignis gespeichert werden. Es gibt zwei mögliche Ereignisse, Unglücke und Feiern. Die Ereignisse teilen sich wieder in Erdbeben und Überschwemmungen, bzw. in Hochzeiten und Geburtstage. Jedes Ereignis findet an einem bestimmten Ort zu einer bestimmten Zeit statt. Darum werden diese Slots weitervererbt an Unglücke und Feiern. Weiters hat jede Feier einen Gastgeber und Gäste. Diese und die Slots die vom Ereignis geerbt wurden, werden weiter an die verschiedenen Feiern vererbt. Eine Instanz einer Geburtstagsfeier könnte also wie in Abbildung 3.5 aussehen. [Winston1993]
|
3.6 Semantische Netze
Semantische Netze sind nicht als eigenständige Wissensrepräsentation aufzufassen, sie dienen vielmehr dazu, die Zusammenhänge in den bisher besprochenen Repräsentationen übersichtlich darzustellen [Puppe1991]. So wurde z.B. in Abbildung 3.2 die Aufgabenstellung der Implementierung einer Mitarbeiterhierarchie graphisch als semantisches Netz dargestellt, bevor die logische Repräsentation erarbeitet wurde, oder in Abbildung 3.4 wurde die Framehierarchie zur besseren Verständlichkeit als semantisches Netz dargestellt, ohne dies explizit zu erwähnen.
|
Semantische Netze stellen gerichtete Graphen dar, die aus Nodes, Links und Link Labels bestehen. Diese Begriffe sind folgendermaßen definiert [Winston1993]:
- Node,
- beschreibt ein Objekt der realen Welt.
- Link,
- stellt die Beziehung zwischen zwei Nodes dar.
- Link Labels,
- beschreibt die Art der Beziehung, die mit einem Link ausgedrückt wird.
Abbildung 3.6 stellt ein Beispiel für ein semantisches Netz dar. Es drückt die räumlichen Beziehungen der geometrischen Objekte untereinander aus.
Anhand semantischer Netze werden in Kapitel 4 und 5 Algorithmen erklärt, die in der Wissensverarbeitung häufig angewandt werden. Dazu gehören vor allem Algorithmen zur Suche in Graphen und zur Behandlung von Spielbäumen.
3.7 Constraints
Mit der Hilfe von Constraints können Relationen, d.h. Beziehungen zwischen Variablen, dargestellt werden. Dabei eignen sich Constraints besonders zur Darstellung von Randbedingungen, die die Lösung des Problems auf jeden Fall erfüllen muß. Ein Beispiel dafür ist der Wunsch eines Lehrers bei der Stundenplanerstellung, daß er einen bestimmten Tag in der Woche frei haben möchte. Durch jedes neue Constraint wird der Lösungsraum zusätzlich eingeschränkt [Puppe1991].
Während Constraints ungerichtete Zusammenhänge zwischen Variablen
ausdrücken, die nach jeder Variable hin aufgelöst werden können,
z.B.
, repräsentieren Regeln gerichtete Zusammenhänge, z.B.
. Ein Constraint kann häufig als mathematische Gleichung
betrachtet werden, ein Constraint-System als Gleichungssystem. Unter
Constraint-Propagierung versteht man dann die Berechnung der Lösung
des Gleichungssystems. Es lassen sich aber nicht nur mathematische
Gleichungen beschreiben, sondern auch Ungleichungen und
nichtnumerische Zusammenhänge. Constraints eignen sich deshalb zur
quantitativen und qualitativen Modellierung von mathematischen und
physikalischen Systemen [Puppe1991].
Es existieren die unterschiedlichsten Möglichkeiten Constraints zu realisieren, z.B. läßt sich die Beziehung zwischen Körpergröße und Idealgewicht folgendermaßen darstellen:
- Tabelle, z.B. mit Hilfe einer Gewichtstabelle
- Funktion, z.B. Normalgewicht = Körpergröße - 100
- Prädikate:

Als Eingabe für den Propagierungs-Algorithmus dient ein Constraint-System, sowie eine Variablenbelegung, soweit diese bekannt ist. Als Ausgabe erhält man eine Belegung der bisher unbekannten Variablen. Wenn alle Variablen einen eindeutigen Wert annehmen, liegt eine eindeutige Lösung vor. Es ist aber auch möglich, daß für eine Variable eine Wertemenge von möglichen Lösungen zurückgegeben wird, oder eine Variable unter den gegebenen Bedingungen keinen gültigen Wert annehmen kann. Die Aufgabe des Propagierungs-Algorithmus ist es also, den Wertebereich einer Variablen solange einzuschränken, bis keine weiteren Einschränkungen mehr möglich sind. Es hängt von der Komplexität dieses Algorithmus ab, welche Ausdrücke in Constraints verarbeitet werden können.
- Nur Feste Werte:

- Wertemenge:

- Symbolische Ausdrücke:

Veranschaulichung der Arbeitsweise anhand eines Beispiels
Mit Hilfe des nachfolgenden Beispiels, ,,Der Hilferuf eines Studenten an seinen Vater'' [Puppe1991], soll die Arbeitsweise des Propagierungs-Algorithmus erläutert werden.
Es soll jedem Buchstaben eine Ziffer zugewiesen werden, so daß obige Addition korrekt ist. Es dürfen keine Ziffern doppelt zugeordnet werden. Die höchstwertige Ziffer jeder Zahl muß ungleich Null sein. Wieviel Geld benötigt der Student also von seinem Vater?
Der erste und vielleicht schwerste Schritt bei der Lösung des Problems
ist die geeignete Formulierung. Die gegebene Darstellung stellt eine
Gleichung in acht Variablen dar. Statt dessen teilt man nun die
Gleichung entsprechend der Spalten und erhält somit fünf
Gleichungen. Eine mögliche Formulierung der Constraints wäre eine
Mischung aus Funktionen und Prädikaten, z.B. für die letzte Spalte
,,wenn
dann
, sonst
''. Diese
Formulierung ist aber sehr umständlich, da für die folgenden Spalten
immer mehr Fallunterscheidungen nötig werden. Eine weitaus bessere
Beschreibung zeigen die Gleichungen (3.6) bis (3.10)
, bei der die Überträge der Gleichung als neue Variablen
dargestellt werden. Da die führenden Stellen (
) ungleich
Null sein müssen, ergeben sich die unten gezeigten Wertebereiche.
Aus
folgt, daß
und
die selbe Zahl darstellen, und ist
deshalb durch die Schnittmenge der beiden Wertebereiche mit
eindeutig bestimmt. Dadurch kann die Ziffer 1 aus der Wertebereichen
der einzelnen Variablen gestrichen werden, nicht aber aus dem
Wertebereichen der Überträge. In der weiteren Folge wird nicht mehr
angegeben, daß eine eindeutig zugeordnete Zahl aus den Wertebereichen
gestrichen wird. Constraint
reduziert sich nun auf
. Damit können keine weiteren Werte eindeutig bestimmt
werden. Es wird also eine Annahme nötig, die auf ihre Richtigkeit
überprüft wird. Da
die kleinste Wertemenge besitzt, wird eine
Annahme für diese Variable getroffen.
Annahme:
.
vereinfacht sich zu
. Daraus ergibt
sich, daß
ist und
, da wegen
die Ziffer aus
dem Wertebereich gestrichen wurde. Damit vereinfacht sich
zu
, was für keine gültige Wertebelegung erfüllte sein kann,
da
sein muß. Die Annahme
war also falsch, und muß
ebenso wie alle daraus abgeleiteten Variablen zurückgesetzt werden.
Damit folgt die neue Annahme
.
vereinfacht sich zu
und ist nur mit
und
erfüllbar. Für
ergibt
sich nun
. Die Annahme
führt zum Widerspruch
,
also muß
sein. Daraus folgt
. Direkt läßt sich mit
keine weitere Variable bestimmen. Daher ersetzt man in
durch
. Diesen Schritt macht das symbolische Propagieren
möglich. Für
ergibt sich
. Da die Ziffer 9 nicht mehr
im Wertebereich der Variablen
ist, folgt
und
. Für
gilt nun
. Da jede der Variablen
,
,
,
noch sechs Werte annehmen kann, scheint eine Fallunterscheidung wenig
sinnvoll. Auch hilft uns das symbolische propagieren nicht
weiter. Dagegen hilft die Propagierung der Wertemengen. Die aktuellen
Wertemengen sind
,
,
,
. Durch die
Gleichung
folgt, daß für
der Wert 2 und für
der Wert 7
herausfällt. Aus
folgt die Ungleichung
. Dadurch
werden die Wertemengen weiter eingeschränkt:
und
. Da für
nur mehr zwei Werte zur Verfügung stehen,
kann wieder eine Annahme getroffen werden. Aus
folgt
und
und stellt einen Widerspruch dar. Daher muß
sein. Damit
ergeben sich für die restlichen Variablen die Werte:
,
und
. Die eindeutige Lösung des Problems ist in Abbildung
3.8 dargestellt.
Komplexität von Constraintsystemen
Die im Beispiel angegebene Lösung kann nur von einem sehr leistungsfähigen Constraintsystem gefunden werden. Entsprechend der Fähigkeiten des Constraint-Propagierungs-Algorithmus lassen sich die Constraint-Systeme wie folgt einteilen [Puppe1991]:
- Einfache Constraintsysteme, die nur feste Werte propagieren können; diese würden für obiges Beispiel keine Lösung finden, da nach dem ersten Schritt für jede Variable mehr als ein Wert in Frage kommt.
- Ein weitgehend einfaches Constraintsystem, das zusätzlich auch Fallunterscheidungen beherrscht, würde erst nach sehr viel willkürlichem raten eine Lösung finden. Wäre die Wertemenge der Variablen unendlich, z.B. die reellen Zahlen, wäre die Fallunterscheidung prinzipiell unmöglich.
- Ein Constraintsystem, das auch in der Lage ist Wertemengen zu propagieren, würde den Suchraum weitgehend einschränken, müßte jedoch auch noch viel raten.
- Bei komplexen Problemen erweist sich die symbolische Propagierung als leistungsstarke Technik. Sie ist jedoch sehr aufwendig zu implementieren, da es vom System algebraische Umformungen verlangt.
- Wenn ein System über alle oben angeführten Techniken verfügt, benötigt es noch gute Heuristiken, um zu entscheiden, wann welche Technik angewandt werden soll. So eignet sich z.B. eine Fallunterscheidung nur, wenn der Wertebereich der Variable möglichst kein ist und sich die einzelnen Fälle nicht weiter verzweigen.
3.8 Unsicheres Wissen
In den bisher besprochenen Repräsentationen wurde Wissen immer in Form von eindeutigen Fakten, Regeln, Bedingungen oder Abbildungen gespeichert. Oft ist es jedoch nicht möglich, eindeutige Aussagen über die reale Welt zu treffen oder einen strikten Zusammenhang zwischen Bedingung und Schlußfolgerung herzustellen. Vielmehr können Aussagen und Schlußfolgerungen nur mit einer bestimmten Unsicherheit getroffen werden. Eine Möglichkeit diese Unsicherheit darzustellen ist, anzugeben mit welcher Wahrscheinlichkeit die Aussagen und Schlußfolgerungen zutreffen. Quellen für die Unsicherheit von Information können sein [Gottlob1990]:
- Inhärente Unsicherheit der Information,
- z.B. die
Information eines Temperatursensors mit der Toleranz von
C.
- Unvollständigkeit der Information
- , es werden z.B. fehlende Informationen durch Annahmen ersetzt, sind alle Schlußfolgerungen, die auf dieser Annahme basieren, unsicher.
- Unsicherheit von Schlußfolgerungen:
- Es kann kein strikter
Zusammenhang zwischen Bedingung und Schlußfolgerung hergestellt
werden, z.B. ,,Wenn der Patient mehr als
C Fieber hat, dann ist er mit der
Wahrscheinlichkeit von 0,7 an Grippe erkrankt.''
- Zusammenfassung von Informationen aus mehreren Quellen,
- widersprechen sich z.B. die Aussagen von zwei Experten, so erhöht dies die Unsicherheit dieser Aussagen.
Unsicherheiten können nummerisch oder symbolisch dargestellt werden. Bei der symbolischen Repräsentation wird der Grad der Unsicherheit durch Elemente aus einer vorgegebenen Menge von Symbolen ausgedrückt, z.B. durch Begriffe wie ,,meistens'', ,,beinahe'', ,,immer'', usw. Bei dieser Methode ist es aber schwierig die Fortpflanzung der Unsicherheit beim Schlußfolgern zu berücksichtigen.
Bei der nummerischen Repräsentation wird die Unsicherheit durch die Zuordnung von einem oder mehreren Zahlenwerten, z.B. der Wahrscheinlichkeit, ausgedrückt. Für die Darstellung der Fortpflanzung der Unsicherheit gibt es mathematische Formalismen. Jedoch ist es oft nicht möglich, einer Aussage oder Schlußfolgerung einen exakten Wahrscheinlichkeitswert zuzuordnen. Im nachfolgenden werden drei Verfahren zur nummerischen Repräsentation von Unsicherheit vorgestellt.
Theorem von Bayes
In der klassischen Wahrscheinlichkeitsrechnung ist die
Wahrscheinlichkeit als
| (3.11) |
>
| ... | Wahrscheinlichkeit, daß X wahr ist | |
|
|
... | Wahrscheinlichkeit, daß
|
|
|
... | Wahrscheinlichkeit, daß
|
Allgemeines Theorem von Bayes
Gegeben sei eine Menge von Hypothesen
und eine
Menge von Ereignissen
. Das allgemeine
Bayes'sche Theorem baut auf folgenden Voraussetzungen auf [Gottlob1990]:
Die Hypothesen in der Menge H schließen sich gegenseitig aus:
Die Menge H ist erschöpfend:
| (3.12) |
![]() |
(3.13) |
Das allgemeine Bayes'sche Theorem besagt, daß die a-posteriori
Wahrscheinlichkeit
einer Hypothese
als
Funktion der bedingten Wahrscheinlichkeiten
sowie der a-priori Wahrscheinlichkeiten
berechnet werden
kann [Gottlob1990]:
![]() |
(3.14) |
Der Spezialfall für ein Ereignis
und eine Hypothese
sieht
folgendermaßen aus:
| (3.15) |
Die Anwendung des Satzes soll nun durch ein Beispiel veranschaulicht
werden. Im Beispiel tritt das Ereignis
,,Die Reifen eines Autos
quietschen.'' mit der Wahrscheinlichkeit
auf; die Hypothese
,,Die Bremsen des Autos sind schlecht eingestellt.'' mit der
Wahrscheinlichkeit
.
Nehmen wir weiters an, daß schlecht eingestellte Bremsen oft, aber
nicht immer, ein Quietschen der Räder verursachen. Die bedingte
Wahrscheinlichkeit dafür ist
. Wenn man nun ein Quietschen
der Reifen beobachtet, so kann man mit Hilfe des Bayes'schen Theorem
die Wahrscheinlichkeit berechnen, daß die Bremsen schlecht eingestellt
sind.
Durch die Beobachtung des Ereignisses
hat sich die
Wahrscheinlichkeit der Hypothese
von 0,02 auf 0,28 erhöht. Die
Berechnung von
ausgehend von
kann als Neubewertung der
Hypothese
beim Eintreten des Ereignisses
aufgefaßt werden. Darin
liegt die Stärke dieses Theorems. Mit ihm läßt sich die Fortpflanzung
der Unsicherheit berechnen. Der Nachteil ist jedoch, daß zu jedem
Ereignis und zu jeder Hypothese die Wahrscheinlichkeit und die
entsprechenden bedingten Wahrscheinlichkeiten gespeichert werden
müssen. Dies erfordert eine große Datenmenge, die schwer zu beschaffen
ist und auch oft nicht mit mathematischer Exaktheit beschafft werden
kann. [Gottlob1990]
Certainty Factors
In der Praxis werden daher aus oben genannten Gründen Unsicherheiten anstelle von Wahrscheinlichkeiten durch sogenannte Certainty Factors ausgedrückt. Jeder Regel wird ein fester Certainty Factor zugeordnet. Den Fakten, die eine Regel erfüllen muß, sind dynamische Certainty Faktoren zugeordnet. Bei der Abarbeitung einer Regel wird aus den festen und dynamischen Faktoren der Certainty Factor der Schlußfolgerung berechnet. Somit erhält man neue, bewertete Fakten. Der Vorteil der Certainty Factors liegt darin, daß für jede Regel und für jedes Faktum nur ein Wert gespeichert werden muß. Es werden keine bedingten Wahrscheinlichkeiten gespeichert. Daher sind sie einfacher zu handhaben und leichter zu implementieren. Die Implementierung von Certainty Factors wird im Abschnitt 6.8 anhand von Expertensystemen genauer ausgeführt. [Gottlob1990]
7 Fuzzy Logik
Der Grundgedanke der Fuzzy Logik ist es, eine Theorie der unscharfen Mengen zu entwickeln. Durch die unmittelbare Verknüpfung zwischen Mengenlehre und Logik ist damit auch die Theorie der unscharfen Logik verknüpft. An dieser Stelle soll nur erwähnt werden, wie in der Fuzzy Logik unsicheres Wissen gespeichert wird. Näher wird auf dieses Thema in Kapitel 7 eingegengen. [Rojas1993]
In der klassischen Mengenlehre gilt für ein Objekt, daß es entweder Element oder kein Element der Menge ist. In der Fuzzy Logik besitzt eine Menge keine so scharfen Grenzen. Damit ist es möglich, daß ein Element nur ,,zu einem bestimmten Grad'' einer Menge angehört. Der Grad der Zugehörigkeit wird durch einen Wert aus dem Intervall [0,1] angegeben. Dieses Konzept erweist sich als vorteilhaft, wenn man Zuordnungen aus dem natürlichen Sprachgebrauch darstellen will.
Ein Beispiel dafür ist die Aussage: ,,Die Person X ist groß.''. Befragt man mehrere Personen wo für sie die Grenze liegt, ab wann eine Person als groß gilt, so wird man keinen eindeutigen Grenzwert erhalten. Für manche beginnt groß schon bei 1,75m, für andere erst bei 1,85m. In der Fuzzy Logik kann diese unscharfe Grenze mit der Mitgleidsgradfunktion ausgedrückt werden. Abbildung 3.9 zeigt einen solchen Verlauf für die Zugehörigkeit zur Menge der großen Personen. Die Mitgliedsgradfunktion ordnet z.B. eine Person die 1,85m groß ist, mit dem Grad 0,8 zur Menge der großen Personen zu.
|
Nächste Seite: 4. Problemlösen durch Suchen Aufwärts: I. Der Untersuchungsbereich Vorherige Seite: 2. Der Begriff Wissensverarbeitung   Inhalt Gerald Reif
2000-02-01


