46
Logik f ¨ ur Informatiker 2. Aussagenlogik Teil 5 8.05.2012 Viorica Sofronie-Stokkermans Universit ¨ at Koblenz-Landau e-mail: [email protected] 1

Logik für Informatiker

  • Upload
    lyngoc

  • View
    239

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Logik für Informatiker

Logik fur Informatiker

2. Aussagenlogik

Teil 5

8.05.2012

Viorica Sofronie-Stokkermans

Universitat Koblenz-Landau

e-mail: [email protected]

1

Page 2: Logik für Informatiker

Bis jetzt

• Syntax der Aussagenlogik: Definition der Menge aller Formeln

− Strukturelle Induktion (Induktion uber Formelaufbau)

• Semantik der Aussagenlogik: Wahrheit einer Formel in einem Modell

• Erfullbarkeitstests:

− Wahrheitstafelmethode

− Logische Umformung (Aquivalenzumformung)

2

Page 3: Logik für Informatiker

Bis jetzt

Unser Ziel

Kalkul(e) zur systematischen Uberprufung von Erfullbarkeit

(fur Formeln und/oder Formelmengen)

Dazu brauchen wir “Normalformen”

3

Page 4: Logik für Informatiker

Bis jetzt

Unser Ziel

Kalkul(e) zur systematischen Uberprufung von Erfullbarkeit

(fur Formeln und/oder Formelmengen)

Dazu brauchen wir “Normalformen”

• Atom/Literal/Klausel

• Konjunktive Normalform (KNF):

Konjunktion von Disjunktionen von Literalen,

d.h., eine Konjunktion von Klauseln

• Disjunktive Normalform (DNF):

Eine Disjunktion von Konjunktionen von Literalen.

4

Page 5: Logik für Informatiker

Bis jetzt

Eigenschaften:

• Zu jeder aussagenlogischen Formel gibt es:

- eine aquivalente Formel in KNF

- eine aquivalente Formel in DNF

• Diese aquivalenten Formeln in DNF bzw. KNF sind nicht eindeutig

• DNF (KNF) konnen aus einer Wahrheitstafel abgelesen werden

• KNF/DNF konnen durch Umformungen hergestellt werden

5

Page 6: Logik für Informatiker

Umformung in KNF

Vier Schritte:

1. Elimination von ↔

Verwende A ↔ B ≡ (A → B) ∧ (B → A)

2. Elimination von →

Verwende A → B ≡ (¬A ∨ B)

3. “Nach innen schieben” von ¬

Verwende de Morgans Regeln und ¬¬A ≡ A

4. “Nach innen schieben” von ∨

Verwende Distributivitat von ∨ uber ∧

A ∨ (B ∧ C) ≡ (A ∨ B) ∧ (A ∨ C)

6

Page 7: Logik für Informatiker

Umformung in DNF

Vier Schritte:

1. Elimination von ↔

Verwende A ↔ B ≡ (A → B) ∧ (B → A)

2. Elimination von →

Verwende A → B ≡ (¬A ∨ B)

3. “Nach innen schieben” von ¬

Verwende de Morgans Regeln und ¬¬A ≡ A

4. “Nach innen schieben” von ∨

Verwende Distributivitat von ∧ uber ∨

A ∧ (B ∨ C) ≡ (A ∧ B) ∨ (A ∧ C)

7

Page 8: Logik für Informatiker

Beispiel zur exponentiellen Lange der KNF

Gegeben:

An = (P11 ∧ P12) ∨ · · · ∨ (Pn1 ∧ Pn2)

Zu An aquivalente KNF^

f :{1,...,n}→{1,2}

(P1,f (1) ∨ · · · ∨ Pn,f (n))

Große der KNF:

• Klausel in KNF von An: 2n

Beweis: Induktion

8

Page 9: Logik für Informatiker

Beispiel zur exponentiellen Lange der KNF

Gegeben:

An = (P11 ∧ P12) ∨ · · · ∨ (Pn1 ∧ Pn2)

n = 1 : A1 = P11∧P12 Lange: 2 = 21

9

Page 10: Logik für Informatiker

Beispiel zur exponentiellen Lange der KNF

Gegeben:

An = (P11 ∧ P12) ∨ · · · ∨ (Pn1 ∧ Pn2)

n = 1 : A1 = P11∧P12 Lange: 2 = 21

n = 2 : A2 = (P11∧P12)∨(P21∧P22)

≡ ((P11∧P12)∨P21)∧((P11∧P12)∨P22)

≡ (P11∨P21)∧(P12∨P21)∧(P11∨P22)∧(P12∨P22) Lange: 2 · 2 = 22

10

Page 11: Logik für Informatiker

Beispiel zur exponentiellen Lange der KNF

Gegeben:

An = (P11 ∧ P12) ∨ · · · ∨ (Pn1 ∧ Pn2)

n = 1 : A1 = P11∧P12 Lange: 2 = 21

n = 2 : A2 = (P11∧P12)∨(P21∧P22)

≡ ((P11∧P12)∨P21)∧((P11∧P12)∨P22)

≡ (P11∨P21)∧(P12∨P21)∧(P11∨P22)∧(P12∨P22) Lange: 2 · 2 = 22

n = 3 : A3 = (P11∧P12)∨(P21∧P22)| {z }

A2

∨(P31∧P32)

≡ ((P11∨P21)∧(P12∨P21)∧(P11∨P22)∧(P12∨P22))| {z }

KNF (A2)

∨(P31∧P32)

11

Page 12: Logik für Informatiker

Beispiel zur exponentiellen Lange der KNF

Gegeben:

An = (P11 ∧ P12) ∨ · · · ∨ (Pn1 ∧ Pn2)

n = 1 : A1 = P11∧P12 Lange: 2 = 21

n = 2 : A2 = (P11∧P12)∨(P21∧P22)

≡ ((P11∧P12)∨P21)∧((P11∧P12)∨P22)

≡ (P11∨P21)∧(P12∨P21)∧(P11∨P22)∧(P12∨P22) Lange: 2 · 2 = 22

n = 3 : A3 = (P11∧P12)∨(P21∧P22)| {z }

A2

∨(P31∧P32)

≡ ((P11∨P21)∧(P12∨P21)∧(P11∨P22)∧(P12∨P22))| {z }

KNF (A2)

∨(P31∧P32)

≡ (((P11∨P21)∧(P12∨P21)∧(P11∨P22)∧(P12∨P22))∨P31)∧

(((P11∨P21)∧(P12∨P21)∧(P11∨P22)∧(P12∨P22))∨P32)

12

Page 13: Logik für Informatiker

Beispiel zur exponentiellen Lange der KNF

Gegeben:

An = (P11 ∧ P12) ∨ · · · ∨ (Pn1 ∧ Pn2)

n = 1 : A1 = P11∧P12 Lange: 21

n = 2 : A2 = (P11∧P12)∨(P21∧P22)

≡ ((P11∧P12)∨P21)∧((P11∧P12)∨P22)

≡ (P11∨P21)∧(P12∨P21)∧(P11∨P22)∧(P12∨P22) Lange: 22

n = 3 : A3 = (P11∧P12)∨(P21∧P22)| {z }

A2

∨(P31∧P32)

≡ ((P11∨P21)∧(P12∨P21)∧(P11∨P22)∧(P12∨P22))| {z }

KNF (A2)

∨(P31∧P32)

≡ (((P11∨P21)∧(P12∨P21)∧(P11∨P22)∧(P12∨P22))∨P31)∧

(((P11∨P21)∧(P12∨P21)∧(P11∨P22)∧(P12∨P22))∨P32)

≡ (((P11∨P21∨P31)∧(P12∨P21∨P31)∧(P11∨P22∨P31)∧(P12∨P22∨P31)∧

(((P11∨P21∨P32)∧(P12∨P21∨P32)∧(P11∨P22∨P32)∧(P12∨P22∨P32) Lange: 23

13

Page 14: Logik für Informatiker

Beispiel zur exponentiellen Lange der KNF

Gegeben: An = (P11 ∧ P12) ∨ · · · ∨ (Pn1 ∧ Pn2)

• Klausel in KNF von An: 2n

Beweis durch Induktion

Induktionsbasis: n = 1 : A1 in KNF, 21 Klausel.

14

Page 15: Logik für Informatiker

Beispiel zur exponentiellen Lange der KNF

Gegeben: An = (P11 ∧ P12) ∨ · · · ∨ (Pn1 ∧ Pn2)

• Klausel in KNF von An: 2n

Beweis durch Induktion

Induktionsvoraussetzung: KNF von An hat 2n Klausel

KNF (An) = C1 ∧ · · · ∧ C2n , Ci = (Li1 ∨ · · · ∨ Li

ni) Klausel

Induktionsschritt: Zu zeigen: KNF von An+1 hat 2n+1 Klausel

An+1 = (P11 ∧ P12) ∨ · · · ∨ (Pn1 ∧ Pn2) ∨ (P(n+1),1 ∧ P(n+1),2)≡ ((P11 ∧ P12) ∨ · · · ∨ (Pn1 ∧ Pn2)

| {z }

An

) ∨ (P(n+1),1 ∧ P(n+1),2)

≡ (C1 ∧ · · · ∧ C2n )| {z }

KNF (An)

∨ (P(n+1),1 ∧ P(n+1),2)

≡ ((C1 ∧ · · · ∧ C2n ) ∨ P(n+1),1) ∧ ((C1 ∧ · · · ∧ C2n ) ∨ P(n+1),2)≡ (C1 ∨ P(n+1),1) ∧ · · · ∧ (C2n ∨ P(n+1),1) ∧ (C1 ∨ P(n+1),2) ∧ · · · ∧ (C2n ∨ P(n+1),2)

15

Page 16: Logik für Informatiker

Beispiel zur exponentiellen Lange der KNF

Gegeben: An = (P11 ∧ P12) ∨ · · · ∨ (Pn1 ∧ Pn2)

• Klausel in KNF von An: 2n

Beweis durch Induktion

Induktionsvoraussetzung: KNF von An hat 2n Klausel

KNF (An) = C1 ∧ · · · ∧ C2n , Ci = (Li1 ∨ · · · ∨ Li

ni) Klausel

Induktionsschritt: Zu zeigen: KNF von An+1 hat 2n+1 Klausel

An+1 = (P11 ∧ P12) ∨ · · · ∨ (Pn1 ∧ Pn2) ∨ (P(n+1),1 ∧ P(n+1),2)≡ ((P11 ∧ P12) ∨ · · · ∨ (Pn1 ∧ Pn2)

| {z }

An

) ∨ (P(n+1),1 ∧ P(n+1),2)

≡ (C1 ∧ · · · ∧ C2n )| {z }

KNF (An)

∨ (P(n+1),1 ∧ P(n+1),2)

≡ ((C1 ∧ · · · ∧ C2n ) ∨ P(n+1),1) ∧ ((C1 ∧ · · · ∧ C2n ) ∨ P(n+1),2)≡ (C1 ∨ P(n+1),1) ∧ · · · ∧ (C2n ∨ P(n+1),1)

| {z }

2n

∧ (C1 ∨ P(n+1),2) ∧ · · · ∧ (C2n ∨ P(n+1),2)| {z }

2n

16

Page 17: Logik für Informatiker

KNF: Mengenschreibweise

Notation:

Klausel als Menge von Literalen

Formel in KNF als Menge von Klauseln

17

Page 18: Logik für Informatiker

KNF: Mengenschreibweise

Notation:

Klausel als Menge von Literalen

Formel in KNF als Menge von Klauseln

Beispiel:

(P ∨ Q ∨ R) ∧ (P ∨ Q ∨ ¬R) ∧ (¬P ∨ Q ∨ R) ∧ (¬P ∨ ¬Q ∨ R)

{ {P,Q,R}, {P, Q,¬R}, {¬P, Q,R}, {¬P,¬Q,R} }

18

Page 19: Logik für Informatiker

KNF: Mengenschreibweise

Bedeutung der leeren Menge

• Leere Klausel

= leere Menge von Literalen

= leere Disjunktion

= ⊥

19

Page 20: Logik für Informatiker

KNF: Mengenschreibweise

Bedeutung der leeren Menge

• Leere Klausel

= leere Menge von Literalen

= leere Disjunktion

= ⊥

• Leere Menge von Klauseln

= leere Konjunktion

= ⊤

20

Page 21: Logik für Informatiker

Vereinfachung der KNF: Subsumption

Theorem (Subsumption Regel)

Enthalt eine KNF-Formel (= Klauselmenge) Klauseln K ,K ′ mit

K ⊂ K ′

dann entsteht eine aquivalente Formel, wenn K ′ weggelassen wird.

Beweis:

K = {L1, . . . , Lp} ⊆ {L1, . . . , Lp , Lp+1, . . . , Lm} = K ′

F enthalt K ∧ K ′

K ∧ K ′ = (L1 ∨ · · · ∨ Lp) ∧ ((L1 ∨ · · · ∨ Lp) ∨ Lp+1 ∨ . . . Lm)

≡ (L1 ∨ · · · ∨ Lp) = K (Absorption)

21

Page 22: Logik für Informatiker

Das SAT-Problem (Erfullbarkeitsproblem)

Definition: SAT-Problem

Gegeben: Eine aussagenlogische Formel F

Frage: Ist F erfullbar?

22

Page 23: Logik für Informatiker

Das SAT-Problem (Erfullbarkeitsproblem)

Definition: SAT-Problem

Gegeben: Eine aussagenlogische Formel F

Frage: Ist F erfullbar?

NB: F allgemeingultig gdw. ¬F nicht erfullbar

23

Page 24: Logik für Informatiker

Das SAT-Problem (Erfullbarkeitsproblem)

Definition: SAT-Problem

Gegeben: Eine aussagenlogische Formel F

Frage: Ist F erfullbar?

NB: F allgemeingultig gdw. ¬F nicht erfullbar

Erfullbarkeitsproblem fur DNF Formeln

Sei F =Wn

i=1(Vm

j=1 Lij ) in DNF

F unerfullbar gdw. (Vm

j=1 Lij ) unerfullbar fur alle i = 1, . . . , n

gdw. (Vm

j=1 Lij ) enthalt zwei komplementare Literale fur alle i

24

Page 25: Logik für Informatiker

Das SAT-Problem (Erfullbarkeitsproblem)

Definition: SAT-Problem

Gegeben: Eine aussagenlogische Formel F

Frage: Ist F erfullbar?

NB: F allgemeingultig gdw. ¬F nicht erfullbar

Erfullbarkeitsproblem fur DNF Formeln

Sei F =Wn

i=1(Vm

j=1 Lij ) in DNF

F unerfullbar gdw. (Vm

j=1 Lij ) unerfullbar fur alle i = 1, . . . , n

gdw. (Vm

j=1 Lij ) enthalt zwei komplementare Literale fur alle i

Allgemeingultigkeit fur DNF Formeln

F in KNF allgemeingultig gdw. jede Disjunktion zwei komplementare

Literale enthalt.

25

Page 26: Logik für Informatiker

Das SAT-Problem (Erfullbarkeitsproblem)

Definition: SAT-Problem

Gegeben: Eine aussagenlogische Formel F

Frage: Ist F erfullbar?

Theorem (ohne Beweis)

SAT ist ein NP-vollstandiges Problem

26

Page 27: Logik für Informatiker

NP

Zur Erinnerung:

• P ist die Klasse aller Probleme, die in polynomieller Zeit entscheidbar

sind.

27

Page 28: Logik für Informatiker

NP

Zur Erinnerung:

• P ist die Klasse aller Probleme, die in polynomieller Zeit entscheidbar

sind.

• NP ist die Klasse aller Probleme, die nichtdeterministisch in

polynomieller Zeit entscheidbar sind.

28

Page 29: Logik für Informatiker

NP

Zur Erinnerung:

• P ist die Klasse aller Probleme, die in polynomieller Zeit entscheidbar

sind.

• NP ist die Klasse aller Probleme, die nichtdeterministisch in

polynomieller Zeit entscheidbar sind.

Ein Entscheidungsproblem ist genau dann in NP, wenn eine gegebene

Losung fur das entsprechende Suchproblem in Polynomialzeit uberpruft

werden kann.

29

Page 30: Logik für Informatiker

NP

Zur Erinnerung:

• P ist die Klasse aller Probleme, die in polynomieller Zeit entscheidbar

sind.

• NP ist die Klasse aller Probleme, die nichtdeterministisch in

polynomieller Zeit entscheidbar sind.

Ein Entscheidungsproblem ist genau dann in NP, wenn eine gegebene

Losung fur das entsprechende Suchproblem in Polynomialzeit uberpruft

werden kann.

SAT ist in NP:

• Rate eine “Losung” (Interpretation A mit A(F ) = 1)

• Uberprufe, ob A wirklich eine “Losung” ist (i.e. ob A(F ) = 1)

kann in Polynomialzeit uberpruft werden

30

Page 31: Logik für Informatiker

NP-Vollstandigkeit

Zur Erinnerung:

“SAT ist NP-vollstandig” heißt:

• SAT ist nichtdeterministisch in polynomieller Zeit entscheidbar

31

Page 32: Logik für Informatiker

NP-Vollstandigkeit

Zur Erinnerung:

“SAT ist NP-vollstandig” heißt:

• SAT ist nichtdeterministisch in polynomieller Zeit entscheidbar

• Jedes nichtdeterministisch in polynomieller Zeit entscheidbare Problem

kann in polynomieller Zeit auf SAT reduziert werden

32

Page 33: Logik für Informatiker

NP-Vollstandigkeit

Zur Erinnerung:

“SAT ist NP-vollstandig” heißt:

• SAT ist nichtdeterministisch in polynomieller Zeit entscheidbar

• Jedes nichtdeterministisch in polynomieller Zeit entscheidbare Problem

kann in polynomieller Zeit auf SAT reduziert werden

• Wenn es stimmt, dass NP 6= P, dann ist SAT nicht in polynomieller

Zeit entscheidbar

33

Page 34: Logik für Informatiker

Teilklassen des Erfullbarkeitsproblems

Definition:

k-KNF Formel: KNF-Formeln, deren Klauseln hochstens k Literale haben

34

Page 35: Logik für Informatiker

Teilklassen des Erfullbarkeitsproblems

Definition:

k-KNF Formel: KNF-Formeln, deren Klauseln hochstens k Literale haben

Theorem

• Erfullbarkeit fur Formeln in KNF: NP-vollstandig (ohne Beweis)

35

Page 36: Logik für Informatiker

Teilklassen des Erfullbarkeitsproblems

Definition:

k-KNF Formel: KNF-Formeln, deren Klauseln hochstens k Literale haben

Theorem

• Erfullbarkeit fur Formeln in KNF: NP-vollstandig (ohne Beweis)

• Erfullbarkeit fur Formeln in 3-KNF: NP-vollstandig (Beweisidee)

36

Page 37: Logik für Informatiker

Teilklassen des Erfullbarkeitsproblems

Definition:

k-KNF Formel: KNF-Formeln, deren Klauseln hochstens k Literale haben

Theorem

• Erfullbarkeit fur Formeln in KNF: NP-vollstandig (ohne Beweis)

• Erfullbarkeit fur Formeln in 3-KNF: NP-vollstandig (Beweisidee)

• Erfullbarkeit fur Formeln in 2-KNF: polynomiell entscheidbar

• Erfullbarkeit fur Formeln in DNF: polynomiell entscheidbar

37

Page 38: Logik für Informatiker

Horn-Formeln

Defintion:

Horn-Formel: Formel in KNF, in der jede Klausel hochstens ein positives

Literal enthalt

38

Page 39: Logik für Informatiker

Horn-Formeln

Defintion:

Horn-Formel: Formel in KNF, in der jede Klausel hochstens ein positives

Literal enthalt

Notation: als Implikation

¬P1 ∨ · · · ∨ ¬Pn ∨ P P1 ∧ · · · ∧ Pn → P

¬P1 ∨ · · · ∨ ¬Pn PA ∧ · · · ∧ Pn →

P → P

39

Page 40: Logik für Informatiker

Horn-Formeln

Defintion:

Horn-Formel: Formel in KNF, in der jede Klausel hochstens ein positives

Literal enthalt

Notation: als Implikation

¬P1 ∨ · · · ∨ ¬Pn ∨ P P1 ∧ · · · ∧ Pn → P

¬P1 ∨ · · · ∨ ¬Pn PA ∧ · · · ∧ Pn →

P → P

P1 ∧ · · · ∧ Pn : Rumpf

P: Kopf

40

Page 41: Logik für Informatiker

Horn Formel: Beispiele

Klausel Literalmengen Implikationen

41

Page 42: Logik für Informatiker

Horn Formel: Beispiele

Klausel Literalmengen Implikationen

¬P {¬P} P →

42

Page 43: Logik für Informatiker

Horn Formel: Beispiele

Klausel Literalmengen Implikationen

¬P {¬P} P →

Q ∨ ¬R ∨ ¬S {Q,¬R,¬S} R ∧ S → Q

43

Page 44: Logik für Informatiker

Horn Formel: Beispiele

Klausel Literalmengen Implikationen

¬P {¬P} P →

Q ∨ ¬R ∨ ¬S {Q,¬R,¬S} R ∧ S → Q

¬Q ∨ ¬S {¬Q,¬S} Q ∧ S →

44

Page 45: Logik für Informatiker

Horn Formel: Beispiele

Klausel Literalmengen Implikationen

¬P {¬P} P →

Q ∨ ¬R ∨ ¬S {Q,¬R,¬S} R ∧ S → Q

¬Q ∨ ¬S {¬Q,¬S} Q ∧ S →

R {R} → R

¬Q ∨ P {¬Q,P} Q → P

45

Page 46: Logik für Informatiker

Horn Formel: Beispiele

Klausel Literalmengen Implikationen

¬P {¬P} P →

Q ∨ ¬R ∨ ¬S {Q,¬R,¬S} R,S → Q

¬Q ∨ ¬S {¬Q,¬S} Q,S →

R {R} → R

¬Q ∨ P {¬Q,P} Q → P

46