MOVING AND COMPUTING IN BY DISCRETE SPACES GRASTA/MAC Tutorial - - PowerPoint PPT Presentation

moving and computing
SMART_READER_LITE
LIVE PREVIEW

MOVING AND COMPUTING IN BY DISCRETE SPACES GRASTA/MAC Tutorial - - PowerPoint PPT Presentation

MOVING AND COMPUTING IN BY DISCRETE SPACES GRASTA/MAC Tutorial 2015 Netscape Graph G node (site , host) edge (link , channel) GRASTA/MAC Tutorial 2015 Netscape Netscape inhabited by computational mobile entities called agents


slide-1
SLIDE 1

MOVING AND COMPUTING

BY

GRASTA/MAC Tutorial 2015

IN

DISCRETE SPACES

slide-2
SLIDE 2

GRASTA/MAC Tutorial 2015

Netscape Graph G node (site , host) edge (link , channel)

slide-3
SLIDE 3

GRASTA/MAC Tutorial 2015

Netscape called agents Netscape inhabited by computational mobile entities

slide-4
SLIDE 4

GRASTA/MAC Tutorial 2015

Has computing capabilities

1+2 =3

Can move from node to neighboring node Has limited storage Each Agent

slide-5
SLIDE 5

Computational Models : Existing Systems (some)

No.

Name Description Developer Language Application

1 Concordia

Framework for agent dev elopment Mitsubishi E.I.T. Jav a Mobile computing, Data base

2 Aglet

Jav a Class libraries IBM, Tokyo Jav a Internet

3 Agent Tcl

Transportable agent system

  • R. Gray, U Dart.

Tcl Tk Information management

4 Odyssey

Set of Jav a Class libraries General Magic Telescript Electronic commerce

5 OAA

Open Agent Architecture SRI International, AI C, C-Lisp, Jav a, VB General purpose

6 Ara

Agent for Remote Action U Kaiserslautern C/C++, Tcl, Jav a Partially connected c. D.D.B.

7 Tacoma

Tromso and Cornel Mov ing Agent Norway & Cornell C, UNIX- based , Client/Serv er model issues / OS support

8 Voyager

Platform for distributed applic. ObjectSpace Jav a Support for agent systems

9 AgentSpace

Agent building platform Ichiro Sato, O. U. Jav a General purpose

10 Mole

First Jav a-Based MA system Stuttgart U. Germany Jav a, UNIX -based General purpose

11 MOA

M obile Object and Agents OpenGroup, UK Jav a General purpose

12 Kali Scheme

Distributed impl. of Scheme NEC Research I. Scheme Distributed data mining, load balancing

13 The Tube

mobile code system Dav id Halls, UK Scheme Remote execution of Scheme

14 Ajanta

Network mobile object Minoseta U. Jav a General purpose

15 Knowbots

Research infrastructure of MA CNRI Python Distributed systems / Internet

16 AgentSpace

Mobile agent framework Alberto Sylv a Jav a Support for dynamic and dist. Appl.

17 Plangent

Intelligent Agent system Toshiba Corporation Jav a Intelligent tasks

18 JATlite

Jav a Agent framework dev /KQML Standford U. Jav a Information retriev ial, Interface agent

19 Kafka

Multiagent libraries for Jav a Fujitsu Lab. Japan Jav a UNIX based General purpose

20 Messengers

Autonomous messages UCI C (Messenger-C) General purpose

GRASTA/MAC Tutorial 2015

slide-6
SLIDE 6

Computational Models : Existing Systems

GRASTA/MAC Tutorial 2015

slide-7
SLIDE 7

Computational Models : Existing Systems

Protocol State Variables

MOBILE CODE

GRASTA/MAC Tutorial 2015

slide-8
SLIDE 8

Computational Models : Existing Systems Execute the code

GRASTA/MAC Tutorial 2015

slide-9
SLIDE 9

GRASTA/MAC Tutorial 2015

Have the same behavior (execute the same protocol) Collectively they perform some task (solve a problem) Agents

slide-10
SLIDE 10

GRASTA/MAC Tutorial 2015

Computability Under what conditions ? What problems can be solved ?

slide-11
SLIDE 11

GRASTA/MAC Tutorial 2015

Under what conditions ? What problems can be solved ? Computability and Complexity At what cost ?

slide-12
SLIDE 12

Tasks / Problems

Exploration

?

Map Construction Map Verification Search

GRASTA/MAC Tutorial 2015

slide-13
SLIDE 13

Tasks / Problems

RendezVous Gathering

GRASTA/MAC Tutorial 2015

slide-14
SLIDE 14

Tasks / Problems

RendezVous Gathering

GRASTA/MAC Tutorial 2015

slide-15
SLIDE 15

Tasks / Problems

Election

GRASTA/MAC Tutorial 2015

slide-16
SLIDE 16

Tasks / Problems

Election

GRASTA/MAC Tutorial 2015

slide-17
SLIDE 17

Tasks / Problems

Intruder Capture Decontamination

GRASTA/MAC Tutorial 2015

slide-18
SLIDE 18

Shannon [JMF’51] Blum, Kozen [FOCS’78] Dudek, Jenkin, Milios, Wilkes [Robotics and Automation ’91] Bender, Slonim [FOCS ’94] Betke, Rivest, Singh [Machine Learning ’95] Bender, Fernandez, Ron, Sahai, Vadhan [STOC ’98] Deng, Papadimitriou [J. Graph Theory ’99] Panaite, Pelc [J. Algorithms ’99] Awerbuch, Betke, Rivest, Singh [Information and Comp. ’99] Panaite, Pelc [Networks ’00] Albers, Henzinger [SIAMJC ’00] Duncan, Kobourov, Kumar [SODA ’01] … …. ….

Exploration/ Map Construction/ Map Verification

GRASTA/MAC Tutorial 2015

slide-19
SLIDE 19

Exploration/ Map Construction/ Map Verification

… … … Das, Flocchini, Kutten, Nayak, Santoro [Theo.Comp.Sci.’07] Fraigniaud, Ilcinkas, Pelc [Inform. Comput ‘08] Ilcinkas [Theo.Comp.Sci.‘08] Chalopin, Flocchini, Mans, Santoro [WG ’10] Sudo,Baba,Nakamura,Ooshita,Kakugawa, Masuzawa [WRAS‘10] Flocchini, Ilcinkas, Pelc, Santoro [Theo.Comp.Sci.‘10] Brass, Cabrera, Gasparri, Xiao [IEEE Tr. Robotics’11] D’Angelo, Di Stefano,Navarra [DISC‘12] Dieudonne, Pelc [Trans.Alg. ’14] Kralovic [SOFSEM‘14] Pelc, Tiane [I.J.Found. Comp. Sci. ’14]

GRASTA/MAC Tutorial 2015

AND MANY MANY MORE …

slide-20
SLIDE 20

Rendezvous / Election

Alpern [SIAM J Cont. Optimization 95] Anderson, Weber [J Applied Probability 99] Yu, Yung [ICALP 96] Alpern, Boston, Essegarer [J Appl. Probability 99] Howard et al [Operation research 99] Barrière, Flocchini, Fraigniaud, Santoro [SPAA03] Dessmark, Fraigniaud, Pelc [ESA 03] Kranakis, Krizac, Santoro,Sawchuk [ICDCS’03] Barrière,Flocchini,Fraigniaud,Santoro [T.Comp.Sys. 05] Dessmark,Fraigniaud,Kowalski,Pelc [Networks 06] Chalopin [Theo.Comp.Sci.’08] Klasing, Markou, Pelc [Theo.Comp.Sci.’08] Czyzowicz, Pelc, Labourel [ACM Trans. Alg.‘13] D’Angelo, Di Stefano, Klasing, Navarra [Theo.Comp.Sci. 14]

AND MANY MORE …

GRASTA/MAC Tutorial 2015

slide-21
SLIDE 21

Dobrev, Flocchini, Prencipe, Santoro [Algorithmica ‘06] Dobrev, Flocchini, Prencipe, Santoro [Distributed Comp. ‘06] Czyzowicz, Kowalski,Markou,Pelc [Found. Infor. ‘06 ] Dobrev,Flocchini,Kralovic,Prencipe,Ruzicka,Santoro [Networks ‘06] Dobrev, Flocchini, Santoro [Theo.Comp.Sci. ’06] Klasing, Markou, Radzik,Sarracco [Theo.Comp.Sci. ‘07] Czyzowicz, Kowalski, Markou, Pelc [Comb.Prob.Comp. ‘07] Chalopin, Das, Santoro [DISC ‘07] Klasing,Markou,Radzik,Sarracco [Networks ‘08] Balamohan, Flocchini, Miri, Santoro [Discrete Math. ‘11] Chalopin, Das, Labourel, Markou [DISC ‘11] Flocchini, Ilcinkas, Santoro [Algorithmica ‘12] D'Emidio, Frigioni, Navarra [ADHOCNOW ‘13] Balamohan, Dobrev, Flocchini, Santoro [Theo.Comp.Sci. ’14]

Dangerous Explorations / Dangerous Rendezvous AND MORE …

GRASTA/MAC Tutorial 2015

slide-22
SLIDE 22

Intruder Capture / Network Decontamination

Breisch [Southwestern Cavers, 1967] Makedon and Sudborough [ICALP ’83] Kirousis, Papadimitriou [J. Theo. Com.Sc., 1986] Megiddo, Hakimi, Garey, Johnson, Papadimitriou [JACM, 1988] Bienstock and Seymour [J. of Algo., 1991] Lapaugh [JACM, 1993] Ellis, Sudborough, and Turner [Info & Comp., 1994] Fomin, Golovach [SIAM J.Disc.Math., 2000] Thilikos [Disc. Applied Maths, 2000] …. ….. ……

Agents can JUMP …

GRASTA/MAC Tutorial 2015

AND MORE …

slide-23
SLIDE 23

Breisch [Southwestern Cavers, 1967] Barriere, Flocchini, Fraigniaud, Santoro [ SPAA’02] Barriere, Fraigniaud, Santoro, Thilikos [ WG’03] Blin, Fraigniaud, Nisse, Vial [ SIROCCO’06] Fraigniaud,Nisse [ LATIN’06] Fraigniaud,Nisse [ WG’06] F.L.Luccio [ FUN ‘07] Flocchini, Huang, F.L.Luccio [Int.J.Found.Comp.Sci.’07] Luccio, Pagli, Santoro [ Int.J.Found.Comp.Sci. ‘07] Flocchini, Huang, F.L.Luccio [ Networks 08] Dereniowski [SIAM J. Discrete Math. ‘12] Barriere,Flocchini,Fomin,Nisse,Santoro,Thilikos [Inf. Comp. ‘12 ] Borowiecki, Dereniowski, Kuszner [ DISC ‘14] Flocchini, Luccio, Pagli, Santoro [Discrete Appl. Math. ‘15] Nisse, Soares [Discrete Applied Mathematics’15]

Intruder Capture / Network Decontamination AND MORE …

GRASTA/MAC Tutorial 2015

slide-24
SLIDE 24

COMPUTATIONAL MODELS Computability and Complexity COST MEASURES

GRASTA/MAC Tutorial 2015

slide-25
SLIDE 25

Many factors to be considered Computability and Complexity

GRASTA/MAC Tutorial 2015

slide-26
SLIDE 26

Example

Exploration Map Construction

GRASTA/MAC Tutorial 2015

every node must be visited by at least one agent a map of the graph must be constructed by at least one agent

slide-27
SLIDE 27

GRASTA/MAC Tutorial 2015

Exploration Map Construction every node must be visited by at least one agent a map of the graph must be constructed by at least one agent

1 1 2 3

Example

slide-28
SLIDE 28

GRASTA/MAC Tutorial 2015

Exploration Map Construction every node must be visited by at least one agent a map of the graph must be constructed by at least one agent

1 1 2

Example

slide-29
SLIDE 29

GRASTA/MAC Tutorial 2015

Exploration Map Construction every node must be visited by at least one agent a map of the graph must be constructed by at least one agent

1 1 2 2

Example

slide-30
SLIDE 30

Exploration Map Construction every node must be visited by at least one agent a map of the graph must be constructed by at least one agent

1 1 2 2

Exploration completed !

1

how does it know ?

Example

GRASTA/MAC Tutorial 2015

slide-31
SLIDE 31

GRASTA/MAC Tutorial 2015

Exploration Map Construction every node must be visited by at least one agent a map of the graph must be constructed by at least one agent

1 1 2 2 1 1 2 2

Example

slide-32
SLIDE 32

Have I been here before ?

GRASTA/MAC Tutorial 2015

Exploration Map Construction every node must be visited by at least one agent a map of the graph must be constructed by at least one agent

1 1 2 2 1 1 2 2 1 1

Example

slide-33
SLIDE 33

Exploration Map Construction every node must be visited by at least one agent a map of the graph must be constructed by at least one agent

Example

1 2 3

Have I been here before ?

GRASTA/MAC Tutorial 2015

slide-34
SLIDE 34

Exploration Map Construction every node must be visited by at least one agent a map of the graph must be constructed by at least one agent

Example

1 2 3

Have I been here before ?

GRASTA/MAC Tutorial 2015

slide-35
SLIDE 35

GRASTA/MAC Tutorial 2015

Exploration Map Construction every node must be visited by at least one agent a map of the graph must be constructed by at least one agent

Example

slide-36
SLIDE 36

GRASTA/MAC Tutorial 2015

Exploration Map Construction every node must be visited by at least one agent a map of the graph must be constructed by at least one agent

GO AROUND !

Example

slide-37
SLIDE 37

GRASTA/MAC Tutorial 2015

Exploration Map Construction every node must be visited by at least one agent a map of the graph must be constructed by at least one agent

GO AROUND !

When can I stop ? Example

slide-38
SLIDE 38

GRASTA/MAC Tutorial 2015

Exploration Map Construction every node must be visited by at least one agent a map of the graph must be constructed by at least one agent

GO AROUND !

NEVER ! Example When can I stop ?

slide-39
SLIDE 39

GRASTA/MAC Tutorial 2015

If it can mark the node:

GO AROUND !

Example

slide-40
SLIDE 40

GRASTA/MAC Tutorial 2015

If it can mark the node:

GO AROUND until find marked node

Example

slide-41
SLIDE 41

GRASTA/MAC Tutorial 2015

If it can mark the node:

GO AROUND until find marked node

Example

slide-42
SLIDE 42

GRASTA/MAC Tutorial 2015

More than one agent:

Example

slide-43
SLIDE 43

GRASTA/MAC Tutorial 2015

More than one agent:

GO AROUND in different directions until meet other left right

who is going left ? ?

slide-44
SLIDE 44

Many factors to be considered Computability and Complexity

GRASTA/MAC Tutorial 2015

slide-45
SLIDE 45

Asynchronous vs Synchronous Computability and Complexity Oblivious vs Persistent Memory Anonymous vs Distinct Ids Finite-State vs Turing Interaction and Communication Mechanisms

GRASTA/MAC Tutorial 2015

slide-46
SLIDE 46

GRASTA/MAC Tutorial 2015

Communication and Coordination

Vision Face-to-Face Tokens Whiteboards

Computational Models : Interaction and Communication:

slide-47
SLIDE 47

GRASTA/MAC Tutorial 2015

Communication and Coordination

Vision Face-to-Face Tokens Whiteboards

Computational Models : Interaction and Communication:

slide-48
SLIDE 48

GRASTA/MAC Tutorial 2015

Vision

Each can see the graph and the location of the other robots within its visibility range

  • LOOK-COMPUTE-MOVE cycles
  • Oblivious robots
  • Anonymous nodes

FSYNC, SSYNC, ASYNC Limited vs Global Visibility Labelled vs Unlabelled edges Sense of Direction vs No Orientation

slide-49
SLIDE 49

GRASTA/MAC Tutorial 2015

Vision

Klasing, Markou, Pelc, TCS 2008 Klasing, Kosowski, Navarra, TCS 2010 Kamei,Lamani,Ooshita,Tixeuil, MFCS 2012 Di Stefano,Navarra, SIROCCO 2013 Izumi,Izumi,Kamei,Ooshita, IEICE Trans. 2013 Di Stefano,Navarra, SSS 2014 D'Angelo,Di Stefano,Navarra, Distributed Computing 2014 D'Angelo,Di Stefano,Navarra, J. Discrete Alg. 2014 Kamei,Lamani,Ooshita, SRDS 2014 Di Stefano,Montanari,Navarra, IWOCA 2015 Cicerone,Di Stefano, Navarra, ALGOSENSORS 2015 D'Angelo,Di Stefano,Klasing,Navarra, TCS 2015 D'Angelo,Di Stefano,Navarra,Nisse,Suchan, Algorithmica 2015

GATHERING

slide-50
SLIDE 50

GRASTA/MAC Tutorial 2015

Vision

Devismes, Petit,Tixeuil, SIROCCO 2009 Chalopin, Flocchini,Mans, Santoro. WG 2010 Lamani, Potop-Butucaru,Tixeuil, SIROCCO 2010 Flocchini, Ilcinkas, Pelc, Santoro, TCS 2010 Flocchini, Ilcinkas, Pelc, Santoro, IPL 2011 Devismes,Lamani,Petit,Raymond,Tixeuil, SSS 2012 Datta,Lamani,Larmore,Petit, ICDCS 2013 Flocchini, Ilcinkas, Pelc, Santoro, Algorithmica 2013

EXPLORATION

slide-51
SLIDE 51

GRASTA/MAC Tutorial 2015

Communication and Coordination

Vision Face-to-Face Tokens Whiteboards

Computational Models : Interaction and Communication:

slide-52
SLIDE 52

GRASTA/MAC Tutorial 2015

Whiteboards

Each node has a whiteboard When at a node, an agent can write

  • n the whiteboard
slide-53
SLIDE 53

GRASTA/MAC Tutorial 2015

When at a node, an agent can write

  • n the whiteboard

Hello, I was here.

Whiteboards

slide-54
SLIDE 54

GRASTA/MAC Tutorial 2015

When at a node, an agent can read what is written on the whiteboard

Hello, I was here.

Whiteboards

slide-55
SLIDE 55

GRASTA/MAC Tutorial 2015

Agents communicate through whiteboards, accessed in fair mutual exclusion

LINK 3 IS SAFE I’M CHECHING LINK 2

Whiteboards

slide-56
SLIDE 56
  • Allow to BREAK SYMMETRY

Whiteboards are powerful

GRASTA/MAC Tutorial 2015

slide-57
SLIDE 57
  • Allow to BREAK SYMMETRY

Whiteboards are powerful

I am RIGHT agent

GRASTA/MAC Tutorial 2015

slide-58
SLIDE 58
  • Allow to BREAK SYMMETRY

Whiteboards are powerful

I am RIGHT agent I am LEFT agent

GRASTA/MAC Tutorial 2015

slide-59
SLIDE 59

Number of agents used to solve problem / perform task Cost Measures : Team size

GRASTA/MAC Tutorial 2015

slide-60
SLIDE 60

Number of moves made by agents to solve problem

GRASTA/MAC Tutorial 2015

Cost Measures : Number of Moves

slide-61
SLIDE 61

GRASTA/MAC Tutorial 2015

Cost Measures : Memory Amount of memory a node provides to the agents

slide-62
SLIDE 62

Cost Measures Cost Measures : Memory

System Memory

GRASTA/MAC Tutorial 2015

Size of whiteboard

WHITEBOARD LOCAL CLOCK LINKS

slide-63
SLIDE 63

BLACK HOLE SEARCH

GRASTA/MAC Tutorial 2015

slide-64
SLIDE 64

Black Hole

GRASTA/MAC Tutorial 2015

Black Hole Search Destroys any agent arriving at that node Does not leave any trace of destruction Its location is unknown to the agents

slide-65
SLIDE 65

Dobrev, Flocchini, Prencipe, Santoro, Algorithmica 2006

Dobrev, Flocchini, Prencipe, Santoro, Distributed Comp. 2006 Czyzowicz, Kowalski,Markou,Pelc, Found. Infor. 2006 Dobrev,Flocchini,Kralovic,Prencipe,Ruzicka,Santoro, Networks 2006 Dobrev, Flocchini, Santoro, TCS 20’06 Klasing, Markou, Radzik,Sarracco, TCS 20’07 Czyzowicz, Kowalski, Markou, Pelc, Comb.Prob.Comp. 2007 Chalopin, Das, Santoro, DISC 2007 Klasing,Markou,Radzik,Sarracco, Networks 2008 Dobrev,Santoro,Shi, IJFCS 2008 Balamohan, Flocchini, Miri, Santoro, Discrete Math. 2011 Kosowski,Navarra,Pinotti, TCS 2011 Flocchini, Ilcinkas, Santoro, Algorithmica 2012 Chalopin, Das, Labourel, Markou, TCS 2013 Balamohan, Dobrev, Flocchini, Santoro, TCS 2014

Shi,Garcia-Alfaro. Corriveau, J. Par. Dist. Comp. 2014 D'Emidio, Frigioni, Navarra, TCS 2015

GRASTA/MAC Tutorial 2015

Black Hole Search

slide-66
SLIDE 66

BH is not uncommon !!

GRASTA/MAC Tutorial 2015

slide-67
SLIDE 67

Local Process / Software Failure

GRASTA/MAC Tutorial 2015

slide-68
SLIDE 68
  • Virus
  • Software malfunction

Port management malfunction Security malfunction Agent Platform malfunction Local Process / Software Failure

GRASTA/MAC Tutorial 2015

slide-69
SLIDE 69

Hardware Failure

Crash failure of a site in a asynchronous network = Black Hole

GRASTA/MAC Tutorial 2015

slide-70
SLIDE 70

Find the location of the black hole.

GRASTA/MAC Tutorial 2015

At least one agents must survive and know the location

  • f the black hole

Black Hole Search

slide-71
SLIDE 71

Timing

Asynchronous

Agent’s actions (computations, movements) take a finite but otherwise unpredictable amount of time

GRASTA/MAC Tutorial 2015

slide-72
SLIDE 72

AN EXAMPLE : Black Hole Search in a Ring

n nodes k agents

  • ne black hole

GRASTA/MAC Tutorial 2015

slide-73
SLIDE 73

Min k ?

right left

n nodes k agents

  • ne black hole

AN EXAMPLE : Black Hole Search in a Ring n known How ?

GRASTA/MAC Tutorial 2015

slide-74
SLIDE 74

Ring: Basic Facts One agent cannot locate the black hole alone

GRASTA/MAC Tutorial 2015

n-1 agents can

slide-75
SLIDE 75

GRASTA/MAC Tutorial 2015

1 2 3 4 5 6 7 8 9 10

how ?

slide-76
SLIDE 76

GRASTA/MAC Tutorial 2015

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

how ?

slide-77
SLIDE 77

GRASTA/MAC Tutorial 2015

1 2 3 4 5 6 7 8 9 10

j Check if node j is BH : go to j-1, return; go to j+1, return.

1 2 3 4 5 6 7 8 9 10

slide-78
SLIDE 78

GRASTA/MAC Tutorial 2015

1 2 3 4 5 6 7 8 9 10

j Check if node j is BH : go to j-1, return; go to j+1, return.

1 2 3 4 5 6 7 8 9 10

slide-79
SLIDE 79

GRASTA/MAC Tutorial 2015

1 2 3 4 5 6 7 8 9 10

j Check if node j is BH : go to j-1, return; go to j+1, return.

1 2 3 4 5 6 7 8 9 10

slide-80
SLIDE 80

GRASTA/MAC Tutorial 2015

1 2 3 4 5 6 7 8 9 10

j Check if node j is BH : go to j-1, return; go to j+1, return.

1 2 3 4 5 6 7 8 9 10

slide-81
SLIDE 81

GRASTA/MAC Tutorial 2015

1 2 3 4 5 6 7 8 9 10

j Check if node j is BH : go to j-1, return; go to j+1, return.

1 2 3 4 5 6 7 8 9 10 8

slide-82
SLIDE 82

GRASTA/MAC Tutorial 2015

1 2 3 4 5 6 7 8 9 10 8

j Check if node j is BH : go to j-1, return; go to j+1, return.

slide-83
SLIDE 83

GRASTA/MAC Tutorial 2015

1 2 3 4 5 6 7 8 9 10

8

  • nly one agent survives and knows BH

8

n-2 agents die O(n2) moves

slide-84
SLIDE 84

Minimize Casualties

GRASTA/MAC Tutorial 2015

slide-85
SLIDE 85

At most one agent disappears on the same link ! Minimize Casualties

GRASTA/MAC Tutorial 2015

slide-86
SLIDE 86

Unexplored port could be dangerous Cautious Walk

GRASTA/MAC Tutorial 2015

slide-87
SLIDE 87

Active port Cautious Walk

GRASTA/MAC Tutorial 2015

slide-88
SLIDE 88

Cautious Walk Active port

GRASTA/MAC Tutorial 2015

slide-89
SLIDE 89

Explored port. Now it is safe Cautious Walk

GRASTA/MAC Tutorial 2015

slide-90
SLIDE 90

Don’t go on an Active port Cautious Walk : RULES

GRASTA/MAC Tutorial 2015

slide-91
SLIDE 91

ASYNCHRONY makes the problem DIFFICULT

GRASTA/MAC Tutorial 2015

?

slide-92
SLIDE 92

I cannot use timeouts ? ASYNCHRONY makes the problem DIFFICULT ? I might wait forever

GRASTA/MAC Tutorial 2015

slide-93
SLIDE 93

GRASTA/MAC Tutorial 2015

Black Hole Search in a Ring

1 2 3 4 5 6 7 8 9 10

using cautious walk

slide-94
SLIDE 94

GRASTA/MAC Tutorial 2015

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

j Check if node j is BH : go to j-1, return; go to j+1, return.

using cautious walk

slide-95
SLIDE 95

GRASTA/MAC Tutorial 2015

1 2 3 4 5 6 7 8 9 10

j Check if node j is BH : go to j-1, return; go to j+1, return.

8 10

slide-96
SLIDE 96

GRASTA/MAC Tutorial 2015

1 2 3 4 5 6 7 8 9 10 8 10

slide-97
SLIDE 97

GRASTA/MAC Tutorial 2015

1 2 3 4 5 6 7 8 9 10 10

with n-1 agents using cautious walk at most 2 agents die O(n2) moves

slide-98
SLIDE 98

Minimize number of agents

GRASTA/MAC Tutorial 2015

What is the smallest number of agents ?

slide-99
SLIDE 99

One agent cannot locate the black hole alone How about two agents ? (one dies, one survives)

YES !

Less than O(n2) moves ?

YES !

Black Hole Search in a Ring

slide-100
SLIDE 100

Ring: Two Agents

Proceed in phases. At phase i

  • divide the unexplored area in two contiguous disjoint

parts of almost equal size

  • agents explore (using cautious walk) the different parts

GRASTA/MAC Tutorial 2015

slide-101
SLIDE 101

Leave a message for the other agent

Done second stage

GRASTA/MAC Tutorial 2015

slide-102
SLIDE 102

Partition unexplored region into two areas of almost equal size

Done second stage

GRASTA/MAC Tutorial 2015

slide-103
SLIDE 103

Done second stage

Partition unexplored region into two areas of almost equal size

GRASTA/MAC Tutorial 2015

slide-104
SLIDE 104

Explore your assigned region.

Done second stage

GRASTA/MAC Tutorial 2015

slide-105
SLIDE 105

When finished, go to the last safe node of

  • ther agent

Done second stage

GRASTA/MAC Tutorial 2015

slide-106
SLIDE 106

Done second stage

Leave a message for the other agent

GRASTA/MAC Tutorial 2015

slide-107
SLIDE 107

Partition unexplored region into two areas of almost equal size

Done third stage

GRASTA/MAC Tutorial 2015

slide-108
SLIDE 108

Explore your assigned region.

Done third stage

GRASTA/MAC Tutorial 2015

slide-109
SLIDE 109

When finished, if only one node is unexplored THAT IS THE BLACK HOLE ! When finished, if only one node is unexplored

Done third stage

GRASTA/MAC Tutorial 2015

slide-110
SLIDE 110

Done third stage

GRASTA/MAC Tutorial 2015

O(log n) stages

slide-111
SLIDE 111

O(log n) stages O(n) moves per stage

Done third stage

GRASTA/MAC Tutorial 2015

slide-112
SLIDE 112

O(n log n) moves

OPTIMAL

Done third stage

GRASTA/MAC Tutorial 2015

O(log n) stages O(n) moves per stage

Dobrev, Flocchini, Santoro ALGORITHMICA 2007

slide-113
SLIDE 113

This result for asynchronous agents is

  • btained using whiteboards

Whiteboards

GRASTA/MAC Tutorial 2015

slide-114
SLIDE 114

Whiteboards

RENDEZVOUS ELECTION MAP CONSTRUCTION

Equivalent

GRASTA/MAC Tutorial 2015

slide-115
SLIDE 115

Whiteboards

WHITEBOARD MESSAGE-PASSING MOBILE AGENTS STATIC ENTITIES

GRASTA/MAC Tutorial 2015

slide-116
SLIDE 116

Whiteboards are powerful

WHITEBOARD MESSAGE-PASSING MOBILE AGENTS STATIC ENTITIES

Chalopin, Godard, Metiver,Ossamy OPODIS’06

GRASTA/MAC Tutorial 2015

slide-117
SLIDE 117

Whiteboards are powerful

WHITEBOARD MESSAGE-PASSING k>0 MOBILE AGENTS n STATIC ENTITIES

Das, Flocchini, Santoro, Yamashita, SIROCCO’07

GRASTA/MAC Tutorial 2015

slide-118
SLIDE 118

Whiteboards are powerful

GRASTA/MAC Tutorial 2015

  • Allow to BREAK SYMMETRY
slide-119
SLIDE 119
  • Allow to ASSUME FIFO LINKS

Whiteboards are powerful

GRASTA/MAC Tutorial 2015

  • Allow to BREAK SYMMETRY
slide-120
SLIDE 120

Whiteboards are powerful

a b

  • Allow to ASSUME FIFO LINKS

I am 3 and go on port a GRASTA/MAC Tutorial 2015

  • Allow to BREAK SYMMETRY
slide-121
SLIDE 121

Whiteboards are powerful

a b

  • Allow to ASSUME FIFO LINKS

I am 3 and go on port a GRASTA/MAC Tutorial 2015

  • Allow to BREAK SYMMETRY
slide-122
SLIDE 122

Whiteboards are powerful

a b

  • Allow to ASSUME FIFO LINKS

I am 3 and go on port a GRASTA/MAC Tutorial 2015

  • Allow to BREAK SYMMETRY
slide-123
SLIDE 123

Whiteboards are powerful

a b

  • Allow to ASSUME FIFO LINKS

I was 3 and arrived from port b I am 3 and go on port a GRASTA/MAC Tutorial 2015

  • Allow to BREAK SYMMETRY
slide-124
SLIDE 124

Whiteboards are powerful

a b

  • Allow to ASSUME FIFO LINKS

I am 3 and go on port a GRASTA/MAC Tutorial 2015

  • Allow to BREAK SYMMETRY
slide-125
SLIDE 125

Whiteboards are powerful

a b

  • Allow to ASSUME FIFO LINKS

I am 3 and go on port a GRASTA/MAC Tutorial 2015

  • Allow to BREAK SYMMETRY
slide-126
SLIDE 126
  • Explicit (no privacy)

Whiteboards have drawbacks

GRASTA/MAC Tutorial 2015

slide-127
SLIDE 127
  • Explicit (no privacy)
  • Expensive
  • persistent dedicated memory at each node
  • fair access in mutual exclusion

Whiteboards have drawbacks

GRASTA/MAC Tutorial 2015

slide-128
SLIDE 128

asynchronously in a model weaker than whiteboards ? Is it possible to solve problems

GRASTA/MAC Tutorial 2015

slide-129
SLIDE 129

asynchronously in a model weaker than whiteboards ? Is it possible to locate the black hole

GRASTA/MAC Tutorial 2015

slide-130
SLIDE 130

asynchronously in a model weaker than whiteboards ? Is it possible to locate the black hole

GRASTA/MAC Tutorial 2015

slide-131
SLIDE 131

GRASTA/MAC Tutorial 2015

Communication and Coordination

Vision Face-to-Face Tokens Whiteboards

Computational Models : Interaction and Communication:

slide-132
SLIDE 132

Pebble(s) CARRY

Tokens

GRASTA/MAC Tutorial 2015

slide-133
SLIDE 133

DROP

GRASTA/MAC Tutorial 2015

Tokens

slide-134
SLIDE 134

PICK UP

GRASTA/MAC Tutorial 2015

Tokens

slide-135
SLIDE 135

asynchronously using identical pebbles ? TOKEN < WHITEBOARD Is it possible to locate the black hole without a map

GRASTA/MAC Tutorial 2015

slide-136
SLIDE 136

asynchronously using identical pebbles ? YES !

  • with a team of Δ+1 agents (optimal !)
  • with one (identical) pebble per agent
  • with a polynomial number of moves

Is it possible to locate the black hole TOKENS < WHITEBOARDS without a map

GRASTA/MAC Tutorial 2015

O(Δ2 m2 n7) !!!

slide-137
SLIDE 137

asynchronously using identical tokens ? YES ! The algorithm is however rather complex TOKENS < WHITEBOARDS Is it possible to locate the black hole without a map

GRASTA/MAC Tutorial 2015

Dobrev, Flocchini, Kralovic, Santoro, Theoretical Computer Science, 2013

slide-138
SLIDE 138

GRASTA/MAC Tutorial 2015

New Directions

  • AGENTS MOVING IN TIME-VARYING GRAPHS
slide-139
SLIDE 139

WIRELESS MOBILE ENTITIES

GRASTA/MAC Tutorial 2015

slide-140
SLIDE 140

WIRELESS MOBILE ENTITIES

GRASTA/MAC Tutorial 2015

slide-141
SLIDE 141

Communication Graph

WIRELESS MOBILE ENTITIES WIRELESS MOBILE ENTITIES

GRASTA/MAC Tutorial 2015

slide-142
SLIDE 142

GRASTA/MAC Tutorial 2015

WIRELESS MOBILE ENTITIES

slide-143
SLIDE 143

the network might be always disconnected end-to-end connectivity does not necessarily hold communication may be available over time and space making computations feasible still …

WIRELESS MOBILE ENTITIES

GRASTA/MAC Tutorial 2015

slide-144
SLIDE 144

Delay tolerant networks Disruption tolerant networks Challenged networks Opportunistic networks

WIRELESS MOBILE ENTITIES

GRASTA/MAC Tutorial 2015

Modeled as TIME-VARYING GRAPHS

  • A. Casteigts, P. Flocchini, W. Quattrociocchi, N.Santoro.

Time-varying graphs and dynamic networks. IJPEDS 2012

slide-145
SLIDE 145

GRASTA/MAC Tutorial 2015

Time-Varying Graph

TVG-entity (node, vehicle, sensor, … )

slide-146
SLIDE 146

GRASTA/MAC Tutorial 2015

Edge = connection between two TVG-entities = (possibility of) interaction

Time-Varying Graph

Edge = temporally defined connection with specific properties

slide-147
SLIDE 147

GRASTA/MAC Tutorial 2015

V TVG-entities ==> nodes E connections between TVG-entities ==> edges L properties of connections ==> labels E ⊆ V × V × L

Time-Varying Graph

slide-148
SLIDE 148

GRASTA/MAC Tutorial 2015

Connections

temporally defined

  • TIME T Z discrete-time systems

R continuous-time systems. take place over a contiguous time span T ⊆ T

  • T lifetime of the system.

Time-Varying Graph

slide-149
SLIDE 149

GRASTA/MAC Tutorial 2015

G = (V , E, T, ψ, ρ, ζ )

  • ψ : V × T → {0, 1} node presence function

indicates whether a given node is available at a given time

  • ρ : E × T → {0, 1} edge presence function

indicates whether a given edge is available at a given time ζ : E × T → T latency function indicates the time it takes for interaction to take place in a connection if starting at a given date

Time-Varying Graph (TVG)

slide-150
SLIDE 150

GRASTA/MAC Tutorial 2015

Time-Varying Graph

The interval(s) on an edge represent the period of time when it exists.

slide-151
SLIDE 151

GRASTA/MAC Tutorial 2015

Time-Varying Graph

Compact graph representation of network dynamics

slide-152
SLIDE 152

GRASTA/MAC Tutorial 2015

t=0

Time-Varying Graphs

slide-153
SLIDE 153

GRASTA/MAC Tutorial 2015

t=1

Time-Varying Graphs

slide-154
SLIDE 154

GRASTA/MAC Tutorial 2015

t=2

Time-Varying Graphs

slide-155
SLIDE 155

GRASTA/MAC Tutorial 2015

t=3

Time-Varying Graphs

slide-156
SLIDE 156

GRASTA/MAC Tutorial 2015

1 2 3

Time-Varying Graphs

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3)

slide-157
SLIDE 157

GRASTA/MAC Tutorial 2015

1 2 3 Footprint

  • f the graph in

an interval of time - [0,4) in this case

Time-Varying Graphs

slide-158
SLIDE 158

GRASTA/MAC Tutorial 2015

1 2 3 Snapshots at specific times

Time-Varying Graphs

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3)

slide-159
SLIDE 159

GRASTA/MAC Tutorial 2015

G(t1), G(t2), G(t3), G(t4), … sequence of SNAPSHOTS EVOLVING GRAPH

1 2 3

Time-Varying Graphs

slide-160
SLIDE 160

GRASTA/MAC Tutorial 2015

G(t1), G(t2), G(t3), G(t4), … EVOLVING GRAPH

1 2 3

Time-Varying Graphs

  • F. Harary and G. Gupta. “Dynamic graph models”.

Mathematical and Computer Modelling, 1997.

slide-161
SLIDE 161

GRASTA/MAC Tutorial 2015

G(t1), G(t2), G(t3), G(t4), … EVOLVING GRAPH

1 2 3

Time-Varying Graphs

  • F. Harary and G. Gupta. “Dynamic graph models”.

Mathematical and Computer Modelling, 1997. A.Ferreira “Building a reference combinatorial model for MANETs”. IEEE Network, 2007.

slide-162
SLIDE 162

GRASTA/MAC Tutorial 2015

Journey: moving on a TVG

B C D E A Traverse path [A,E,D] mobile agent

t=0

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3)

B C D E A

slide-163
SLIDE 163

GRASTA/MAC Tutorial 2015

Example

B C D E A WAIT at E

t=1

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3)

B C D E A Traverse path [A,E,D]

slide-164
SLIDE 164

GRASTA/MAC Tutorial 2015

Example

B C D E A

t=2

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3)

B C D E A Traverse path [A,E,D]

t=3

slide-165
SLIDE 165

Journey: moving on a TVG

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3)

B C D E A

Waiting (buffering) Indirect journey No waiting (no buffering) Direct journey

GRASTA/MAC Tutorial 2015

slide-166
SLIDE 166

Journey: moving on a TVG

Journey [A,E,D] at time t=0

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3)

B C D E A

feasible unfeasible Indirect: Direct:

GRASTA/MAC Tutorial 2015

slide-167
SLIDE 167

Journey: moving on a TVG

Even with waiting, the journey might be no feasible

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3)

B C D E A

GRASTA/MAC Tutorial 2015

slide-168
SLIDE 168

GRASTA/MAC Tutorial 2015

B C D E A

Task: go to B t=0

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3)

B C D E A

Journey: moving on a TVG

slide-169
SLIDE 169

GRASTA/MAC Tutorial 2015

B C D E A

t=1

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3)

B C D E A

Task: go to B

Journey: moving on a TVG

slide-170
SLIDE 170

GRASTA/MAC Tutorial 2015

B C D E A

t=2

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3)

B C D E A

Task: go to B

Journey: moving on a TVG

slide-171
SLIDE 171

GRASTA/MAC Tutorial 2015

B C D E A

t=3

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3)

B C D E A

Task: go to B

Journey: moving on a TVG

the agent is stuck and cannot reach B

slide-172
SLIDE 172

GRASTA/MAC Tutorial 2015

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3) B C D E A Feasible if waiting NOT feasible at all at any time Feasible C A B D B E A D E Starting at time 0, assuming it takes 1 time unit to traverse an edge: DIRECT JOURNEY INDIRECT JOURNEY

Journey: temporal path

slide-173
SLIDE 173

GRASTA/MAC Tutorial 2015

Journey: expressivity

Interpreting a TVG as an automaton and node labels as alphabet symbols a feasible journey corresponds to a string of symbols

CBA AED Feasible if waiting Feasible C A B A D E [0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3) B C D E A

slide-174
SLIDE 174

GRASTA/MAC Tutorial 2015

Interpreting a TVG as an automaton and node labels as alphabet symbols a feasible journey corresponds to a string of symbols

CBA AED Feasible if waiting Feasible C A B A D E

what LANGUAGES

  • f feasible journeys does the

TVG-automaton recognize ?

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3) B C D E A

Journey: expressivity

slide-175
SLIDE 175

GRASTA/MAC Tutorial 2015

Interpreting a TVG as an automaton and node labels as alphabet symbols If waiting IS NOT allowed TVG-automata recognize ALL languages If waiting IS allowed TVG-automata recognize only REGULAR languages

  • A. Casteigts, P.Flocchini, E. Godard, N. Santoro, M. Yamashita.

On the Expressivity of Time-Varying Graphs. Theoretical Computer Science, 2015

what LANGUAGES

  • f feasible journeys does the

TVG-automaton recognize ?

[0,1) [2,4) [2,4) [0,3) [0,2) [0,1) [1,3) B C D E A

Journey: expressivity

slide-176
SLIDE 176

9:00 9:30 12:10 18:00 19:15 22:00 22:10 22:15 9:00 20:30 A B C D E F G H I

Journey: length

GRASTA/MAC Tutorial 2015

smallest duration shortest A,I,B foremost A,C,D,E,F fastest A,G,H,B min # hops earliest arrival

(2 hops) (19:15) (15 minutes)

slide-177
SLIDE 177

GRASTA/MAC Tutorial 2015

Network metrics

Classical Measures Distance Diameter Eccentricity Centrality (betweeness, closeness) Clustering Coefficient …

slide-178
SLIDE 178

GRASTA/MAC Tutorial 2015

Temporal Network metrics

Temporal Measures Temporal Distance Temporal Diameter Temporal Eccentricity Temporal Centrality (betweeness, closeness) Temporal Clustering Coefficient …

Keeping into account the temporal dimension of the network

slide-179
SLIDE 179
  • P. Flocchini, M. Kellett, P.C. Mason, N. Santoro.

Searching for Black Holes in Subways. Theory of Computing Systems, 2012.

  • Avin, C., Koucký, M., Lotker, Z.: How to explore a fast-changing world (cover

time of a simple random walk on evolving graphs). (ICALP 2008).

Mobile Agents in Time-Varying Graphs

EXPLORATION

  • P. Flocchini, B. Mans, N. Santoro. On the exploration of time-varying
  • networks. Theoretical Computer Science, 2013.
  • D. Ilcinkas, A.M.Wade Exploration of the T -Interval-Connected Dynamic

Graphs: The Case of the Ring. (SIROCCO 2013).

  • D. Ilcinkas, A.M.Wade. On the Power of Waiting when Exploring Public

Transportation Systems. (OPODIS 2011)

GRASTA/MAC Tutorial 2015

slide-180
SLIDE 180

Mobile Agents in Time-Varying Graphs

  • E. Aaron, D. Krizanc, E. Meyerson. DMVP: Foremost waypoint coverage of

Time-Varying Graphs, (WG 2014).

  • T. Erlebach, M. Hoffmann, F. Kammer

On Temporal Graph Exploration. (arXiv 2015).

  • P. Flocchini, M. Kellett, P.C. Mason, N. Santoro.

Mapping an unfriendly subway system. (FUN 2014)

EXPLORATION

  • G.A. Di Luna, S. Dobrev, P. Flocchini, N. Santoro.

Exploring 1-interval-connected rings. (arXiv 2015).

  • D. Ilcinkas, R. K;asing, A.M.Wade. Exploration of constantly connected

dynamic graphs based on cactuses. (SIROCCO 2014).

GRASTA/MAC Tutorial 2015

slide-181
SLIDE 181

The End

GRASTA/MAC Tutorial 2015

slide-182
SLIDE 182

Questions ?

GRASTA/MAC Tutorial 2015

slide-183
SLIDE 183

Thank you

GRASTA/MAC Tutorial 2015