390 likes | 569 Views
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 : brezany@par.univie.ac.at Sprechstunde: Dienstag, 11.30-12.30. Logik und Mathematische Logik.
E N D
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 : brezany@par.univie.ac.at Sprechstunde: Dienstag, 11.30-12.30
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.
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. Aussagenlogik
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. Aussagenlogik (2)
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. Aussagenlogische Formeln (AF)
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. Aussagenlogische Formeln (2)
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. Syntax der Aussagenlogik
<AF> ::= W | F | <identifier> | ( <AF>) | (<AF> <AF>) | (<AF> <AF>) | (<AF> <AF>) | (<AF> = <AF>) Syntax der Aussagenlogik – BNF Grammatik (2)
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. Semantik der Aussagenlogik
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. Semantik der Aussagenlogik (2)
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. Semantik der Aussagenlogik (3)
Konjuktion („und“) A B A B F F F F W F W F F W W W Disjunktion („oder“) A B A B F F F F W W W F W W W W Wahrheitstafeln
Implikation A heißt die Prämisse, B die Conclusio A B A B der Folgerung F F W F W W W F F W W W Äquivalenz A B A B F F W F W F W F F W W W Wahrheitstafeln (2) Schlagwort: „aus etwas Falschem kann man alles folgern“
Negation A A F W W F Wahrheitstafeln (3) 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
Konjunktion, Disjunktion, Implikation und Äquivalenz werden als zweistellige Junktoren genannt. Die Negation – eine einstellige Verknüpfung. Wahrheitstafeln (4)
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. Auswertung von konstanten AF
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. Auswertung von AF in einem Zustand
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. Auswertung von AF in einem Zustand (2)
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. AF als Mengen von Zuständen
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“. AF als Mengen von Zuständen (2)
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. Modell für eine Formel
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. Erfüllbare, unerfüllbare Formeln, Tautologie
Definition: SAT := { FFAL } | F is erfüllbar } TAUT := { FFAL } | 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. SAT und TAUT
Äquivalenz von Formeln A1 A2 = A2 A1 A1 A2 = A2 A1 (A1 A2) A3 = A1 (A2 A3 ) (A1 A2) A3 = A1 (A2 A3 ) (A1 A2) A3 = (A1 A3) (A2 A3 ) (A1 A2) A3 = (A1 A3) (A2 A3 ) A1 A1 = A1 A1 A1 = A1 (A1 A2) = A1 A2 (A1 A2)= A1 A2 Äquivalenz von Formeln de Morganschen Regeln
Manchmal ist es vorteilhaft, Formeln durch Umformungen zu vereinfachen. Wir werden jetzt 2 Normalformen für AL-Formeln 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. Konjuktive und disjunktive Normalform
Definition: Eine Formel F ist in konjuktiver Normalform (KNF) genau dann, wenn F eine Konjuktion von Disjunktionen von Literalen ist. 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. Konjuktive und disjunktive Normalform (2)
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). Regelsysteme
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.
Regeln (2)Architektur eines Produktionssystem Inferenzmecha- nismus Faktenbasis Wissensbasis Recognize Select Regeln Fakten Act
Beispiel: Insgesamt gibt es in unserer Wissensbasis vier Regeln: R1: wenn A > 50 dann B = 45 R2: wenn B < 40 dann C = 0 R3: wenn B >= 40 dann D = 100 R4: wenn A > 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. Arbeitsweise eines Produktionssystems
Wie beschreiben wir nun Agenten? Wir könnten eine Funktion action: P A (P – perceptions (Wahrnehmungen), A – Aktionen) benutzen. Agentenbeschreibung: Simple-Reflex-Agent Condition-action rules
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] returnaction Agentenbeschreibung: Simple-Reflex-Agent (2)
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. Prädikatenlogik
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 xM 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). Allquantor
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“. Existenzquantor
Nehmen wir das Prädikat: i : m i < n: xi > 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. Freie und gebundene Variablen