bdd zdd based knowledge indexing and real life
play

BDD/ZDD-based knowledge indexing and real-life applications - PowerPoint PPT Presentation

BDD/ZDD-based knowledge indexing and real-life applications Shin-ichi Minato Hokkaido University, Japan. Introduction of speaker Shin-ichi Minato, Prof. of Hokkaido Univ., Sapporo, Japan. Worked for NTT Labs. from 1990 to 2004. Main


  1. BDD/ZDD-based knowledge indexing and real-life applications Shin-ichi Minato Hokkaido University, Japan.

  2. Introduction of speaker  Shin-ichi Minato, Prof. of Hokkaido Univ., Sapporo, Japan.  Worked for NTT Labs. from 1990 to 2004.  Main research area:  1990’s: VLSI CAD (logic design and verification)  2000’s: Large-scale combinatorial data processing (Data mining, Knowledge indexing, Bayesian networks, etc.)  2010~2015: Research Director of “ERATO” MINATO Discrete Structure Manipulation Project.  2016 ~ 2020: PI of JSPS Basic Research Project 2017.09.18 Shin-ichi Minato 2

  3. Hokkaido University  Founded in 1876.  One of the oldest public university in Japan.  Nobel prize in chemistry (Prof. Suzuki) in 2010.  Beautiful campus in the center of Sapporo city. 2017.09.18 Shin-ichi Minato 3

  4. Sapporo city - Japan 2017.09.18 Shin-ichi Minato 4

  5. Contents: - Brief review of BDD/ZDD - Graph Enumeration Problems - Real-Life Applications

  6. BDD (Binary Decision Diagram) - Developed in VLSI CAD area mainly in 1990’s. x x (jump) (jump) (ordered) Binary Decision Tree BDD a a f f f f a 1 1 (compress) 0 1 0 0 Node elimination rule b b b b 0 0 1 0 0 1 1 1 c c (share) (share) c c c c 0 0 x x x x x x 1 1 1 1 0 0 1 0 1 1 0 1 0 1 f 0 f 0 f 1 f 1 f 0 f 0 f 1 f 1 Canonical form for given Boolean functions under a fixed variable ordering. Node sharing rule 2017.09.18 Shin-ichi Minato 6

  7. Effect of BDD reduction rules  Exponential advantage can be seen in extreme cases.  Depends on instances, but effective for many practical ones. O( n ) O(2 n ) 2017.09.18 Shin-ichi Minato 7

  8. BDD-based logic operation algorithm  If the BDD starting from the binary tree: always requires exponential time & space.  Innovative BDD synthesis algorithm  Proposed by R. Bryant in 1986. R. Bryant (CMU)  Best cited paper for many years in all EE&CS areas. F F AND G AND (compressed) BDD (compressed) BDD G (compressed) BDD A BDD can be constructed from the two operands of BDDs. (Computation time is almost linear for BDD size.) 2017.09.18 Shin-ichi Minato 8

  9. Boolean functions and sets of combinations Boolean function: a b c F F = ( a b ~ c ) V (~ b c ) 0 0 0 0 Set of combinations: 1 0 0 0 F = { ab , ac , c } 0 1 0 0 1 1 0 1  ab (customer’s choice) 0 0 1 1  Operations of combinatorial itemsets  c can be done by BDD-based logic  ac 1 0 1 1 operations. 0 1 1 0  Union of sets  logical OR  Intersection of sets  logical AND 1 1 1 0  Complement set  logical NOT 2017.09.18 Shin-ichi Minato 9

  10. Zero-suppressed BDD (ZDD) [Minato93]  A variant of BDDs for sets of combinations.  Uses a new reduction rule different from ordinary BDDs.  Eliminate all nodes whose “1-edge” directly points to 0-terminal.  Share equivalent nodes as well as ordinary BDDs.  If an item x does not appear in any itemset, the ZDD node of x is automatically eliminated.  When average occurence ratio of each item is 1%, ZDDs are more compact than ordinary BDDs, up to 100 times. x x (jump) (jump) 0 f f f f Zero-suppressed reduction Ordinary BDD reduction 2017.09.18 Shin-ichi Minato 10

  11. BDDs/ZDDs in the Knuth’s book  The latest Knuth’s book fascicle (Vol. 4-1) includes a BDD section with 140 pages and 236 exercises.  In this section, Knuth used 30 pages for ZDDs, including more than 70 exercises.  I honored to serve proofreading of the draft version of his article.  Knuth recommended to use “ZDD” instead of “ZBDD.”  He reorganized ZDD operations and named “Family Algebra.”  2010/05, I visited Knuth’s home and discussed the direction of future work. 2017.09.18 Shin-ichi Minato 11

  12. Algebraic operations for ZDDs  Knuth evaluated not only the data structure of ZDDs, but more interested in the algebra on ZDDs . Em Empty and singleton set . (0/1-terminal) φ, {1} Returns the item-ID ID at the top node of P . P.top Selects the subset of itemsets P.onset(v) Basic operations including or excluding v . P.offset(v) (Corresponds to Switching v ( add dd / de delete ) on each itemset. P.change(v) Boolean algebra) Returns uni union, n, int ntersection, n, and ∪ , ∩, \ set difference ce . Count unts num number of combinations in P. P.count Cartesian product ct set of P and Q. P * Q New operations Quoti tient t set t of P divided by Q . P / Q introduced by Remainder set of P divided by Q . P % Q Minato. Formerly I called this “unate cube set algebra,” Useful for many practical applications. but Knuth reorganized as “Family algebra.” 2017.09.18 Shin-ichi Minato 12

  13. Applications of BDDs/ZDDs  BDD-based algorithms have been developed mainly in VLSI logic design area. (since early 1990’s.)  Equivalence checking for combinational circuits.  Symbolic model checking for logic / behavioral designs.  Logic synthesis / optimization.  Test pattern generation.  Recently, BDDs/ZDDs are applied for not only VLSI design but also for more general purposes.  Data mining (Fast frequent itemset mining) [Minato2008]  Probabilistic Modeling (SDD, etc.) [Darwiche2011]  Graph enumeration problems [Knuth2009] Shin-ichi Minato 13 2017.09.18

  14. “LCM over ZDDs” for itemset mining [Minato2008]  The results of frequent itemsets are obtained as ZDDs on the main memory. (not generating a file.) Record Tuple ID F 1 a b c 2 a b a 3 a b c 0 1 LCM over ZDDs 4 b c 5 a b b b Freq. thres. α = 7 6 a b c 0 1 0 1 7 c { ab, bc, a, b, c } 8 a b c c c 1 1 9 a b c 0 0 10 a b 11 b c 0 1 2017.09.18 Shin-ichi Minato 14

  15. LCM over ZDDs Original LCM # solutions 2017.09.18 Shin-ichi Minato 15

  16. Post Processing after LCM over ZDDs LCM over ZDDs Dataset 1 ? ZDD ZDD LCM over ZDD algebraic ZDDs operation Dataset 2 ZDD Distinctive Frequent All Freq. All Frequent Itemsets Itemsets Itemsets  We can extract distinctive itemsets by comparing frequent itemsets for multiple sets of databases.  Various ZDD algebraic operations can be used for the comparison of the huge number of frequent itemsets. 2017.09.18 Shin-ichi Minato 16

  17. Solving Graph Enumeration Problems Using BDDs/ZDDs

  18. Recent topics on our project  Our project supervised a short movie for exhibition at "Miraikan" (National Future Science Museum of Japan).  1.9 million views on YouTube !  Very exceptional case in scientific educational contents. 2017.09.18 Shin-ichi Minato 18

  19. Purpose of the movie  Shows strong power of combinatorial explosion, and importance of algorithmic techniques.  Mainly for junior high school to college students  Not using any difficult technical terms.  Something like a funny science fiction story.  We used the enumerating problem of “self-avoiding walk” on n x n grid graphs  This problem is discussed in the ZDD-section of the Knuth-book, section 7.1.4.  We received a letter from Knuth: “I enjoyed the You-Tube video about big numbers, and shared it to several friends.” 2017.09.18 Shin-ichi Minato 19

  20. Enumerating “seif-avoiding walks”  Counting shortest s-t paths is quite easy. (  2 n C n ; educated in high school. )  If allowing non-shortest paths, suddenly difficult. No simple calculation formula has been found.  Many people requested the formula s because the movie shows a super-big number, which the teacher spent 250,000 years to count.  However, no formula exists. Only efficient algorithm! t 2017.09.18 Shin-ichi Minato 20

  21. “simpath” in Knuth-book 2017.09.18 Shin-ichi Minato 21

  22. Integer Sequences: A007764 2017.09.18 Shin-ichi Minato 22

  23. Number of paths for n x n grid graphs 26 x 26: Our record in Nov. 2013 (1404 edges included in the graph.) 2017.09.18 Shin-ichi Minato 23

  24. Number of paths for n x n grid graphs 12 x 12: [Knuth 1995] 19 x 19:[ B.-Melou 2009] 26 x 26: Our record in Nov. 2013 (1404 edges included in the graph.) 2017.09.18 Shin-ichi Minato 24

  25. Number of paths for n x n grid graphs 12 x 12: [Knuth 1995] 19 x 19:[ B.-Melou 2009] 26 x 26: Our record in Nov. 2013 (1404 edges included in the graph.) - up to 18 × 18, we can generate a ZDD to keep all solutions. - from 19 × 19, we just count the number of solutions. - from 22 × 22, we only consider the n × n grid graphs. 2017.09.18 Shin-ichi Minato 25

  26. Knuth’s algorithm “Simpath” e 1 e 4 e 1 e 1 = 1 e 1 = 0 s t e 3 e 2 e 2 e 2 = 0 e 2 = 1 e 2 = 1 e 2 = 0 e 2 e 5 e 3 e 3 e 3 e 3 1 0 1. Assign a full order to e 4 all edges from e 1 to e n . e 5 2. Constructing a binary decision tree 1 s-t path by case-splitting on s e 1 each edges from e 1 to e n . e 4 t e 3 e 2 e 5 26 2017.09.18 Shin-ichi Minato

  27. Knuth’s algorithm “Simpath” e 1 e 4 e 1 e 1 = 1 e 1 = 0 s t e 3 e 2 e 2 e 2 = 0 e 2 = 1 e 2 = 1 e 2 = 0 e 2 e 5 e 3 e 3 e 3 e 3 1 0 1. Assign a full order to e 4 all edges from e 1 to e n . e 5 2. Constructing a binary decision tree Not a s-t path 0 Not a simple 0 by case-splitting on s-t path s e 1 s e 1 each edges from e 1 to e n . e 4 e 4 t t e 3 e 3 e 2 e 2 e 5 e 5 27 2017.09.18 Shin-ichi Minato

Recommend


More recommend