Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12....
Transcript of Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12....
![Page 1: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/1.jpg)
Large-Scale Knowledge Processing (Part-A, lecture-5)
Shin-ichi Minato
Prof. of Grad. School of Informatics, Kyoto Univ.(Grad. School of Info. Sci. & Tech., Hokkaido Univ.)
![Page 2: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/2.jpg)
2019.01.04 Large-Scale Knowledge Processing 2
Review of the last lecture
• BDD applications– VLSI design automation
• Verification, logic optimization, test generation– Combinatorial problems, optimization
• Knapsack problem, 8-queens, Traveling salesman, etc.– Comparison with problem-specific method
• Representation of sets of combinations and ZDDs (Zero-suppressed BDDs)
• Sets of combinations• ZDD reduction rule• Basic properties of ZDDs
BDD applications and ZDDs
![Page 3: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/3.jpg)
2019.01.04 Large-Scale Knowledge Processing 3
Topics of this lecture
Basic operations of ZDDs (review) Sequence BDDs for manipulating sets of sequences
Sets of sequences Encoded ZDDs for representing sets of sequences SeqBDDs and their basic operations Tries and SeqBDDs
Permutation decision diagrams (πDDs) Sets of permutations Permutation represented by a set of transpositions πDDs and their basic operations Applications
ZDD extensions for sequences and permutations
![Page 4: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/4.jpg)
Exercises• Confirm that BDDs’ logical OR operation algorithm
can be applied for ZDDs as well, and it corresponds the Union operation for sets of combinations.
• Similarly, BDDs’ logical AND operation algorithm can be applied for ZDDs as well, and it corresponds the Intersection operation for sets of combinations.
2019.01.04 4Large-Scale Knowledge Processing
![Page 5: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/5.jpg)
2019.01.04 Large-Scale Knowledge Processing 5
0 1
a
b
c
{ab, acd, cd}
d
c
N1
N3
N2
N4
N5 N6
N7 N8
b
a
{ac, ad, bc, bd}
N0
a=0 a=1N7∪N8
N3∪N6 N5∪N4
0∪N4
b=0b=1b=0 b=1
N3∪0 1∪0N3∪N4
N2∪10∪N2
0∪1
c=0 c=1
d=0 d=1
= N3
= N2
= 1
= 1
{ab, acd, cd} ∪ {ac, ad, bc, bd}
= N4
1∪0 = 1
![Page 6: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/6.jpg)
Extension of ZDDs (Comb. to higher model)
6
CurrentZDDs
AdvancedZDD-likestructure
AdvancedZDD-likestructure
AdvancedZDD-likestructure
- Multisets- Sequences- Permutations- Partitions- Trees, DAGs- Networks- etc.
Applicationsin asymmetric world
Applicationswith higher data model
(Combinatorial)
(Higher model)
Data mining, Machine learning
Advanced searching etc.
Still many applications remains where ZDDs
would be effective.
Sequence data analysisNumerical data processing
Processing of trees or semi-structured data
Develop special new algebraic operations.
Directoutputs
Further outputs
![Page 7: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/7.jpg)
2019.01.04 Large-Scale Knowledge Processing 7
Algebraic operations in (ordinary) ZDDs
φ, { λ }, P.top can be executed in a constant time. Other operations are almost linear time for ZDD size.
![Page 8: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/8.jpg)
1
{λ}
change(c)
0 1
c10
{c}
1
c10
{λ, c}0 1
b
c
10
0 1
{b, bc}
0 1
a10
{a} 1
b
c10
0 1
{λ, b, bc, c}
1
b
c
10
0 1
a1
0
{λ, a, b, bc, c}
change(a)
union
change(b)
union
union
ZDD construction (applying set operations)
2019.01.04 Large-Scale Knowledge Processing 8
![Page 9: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/9.jpg)
2019.01.04 Large-Scale Knowledge Processing 9
Sets of sequences (sets of strings)
Sets of combinations: Don’t consider order and duplication of items “abcc” and “bca” are the same as “abc”.
Sets of sequences: Distinguishes all finite sequences. {λ}, { ab, aba, bbc }, { a, aa, aaa, aaaa }, etc. Here we exclude infinite sets such as { a* }.
So many real-life applications. Text search and indexing Web (html/xml) data mining Bio informatics (e.g. DNA sequence analysis)
![Page 10: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/10.jpg)
2019.01.04 Large-Scale Knowledge Processing 10
Encoded ZDDs for Sets of sequences
Pair of (Item - position) is considered different symbol.“aaa” “a1 a2 a3”“aba” “a1 b2 a3”
Alphabet size: |Σ|Maximum length of sequences: nTotal encoded symbols: |Σ|×n
Not very efficient. Many symbols needed. We need to put a fixed maximum
length of sequences.
![Page 11: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/11.jpg)
2019.01.04 Large-Scale Knowledge Processing 11
Sequence BDD (SeqBDD)
Loekito, Bailey, and Pei [2009] Same as ZDD reduction rule. Only 0-edges keep variable ordering. 1-edges has no restriction. Still unique representation for a given
set of sequences. Each path from root to 1-terminal
corresponds to a sequence.
![Page 12: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/12.jpg)
2019.01.04 Large-Scale Knowledge Processing 12
Basic operations of sequence family algebra
ZDD-like algebraic operations. onset, offset, and push operations are different. Other operations are almost same.
![Page 13: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/13.jpg)
2019.01.04 Large-Scale Knowledge Processing 13
SeqBDD construction (applying basic operations)
a
10
{a}
1
{λ}
Push(a)a
1
{a, λ}
Union
b
a
1
{ba, b}
0Push(b)
b
a
1
{ba, a, b}
0
a
Union
Push(a)
{aba, aa, ab}
b
a
10
a
a
![Page 14: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/14.jpg)
2019.01.04 Large-Scale Knowledge Processing 14
Correspondence of Trie and SeqBDD
Trie SeqBDD equivalent to trie Reduced SeqBDD
![Page 15: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/15.jpg)
2019.01.04 Large-Scale Knowledge Processing 15
Trie and SeqBDD
Trie: Tree-structured lexicographical index of sequences A label of a letter for each branch A path from root to leaf corresponds to a sequence
In principle, a SeqBDD is equivalent to a trie with sharing their sub-trees. “DAWG”, which is similar idea, was already proposed in
the area of string processing. DAWG is only for indexing. SeqBDD supports not only
indexing but also set operations between SeqBDDs.
![Page 16: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/16.jpg)
2019.01.04 Large-Scale Knowledge Processing 16
Manipulating permutations
Rubik’s cube: Let P = { π | any primitive move of cube.} P includes 18 (= 3 ways ×6 faces) permutations. Cartesian product P×P represents all possible patterns
obtained by twice of primitive moves. P20 will have all possible patterns. (but maybe too large.)
15 puzzle / Card games Optimization of packing / arranging strategy
“Amida”-drawing (primitive sorting networks) One-to-one matching problems between two parties. Any bijective relation corresponds to a permutation.
Design of loss-less codes. Analysis of reversible logic. (related to quantum logic circuit.)
(© Wikipedia)
(© Wikipedia)
![Page 17: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/17.jpg)
2019.01.04 Large-Scale Knowledge Processing 17
Sets of permutations
Sets of combinations: ( ordinary BDDs/ZDDs) Don’t consider order and duplication of items “abcc” and “bca” are the same as “abc”.
Sets of sequences: ( SeqBDDs) Distinguishes all finite sequences. {λ}, { ab, aba, bbc }, { a, aa, aaa, aaaa }, etc.
Sets of permutations: ( πDD) Set of orders in a fixed number of items. φ, { 123 }, {12, 21}, { 123456, 132456, 246135 }
![Page 18: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/18.jpg)
2019.01.04
Decomposition of permutation
54321
54321
(3,5,2,1,4)
π = (3,5,2,1,4)
Repeating this process provides a decomposed form.
18Large-Scale Knowledge Processing
Transpositions τ(x,y) : exchange of two items x and y. Any n-item permutation π can be decomposed
by at most (n-1) transpositions.Let x = dim(π), then π τ(x, xπ) must not move x. Thus, dim(π τ(x, xπ) ) ≦ dim(π) – 1
![Page 19: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/19.jpg)
2019.01.04
Decomposition of permutation
54321
54321
54321
τ(5,4)(3,4,2,1)
π = (3,5,2,1,4) = (3,4,2,1) τ(5,4)
Repeating this process provides a decomposed form.
19Large-Scale Knowledge Processing
Transpositions τ(x,y) : exchange of two items x and y. Any n-item permutation π can be decomposed
by at most (n-1) transpositions.Let x = dim(π), then π τ(x, xπ) must not move x. Thus, dim(π τ(x, xπ) ) ≦ dim(π) – 1
![Page 20: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/20.jpg)
2019.01.04
Decomposition of permutation
54321
54321
54321
τ(4,1)54321
τ(5,4)(3,1,2)
π = (3,5,2,1,4) = (3,1,2) τ(4,1) τ(5,4)
Repeating this process provides a decomposed form.
20Large-Scale Knowledge Processing
Transpositions τ(x,y) : exchange of two items x and y. Any n-item permutation π can be decomposed
by at most (n-1) transpositions.Let x = dim(π), then π τ(x, xπ) must not move x. Thus, dim(π τ(x, xπ) ) ≦ dim(π) – 1
![Page 21: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/21.jpg)
2019.01.04
Decomposition of permutation
54321
54321
54321
τ(4,1)54321
τ(5,4)54321
τ(3,2)τ(2,1)
π = (3,5,2,1,4) = τ(2,1) τ(3,2) τ(4,1) τ(5,4)
Repeating this process provides a decomposed form.
21Large-Scale Knowledge Processing
Transpositions τ(x,y) : exchange of two items x and y. Any n-item permutation π can be decomposed
by at most (n-1) transpositions.Let x = dim(π), then π τ(x, xπ) must not move x. Thus, dim(π τ(x, xπ) ) ≦ dim(π) – 1
Deterministicprocess. canonical formfor any given π.
![Page 22: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/22.jpg)
22
Main idea of πDDs
P = P0 ∪ P1 τ(x,y)
Using a pair of IDs (x, y) for each decision node.
Let x = dim(P), and x > y > 0
x, y
P0 P1
P
P0 = { π | π∈P , xπ ≠ y }P1 = { πτ(x,y) | π∈P , xπ = y }
dim(P0) ≦ dim(P)dim(P1) < dim(P)
2019.01.04 Large-Scale Knowledge Processing
![Page 23: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/23.jpg)
2019.01.04 Large-Scale Knowledge Processing 23
Node reduction rules for πDDs
x,y
P0 P1
x,y x,y
P0 P1
(share)
Node sharing
x,y
P P
(jump)
0
Zero-suppressednode elimination
Same reduction rules as ZDDs. Ordinary BDD rules don’t work.
![Page 24: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/24.jpg)
πDDs of single permutation
0
φ
1
{ πe }
0 1
2,1
{(2,1)}
0 1
3,2
{(1,3,2)}
0 1
3,1
{(3,2,1)}
0 1
3,2
{(3,1,2)}
2,1
0 1
3,1
{(2,3,1)}
2,1
321
321
321
321
321
321
2019.01.04 24Large-Scale Knowledge Processing
![Page 25: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/25.jpg)
2019.01.04 Large-Scale Knowledge Processing 25
πDDs for sets of permutations
0 1
2,1
{(2,1)}
1
2,1
{ πe,(2,1)}
{πe,(2,1)}
{πe,(2,1),(1,3,2),(3,1,2),(3,2,1),(2,3,1)}
1
3,1
2,1
3,2
{πe,(2,1,),(1,3,2),(3,1,2)}
{πe,(2,1)}
{(2,1),(3,1,2),(3,2,1),(2,3,1)}
1
3,1
2,1
3,2
{(2,1),(3,1,2)}
0
2,1
{(2,1)}
![Page 26: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/26.jpg)
2019.01.04 Large-Scale Knowledge Processing 26
Algebraic operations for πDDs
“Permutation family algebra”
![Page 27: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/27.jpg)
2019.01.04 Large-Scale Knowledge Processing 27
Synthesis of πDDs by algebraic operations
0 1
2,1
{(2,1)}
1
2,1
{πe ,(2,1)}
{πe ,(2,1),(1,3,2)}
3,2
2,1
1
1
{ πe }τ(3,2)
union
0 1
3,2
{(1,3,2)}
union
1
3,2
2,1
product
1
3,2
2,1
0
difference
τ(2,1)
{πe ,(2,1),(1,3,2),(3,1,2)}
{(3,1,2)}
![Page 28: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/28.jpg)
2019.01.04 Large-Scale Knowledge Processing 28
Product operation for disjoint permutations
![Page 29: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/29.jpg)
2019.01.04
Application to primitive sorting networks
29Large-Scale Knowledge Processing
For n item permutations,we may layout k primitive (adjacent) swaps. How many k is the minimumfor generating a givenpermutation?
Any permutations of up to k swaps can be computed by the following simple equations. using πDDs.
![Page 30: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/30.jpg)
2019.01.04
Experiment (1) for primitive sorting networks
30Large-Scale Knowledge Processing
Experimental results for n = 10. All 10! permutations are generated by 45 swaps. (10! - 1) with 44 swaps. πDDs have a peak size at P27. Final size is only 45 nodes.
![Page 31: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/31.jpg)
2019.01.04
Experiment (2) for primitive sorting networks
31Large-Scale Knowledge Processing
Experimental result for n lines of primitive sorting networks. Determined the minimum swaps m to generate all n! permutations. High compression rate (>10000 times) in πDD size (peak and final).
![Page 32: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/32.jpg)
2019.01.04
Analysis of Rubik’s cube
32Large-Scale Knowledge Processing
Here, we focus only the moves of eight corner cubes. After solving the corner cubes, we can solve the other cubes independently.
Primitive turns along X-, Y-, and Z-axis can be written as follows.
![Page 33: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/33.jpg)
2019.01.04
Analysis of Rubik’s cube
33Large-Scale Knowledge Processing
Here, we focus only the moves of eight corner cubes. After solving the corner cubes, we can solve the other cubes independently.
Primitive turns along X-, Y-, and Z-axis can be written as follows.
![Page 34: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/34.jpg)
2019.01.04
Analysis of Rubik’s cube
34Large-Scale Knowledge Processing
Here, we focus only the moves of eight corner cubes. After solving the corner cubes, we can solve the other cubes independently.
Primitive turns along X-, Y-, and Z-axis can be written as follows.
![Page 35: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/35.jpg)
2019.01.04
Analysis of Rubik’s cube
35Large-Scale Knowledge Processing
Here, we focus only the moves of eight corner cubes. After solving the corner cubes, we can solve the other cubes independently.
Primitive turns along X-, Y-, and Z-axis can be written as follows.
![Page 36: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/36.jpg)
2019.01.04
Analysis of Rubik’s cube
36Large-Scale Knowledge Processing
Here, we focus only the moves of eight corner cubes. After solving the corner cubes, we can solve the other cubes independently.
Primitive turns along X-, Y-, and Z-axis can be written as follows.
All patterns by one move.
![Page 37: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/37.jpg)
2019.01.04
Analysis of Rubik’s cube
37Large-Scale Knowledge Processing
Here, we focus only the moves of eight corner cubes. After solving the corner cubes, we can solve the other cubes independently.
Primitive turns along X-, Y-, and Z-axis can be written as follows.
All patterns by one move.
All patterns by k moves.
![Page 38: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/38.jpg)
2019.01.04
Experimental result for Rubik’s cube
38Large-Scale Knowledge Processing
If focusing only corner cubes,11-moves generates all patterns. Only 511 πDD nodes for all patterns.
After generating Pk, we can analyze various properties of Rubik’s cube. The patterns such that only 2 cubes
moved but other 6 cubes remain can be written as:
4 patterns in k=10, and 5 patterns in k=11.(The sequence of moves can be obtained by πDD operations.)
![Page 39: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/39.jpg)
2019.01.04
Discussion on solving Rubik’s cube
39Large-Scale Knowledge Processing
Rokicki et al. confirmed that all 3×3 Rubik’s cube can be solved as few as 20 moves. [Rokicki et al. 2010] They don’t enumerate all minimum number of moves.
They just checked no patterns require more than 20 moves. At first they applied mathematical pruning, and then explored all
patterns by using large-scale PC cloud. (total 35 CPU years) Straight-forward application of πDD to 3×3 Rubik’s cube,
might cause memory overflow. πDD generates the minimum moves for all patterns, so the
computation is stronger than Rokicki’s result. Not using mathematical pruning, only with πDD’s compression. Using one CPU only. Our method is very flexible to modify the problem regulation.
(Definition of primitive moves, restriction of sequences, etc.)
![Page 40: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/40.jpg)
2019.01.04 Large-Scale Knowledge Processing 40
πDD sizes for typical cases
φ, { e } : O(1) nodes Sets of a single permutation with n items: O(n) nodes Sets of any k permutations with n items: O(k n) nodes Sets of all n rotations with n items: O(n2) nodes Sets of all n! permutations with n items: O(n2) nodes
Nodes for each permutation is bounded by “swap distance” from identical permutation.
πDD can be compact for representing the family consists of many similar sub-permutations.
![Page 41: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/41.jpg)
2019.01.04 Large-Scale Knowledge Processing 41
Upper bound of πDD sizes
Number of Families of permutations up to n items: 2n!
n 0, 1, 2, 3, 4, 5, … n! 1, 1, 2, 6, 24, 120, … 2n! 2, 2, 4, 64, 16777216,
1329227995784915872903807060280344576, … At least log n bit needed to distinguish n objects.
Thus, πDD size must be O(n!) bit in general.
![Page 42: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/42.jpg)
2019.01.04
Future Work on πDDs
42Large-Scale Knowledge Processing
Research on πDDs is still ongoing. A lot of future work remains.
Analyzing more precise complexity for πDD operations Developing a tool for easily manipulating permutation groups Many practical applications using sets of permutations Extension of permutation family algebra. (division, etc.) k-out-of n permutations, multiset of permutations, permutation of multiset items, etc.
![Page 43: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/43.jpg)
2019.01.04 Large-Scale Knowledge Processing 43
Summary
Basic operations of ZDDs (review) Sequence BDDs for manipulating sets of sequences
Sets of sequences Encoded ZDDs for representing sets of sequences SeqBDDs and their basic operations Tries and SeqBDDs
Permutation decision diagrams (πDDs) Sets of permutations Permutation represented by a set of transpositions πDDs and their basic operations Applications
ZDD extensions for sequences and permutations
![Page 44: Large-Scale Knowledge Processing (Part-A, lecture-5)minato/LSKP2018/lskp2018... · 2018. 12. 31. · 2019.01.04 Large-Scale Knowledge Processing 2 Review of the last lecture • BDD](https://reader035.fdocuments.net/reader035/viewer/2022071110/5fe527ef82f3594a512e9db9/html5/thumbnails/44.jpg)
2019.01.04 Large-Scale Knowledge Processing 44
Exercises
Draw the SeqBDDs for the following sets of sequences. { λ, a, aa, aaa, aaaa } { aaa, aab, aba, abb, baa, bab, bba, bbb } { a, ab, abb, abbb, b, ba, baa, baaa }