Database Reference
In-Depth Information
5.2
COMPILING P ()
Compiling a propositional formula means converting the formula into a Boolean circuit that
has some nice properties, ensuring that we can compute P () in linear time in the size of the
circuit. Several types of circuits have been discussed in the verification and in the AI communities,
which trade off representation power with ease of construction. Whenever a tractable compilation
is possible, then P () is computable in polynomial time, but the converse is not necessarily true.
We review here four compilation targets: read once formulas, OBDDs, FBDDs, and d-DNNFs.
Throughout this section, we assume that all discrete variables X are Boolean variables, i.e.,
their domain is
. A circuit for a formula is a rooted, labeled DAG computing , with
the following types of gates and restrictions:
{
false, true
}
Independent AND Such a gate has n
0 children, representing formulas 1 ,..., n ; the gate
represents the formula 1 ∧···∧ n . The following property is required to hold: for all i = j ,
Va r ( i )
Va r ( j )
=∅
.
Independent OR Such a gate has n
0 children, representing formulas 1 ,..., n ; the gate
represents the formula 1 ∨···∨ n . The following property is required to hold: for all
i = j , Va r ( i )
Va r ( j ) =∅
.
Disjoint OR Such a gate has n 0 children, representing formulas 1 ,..., n ; the gate represents
the formula 1 ∨···∨
n . The following property is required to hold: for all i
=
j , i
j
false .
¬ .
NOT Has a single child; if the child represents , then the gate represents
Conditional gate The gate is labeled with a Boolean variable X and has two children. The edges
leading to the children are labeled with X = 0 and X = 1, respectively. The node computes
the formula ( ¬ X 0 ) (X 1 ) , where 0 and 1 are the formulas represented by the
two children. The following property must hold X
Va r ( 0 ) and X
Va r ( 1 ) .
Leaf Node The gate is labeled either with 0 or 1 representing either false or true , respectively, or
with a variable X .
Algorithm 2 can be modified easily to compute a circuit for instead of computing the
probability P () directly: each rule in the algorithm will construct a gate of the corresponding type.
Moreover, given any circuit for , one can compute the probability P () in linear time in the size
of the circuit, by traversing the nodes in topological order, and computing the probability at each
node from the probabilities of the children.
The goal of compilation is to find a circuit for satisfying the restrictions above, and whose
size is polynomial in the size of .
We consider four compilation targets: read-once formulas, OBDD, FBDD, and d-DNNF ¬ .
We review them here, in decreasing order of their expressive power.
Search WWH ::




Custom Search