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 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
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
Sapporo city - Japan 2017.09.18 Shin-ichi Minato 4
Contents: - Brief review of BDD/ZDD - Graph Enumeration Problems - Real-Life Applications
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
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
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
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
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
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
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
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
“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
LCM over ZDDs Original LCM # solutions 2017.09.18 Shin-ichi Minato 15
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
Solving Graph Enumeration Problems Using BDDs/ZDDs
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
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
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
“simpath” in Knuth-book 2017.09.18 Shin-ichi Minato 21
Integer Sequences: A007764 2017.09.18 Shin-ichi Minato 22
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
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
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
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
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