Was Sie von Logik wissen sollten

Werbung
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, (PQ), (PQ), (PQ), (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
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:
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)
Herunterladen