evolving graphs & dynamic networks : old questions new insights afonso ferreira s. bhadra cnrs...
TRANSCRIPT
Evolving Graphs & Dynamic
Networks : Old questions New
insights
Afonso FerreiraS. Bhadra
CNRSI3S & INRIA Sophia Antipolis
Technology aware - Problem driven behavior
• Develop combinatorial models for networks– graphs, hypergraphs, etc.
• Identify underlying optimisation problems– coloring, flows, connectivity, etc.
• Design (combinatorial) algorithms– exact, distributed, on-line, approximation,
randomized, (you may use linear programming), etc.
• Apply solutions to technology– improvements spread several technologies
Combinatorial Models for Dynamic Networks
• Graphs• Random Graphs • Dynamic Graphs• Time-Expanded Graphs• (MERIT)
Our small dot: Formalize the notion of time evolution in graphs
Outline
• Dynamic Networks & Evolving Graphs– Modeling time evolution in a formal way– Paths & Journeys– Old problems - New complexities
• Connected Components
– Multicast trees in Mobile Networks– Current & Future work
Evolving Graphs
• Given a graph G(V,E) and an ordered sequence
of its subgraphs, SSG=Gt0, Gt1, ..., GtT.
The system EG = (G, SSG) is called an evolving
graph.
• Timed evolving graphs (TEGs): – Traversal time on the edges.
Evolving Graphs
• Coding: Linked adjacency lists– Sorted edge schedule attached to each neighbor.
– Sorted node schedule attached to head nodes.
• Dynamics: – Size of edge and node lists.
• A compact and tractable representation of
Time-Expanded Graphs [FF’58]
EGs & Dynamic Networks
• Fixed-Schedule– Satellite constellations– Transportation networks– Robot networks
• History– Competitive analysis– MERIT
• Stochastic– Mobility model
Journeys in EGs
• Sequence of edges {e1, e2, …, ek} of G called a Route R(u,v) (= a path in G).
• A schedule s respecting EG and R, defines a journey J(u,v, s).
• Some facts:– Journeys cannot go to the past– A round journey is J(u,u, s). Like a usual circuit,
but not quite.
Some Distances
• Minimum hop count = Usual distance– shortest journey
• Minimum arrival date = Earliest arrival date– foremost journey
• Minimum journey time = Delay – fastest journey
Algorithm for Foremost Journeys
– Delete root of heap into x.– For each open neighbor v of x:
• Compute first valid edge schedule time greater or equal to current time step
• Insert v in the heap if it was not there already.
– If needed, update distance to v and its key.– Update the heap.– Close x and insert it in the ‘shortest paths’ tree.
(TEGs are complex: Prefix journeys of foremost journeys are not necessarily foremost.)
[IJFCS’03]
2/3/5/9 1/2/4/106/8
5/6/7
1/2
5/6/7 9
2/3/6
10
3/8
2
4
6
5
6
9
5
1/7
7
Algorithm
Source:
0
Time: 12345678
Analysis
• For each closed vertex, the algorithm performs O(log + log N) operations.
• Total number of operations is
O(vV [| +(v) | (log + log N)]) =O(M (log + log N)).
• Bounded by the actual size of the schedule lists, which measures the number of changes in the network topology.
1/3/5/92/6
7/8
5/6
2/10
3/6 7
2/3/6
10
5/10
1
2
7
3
6
9
6
1/9
7
Algorithm for fading memory
Source:
0 2/3/5/6/10
Time: 12345678
Connectivity Issues
• An EG is said to be connected if for every pair (u,v) there is a journey from u to v and a journey from v to u.
• A connected component of EG is defined as a maximal subset U of V, such that for every pair (u,v) there is a journey from u to v and a journey from v to u.
CCs and o-CCs
• A connected component of EG is defined as a maximal subset U of V, such that the EG induced by U is connected.
• An open connected component of EG is defined as a maximal subset U of V, such that for every pair (u,v) of U, there is a journey in EG from u to v and vice-versa.
Complexity of (o-)CCs
• Computing (o-)CCs is NP-Complete.– It is in NP: computing journeys is
polynomial.– Reduction from Clique
The GadgetGiven G =(V,E) and integer k, create an EG:For each ui in V create a vi and a hii.• Time step 1:
– Create a CC connecting all h-nodes.
• Time step 2:– Create edges {vi,hii}, – For each edge {ui, uj} in E, create edges {vi,hij}.
• Time step 3:– For each edge {ui, uj} in E, create edges {hij,vj}.
• Time step 4:– Create a CC connecting all h-nodes.
Current & Future Work
• Rooted timed trees ( SSSPs) in TEGs– Foremost, shortest, fastest
• Rooted MST is NP-Complete– But Min Max RST is Polynomial!
• Applications:– Multicast trees, Energy aware routing, etc.
• Flows, coloring, scheduling, ... in EGs• Distributed algorithms for EGs
– Competitive analysis of protocols (MERIT)
• Harness Dynamic Networks
Foremost Journeys in EGs
• Setting:– Deterministic, Off-line, Centralized
• With LOG, packet transmission time is normalized so as to coincide with the duration of a time step.
• For TEGs is more complex:– Prefix journeys of foremost journeys are
not necessarily foremost.
Evolving GraphsRepresentations
• Imagine two presence matrices: PE and PV
– Presence of edges and nodes at time step ti.
• Coding: Linked adjacency lists– Sorted edge schedule attached to each neighbor.
– Sorted node schedule attached to head nodes.
• Dynamics: .
Dynamic Networks
&
Evolving Graphs
Afonso FerreiraCNRS
I3S & INRIA Sophia Antipolis
With S. Bhadra, B. Bui Xuan, A. Jarry
22h00
18h00
17h00 16h00
13h00
12h00
07h0010h00
10h0011h0013h0015h00
Fixed-Schedule Dynamic Networks
07h00
10h00
Some Issues in Dynamic Networks
• Property maintenance– E.g., Minimum Spanning Tree
• Fault tolerance– Link/node failure
• Congestion avoidance– Time dependency
• Topology prediction – The Web
Dynamic Networks
• Mobile Wireless Networks (eg, Ad-hoc)• Fixed Packet Networks (eg, Internet)• Fixed Connected Networks (eg, WDM)• Fixed-Schedule Networks
(eg, LEO Satellites, Robots, Transport)
Examples of Scenarios for Node Absence
• Scenario 1: There is information conservation.
• Scenario 2: There is no information conservation.
Evolving Graphs
• Given a graph G(V,E) and an ordered sequence of its subgraphs, SSG=Gt0, Gt1, ..., GtT. Then, the
system EG = (G, SSG) is called an evolving
graph.
Analysis
• O(M (log + log N)) operations.• Again bounded by the actual dynamics
of the evolving graph.
2/3/5/9 1/2/4/106/8
5/6/7
1/2
5/6/7 9
2/3/6
10
3/8
2
4
6
5
6
9
5
1/7
7
Algorithm
Source:
0
Time: 12345678