13.04.2014 Aufrufe

Boolsche und mehrwertige Logiken - Lab4Inf

Boolsche und mehrwertige Logiken - Lab4Inf

Boolsche und mehrwertige Logiken - Lab4Inf

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!