binary decision diagrams (bdd’sartale/fm/slide7.pdf · alessandro artale (fm – first semester...

38
F ORMAL M ETHODS L ECTURE VI B INARY D ECISION D IAGRAMS (BDD’ S ) Alessandro Artale Faculty of Computer Science – Free University of Bolzano [email protected] http://www.inf.unibz.it/artale/ Some material (text, figures) displayed in these slides is courtesy of: M. Benerecetti, A. Cimatti, M. Fisher, F. Giunchiglia, M. Pistore, M. Roveri, R.Sebastiani. Alessandro Artale (FM – First Semester – 2009/2010) – p. 1/38

Upload: others

Post on 26-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

FORMAL METHODS

LECTURE VI

BINARY DECISION DIAGRAMS (BDD’S)

Alessandro Artale

Faculty of Computer Science – Free University of Bolzano

[email protected] http://www.inf.unibz.it/∼artale/

Some material (text, figures) displayed in these slides is courtesy of:

M. Benerecetti, A. Cimatti, M. Fisher, F. Giunchiglia, M. Pistore, M. Roveri, R.Sebastiani.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 1/38

Page 2: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Summary of Lecture VI

Motivations.

Ordered Binary Decision Diagrams (OBDD).

OBDD’s as Canonical Forms.

Building OBDD’s.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 2/38

Page 3: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

State Space Explosion

The bottleneck:

Exhaustive analysis may require to store all the statesof the Kripke structure, and to explore them one-by-one.

The state space may be exponential in the number ofcomponents and variables

(E.g., 300 boolean vars ⇒ up to 2300 ≈ 10100 states!)

State Space Explosion:

• Too much memory required;

• Too much CPU time required to explore each state.

A solution: Symbolic Model Checking.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 3/38

Page 4: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Symbolic Model Checking: Intuitions

Symbolic representation of Set of states by formulae inpropositional logic.

• manipulation of sets of states, rather than singlestates;

• manipulation of sets of transitions, rather than singletransitions.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 4/38

Page 5: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Summary

Motivations.

Ordered Binary Decision Diagrams (OBDD).

OBDD’s as Canonical Forms.

Building OBDD’s

Alessandro Artale (FM – First Semester – 2009/2010) – p. 5/38

Page 6: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Ordered Binary Decision Diagrams (OBDD)

Ordered Binary Decision Diagrams (OBDD) are used torepresent formulae in propositional logic.

A simple version: Binary Decision Trees:

• Non-Terminal nodes labeled with booleanvariables/propositions;

• Leaves (terminal nodes) are labeled witheither 0 or 1;

• Two kinds of lines: dashed and solid;

• Paths leading to 1 represent models, while pathsleading to 0 represent counter-models.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 6/38

Page 7: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Binary Decision Trees: An Example

BDT representing the formula: ϕ = ¬x∧¬y.

x

y y

1 0 0 0

The assignment, x = 0,y = 0, makes true the formula.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 7/38

Page 8: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Binary Decision Trees (BDT)

Let T be a BDT, then T determines a unique booleanformula in the following way:

Fixed an assignment for the variables in T we start atthe root and:

• If the value of the variable in the current node is 1we follow the solid line;

• Otherwise, we follow the dashed line;

• The truth value of the formula is given by the valueof the leaf we reach.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 8/38

Page 9: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Binary Decision Trees (Cont.)

BDT’s with multiple occurrences of a variable along a pathare:

1. Rather inefficient (Redundant paths);

2. Difficult to check whether they represent the sameformula (equivalence test). Example of two equivalentBDT’s

x

y z

x 1 y x

0 1 0 1 0 1

x

y y

0 1 z 1

0 1

Alessandro Artale (FM – First Semester – 2009/2010) – p. 9/38

Page 10: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Ordered Decision Trees

Ordered Decision Tree (OBDT): from root to leavesvariables are encountered always in the same orderwithout repetitions along paths.

Example: Ordered Decision tree for ϕ = (a∧b)∨ (c∧d)a

b

cc

d d d d dd d

c

d

b

c

0 0 0 0 0 01 1 0 0 0 1 1 1 1 1

Alessandro Artale (FM – First Semester – 2009/2010) – p. 10/38

Page 11: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Summary

Motivations.

Ordered Binary Decision Diagrams (OBDD).

OBDD’s as Canonical Forms.

Building OBDD’s

Alessandro Artale (FM – First Semester – 2009/2010) – p. 11/38

Page 12: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Reducing the size of Ordered Decision Trees

OBDT’s are still exponential in the number of variables:

Given n variables the OBDT’s will have 2n+1 −1 nodes!

We can reduce the size of OBDT’s by a recursiveapplications of the following reductions:

• Remove Redundancies: Nodes with same left andright children can be eliminated;

• Share Subnodes: Roots of structurally identicalsub-trees can be collapsed.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 12/38

Page 13: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Reduction: Example

a

b

cc

d d d d dd d

c

d

b

c

0 0 0 0 0 01 1 0 0 0 1 1 1 1 1

Alessandro Artale (FM – First Semester – 2009/2010) – p. 13/38

Page 14: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Reduction: Example (Cont.)

Detect redundacies: a

b

cc

d d d d dd d

c

d

b

c

0 0 0 0 0 01 1 0 0 0 1 1 1 1 1

Alessandro Artale (FM – First Semester – 2009/2010) – p. 14/38

Page 15: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Reduction: Example (Cont.)

Remove redundacies: a

b

cc

d d d

c

b

c

0 01 1 0 1

0 0 0 1 1

Alessandro Artale (FM – First Semester – 2009/2010) – p. 15/38

Page 16: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Reduction: Example (Cont.)

Remove redundacies: a

b

cc

d d d

b

c

0 01 1 0 1

0 0 0

1

Alessandro Artale (FM – First Semester – 2009/2010) – p. 16/38

Page 17: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Reduction: Example (Cont.)

Share identical nodes: a

b

cc

d d d

b

c

0 01 1 0 1

0 0 0

1

Alessandro Artale (FM – First Semester – 2009/2010) – p. 17/38

Page 18: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Reduction: Example (Cont.)

Share identical nodes: a

b

c

d

b

0

1

Alessandro Artale (FM – First Semester – 2009/2010) – p. 18/38

Page 19: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Reduction: Example (Cont.)

Detect redundancies: a

b

c

d

b

0

1

Alessandro Artale (FM – First Semester – 2009/2010) – p. 19/38

Page 20: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Reduction: Example (Cont.)

Remove redundancies:

Final OBDD!

a

c

d

b

0

1

Alessandro Artale (FM – First Semester – 2009/2010) – p. 20/38

Page 21: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

OBDD’s as Canonical Forms

⊲ Definition. Given two OBDD’s, Bϕ,Bψ, they have a

compatible variable ordering if there are no variables x,ysuch that x < y in Bϕ while y < x in Bψ.

⊲ Theorem. A Reduced OBDD is a Canonical Form of aboolean formula: Once a variable ordering is established(i.e., OBDD’s have compatible variable ordering), equivalentformulas are represented by the same OBDD:

ϕ1 ⇔ ϕ2 iff OBDD(ϕ1) ≡ OBDD(ϕ2)

Alessandro Artale (FM – First Semester – 2009/2010) – p. 21/38

Page 22: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Importance of OBDD’s

Canonical forms for OBDD’s allow us to perform in anefficient way the following tests:

Equivalence check is simple:We test whether the reduced and order compatibleOBDD’s have identical structure.Validity check requires constant time!ϕ ⇔⊤ iff the reduced OBDD Bϕ ≡ B⊤

(un)satisfiability check requires constant time!ϕ ⇔⊥ iff the reduced OBDD Bϕ ≡ B⊥

The set of the paths from the root to 1 represent all themodels of the formula;

The set of the paths from the root to 0 represent all thecounter-models of the formula.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 22/38

Page 23: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Importance of Variable Ordering

Changing the ordering of variables may increase the size ofOBDD’s. Example, two OBDD’s for the formula:

ϕ = (a1 ⇔ b1)∧ (a2 ⇔ b2)∧ (a3 ⇔ b3)

True False

a1

b1

a2

b2 b2

a3

b3 b3

b1

b1b1b1b1b1b1b1b1

a3 a3 a3 a3

a2a2

a1

b3 b3

b2b2b2b2

FalseTrue

Linear size Exponential size

Alessandro Artale (FM – First Semester – 2009/2010) – p. 23/38

Page 24: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Summary

Motivations.

Ordered Binary Decision Diagrams (OBDD).

OBDD’s as Canonical Forms.

Building OBDD’s.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 24/38

Page 25: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

The REDUCE Algorithm

Notation. Given a non-terminal node, n, then lo(n) denotesthe node pointed via the dashed line, while hi(n) denotesthe node pointed by the solid line.

Given an OBDD, REDUCE proceeds bottom-up assigning aninteger label, id(n), to each node:

1. Assign label 0 to all 0-terminals and label 1 to all1-terminals. Given now a non-terminal node for xi, sayn, then:

2. If id(lo(n)) = id(hi(n)), then id(n) = id(lo(n));

3. If there is another node for xi, say m, such thatid(lo(n)) = id(lo(m)) and id(hi(n)) = id(hi(m)), then,id(n) = id(m);

4. Otherwise we set id(n) to the next unused integer.Alessandro Artale (FM – First Semester – 2009/2010) – p. 25/38

Page 26: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

The Reduce Algorithm (Cont)

• REDUCE Final Step: Collapsing nodes with the samelabel and redirecting edges accordingly with the nodecollapsing.

• Example: See Figure 6.14 from the book.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 26/38

Page 27: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Recursive structure of OBDD’s

Given a formula ϕ and a variable orderingX = {x1,x2, . . . ,xn}, the algorithm to build OBDD’s fromformulas, OBDD(ϕ,X), operates recursively:

1. If ϕ = ⊤, then, OBDD(⊤,X) = B⊤ = 1;

2. If ϕ = ⊥, then, OBDD(⊥,X) = B⊥ = 0;

3. If ϕ = xi, then, OBDD(xi,X) =

Bxixi

1 0

4. If ϕ = ¬ϕ1, then, OBDD(¬ϕ1,X) is obtained by negatingthe terminal nodes of OBDD(ϕ1,X);

5. If ϕ = ϕ1 op ϕ2 (op a binary boolean operator), then,OBDD(ϕ1 op ϕ2,X) = apply(op,OBDD(ϕ1,X),OBDD(ϕ2,X)).

Alessandro Artale (FM – First Semester – 2009/2010) – p. 27/38

Page 28: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

The algorithm APPLY

Given two OBDD’s, Bϕ,Bψ, the call apply(op,Bϕ,Bψ)computes the reduced OBDD of the formula ϕ op ψ.

The algorithms operates recursively on the structure ofthe two OBDD’s:

1. Let x be the variable highest in the ordering whichoccurs in Bϕ or Bψ, then

2. Split the problem in two sub-problems: one for x

being true and the other for x being false and solverecursively;

3. At the leaves, apply the boolean operation directly.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38

Page 29: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

The algorithm APPLY (Cont.)

Definition. Let ϕ be a formula and x a variable. We denoteby ϕ[0/x] (ϕ[1/x]) the formula obtained by replacing alloccurrences of x in ϕ by 0 (1).

This allow us to split boolean formulas in simpler ones.

Lemma [Shannon Expansion]. Let ϕ be a formula and x avariable, then:

ϕ ≡ (x∧ϕ[1/x])∨ (¬x∧ϕ[0/x])

The function APPLY is based on the Shannon Expansion:

ϕopψ ≡ (x∧ (ϕ[1/x]opψ[1/x]))∨ (¬x∧ (ϕ[0/x]opψ[0/x]))

Alessandro Artale (FM – First Semester – 2009/2010) – p. 29/38

Page 30: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

The algorithm APPLY (Cont.)

Apply(op,Bϕ,Bψ) proceeds from the roots downward. Let

rϕ,rψ the roots of Bϕ,Bψ respectively:

1. If both rϕ,rψ are terminal nodes, then,

Apply(op,Bϕ,Bψ) = B(rϕ op rψ);

2. If both roots are xi-nodes, then create an xi-node with adashed line to Apply(op,Blo(rϕ),Blo(rψ)) and a solid line to

Apply(op,Bhi(rϕ),Bhi(rψ));

3. If rϕ is an xi-node, but rψ is a terminal node or an

x j-node with j > i (i.e., ψ[0/xi] ≡ ψ[1/xi] ≡ ψ), thencreate an xi-node with dashed line toApply(op,Blo(rϕ),Bψ) and solid line to Apply(op,Bhi(rϕ),Bψ);

4. If rψ is an xi-node, but rϕ is a terminal node or an

x j-node with j > i, is handled as above.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 30/38

Page 31: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

OBBD Incremental Building: An Example

ϕ = (A1 ∨A2)∧ (A1 ∨¬A2)∧ (¬A1 ∨A2)∧ (¬A1 ∨¬A2)

T F

A2

A1

T F

A2

A1

T F

A2

A1

T F

A2

A1

A1

T F

A1

T F

F

(A1 v −A2)(A1 v A2) (−A1 v A2) (−A2 v −A2)

(A1 v A2) ^ (A1 v −A2) (−A1 v A2) ^ (−A1 v −A2)

(A1 v A2) ^ (A1 v −A2) (−A1 v A2) ^ (−A1 v −A2)^

Alessandro Artale (FM – First Semester – 2009/2010) – p. 31/38

Page 32: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Boolean Quantification

Quantifying over boolean variables is a crucial operationto compute Preimages (i.e., the next-time operator).

If x is a boolean variable, then

∃x.ϕ ≡ ϕ[0/x]∨ϕ[1/x]

∀x.ϕ ≡ ϕ[0/x]∧ϕ[1/x]

Let W = {w1, . . . ,wn). Multi-variable quantification:

∃W.ϕ ≡ ∃(w1, . . . ,wn).ϕ ≡ ∃w1 . . .∃wn.ϕ

Alessandro Artale (FM – First Semester – 2009/2010) – p. 32/38

Page 33: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

The RESTRICT Algorithm

To compute the OBDD for ∃x.ϕ we need to compute theOBDD for both ϕ[0/x] and ϕ[1/x].

Bϕ[0/x] = RESTRICT(0,x,Bϕ).

For each node n labeled with x, then:

1. Incoming edges are redirected to lo(n);

2. n is removed.

Bϕ[1/x] = RESTRICT(1,x,Bϕ).

As above, only redirect incoming edges to hi(n).

Alessandro Artale (FM – First Semester – 2009/2010) – p. 33/38

Page 34: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Boolean Quantification (Cont.)

B∃x.ϕ = APPLY(∨, RESTRICT(0,x,Bϕ), RESTRICT(1,x,Bϕ))

x1

y1

x2

y2

x3

y3

0 1

x1

y1

x2

y2

0 1

RESTRICT(0,x3 ,Bϕ)

x1

y1

x2

y2

y3

0 1

RESTRICT(1,x3 ,Bϕ)

Alessandro Artale (FM – First Semester – 2009/2010) – p. 34/38

Page 35: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Boolean Quantification (Cont.)

B∃x.ϕ = APPLY(∨, RESTRICT(0,x,Bϕ), RESTRICT(1,x,Bϕ))

x1

y1

x2

y2

0 1

RESTRICT(0,x3 ,Bϕ)

x1

y1

x2

y2

y3

0 1

RESTRICT(1,x3 ,Bϕ)

x1

y1

x2

y2

y3

0 1

∃x3.Bϕ

Alessandro Artale (FM – First Semester – 2009/2010) – p. 35/38

Page 36: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Time Complexity

Algorithm Time-Complexity

REDUCE(B) O(|B | ×log |B |)

APPLY(op,Bϕ,Bψ) O(|Bϕ | × |Bψ |)

N.B. The above complexity results depend from the size ofthe input OBDD’s:

The size of OBDD’s may grow exponentially wrt. thenumber of variables in worst-case.

Example: there exist no polynomial-size OBDDrepresenting the electronic circuit of a bitwise multiplier.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 36/38

Page 37: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

OBDD – Summary

Require setting a variable ordering a priori (critical!)

Normal representation of a boolean formula.

Once built, logical operations (satisfiability, validity,equivalence) immediate.

Represents all models and counter-models of theformula.

Require exponential space in worst-case.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 37/38

Page 38: BINARY DECISION DIAGRAMS (BDD’Sartale/FM/slide7.pdf · Alessandro Artale (FM – First Semester – 2009/2010) – p. 28/38. The algorithm APPLY (Cont.) Definition. Let ϕ be a

Summary of Lecture VI

Motivations.

Ordered Binary Decision Diagrams (OBDD).

OBDD’s as Canonical Forms.

Building OBDD’s.

Alessandro Artale (FM – First Semester – 2009/2010) – p. 38/38