Você está na página 1de 39

Studies on Permutation Set Manipulation

Based on Decision Diagrams

Yuma Inoue
Large-Scale Knowledge Processing Laboratory

January 23, 2017


2

Permutations
1 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,(…

1 2 3 4
1 4 6

3 5
2
1 2 3 4
Doctoral(Thesis(Defense(Presentation(
3

Permutation Sets
1 A(subset(Π Sn of(all(permutations(on([n].
1 Collection(of(solutions
1 4 6 { (1, 3, 4, 2, 5, 6),
(1, 3, 4, 2, 6, 5),
3 5 (1, 4, 3, 2, 5, 6),
2 (1, 4, 3, 2, 6, 5) }

1 Useful(for…
1 extraction(with(criteria,
1 modification,
1 analysis,(etc.

Doctoral(Thesis(Defense(Presentation(
4

Permutation Sets
1 A(subset(Π Sn of(all(permutations(on([n].
1 Collection(of(solutions
1 4 6 { (1, 3, 4, 2, 5, 6),
(1, 3, 4, 2, 6, 5),
3 5 (1, 4, 3, 2, 5, 6),
2 (1, 4, 3, 2, 6, 5) }
Extract(π s.t. π(3) = 3
1 Useful(for…
1 extraction(with(criteria,
1 modification,
1 analysis,(etc.

Doctoral(Thesis(Defense(Presentation(
5

Permutation Sets
1 A(subset(Π Sn of(all(permutations(on([n].
1 Collection(of(solutions
1 4 6 { (1, 3, 4, 2, 5, 6),
(1, 3, 4, 2, 6, 5),
3 5 (1, 4, 3, 2, 5, 6),
2 (1, 4, 3, 2, 6, 5) }
Add(edge((3,4)
1 Useful(for…
1 extraction(with(criteria,
1 modification,
1 analysis,(etc.

Doctoral(Thesis(Defense(Presentation(
6

Permutation Sets
1 A(subset(Π Sn of(all(permutations(on([n].
1 Collection(of(solutions
1 4 6 { (1, 3, 4, 2, 5, 6),
(1, 3, 4, 2, 6, 5),
3 5 (1, 4, 3, 2, 5, 6),
2 (1, 4, 3, 2, 6, 5) }
How(many(π’s(satisfy(π(5) > π(6)?
1 Useful(for…
1 extraction(with(criteria,
1 modification,
1 analysis,(etc.

Doctoral(Thesis(Defense(Presentation(
7

Permutation Sets
1 A(subset(Π Sn of(all(permutations(on([n].
1 Collection(of(solutions
1 4 6 { (1, 3, 4, 2, 5, 6),
(1, 3, 4, 2, 6, 5),
3 5 (1, 4, 3, 2, 5, 6),
2 (1, 4, 3, 2, 6, 5) }

1 The(number(of(permutations:(n!
→ Store(permutations(into(compressed(data(structure
with(operations.

Doctoral(Thesis(Defense(Presentation(
8

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. τ1,4
Main(target(of(this(thesis τ1,3
{ (2, 1, 3, 4) = τ1,2, τ1,2
(2, 4, 3, 1) = τ1,4 τ1,3,
(3, 2, 4, 1) = τ1,4 τ1,2 } 0 1
Doctoral(Thesis(Defense(Presentation(
9

Topics in the Thesis


Application Problems
Cycle1type Euler(Path Pattern1avoiding
Partition Enumeration Perm.(Enumeration

Reversible(Circuit Topological(Order
Debugging Enumeration

Data structures

πDD

derive
Chapter(2 ZDD

Doctoral(Thesis(Defense(Presentation(
10

Topics in the Thesis


Application Problems
Cycle1type Euler(Path Pattern1avoiding
Partition Enumeration Perm.(Enumeration

Reversible(Circuit Topological(Order
Debugging Enumeration

[Reversible(Computation(15]
Data structures

πDD

Chapter(3 ZDD

Doctoral(Thesis(Defense(Presentation(
11

Topics in the Thesis


Application Problems
Cycle1type Euler(Path Pattern1avoiding
Partition Enumeration Perm.(Enumeration

Reversible(Circuit Topological(Order
Debugging Enumeration

[IEICE Trans.14]
Data structures

πDD

ZDD

Doctoral(Thesis(Defense(Presentation(
12

Topics in the Thesis


Application Problems
Cycle1type Euler(Path Pattern1avoiding
Partition Enumeration Perm.(Enumeration

Reversible(Circuit Topological(Order
Debugging Enumeration

Data structures Section(4.1

πDD Rot-πDD

ZDD

Doctoral(Thesis(Defense(Presentation(
13

Topics in the Thesis


Application Problems
Cycle1type Euler(Path Pattern1avoiding
Partition Enumeration Perm.(Enumeration

Reversible(Circuit Topological(Order
Debugging Enumeration

[ISAAC14]
Data structures

πDD Rot-πDD

ZDD Chapter(4

Doctoral(Thesis(Defense(Presentation(
14

Topics in the Thesis


Application Problems
Cycle1type Euler(Path Pattern1avoiding
Partition Enumeration Perm.(Enumeration

Reversible(Circuit Topological(Order
Debugging Enumeration
?

Data structures Section(4.5

πDD Rot-πDD

ZDD

Doctoral(Thesis(Defense(Presentation(
15

Topics in the Thesis


Application Problems
Cycle1type Euler(Path Pattern1avoiding
Partition Enumeration Perm.(Enumeration

Reversible(Circuit Topological(Order Subgraph


Debugging Enumeration Enumeration

Data structures

πDD Rot-πDD

ZDD
Chapter(5 improves

Doctoral(Thesis(Defense(Presentation(
16

Degree Requirements
Y.(Inoue,(T.(Toda,(and(M.(Minato. Section 4.4
"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. Section 4.3


"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. Section 3.1


"Improved(Algorithms(for(Debugging(Problems(on(Erroneous(
Reversible(Circuits."
Reversible(Computation(1 7th(International(Conference,((RC),(pp.1861199,(
2015.
Doctoral(Thesis(Defense(Presentation(
17

Degree Requirements
Y.(Inoue,(T.(Toda,(and(M.(Minato. Section 4.4
"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. Section 4.3


"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. Section 3.1


"Improved(Algorithms(for(Debugging(Problems(on(Erroneous(
Reversible(Circuits."
Reversible(Computation(1 7th(International(Conference,((RC),(pp.1861199,(
2015.
Doctoral(Thesis(Defense(Presentation(
18

Next Topic
Application Problems
Cycle1type Euler(Path Pattern1avoiding
Partition Enumeration Perm.(Enumeration

Reversible(Circuit Topological(Order Subgraph


Debugging Enumeration Enumeration

Data structures

πDD Rot-πDD

ZDD

Doctoral(Thesis(Defense(Presentation(
19

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.
{ {a, b}, {a, c}, {b, c} }
ZDD(supports(several(operations: a
1 union, 0 1
0 a 1
1 intersection,(etc. b b
b b
ZDD(operation(time
c c c c c
depends(only(on
the(size(of(ZDD. 0 1 0 0 0 1 0 1 1 0

Doctoral(Thesis(Defense(Presentation(
20

π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)
τ1,2 τ1,4
Transpositions(are(assigned(to(ZDD(nodes. τ1,4
πDDs(have(several(operations: τ1,3
1 Cartesian(product,
{ (2, 1, 3, 4) = τ1,2, τ1,2
1 extraction,(etc.
1 Runtime(depends (2, 4, 3, 1) = τ1,4 τ1,2,
0 1
on(the(size(of(πDDs. (3, 2, 4, 1) = τ1,4 τ1,3 }
Doctoral(Thesis(Defense(Presentation(
21

Next Topic
Application Problems
Cycle1type Euler(Path Pattern1avoiding
Partition Enumeration Perm.(Enumeration

Reversible(Circuit Topological(Order Subgraph


Debugging Enumeration Enumeration

Data structures

πDD Rot-πDD

ZDD

Doctoral(Thesis(Defense(Presentation(
22

Debugging Erroneous Reversible Circuits


Problem
Input:(an(objective(function,(an(erroneous(reversible(circuit
Output:(error(positions(and(ways(to(fix(them
1 Reversible(Circuit:(specify(a(permutation(on({0, 1, …, 2n-1}j
1 described(as(a(cascade(of(gates. x1 x2 x3
f
y1 y2 y3 ⇡f
G = g1 g2 g3
1
g1
1
g2
1
g3
1
0 0 0 0 0 1 1 x1 y1
0 0 1 0 0 0 0
0 1 0 0 1 1 3 0 1 1 0
x2 y2
0 1 1 0 1 0 2
1 0 0 1 0 1 5
1 0 1 1 1 0 6 x3 0 0 1 1 y3

1 1 0 1 1 1 7

Contributions: 1 1 1 1 0 0 4 : controls : targets

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.
Doctoral(Thesis(Defense(Presentation(
23

Cycle-type Partition of Permutation Sets


Problem
Input:(a(permutation(set
Output:(partition(with(respect(to(cycle1type(equivalence
1 A(permutation(is(decomposed(into(cycles.
1 Cycle1type(equivalence(=(the(same(topology(of(cycles.
Contributions:
1 A(proposed(πDD1based(algorithm(runs(fast(and(uses(less(
memory(than(a(previous(πDD1based(approach([Yamada+12].

1 1
6 2 6 2

5 3 5 3
4 4
Doctoral(Thesis(Defense(Presentation(
24

Next Topic
Application Problems
Cycle1type Euler(Path Pattern1avoiding
Partition Enumeration Perm.(Enumeration

Reversible(Circuit Topological(Order
Debugging Enumeration

Data structures

πDD Rot-πDD

ZDD

Doctoral(Thesis(Defense(Presentation(
25

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)
ρ1,2 ρ1,4
Left1rotations(are(assigned(to(ZDD(nodes. ρ1,4

Operations(on(πDDs(are(also(available. ρ1,3
{ (2, 1, 3, 4) = ρ1,2, ρ1,2
(2, 4, 3, 1) = ρ1,4 ρ1,3,
(3, 2, 4, 1) = ρ1,4 ρ1,2 } 0 1
Doctoral(Thesis(Defense(Presentation(
26

Enumeration of Topological Orders


Problem
Input:(a(directed(graph
Output:(all(topological(orders(in(the(graph
1 Topological(order:(a(sequence(of(vertices(such(that(the(order(
must(not(contradict(all(edges.
1 4 6
1 3 4 2 5 6
3 5
2
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.
Doctoral(Thesis(Defense(Presentation(
27

Key idea for Rot-πDD construction algorithm


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|)
1 2 6
dp{2,3,4,5,6} = 4
3 5
4

1 6 1 2 6
2
dp{2,4,5,6} = 2
dp{3,4,5,6} = 2
3 5 3 5
4 4

Doctoral(Thesis(Defense(Presentation(
28

Key idea for Rot-πDD construction algorithm


1 Permutation(representation(of(search(states:
1 k1suffix:(reverse(of(used(vertices,((n-k)1prefix:(unused(vertices
1 (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.

1 2 6 1 2 6

5
3 5
4 ρ2,5 3
4

(2, 3, 4, 5, 6, 1) (2, 4, 5, 6, 3, 1)

Doctoral(Thesis(Defense(Presentation(
29

Key idea for Rot-πDD construction algorithm


1 transpositions:(two(different(k1prefixes(represent(the(same(state.
1 left1rotation:(k1prefix(is(in(the(increasing(order.
← left1rotations(keep(relative(orders(of(prefix.
1 2 6 1 2 6

3 5 3 5
4 4
(6, 2, 3, 4, 5, 1) (2, 3, 4, 5, 6, 1)
τ2,5 τ3,5 ρ1,5 ρ2,5
(6, 5, 3, 4, 2, 1) (6, 2, 5, 4, 3, 1) (3, 4, 5, 6, 2, 1) (2, 4, 5, 6, 3, 1)
τ3,4 τ2,4 ρ1,4 ρ1,4
(6, 5, 4, 3, 2, 1) (6, 4, 5, 2, 3, 1) (4, 5, 6, 3, 2, 1) (4, 5, 6, 2, 3, 1)
× ○
Doctoral(Thesis(Defense(Presentation(
30

Key idea for Rot-πDD construction algorithm


1 transpositions:(two(different(k1prefixes(represent(the(same(state.
1 left1rotation:(k1prefix(is(in(the(increasing(order.
← left1rotations(keep(relative(orders(of(prefix.
1 2 6

3 5
4
(2, 3, 4, 5, 6, 1)
ρ1,5 ρ2,5
(3, 4, 5, 6, 2, 1) (2, 4, 5, 6, 3, 1)
ρ1,4 ρ1,4
1 2 6
Rot1πDD(for
3 5
4
Doctoral(Thesis(Defense(Presentation(
31

Enumeration of Euler Paths


Problem
Input:(an(undirected(graph
Output:(all(Euler(paths(in(the(graph
1 Euler(path:(a(walk(passing(through every(edge(exactly(once.
b 4 c
1
3 2 1 4 6 5
a 3 6 b→d→a→b→c→e→d
2 5
d e
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.
Doctoral(Thesis(Defense(Presentation(
32

Enumeration of Pattern-Avoiding Permutations


Problem
Input:(permutation(pattern(s),(an(integer(n
Output:(all(the(permutations(on([n] avoiding(the(pattern(s).
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)

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.

Doctoral(Thesis(Defense(Presentation(
33

Next Topic
Application Problems
Cycle1type Euler(Path Pattern1avoiding
Partition Enumeration Perm.(Enumeration

Reversible(Circuit Topological(Order
Debugging Enumeration
?

Data structures Section(4.5

πDD Rot-πDD

ZDD

Doctoral(Thesis(Defense(Presentation(
34

Choice of Permutation Decision Diagrams


Application Problems
1 2 6 1 2 6
τ2,3 5 3 5
3 ρ2,5 4
4
(2, 3, 4, 5, 6, 1) (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(
35

Next Topic
Application Problems
Cycle1type Euler(Path Pattern1avoiding
Partition Enumeration Perm.(Enumeration

Reversible(Circuit Topological(Order Subgraph


Debugging Enumeration Enumeration

Data structures

πDD Rot-πDD

ZDD

Doctoral(Thesis(Defense(Presentation(
36

Enumeration of Subgraphs
Problem
Input:(an(undirected(graph(and(constraints
Output:(ZDD(for(all(the(subgraph(satisfying(the(constraints
1 A(ZDD(can(represent(subgraphs(of(a(graph.
1 A(variable(order(of(ZDDs(dramatically(affects(the(size(of(ZDDs.

Doctoral(Thesis(Defense(Presentation(
37

Enumeration of Subgraphs
Key observation to minimize ZDDs
1 The(size(of(ZDDs(is(related(to(the(path1width(of(a(graph.

Contributions:
1 Propose(a(method(computing(an(edge(order(with(small(path1width.
1 Improves(the(size(of(ZDDs(for(benchmark.
Doctoral(Thesis(Defense(Presentation(
38

Conclusions
Apply%decision%diagrams%to%permutation%problems.
1 Utilize(πDDs(for(two(problems.
1 Propose(Rot1πDDs(and(utilize(it(for(three(problems.

Analyze%the%performance%of%decision%diagrams%
experimentally%and%theoretically.
1 Properties(of(individual(problems:(swaps(and(relative(orders.
1 Permutation(parameters:(disorder(measures.

Doctoral(Thesis(Defense(Presentation(
39

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.

Doctoral(Thesis(Defense(Presentation(

Você também pode gostar