W | F - Universität Wien

Werbung
Kapitel 4: Aussagen-,
Prädikatenlogik
Peter Brezany
Institut für Softwarewissenschaft
Universität Wien, Liechtensteinstraße 22
1090 Wien
Tel. : 01/4277 38825
E-mail : [email protected]
Sprechstunde: Dienstag, 11.30-12.30
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
1
Logik und Mathematische Logik
Logik ist in der Theoretischen Informatik (TI) keine
Wissenschaft, die uns richtiges Denken lehrt, sondern dass
sie nur Aussagen darüber macht, unter welchen Bedingungen
man aus der Gültigkeit von Voraussetzungen auf die
Gültigkeit von Folgerungen schließen kann.
Weil hier also Logik betrieben und aufgebaut wird wie eine
mathematische Theorie, heißt sie mathematische Logik.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
2
Aussagenlogik
• Unter einer „Aussage“ wollen wir einen Satz der
natürlichen Sprache verstehen.
• Es interessiert uns dabei nicht der syntaktische Aufbau
(Subjekt –Prädikat – Objekt), sondern die
charakteristische Eigenschaft des betrachteten Gebildes,
wahr oder falsch zu sein.
• Aussagen unterscheiden sich von anderen sprachlichen
Gebilden dadurch, dass wir ihnen einen bestimmten
Wahrheitswert zuteilen können – den Wahrheitswert „W“,
wenn sie wahr, den Wahrheitswert „F“ wenn sie falsch
sind, es aber keine weitere Möglichkeit gibt.
• Beispiele solcher Aussagen sind:
– Baden ist eine Stadt in Niederösterreich.
– Alle Menschen müssen sterben.
– 7 ist größer als 4.
Sie haben alle den Wahrheitswert W.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
3
Aussagenlogik (2)
• Folgende Aussagen haben den Wahrheitswert F:
– Junge Pferde nennt man Welpen.
– 6 ist größer als 8.
• Eine Aussage wird im Folgenden durch A, B, C, ...
repräsentiert. Da eine Aussage einen der beiden Werte
annemen kann, spricht man auch von einer
„Aussagenvariablen“ – für eine Variable A darf man
beliebige Aussagen einsetzen, was die Zuweisung eines der
Werte W oder F bedeutet.
• Sätze der Umgangssprache werden auf vielfache Weise
miteinander verknüpft – durch die Verwendung von
Bindewörtern wie „und“, „oder“, „wenn - dann“. In der
Aussagenlogik lassen sich Verknüpfungen von Aussagen
ebenfalls beschrieben.
• Die Definition einer Verknüpfung von Aussagen A, B wird
dadurch beschrieben, dass der Wahrheitswert der
Verknüpfung in Abhängigkeit von der Wahrheitswerten der
Aussagen A, B angegeben wird. Das geschieht in Form einer
sogenannten Wahrheitstabelle oder Wahrheitstafel.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
4
Aussagenlogische Formeln (AF)
• Im Allgemeinen können wir Aussagen durch sogenannte
aussagenlogische Formeln beschreiben. Folgende Elemente
können in diesen Formeln erscheinen
– Namen wie x für nicht-zusammengesetzte Aussagen (im weiteren werden
wir solche Namen als atomare Formeln oder Atome bezeichnen). Zum
Beispiel: „5 ist eine ungerade Zahl“.
– Verknüpfungsoperatoren (Konnektoren) wie , , usw., mit denen man aus
einfachen Formeln komplexere zusammensetzen kann.
• Jetzt wollen wir zur Aussagenlogik einen formalen Kalkül
vorstellen. Dabei werden wir unter anderem untersuchen,
– wie die Symbole , , usw. zusammenhängen – Syntax der Aussagenlogik,
– wie man komplexe Formeln auswertet, d.h. wie man feststellt, ob sie
insgesamt wahr oder falsch sind – Semantik der Aussagenlogik, und
– wie man Formeln umformt, um sie in bestimmte einfachere Formen,
sogenannte Normalformen, zu bringen.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
5
Aussagenlogische Formeln (2)
• Aussagenlogische Formeln heißen auch logische oder
Booloesche Ausdrücke (BA) (nach dem englischen
Mathematiker George Boole – 19. Jahrhundert, der
das algebraische Studium von Wahrheitswerten
initialisiert hat).
• BA sind ähnlich artitmetischen Ausdrücken – dort
sind Operanden, die die Werte W und F (statt
integers) representieren, und Operatoren, and (),
or () statt , +) und Klammern werden angewendet,
um die Reihenfolge der Auswertung bestimmen zu
helfen.
• Man muß lernen, wie man die auf Deutsch oder
Englisch ausgedrückten Behauptungen als Formeln
ausdrückt.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
6
Syntax der Aussagenlogik
Zunächst wollen wir definieren, was wir unter einer Formel (der
Aussagenlogik) verstehen: eine einfache oder mit den schon bekannten
Konnektoren zusammengesetzte Aussage.
Definition: Gegeben sei eine nichtleere, abzählbare Menge Var von
atomaren Formeln (auch Atome oder manchmal auchVariablen genannt),
deren Elemente wir üblicherweise mit x, y, z, x o.ä. bezeichnen. Eine
Formel der Aussagenlogik (AL) (über Var) ist induktiv wie folgt definiert:
• Induktionsbeginn: Jede atomare Formel aus Var ist eine Formel.
• Induktionsschritt: Sind F und G bereits Formeln der AL, so sind auch
F,
(F  G),
(F  G)
Formeln der AL. F heißt auch Negation, (F  G) heißt auch Konjuktion,
und (F  G) heißt auch Disjunktion.
• Ein Literal ist eine atomare Formel oder die Negation einer atomaren
Formel.
FAL ist die Menge aller aussagenlogischen Formeln.
Var (F) ist die Menge aller der atomaren Formeln, die in der Formel F
vorkommen.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
7
Syntax der Aussagenlogik – BNF
Grammatik (2)
<AF> ::= W | F | <identifier>
| ( <AF>)
| (<AF>  <AF>)
| (<AF>  <AF>)
| (<AF>  <AF>)
| (<AF> = <AF>)
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
8
Semantik der Aussagenlogik
Die Semantik der AL festzustellen heißt anzugeben, was
eine Formel bedeutet. Genauer gesagt geht es darum, zu
definieren, wann eine AL-Formel wahr oder falsch ist.
„Wahr“ (W) und „falsch“ (F) (oder true und false) heißen
Wahrheitswerte. Wir setzen voraus, dass jede atomare
Formel entweder den Wahrheitwert W oder F annimmt,
das heißt, wir arbeiten mit einer zweiwertigen Logik.
Bemerkung: Es gibt auch andere Logiken, z.B. die
dreiwertige, die mit den Wahrheitswerten W, F und „?“
arbeitet (der dritte steht für „unbestimmt“), oder die
Fuzzy Logic, bei der die Variablen Werte aus dem
Kontinuum [0,1] annehmen. Je näher an 1 der Wert einer
Formel ist, umso „wahrer“ ist sie.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
9
Semantik der Aussagenlogik (2)
Eine atomare Formel x steht für irgendeine Aussage, vieleicht für „Das
Wort Opossum enthält genau soviel `o´ wie `p´“ oder für „Das Wort
Lemur hat genau halb so viele Buchstaben wie das Wort Gürteltier.“ Ob
x wahr ist oder falsch, hängt davon ab, für welche Aussage x steht.
Auch eine zusammengesetzte Formel steht für viele verschiedene
Aussagen, manche davon wahr, andere falsch, je nachdem, wofür die
atomaren Formeln stehen. Für zusammengesetzte Formeln kan man z.B.
aber sagen: F  G ist wahr genau dann, wenn sowohl F als auch G wahr
sind. Man kann also von der Bedeutung einer Formel abstrahieren und
ihren Wahrheitswert angeben in Abhängigkeit von den Wahrheitswerten
der Teilformeln. Da man das auch für Teilformeln wieder tun kann bis
hinunter auf die Ebene der Atome, kann man insgesamt den
Wahrheitswert einer Formel angeben in Abhängigkeit von den
Wahrheitswerten der Atome, die darin vorkommen. Wenn wir jeder
atomaren Formel einen (beliebigen, aber festen) Wahrheitswert
zuweisen, so heißt das eine Belegung.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
10
Semantik der Aussagenlogik (3)
Definition: Ein Wahrheitwert ist ein Wert aus der Menge
{W, F}. Eine Belegung ist eine Abbildung A: Var  {W, F},
die jeder atomaren Formel einen Wahrheitswert zuweist.
Wir erweitern A auf eine Abbildung A: FAL  {W, F}, die
jeder AL-Formel einen Wahrheitswert zuweist wie in den
folgenden Wahrheitstafeln spezifiziert wird.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
11
Wahrheitstafeln
• Konjuktion  („und“)
A
B
F
F
W
W
F
W
F
W
A  B
F
F
F
W
• Disjunktion  („oder“)
P.Brezany
A
B
F
F
W
W
F
W
F
W
A  B
F
W
W
W
Institut für Softwarewissenschaft – Universität Wien
12
Wahrheitstafeln (2)
• Implikation 
A
B
A  B
F
F
W
W
F
W
F
W
W
W
F
W
• Äquivalenz 
P.Brezany
A
B
F
F
W
W
F
W
F
W
A heißt die Prämisse, B die Conclusio
der Folgerung
Schlagwort: „aus etwas Falschem kann man alles
folgern“
A  B
W
F
F
W
Institut für Softwarewissenschaft – Universität Wien
13
Wahrheitstafeln (3)
• Negation 
A
F
W
A
W
F
Definition: Tautologie
Eine Formel heißt allgemeingültig (oder Tautologie), wenn sie für alle
Werte der in ihr vorkommenden Aussagenvariablen den Wert W annimmt.
Anders ausgedrückt heißt eine Formel Tautologie, wenn sie für alle
Belegungen den Wert W annimt.
Beispiele für allgemeingültige Formeln sind: A  A oder A  (A  B)  B
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
14
Wahrheitstafeln (4)
• Konjunktion, Disjunktion, Implikation und Äquivalenz
werden als zweistellige Junktoren genannt. Die
Negation – eine einstellige Verknüpfung.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
15
Auswertung von konstanten AF
• Konstante AF – sie enthält nur Konstanten als Operanden
• Fall 1: Der Wert von W ist W; der Wert von F ist F.
• Fall 2: Der Wert von (A), (A  B), ..., wo A und B sind
Konstanten W oder F ist durch die Wahrheitstafeln
gegeben.
• Fall 3: Der Wert einer konstanten AF, die mehr als 1
Operator enthält wird durch die wiederholte Anwendung
des Falls 2 bestimmt.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
16
Auswertung von AF in einem Zustand
AF wie (A  B) kann in einem Programm auf mehreren
Stellen erscheinen, z.B. C := (A  B) oder if (A  B)
then ... . Wenn einer dieser Anweisungen ausgeführt
wird, wird AF im aktuellen maschinen „Zustand“
ausgewertet, um W oder F zu produzieren.
Definition: Ein Zustand s ist eine Funktion
s: Id  {W, F}
Id – Identifikatoren
Definition: AF ist well-defined im Zustand s, wenn jeder
Identifikator in AF mit entweder W oder F assoziert ist.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
17
Auswertung von AF in einem Zustand (2)
Definition: Sei AF e well-defined im Zustand s. Dann
s(e), der Wert von e in s, ist der Wert, den man
bekommt, wenn man alle Identifikatoren B in e durch
ihre Werte s(B) ersetzt und evaluiert den
resultierenden konstanten AF.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
18
AF als Mengen von Zuständen
Eine AF representiert, oder beschreibt, die Menge
von Zuständen in denen sie wahr ist. Umgekehrt, für
jede Menge Zuständen, die nur Identifikatoren
assoziiert mit W und F enthalten, können wir eine
AF ableiten, die diese Menge repräsentiert.
Die leere Menge, die Menge, die keine Zustände
enthält, ist durch die AF F repräsentiert, weil F in
keinem Zustand wahr ist.
Die Menge aller Zustände ist durch die AF W
repräsentiert, weil W in allen Zuständen wahr ist.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
19
AF als Mengen von Zuständen (2)
Beispiel:
Die Menge von 2 Zuständen
{ (B, W), (C, W), (D, W) } und
{ (B, F), (C, W), (D, F) }
ist repräsentiert durch die AF:
(B  C  D)  (B  C D)
--------------------------------------Bemerkung: Die Verbindung zwischen einer AF und der von ihr
repräsentierten Menge von Zuständen ist so stark, dass wir oft beide
Konzepte gleichsetzen. Z.B. statt zu schreiben: „die Menge von
Zuständen, in denen B  C wahr ist“, können wir schreiben: „die
Zustände in B  C“.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
20
Modell für eine Formel
Definition: Ein Modell für eine Formel F ist eine
wahrmachende Belegung, also eine Belegung A mit A(F) =
W.
Beispiel: Ein Modell für die Formel (x  (y  z)) ist z.B.
die Belegung A1 mit
A1(x) = true, A1(y) = false und A1(z) = false.
Aber auch die folgende Belegung A2 ist ein Modell:
A2(x) = false, A2(y) = false und A2(z) = true.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
21
Erfüllbare, unerfüllbare Formeln,
Tautologie
Definition: Eine Formel F heißt erfüllbar, falls sie
mindestens ein Modell besitzt, ansonsten heißt sie
unerfüllbar. Wenn F von jeder Belegung erfüllt wird, heißt
F Tautologie oder gültig.
Satz: Eine Formel F ist eine Tautologie genau dann, wenn
F unerfüllbar ist.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
22
SAT und TAUT
Definition:
SAT
TAUT
:= { F  FAL } | F is erfüllbar }
:= { F  FAL } | F is Tautologie }
SAT und TAUT bezeichnen Sprachen, Sprache der erfüllbaren
(„saturierbaren“) bzw. der gültigen AL-Formeln, und die Wörter dieser
Sprachen sind AL-Formen.
SAT und TAUT bezeichnen aber auch Probleme, nämlich die Fragen
„Ist F  SAT?“ und „Ist F  TAUT?“
Beide Probleme sind entscheidbar; man kann einen Algorithmus angeben,
der für jede AL-Formel F in endlicher Zeit entscheidet, ob F erfüllbar
bzw. gültig ist: das Verfahren der Wahrheitstafeln.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
23
Äquivalenz von Formeln
•
Äquivalenz von Formeln
1. A1  A2 = A2  A1
2. A1  A2 = A2  A1
3. (A1  A2)  A3 = A1  (A2  A3 )
4. (A1  A2)  A3 = A1  (A2  A3 )
5. (A1  A2)  A3 = (A1  A3)  (A2  A3 )
6. (A1  A2)  A3 = (A1  A3)  (A2  A3 )
7. A1  A1 = A1
A1  A1 = A 1
8.  (A1  A2) =  A1   A2
9.  (A1  A2) =  A1   A2
P.Brezany
de Morganschen Regeln
Institut für Softwarewissenschaft – Universität Wien
24
Konjuktive und disjunktive Normalform
Manchmal ist es vorteilhaft, Formeln durch Umformungen zu
vereinfachen. Wir werden jetzt 2 Normalformen für ALFormeln vorstellen.
Normalformen sind Einschränkungen auf der Syntax der AL,
aber so, dass man jede beliebige Formel umformen kann in
eine äquivalente Formel in Normalform.
Normalformen sind auch wichtig für die maschinelle
Verarbeitung von logischen Formeln (und es gibt inzwischen
sehr viele Algorithmen, die AL-Formeln verarbeiten und
dadurch logische Schlüsse ziehen – z.B. intelligente
Agenten): Wenn alle Formeln nur noch eine eingeschränkte
Syntax haben, dann muß ein Algorithmus nicht so viele
mögliche Formel-Formen berücksichtigen.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
25
Konjuktive und disjunktive Normalform (2)
Definition:
1. Eine Formel F ist in konjuktiver Normalform (KNF) genau
dann, wenn F eine Konjuktion von Disjunktionen von
Literalen ist.
2. Eine Formel F ist in disjunktiver Normalform (DNF) genau
dann, wenn F eine Disjunktion von Konjunktionen von
Literalen ist.
Beispiel: Die Formel F = (x  ((y  z)  w)) ist in keiner
Normalform. Die Formel F´= (x  y)  (x  z)  (x 
w) ist zu F äquivalent und in DNF. Die Formel F´´ = x 
(y  z  w) ist zu F äquivalent und in KNF.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
26
Regelsysteme
In der Logik werden Regelsysteme (Ableitungs- oder
Inferenzregeln) angegeben, die es erlauben, aus einer
Menge von als wahr angenommenen Formeln (Axiome)
weitere Formeln (Theoreme) abzuleiten.
Die Ableitung einer Formel heißt auch (formaler) Beweis
der Formel.
Beispiel für andere eine Anwendung: Intelligente
Softwareagenten (siehe folgende Folien).
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
27
Regeln
Die allgemeine Form einer Regel kann wie folgt geschrieben
werden:
wenn Prämisse(n) dann Konklusion(en)
(statt Prämisse werden auch oft die Begriffe „Bedingung“,
„Vorausetzung“ oder „Situation“ und statt Konklusion „Aktion“
oder Hypothese“ verwendet.)Obige Form der Regel sagt aus, daß
im Falle der Erfüllung der Prämisse(n) die Konklusion(en) zur
Ausführung gelangt (gelangen).
Regeln können folgende Form haben:
• wenn P dann Q
• wenn P1 und P2 und ... und Pn dann Q1 und Q2 und ... und Qm
• wenn P1 oder P2 oder ... oder Pn dann Q
Regeln, die neue Fakten produzieren, werden Produktionsregeln
genannt.
28
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
Regeln (2)
Architektur eines Produktionssystem
Wissensbasis
Regeln
Inferenzmechanismus
Recognize
Select
Faktenbasis
Fakten
Act
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
29
Arbeitsweise eines Produktionssystems
Beispiel: Insgesamt gibt es in unserer Wissensbasis
vier Regeln:
R1:
R2:
R3:
R4:
wenn
wenn
wenn
wenn
A
B
B
A
> 50 dann B = 45
< 40 dann C = 0
>= 40 dann D = 100
> 60 dann E = 20
Die Faktenbasis enthält das faktum A = 100.
Recognize: R1 und R4 sind Kandidaten; Select: R1
ist ausgewählt; Action: B = 45 wird in die
Faktenbasis geschrieben. Dann R3 usw.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
30
Ein Agent in seiner Umgebung
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
31
Agentenbeschreibung: Simple-Reflex-Agent
Wie beschreiben wir nun Agenten? Wir könnten eine Funktion
action : P  A
(P – perceptions (Wahrnehmungen), A – Aktionen)
benutzen.
Condition-action rules
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
32
Agentenbeschreibung: Simple-Reflex-Agent (2)
function SIMPLE-REFLEX-AGENT (percept) returns action
static: rules
// a set of condition-action rules
env-state  INTERPRET-INPUT(percept)
rule  RULE-MATCH(env-state, rules)
action  RULE-ACTION[rule]
return action
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
33
Prädikatenlogik
• Bei der Einführung des Prädikatenbegriffs werden wir uns
auf die Menge IN der natürlichen Zahlen beschränken (der
Einfachkeit halber).
• Mögliche Aussagen sind: a ist eine gerade Zahl, b ist
teilbar durch 3, c ist eine Primzahl, d ist eine Summe von
a und b, usw.; eine solche Aussage über einzelne Elemente,
über Paare von Elementen oder allgemeiner über n-Tupel von
Elementen wird als Prädikat über der Menge IN bezeichnet.
• Man spricht von einem n-stelligen Prädikat über IN, wenn
es die Aussage über je n Elemente macht. In Abhängigkeit
von den gewählten Elementen nimmt ein Prädikat den
Wahrheitswert W oder F an.
• Ist P ein n-stelliges Prädikat über der Menge M, so wird
der Funktionswert von P für das n-Tupel (x1, .., xn) mit
P(x1, .., xn) bezeichnet. Die Symbole P, Q, ... –
Prädikatsvariablen.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
34
Allquantor
Definition:
Es sei P ein einstelliges Prädikat über M. Dann wird
durch x P(x) genau dann eine wahre Aussage
bezeichnet, wenn P für alle x  M den Wert W
annimmt. P heißt dann Allquantor oder Generalisator.
x P(x) wird gelesen als „für alle xM ist P(x) wahr“.
Z.B. kann man die Tatsache, daß durch 6 teilbare
Zahlen auch durch 3 teilbar sind, ausdrücken als x 
N (x mod 6 = 0  x mod 3 = 0).
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
35
Existenzquantor
Definition:
Es sei P ein einstelliges Prädikat über M. Dann wird durch
x P(x) genau dann eine Wahre Aussage bezeichnet, wenn
es in M (mindestens) ein Element a gibt, für das P den
Wahrheitswert W annimmt. P heißt dann Existenzquantor
oder Partikulisator.
Beispiel: „Es gibt mindestens ein Wort der deutschen
Sprache, das genau 5 `e´ und keine anderen Vokale
enthält“ oder in Zeichen x (D(x)  E(x)), falls D(x) heißt
„x ist ein Wort der deutschen Sprache“ und E(x) steht
für „x enthält genau 5 `e´ und keine anderen Vokale“.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
36
Freie und gebundene Variablen
Nehmen wir das Prädikat:
i : m  i < n: xi > 0
(1.)
Die Wahrheit dieses Prädikats im Zustand s ist von den
Werten von m, n und x in s, aber nicht vom Wert i
abhängig, und die Bedeutung dieses Prädikat wird sich
nicht ändern, wenn wir i durch j ersetzen.
Identifikatoren m, n und x sind freie Variablen des
Prädikats.
Der Identifikator i ist gebunden in (1.) und ist gebunden
zu dem Quantifier  in diesem Prädikat.
P.Brezany
Institut für Softwarewissenschaft – Universität Wien
37
Herunterladen