prime compilation of non clausal formulae
play

Prime Compilation of Non-Clausal Formulae Alessandro Previti 1 , - PowerPoint PPT Presentation

Prime Compilation of Non-Clausal Formulae Alessandro Previti 1 , Alexey Ignatiev 2 , Antonio Morgado 2 , Joao Marques-Silva 2 1 HIIT, Department of Computer Science, University of Helsinki 2 IST/INESC-ID, Portugal CL Day 2016 1 / 23 Motivation


  1. Prime Compilation of Non-Clausal Formulae Alessandro Previti 1 , Alexey Ignatiev 2 , Antonio Morgado 2 , Joao Marques-Silva 2 1 HIIT, Department of Computer Science, University of Helsinki 2 IST/INESC-ID, Portugal CL Day 2016 1 / 23

  2. Motivation ◦ Knowledge Compilation [DM2002,CD1997] 2 / 23

  3. Motivation ◦ Knowledge Compilation [DM2002,CD1997] ◦ Formula Minimization [Q1952,Q1959,M1956] 2 / 23

  4. Motivation ◦ Knowledge Compilation [DM2002,CD1997] ◦ Formula Minimization [Q1952,Q1959,M1956] ◦ Model-based diagnosis [dK1992] 2 / 23

  5. Motivation ◦ Knowledge Compilation [DM2002,CD1997] ◦ Formula Minimization [Q1952,Q1959,M1956] ◦ Model-based diagnosis [dK1992] ◦ Inductive generalization in model checking [BM2007] ◦ Modal logic [B2009] ◦ ... 2 / 23

  6. Contributions ◦ A new approach that can compile non-clausal formulae ◦ Can compile formulae with thousands of variables ◦ It’s completely based on SAT technology 3 / 23

  7. Basic Definitions A literal is a variable or its negation ◦ Clause : A disjunction of literals ( c ∨ ¬ a ) Satisfied clause : at least one literal is true under the given assignment to variables ◦ Term : A conjunction of literals ( c ∧ ¬ a ) Satisfied term : all of its literals are true under the given assignment to variables 4 / 23

  8. Propositional formulae ◦ Clausal : ◦◦ CNF : conjunction of clauses ( c ∨ a ) ∧ ( c ∨ ¬ a ) ◦◦ DNF : disjunction of terms ( c ∧ a ) ∨ ( c ∧ ¬ a ) ◦ Non-clausal : ◦◦ Non-CNF and Non-DNF ◦◦ Propositional formulae : well-formed formulae built with standard connectives ¬ , ∧ , ∨ (( c ∧ a ) ∨ ( c ∧ ¬ a )) ∧ d 5 / 23

  9. Prime Implicants and Prime Implicates ◦ A term I n is called an implicant of F if I n � F . ◦◦ An implicant I n of F is called prime if any subset I ′ n � I n is not an implicant of F . 7 / 23

  10. Prime Implicants and Prime Implicates ◦ A term I n is called an implicant of F if I n � F . ◦◦ An implicant I n of F is called prime if any subset I ′ n � I n is not an implicant of F . ◦◦◦ A satisfying assignment ( model ) expressed as a conjunction of literals is an implicant (i.e if p = 1, s = 0, t = 1 is a satisfying assignment then p ∧ ¬ s ∧ t is an implicant) 7 / 23

  11. Prime Implicants and Prime Implicates ◦ A term I n is called an implicant of F if I n � F . ◦◦ An implicant I n of F is called prime if any subset I ′ n � I n is not an implicant of F . ◦◦◦ A satisfying assignment ( model ) expressed as a conjunction of literals is an implicant (i.e if p = 1, s = 0, t = 1 is a satisfying assignment then p ∧ ¬ s ∧ t is an implicant) ◦ A clause I e is called an implicate of F if F � I e . ◦◦ An implicate I e of F is called prime if any subset I ′ e � I e is not an implicate of F . 7 / 23

  12. Example Prime Implicants/Implicates C 1 C 2 C 3 F = ( p ∨ s ) ∧ ( r ∨ t ∨ ¬ s ) ∧ ( r ∨ ¬ t ) 8 / 23

  13. Example Prime Implicants/Implicates C 1 C 2 C 3 F = ( p ∨ s ) ∧ ( r ∨ t ∨ ¬ s ) ∧ ( r ∨ ¬ t ) C 4 ◦ Implicate: p ∨ r ∨ t ⇒ obtained by resolution of C 1 and C 2 8 / 23

  14. Example Prime Implicants/Implicates C 1 C 2 C 3 F = ( p ∨ s ) ∧ ( r ∨ t ∨ ¬ s ) ∧ ( r ∨ ¬ t ) C 4 ◦ Implicate: p ∨ r ∨ t ⇒ obtained by resolution of C 1 and C 2 ◦◦ Prime implicate : p ∨ r ⇒ obtained by resolution of C 3 and C 4 8 / 23

  15. Example Prime Implicants/Implicates C 1 C 2 C 3 F = ( p ∨ s ) ∧ ( r ∨ t ∨ ¬ s ) ∧ ( r ∨ ¬ t ) C 4 ◦ Implicate: p ∨ r ∨ t ⇒ obtained by resolution of C 1 and C 2 ◦◦ Prime implicate : p ∨ r ⇒ obtained by resolution of C 3 and C 4 ◦ Implicant: p ∧ ¬ s ∧ r ∧ ¬ t ( p = 1 , s = 0 , r = 1 , t = 0) 8 / 23

  16. Example Prime Implicants/Implicates C 1 C 2 C 3 F = ( p ∨ s ) ∧ ( r ∨ t ∨ ¬ s ) ∧ ( r ∨ ¬ t ) C 4 ◦ Implicate: p ∨ r ∨ t ⇒ obtained by resolution of C 1 and C 2 ◦◦ Prime implicate : p ∨ r ⇒ obtained by resolution of C 3 and C 4 ◦ Implicant: p ∧ ¬ s ∧ r ∧ ¬ t ( p = 1 , s = 0 , r = 1 , t = 0) ◦◦ Prime implicant : p ∧ r ( p = 1 , r = 1) 8 / 23

  17. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = ¬ a ∧ b ∧ c ∧ d ∧ e ∧ ¬ f I n = 9 / 23

  18. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = ¬ a ∧ b ∧ c ∧ d ∧ e ∧ ¬ f I n = 9 / 23

  19. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = b ∧ c ∧ d ∧ e ∧ ¬ f I n = 9 / 23

  20. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = b ∧ c ∧ d ∧ e ∧ ¬ f I n = 9 / 23

  21. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = c ∧ d ∧ e ∧ ¬ f I n = 9 / 23

  22. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = c ∧ d ∧ e ∧ ¬ f I n = 9 / 23

  23. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = c ∧ d ∧ e ∧ ¬ f I n = 9 / 23

  24. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = c ∧ d ∧ e ∧ ¬ f I n = 9 / 23

  25. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = c ∧ d ∧ e ∧ ¬ f I n = 9 / 23

  26. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = c ∧ d ∧ e ∧ ¬ f I n = 9 / 23

  27. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = c ∧ d ∧ e ∧ ¬ f I n = 9 / 23

  28. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = c ∧ d ∧ e ∧ ¬ f I n = 9 / 23

  29. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = c ∧ d ∧ e I n = 9 / 23

  30. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = c ∧ d ∧ e I n = ◦ Propositional formulae: 1. Shannon expansion: Worst-case exponential grow of the formula 9 / 23

  31. Reduction of Implicants/Implicates ◦ CNF formulae: ◦◦ Polynomial time procedure C 1 C 2 C 3 ( ¬ a ∨ b ∨ c ) ∧ ( a ∨ d ) ∧ ( ¬ d ∨ e ∨ f ) F = c ∧ d ∧ e I n = ◦ Propositional formulae: 1. Shannon expansion: Worst-case exponential grow of the formula OR 1. Convert F to F CNF using a Tseitin encoding 2. Reduce an implicant I n using the following procedure: input : Formula F CNF , I n and Var ( F ) output : Prime Implicant in I n 1 foreach l ∈ I n and var ( l ) ∈ Var ( F ) do I ′ n = I n \ { l } 2 if I ′ n ∧ ¬ F unsat then 3 I n = I ′ 4 n else 5 continue 6 7 return I n 8 end 9 / 23

  32. Related work and drawback ◦ Iterated consensus or resolution [Q1952,Q1959,T1967] ◦ Unionist product [C1996] ◦ Based on dual rail encoding [P1999,J2014] ◦ Semantic resolution [S1970] ◦ SE-trees [R1994] ◦ BDD-based (i.e ZRes) [SD2001] 10 / 23

  33. Related work and drawback ◦ Iterated consensus or resolution [Q1952,Q1959,T1967] ◦ Unionist product [C1996] ◦ Based on dual rail encoding [P1999,J2014] ◦ Semantic resolution [S1970] ◦ SE-trees [R1994] ◦ BDD-based (i.e ZRes) [SD2001] They all assume the formula in CNF (DNF) or they are limited to formulae with few variables 10 / 23

  34. Hitting Set Duality (1) ◦ Minimal Hitting Set (MHS): Given a collection Γ of sets, a hitting set H for Γ is a set such that ∀ S ∈ Γ , H ∩ S � = ∅ . ◦◦ A hitting set H is minimal if none of its subsets is a hitting set. 11 / 23

  35. Hitting Set Duality (1) ◦ Minimal Hitting Set (MHS): Given a collection Γ of sets, a hitting set H for Γ is a set such that ∀ S ∈ Γ , H ∩ S � = ∅ . ◦◦ A hitting set H is minimal if none of its subsets is a hitting set. ◦ Example Minimal Hitting Set:  { a , b , c } Γ = { b , d }  { e } H 1 = { b , e } , H 2 = { a , d , e } , H 3 = { c , d , e } . Note that instead { a , b , e } is not a Minimal Hitting Set. 11 / 23

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend