An Evaluation of the Rotor-Router Mechanism Julian M. Rice | UCLA FrontierLab@OsakaU: Graduate School of Information Science & Technology Masuzawa Laboratory ( ��� ) Total Slide Count: 14 | August 2018
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 1 Research Background & Motivation Looking Behind the Rotor-Router Mechanism [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ]
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 2 What Wh at does the Rotor-Router Mechanism Apply to? B Vertex I. Introduction A Ve ) r e t u p m o C ( ♞ Distributed Systems ♞ Patrolling Networks D Mobile Mo ♞ Mobile Bots e Bot (Guard/Knight) C ♞ Upgrade from Randomness! Migration: Allows a bot to move from one place to another. E E E F d d g g e e / A A r r c c ( C o n n e c t i o n )
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 3 Behind hind the Rotor-Router Mechanism II. Rotor-Router Mechanism Edge E E d d Ed g g e e to C to D Ed Edge Edge Ed to E ♞ Alternative to Random Walk to B ♞ Each Vertex Points to an Edge ✓ A (go to B, C, D, E, then B..) Go to B next ♞ Deterministic Algorithm A ♞ Euler Cycle (Lock-In) Visiting: When a bot arrives at a Vertex (Computer) or crosses an edge. vertex or Vertex A's fixed cyclic order ( ↻ ): BCDE
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 3 Behind hind the Rotor-Router Mechanism II. Rotor-Router Mechanism Edge E E d d Ed g g e e to C to D Ed Edge Edge Ed to E ♞ Alternative to Random Walk to B ♞ Each Vertex Points to an Edge ✓ A (go to B, C, D, E, then B..) Go to B next ♞ Deterministic Algorithm A ♞ Euler Cycle (Lock-In) Visiting: When a bot arrives at a Vertex (Computer) or crosses an edge. vertex or Vertex A's fixed cyclic order ( ↻ ): BCDE
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 3 Behind hind the Rotor-Router Mechanism II. Rotor-Router Mechanism Edge E E d d Ed g g e e to C to D Ed Edge Edge Ed to E ♞ Alternative to Random Walk to B ♞ Each Vertex Points to an Edge ✓ A (go to B, C, D, E, then B..) Go to C next ♞ Deterministic Algorithm A ♞ Euler Cycle (Lock-In) Visiting: When a bot arrives at a Vertex (Computer) or crosses an edge. vertex or Vertex A's fixed cyclic order ( ↻ ): CDEB
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 3 Behind hind the Rotor-Router Mechanism II. Rotor-Router Mechanism Edge E E d d Ed g g e e to C to D Ed Edge Edge Ed to E ♞ Alternative to Random Walk to B ♞ Each Vertex Points to an Edge ✓ A (go to B, C, D, E, then B..) Go to C next ♞ Deterministic Algorithm A ♞ Euler Cycle (Lock-In) Visiting: When a bot arrives at a Vertex (Computer) or crosses an edge. vertex or Vertex A's fixed cyclic order ( ↻ ): CDEB
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 3 Behind hind the Rotor-Router Mechanism II. Rotor-Router Mechanism Edge E E d d Ed g g e e to C to D Ed Edge Edge Ed to E ♞ Alternative to Random Walk to B ♞ Each Vertex Points to an Edge ✓ A (go to B, C, D, E, then B..) Go to C next ♞ Deterministic Algorithm A ♞ Euler Cycle (Lock-In) Visiting: When a bot arrives at a Vertex (Computer) or crosses an edge. vertex or Vertex A's fixed cyclic order ( ↻ ): CDEB
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 3 Behind hind the Rotor-Router Mechanism II. Rotor-Router Mechanism Edge E E d d Ed g g e e to C to D Ed Edge Edge Ed to E ♞ Alternative to Random Walk to B ♞ Each Vertex Points to an Edge ✓ A (go to B, C, D, E, then B..) Go to D next ♞ Deterministic Algorithm A ♞ Euler Cycle (Lock-In) Visiting: When a bot arrives at a Vertex (Computer) or crosses an edge. vertex or Vertex A's fixed cyclic order ( ↻ ): DEBC
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 4 The Rotor-Router Mechanism’s KEY KEY El Eleme ment B Vertex Euler Cycle: A path where every A Ve ) r e t u p m o edge is visited ex exac actly tly onc once . C ( The bot will eventually end up D entering a Euler cycle after a period C of time ( exploring the network ), the stabilization period, passes. GO GOAL : The overall goal is to lock into a Euler cycle and visit eac each & ev ever ery ed edge E E E F d d g g e e / A A r r c c as efficiently as possible. ( C o n n e c t i o n )
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 4 The Rotor-Router Mechanism’s KEY KEY El Eleme ment B Vertex Euler Cycle: A path where every A Ve ) r e t u p m o edge is visited ex exac actly tly onc once . C ( The bot will eventually end up D entering a Euler cycle after a period C of time ( exploring the network ), the stabilization period, passes. GO GOAL : The overall goal is to lock into a Euler cycle and visit eac each & ev ever ery ed edge E E E F d d g g e e / A A r r c c as efficiently as possible ! ( C o n n e c t i o n )
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 5 Preparing to Obse Observe the Rotor-Router Algorithm I created a custom "network" with arrows (arcs, rather than edges) that start at one vertex and end at another. The supposed limit is 4 4 • m • D , or the number of edges (m = 11) multiplied by the diameter of the graph (D = 2) ⇒ 44 steps What are the ma main n que quest stions ns that rise from this algorithm, and why why perform m a si simul mulation ? Simplified visual of the previous diagram
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 6 Preparing to Obse Observe the Rotor-Router Algorithm: My Myst steries The supposed limit is 4 4 • m • D , or the number of edges (m = 22) multiplied by the diameter of the graph (D = 2) ⇒ 44 steps My Mysteries (Why, Why, Why?) [1] No matter where the bot starts, it will [1 always end up in a forever lasting loop. [2] The worst case is 44 steps (for this [2 example), but what is the av aver erag age ca case se ? Is it close to 44, close to 0, or in the middle? Simplified visual of the previous diagram
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 7 Simulations & Programming What simulations did I run to get the data I needed? [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ]
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 8 Simulation Program (C++) Input : In # of steps (for the agent) # of tests (for accuracy) Fi Files : Edge.h, Vertex.h, Graph.h, StatList.h, Functions.h, Edge.cpp, Vertex.cpp, Graph.cpp, StatList.cpp, Functions.cpp, main.cpp Ou Outpu put : Average visit count (edge) Average visit count (vertex) Stabilization period (average, min, max, distr) Euler cycle (repeated forever) Li Line Co Count : 673 (11 files)
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 9 Results & Conclusion What results did I get from running 1,000,000 tests on a graph? [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ]
Julian M. Rice [ Research Background -> Simulation & Programming -> Results & Conclusion -> Questions ] Current Slide: 10 Re Results ts : What did I find out? Stabilization Period Statistics L o c k i n g i n 2 o r f e w e r s t e p s = > 8 8 1 1 . . 0 0 1 1 % % L o c k i n g i n 5 o r f e w e r s t e p s = > 9 9 6 6 . . 3 3 5 5 % % L o c k i n g i n 1 0 o r f e w e r s t e p s = > 9 9 9 9 . . 8 8 8 8 % % II. Stabilization Period & Euler Cycle = > 1 1 . . 2 2 5 5 s s t t e e p p s s A v e r a g e L o c k - i n T i m e **Data that applies to on only one graph** (Stabilization Period) ♞ Wa Way lo lower than 44 step limit. ♞ Often instantly locks in (49%) ♞ Random initialization (Euler Cycle) ♞ Always different (each test) Important: There is no no w way to predict what the stabilization period average by simply looking at a network. My My simulation brought these hidden statistics to light.
Recommend
More recommend