approximate dnf counting
play

Approximate DNF-Counting Kuldeep S. Meel 1 , Aditya A. Shrotri 2 , - PowerPoint PPT Presentation

On Hashing-Based Approaches to Approximate DNF-Counting Kuldeep S. Meel 1 , Aditya A. Shrotri 2 , Moshe Y. Vardi 2 1 School of Computing, 2 Department of Computer Science, National University of Singapore Rice University


  1. On Hashing-Based Approaches to Approximate DNF-Counting Kuldeep S. Meel 1 , Aditya A. Shrotri 2 , Moshe Y. Vardi 2 1 School of Computing, 2 Department of Computer Science, National University of Singapore Rice University On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri , Moshe Y. Vardi 9/5/2018 1

  2. At a glance Boolean formulas • Variables take values T/F • Logical Operations AND, OR, NOT, XOR … • Formula encodings: • Conjunctive Normal Form (CNF) • • 1 ∨ ¬X 2 ∨ ¬X 3 ) ∧ (¬X 1 ∨ X 4 ) ∧ .. (X Disjunctive Normal Form (DNF) • • (X 1 ∧ ¬X 2 ∧ ¬X 3 ) ∨ (¬X 1 ∧ X 4 ) ∨ .. On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 2

  3. At a glance • Counting Problem • number of satisfying assignments? • DNF-Counting Applications • Probabilistic Databases • Network Reliability • CNF-Counting Applications • Probabilistic Inference • Information Leakage On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 3

  4. At a glance • Counting problem is hard [Valiant,’79] • “#P - Complete” • Relaxation: Approximate Counting • Challenge: Efficiently find an approximate answer that is guaranteed to be close On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 4

  5. At a glance Hash functions show promise! • Hashing -based Approximate CNF-Counting • Improvements over 5+ years • • [Chakraborty et al. ’13,’14,’16] Scales to large formulas • Hashing -based Approximate DNF-Counting [Chakraborty et al. ‘16] • On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 5

  6. At a glance • Hash functions show promise! • Hashing-based Approximate CNF-Counting • Improvements over 5+ years • [Chakraborty et al. ’13,’14,’16] • Scales to large formulas • Hashing-based Approximate DNF-Counting [Chakraborty et al. ‘16] • Poor time complexity On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 6

  7. At a glance Problem : • Approximate DNF-Counting • Our Solution Strategy : • Design efficient hashing techniques • Contributions • 3 algorithmic improvements to the hashing framework • Result • Reduction in complexity from cubic to linear • Significance • Power and versatility of hashing • On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 7

  8. Boolean Formulas and the Counting problem On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 8

  9. Disjunctive Normal Form  = ¬𝑌 1 ∧ 𝑌 2 ∨ 𝑌 2 ∧ 𝑌 3 ∨ (𝑌 1 ∧ 𝑌 3 ) On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 9

  10. Disjunctive Normal Form  = ¬𝑌 1 ∧ 𝑌 2 ∨ 𝑌 2 ∧ 𝑌 3 ∨ (𝑌 1 ∧ 𝑌 3 ) # variables n = 3 • On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 10

  11. Disjunctive Normal Form  = ¬𝑌 1 ∧ 𝑌 2 ∨ 𝑌 2 ∧ 𝑌 3 ∨ (𝑌 1 ∧ 𝑌 3 ) Cubes: C 1 C 2 C 3 On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 11

  12. Disjunctive Normal Form  = ¬𝑌 1 ∧ 𝑌 2 ∨ 𝑌 2 ∧ 𝑌 3 ∨ (𝑌 1 ∧ 𝑌 3 ) Cubes: C 1 C 2 C 3 # cubes m = 3 • On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 12

  13. Disjunctive Normal Form  = ¬𝑌 1 ∧ 𝑌 2 ∨ 𝑌 2 ∧ 𝑌 3 ∨ (𝑌 1 ∧ 𝑌 3 ) • Assignment: X 1 = F , X 2 = T , X 3 = T On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 13

  14. Disjunctive Normal Form  = ¬𝑌 1 ∧ 𝑌 2 ∨ 𝑌 2 ∧ 𝑌 3 ∨ (𝑌 1 ∧ 𝑌 3 ) • Assignment: X 1 = F , X 2 = T , X 3 = T (¬F ∧ T ) ∨ (T ∧ T ) ∨ (F ∧ T ) = T ∨ T ∨ F = T On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 14

  15. Disjunctive Normal Form  = ¬𝑌 1 ∧ 𝑌 2 ∨ 𝑌 2 ∧ 𝑌 3 ∨ (𝑌 1 ∧ 𝑌 3 ) Assignment: X 1 = F , X 2 = T , X 3 = T • σ = < 0, 1, 1> • 2 ⇒ σ satisfies  σ satisfies C • • σ ⊨ C 2 ⊨  • σ On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 15

  16. Disjunctive Normal Form  = ¬𝑌 1 ∧ 𝑌 2 ∨ 𝑌 2 ∧ 𝑌 3 ∨ (𝑌 1 ∧ 𝑌 3 ) • Assignment: X 1 = F , X 2 = T , X 3 = T • σ = <0, 1, 1> • σ satisfies C 2 ⇒ σ satisfies  • σ ⊨ C 2 • σ ⊨  • Checking σ ⊨  takes linear time On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 16

  17. Disjunctive Normal Form  = ¬𝑌 1 ∧ 𝑌 2 ∨ 𝑌 2 ∧ 𝑌 3 ∨ (𝑌 1 ∧ 𝑌 3 ) 0,1} n Universe of assignments U = { • On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 17

  18. Disjunctive Normal Form  = ¬𝑌 1 ∧ 𝑌 2 ∨ 𝑌 2 ∧ 𝑌 3 ∨ (𝑌 1 ∧ 𝑌 3 ) 0,1} n Universe of assignments U = { •  = { σ ∈ U : σ ⊨  } Set of solutions S • On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 18

  19. Disjunctive Normal Form  = ¬𝑌 1 ∧ 𝑌 2 ∨ 𝑌 2 ∧ 𝑌 3 ∨ (𝑌 1 ∧ 𝑌 3 ) 0,1} n Universe of assignments U = { •  = { σ ∈ U : σ ⊨  } Set of solutions S • -Counting: Determine |S  | “Count of  ” DNF • On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 19

  20. DNF Counting Problem  = ¬𝑌 1 ∧ 𝑌 2 ∨ 𝑌 2 ∧ 𝑌 3 ∨ (𝑌 1 ∧ 𝑌 3 ) • |U| = 2 3 = 8 • S  = { <0, 1, 0> , <0, 1, 1> , <1,0,1>, <1, 1, 1> } • |S  | = 4 On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 20

  21. Hardness of DNF-Counting • Checking satisfiability • UNSAT: .. ∨ ( .. ∧ X i ∧ ¬X i ∧ .. ) ∨ .. On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 21

  22. Hardness of DNF-Counting Enumerating satisfying assignments • •  = (X 1 ∧ ¬X 2 ) ∨ (X 3 ∧ X 4 ) ∨ … • <1 , 0, 0, 0> • <1 , 0, 0, 1> • <1 , 0, 1, 0> • <1 , 0, 1, 1> • 𝑇 𝑑 1 = {<1 , 0, 0, 0>, <1 , 0, 0, 1>, <1 , 0, 1, 0>, <1 , 0, 1, 1>} On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 22

  23. Hardness of DNF-Counting • Enumerating satisfying assignments •  = (X 1 ∧ ¬X 2 ) ∨ (X 3 ∧ X 4 ) ∨ … • <1 , 0, 0, 0> • <1 , 0, 0, 1> • <1 , 0, 1, 0> • <1 , 0, 1, 1> • 𝑇 𝑑 1 = {<1 , 0, 0, 0>, <1 , 0, 0, 1>, <1 , 0, 1, 0>, <1 , 0, 1, 1>} • 𝑇 𝑑 1 ∩ 𝑇 𝑑 2 is not empty On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 23

  24. Hardness of DNF-Counting Enumerating satisfying assignments • •  = (X 1 ∧ ¬X 2 ) ∨ (X 3 ∧ X 4 ) ∨ … • <1 , 0, 0, 0> • <1 , 0, 0, 1> • <1 , 0, 1, 0> • <1 , 0, 1, 1> • 𝑇 𝑑 1 = {<1 , 0, 0, 0>, <1 , 0, 0, 1>, <1 , 0, 1, 0>, <1 , 0, 1, 1>} • 𝑇 𝑑 1 ∩ 𝑇 𝑑 2 is not empty ⇒ |S  | = |𝑇 𝑑 1 ∪ 𝑇 𝑑 2 ∪ 𝑇 𝑑 3 … ∪ 𝑇 𝑑 𝑛 | On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 24

  25. Hardness of DNF-Counting DNF -Counting is #P-Complete [Valiant,’79] • Class contains entire Polynomial Hierarchy! • Need to Approximate! • On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 25

  26. Approximate DNF-Counting Input: DNF Formula  Tolerance ε 0 < ε < 1 Confidence δ 0 < δ < 1 Output: Approximate Count C s.t. Pr [|S  | ⋅ (1-ε) < C < |S  | ⋅ (1+ε) ] > 1-δ On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 26

  27. Approximate DNF-Counting Input: DNF Formula  Tolerance ε 0 < ε < 1 Confidence δ 0 < δ < 1 Output: Approximate Count C s.t. Pr [|S  | ⋅ (1- ε) < C < |S  | ⋅ (1+ε) ] > 1 - δ Challenge: Design a poly(m, n, 1 𝜗 , log( 1 𝜀 ) ) time algorithm “ FPRAS ” where m = #cubes n = #vars On Hashing-Based Approaches to Approximate DNF Counting Kuldeep S. Meel, Aditya A. Shrotri, Moshe Y. Vardi 9/5/2018 27

Recommend


More recommend