1 / 18

A decomposition method for CNF minimality proofs

A decomposition method for CNF minimality proofs. Ondrej Cepek Charles University in Prague, Czech Republic jointly with Endre Boros, Petr Kucera, (Petr Savicky, Alex Kogan) Boolean seminar, chateau Liblice , April 13, 2013. Outline. Notation and basic definitions Exclusive sets

Télécharger la présentation

A decomposition method for CNF minimality proofs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A decomposition method for CNF minimality proofs Ondrej Cepek Charles University in Prague, Czech Republic jointly with Endre Boros, Petr Kucera, (Petr Savicky, Alex Kogan) Boolean seminar, chateau Liblice, April 13, 2013

  2. Outline • Notation and basic definitions • Exclusive sets • Definition and examples • Exclusive sets and CNF minimization • Essential sets • Definition and examples • Duality between CNF representations and essential sets • Essential sets and CNF minimization • Minimality proofs • Decomposition theorem • Examples

  3. Boolean basics • Boolean function on n variables is a mapping {0,1}n → {0,1} • Literals = variables and their negations • Clause = disjunction of literals • Clause C is an implicate of function f if f ≤ C • C is a prime implicate of f if dropping any literal means that C is no longer an implicate of f • CNF, prime CNF, irredundant CNF • Notation: Ip(f) = set of all prime implicates of f

  4. Boolean basics • two clauses are resolvable if they have exactly one conflicting literal producing a resolvent • if C1 = A  x , C2 = B  x then R(C1, C2) = A  B • R(S) is a resolution closure of set S of clauses • resolution is complete: Ip(f)  R(S) for any CNF representation S of a function f • Notation : I(f) = R(Ip(f)) • Of course, I(f) is closed under resolution and we will not be interested in implicates of f outside of I(f)

  5. Horn Basics • a clause is negative if it contains no positive literals and it is pure Horn if it contains one positive literal • a clause is Horn if it is negative or pure Horn • a CNF is Horn if it consists of Horn clauses • a Boolean function is Horn if it can be represented by a Horn CNF • Fact: f is Horn Ip(f) contains only Horn clauses • Corollary: I(f) also contains only Horn clauses (not true for the set of all implicates)

  6. CNF minimization Optimization version: Given CNF F find a logically equivalent CNF G such that the CNF G consists of a minimum possible number of clauses (literals). Decision version: Given CNF F and a number k does there exists a logically equivalent CNF G such that G consists of ≤ k clauses (literals)? 6

  7. CNF minimization • 2-complete [Umans 2001] • NPC for Horn CNFs [Ausiello, D’Atri, Sacca 1986] • clause minimization NPC for cubic Horn CNFs[Boros, C. 1994] • literal minimization NPC for degree seven Horn CNFs[C. 1995], degree five [C., Kucera 2008] • NPC for cubic Horn CNFs (both measures) [Boros, Gruber 2012, Boros, C., Kucera 2013] • Polynomial for acyclic and quasi-acyclic Horn CNFs [Hammer, Kogan 1995]

  8. Exclusive sets of implicates • Let f be a Boolean function. Then X  I(f)is an exclusive set of f if for every two resolvable clauses C1, C2 I(f) the following implication holds: R(C1, C2)  X  C1  X andC2  X • Example 1: f Horn, X = {C  I(f) | C is pure Horn} • Example 2: F prime pure Horn CNF of function f, W a subset of variables s.t. ForwardChainF(W) = W X(W) = {C  I(f) | variables(C)  W}

  9. Exclusive sets and minimization • Results from [Boros, C., Kogan, Kucera 2010]: • Theorem: Let F  I(f) and G  I(f) be two distinct CNFs representing function f and let X  I(f) be an exclusive set of f. Then F  X and G  X represent the same function (called the X-component of f). • Corollary: Let F  I(f) and G  I(f) be two distinct CNFs representing function f and let X  I(f) be an exclusive set of f. Then the CNF (F \ X)  (G  X) represents f.

  10. Essential sets of implicates • Let f be a Boolean function. Then X  I(f)is an essential set of f if for every two resolvable clauses C1, C2 I(f) the following implication holds: R(C1, C2)  X  C1  X orC2  X • Example 1: t  {0,1}n, X(t) = {C  I(f) | C(t) = 0} • Example 2: S  I(f) such that S = R(S), X = I(f) \ S • Example 3: f Horn, X = {C  I(f) | C is negative} • Example 4: f pure Horn, u a variable of f: X(u) = {C  I(f) | u is a head of C} (“star” essential set centered at u)

  11. Essential sets of implicates • Theorem: Let S  I(f) be arbitrary. Then the CNF defined by S represents f if and only if S  X   for every nonempty essential set X  I(f). • Corollary: Let X  I(f) be arbitrary. Then X is a nonempty essential set of f only if X  S   for every CNF representation S  I(f) of the function f. • Theorem: Let X  I(f) be any minimal set such that X  S   for every CNF representation S  I(f) of the function f. Then X is an essential set of f. • Theorem: Let X  I(f) be a minimal nonempty essential set of f. Then X = X(t) for some t.

  12. Essential sets and minimization • Definition: For a function f let cnf(f) denote the minimum number of clauses in a CNF representation of f and ess(f) the maximum number of pairwise disjoint nonempty essential sets of f. • Corollary: For every function f: ess(f)≤cnf(f). • Definition: For a function f let ess*(f) denote the maximum number of vectors t such that X(t)’s are pairwise disjoint nonempty essential sets of f. • Corollary: For every function f: ess*(f)= ess(f).

  13. Closely connected problem • Given a CNF F of function f, decide whether F is a clause (literal) minimum representation of f. • Appears in many NPC proofs for Boolean minimization, usually ad hoc techniques are used • Typical CNF construction: minimal gadget plus a variable part where size depends on input instance

  14. Decomposition by exclusive covers • Theorem:Let F be a CNF of f and let X1, … ,Xp be exclusive subsets of I(f) such that F  X1  …  Xp. For J{1, … ,p} denote XJ = iJ Xi representing fJ . If the CNF F  XJ is a clause (literal) minimum representation of fJfor all J then also F is a clause (literal) minimum representation of f. • Corollary: If XJ =  for every |J| > 1 then if the CNF F  Xi is a clause (literal) minimum representation of the Xi component fi for all 1  i  p then also F is a clause (literal) minimum representation of f.

  15. Disjoint example Set Cover (U,S,k) base set u1, … ,un subsets S1, … ,Sm construct CNF F 1) t  Sjfor all j 2) Sj  uifor ui Sj 3)  (ui Sj) ui  Sjfor all j types 2 and 3 form an exclusive set decomposable intodisjoint exclusive sets X(FC{Sj}) that are minimal (no resolution inside)

  16. Proof from Ausielo et al. (1986) Similar but clauses of type 3) are replaced by 3’)  (1i n) ui  Sjfor all j The sets X(FC{Sj}) are still exclusive and disjoint but do not cover all clauses in F (clauses of type 3’ not covered). Minimality proof needs a refined argument using the “star” essential sets centered at S1, … , Sm(and related theorems). Original proof: “Note, that if we take out the variable t and clauses containing it, the remaining CNF is non-redundant and no equivalent CNF with a smaller number of clauses may exist.”

  17. Intersecting example 3 Set Cover (U,S,k) for a set Sq={ui,uj,uk} replace ui,uj,uk Sqby 3) ui,uj  zq 4) zq,uk  Sqfor all j types 2,3, and 4form an exclusive set decomposable into exclusive sets X(FC{Sj}) that are minimal, but this time it takes more work to prove it

  18. Thank you.

More Related