Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
Vorlesung
Logik für Informatiker
6. Aussagenlogik
– Resolution –
Bernhard Beckert
Universität Koblenz-Landau
Sommersemester 2006Logik für Informatiker, SS ’06 – p.1
Der aussagenlogische Resolutionkalkül
Wesentliche Eigenschaften
• Widerlegungskalkül: Testet auf Unerfüllbarkeit
• Voraussetzung: Alle Formeln in konjunktiver Normalform
• Eine einzige Regel
• Operiert of Klauseln (in Mengenschreibweise)
Notation
Leere Klausel: 2
Logik für Informatiker, SS ’06 – p.2
Der aussagenlogische Resolutionkalkül
Wesentliche Eigenschaften
• Widerlegungskalkül: Testet auf Unerfüllbarkeit
• Voraussetzung: Alle Formeln in konjunktiver Normalform
• Eine einzige Regel
• Operiert of Klauseln (in Mengenschreibweise)
Notation
Leere Klausel: 2
Logik für Informatiker, SS ’06 – p.2
Der aussagenlogische Resolutionkalkül
Wesentliche Eigenschaften
• Widerlegungskalkül: Testet auf Unerfüllbarkeit
• Voraussetzung: Alle Formeln in konjunktiver Normalform
• Eine einzige Regel
• Operiert of Klauseln (in Mengenschreibweise)
Notation
Leere Klausel: 2
Logik für Informatiker, SS ’06 – p.2
Der aussagenlogische Resolutionkalkül
Wesentliche Eigenschaften
• Widerlegungskalkül: Testet auf Unerfüllbarkeit
• Voraussetzung: Alle Formeln in konjunktiver Normalform
• Eine einzige Regel
• Operiert of Klauseln (in Mengenschreibweise)
Notation
Leere Klausel: 2
Logik für Informatiker, SS ’06 – p.2
Der aussagenlogische Resolutionkalkül
Wesentliche Eigenschaften
• Widerlegungskalkül: Testet auf Unerfüllbarkeit
• Voraussetzung: Alle Formeln in konjunktiver Normalform
• Eine einzige Regel
• Operiert of Klauseln (in Mengenschreibweise)
Notation
Leere Klausel: 2
Logik für Informatiker, SS ’06 – p.2
Resolutionskalkül
Definition: Resolutionsregel (einzige Regel des Kalküls)
C1 ∪ {P}, C2 ∪ {¬P}
C1 ∪ C2
wobei
P eine aussagenlogische Variable
C1, C2 Klauseln (können leer sein)
Definition: Resolvente
C1 ∪ C2 heißt Resolvente von C1 ∪ {P}, C2 ∪ {¬P}.
Logik für Informatiker, SS ’06 – p.3
Resolutionskalkül
Definition: Resolutionsregel (einzige Regel des Kalküls)
C1 ∪ {P}, C2 ∪ {¬P}
C1 ∪ C2
wobei
P eine aussagenlogische Variable
C1, C2 Klauseln (können leer sein)
Definition: Resolvente
C1 ∪ C2 heißt Resolvente von C1 ∪ {P}, C2 ∪ {¬P}.
Logik für Informatiker, SS ’06 – p.3
Resolution: Beispiel
Gegeben die Klauselmenge
M = { {P1, P2}, {P1,¬P2}, {¬P1, P2}, {¬P1,¬P2} }
Resolution
{P1, P2} {P1,¬P2}
{P1}
{¬P1, P2} {¬P1,¬P2}
{¬P1}
{P1},{¬P1}
2
Insgesamt
M `Res 2
also M unerfüllbar
Logik für Informatiker, SS ’06 – p.4
Resolution: Beispiel
Gegeben die Klauselmenge
M = { {P1, P2}, {P1,¬P2}, {¬P1, P2}, {¬P1,¬P2} }
Resolution
{P1, P2} {P1,¬P2}
{P1}
{¬P1, P2} {¬P1,¬P2}
{¬P1}
{P1},{¬P1}
2
Insgesamt
M `Res 2
also M unerfüllbar
Logik für Informatiker, SS ’06 – p.4
Resolution: Beispiel
Gegeben die Klauselmenge
M = { {P1, P2}, {P1,¬P2}, {¬P1, P2}, {¬P1,¬P2} }
Resolution
{P1, P2} {P1,¬P2}
{P1}
{¬P1, P2} {¬P1,¬P2}
{¬P1}
{P1},{¬P1}
2
Insgesamt
M `Res 2
also M unerfüllbar
Logik für Informatiker, SS ’06 – p.4
Resolution: Beispiel
Gegeben die Klauselmenge
M = { {P1, P2}, {P1,¬P2}, {¬P1, P2}, {¬P1,¬P2} }
Resolution
{P1, P2} {P1,¬P2}
{P1}
{¬P1, P2} {¬P1,¬P2}
{¬P1}
{P1},{¬P1}
2
Insgesamt
M `Res 2
also M unerfüllbar
Logik für Informatiker, SS ’06 – p.4
Resolution: Beispiel
Gegeben die Klauselmenge
M = { {P1, P2}, {P1,¬P2}, {¬P1, P2}, {¬P1,¬P2} }
Resolution
{P1, P2} {P1,¬P2}
{P1}
{¬P1, P2} {¬P1,¬P2}
{¬P1}
{P1},{¬P1}
2
Insgesamt
M `Res 2
also M unerfüllbar
Logik für Informatiker, SS ’06 – p.4
Resolution: Beispiel
Gegeben die Klauselmenge
M = { {P1, P2}, {P1,¬P2}, {¬P1, P2}, {¬P1,¬P2} }
Resolution
{P1, P2} {P1,¬P2}
{P1}
{¬P1, P2} {¬P1,¬P2}
{¬P1}
{P1},{¬P1}
2
Insgesamt
M `Res 2
also M unerfüllbar
Logik für Informatiker, SS ’06 – p.4
Resolution: Beispiel
Gegeben die Klauselmenge
M = { {P1, P2}, {P1,¬P2}, {¬P1, P2}, {¬P1,¬P2} }
Resolution
{P1, P2} {P1,¬P2}
{P1}
{¬P1, P2} {¬P1,¬P2}
{¬P1}
{P1},{¬P1}
2
Insgesamt
M `Res 2
also M unerfüllbar
Logik für Informatiker, SS ’06 – p.4
Resolution: Beispiel
Gegeben die Klauselmenge
M = { {P1, P2}, {P1,¬P2}, {¬P1, P2}, {¬P1,¬P2} }
Resolution
{P1, P2} {P1,¬P2}
{P1}
{¬P1, P2} {¬P1,¬P2}
{¬P1}
{P1},{¬P1}
2
Insgesamt
M `Res 2
also M unerfüllbar
Logik für Informatiker, SS ’06 – p.4
Resolution: Beispiel
Gegeben die Klauselmenge
M = { {P1, P2}, {P1,¬P2}, {¬P1, P2}, {¬P1,¬P2} }
Resolution
{P1, P2} {P1,¬P2}
{P1}
{¬P1, P2} {¬P1,¬P2}
{¬P1}
{P1},{¬P1}
2
Insgesamt
M `Res 2
also M unerfüllbar
Logik für Informatiker, SS ’06 – p.4
Resolution: Weiteres Beispiel
Zu zeigen
(A → B) → ((B → C) → (A → C))
ist allgemeingültig
Dazu zeigen wir, dass
¬((A → B) → ((B → C) → (A → C)))
unerfüllbar ist
Klauselnormalform
M = {{¬A, B},{¬B, C},{A},{¬C}}
Logik für Informatiker, SS ’06 – p.5
Resolution: Weiteres Beispiel
Zu zeigen
(A → B) → ((B → C) → (A → C))
ist allgemeingültig
Dazu zeigen wir, dass
¬((A → B) → ((B → C) → (A → C)))
unerfüllbar ist
Klauselnormalform
M = {{¬A, B},{¬B, C},{A},{¬C}}
Logik für Informatiker, SS ’06 – p.5
Resolution: Weiteres Beispiel
Zu zeigen
(A → B) → ((B → C) → (A → C))
ist allgemeingültig
Dazu zeigen wir, dass
¬((A → B) → ((B → C) → (A → C)))
unerfüllbar ist
Klauselnormalform
M = {{¬A, B},{¬B, C},{A},{¬C}} Logik für Informatiker, SS ’06 – p.5
Resolution: Weiteres Beispiel
Klauselnormalform
M = {{¬A, B},{¬B, C},{A},{¬C}}
Ableitung der leeren Klausel aus M
(1) [] {¬A, B}
(2) [] {¬B, C}
(3) [] {A}
(4) [] {¬C}
(5) [1, 3] {B}
(6) [2, 5] {C}
(7) [4, 6] 2
Logik für Informatiker, SS ’06 – p.6
Resolution: Weiteres Beispiel
Klauselnormalform
M = {{¬A, B},{¬B, C},{A},{¬C}}
Ableitung der leeren Klausel aus M
(1) [] {¬A, B}
(2) [] {¬B, C}
(3) [] {A}
(4) [] {¬C}
(5) [1, 3] {B}
(6) [2, 5] {C}
(7) [4, 6] 2
Logik für Informatiker, SS ’06 – p.6
Resolution: Weiteres Beispiel
Klauselnormalform
M = {{¬A, B},{¬B, C},{A},{¬C}}
Ableitung der leeren Klausel aus M
(1) [] {¬A, B}
(2) [] {¬B, C}
(3) [] {A}
(4) [] {¬C}
(5) [1, 3] {B}
(6) [2, 5] {C}
(7) [4, 6] 2
Logik für Informatiker, SS ’06 – p.6
Resolution: Weiteres Beispiel
Klauselnormalform
M = {{¬A, B},{¬B, C},{A},{¬C}}
Ableitung der leeren Klausel aus M
(1) [] {¬A, B}
(2) [] {¬B, C}
(3) [] {A}
(4) [] {¬C}
(5) [1, 3] {B}
(6) [2, 5] {C}
(7) [4, 6] 2
Logik für Informatiker, SS ’06 – p.6
Resolution: Weiteres Beispiel
Klauselnormalform
M = {{¬A, B},{¬B, C},{A},{¬C}}
Ableitung der leeren Klausel aus M
(1) [] {¬A, B}
(2) [] {¬B, C}
(3) [] {A}
(4) [] {¬C}
(5) [1, 3] {B}
(6) [2, 5] {C}
(7) [4, 6] 2
Logik für Informatiker, SS ’06 – p.6
Resolution: Bemerkungen
Vorsicht bei Klauseln mit mehreren Resolutionsmöglichkeiten
• Zwei Klauseln können mehr als eine Resolvente habenz.B.: {A, B} und {¬A,¬B}
• {A, B, C} und {¬A,¬B, D} haben NICHT {C, D} als Resolvente
Heuristik
Immer möglichst kleine Klauseln ableiten
Logik für Informatiker, SS ’06 – p.7
Resolution: Bemerkungen
Vorsicht bei Klauseln mit mehreren Resolutionsmöglichkeiten
• Zwei Klauseln können mehr als eine Resolvente habenz.B.: {A, B} und {¬A,¬B}
• {A, B, C} und {¬A,¬B, D} haben NICHT {C, D} als Resolvente
Heuristik
Immer möglichst kleine Klauseln ableiten
Logik für Informatiker, SS ’06 – p.7
Resolution: Bemerkungen
Vorsicht bei Klauseln mit mehreren Resolutionsmöglichkeiten
• Zwei Klauseln können mehr als eine Resolvente habenz.B.: {A, B} und {¬A,¬B}
• {A, B, C} und {¬A,¬B, D} haben NICHT {C, D} als Resolvente
Heuristik
Immer möglichst kleine Klauseln ableiten
Logik für Informatiker, SS ’06 – p.7
Notwendigkeit der Mengenschreibweise
Die Menge
E = {P1 ∨ ¬P2, ¬P1 ∨ P2, ¬P1 ∨ ¬P2, P1 ∨ P2}
ist unerfüllbar
Es gibt folgende Resolutionsmöglichkeiten (ohne Mengenschreibweise)
¬P1 ∨ ¬P2, P1 ∨ ¬P2
¬P2 ∨ ¬P2
¬P1 ∨ ¬P2,¬P1 ∨ P2
¬P1 ∨ ¬P1
¬P1 ∨ ¬P1, P1 ∨ ¬P2
¬P1 ∨ ¬P2
¬P2 ∨ ¬P2,¬P1 ∨ P2
¬P1 ∨ ¬P2
Auf diese Weise ist 2 nicht herleitbar
Logik für Informatiker, SS ’06 – p.8
Notwendigkeit der Mengenschreibweise
Die Menge
E = {P1 ∨ ¬P2, ¬P1 ∨ P2, ¬P1 ∨ ¬P2, P1 ∨ P2}
ist unerfüllbar
Es gibt folgende Resolutionsmöglichkeiten (ohne Mengenschreibweise)
¬P1 ∨ ¬P2, P1 ∨ ¬P2
¬P2 ∨ ¬P2
¬P1 ∨ ¬P2,¬P1 ∨ P2
¬P1 ∨ ¬P1
¬P1 ∨ ¬P1, P1 ∨ ¬P2
¬P1 ∨ ¬P2
¬P2 ∨ ¬P2,¬P1 ∨ P2
¬P1 ∨ ¬P2
Auf diese Weise ist 2 nicht herleitbar
Logik für Informatiker, SS ’06 – p.8
Notwendigkeit der Mengenschreibweise
Die Menge
E = {P1 ∨ ¬P2, ¬P1 ∨ P2, ¬P1 ∨ ¬P2, P1 ∨ P2}
ist unerfüllbar
Es gibt folgende Resolutionsmöglichkeiten (ohne Mengenschreibweise)
¬P1 ∨ ¬P2, P1 ∨ ¬P2
¬P2 ∨ ¬P2
¬P1 ∨ ¬P2,¬P1 ∨ P2
¬P1 ∨ ¬P1
¬P1 ∨ ¬P1, P1 ∨ ¬P2
¬P1 ∨ ¬P2
¬P2 ∨ ¬P2,¬P1 ∨ P2
¬P1 ∨ ¬P2
Auf diese Weise ist 2 nicht herleitbar
Logik für Informatiker, SS ’06 – p.8
Resolution: Korrektheit und Vollständigkeit
Theorem
Für eine Menge M von Klauseln gilt
M unerfüllbar gdw. M `Res 2
Logik für Informatiker, SS ’06 – p.9
1-Resolution
Regel der 1-Resolution
{P}, C2 ∪ {¬P}
C2
{¬P}, C2 ∪ {P}
C2
Spezialfall der Resolutionsregel
Frage
Ist 1-Resolution vollständig?
NEIN
Logik für Informatiker, SS ’06 – p.10
1-Resolution
Regel der 1-Resolution
{P}, C2 ∪ {¬P}
C2
{¬P}, C2 ∪ {P}
C2
Spezialfall der Resolutionsregel
Frage
Ist 1-Resolution vollständig?
NEIN
Logik für Informatiker, SS ’06 – p.10
1-Resolution
Regel der 1-Resolution
{P}, C2 ∪ {¬P}
C2
{¬P}, C2 ∪ {P}
C2
Spezialfall der Resolutionsregel
Frage
Ist 1-Resolution vollständig?
NEIN
Logik für Informatiker, SS ’06 – p.10
1-Resolution
Beispiel für Unvollständigkeit
E = {{P1, P2},{P1,¬P2},{¬P1, P2},{¬P1,¬P2}}
ist unerfüllbar,
aber mit 1-Resolution ist aus E nichts ableitbar
Logik für Informatiker, SS ’06 – p.11
Zusammenfassung: Resolution
• Die Resolutionsregel
• Vorgehensweise für Nachweis der Allgemeingültigkeit:Negation, Klauseln, Resolution
• Korrektheit und Vollständigkeit
• 1-Resolution (unvollständig)
Logik für Informatiker, SS ’06 – p.12
Zusammenfassung: Resolution
• Die Resolutionsregel
• Vorgehensweise für Nachweis der Allgemeingültigkeit:Negation, Klauseln, Resolution
• Korrektheit und Vollständigkeit
• 1-Resolution (unvollständig)
Logik für Informatiker, SS ’06 – p.12
Zusammenfassung: Resolution
• Die Resolutionsregel
• Vorgehensweise für Nachweis der Allgemeingültigkeit:Negation, Klauseln, Resolution
• Korrektheit und Vollständigkeit
• 1-Resolution (unvollständig)
Logik für Informatiker, SS ’06 – p.12