Propositional Logic Combinatorial Problem Solving (CPS) Albert - - PowerPoint PPT Presentation

propositional logic
SMART_READER_LITE
LIVE PREVIEW

Propositional Logic Combinatorial Problem Solving (CPS) Albert - - PowerPoint PPT Presentation

Propositional Logic Combinatorial Problem Solving (CPS) Albert Oliveras Enric Rodr guez-Carbonell May 15, 2020 Overview of the session Definition of Propositional Logic General Concepts in Logic Reduction to SAT CNFs and


slide-1
SLIDE 1

Propositional Logic

Combinatorial Problem Solving (CPS)

Albert Oliveras Enric Rodr´ ıguez-Carbonell

May 15, 2020

slide-2
SLIDE 2

Overview of the session

1 / 18

■ Definition of Propositional Logic ■

General Concepts in Logic

Reduction to SAT

CNFs and DNFs

Tseitin Transformation

Problem Solving with SAT

Resolution

slide-3
SLIDE 3

Definition of Propositional Logic

2 / 18

SYNTAX (what is a formula?):

There is a set P of propositional variables, usually denoted by (subscripted) p, q, r, . . .

The set of propositional formulas over P is defined as:

Every propositional variable is a formula

If F is a formula, ¬F is also a formula

If F and G are formulas, (F ∧ G) is also a formula

If F and G are formulas, (F ∨ G) is also a formula

Nothing else is a formula

Formulas are usually denoted by (subscripted) F, G, H, . . .

Examples: p ¬p (p ∨ q) ¬(p ∧ q) (p ∧ (¬p ∨ q)) ((p ∧ q) ∨ (r ∨ ¬q)) . . .

slide-4
SLIDE 4

Definition of Propositional Logic

3 / 18

SEMANTICS (what is an interpretation I, when I satisfies F?):

An interpretation I over P is a function I : P → {0, 1}.

evalI : Formulas → {0, 1} is a function defined as follows:

evalI(p) = I(p)

evalI(¬F) = 1 − evalI(F)

evalI( (F ∧ G) ) = min{evalI(F), evalI(G)}

evalI( (F ∨ G) ) = max{evalI(F), evalI(G)}

I satisfies F (written I | = F) if and only if evalI(F) = 1.

If I | = F we say that

I is a model of F or, equivalently

F is true in I.

slide-5
SLIDE 5

Definition of Propositional Logic

4 / 18

EXAMPLE:

Let F be the formula (p ∧ (q ∨ ¬r)).

Let I be such that I(p) = I(r) = 1 and I(q) = 0.

Let us compute evalI(F) (use your intuition first!)

Is there any I such that I | = F?

slide-6
SLIDE 6

Definition of Propositional Logic

4 / 18

EXAMPLE:

Let F be the formula (p ∧ (q ∨ ¬r)).

Let I be such that I(p) = I(r) = 1 and I(q) = 0.

Let us compute evalI(F) (use your intuition first!) evalI((p ∧ (q ∨ ¬r))) =

Is there any I such that I | = F?

slide-7
SLIDE 7

Definition of Propositional Logic

4 / 18

EXAMPLE:

Let F be the formula (p ∧ (q ∨ ¬r)).

Let I be such that I(p) = I(r) = 1 and I(q) = 0.

Let us compute evalI(F) (use your intuition first!) evalI((p ∧ (q ∨ ¬r))) = min{ evalI(p), evalI((q ∨ ¬r)) }

Is there any I such that I | = F?

slide-8
SLIDE 8

Definition of Propositional Logic

4 / 18

EXAMPLE:

Let F be the formula (p ∧ (q ∨ ¬r)).

Let I be such that I(p) = I(r) = 1 and I(q) = 0.

Let us compute evalI(F) (use your intuition first!) evalI((p ∧ (q ∨ ¬r))) = min{ evalI(p), evalI((q ∨ ¬r)) } = min{ evalI(p), max{ evalI(q), evalI(¬r)} }

Is there any I such that I | = F?

slide-9
SLIDE 9

Definition of Propositional Logic

4 / 18

EXAMPLE:

Let F be the formula (p ∧ (q ∨ ¬r)).

Let I be such that I(p) = I(r) = 1 and I(q) = 0.

Let us compute evalI(F) (use your intuition first!) evalI((p ∧ (q ∨ ¬r))) = min{ evalI(p), evalI((q ∨ ¬r)) } = min{ evalI(p), max{ evalI(q), evalI(¬r)} } = min{ evalI(p), max{ evalI(q), 1 − evalI(r)} }

Is there any I such that I | = F?

slide-10
SLIDE 10

Definition of Propositional Logic

4 / 18

EXAMPLE:

Let F be the formula (p ∧ (q ∨ ¬r)).

Let I be such that I(p) = I(r) = 1 and I(q) = 0.

Let us compute evalI(F) (use your intuition first!) evalI((p ∧ (q ∨ ¬r))) = min{ evalI(p), evalI((q ∨ ¬r)) } = min{ evalI(p), max{ evalI(q), evalI(¬r)} } = min{ evalI(p), max{ evalI(q), 1 − evalI(r)} } = min{ I(p), max{ I(q), 1 − I(r)} }

Is there any I such that I | = F?

slide-11
SLIDE 11

Definition of Propositional Logic

4 / 18

EXAMPLE:

Let F be the formula (p ∧ (q ∨ ¬r)).

Let I be such that I(p) = I(r) = 1 and I(q) = 0.

Let us compute evalI(F) (use your intuition first!) evalI((p ∧ (q ∨ ¬r))) = min{ evalI(p), evalI((q ∨ ¬r)) } = min{ evalI(p), max{ evalI(q), evalI(¬r)} } = min{ evalI(p), max{ evalI(q), 1 − evalI(r)} } = min{ I(p), max{ I(q), 1 − I(r)} } = min{ 1, max{ 0, 1 − 1} }

Is there any I such that I | = F?

slide-12
SLIDE 12

Definition of Propositional Logic

4 / 18

EXAMPLE:

Let F be the formula (p ∧ (q ∨ ¬r)).

Let I be such that I(p) = I(r) = 1 and I(q) = 0.

Let us compute evalI(F) (use your intuition first!) evalI((p ∧ (q ∨ ¬r))) = min{ evalI(p), evalI((q ∨ ¬r)) } = min{ evalI(p), max{ evalI(q), evalI(¬r)} } = min{ evalI(p), max{ evalI(q), 1 − evalI(r)} } = min{ I(p), max{ I(q), 1 − I(r)} } = min{ 1, max{ 0, 1 − 1} } =

Is there any I such that I | = F?

slide-13
SLIDE 13

Definition of Propositional Logic

4 / 18

EXAMPLE:

Let F be the formula (p ∧ (q ∨ ¬r)).

Let I be such that I(p) = I(r) = 1 and I(q) = 0.

Let us compute evalI(F) (use your intuition first!) evalI((p ∧ (q ∨ ¬r))) = min{ evalI(p), evalI((q ∨ ¬r)) } = min{ evalI(p), max{ evalI(q), evalI(¬r)} } = min{ evalI(p), max{ evalI(q), 1 − evalI(r)} } = min{ I(p), max{ I(q), 1 − I(r)} } = min{ 1, max{ 0, 1 − 1} } =

Is there any I such that I | = F?

slide-14
SLIDE 14

Definition of Propositional Logic

4 / 18

EXAMPLE:

Let F be the formula (p ∧ (q ∨ ¬r)).

Let I be such that I(p) = I(r) = 1 and I(q) = 0.

Let us compute evalI(F) (use your intuition first!) evalI((p ∧ (q ∨ ¬r))) = min{ evalI(p), evalI((q ∨ ¬r)) } = min{ evalI(p), max{ evalI(q), evalI(¬r)} } = min{ evalI(p), max{ evalI(q), 1 − evalI(r)} } = min{ I(p), max{ I(q), 1 − I(r)} } = min{ 1, max{ 0, 1 − 1} } =

Is there any I such that I | = F? YES, I(p) = I(q) = I(r) = 1 is a possible model.

slide-15
SLIDE 15

Definition of Propositional Logic

5 / 18

EXAMPLE

We have 3 pigeons and 2 holes. If each hole can have at most one pigeon, is it possible to place all pigeons in the holes?

Vocabulary: pi,j means i-th pigeon is in j-th hole

Each pigeon is placed in at least one hole: (p1,1 ∨ p1,2) ∧ (p2,1 ∨ p2,2) ∧ (p3,1 ∨ p3,2)

Each hole can hold at most one pigeon: ¬(p1,1 ∧ p2,1) ∧ ¬(p1,1 ∧ p3,1) ∧ ¬(p2,1 ∧ p3,1) ∧ ¬(p1,2 ∧ p2,2) ∧ ¬(p1,2 ∧ p3,2) ∧ ¬(p2,2 ∧ p3,2)

Resulting formula has no model

slide-16
SLIDE 16

Definition of Propositional Logic

6 / 18

A small syntax extension:

We will write (F → G) as an abbreviation for (¬F ∨ G)

Similarly, (F ↔ G) is an abbreviation of ((F → G) ∧ (G → F))

slide-17
SLIDE 17

Overview of the session

6 / 18

Definition of Propositional Logic

■ General Concepts in Logic

Reduction to SAT

CNFs and DNFs

Tseitin Transformation

Problem Solving with SAT

Resolution

slide-18
SLIDE 18

General Concepts in Logic

7 / 18

Let F and G be arbitrary formulas. Then:

F is satisfiable if it has at least one model

F is unsatisfiable (also a contradiction) if it has no model

F is a tautology if every interpretation is a model of F

G is a logical consequence of F, denoted F | = G, if every model of F is a model of G

F and G are logically equivalent, denoted F ≡ G, if F and G have the same models Note that:

All definitions are only based on the concept of model.

Hence they are independent of the logic.

slide-19
SLIDE 19

General Concepts in Logic

8 / 18

p

Circuit corresponds to formula (¬p ∧ p)

Formula unsatisfiable amounts to “circuit output is always 0” p

Circuit corresponds to formula (¬p ∨ p)

Formula is a tautology amounts to “circuit output is always 1”

slide-20
SLIDE 20

General Concepts in Logic

9 / 18

p p q q

Circuit on the left corresponds to formula F := ¬(p ∧ q)

Circuit on the right corresponds to formula G := (¬p ∨ ¬q)

They are functionally equivalent, i.e. same inputs produce same output

That corresponds to saying F ≡ G

Cheapest / fastest / less power-consuming circuit is then chosen

slide-21
SLIDE 21

General Concepts in Logic

10 / 18

r s

e1 e2 e3 e4 e5 e6 e7 p p q q Is e1 always dif- ferent from e5? e1 = e5 in the circuit amounts to e1 ↔ (p ∧ q) ∧ e2 ↔ (r ∨ s) ∧ e3 ↔ (e1 ∧ e2) ∧ e4 ↔ (e3 ∨ e5) ∧ e5 ↔ (e6 ∧ e7) ∧ e6 ↔ (¬p) ∧ e7 ↔ (¬q)                    | = e1 ↔ ¬e5

slide-22
SLIDE 22

Reduction to SAT

11 / 18

Assume we have a black box SAT that given a formula F:

SAT(F) = YES iff F is satisfiable

SAT(F) = NO iff F is unsatisfiable How to reuse SAT for detecting tautology, logical consequences, ...?

F tautology iff SAT(¬F) = NO

F | = G iff SAT(F ∧ ¬G) = NO

F ≡ G iff SAT((F ∧ ¬G) ∨ (¬F ∧ G)) = NO

slide-23
SLIDE 23

Reduction to SAT

11 / 18

Assume we have a black box SAT that given a formula F:

SAT(F) = YES iff F is satisfiable

SAT(F) = NO iff F is unsatisfiable How to reuse SAT for detecting tautology, logical consequences, ...?

F not taut. iff SAT(¬F) = YES

F | = G iff SAT(F ∧ ¬G) = YES

F ≡ G iff SAT((F ∧ ¬G) ∨ (¬F ∧ G)) = YES

slide-24
SLIDE 24

Reduction to SAT

11 / 18

Assume we have a black box SAT that given a formula F:

SAT(F) = YES iff F is satisfiable

SAT(F) = NO iff F is unsatisfiable How to reuse SAT for detecting tautology, logical consequences, ...?

F tautology iff SAT(¬F) = NO

F | = G iff SAT(F ∧ ¬G) = NO

F ≡ G iff SAT((F ∧ ¬G) ∨ (¬F ∧ G)) = NO Hence, a single tool suffices: all problems can be reduced to SAT (propositional SATisfiability) The black box SAT will be called a SAT solver GOAL: learn how to build a SAT solver

slide-25
SLIDE 25

Overview of the session

11 / 18

Definition of Propositional Logic

General Concepts in Logic

Reduction to SAT

■ CNFs and DNFs

Tseitin Transformation

Problem Solving with SAT

Resolution

slide-26
SLIDE 26

CNFs and DNFs

12 / 18

In order to construct our SAT solver it will simplify our job to assume that the formula F has a given format.

A literal is a propositional variable (p) or a negation of one (¬p)

A clause is a disjunction of zero or more literals (l1 ∨ . . . ln)

The empty clause (zero lits.) is denoted ✷ and is unsatisfiable

A formula is in Conjunctive Normal Form (CNF) if it is a conjunction of zero or more disjunctions of literals (i.e., clauses)

A formula is in Disjunctive Normal Form (DNF) if it is a disjunction of zero or more conjunctions of literals Examples: p ∧ (q ∨ ¬r) ∧ (q ∨ p ∨ ¬r) is in CNF p ∨ (q ∧ ¬r) ∨ (q ∧ p ∧ ¬r) is in DNF

slide-27
SLIDE 27

CNFs and DNFs

13 / 18

Given a formula F there exist formulas

G in CNF with F ≡ G and (G is said to be a CNF of F)

H in DNF with F ≡ H (H is said to be a DNF of F)

Which is the complexity of deciding whether F is satisfiable...

... if F is an arbitrary formula?

... if F is in CNF?

... if F is in DNF?

slide-28
SLIDE 28

CNFs and DNFs

13 / 18

Given a formula F there exist formulas

G in CNF with F ≡ G and (G is said to be a CNF of F)

H in DNF with F ≡ H (H is said to be a DNF of F)

Which is the complexity of deciding whether F is satisfiable...

... if F is an arbitrary formula? NP-complete (Cook’s Theorem)

... if F is in CNF?

... if F is in DNF?

slide-29
SLIDE 29

CNFs and DNFs

13 / 18

Given a formula F there exist formulas

G in CNF with F ≡ G and (G is said to be a CNF of F)

H in DNF with F ≡ H (H is said to be a DNF of F)

Which is the complexity of deciding whether F is satisfiable...

... if F is an arbitrary formula? NP-complete (Cook’s Theorem)

... if F is in CNF? NP-complete (even if clauses have ≤ 3 literals!)

... if F is in DNF?

slide-30
SLIDE 30

CNFs and DNFs

13 / 18

Given a formula F there exist formulas

G in CNF with F ≡ G and (G is said to be a CNF of F)

H in DNF with F ≡ H (H is said to be a DNF of F)

Which is the complexity of deciding whether F is satisfiable...

... if F is an arbitrary formula? NP-complete (Cook’s Theorem)

... if F is in CNF? NP-complete (even if clauses have ≤ 3 literals!)

... if F is in DNF? linear Procedure SAT(F) Input: formula F in DNF Output: YES if there exists I such that I | = F, NO otherwise

  • 1. If the DNF is empty then return NO.

Else take a conjunction of literals C of the DNF

  • 2. If there is a variable p such that both p, ¬p appear in C,

then C cannot be made true: remove it and go to step 1. Else define I to make C true and return YES.

slide-31
SLIDE 31

CNFs and DNFs

14 / 18

Idea: given F, find a DNF of F and apply the linear-time algorithm

Why this does not work?

slide-32
SLIDE 32

CNFs and DNFs

14 / 18

Idea: given F, find a DNF of F and apply the linear-time algorithm

Why this does not work? Finding a DNF of F may take exponential time

In fact there are formulas for which CNFs/DNFs have exponential size

slide-33
SLIDE 33

CNFs and DNFs

14 / 18

Idea: given F, find a DNF of F and apply the linear-time algorithm

Why this does not work? Finding a DNF of F may take exponential time

In fact there are formulas for which CNFs/DNFs have exponential size

Consider xor defined as xor(x1) = x1 and if n > 1: xor(x1, ..., xn) = (xor(x1, ..., x⌊ n

2 ⌋)

∧ ¬xor(x⌊ n

2 ⌋+1, ..., xn)) ∨

(¬xor(x1, ..., x⌊ n

2 ⌋)

∧ xor(x⌊ n

2 ⌋+1, ..., xn))

The size of xor(x1, ..., xn) is Θ(n2)

Cubes (conjunctions of literals) of a DNF of xor(x1, ..., xn) have n literals

Any DNF of xor(x1, ..., xn) has at least 2n−1 cubes (one for each of the assignments with an odd number of 1s)

Any CNF of xor(x1, ..., xn) also has an exponential number of cubes

slide-34
SLIDE 34

CNFs and DNFs

14 / 18

Idea: given F, find a DNF of F and apply the linear-time algorithm

Why this does not work? Finding a DNF of F may take exponential time

In fact there are formulas for which CNFs/DNFs have exponential size

Consider xor defined as xor(x1) = x1 and if n > 1: xor(x1, ..., xn) = (xor(x1, ..., x⌊ n

2 ⌋)

∧ ¬xor(x⌊ n

2 ⌋+1, ..., xn)) ∨

(¬xor(x1, ..., x⌊ n

2 ⌋)

∧ xor(x⌊ n

2 ⌋+1, ..., xn))

The size of xor(x1, ..., xn) is Θ(n2)

Cubes (conjunctions of literals) of a DNF of xor(x1, ..., xn) have n literals

Any DNF of xor(x1, ..., xn) has at least 2n−1 cubes (one for each of the assignments with an odd number of 1s)

Any CNF of xor(x1, ..., xn) also has an exponential number of cubes

Next we’ll see a workaround

slide-35
SLIDE 35

Tseitin Transformation

15 / 18

Let F be (p ∧ q) ∨ ¬( ¬p ∧ (q ∨ ¬r) )

^ ¬ ^ ¬ ¬

∨ ∨ p p q q r

slide-36
SLIDE 36

Tseitin Transformation

15 / 18

Let F be (p ∧ q) ∨ ¬( ¬p ∧ (q ∨ ¬r) )

^ ¬ ^ ¬

1 2 3 4 5 7 6

¬

∨ ∨ p p q q r e e e e e e e

slide-37
SLIDE 37

Tseitin Transformation

15 / 18

Let F be (p ∧ q) ∨ ¬( ¬p ∧ (q ∨ ¬r) )

^ ¬ ^ ¬

1 2 3 4 5 7 6

¬

∨ ∨ p p q q r e e e e e e e

e1

e1 ↔ e2 ∨ e3

e2 ↔ p ∧ q

e3 ↔ ¬e4

e4 ↔ e5 ∧ e6

e5 ↔ ¬p

e6 ↔ q ∨ ¬e7

e7 ↔ ¬r

slide-38
SLIDE 38

Tseitin Transformation

15 / 18

Let F be (p ∧ q) ∨ ¬( ¬p ∧ (q ∨ ¬r) )

^ ¬ ^ ¬

1 2 3 4 5 7 6

¬

∨ ∨ p p q q r e e e e e e e

e1

e1 ↔ e2 ∨ e3 ¬e1 ∨ e2 ∨ e3 ¬e2 ∨ e1 ¬e3 ∨ e1

e2 ↔ p ∧ q

e3 ↔ ¬e4

e4 ↔ e5 ∧ e6

e5 ↔ ¬p

e6 ↔ q ∨ ¬e7

e7 ↔ ¬r

slide-39
SLIDE 39

Tseitin Transformation

15 / 18

Let F be (p ∧ q) ∨ ¬( ¬p ∧ (q ∨ ¬r) )

^ ¬ ^ ¬

1 2 3 4 5 7 6

¬

∨ ∨ p p q q r e e e e e e e

e1

e1 ↔ e2 ∨ e3 ¬e1 ∨ e2 ∨ e3 ¬e2 ∨ e1 ¬e3 ∨ e1

e2 ↔ p ∧ q ¬p ∨ ¬q ∨ e2 ¬e2 ∨ p ¬e2 ∨ q

e3 ↔ ¬e4

e4 ↔ e5 ∧ e6

e5 ↔ ¬p

e6 ↔ q ∨ ¬e7

e7 ↔ ¬r

slide-40
SLIDE 40

Tseitin Transformation

15 / 18

Let F be (p ∧ q) ∨ ¬( ¬p ∧ (q ∨ ¬r) )

^ ¬ ^ ¬

1 2 3 4 5 7 6

¬

∨ ∨ p p q q r e e e e e e e

e1

e1 ↔ e2 ∨ e3 ¬e1 ∨ e2 ∨ e3 ¬e2 ∨ e1 ¬e3 ∨ e1

e2 ↔ p ∧ q ¬p ∨ ¬q ∨ e2 ¬e2 ∨ p ¬e2 ∨ q

e3 ↔ ¬e4 ¬e3 ∨ ¬e4 e3 ∨ e4

e4 ↔ e5 ∧ e6

e5 ↔ ¬p

e6 ↔ q ∨ ¬e7

e7 ↔ ¬r

slide-41
SLIDE 41

Tseitin Transformation

16 / 18

Variations of Tseitin transformation are used in practice in SAT solvers

Tseitin transformation does not produce an equivalent CNF: for example, the Tseitin transformation of F = ¬p is G = e ∧ (¬e ∨ ¬p) ∧ (e ∨ p), and e p F G 1 1 1 1 1 1 1

Still, CNF obtained from F via Tseitin transformation has nice properties:

It is equisatisfiable to F

Any model of CNF projected to the variables in F gives a model of F

Any model of F can be completed to a model of the CNF

Can be computed in linear time in the size of F

Hence no model is lost nor added in the transformation

slide-42
SLIDE 42

Overview of the session

16 / 18

Definition of Propositional Logic

General Concepts in Logic

Reduction to SAT

CNFs and DNFs

Tseitin Transformation

■ Problem Solving with SAT ■

Resolution

slide-43
SLIDE 43

Problem Solving with SAT

17 / 18

No Yes + model

CNF SAT solver Formula Problem

F P

Solutions P = Models F

This is the standard flow when solving problems with SAT

Transformation from P to F is called the encoding into SAT Already seen some examples: pigeon-hole problem Other examples will be seen in the next classes

CNF transformation already explained

Let us see now how to design efficient SAT solvers

slide-44
SLIDE 44

Overview of the session

17 / 18

Definition of Propositional Logic

General Concepts in Logic

Reduction to SAT

CNFs and DNFs

Tseitin Transformation

Problem Solving with SAT

■ Resolution

slide-45
SLIDE 45

Resolution

18 / 18

The resolution rule is p ∨ C ¬p ∨ D C ∨ D

Res(S) = closure of set of clauses S under resolution = = clauses inferred in zero or more steps of resolution from S

Properties:

Resolution is correct: Res(S) only contains logical consequences

Resolution is refutationally complete: if S is unsatisfiable, then ✷ ∈ Res(S)

Res(S) is a finite set of clauses

So, given a set of clauses S, its satisfiability can be checked by: 1. Computing Res(S) 2. If ✷ ∈ Res(S) Then UNSAT ; Else SAT