Algorithm to separate a grid graph H - Philippe J. Giabbanelli

Separability and Topology Control of Quasi Unit Disk Graphs
Philippe Giabbanelli
CMPT 880 – Spring 2008
This article deals with a more complex model than Unit Disk Graph.
First, I will explain Unit Disk Graph (UDG) and gradually go to the
more complicate model.
Once the new model is understood, we can define some constructions on
it, leading to efficient algorithms and routing protocols.
From UDG to quasi-UDG
Abstraction of a quasi-UDG by a grid graph
An algorithm to find a small separator set in a grid graph
Routing protocol with distance labelling on grid graphs
1
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
• A sensor network or a MANET network is represented by a graph with
vertices for systems and edges if there is a communication.
• It is quite easy to say that a vertex is a system…
• …but to express that two nodes are communicating, we need a model.
• This model must answers two fundamental questions:
∙ Do all nodes have the same transmission range?
∙ When can a node communicate with another one?
2
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
• A sensor network or a MANET network is represented by a graph with
vertices for systems and edges if there is a communication.
w
r
Yes, and we denote it by r.
|uw| > r hence no connection
This model is called the Unit Disk Graph (UDG).
A system
cannodes
communicate
vertex v if their
distance is less than
∙ Dou all
have the with
sameatransmission
range?
the communication range.
∙ When can a node communicate with another one?
There is an edge (u, v) if |uv| ≤ ru for the euclidian metric | |.
2
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
• Under the Unit Disk Model, the probability to communicate with a
vertex given the distance looks as follows:
probability
guaranteed
maybe
r
too far
R
distance
• In the real world, the probability does not have such a strong threshold.
• When a node is a bit farther than r, the signal does not suddenly
disappear. It is just not strong enough to guarantee the communication,
but maybe that we can still communicate.
• In the quasi-UDG model, there is an edge for |uv| ≤ r, not for |uv| > R
and maybe for r < |uv| ≤ R.
3
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
• To model complex things, we need some abstraction. The simpler the
abstraction, the easier we can develop results based on it.
Mr. UDG is
happy because
he has a simple
model he can
deal with.
Mr. QuasiUDG has a
more accurate
model, but no
so easy…
• The UDG model is quite a rough abstraction, but the properties have
been well understood.
• The quasi-UDG model is more accurate, but there has been so far quite
a lack of understanding of the properties.
4
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
• One of the few properties available on the quasi-UDG model is the
link-crossing property (Barrière, Fraigniaud and Narayanan 2001).
∙ We know that if we are at distance r, we can communicate.
r is the minimum transmission range.
∙ We know that if we are at distance R, we cannot communicate.
R is the maximum transmission range.
∙ The authors have designed a protocol that guarantees message delivery
if R is at most 40% longer than r.
Message delivery is guaranteed for quasi-UDGs where R ≤ √2 * r.
∙ In other words, we guarantee message delivery if the ratio between R
and r is at most √2.
5
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
• This paper has two goals. As this presentation is in two parts, this
presentation will deal with the first goal.
• Remember what we said last time about separators: if a graph has a a
small set of separators then it is well separable and it enables us to do
some nice things (such as a compact representation of the graph).
• In particular, the local properties of separable graphs can be used in
many aspects of networks: routing, information retrieval, monitoring…
• The authors will construct an abstraction of a quasi-UDG and show that
it is well separable, with a separator size of O(√N).
• As one of the applications, a compact routing protocol will be described.
6
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm Routing
We impose
a grid
on thevariable
plane tonode
build
a grid
graph
H. thus
A quasi-UDG
can have
a highly
and
edges
densities,
If there
at least one
in a cell,
thenseparators
there is a vertex
in the center
we
cannotis guarantee
thevertex
existence
of small
as such.
of this cell for H.
For two cells, if there is an edge connecting vertices in those cells in G
then the vertices in the middle of the cells in H are connected.
7
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
Theorem. The grid graph H constructed by the algorithm GridGraph with
a grid of cell size r/√2 * r/√2 for any given quasi-UDG G is such that:
inside any disk of radius y there are at most O(y²/r²) vertices of H.
r/√2
r/√2
By construction, the distance between any two vertices
is at least r/√2. On the scheme we identify a vertex by
the center of either the blue or the red disk.
If we place a disk of radius r/(2√2) centered on each
vertex, no two disks will intersect. Blue and red do not
intersect.
A disk D of size y can intersect with at most O(y²/r²) disks.
The number of little disks that y is intersecting with represents the
number of vertices inside D.
8
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
Theorem. The grid graph H constructed by the algorithm GridGraph with
a grid of cell size r/√2 * r/√2 for any given quasi-UDG G is such that:
the degree of each vertex of H is at most O(R²/r²)
We denote by v(U) the set of vertices of G inside the
cell U.
A vertex in v(U) can only be adjacent to a vertex in
v(V) is |uv| ≤ R + r by construction.
Thus the number of vertices distant of R + r from U is
at most O(R²/r²).
The number of vertices being the degree, we have that
the degree is upper bounded by O(R²/r²).
9
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
Theorem. The grid graph H constructed by the algorithm GridGraph with
a grid of cell size r/√2 * r/√2 for any given quasi-UDG G is such that:
any given edge can be crossed by at most O(R²/r^4) edges.
Based on the fact that the number of vertices within distance R + r from
any point on a line (i.e. edge) is O(R²/r²) by the previous proof.
Our grid graph H is well defined with a set of useful
properties, but we need something more to find a good
separator…
10
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
We impose a larger grid on the plane to create a graph T.
Black vertex with a weight equal to the
vertex,
to a
The graph T is constructed from the grid graphRed
H with
the assigned
same rules
number of vertices contains in its cell in H
weight of 0
than H is made from G.
(i.e. order of abstraction)
To make T planar, a virtual vertex is added in the middle of each
diagonal edge (it eliminates all crossings).
11
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
Algorithm to separate a grid graph H
Let T be the auxiliary graph of H and T’ a copy of T.
Step 1 – Create a tree
• Select a vertex from the outer face
as root to launch the BFS process.
• The undiscovered neighbours are
visited in clockwise order.
1
• When a new vertex u is discovered:
∙ It is added to the BFS
∙ For every face F containing u
∙ Add edges to all other
vertices of F as long as T’
remains planar
2
12
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
Algorithm to separate a grid graph H
Let T be the auxiliary graph of H and T’ a copy of T.
Step 2 – Split the tree
• With the BFS process, we have a tree.
• A cycle formed by one edge that is not
in the tree and some edges of the tree is
called a fundamental cycle.
• We look for the fundamental cycle
that splits T’ in the most balanced way.
• In other words, we are facing an optimization problem of finding ST
such that it splits T’ in T1’ and T2’ and minimizes w(T1’) – w(T2’).
13
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
Algorithm to separate a grid graph H
Let T be the auxiliary graph of H and T’ a copy of T.
Step 3 – Virtual vertices in the split
• For each virtual vertex u (i.e. red) in the
separator set ST :
∙ If all the neighbours of u outside of
ST are in T1’, then we move u to T1’
∙ If all the neighbours of u outside of
ST are in T2’, then we move u to T2’
∙ If the neighbours of u outside of ST
are both in T1’ and T2’, then
move u to T1’
move all the neighbours in ST
T1’
T2’
ST
14
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
Algorithm to separate a grid graph H
Let T be the auxiliary graph of H and T’ a copy of T.
Step 4 – Results in the grid graph H
• Let SH be the set of vertices in the cells
given by the real (i.e. black) vertices in the
separator set ST.
• Similarly, let H1 and H2 be the set of
vertices in the cells given by the real (i.e.
black) vertices in T1’ and T2’.
TH11’
SHT
TH22’
• Clearly, SH separates H into H1 and H2.
15
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
Algorithm to separate a grid graph H
Graph G under the
Quasi-UDG model
Graph H with
bounded degree
Abstraction by a grid
Abstraction by a grid
and virtual vertices
For a a minimum hop distance h(u, v)
between u and v, we have a routing
algorithm in 2h(u, v) + 1 hops and a routing
table of size O(√N.log N) at each node.
Separator of size
O(√N) for H
Planar Graph T
aztzet
Build a BFS tree
and change T
Find a fundamental
cycle to split well T
Take virtual vertices
out of the split
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
Principles of Distance labeling in Graphs
• A representation of a network is often global
If we want to know something such as the distance between two
vertices, we need an access to the entire data structure.
2
110
5111 How
How
farfar
is is
000
1 from 5?
111?
1006
4101
000 and 111 differ on 3
8011
010
7 001
positions. Distance 3.
000
1
3
• If we label the nodes in some way, we can guess things such as the
adjacency of two nodes directly by looking at the label. There is no need
to access the whole data structure.
• We can use label of any arbitrary large size to encode an information…
• …but we want efficiency: short label and fast information deduction!
17
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
Principles of Distance labeling in Graphs
• Distance labeling is useful in communication networks, especialy for
memory-free routing schemes: routing schemes with very little data to be
stored locally.
• It needs a function L to label the nodes (node-labeling), and f to
compute the distance between two labels (distance-labeling).
• f does not need to access the whole graph, as we pointed out. It only
needs to know the family of the graph.
• For general graphs, the encoding of the labelling is of size θ(n) and the
distance can be computed in O(log log n).
• For graphs with a separator of size k, the encoding of the labelling is of
size O(k log n + log²n) and the distance can be computed in O(log n). 18
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
• A small separator set can be found in the grid graph H.
• The routing algorithm will send messages between cells of H, using the
shortest path.
• We know that the real nodes represented by a cell are fully connected,
hence going from one cell to an adjacent one takes at most 2 hops in G.
• How to find the shortest path without a big overhead on the routing table?
∙ Each cell remembers the distance to the vertices in the separator
set. They work like a gateway.
∙ Two vertices in different halves have to go communicate through
a gateway thus they can know their shortest path distance.
19
UDG and quasi-UDGs
Grid-graph
Splitting Algorithm
Routing
• Now that you have the idea on the overall graph, just think that we
apply the same one recursively to cut the graph into O(log n) levels.
• Let denote by basic block the lowest level. Each node needs to store:
O(√N.log n) ∙ minimum distance to the gateways on the boundaries of
all the partitions the node is in
constant ∙ the neighboring vertices through which to get to other cells
constant
∙ a shortest path routing for the basic blocks where it resides
• Let d(p) be the number of hops of a path and c(p) the number of times it
changes cells. Let p be the optimal path and p’ the one by our algorithm.
c(p) ≤ d(p) and c(p’) ≤ c(p)
p’ travels from one cell to another in at most 2 hops hence
d(p’) ≤ 2c(p’) + 1
d(p’) ≤ 2d(p) + 1
20
Main article used in this presentation
Separability and Topology Control of Quasi Unit Disk Graphs (Chen,
Jiang, Kanj, Xia and Zhang, IEEE 2007)
Other articles used to provide a better understanding
Robust position-based routing in wireless ad hoc networks with irregular
transmission ranges (Lali Barrière, Pierre Fraigniaud, Lata Narayanan,
Jaroslav Opatrny, Wireless Com. and Mobile Computing 2003)
Distance labeling in graphs (Cyril Gavoille, David Peleg, Stéphane
Pérennes, Ran Raz, Elsevier 2004)
T HAN K
YOU