Upload
yuma-inoue
View
89
Download
3
Embed Size (px)
Citation preview
Studies on Permutation Set ManipulationBased on Decision Diagrams
January 23, 2017
Large-Scale Knowledge Processing LaboratoryYuma Inoue
Doctoral(Thesis(Defense(Presentation(
Permutations1 Bijection(π: [n]→ [n] on(a(set([n] = {1, 2, …, n}.
1 Notation:((((((((((((((((((((((((((((((((((((((((((((or
1 Ordering(of(items:(ex.((2, 3, 1, 4) for(a(set(S = {1, 2, 3, 4}.
1 Permutations(appear(in(several(applications:
matching,(sorting,(scheduling,(ordering,(encoding,(…
2
1
1
2
2
3
3
4
453
6
2
14
Doctoral(Thesis(Defense(Presentation(
Permutation Sets
3
1 A(subset(Π� Sn of(all(permutations(on([n].1 Collection(of(solutions
53
6
2
14 { (1, 3, 4, 2, 5, 6),
(1, 3, 4, 2, 6, 5),(1, 4, 3, 2, 5, 6),(1, 4, 3, 2, 6, 5) }
1 Useful(for…
1 extraction(with(criteria,
1 modification,
1 analysis,(etc.
Doctoral(Thesis(Defense(Presentation(
Permutation Sets
4
1 A(subset(Π� Sn of(all(permutations(on([n].1 Collection(of(solutions
53
6
2
14 { (1, 3, 4, 2, 5, 6),
(1, 3, 4, 2, 6, 5),(1, 4, 3, 2, 5, 6),(1, 4, 3, 2, 6, 5) }
1 Useful(for…
1 extraction(with(criteria,
1 modification,
1 analysis,(etc.
Extract(π s.t. π(3) = 3
Doctoral(Thesis(Defense(Presentation(
Permutation Sets
5
1 A(subset(Π� Sn of(all(permutations(on([n].1 Collection(of(solutions
53
6
2
14 { (1, 3, 4, 2, 5, 6),
(1, 3, 4, 2, 6, 5),(1, 4, 3, 2, 5, 6),(1, 4, 3, 2, 6, 5) }
1 Useful(for…
1 extraction(with(criteria,
1 modification,
1 analysis,(etc.
Add(edge((3,4)
Doctoral(Thesis(Defense(Presentation(
Permutation Sets
6
1 A(subset(Π� Sn of(all(permutations(on([n].1 Collection(of(solutions
53
6
2
14 { (1, 3, 4, 2, 5, 6),
(1, 3, 4, 2, 6, 5),(1, 4, 3, 2, 5, 6),(1, 4, 3, 2, 6, 5) }
1 Useful(for…
1 extraction(with(criteria,
1 modification,
1 analysis,(etc.
How(many(π’s(satisfy(π(5) > π(6)?
Doctoral(Thesis(Defense(Presentation(
Permutation Sets
7
1 A(subset(Π� Sn of(all(permutations(on([n].1 Collection(of(solutions
53
6
2
14 { (1, 3, 4, 2, 5, 6),
(1, 3, 4, 2, 6, 5),(1, 4, 3, 2, 5, 6),(1, 4, 3, 2, 6, 5) }
1 The(number(of(permutations:(n!→ Store(permutations(into(compressed(data(structure
with(operations.
Doctoral(Thesis(Defense(Presentation(
Data structure for Permutation SetsπDD([Minato11]1 Compress(any(permutation(set(with(manipulations.
1 Union,(Intersection,
1 Cartesian(product((((((((((((((((((((((((((((((((((((,
1 Extract(with(criteria((ex.(π(i) = j),(etc.1 Unknown(theoretical(size(bound(in(general.
8
10
τ1,2
τ1,3
τ1,4
{ (2, 1, 3, 4) = τ1,2,(2, 4, 3, 1) = τ1,4 τ1,3,(3, 2, 4, 1) = τ1,4 τ1,2 }
Main(target(of(this(thesis
Doctoral(Thesis(Defense(Presentation(
Topics in the Thesis
9
Reversible(Circuit
Debugging
Cycle1type
Partition
Euler(Path
Enumeration
Topological(Order
Enumeration
Pattern1avoiding
Perm.(Enumeration
Application Problems
Data structures
πDD
ZDDderive
Chapter(2
Doctoral(Thesis(Defense(Presentation(
Application ProblemsTopics in the Thesis
10
Reversible(Circuit
Debugging
Cycle1type
Partition
Euler(Path
Enumeration
Topological(Order
Enumeration
Pattern1avoiding
Perm.(Enumeration
Chapter(3
πDD
ZDD
Data structures [Reversible(Computation(15]
Doctoral(Thesis(Defense(Presentation(
Application ProblemsTopics in the Thesis
11
Reversible(Circuit
Debugging
Cycle1type
Partition
Euler(Path
Enumeration
Topological(Order
Enumeration
Pattern1avoiding
Perm.(Enumeration
[IEICE Trans.14]
πDD
ZDD
Data structures
Doctoral(Thesis(Defense(Presentation(
Application ProblemsTopics in the Thesis
12
Reversible(Circuit
Debugging
Cycle1type
Partition
Euler(Path
Enumeration
Topological(Order
Enumeration
Pattern1avoiding
Perm.(Enumeration
πDD Rot-πDD
Section(4.1
ZDD
Data structures
Doctoral(Thesis(Defense(Presentation(
Application ProblemsTopics in the Thesis
13
Reversible(Circuit
Debugging
Cycle1type
Partition
Euler(Path
Enumeration
Topological(Order
Enumeration
Pattern1avoiding
Perm.(Enumeration
πDD Rot-πDD
Chapter(4
[ISAAC14]
ZDD
Data structures
Doctoral(Thesis(Defense(Presentation(
Application ProblemsTopics in the Thesis
14
Reversible(Circuit
Debugging
Cycle1type
Partition
Euler(Path
Enumeration
Topological(Order
Enumeration
Pattern1avoiding
Perm.(Enumeration
πDD Rot-πDD
Section(4.5
?
ZDD
Data structures
Doctoral(Thesis(Defense(Presentation(
Application ProblemsTopics in the Thesis
15
Reversible(Circuit
Debugging
Cycle1type
Partition
Euler(Path
Enumeration
Topological(Order
Enumeration
Pattern1avoiding
Perm.(Enumeration
πDD Rot-πDD
ZDD
Subgraph
Enumeration
Chapter(5 improves
Data structures
Doctoral(Thesis(Defense(Presentation(
Degree Requirements�Y.(Inoue,(T.(Toda,(and(M.(Minato."Implicit(Generation(of(Pattern1Avoiding(Permutations(by(Using(Permutation(Decision(Diagrams."IEICE(TRANSACTIONS(on(Fundamentals(of(Electronics,(Communications(and(Computer(Sciences,(Vol.E971A,(No.6,(pp.117111179,(June(2014.
�Y.(Inoue and(S.(Minato."An(Efficient(Method(for(Indexing(All(Topological(Orders(of(a(Directed(Graph."Algorithms(and(Computation(1 25th(International(Symposium((ISAAC),pp.1031114(2014.
�Y.(Inoue and(S.(Minato."Improved(Algorithms(for(Debugging(Problems(on(Erroneous(Reversible(Circuits."Reversible(Computation(1 7th(International(Conference,((RC),(pp.1861199,(2015.
16
Section 4.4
Section 3.1
Section 4.3
Doctoral(Thesis(Defense(Presentation(
Degree Requirements�Y.(Inoue,(T.(Toda,(and(M.(Minato."Implicit(Generation(of(Pattern1Avoiding(Permutations(by(Using(Permutation(Decision(Diagrams."IEICE(TRANSACTIONS(on(Fundamentals(of(Electronics,(Communications(and(Computer(Sciences,(Vol.E971A,(No.6,(pp.117111179,(June(2014.
�Y.(Inoue and(S.(Minato."An(Efficient(Method(for(Indexing(All(Topological(Orders(of(a(Directed(Graph."Algorithms(and(Computation(1 25th(International(Symposium((ISAAC),pp.1031114(2014.
�Y.(Inoue and(S.(Minato."Improved(Algorithms(for(Debugging(Problems(on(Erroneous(Reversible(Circuits."Reversible(Computation(1 7th(International(Conference,((RC),(pp.1861199,(2015.
17
Section 4.4
Section 4.3
Section 3.1
Doctoral(Thesis(Defense(Presentation(
Application ProblemsNext Topic
18
Reversible(Circuit
Debugging
Cycle1type
Partition
Euler(Path
Enumeration
Topological(Order
Enumeration
Pattern1avoiding
Perm.(Enumeration
πDD Rot-πDD
ZDD
Subgraph
Enumeration
Data structures
Doctoral(Thesis(Defense(Presentation(
ZDDs [Minato93]�Data(structure(for(a(family(of(sets.
�Compressed(binary(decision(tree(by:
1 delete(nodes(whose(11edge(pointing(to(01terminal,1 merge(the(equivalent(nodes.
�ZDD(supports(several(operations:
1 union,
1 intersection,(etc.
�ZDD(operation(timedepends(only(on
the(size(of(ZDD. 01101000
cccc
b b
a10
10
c
b b
a 10
{ {a, b}, {a, c}, {b, c} }
19
Doctoral(Thesis(Defense(Presentation(
πDDs [Minato11]�Data(structure(for(a(set(of(permutations.
�Transposition(τi,j:(�Any(permutation(can(be(decomposed(into(sequence(of τi,j.Ex.((2, 4, 3, 1) ← (4, 2, 3, 1) ← (1, 2, 3, 4)
�Transpositions(are(assigned(to(ZDD(nodes.
�πDDs(have(several(operations:1 Cartesian(product,
1 extraction,(etc.
1 Runtime(dependson(the(size(of(πDDs.
10
τ1,2
τ1,3
τ1,4
{ (2, 1, 3, 4) = τ1,2,(2, 4, 3, 1) = τ1,4 τ1,2,(3, 2, 4, 1) = τ1,4 τ1,3 }
τ1,2 τ1,4
20
Doctoral(Thesis(Defense(Presentation(
Application ProblemsNext Topic
21
Reversible(Circuit
Debugging
Cycle1type
Partition
Euler(Path
Enumeration
Topological(Order
Enumeration
Pattern1avoiding
Perm.(Enumeration
πDD Rot-πDD
ZDD
Subgraph
Enumeration
Data structures
Doctoral(Thesis(Defense(Presentation(
x1
x2
x3 y3
y2
y1
0
0
1
0
1
1
1
1
1
1
1
0
g1 g2 g3
01
23
4
567
x1 x2 x3 y3y2y1
0 0 00 00 00
111 10 00
01
11 11
111
0 0 10 0 0
0 010 1 1
0 11011
1 110 01
G = g1g2g3f
⇡f
: controls : targets
Debugging Erroneous Reversible CircuitsProblemInput:(an(objective(function,(an(erroneous(reversible(circuit
Output:(error(positions(and(ways(to(fix(them
Contributions:1 For(single1error(model:(propose(an(algorithm((without(πDDs)(faster(than(the(existing(methods([Wille+09]([Tague+13].
1 For(multiple1error(model:(propose(the(first(debugging(algorithm(by(utilizing(πDDs.
1 Reversible(Circuit:(specify(a(permutation(on({0, 1, …, 2n-1}j1 described(as(a(cascade(of(gates.
22
Doctoral(Thesis(Defense(Presentation(
Cycle-type Partition of Permutation SetsProblemInput:(a(permutation(set
Output:(partition(with(respect(to(cycle1type(equivalence
Contributions:1 A(proposed(πDD1based(algorithm(runs(fast(and(uses(less(memory(than(a(previous(πDD1based(approach([Yamada+12].
1 A(permutation(is(decomposed(into(cycles.
1 Cycle1type(equivalence(=(the(same(topology(of(cycles.
1
2
3
4
5
6
1
2
3
4
5
6
23
Doctoral(Thesis(Defense(Presentation(
Application ProblemsNext Topic
24
Reversible(Circuit
Debugging
Cycle1type
Partition
Euler(Path
Enumeration
Topological(Order
Enumeration
Pattern1avoiding
Perm.(Enumeration
πDD Rot-πDD
ZDD
Data structures
Doctoral(Thesis(Defense(Presentation(
Rotation-based πDDs (Rot-πDDs)�Modified(version(of(πDD�Left1rotation(ρi,j:(
�Any(permutation(can(be(decomposed(into(sequence(of ρi,j.
Ex.((3, 2, 4, 1) ← (2, 3, 4, 1) ← (1, 2, 3, 4)
�Left1rotations(are(assigned(to(ZDD(nodes.
�Operations(on(πDDs(are(also(available.
10
ρ1,2
ρ1,3
ρ1,4
{ (2, 1, 3, 4) = ρ1,2,(2, 4, 3, 1) = ρ1,4 ρ1,3,(3, 2, 4, 1) = ρ1,4 ρ1,2 }
ρ1,2 ρ1,4
25
Doctoral(Thesis(Defense(Presentation(
Enumeration of Topological Orders
1 Topological(order:(a(sequence(of(vertices(such(that(the(order(
must(not(contradict(all(edges.
Contributions:1 Give(dynamic(programming(algorithm(for(Rot1πDD(construction.1 Provide(a(Rot1πDD(operation(to(handle(dynamic(edge(addition.1 Show(Rot1πDDs(are(theoretically(preferable(to(πDDs.
Input:(a(directed(graph
Output:(all(topological(orders(in(the(graph
Problem
53
6
2
1 4
53 621 4
26
Doctoral(Thesis(Defense(Presentation(
1 Dynamic(programming(for(counting:
1 Recursively(compute(the(number(of(topological(orders
for(each(induced(subgraph(of(graph(G:(dpS = Σv�S dpS�{v}.
1 Reduce(search(space:(n! → 2n (n =|V|)
53
6
4
1 2
dp{3,4,5,6} = 2
dp{2,3,4,5,6} = 4
27
Key idea for Rot-πDD construction algorithm
53
6
4
1 2dp{2,4,5,6} = 2 53
6
4
1 2
Doctoral(Thesis(Defense(Presentation(
1 Permutation(representation(of(search(states:
1 k1suffix:(reverse(of(used(vertices,((n-k)1prefix:(unused(vertices1 (n-k)1prefix(corresponds(to(an(inducing(vertex(set.
1 transposition(τx,y or(left1rotation(ρx,y:use(the(x1th unused(vertex(as(the((n-y)1th vertex.
(2, 3, 4, 5, 6, 1)
ρ2,5
28
Key idea for Rot-πDD construction algorithm
53
6
4
1 2
53
6
4
1 2
(2, 4, 5, 6, 3, 1)
Doctoral(Thesis(Defense(Presentation(
1 transpositions:(two(different(k1prefixes(represent(the(same(state.1 left1rotation:(k1prefix(is(in(the(increasing(order.
← left1rotations(keep(relative(orders(of(prefix.
(6, 2, 3, 4, 5, 1)
29
Key idea for Rot-πDD construction algorithm
53
6
4
1 2
(6, 5, 3, 4, 2, 1)
(6, 5, 4, 3, 2, 1)
(6, 2, 5, 4, 3, 1)
(6, 4, 5, 2, 3, 1)
(2, 3, 4, 5, 6, 1)
53
6
4
1 2
(3, 4, 5, 6, 2, 1)
(4, 5, 6, 3, 2, 1)
(2, 4, 5, 6, 3, 1)
(4, 5, 6, 2, 3, 1)
× ○
ρ2,5ρ1,5
ρ1,4 ρ1,4
τ3,5τ2,5
τ3,4 τ2,4
Doctoral(Thesis(Defense(Presentation(
30
Key idea for Rot-πDD construction algorithm
(2, 3, 4, 5, 6, 1)
53
6
4
1 2
(3, 4, 5, 6, 2, 1) (2, 4, 5, 6, 3, 1)
ρ2,5ρ1,5
ρ1,4 ρ1,4
53
6
4
1 2Rot1πDD(for
1 transpositions:(two(different(k1prefixes(represent(the(same(state.1 left1rotation:(k1prefix(is(in(the(increasing(order.
← left1rotations(keep(relative(orders(of(prefix.
Doctoral(Thesis(Defense(Presentation(
a
b c
d e
14
3 6
2 5
Enumeration of Euler Paths
1 Euler(path:(a(walk(passing(through every(edge(exactly(once.
Contributions:1 Provide(construction(algorithm(of(Rot1πDD(representing(all(Euler(paths(based(on(dynamic(programming(for(counting.
1 Show(Rot1πDDs(are(theoretically(preferable(to(πDDs.
Input:(an(undirected(graph
Output:(all(Euler(paths(in(the(graph
Problem
b→ d → a → b → c → e → d3 2 1 4 6 5
31
Doctoral(Thesis(Defense(Presentation(
Enumeration of Pattern-Avoiding Permutations
Contributions:1 Provide(a(Rot1πDD(construction(algorithm,(which(is(faster(than(a(commonly(used(software((=(PermLab [Albert12]).
1 Reveal(the(advantage(of(Rot1πDDs(against(πDDs.
Input:(permutation(pattern(s),(an(integer(nOutput:(all(the(permutations(on([n] avoiding(the(pattern(s).
Problem
1 Text(perm(τ avoids(pattern(perm(π�no(subsequence(of(τ has(the(same(relative(order(to(π.Ex.(Text((4,(2,(1,(3),(Pattern((3,(1,(2)
32
Doctoral(Thesis(Defense(Presentation(
Application ProblemsNext Topic
33
Reversible(Circuit
Debugging
Cycle1type
Partition
Euler(Path
Enumeration
Topological(Order
Enumeration
Pattern1avoiding
Perm.(Enumeration
πDD Rot-πDD
Section(4.5
?
ZDD
Data structures
Doctoral(Thesis(Defense(Presentation(
Application ProblemsChoice of Permutation Decision Diagrams
34
τ2,3
(2, 3, 4, 5, 6, 1)
ρ2,553
6
4
1 2
53
6
4
1 2
(2, 4, 5, 6, 3, 1)
Conduct(experiments(to(investigate(permutation(parameters(
affecting(the(performance(of(decision(diagrams.
1 Focus(on(disorder(measures(as(permutation(parameters:(
Inv,%Dis,%Exc,%Max,%Res,(and(Runs.1 Rot1πDDs(are(preferable(to(πDDs(except(Exc.
Doctoral(Thesis(Defense(Presentation(
Application ProblemsNext Topic
35
Reversible(Circuit
Debugging
Cycle1type
Partition
Euler(Path
Enumeration
Topological(Order
Enumeration
Pattern1avoiding
Perm.(Enumeration
πDD Rot-πDD
ZDD
Subgraph
Enumeration
Data structures
Doctoral(Thesis(Defense(Presentation(
Enumeration of Subgraphs
1 A(ZDD(can(represent(subgraphs(of(a(graph.
1 A(variable(order(of(ZDDs(dramatically(affects(the(size(of(ZDDs.
Input:(an(undirected(graph(and(constraints
Output:(ZDD(for(all(the(subgraph(satisfying(the(constraints
Problem
36
Doctoral(Thesis(Defense(Presentation(
37
Enumeration of SubgraphsKey observation to minimize ZDDs1 The(size(of(ZDDs(is(related(to(the(path1width(of(a(graph.
1 Propose(a(method(computing(an(edge(order(with(small(path1width.
1 Improves(the(size(of(ZDDs(for(benchmark.
Contributions:
Doctoral(Thesis(Defense(Presentation(
Conclusions
1 Utilize(πDDs(for(two(problems.1 Propose(Rot1πDDs(and(utilize(it(for(three(problems.
38
Apply%decision%diagrams%to%permutation%problems.
1 Properties(of(individual(problems:(swaps(and(relative(orders.
1 Permutation(parameters:(disorder(measures.
Analyze%the%performance%of%decision%diagrams%experimentally%and%theoretically.
Doctoral(Thesis(Defense(Presentation(
Open Problems�Optimization(schemes(on(permutation(decision(diagrams.
�Reveal(theoretical(relations(between(permutation(decision(diagrams(and(permutation(parameters.
�Generalized(framework(for(permutation(decision(diagram(based(on(generators(of(permutation(groups.
1 Transpositions(and(left1rotations(are(generators of
a(symmetric(group.
39