Next: Inference and Resolution
Up: Unit Propagation
Previous: Unit Propagation
Generalizing the idea of watched literals
is no more difficult. We make the following definition:
Definition 3.9
Let
be a clause. A
watching set for
is any set
of variables with the property that
cannot be unit
as long as all of the variables in
are either unvalued or
satisfied.
Proposition 3.10
Given a clause
of the form
,
let
be any set of variables. Then
is a watching set for
if and only if
|
(22) |
where the sum and maximum are taken over literals involving variables in
.
Proof. Suppose that all of the variables in are unvalued or
satisfied. Now let be any unvalued literal in . If
, then
and thus
since
. If, on the other hand, , then
and
Combining these, we get
Either way, we cannot have
and Proposition 3.8 therefore
implies that cannot be unit. It follows that is a watching set.
The converse is simpler. If
, value
every literal outside of so as to make false. Now
, so if is the literal in with greatest
weight, the associated weight satisfies
and
is unit. Thus cannot be a watching set.
This generalizes the definition from the Boolean case, a fact made
even more obvious by:
Corollary 3.11
Given a cardinality constraint
requiring at
least
of the associated literals to be true,
is a watching set
for
if and only if it includes at least
literals in
.
Proof. The expression (22) becomes
or
Next: Inference and Resolution
Up: Unit Propagation
Previous: Unit Propagation
Matt Ginsberg
2004-02-19