knowledge compilation
play

Knowledge Compilation Guy Van den Broeck and Adnan Darwiche Jan 28, - PowerPoint PPT Presentation

On the Role of Canonicity in Knowledge Compilation Guy Van den Broeck and Adnan Darwiche Jan 28, 2015, AAAI Knowledge Compilation Reasoning with logical knowledge bases A Tractable languages and compilers B Boolean circuits: C


  1. On the Role of Canonicity in Knowledge Compilation Guy Van den Broeck and Adnan Darwiche Jan 28, 2015, AAAI

  2. Knowledge Compilation • Reasoning with logical knowledge bases A • Tractable languages and compilers B • Boolean circuits: C OBDDs, d-DNNFs, SDDs, etc. • Applications: D – Diagnosis 0 1 – Planning – Inference in probabilistic databases, graphical models, probabilistic programs – Learning tractable probabilistic models

  3. Bottom-Up Compilation with Apply • Build Boolean combinations of existing circuits • Compile CNF: (1) circuit for literals (2) disjoin to get circuit for clauses (3) conjoin for CNF. • Compile arbitrary sentence incrementally ( A  ( B  D )) ( C ∨ D ) ( A  ( B  D ))  ( C ∨ D )  = • Avoiding CNF crucial for many applications

  4. Two Properties Under Investigation Polytime Apply Canonicity Complexity is polynomial Equivalent sentences have in size of input circuits. identical circuits. Informally: one Apply cannot blow up size. ≡ A  (C ∨ D) (A  C) ∨ (A  D)  x = O( ) =

  5. What We Knew Before • A practical language for bottom-up compilation requires a polytime Apply . – Explains success of OBDDs – Why do Apply when it blows up? – Guided search for new languages (structured DNNF) • Canonicity is convenient for building compilers – Detect/cache equivalent subcircuits

  6. What We Knew Before • A practical language for bottom-up compilation requires a polytime Apply . – Explains success of OBDDs – Why do Apply when it blows up? – Guided search for new languages (structured DNNF) • Canonicity is convenient for building compilers – Detect/cache equivalent subcircuits

  7. Sentential Decision Diagrams Properties: OBDD  SDD • C  • Treewidth upper bound • Quasipolynomial separation with OBDD • Supports OBDD queries A ¬ A ¬ A A ¬ B B ¬ D ¬ B  B D 

  8. Sentential Decision Diagrams f ( A , B , C , D ) = ( A  ( B  D ))  C C  A ¬ A ¬ A A ¬ B B ¬ D ¬ B  B D 

  9. Sentential Decision Diagrams  f ( A , B , C , D ) = ( A  ( B  D ))  C  C     A  ¬ A ¬ A A      ¬ B  B ¬ D ¬ B  B D    

  10. Basing Decisions on Sentences f ( A , B , C , D ) = ( A  B )  ( C  D ) A = t, B = f , C = t , D = t  A B ¬ A A ¬ B ¬ A C D ¬ C   

  11. Basing Decisions on Sentences f ( A , B , C , D ) = ( A  B )  ( C  D ) A = t, B = f , C = t , D = t  A B ¬ A A ¬ B A ¬ B ¬ A C D C D ¬ C   

  12. Basing Decisions on Sentences f ( A , B , C , D ) = ( A  B )  ( C  D ) A  B A = t, B = f ,  A   B C = t , D = t  A B ¬ A A ¬ B A ¬ B ¬ A C D C D ¬ C   

  13. Basing Decisions on Sentences f ( A , B , C , D ) = ( A  B )  ( C  D ) A  B A = t, B = f ,  A   B C = t , D = t  primes,subs primes,subs A B ¬ A A ¬ B A ¬ B ¬ A C D C D ¬ C   

  14. Basing Decisions on Sentences f ( A , B , C , D ) = ( A  B )  ( C  D ) A  B  A   B  primes,subs primes,subs In an ( X , Y ) - partition: f ( X , Y ) = p 1 ( X ) s 1 ( Y )  …  p n ( X ) s n ( Y ) primes are mutually exclusive , exhaustive and not false

  15. Compression and Canonicity • An ( X , Y ) - partition: f ( X , Y ) = p 1 ( X ) s 1 ( Y )  …  p n ( X ) s n ( Y ) is compressed when the subs are distinct: s i ( Y ) ≠ s i ( Y ) if i≠j • f ( X , Y ) has a unique compressed ( X,Y) -partition • For fixed X , Y throughout the SDD (i.e. a vtree), compressed SDDs* are canonical ! * requires some additional maintenance (pruning/normalization)

  16. Compression

  17. Compression

  18. Compression

  19. Compression

  20. Compression 

  21. Is Apply for SDDs Polytime?

  22. Is Apply for SDDs Polytime? • | α |x| β | recursive calls • Polytime!

  23. Is Apply for SDDs Polytime? • | α |x| β | recursive calls • Polytime! • But what about compression/canonicity?

  24. Is Apply for SDDs Polytime? • Polytime Apply? • Open question answered in this paper

  25. Theoretical Results Theorem: There exists a class of Boolean functions f m (X 1 ,…, X m ) such that f m has an SDD of size O(m 2 ), yet the canonical SDD of f m has size Ω(2 m ).

  26. Two options 1. Enable compression – No polytime Apply – Canonicity 2. Disable compression – Polytime Apply – No Canonicity What should we do? Popular belief: Choose polytime Apply, or circuits blow up!

  27. Empirical Results

  28. Empirical Results

  29. What We Know Now • Canonical SDDs have no polytime Apply ! • Yet they work! Outperform OBDDs and non-canonical SDDs • We argue: Canonicity is more important Facilitates caching and minimization (vtree search) • Questions common wisdom

  30. Thanks

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