logik für informatiker - kit · vorlesung logik für informatiker 6. aussagenlogik – resolution...

40
Vorlesung Logik für Informatiker 6. Aussagenlogik – Resolution – Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS ’06 – p.1

Upload: others

Post on 17-Oct-2019

11 views

Category:

Documents


0 download

TRANSCRIPT

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

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