Introduction Some cases Conclusion
Euler Tour Lock-in Problem
in the Rotor-Router Model
I choose pointers and you choose port numbers
Evangelos Bampas1,3 Leszek Gasieniec2
Nicolas Hanusse3 David Ilcinkas3
Ralf Klasing3 Adrian Kosowski3,4
1 National
Technical University of Athens, Greece
of Liverpool, UK
3 CNRS / INRIA / Univ. of Bordeaux, France
4 Gdańsk University of Technology, Poland
2 University
ANR Aladdin meeting
November 27th, 2009
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Definitions
Anonymous graphs / networks
No (used) node labeling
Local port numbering at node v from 1 to deg(v )
Mobile agent / robot / message / anything
Follows the rotor-router mechanism
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Definitions
Anonymous graphs / networks
No (used) node labeling
Local port numbering at node v from 1 to deg(v )
3
2
1
d−1
d
Mobile agent / robot / message / anything
Follows the rotor-router mechanism
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Definitions
Anonymous graphs / networks
No (used) node labeling
Local port numbering at node v from 1 to deg(v )
3
2
1
d−1
d
Mobile agent / robot / message / anything
Follows the rotor-router mechanism
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Rotor-router mechanism
3
2
1
d−1
d
Very simple mechanism:
Each node has a pointer %
The agent follows the
pointer and “increments”
it with respect to the
cyclic ordering (induced
by the port numbering)
Other names: Propp machine, Next-Port, Edge Ant Walk
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Rotor-router mechanism
3
2
1
d−1
d
Very simple mechanism:
Each node has a pointer %
The agent follows the
pointer and “increments”
it with respect to the
cyclic ordering (induced
by the port numbering)
Other names: Propp machine, Next-Port, Edge Ant Walk
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Rotor-router mechanism
3
2
1
d−1
d
Very simple mechanism:
Each node has a pointer %
The agent follows the
pointer and “increments”
it with respect to the
cyclic ordering (induced
by the port numbering)
Other names: Propp machine, Next-Port, Edge Ant Walk
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Rotor-router mechanism
3
2
1
d−1
d
Very simple mechanism:
Each node has a pointer %
The agent follows the
pointer and “increments”
it with respect to the
cyclic ordering (induced
by the port numbering)
Other names: Propp machine, Next-Port, Edge Ant Walk
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Context
Known results
The agent eventually traverses each edge
The traversal stabilizes into an Euler tour: each edge is
traversed once in each direction within a period
Lock-in time: Θ(m · D) (m: # edges, D: diameter)
Motivations / Applications
Graph exploration (by a software agent / robot)
Mutual exclusion
Stabilisation of distributed processes
Work and load balancing problems
etc.
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Context
Known results
The agent eventually traverses each edge
The traversal stabilizes into an Euler tour: each edge is
traversed once in each direction within a period
Lock-in time: Θ(m · D) (m: # edges, D: diameter)
Motivations / Applications
Graph exploration (by a software agent / robot)
Mutual exclusion
Stabilisation of distributed processes
Work and load balancing problems
etc.
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Context
Known results
The agent eventually traverses each edge
The traversal stabilizes into an Euler tour: each edge is
traversed once in each direction within a period
Lock-in time: Θ(m · D) (m: # edges, D: diameter)
Motivations / Applications
Graph exploration (by a software agent / robot)
Mutual exclusion
Stabilisation of distributed processes
Work and load balancing problems
etc.
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Context
Known results
The agent eventually traverses each edge
The traversal stabilizes into an Euler tour: each edge is
traversed once in each direction within a period
Lock-in time: Θ(m · D) (m: # edges, D: diameter)
Motivations / Applications
Graph exploration (by a software agent / robot)
Mutual exclusion
Stabilisation of distributed processes
Work and load balancing problems
etc.
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Related work
Y. Afek and E. Gafni, SIAM Journal on Computing, 1994.
S. Bhatt, S. Even, D. Greenberg, and R. Tayar, Journal of
Graph Algorithms and Applications, 2002.
J.N. Cooper and J. Spencer, Combinatorics, Probability
and Computing, 2006.
B. Doerr and T. Friedrich, Combinatorics, Probability and
Computing, 2009.
A.S. Fraenkel, Mathematics Magazine, 1970.
L. Gasieniec and T. Radzik, Proc. WG, 2008.
V.B. Priezzhev, D. Dhar, A. Dhar, and S. Krishnamurthy,
Physics Review Letters, 1996.
S. Tixeuil, Proc. WSS, 2001.
V. Yanovski, I.A. Wagner, and A.M. Bruckstein,
Algorithmica, 2003.
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Related work
Y. Afek and E. Gafni, SIAM Journal on Computing, 1994.
S. Bhatt, S. Even, D. Greenberg, and R. Tayar, Journal of
Graph Algorithms and Applications, 2002.
J.N. Cooper and J. Spencer, Combinatorics, Probability
and Computing, 2006.
B. Doerr and T. Friedrich, Combinatorics, Probability and
Computing, 2009.
A.S. Fraenkel, Mathematics Magazine, 1970.
L. Gasieniec and T. Radzik, Proc. WG, 2008.
V.B. Priezzhev, D. Dhar, A. Dhar, and S. Krishnamurthy,
Physics Review Letters, 1996.
S. Tixeuil, Proc. WSS, 2001.
V. Yanovski, I.A. Wagner, and A.M. Bruckstein,
Algorithmica, 2003.
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Our results
Problem
How does the lock-in time depend on the initial configuration
of the ports and pointers %?
Scenario
Worst case
Case P-all
Θ(m)
Case A()P(%)
Θ(m)
Case P(%)A() Θ(m · min{log m, D})
Case A(%)P()
Θ(m · D)
Case P()A(%)
Θ(m · D)
Case A-all
Θ(m · D)
Best case
Θ(m)
Θ(m)
Θ(m)
Θ(m) √
Θ(m) for D ≤ n
Θ(m · D)
P=Player, A=Adversary
(Subtitle: I choose pointers and you choose port numbers)
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Our results
Problem
How does the lock-in time depend on the initial configuration
of the ports and pointers %?
Scenario
Worst case
Case P-all
Θ(m)
Case A()P(%)
Θ(m)
Case P(%)A() Θ(m · min{log m, D})
Case A(%)P()
Θ(m · D)
Case P()A(%)
Θ(m · D)
Case A-all
Θ(m · D)
Best case
Θ(m)
Θ(m)
Θ(m)
Θ(m) √
Θ(m) for D ≤ n
Θ(m · D)
P=Player, A=Adversary
(Subtitle: I choose pointers and you choose port numbers)
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
The problem Related work Our results
Our results
Problem
How does the lock-in time depend on the initial configuration
of the ports and pointers %?
Scenario
Worst case
Case P-all
Θ(m)
Case A()P(%)
Θ(m)
Case P(%)A() Θ(m · min{log m, D})
Case A(%)P()
Θ(m · D)
Case P()A(%)
Θ(m · D)
Case A-all
Θ(m · D)
Best case
Θ(m)
Θ(m)
Θ(m)
Θ(m) √
Θ(m) for D ≤ n
Θ(m · D)
P=Player, A=Adversary
(Subtitle: I choose pointers and you choose port numbers)
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Player wins
Scenario
Case P-all
Case A()P(%)
Worst case Best case
Θ(m)
Θ(m)
Θ(m)
Θ(m)
Very simple algorithm
Consider any choice of ports and pointers %
Run virtually the agent for Θ(m · D) steps
The pointers % are now correctly set again by P
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Player wins
Scenario
Case P-all
Case A()P(%)
Worst case Best case
Θ(m)
Θ(m)
Θ(m)
Θ(m)
Very simple algorithm
Consider any choice of ports and pointers %
Run virtually the agent for Θ(m · D) steps
The pointers % are now correctly set again by P
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Player wins
Scenario
Case P-all
Case A()P(%)
Worst case Best case
Θ(m)
Θ(m)
Θ(m)
Θ(m)
Very simple algorithm
Consider any choice of ports and pointers %
Run virtually the agent for Θ(m · D) steps
The pointers % are now correctly set again by P
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Player wins
Scenario
Case P-all
Case A()P(%)
Worst case Best case
Θ(m)
Θ(m)
Θ(m)
Θ(m)
Very simple algorithm
Consider any choice of ports and pointers %
Run virtually the agent for Θ(m · D) steps
The pointers % are now correctly set again by P
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Useful properties (known results)
Definitions
Phase: Interval between two traversals of the first edge
Gi : Graph induced by the edges traversed in Phase i
Saturated node: Node whose incident edges are all
traversed in both directions during the current phase
(Known) Properties
Each arc is traversed at most
once during a phase
Gi ⊆ Gi+1
If v ∈ Gi , then v is saturated
in Gi+1
⇒ Gi+1 ⊇ neighborhood(Gi )
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Useful properties (known results)
Definitions
Phase: Interval between two traversals of the first edge
Gi : Graph induced by the edges traversed in Phase i
Saturated node: Node whose incident edges are all
traversed in both directions during the current phase
(Known) Properties
Each arc is traversed at most
once during a phase
Gi ⊆ Gi+1
If v ∈ Gi , then v is saturated
in Gi+1
⇒ Gi+1 ⊇ neighborhood(Gi )
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Useful properties (known results)
Definitions
Phase: Interval between two traversals of the first edge
Gi : Graph induced by the edges traversed in Phase i
Saturated node: Node whose incident edges are all
traversed in both directions during the current phase
(Known) Properties
Each arc is traversed at most
once during a phase
Gi ⊆ Gi+1
If v ∈ Gi , then v is saturated
in Gi+1
⇒ Gi+1 ⊇ neighborhood(Gi )
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Useful properties (known results)
Definitions
Phase: Interval between two traversals of the first edge
Gi : Graph induced by the edges traversed in Phase i
Saturated node: Node whose incident edges are all
traversed in both directions during the current phase
(Known) Properties
Each arc is traversed at most
once during a phase
Gi ⊆ Gi+1
If v ∈ Gi , then v is saturated
in Gi+1
⇒ Gi+1 ⊇ neighborhood(Gi )
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Useful properties (known results)
Definitions
Phase: Interval between two traversals of the first edge
Gi : Graph induced by the edges traversed in Phase i
Saturated node: Node whose incident edges are all
traversed in both directions during the current phase
(Known) Properties
Each arc is traversed at most
once during a phase
Gi ⊆ Gi+1
If v ∈ Gi , then v is saturated
in Gi+1
⇒ Gi+1 ⊇ neighborhood(Gi )
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Useful properties (known results)
Definitions
Phase: Interval between two traversals of the first edge
Gi : Graph induced by the edges traversed in Phase i
Saturated node: Node whose incident edges are all
traversed in both directions during the current phase
(Known) Properties
Each arc is traversed at most
once during a phase
Gi ⊆ Gi+1
If v ∈ Gi , then v is saturated
in Gi+1
⇒ Gi+1 ⊇ neighborhood(Gi )
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Useful properties (known results)
Definitions
Phase: Interval between two traversals of the first edge
Gi : Graph induced by the edges traversed in Phase i
Saturated node: Node whose incident edges are all
traversed in both directions during the current phase
(Known) Properties
Each arc is traversed at most
once during a phase
Gi ⊆ Gi+1
If v ∈ Gi , then v is saturated
in Gi+1
⇒ Gi+1 ⊇ neighborhood(Gi )
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Adversary wins
Scenario
Case A-all
Worst case Best case
Θ(m · D) Θ(m · D)
(Sketch of the) Proof
Let [u, v ] be a
diameter
Make G1 be the
larger of H1 and H2
Make Gi+1 =
neighborhood(Gi )
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Adversary wins
Scenario
Case A-all
Worst case Best case
Θ(m · D) Θ(m · D)
u
(Sketch of the) Proof
D
2
G
D
2
v H1
Let [u, v ] be a
diameter
Make G1 be the
larger of H1 and H2
Make Gi+1 =
neighborhood(Gi )
H2
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Adversary wins
Scenario
Case A-all
Worst case Best case
Θ(m · D) Θ(m · D)
u
(Sketch of the) Proof
D
2
G
D
2
v H1
Let [u, v ] be a
diameter
Make G1 be the
larger of H1 and H2
Make Gi+1 =
neighborhood(Gi )
H2
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Adversary wins
Scenario
Case A-all
Worst case Best case
Θ(m · D) Θ(m · D)
u
(Sketch of the) Proof
D
2
G
D
2
v H1
Let [u, v ] be a
diameter
Make G1 be the
larger of H1 and H2
Make Gi+1 =
neighborhood(Gi )
H2
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Case A(%)P()
Scenario
Case A(%)P()
Worst case Best case
Θ(m · D)
Θ(m)
D
m edges
v0
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Case A(%)P()
Scenario
Case A(%)P()
Worst case Best case
Θ(m · D)
Θ(m)
D
m edges
v0
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Case A(%)P()
Scenario
Case A(%)P()
Worst case Best case
Θ(m · D)
Θ(m)
D
m edges
1
v0
1
1
1
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Case A(%)P()
Scenario
Case A(%)P()
Worst case Best case
Θ(m · D)
Θ(m)
D
m edges
1
v0
1
4
4
1
4
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
4
1
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Case A(%)P()
Scenario
Case A(%)P()
Worst case Best case
Θ(m · D)
Θ(m)
D
m edges
1
v0
1
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
2
4
3
4 3
3
2 1
4
4
1
2
3
2
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Extreme cases Other cases
Case P()A(%)
Scenario
Case P()A(%)
Worst case
Best case
√
Θ(m · D) Θ(m) for D ≤ n
2
1
4
3
6
5
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Conclusion and perspectives
Scenario
Worst case
Case P-all
Θ(m)
Case A()P(%)
Θ(m)
Case P(%)A() Θ(m · min{log m, D})
Case A(%)P()
Θ(m · D)
Case P()A(%)
Θ(m · D)
Case A-all
Θ(m · D)
Best case
Θ(m)
Θ(m)
Θ(m)
Θ(m) √
Θ(m) for D ≤ n
Θ(m · D)
Open problem
Does there exist any graph of large diameter with lock-in
time O(m) in Case P()A(%)?
What if ports and/or pointers % are set uniformly at
random?
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Conclusion and perspectives
Scenario
Worst case
Case P-all
Θ(m)
Case A()P(%)
Θ(m)
Case P(%)A() Θ(m · min{log m, D})
Case A(%)P()
Θ(m · D)
Case P()A(%)
Θ(m · D)
Case A-all
Θ(m · D)
Best case
Θ(m)
Θ(m)
Θ(m)
Θ(m) √
Θ(m) for D ≤ n
Θ(m · D)
Open problem
Does there exist any graph of large diameter with lock-in
time O(m) in Case P()A(%)?
What if ports and/or pointers % are set uniformly at
random?
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
Introduction Some cases Conclusion
Thank You
for your attention
Bampas, Gasieniec, Hanusse, Ilcinkas, Klasing, Kosowski
Euler Tour Lock-in Problem in the Rotor-Router Model
© Copyright 2026 Paperzz