Resolution (1)

Werbung
Resolution (1)
Voraussetzung: Klauselform
Beispiel:
{¬P (x , f (y))}
{P (z , f (g(z )))}
Aus dieser Klauselmenge können wir nur dann die leere Klausel ableiten, wenn es uns
gelingt, die beiden Atome P (x , f (y)) und P (z , f (g(z ))) zu identifizieren.
Wir versuchen, durch eine Substitution die Variablen in geeigneter Weise durch
Terme zu ersetzen, so dass beide Atome gleich werden.
Einf. in die KI
7 – 29
Substitution
σ = [x1/t1, x2/t2, . . . , xn /tn ] ist eine Substitution. Für eine atomare Formel α ist σα
die Anwendung der Substitution σ auf α, die alle Vorkommen der Variablen xi in α
durch die entsprechenden ti ersetzt.
Beispiel:
ϕ = P (f (x ), y)
σ = [x /z , y/f (z )]
σϕ = P (f (z ), f (z ))
Einf. in die KI
7 – 30
Unifikation (1)
Ein Unifikator zweier atomarer Formeln α1 und α2 ist eine Substitution σ, die die
beiden Ausdrücke unifiziert (gleich macht), d.h. es ist
σα1 = σα2.
σ ist ein allgemeinster Unifikator (engl. most general unifier, mgu), wenn sich alle
anderen Unifikatoren durch Instantiierung der Variablen in σ ergeben, d.h.:
Zu jedem solchen Unifikator σ 0 gibt es eine Substitution τ mit
σ 0α1 = τ (σα1) = τ (σα2) = σ 0α2.
Satz:
Für zwei Ausdrücke gibt es, bis auf Variablenumbenennung, jeweils höchstens einen
allgemeinsten Unifikator.
; Berechnung des mgu
Einf. in die KI
7 – 31
Unifikation (2)
Beispiel:
Unifikation der Atome
Q(f (x ), v , b) und Q(f (a), g(u), y)
durch die beiden Substitutionen
σ = [x /a, v /g(u), y/b]
und
σ 0 = [x /a, v /g(c), u/c, y/b]
σ is allgemeinster Unifikator der beiden Formeln.
Beachte:
Die Terme x und f (x ) sind nicht unifizierbar.
; “occur-check”
Die Terme f (x ) und g(x ) sind ebenfalls nicht unifizierbar.
Einf. in die KI
7 – 32
Unifikation (3)
Ein Algorithmus zur Berechnung des mgu für eine Menge von Atomen {αi }.
1. σ = [ ].
2. Falls alle σαi identisch, return σ (ein mgu)
sonst: Bilde die Unterscheidungsmenge (engl. Disagreement Set, DS ), z.B.
{P (c, f (c, g(z ), ...)) . . . P (c, f (c, u, ...))}
DS = {g(z ), u}
3. Finde eine Variable x ∈ DS und einen Term t ∈ DS , der x nicht enthält.
Falls das nicht möglich, return failure {αi } nicht unifizierbar
4. σ := σ + [x /t]
5. Goto 2.
Einf. in die KI
7 – 33
Beispiele
Sind folgende Atome unifizierbar?
P (x ) und Q(y)
P (x , y) und P (z )
P (x , y) und P (a, f (a))
P (x , y) und P (f (z ), g(z ))
P (x , f (y)) und P (z , f (g(z ))
P (x , x ) und P (f (y), f (g(z ))
P (x , f (x )) und P (y, y)
P (x , a) und P (b, x )
P (x , f (x , x ), z , f (z , z )) und P (f (a, a), y, f (y, y), u)
Einf. in die KI
7 – 34
Resolution (2)
C1∪{l }, C2∪{l }
σ(C1∪C2)
C1 ∪ {l } und C2 ∪ {l } sind variablendisjunkt,
σ ist ein allgemeinster Unifikator für l und l , d.h. σl = ¬σl .
Beispiel:
{P (x ), P (f (y)), Q(g(x ))},
{R(f (z )), ¬P (f (z ))}
σ = [x /f (v ), y/v , z /v ]
{Q(g(f (v ))), R(f (v ))}
Satz: Eine prädikatenlogische Klauselmenge ∆ ist unerfüllbar gdw. im prädikatenlogischen Resolutionskalkül die leere Klausel aus ∆ abgeleitet werden kann, ∆ ` 2.
Einf. in die KI
7 – 35
Beispiel 1
WB:
∀ x (InfStudent(x ) ⇒ Student(x ))
∀ x (Student(x ) ⇒ ArbeitetViel (x ))
InfStudent(moritz )
Frage:
ArbeitetViel (moritz )
Einf. in die KI
7 – 36
{~Student(x),ArbeitetViel(x)}
{~ArbeitetViel(moritz)}
x/moritz
{~InfStudent(y),Student(y)}
y/moritz
{InfStudent(moritz)}
(jeder Schritt kann mit
einem Unifikator markiert werden)
Einf. in die KI
{~Student(moritz)}
{~InfStudent(moritz)}
[]
7 – 37
Beispiel 2
WB:
∀ x [Plus(null , x , x )]
∀ x , y, z [Plus(x , y, z ) ⇒ Plus(succ(x ), y, succ(z ))]
Frage:
∃ u Plus(2, 3, u)
wobei wir der besseren Lesbarkeit wegen schreiben:
0 statt null , 2 statt succ(succ(null )) usw.
Einf. in die KI
7 – 38
{~Plus(x,y,z),Plus(succ(x),y,succ(z))]}
{~Plus(2,3,u)}
{Plus(0,x,x)}
x/1,y/3,u/succ(v),z/v
{~Plus(1,3,v)}
x/0,y/3,v/succ(w),z/w
Beachte: nicht nur die
Existenz, auch der Wert
von u (5) ist ableitbar!
{~Plus(0,3,w)}
x/3,w/3
[]
Einf. in die KI
Var. umbenennen,
damit sie verschieden sind
7 – 39
Generierung von Antworten
Dem Resolutionsbeweis einer Formel der Form ∃ x P (x ) kann entnommen werden, wie
ein “Beispiel” für x aussieht. Um dazu nicht mühsam die verwendeten Unifikatoren
durchsuchen zu müssen, kann man sogenannte Antwortprädikate einführen.
Sie dienen dazu, die während des Beweises konstruierte Substitution für x zu akkumulieren.
Das Antwortprädikat A kommt in der Signatur noch nicht vor.
• Ersetze die Formel ∃ x P (x ) durch ∃ x [P (x ) ∧ ¬ A(x )].
• Der Resolutionsbeweis erzeugt statt 2 eine Klausel, die nur das Antwortprädikat
enthält.
Einf. in die KI
7 – 40
Beispiel 3
WB:
Bruder (moritz , max ), Bruder (moritz , fritz ) ...
Gross(max ), Gross(fritz ) ...
Frage:
∃ x [Bruder (moritz , x ) ∧ Gross(x )]
Einf. in die KI
7 – 41
{Bruder(moritz,max}
{Gross(max)}
{~Bruder(moritz,x), ~Gross(x), A(x)}
x/max
{~Gross(max), A(max)}
{A(max)}
Einf. in die KI
7 – 42
Resolutionsstrategien (1)
Die Widerlegungsvollständigkeit des Resolutionskalküls garantiert, dass die leere Klausel abgeleitet werden kann, wenn die Klauselmenge unerfüllbar ist.
Fragen:
Welche Resolutionsschritte sollen durchgeführt werden?
Wie arbeiten wir uns durch den Suchraum?
Antwort:
Verwendung geeigneter Strategien
Einf. in die KI
7 – 43
Resolutionsstrategien (2)
Klauselelimination
• Isolationsregel oder purity principle
Eine Klausel, die ein Literal enthält, das mit keinem anderen Literal in der Klauselmenge resolvierbar ist, kann gelöscht werden. Aus ihr entstehen nur Reloventen,
die wieder ein isoliertes Literal enthalten.
• Tautologien
Eine Klausel, die ein Literal und dessen Negation enthält, kann nicht dazu beitragen,
die leere Klausel abzuleiten.
• Subsumption
Eine Klausel, die eine Obermenge der Literale einer anderen Klausel enthält, kann
eliminiert werden. Wenn, dann kann bereits mit der kleineren von beiden, die leere
Klausel abgeleitet werden.
Einf. in die KI
7 – 44
Resolutionsstrategien (3)
Restriktionsstrategien:
• Unäre Resolution oder unit resolution
Es werden nur solche Resolventen erzeugt, die mindestens eine unäre Elternklausel
besitzen. Unäre Klauseln sind solche, die nur ein Literal enthalten.
Unit resolution ist i.a. nicht widerlegungsvollständig. Sie ist widerlegungsvollständig
für die Klasse der unär widerlegbaren Klauselmengen, die insbesondere die Klasse
der Hornklauselmengen umfasst.
• Eingaberesolution oder input resolution
Es werden nur solche Resolventen erzeugt, die wenigstens eine Elternklausel aus
der initialen Klauselmenge besitzen. Das heißt, Resolution zwischen Resolventen
ist nicht erlaubt.
Diese Strategie ist nicht widerlegungsvollständig.
Einf. in die KI
7 – 45
Resolutionsstrategien (4)
Restriktionsstrategien (Forts.)
• Lineare Resolution
Resolutionsschritte zwischen zwei Resolventen werden dann zugelassen, wenn eine
Resolvente ein “Vorgänger” der anderen ist.
Lineare Resolution modifiziert Eingaberesolution zu einer widerlegungsvollständigen
Strategie.
• Unterstützungsmengen oder set of support
Aufteilung der Klauselmenge in die Voraussetzungen (WB ) und die Klauseln
aus der negierten Behauptung. Es werden keine Resolutionsschritte zwischen
Voraussetzungsklauseln erlaubt, d.h. mindestens eine Elternklausel stammt immer
aus der Unterstützungsmenge.
Set-of-support ist widerlegungsvollständig, falls das Komplement der Unterstützungsmenge erfüllbar ist.
Einf. in die KI
7 – 46
Resolutionsstrategien (5)
Ordnungsstrategien:
• Stufensättigungsstrategie oder level saturation
Jeder Klausel wird ihre Ableitungstiefe zugeordnet. Resolventen der Tiefe n + 1
dürfen erst dann in die Klauselmenge eingefügt werden, wenn alle Klauseln der
Tiefe n bereits abgeleitet sind.
Reihenfolge der Erzeugung für eine Tiefenstufe ; Implementierung
• Bevorzugung unärer Klauseln oder unit preference
Abwandlung der Stufensättigungsstrategie dahingehend, dass man die Ableitungstiefe aller Resolventen, die eine unäre Elternklausel besitzen, um eine Konstante k
verringert.
Einf. in die KI
7 – 47
Resolutionsstrategien (6)
Klauseln als gerichtete Implikationen
• {¬P , Q} entspricht P ⇒ Q und kann aufgefasst werden als:
1.
2.
Schließe von P auf Q.
(vorwärts)
Um Q zu zeigen, zeige zuerst P .
(rückwärts)
Prozedurale Lesart von ⇒
• Im 1. Fall
würde man {¬P , Q} mit {P , . . .} resolvieren, um {Q, . . .} zu erhalten.
• Im 2. Fall
würde man {¬P , Q} mit {¬Q, . . .} resolvieren, um {¬P , . . .} zu erhalten.
Einf. in die KI
7 – 48
Faktorisierung (1)
Beispiel: Russellsche Antinomie
(nach: Bertrand Russell, engl. Philosoph und Logiker, 1872 - 1970)
“Der Barbier rasiert eine Person genau dann, wenn sie sich nicht selbst rasiert.”
∀ x [Rasiert(barbier , x ) ⇔ ¬Rasiert(x , x )]
Aus der entsprechenden (widersprüchlichen) Klauselmenge kann die leere Klausel
nicht abgeleitet werden.
{~Rasiert(barbier,x),~Rasiert(x,x)}
{Rasiert(y,y),Rasiert(barbier,y)}
[y/barbier,x/barbier]
{~Rasiert(barbier,barbier),Rasiert(barbier,barbier)}
; Verfeinerung der Resolutionsregel
Einf. in die KI
7 – 49
Faktorisierung (2)
Verschmelzung der Literale in den Elternklauseln durch Anwendung einer geeigneten
Substitution, bevor die Resolvente erzeugt wird.
Faktorisierungsregel:
{¬Rasiert(barbier ,x )}, {¬Rasiert(x ,x )}
F 1: {¬Rasiert(barbier ,barbier )}
σ 0 = [x /barbier ]
{Rasiert(y,y)}, {Rasiert(barbier ,y)}
F 2: {Rasiert(barbier ,barbier )}
σ 00 = [y/barbier ]
Aus F 1 und F 2 kann nun die leere Klausel abgeleitet werden.
Einf. in die KI
7 – 50
Logik als Programmiersprache (1)
Motivation
• Formale (logische) Spezifikationen von Programmen werden ausgeführt.
• Deduktion als Berechnung:
Konstruktive Beweise von Existenzaussagen
→ “Berechnung” von Werten, die, eingesetzt für die existenzquantifizierten Variablen, die Aussage wahr machen.
Logisches Programm:
Menge von Formeln
Anfrage:
Existenzaussage
Antwort:
Belegungen (Werte, lösende Terme) für
die Variablen aus der Anfrage
Einf. in die KI
7 – 51
Logik als Programmiersprache (2)
Der Resolutionskalkül ermöglicht eine einfache (automatische) Abarbeitung von prädikatenlogischen Programmen.
Aber:
Volle Prädikatenlogik ist als Programmiersprache nicht geeignet.
• Große Suchräume, die eingeschränkt werden müssen.
• Beschränkung der Suchräume erfordert komplizierte Kontrollstrukturen.
• Gefahr der Implementierungsunvollständigkeit.
• Der Programmablauf ist nicht determiniert, die Ausgabe nicht immer eindeutig.
Daher: Beschränkung auf eine bestimmte Klasse prädikatenlogischer Formeln, sogenannte Horn-Formeln bzw. Horn-Klauseln.
Einf. in die KI
7 – 52
Horn-Logik (1)
Eine Klausel heißt Horn-Klausel, wenn sie höchstens ein positives Literal enthält.
Seien Pi (1 ≤ i ≤ n) und Q Atome. Dann sind Horn-Klauseln:
• Definite Klauseln oder Regeln: Klauseln mit genau einem positiven Literal
{¬P1, ¬P2, . . . , ¬Pn , Q}
Sie entsprechen Implikationen, deren Prämissen Konjunktionen sind:
(P1 ∧ P2 ∧ . . . ∧ Pn ) ⇒ Q
• Fakten: Klauseln, die nur aus einem positiven Literal bestehen.
• Negative Klauseln oder Ziele: enthalten nur negative Literale
{¬P1, ¬P2, . . . , ¬Pn }
Einf. in die KI
7 – 53
Horn-Logik (2)
Definite Klausel können auch aufgefasst werden als:
Q ist beweisbar, falls P1, P2, . . . und Pn beweisbar sind.
Im Logischen Programmieren werden diese Formeln mit Hilfe eines (umgedrehten)
Implikationenpfeils wie folgt notiert.
Q.
Q ⇐ P1 , . . . , Pn
⇐ P1 , . . . , Pn
Einf. in die KI
(Fakten)
(Regeln)
(Ziele)
7 – 54
Eingaberesolution (1)
Oft haben Resolutionsbeweise folgende Form (Beispiele (1) und (2)):
C
1
alt
neu
C2
C
3
C n-1
Eine Eingabe-Ableitung einer Klausel C aus
einer Menge von Klauseln ∆ ist eine Sequenz von Klauseln C1, C2, . . . , Cn = C
mit
1. C1 ∈ ∆
2. Ci +1 ist eine Resolvente von Ci und einer
Klausel aus ∆
In Symbolen: ∆ `I C
Cn
Einf. in die KI
7 – 55
Eingaberesolution (2)
Eingaberesolution ist nicht vollständig.
Beispiel: Sei
∆ = {P , Q}, {P , ¬Q}, {¬P , Q}, {¬P , ¬Q}
Dann gilt
∆ ` 2.
Um 2 ableiten zu können, ist aber Resolution zwischen zwei Resolventen erforderlich,
das heißt: ∆ 6`I 2.
Es gilt jedoch:
Satz: Auf Hornklauselmengen ist Eingaberesolution vollständig, d.h. für Hornklauselmengen ∆ gilt:
∆ ` 2 gdw. ∆ `I 2
→ Vereinfachung der Beweissuche
Einf. in die KI
7 – 56
Prolog
Horn-Klauseln und Lineare Resolution sind die logische Basis von Prolog.
Zum Resolvieren wählt Prolog immer das am weitesten links stehende Literal.
Vorf (x , y) ⇐ Elt(x , y)
Vorf (x , y) ⇐ Elt(x , z ) ∧ Vorf (z , y)
Elt(a, b)
Elt(b, c)
Anfrage: ∃ x Vorf (a, x )?
Einf. in die KI
7 – 57
{~Vorf(a,x)}
{Vorf(x,y),~Elt(x,z),~Vorf(z,y)}
{~Elt(a,z),~Vorf(z,y)}
{Elt(a,b)}
{~Vorf(b,y)}
{Vorf(x,y), ~Elt(x,y)}
{~Elt(b,v)}
{Elt(b,c)}
[]
Einf. in die KI
7 – 58
Widerspruchsfreiheit
Eine Formelmenge Φ ist widerspruchsfrei oder konsistent gdw. es keine Formel ϕ gibt,
so dass Φ ` ϕ und Φ ` ¬ϕ.
Φ heißt widersprüchlich oder inkonsistent, wenn Φ nicht widerspruchsfrei ist.
Satz: Jede widerspruchsfreie Formelmenge ist erfüllbar.
Begriffe
semantisch
syntaktisch
Folgerung
Ableitbarkeit
|=
`
Erfüllbarkeit
Unerfüllbarkeit
Einf. in die KI
Widerspruchsfreiheit, Konsistenz
Inkonsistenz
7 – 59
Eigenschaften der Prädikatenlogik
Korrektheitssatz
Für eine Formelmenge Φ und eine Formel ϕ gilt:
Wenn Φ ` ϕ, dann Φ |= ϕ.
Vollständigkeitssatz (Kurt Gödel 1928)
Für eine Formelmenge Φ und eine Formel ϕ gilt:
Wenn Φ |= ϕ, dann Φ ` ϕ.
Endlichkeitssatz (Kompaktheit)
Φ |= ϕ gdw. es eine endliche Formelmenge Φ0 ⊂ Φ gibt mit
Φ0 |= ϕ.
Φ ` ϕ gdw. es eine endliche Formelmenge Φ0 ⊂ Φ gibt mit Φ0 ` ϕ.
Prädikatenlogik erster Stufe ist die ausdrucksstärkste Logik, die korrekt und vollständig
ist und den Endlichkeitssatz erfüllt.
Einf. in die KI
7 – 60
Beispiele Prädikatenlogischer Beweissysteme
MKRP (Markgraf Karl Refutation Procedure), entwickelt seit 1984 an den Universitäten Karlsruhe und Kaiserslautern (Arbeitsgruppe J. Siekmann).
Resolutionsbeweiser, Verwendung verschiedener Ordnungs- und Restriktionsstrategien.
OTTER (“Organized Techniques for Theorem Proving and Effective Research”),
entwickelt seit 1980 am Argonne National Laboratory (L. Wos et al.)
Resolutionsbeweiser; arbeitet mit Unterstützungmengen und Suchheuristiken basierend auf “Klauselgewichten”.
SETHEO entwickelt an der TU München, integriert verschiedene Beweistechniken,
basiert ursprünglich auf der Konnektionsmethode von W. Bibel.
PTTP (Prolog Technology Theorem Prover), entwickelt am SRI (M. Stickel)
Basiert ebenfalls auf Resolution; benutzt Prolog als Abarbeitungsstrategie, “kompiliert” allgemeine Theorien in Prolog und erweitert Prolog so, dass es vollständig
und korrekt wird.
Einf. in die KI
7 – 61
Prädikatenlogische Beweissysteme (2)
Alternativen:
• Beweiser, die nach dem Tableaux-Verfahren arbeiten
• Beweis-Assistenten: kombinieren vollautomatisches Beweisen mit interaktivem
Beweisen (gesteuert durch Benutzer)
Arbeiten häufig mit “Sequenzenkalkülen”, Logik höherer Ordnung.
Beispiele:
–
–
–
–
–
PVS (SRI International, seit 1992)
Isabelle (Cambridge, München)
HOL (“Higher-Order Logic”; Cambridge u.a.)
KIV (“Karlsruhe Interactive Verifier”)
und etliche andere
Einf. in die KI
7 – 62
Zusammenfassung
• Prädikatenlogik stellt eine Sprache zur Wissensrepräsentation zur Verfügung, die
es erlaubt, Objekte, ihre Eigenschaften und Beziehungen zueinander explizit darzustellen.
• Quantoren lassen die Formulierung genereller Regeln zu und ermöglichen Aussagen
allgemeiner Art.
• Prädikatenlogik ist korrekt, vollständig und kompakt.
• Prädikatenlogik ist nicht entscheidbar.
• Prädikatenlogik ist jedoch semi-entscheidbar, d.h. rekursiv aufzählbar.
• Für allgemeingültige Formeln können effektiv Beweise gefunden werden, bzw. für
unerfüllbare Formeln Widerlegungen.
• Prädikatenlogik kann auch (mit Einschränkungen) als Programmiersprache verwendet werden.
Einf. in die KI
7 – 63
Herunterladen