variable shift sdd a more succinct sentential decision
play

Variable Shift SDD: A More Succinct Sentential Decision Diagram - PowerPoint PPT Presentation

Variable Shift SDD: A More Succinct Sentential Decision Diagram Kengo Nakamura (NTT) Shuhei Denzumi (The University of Tokyo) Masaaki Nishino (NTT) 18 th Symposium on Experimental Algorithms ( SEA2020 ) 2020/6/18 @ online (Catania, Italy)


  1. Variable Shift SDD: A More Succinct Sentential Decision Diagram Kengo Nakamura (NTT) Shuhei Denzumi (The University of Tokyo) Masaaki Nishino (NTT) 18 th Symposium on Experimental Algorithms ( SEA2020 ) 2020/6/18 @ online (Catania, Italy)

  2. Contents Introduction • Related works • SDD • VS-SDD and its property • Experiments • Conclusion • �

  3. ̅ Boolean function !: #$%&, !()*& + → #$%&, !()*& 4 ∨ 6 7 ∧ 7 ∨ : Input : - Boolean values, Output : a Boolean value 0 1 2 3 There are useful queries for Boolean function: false false false true Model count : How many patterns of input make output • false false true false true? false true false false Equivalency : Are given two Boolean functions equivalent? • false true true false etc. true false false true true false true false However, these queries are difficult to solve Ex.) Using truth table, they take . 2 + time true true false true true true true true Truth table �

  4. Ordered Binary Decision Diagram (OBDD) [Bryant ’86] $ ∧ & ∨ & ∧ ( Directed Acyclic Graph (DAG) representation of Boolean function ∨ ( ∧ ) Size of OBDD is generally exponential, but is significantly • smaller than ! " for many practical cases OBDD supports many queries in polytime w.r.t. OBDD size • A – Model count, Equivalency, etc. B B C C D ⊥ T OBDD �

  5. OBDD and Apply operation [Bryant ’86] 2 ∧ 3 ∨ 4 ∧ 5 3 ∧ 4 Size of $ A OBDDs support Apply operation in ! " # time B B – Input : Two OBDDs $, & and binary operator ∘ ∨ C C • conjunction( ∧ ), disjunction( ∨ ), etc. D – Output : OBDD representing * ∘ + ⊥ ⊥ T T • $ & represents * + resp. A Fundamental in B B constructing OBDD representing any Boolean function • supporting useful queries • C C D 2 ∧ 3 ∨ 3 ∧ 4 ∨ 4 ∧ 5 ⊥ T �

  6. Sentential Decision Diagram (SDD) [Darwiche ’11] DAG representation of Boolean function • Generalization of OBDD structure • $ ∧ & ∨ & ∧ ( ∨ ( ∧ ) Tighter bound on size than OBDD • – In some cases, SDD can make size exponentially smaller than OBDD [Bova ’16] 3 Supporting useful queries in polytime w.r.t. SDD size • C T ¬B Supporting Apply operation in ! " # time • 1 1 5 B ¬A ¬B ⊥ B A ¬B ⊥ D C ¬D ⊥ Input: Two SDDs *, , and oper. ∘ SDD Output: SDD representing . ∘ / �

  7. Substructure sharing One of the reason why OBDD/SDD is succinct: Boolean function is recursively decomposed into subfunctions that are also • represented by DAGs (substructures) When same subfunctions emerge, only one DAG is needed instead of having • multiple (identical) DAGs … Share of substructure representing the same function 1 1 ¬A A ¬A A 3 3 3 3 B T ¬B B ¬B B T ¬B B ¬B ! ∧ # ! ∧ # 5 5 5 5 5 ! ∧ # ¬C ¬C C D ¬C ⊥ C T ¬C ⊥ C D ¬C ⊥ C T ⊥ C D ⊥ �

  8. Proposal: Variable Shift SDD (VS-SDD) Can we share more substructures to achieve more succinct representation? -> Variable Shift SDD $ ∧ % ∨ % ∧ ! … SDD-based representation of Boolean function ∨ ! ∧ # VS-SDD can share substructures of subfunctions that are • equivalent under specific type of variable substitution – Ex.) ! ∧ # can be obtained from $ ∧ % by substituting 1 $ with ! and % with # 6 T ¬2 Representing Boolean function of substructure is • 1 1 4 dependent on the path from root to it 1 ¬2 ¬1 ⊥ 1 2 ¬1 ⊥ Typical example of emerging such sets of subfunctions: modeling VS-SDD $ ∧ % time-evolving systems; ! ∧ # �

  9. Proposal: Variable Shift SDD (VS-SDD) Features: VS-SDD is never larger than SDD of the same function • % ∧ ' ∨ ' ∧ ) – There exists a class of function for which VS-SDD is ∨ ) ∧ * exponentially smaller than SDD VS-SDD supports many useful queries as SDD does • – Supports Apply operation in ! " # time 1 Input: Two VS-SDDs +, - and oper. ∘ 6 T ¬2 1 1 4 Output: VS-SDD representing / ∘ 0 1 ¬2 ¬1 ⊥ 1 2 ¬1 ⊥ VS-SDDs incur no additional overhead over SDDs while VS-SDD being potentially smaller than SDDs % ∧ ' ) ∧ * �

  10. Contents Introduction • Related works • SDD • VS-SDD and its property • Experiments • Conclusion • ��

  11. Related works Attempts to share substructures representing “equivalent” Boolean functions up to conversion For OBDDs: Attributed edge [Madre & Billon ’88] • " # ↔ ¬"(#) Complement edge [Minato et al. ’90] … up to taking negation • – Solvability of useful operations is not considered " ( ) , ( + , ( , ↑ ΔBDD [Anuchitanukul et al. ’95] … up to “shifting” of variables • ↔ "(( - , ( . , ( / ) – Operation like Apply is supported, but its time complexity is not polynomial of DAG sizes ��

  12. Related works " # $ , # & , # ' For other DAG structures: ↔ "(# * , # + , # , ) Sym-DDG/Sym-FBDD [Bart et al. ’14] … up to any variable substitution • – Based on DDG [Fragier & Marquis ’06] and FBDD [Gergov & Meinel ’94] – Fail to support some important operations such as Apply and Conditioning, as the based structures do For SDDs: No such previous study is known • VS-SDD cannot be obtained by straightforward application of • techniques for OBDDs (like ↑ ΔBDD) ��

  13. Contents Introduction • Related works • SDD • VS-SDD and its property • Experiments • Conclusion • ��

  14. SDD: Boolean circuit view SDD = Boolean circuit with structured decomposability and strong determinism Represents Boolean function by recursive application of OR and AND • – OR gate corresponds to circle node – AND gate corresponds to box pair Circuit SDD 1 C T ¬B true ¬B C 2 2 5 D C B ¬A ¬B ⊥ B A ¬B ⊥ ¬D ⊥ �� B ¬A ¬B false B A ¬B false D C ¬D false

  15. Decomposability Decomposable : for each AND gate, used variables are non-overlapping for any • two inputs of it Circuit SDD 1 C T ¬B true ¬B C 2 2 5 D C B ¬A ¬B ⊥ B A ¬B ⊥ ¬D ⊥ �� B ¬A ¬B false B A ¬B false D C ¬D false

  16. Vtree and structured decomposability Decomposable circuit whose decomposition of variables is structured with vtree Vtree : full binary tree whose leaves are labeled with variables • Structured decomposable (given vtree ! ): for each AND gate, it has two inputs • ", $ and there is an internal node in ! s.t. used variables of " $ are all left (right resp.) descendants Circuit vtree SDD 1 1 ¬B C T 2 5 C true ¬B 2 2 5 6 7 3 4 D C B ¬A ¬B ⊥ B A ¬B ⊥ ¬D ⊥ B A D C B ¬A ¬B false B A ¬B false D C ¬D false ��

  17. Strong determinism For structured decomposable Boolean circuits: Strongly deterministic : for each OR gate, let ! " be a Boolean function of the • left input of # -th child AND gate. Then, ! " ∧ ! % = '()*+ # ≠ - holds. Due to structured decomposability and strong determinism, SDD supports polytime Apply and has preferable properties such as canonicity (uniqueness) Circuit ! 4 = ¬2 vtree ! / = ¬1 ∧ 2 SDD 1 1 ! 3 = 1 ∧ 2 C T ¬B 2 5 C true ¬B 2 2 5 6 7 3 4 D C B ¬A ¬B ⊥ B A ¬B ⊥ ¬D ⊥ B A D C B ¬A ¬B false B A ¬B false D C ¬D false ��

  18. SDD: structure and respecting vtree node Seeing SDD as data structure representing Boolean function (given vtree) OR gate of circuit is represented as decomposition node (circle) • – It has corresponding vtree node called respecting node Bottom literal (constant) of circuit is represented as literal ( constant resp.) node • Size of SDD is defined as sum of #(inputs) of all OR gates • Decomposition node with ID of respecting vtree node 1 vtree SDD 1 C T ¬B Constant node 2 5 Literal node 2 2 5 7 3 4 6 B ¬A ¬B ⊥ B A ¬B ⊥ D C ¬D ⊥ B A D C ¬# ∧ % # ∧ % & ∧ ' ��

  19. Contents Introduction • Related works • SDD • VS-SDD and its property • Experiments • Conclusion • ��

  20. Observation Equivalent substructures (except for labels) emerges if: their respecting vtrees are identical (same shape) except for labels • their representing functions are equivalent under variable substitution • induced from vtree isomorphism 1 Ex.) SDD representing ' = " ∧ $ ∨ $ ∧ % ∨ % ∧ & 2 5 Vtrees rooted at 2 and 5 are identical • – Exchanged by following substitution: $ ↔ &, " ↔ % 6 7 3 4 B A D C " ∧ $ and % ∧ & are equivalent under above substitution • 1 -> Bottom-middle and bottom-right nodes have same shape C T ¬B 2 2 5 B ¬A ¬B ⊥ B A ¬B ⊥ D C ¬D ⊥ " ∧ $ % ∧ & ��

  21. VS-SDD: key idea vtree 1 SDD retains respecting vtree node (ID) of each • 2 5 decomposition and literal explicitly 6 7 3 4 -> Substructures representing Boolean functions with B A D C different variables cannot be shared SDD 1 C T ¬B VS-SDD retains it differentially in edges • =1+4 3=1+1+1 5 2 2 … It is represented as sum of numbers from root to decomposition/literal node B ⊥ B A ⊥ D C ⊥ ¬A ¬B ¬B ¬D 1 VS-SDD To facilitate this idea, vtree nodes are numbered • 6 T ¬2 following preorder traversal of vtree 1 1 4 1 ¬2 ¬1 ⊥ 1 2 ¬1 ⊥ ��

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