an evaluation of the rotor router mechanism
play

An Evaluation of the Rotor-Router Mechanism Julian M. Rice | UCLA - PowerPoint PPT Presentation

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


  1. 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

  2. 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 ]

  3. 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 )

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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 )

  11. 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 )

  12. 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

  13. 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

  14. 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 ]

  15. 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)

  16. 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 ]

  17. 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.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend