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.
Wenn es regnet, ist es nass.
Es regnet
_
Es ist nass.
II.
Es ist Sonntag oder es ist Montag.
Es ist nicht Sonntag.
_
Es ist Montag.
III.
Wenn warm ist, ist es nicht kalt.
IV.
Wenn es Sommer ist, ist es warm.
Es ist warm.
?
Es ist Sommer.
?
Wenn es kalt ist, ist es nicht warm
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 Tautologie
F besitzt ein/kein Modell
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, ¬b
¬a, ¬b
a v b, ¬a
3. Beweisverfahren:
Wahrheitstabellen
Tableauverfahren
Davis Putnam
systematisches Durchprobieren aller Interpretationen
Baum mit Wurzel F, Nachfolger Teilformeln von F, F unerfüllbar wenn
jeder Pfad im Baum unerfüllbar, hier nicht behandelt
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}}
erfüllbar {{a,b},{ ¬a,b },{ a, ¬b }}
erfüllbar {{ b }}
oder erfüllbar {{b},{ ¬b }}
erfüllbar {}
oder erfüllbar {{}}
gdw.
gdw. (wähle a)
gdw.
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
{a v b, ¬a v b, a v ¬b, ¬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 -> Karte
PIN -> Karte
PIN -> Geld
Guthaben -> Geld
PIN v Guthaben v Geld
PIN v Karte
PIN v Karte
PIN v 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:
Resolvente:
a b, ¬b c
ac
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:
positive:
nur negative Literale (einschließlich leere Klause [])
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
2) Toddler Child
3) Child Male Boy
4) Infant Child
5) Child Female Girl
6) Female
Toddler
Toddler Child
Child Male Boy
Infant Child
Child Female Girl
Female
Widerlegungsbeweis von Girl
Child Female Girl
Toddler Child
Girl
Child Female
Toddler
Toddler Female
Female
Female
[]
entspricht dem Finden von Regeln für noch offene Teilziele:
Ziel
bewiesen falls beweisbar
bewiesen falls beweisbar
bewiesen falls beweisbar
bewiesen falls beweisbar
Girl
Child, Female
Toddler, Female
Female
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)