Was Sie von Logik wissen sollten
In diesem kurzen Abschnitt werden zum einen die Themen zusammengefasst, die aus der Logik-Vorlesung noch bekannt sein sollten und für die Vorlesung Wissensbasierte Systeme relevant sind. Zum anderen werden ein paar weiterführende Themen behandelt.
Logik untersucht Folgerungsbeziehungen Folgern: einige Beispiele
I. II.
Wenn es regnet, ist es nass. Es ist Sonntag oder es ist Montag.
Es regnet _ Es ist nicht Sonntag. _
Es ist nass. Es ist Montag.
III. IV.
Wenn warm ist, ist es nicht kalt. Wenn es Sommer ist, ist es warm.
? Es ist warm. ? Wenn es kalt ist, ist es nicht warm Es ist Sommer.
Die Fälle I und II sind klar, III und IV weniger (III ist gültig, IV nicht).
Grundfrage: Wann kann man Sätze folgern, wann nicht?
Beobachtung: Folgerungen hängen nicht von Inhalt der Sätze ab, nur von deren Form:
1. Aussagenlogik (AL)
1. Syntax:
Def.: logische Formeln (induktiv)
gegeben: Menge V von aussagenlogischen Variablen 1. jedes Element von V ist eine (atomare) Formel,
2. wenn P,Q Formeln sind, so auch ¬P, (PQ), (PQ), (PQ), (P <->Q).
2. Semantik:
Interpretation: Abbildung I: V -> {w,f}
erlaubt es , beliebige Formeln zu wahr oder falsch auszuwerten:
Î(¬F) = 1 gdw Î(F) = 0
Î (F1 F2) = 1 gdw Î(F1) = 1 und Î(F2) = 1 Î (F1 F2) = 1 gdw Î(F1) = 1 oder Î(F2) = 1 Modell von F: Interpretation, die F zu wahr auswertet F folgerbar aus F1,..., Fn Jedes Modell von F1,..., Fn ist Modell von F F erfüllbar/Kontradiktion F besitzt ein/kein Modell
F Tautologie jede Interpretation ist Modell
F folgerbar aus F1,..., Fn gdw. F1... Fn -> F Tautologie gdw. F1... Fn ¬F Kontradiktion
Mehr Prämissen => weniger Modelle => mehr Formeln folgerbar
a, b ¬a, b a v b, ¬a
a, ¬b ¬a, ¬b
3. Beweisverfahren:
Wahrheitstabellen systematisches Durchprobieren aller Interpretationen
Tableauverfahren Baum mit Wurzel F, Nachfolger Teilformeln von F, F unerfüllbar wenn jeder Pfad im Baum unerfüllbar, hier nicht behandelt
Davis Putnam F in KNF/Klauseform (Konjunktion von Disjunktionen von Literalen/
entsprechende Mengen von Mengen von Literalen) Idee für Erfüllbarkeitstest:
wenn leere Disjunktion in F: nicht erfüllbar wenn F leer: erfüllbar
wenn Disjunktion aus 1 Literal L, vorkommt, eliminiere Disjunktionen mit L
eliminiere ¬L aus allen anderen Disjunktionen teste ob neue Formel erfüllbar
sonst: wähle beliebiges Atom A
teste, ob F A oder F ¬A erfüllbar
erfüllbar {{a,b,¬c},{ ¬a,b },{ a, ¬b }, {c}} gdw.
erfüllbar {{a,b},{ ¬a,b },{ a, ¬b }} gdw. (wähle a) erfüllbar {{ b }} oder erfüllbar {{b},{ ¬b }} gdw.
erfüllbar {} oder erfüllbar {{}} wahr
Baumdarstellung, Disjunktionen explizit dargestellt:
{a v b v ¬c, ¬a v b, a v ¬b, c}
c
{a v b, ¬a v b, a v ¬b}
a ¬a
{a v b, ¬a v b, a v ¬b, a} {a v b, ¬a v b, a v ¬b, ¬a}
a ¬a
{b} {b, ¬b}
b b
{} {{}}
Modell gefunden: a, b, c kein Modell
weiteres Beispiel:
Geldautomat: wenn richtige PIN und Konto gedeckt -> Geld ausgeben und Karte ausgeben wenn richtige PIN und Konto nicht gedeckt -> Karte ausgeben, aber kein Geld
wenn falsche PIN -> Karte behalten und kein Geld ausgeben PIN Guthaben -> Geld PIN v Guthaben v Geld
PIN -> Karte PIN v Karte
PIN -> Karte PIN v Karte
PIN -> Geld PIN v Geld
Guthaben -> Geld Guthaben v Geld Karte Geld -> Guthaben Karte
Geld Guthaben
{PIN v Guthaben v Geld, PIN v Karte, PIN v Karte, PIN v Geld, Guthaben v Geld, Karte, Geld, Guthaben}
{PIN v Geld, PIN v Karte, PIN v Karte, PIN v Geld, Karte, Geld}
{PIN, PIN v Karte, PIN v Karte, Karte}
{PIN, PIN}
{{}}
systematischer Versuch, ein Modell zu konstruieren. Hier kein Modell, also Formel folgerbar.
Resolution: F in Klauseform. Füge so lange Resolventen hinzu, bis keine neue mehr ableitbar (=> erfüllbar) oder leere Disjunktion erzeugt (=> unerfüllbar) Prämissen: a b, ¬b c
Resolvente: a c
2. Ein Spezialfall: Schließen mit Horn-Klausen
Horn-Klause: Disjunktion mit höchstens einem positiven Literal
Kind Männlich Junge
Mengennotation: {Kind, Männlich, Junge}
entspricht Implikation (Regel): Kind Männlich Junge
negative Horn-Klause: nur negative Literale (einschließlich leere Klause [])
positive: genau 1 positives Literal Beobachtung bei Resolution mit Horn-Klausen:
es entstehen wieder Horn-Klausen
es ist immer eine positive Klause beteiligt
Man kann zeigen: Sei S Menge von Horn-Klausen, c negative Klause (z.B. []).
Wenn c mit Resolution aus S ableitbar ist, dann gibt es auch eine Ableitung von c, so dass jede abgeleitete Klause eine negative Resolvente ist, die aus der zuletzt abgeleiteten Klause und einem Element aus S entsteht.
c1
c2
c3
c4
Def.: Eine SLD Ableitung einer Klause c aus einer Menge von Klausen S ist eine Folge c1, …, cn so dass
1. cn = c, 2. c1 S, und
3. für alle i < n gilt: ci+1 ist Resolvente aus ci und einem Element von S.
Satz: SLD Ableitungen sind korrekt und widerlegungsvollständig für Horn-Klausen:
S |- [] gdw S |-SLD [].
Beispiel: 1) Toddler Toddler
2) Toddler Child Toddler Child 3) Child Male Boy Child Male Boy 4) Infant Child Infant Child
5) Child Female Girl Child Female Girl
6) Female Female
Widerlegungsbeweis von Girl
Child Female Girl Girl
Toddler Child Child Female
Toddler Toddler Female
Female Female
[]
entspricht dem Finden von Regeln für noch offene Teilziele:
Ziel Girl
bewiesen falls beweisbar Child, Female
bewiesen falls beweisbar Toddler, Female bewiesen falls beweisbar Female
bewiesen falls beweisbar nichts mehr zu beweisen!
entsprechende rekursive Beweisprozedur:
input: endliche Liste von Atomen q1, …, qn
output: JA, falls aus gegebener KB alle qi folgerbar, NEIN sonst procedure SOLVE[q1,…,qn]
if n = 0 then return YES;
for each clause c KB do
if c = [q1, p1, …, pm] and solve [p1, …, pm, q2,…,qn] then return YES
end for;
return NO.
Man spricht auch von einem backward chaining (Rückwärtsverkettung) oder top down Verfahren, da man vom Ziel zu den Prämissen (von Regel-Konklusion zu Regel-Prämisse) zurück geht.
Hier auch Suchstrategie festgelegt: depth first left-to-right Dagegen: forward chaining (bottom up)
Starten von Fakten (positive Atome in KB); wende Regeln, deren Vorbedingungen bereits abgeleitet sind, an; Iteriere, bis nichts Neues mehr abgeleitet werden kann
Formaler:
Sei KB Menge von Horn-Klausen (Regeln). Sei At die Menge der Atome in KB Betrachte Operator TKB: 2At --> 2At
TKB(A) = {q | p1 … pm -> q KB, p1, …, pm A}
Definiere TKB0 =
TKBi+1 = TKB(TKBi)
Eine Menge von Atomen A heißt Hülle einer Menge von Horn-Klausen (Regeln) KB, wenn A
= TKBi+1 = TKBi (in anderen Worten: wenn A kleinster Fixpunkt von TKB).
Beispiel:
TKB0 =
TKB1 = TKB() = {Toddler, Female}
TKB2 = TKB(TKB1) = {Toddler, Female, Child}
TKB3 = TKB(TKB2) = {Toddler, Female, Child, Girl}
TKB4 = TKB(TKB3) = {Toddler, Female, Child, Girl}
entsprechender Algorithmus leicht (und im aussagenlogischen Fall sehr effizient) zu implementieren
entsprechende Algorithmen existieren auch für PL1: Instanzierung und Unifikation
jeweils Vor- und Nachteile:
backward chaining zielgerichtet: nur solche Regeln werden überprüft, die möglicherweise zu gesuchter Ableitung beitragen, aber kann endlos laufen, z.B wenn Regel der Form p -> p vorhanden ist.
forward chaining effizient in propositionalem Fall, terminiert möglicher Weise nicht im prädikatenlogischen Fall, da Hülle unendlich werden kann
Aussagenlogisches Beispiel, in dem forward besser als backward:
2n Atome: p0, p1, …, pn-1, q0, q1, …, qn-1
4n-4 Regeln: p0 p1, p1 p2, …, pn-2 pn-1, p0 q1, p1 q2, …, pn-2 qn-1, q0 p1, q1 p2, …, qn-2 pn-1
q0 q1, q1 q2, …, qn-2 qn-1
SOLVE[pi] und SOLVE[qi] liefern jeweils NO, aber erst nach 2i Schritten (= Aufrufe von SOLVE) einfacher Induktionsbeweis für pi:
i = 1: ruft auf SOLVE[p0] und SOLVE[q0], also 21 Aufrufe
i > 1: ruft auf SOLVE[pi-1] und SOLVE[qi-1], die nach Induktionsvoraussetzung je 2i-1 Aufrufe von SOLVE bewirken, also insgesamt 2i.
Forward chaining dagegen terminiert sofort: keine Vorbedingung einer Regel ableitbar
3. Prädikatenlogik 1. Stufe (PL1)
Syntax: es wird unterschieden zwischen Termen (aus Variablen, Konstanten und Funktionssymbolen aufgebaut, bezeichnen Objekte einer Domäne) und Formeln (Anwendung von Prädikatensymbolen auf Terme, Verknüpfung mit aussagenlogischen Junktoren, Quantifizierung)
Semantik: Eine Struktur S besteht aus einer Menge M (Individuenbereich, Universum) und einer Abbildung, die
Termen Elemente von M,
Funktionssymbolen Funktionen über M und
Prädikatensymbolen Prädikate über M
zuordnet. Formeln lassen sich in einer Struktur S zu wahr oder falsch
auswerten (exakte Def. siehe Vorlesung Logik oder Logikzusammenfassung auf der Veranstaltungswebpage). Falls F in S wahr ist, heißt S Modell von F.
Alle anderen Begriffe (Folgerung, Tautologie, Erfüllbarkeit) wie in AL.
Beweisverfahren: am häufigsten verwendet Resolution Umformung in Klausenform komplizierter
Pränexnormalform (alle Quantoren vorne)
Skolemform (Existenzquantoren eliminiert)
Klausenform
Resolventenbildung komplizierter: Unifikation (Ersetzen von Variablen durch Terme)