Boolsche und mehrwertige Logiken - Lab4Inf
Boolsche und mehrwertige Logiken - Lab4Inf
Boolsche und mehrwertige Logiken - Lab4Inf
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Fuzzy Logic & Control<br />
Λογος ist ..., wenn man trotzdem denkt.<br />
Prof. Dr.-Ing. Doris Danziger<br />
Prof. Dr. rer. nat. Nikolaus Wulff
Agenda<br />
• Klassische Mengen<br />
• Regelbasierte Systeme<br />
• Mehrwertige <strong>Logiken</strong> <strong>und</strong> Fuzzy Logik<br />
• Fuzzy Mengen, Operationen <strong>und</strong> Implikationen<br />
• Fuzzy Mengen <strong>und</strong> Partitionen<br />
• Fuzzyfizierung <strong>und</strong> Defuzzifizierung<br />
• Fuzzy Pattern Matching<br />
• Fuzzy Image Processing<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
2
Soft-Computing<br />
Unter dem Begriff Soft-Computing werden mehrere<br />
Teilgebiete der Künstlichen Intelligenz subsummiert:<br />
• Neuronale Netze<br />
• Fuzzy-Logik<br />
• Evolutionäre Algorithmen<br />
• Schwarm Intelligenz, Ant Colonie ...<br />
• Bayessche Netzwerke => Wahrscheinlickeitstheorie<br />
• Chaos Theorie<br />
Es geht um Relationen/Abbildungen [0,1] n [0,1] m<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
3
Klassische Mengen<br />
• Klassische Mengen erlauben eine klare Einteilung, ob<br />
ein Element x zu der Menge A gehört oder nicht.<br />
• Es sei die Gr<strong>und</strong>gesamtheit <strong>und</strong> A eine nichtleere<br />
Teilmenge hiervon.<br />
• Die charakteristische Funktion A<br />
(Indikatorfunktion)<br />
beschreibt die Zugehörigkeit eines Elements x ∈ <br />
zur Menge A<br />
A : { 0,1 }<br />
x A x={ 1 x∈ A<br />
0 otherwise<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
4
Klassische Operationen<br />
• Für klassische Mengen sind die Operationen<br />
Vereinigung A∪B, Schnitt A∩B <strong>und</strong> die Negation<br />
definiert <strong>und</strong> lassen sich mit Hilfe der Indikatorfunktion<br />
darstellen.<br />
• Vereinigung von A <strong>und</strong> B<br />
A∪B x=min 1, A x B x<br />
• Schnitt von A <strong>und</strong> B<br />
A∩B x= A x∗ B x<br />
• Negation von A<br />
A x=1− A x<br />
A<br />
A∩B<br />
B<br />
<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
5
<strong>Boolsche</strong>r Verband/Algebra<br />
• Eine nichtleere Menge von Symbolen A, B, C, ...<br />
versehen mit den Junktoren<br />
„logisches <strong>und</strong>“<br />
„logisches oder“<br />
∧<br />
∨<br />
„Negation“ ¬<br />
bildet die Gr<strong>und</strong>lage der Aussagenlogik.<br />
• Die Symbole A werden nach ihrem Wahrheitsgehalt<br />
W(A) aus der Menge W(A)∈{0,1} bewertet.<br />
• Mit obigen Verknüpfungen ergibt sich die aus der<br />
Informatik- <strong>und</strong> Elektrotechnikvorlesung bekannte,<br />
<strong>Boolsche</strong> Algebra oder Logik.<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
6
Eigenschaften klassischer Mengen<br />
• Das Komplement des „Universums“ ist die leere<br />
Menge <strong>und</strong> vice versa:<br />
=∅<br />
∅=<br />
• Für jede Menge A gilt der Satz vom ausgeschlossenen<br />
Dritten („tertium non datur“)<br />
A∪ A=<br />
W A∨¬A=1<br />
• Und der Satz vom Widerspruch<br />
A∩ A=∅<br />
W A∧¬A=0<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
7
Klassische Logik<br />
• Klassische Logik kennt 2 2 n-wertige Funktionen über<br />
der (Power Set) Menge 2 2 n<br />
: {0, 1} n {0, 1}.<br />
• Beispiele für n=2 sind die AND <strong>und</strong> OR Operationen,<br />
weniger bekannt ist der logische Schluss (Operator).<br />
x y x ∧ y x ∨ y x→ y<br />
0 0 0 0 1<br />
0 1 0 1 1<br />
1 0 0 1 0<br />
1 1 1 1 1<br />
n<br />
• Übung: Wie können alle Funktionen für n=2<br />
dargestellt werden. Welche sind allgemein bekannt?<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
8
Regelbasierte Systeme<br />
• Regelbasierte Expertensyteme bestehen aus einem<br />
„Langzeitgedächtnis“ dem Wissensspeicher <strong>und</strong><br />
einem „Kurzzeitgedächtnis“ von Fakten/Sätzen.<br />
• Mit Hilfe von Regeln werden aus den bekannten<br />
Fakten der „KnowledgeBase“ (KB) neue Fakten als<br />
Konklusionen gewonnen:<br />
R k<br />
: if P k<br />
then Q k<br />
gegeben P k<br />
∈ KB dann KB.insert(Q k<br />
)<br />
• Hierbei lassen sich die gewonnen Konklusionen als<br />
neue Eingaben in weiteren Regeln verwenden.<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
9
Vorwärtsverkettung<br />
Liste conclude(Liste p={P α<br />
,...,P ζ<br />
}) {<br />
KB.insert(p);<br />
conq = {}<br />
do {<br />
temp = {}<br />
for all R k<br />
: P k<br />
=>Q k<br />
in KB {<br />
if R k<br />
(P k<br />
) is true and new<br />
temp.insert(Q k<br />
)<br />
}<br />
conq.insert(temp);<br />
KB.insert(temp);<br />
} while(temp != empty)<br />
return conq;<br />
}<br />
Eingabe ein Liste<br />
von Fakten.<br />
Leer Liste<br />
von Konklusionen.<br />
Auffüllen der<br />
Konklusionsliste<br />
– Pseudo-Algorithmus der Vorwärtsverkettung. Es werden<br />
so lange neue Fakten zur KB hinzugefügt, bis keine<br />
weitere Regeln mehr feuern.<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
10
Modus Ponens<br />
• Die klassische Logik kennt mehre Regeln des<br />
logischen Schließens, einer der wichtigsten ist der<br />
sogenannte „Modus ponendo ponens“.<br />
• Folgt aus der Prämisse P die Konklusion Q <strong>und</strong> sei<br />
P als wahr bekannt, so wird auf Q geschlossen.<br />
formal<br />
P Q<br />
Q<br />
P<br />
regelbasiert<br />
R: if P then Q<br />
gegeben P ∈ KB dann KB.insert(Q)<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
11
Modus Tollens<br />
• Die Verneinung des Modus ponens führt zum<br />
Widerspruch „Modus tollendo tollens“.<br />
• Gilt die vorhergehende Regel R des Modus<br />
ponens, jedoch die Ableitung Q ist nicht wahr, so<br />
kann auch die Voraussetzung P nicht wahr sein.<br />
formal<br />
regelbasiert<br />
P Q ¬Q<br />
¬P<br />
R: if P then Q<br />
gegeben Q KB dann KB.insert(!P)<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Merke: fehlende Fakten feuern nicht!<br />
Fuzzy Logic & Control<br />
12
Kontraposition<br />
• Äquivalent zur vorhergehenden Aussage R ist der<br />
Umkehrschluss, die Kontraposition der Implikation.<br />
Wenn Q nicht gilt, so kann auch P nicht gültig sein.<br />
• Die Rollen von Prämisse <strong>und</strong> Konklusion werden<br />
also nach vorhergehender Negation vertauscht.<br />
formal<br />
regelbasiert<br />
¬Q ¬P ¬Q<br />
¬P<br />
R: if !Q then !P<br />
gegeben !Q ∈ KB dann KB.insert(!P)<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
13
Und Elemenierung<br />
• Eine weitere praktische boolsche Inferenzregel ist<br />
die Und-Elemenierung.<br />
• Aus einer wahren Konjunktion P 1<br />
∧ P 2<br />
kann auf<br />
jedes der Konjunkte geschlossen werden:<br />
formal P 1<br />
∧P 2 sowie P 1<br />
∧P 2<br />
P 1<br />
P 2<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
14
Aussagenlogik<br />
• Mit Hilfe der Aussagenlogik kann zu einer Menge<br />
von logischen Formeln F die Lösungsmenge α an<br />
möglichen Wahrheitswerten ermittelt werden.<br />
• Ist α zu F passend, d. h. α(F)=1 so heißt α ein<br />
Modell für F, geschrieben als α╞ F.<br />
– Ist die Menge der Prämissen klein, so kann dieses<br />
Modell übersichtlich mit Hilfe einer Wahrheitstafel<br />
ermittelt werden. Andernfalls muss durch geeignete<br />
Transformationen systematisch eine Lösungsmenge<br />
ermittelt werden.<br />
• Eine Menge F von logischen Formeln heißt<br />
erfüllbar wenn mindestens ein Modell existiert.<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
15
Philosophisches<br />
1. Platon hatte Recht mit seiner Einschätzung des<br />
Sokrates genau dann, wenn Sokrates kein großer<br />
Philosoph war.<br />
2. Wenn Sokrates ein großer Philosoph war, dann<br />
hatte Aristoteles Recht mit seiner Einschätzung des<br />
Platon.<br />
3. Aristoteles hatte nur dann Recht mit seiner<br />
Einschätzung des Platon, falls Platon Recht hatte<br />
mit seiner Einschätzung des Sokrates.<br />
• Übung: Existiert ein lösendes Modell α?<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
16
Lösungsansatz<br />
R 1<br />
P ⇔¬S<br />
P∧¬S<br />
R 2<br />
S A<br />
⇔<br />
¬S∨A<br />
R 3<br />
A P<br />
¬A∨P<br />
F ≡ P∧¬S ∧¬S∨A∧¬A∨P<br />
• Sowohl mit einer Wahrheitstabelle als auch mit<br />
Hilfe von elementaren Umformungen in eine<br />
disjunktive Normalform (DNF) lässt sich zeigen,<br />
dass gilt ...<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
17
Algorithmus für eine DNF<br />
1) Eliminiere → <strong>und</strong> ⇔ durch ihre Definition.<br />
2) Ersetze jede Teilformel ¬¬G durch G.<br />
3) Ersetze jede Form ¬(G∧H) durch ¬G∨¬H.<br />
4) Ersetze jede Form ¬(G∨H) durch ¬G∧¬H.<br />
5) Entstehen Ausdrücke der Form ¬¬K wende 2) an.<br />
6) Wiederhole 3) -5) so oft wie möglich.<br />
7) Ersetze jede Formel der Form G∧(H∨I) durch<br />
(G∧H)∨(G∧I).<br />
8) Ersetze jede Formel der Form (G∨H)∧I durch<br />
(G∧I)∨(H∧I).<br />
9) Wiederhole 7) <strong>und</strong> 8) so oft wie möglich.<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
18
Klassischer Zusammenbruch<br />
• Die klassiche Logik gerät schnell in Konflikte mit<br />
Aussagen wie der des Epimenides:<br />
Dieser Satz ist falsch, sagt der notorische Lügner.<br />
– Ist der Satz wahr, hat er nicht gelogen.<br />
– Hat er jedoch gelogen, so ist der Satz wahr...<br />
Bob der Friseur rasiert genau die Männer, die sich<br />
nicht selbst rasieren.<br />
– Wer rasiert Bob?<br />
Dieser Satz ist falsch.<br />
All dies sind Beispiele des „Gödel Dilemmas“.<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
19
Dreiwertige Logik<br />
• Łukasiewicz dreiwertige L 3<br />
-Logik gilt als Prototyp.<br />
• Neben 0 <strong>und</strong> 1 für wahr <strong>und</strong> falsch gibt es noch den<br />
Wert ½ für unbestimmt = unbekannt = indifferent.<br />
AND 0 ½ 1<br />
OR 0 ½ 1<br />
0<br />
0 0 0<br />
0<br />
0 ½ 1<br />
½<br />
0 ½ ½<br />
½<br />
½ ½ 1<br />
1<br />
0 ½ 1<br />
1<br />
1 1 1<br />
• Lösungsidee: Die Belegung für 0 <strong>und</strong> 1 soll die<br />
klassische Logik widerspiegeln.<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
20
Mehrwertige Logik<br />
• Die Idee drei auf n Wahrheitswerte zu L n<br />
auszudehnen<br />
ist eine nahe liegende Verallgemeinerung.<br />
• Vollkommen analog erhalten wir dann rationale<br />
Wahrheitswerte der Form {0,½,1}, {0,⅓, ⅔,1}, ...<br />
{0, 1/(n-1),…,(n-2)/(n-1),1} aus dem Interval [0,1].<br />
• Erste Arbeiten hierzu gab es 1922 mit L ℵ<br />
für die<br />
rationalen Zahlen <strong>und</strong> mit L ∞<br />
für alle reellen Zahlen<br />
aus dem Einheitsintervall.<br />
• Ähnliche Wahrheitswerte sind auch in den Gödel<br />
<strong>Logiken</strong> G k<br />
<strong>und</strong> G ∞<br />
zu finden. Die Definition der<br />
logischen Operatoren unterscheidet sich...<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
21
Natürliche Anforderungen<br />
• Mehrwertige <strong>Logiken</strong> dürfen für die Belegungen 0<br />
<strong>und</strong> 1 nicht im Widerspruch zur <strong>Boolsche</strong>n Logik<br />
stehen.<br />
• Die AND <strong>und</strong> OR Operatoren sollen „vernünftigen<br />
algebraischen Anforderungen“ genügen.<br />
– Monotonie, Kommutativität <strong>und</strong> Assoziativität.<br />
– De Morgans Gesetze soll gelten.<br />
• Der Wahrheitsgehalt p=W(P) der Prämisse darf<br />
nicht höher sein, als der Wahrheitgehalt der<br />
Konklusion q=W(Q), d.h. p ≤ q <strong>und</strong> je wahrer die<br />
Prämisse, desto wahrer die Konklusion.<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
22
Implikationsoperatoren<br />
• Der Implikationsoperator einer Regel P → Q ist<br />
eine zweiwertige Funktion I:[0,1]×[0,1] →[0,1].<br />
• Seien p <strong>und</strong> q die Wahrheitswerte von P <strong>und</strong> Q so<br />
sind folgende Eigenschaften gewünscht:<br />
I 0, q = 1<br />
I 1,q = q<br />
I p , p = 1<br />
I p , q ≥ q<br />
I p , q = 1 ⇔ p≤q<br />
• Der Wahrheitsgehalt der Konklusion ergibt sich aus<br />
der Verkettung von Prämisse <strong>und</strong> Implikation.<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
23
Gödel <strong>und</strong> Łukasiewicz Logik<br />
• Konjunktion (AND):<br />
• Disjunktion (OR):<br />
• Unterschiedlich sind Negation <strong>und</strong> Implikation.<br />
• Negation:<br />
¬ Gö<br />
x:=<br />
{ 1 x=0<br />
0 else<br />
x∧ y :=min x , y<br />
x∨ y :=max x , y<br />
¬ Luka<br />
x := 1−x<br />
• Implikation:<br />
{<br />
p Gö<br />
q:= 1<br />
q<br />
p≤q<br />
else<br />
p Luka<br />
q:= min1,1− pq<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
24
Implikationen<br />
• Die Łukasiewicz <strong>und</strong> Gödel Implikation führen zur<br />
unterschiedlichen Lösungsmengen.<br />
• Beispiel Implikationen für L 4<br />
<strong>und</strong> G 4<br />
.<br />
Luka<br />
p→q 0 ⅓ ⅔ 1<br />
Gödel<br />
p→q 0 ⅓ ⅔ 1<br />
0<br />
1 1 1 1<br />
0<br />
1 1 1 1<br />
⅓<br />
⅔ 1 1 1<br />
⅓<br />
0 1 1 1<br />
⅔<br />
⅓ ⅔ 1 1<br />
⅔<br />
0 ⅓ 1 1<br />
1<br />
0 ⅓ ⅔ 1<br />
1<br />
0 ⅓ ⅔ 1<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
25
Übungen<br />
• Wie verhalten sich die Gödel <strong>und</strong> Łukasiewicz<br />
<strong>Logiken</strong> für Werte x,y ∈ {0,1}?<br />
• Wie verhält sich die doppelte Negation ¬(¬x) in den<br />
beiden Systemen?<br />
• Gilt Tertium non datur <strong>und</strong> Satz vom Widerspruch?<br />
W ¬x∧x=0<br />
W ¬x∨x=1<br />
• Gelten die klassische Implikationsbeziehungen<br />
p q⇔¬ p∨q⇔¬ p∧¬q<br />
für p,q ∈ {0,1} <strong>und</strong> p,q ∈ ]0,1[ , d. h. auf [0,1] ?<br />
Prof. Dr. D. Danziger <strong>und</strong> Prof. Dr. N. Wulff<br />
Fuzzy Logic & Control<br />
26