Geometric Routing June 8 2006
1
University of Denver
Department of Mathematics
Department of Computer Science
Geometric Routing June 8 2006
2
Routing in Geometric Settings
Geometric graphs Planar graph Unit disk graph
Applications Ad hoc wireless networks Robot route planning moving in a terrain of
varied types (e.g. grassland, brush land, forest, water etc
Geometric Routing June 8 2006
3
AGENDA Topics:
1. Minimum Disk covering Problem (MDC)2. Minimum Forwarding Set Problem (MFS)3. Two-Hop realizability (THP)4. Exact solution to Weighted Region Problem
(WRP)5. Raster and vector based solutions to WRP
Conclusion Questions
Geometric Routing June 8 2006
4
Topics:1. Minimum Disk covering Problem (MDC)2. Minimum Forwarding Set Problem (MFS)3. Two-Hop realizability (THP)4. Exact solution to Weighted Region Problem
(WRP)5. Raster and vector based solutions to WRP
Conclusion Questions?
Geometric Routing June 8 2006
5
1 - Minimum Disk Covering Problem (MDC)
Cover Blue points with unit disks centered at Red points !! Use Minimum red disks!!
1
Geometric Routing June 8 2006
6
Other Variation
Cover all Blues with unit disks centered at blue points !! Using Minimum Number of disks
1
Geometric Routing June 8 2006
7
Complexity MDC is known to be NP-complete Reference “Unit Disk Graphs”
Discrete Mathematics 86 (1990) 165–177, B.N. Clark, C.J. Colbourn and D.S. Johnson.
Geometric Routing June 8 2006
8
Previous work Problem has a constant factor
approximation algorithmShown By
Hervé Brönnimann, Michael T. Goodrich(1994) “Almost optimal set covers in finite VC-dimension”
Geometric Routing June 8 2006
9
Previous work (Cont…)“Selecting Forwarding Neighbors in
Wireless Ad-Hoc Networks”Jrnl: Mobile Networks and Applications(2004)Gruia Calinescu Ion I. Mandoiu Peng-Jun Wan Alexander Z. Zelikovsky
Presented 108-approximation factor
Geometric Routing June 8 2006
10
The method Tile the plane with equilateral
triangles of unit side Cover Each triangle by solving a
Linear program (LP) Round the solution to LP to obtain
a factor of 6 for each triangle
Geometric Routing June 8 2006
11
The Method to cover triangle
1
Geometric Routing June 8 2006
12
Covering a triangle
IF No blue points in a triangle- NOTHING TO DO!!
IF ∆ contains RED + BLUE THEN Unit disk centered at RED Covers
the ∆
Assume BLUE + RED do not share a ∆
Geometric Routing June 8 2006
13
Covering a triangle Method
A
C
B
T’1
T’2
T’3
Geometric Routing June 8 2006
14
Covering a triangle
1. Using Skyline of disks
2. cover each of the 3 sides with 2-approximation
3. combine the result to get:
6-approximation for each ∆
Geometric Routing June 8 2006
15
Desired Property P No two discs intersect more than
once inside a triangle No Two discs are tangent inside
the triangle
Geometric Routing June 8 2006
16
Unit circle intersects at most 18 triangles in a tiling
It can be easily verified that a Unit disk intersects at most 18 equilateral triangles in a tiling of a plane
Geometric Routing June 8 2006
17
Result 108-approximation Covered each triangle with
approximation factor of 6 Optimal cover can intersect at
most 18 triangles Hence, 6 *18 = 108 -
approximation
Geometric Routing June 8 2006
18
Improvements
CAN WE use a larger tile? split the tile into two regions? get better than 6-approximation by
different tiling? cover the plane instead of tiling?
Geometric Routing June 8 2006
19
Can we use a larger tile? If tile is larger than
a unit diameter !!
Unit disc inside Tile cannot cover the tile
Hence we cannot use previous method
Geometric Routing June 8 2006
20
Split the tile into two regions?
NO!
We obtain two intersection inside the tile (Violates
Property P)
T’1
T’2
Geometric Routing June 8 2006
21
Split the tile into two regions Using any cut
v0
v1
v2
v3
v4
n = 2m +1
n = 5; m = 2
Geometric Routing June 8 2006
22
Different shape Tile? Each side with 2-
approx. factor Hence 8 for a square Unit disk can
intersect 14 such squares
14 * 8 =112 No Gain by such
method
2
1
Geometric Routing June 8 2006
23
Different shape Tile? Each side with 2-
approx. factor Hence 12 for a
hexagon Unit disk can
intersect 12 such hexagons
12 * 12 =144 No Gain by such
method
Geometric Routing June 8 2006
24
Our Approach How about using a unit diameter
hexagon as a tile Combine result above with a
splitting into 3 regions around the hexagon
Does it give a better bound?
Geometric Routing June 8 2006
25
Hexagon- split it into 3 regions
Partition Hexagon into 3 regions (Similar to triangle)
Obtain 2-approximation for each side 6-approximation for hexagon
Unit disk intersects 12 hexagons
Hence, 6 * 12 = 72-approximation
T’1
T’2
T’3
Geometric Routing June 8 2006
26
Covering Instead of tiling the plane,
how about covering the plane
Geometric Routing June 8 2006
27
Conclusion of MDC Conjecture: A unit disk will intersect
at least 12 tiles of any covering of R2 by unit diameter tiles
Each tile has an approximation of 6 by the known method
Cannot do better than 72 by the method used
Geometric Routing June 8 2006
28
Topics:1. Minimum Disk covering Problem (MDC)2. Minimum Forwarding Set Problem (MFS)3. Two-Hop realizability (THP)4. Exact solution to Weighted Region Problem
(WRP)5. Raster and vector based solutions to WRP
Conclusion Questions?
Geometric Routing June 8 2006
29
2 - Minimum Forwarding Set Problem (MFS)
Cover blue points with unit disks centered at red points, now all red points are inside a unit disk
s
x
Geometric Routing June 8 2006
30
Previous work (MFS) Despite its simplicity, complexity is
unknown In “Selecting Forwarding Neighbors in
Wireless Ad-Hoc Networks” , Calinescu et al. Present 3- and 6-approximation with complexity O(n
log2n) and O(n log n), respectively Algorithm is based on property P
Geometric Routing June 8 2006
31
Desired Property P Again1. No two discs intersect more than once along their
border inside a region Q2. No Two discs are tangent inside the a region Q 3. A disk intersect exactly twice along their border
with Q 1
3
Geometric Routing June 8 2006
32
Property P Property P applies if the region is outside
of disk radius 2
Unit disk 2
Q
Geometric Routing June 8 2006
33
Bell and Cover of x Remove points inside the Bell- Bell
Elimination Algorithm (BEA)
Geometric Routing June 8 2006
34
Result
Assume points to be uniformly distributed
Bell elimination eliminates all the points inside the disk of radius
Need about 75 points Therefore exact solution
2
Geometric Routing June 8 2006
35
Result of Running BEA Graph
80
82
84
86
88
90
92
94
96
98
100
50 55 65 75 80 90 97 120 160 200
Number of Points
% success
50 82.5652 84.255 85.1260 89.9865 91.2370 94.3175 95.4277 97.7680 97.7585 97.7690 98.1295 99.0297 99.1
100 99.11120 99.65140 99.93160 99.94180 99.99200 99.99
Geometric Routing June 8 2006
36
Distance of one-hop neighbors
Extra region
Geometric Routing June 8 2006
37
Approximation factor
Geometric Routing June 8 2006
38
Topics:1. Minimum Disk covering Problem (MDC)2. Minimum Forwarding Set Problem (MFS)3. Two-Hop realizability (THP)4. Exact solution to Weighted Region Problem
(WRP)5. Raster and vector based solutions to WRP
Conclusion Questions?
Geometric Routing June 8 2006
39
3-Two-hop realizability
Embed a bipartite graph G as a two-hop problem
Show a solution to MFS is a solution to vertex cover problem of G
Hence MFS is as hard as vertex cover problem
Geometric Routing June 8 2006
40
Degree of at most 2 If G is realizable then sub-graph G’ is
realizable one-hop region
Geometric Routing June 8 2006
41
Topics:1. Minimum Disk covering Problem (MDC)2. Minimum Forwarding Set Problem (MFS)3. Two-Hop realizability (THP)4. Exact solution to Weighted Region
Problem (WRP)5. Raster and vector based solutions to WRP
Conclusion Questions?
Geometric Routing June 8 2006
42
4 - Weighted region problem (WRP)
Find a optimal path from START to GOAL in a given subdivision
Goal is to find a path with minimum total cost
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
Geometric Routing June 8 2006
43
Weighted region problem- Planar Graphs WRP finds a shortest path on a planar
sub-division from source s to destination t
Planar sub-division considered as planar graph
Edges are the boundary of faces of sub-division
Vertices are the intersection of edgesQuickTime™ and a
TIFF (LZW) decompressorare needed to see this picture.
2
9
5
43
∞
∞
Geometric Routing June 8 2006
44
WRP - weighted region problem
Travel allowed through faces and edges
To use Dijkstra algorithm, need to augment the given planar sub-division
Integer weight = { 0,1 …W, } is assigned to regions/edges
A special case: Weights restricted to 0/1/
Vector and Raster based algorithms exist
Geometric Routing June 8 2006
45
Preliminaries A graph (network) consists of
nodes and edges represented as G(V, E, W)
a b
c d
ee1(1)
e3(5)
e4(2)
e2(2)
e6(2)
e5(2)
Geometric Routing June 8 2006
46
General Shortest path G(V, E, W)
W: E non-negative weight Source s and destination t are
vertices of G Find a shortest path from s to t Path goes through only edges and
vertices Dijkstra algorithm finds a shortest
path from a source vertex to all other vertices
Geometric Routing June 8 2006
47
Dijkstra's Algorithm Greedy algorithm Basic idea
Algorithm maintains two sets of nodes, Solved S and Unsolved U
Each iteration takes a node from U and moves it into S
Algorithm terminates when U becomes empty
Choosing a node v from U is by a greedy choice
Geometric Routing June 8 2006
48
Dijkstra’s Example(1)
s
u v
yx
10
5
1
2 39
4 67
2
s
u v
yx
10
5
1
2 39
4 67
2
Dijkstra(G,s)01 for each vertex v V[G]02 d [v] = 03 v. Parent = UNKNOWN04 d[s] = 005 S 06 Q V[G]07 while Q ≠ Ø08 u extractMin(Q)09 S S {u} 10 for each v adjacent(u) do11 Relax(u, v, G)
Geometric Routing June 8 2006
49
Dijkstra’s Example (2)u v
s
yx
10
5
1
2 39
4 67
2
s
u v
yx
10
5
1
2 39
4 67
2
Dijkstra(G,s)01 for each vertex v V[G]02 d [v] = 03 v. Parent = UNKNOWN04 d[s] = 005 S 06 Q V[G]07 while Q ≠ Ø08 u extractMin(Q)09 S S {u} 10 for each v adjacent(u) do11 Relax(u, v, G)
Geometric Routing June 8 2006
50
Dijkstra’s Example (3)
u v
yx
10
5
1
2 39
4 67
2
u v
yx
10
5
1
2 39
4 67
2
Dijkstra(G,s)01 for each vertex v V[G]02 d [v] = 03 v. Parent = UNKNOWN04 d[s] = 005 S 06 Q V[G]07 while Q ≠ Ø08 u extractMin(Q)09 S S {u} 10 for each v adjacent(u) do11 Relax(u, v, G)
Geometric Routing June 8 2006
52
Dijkstra’s Running Time Extract-Min executed |V| time Decrease-Key executed |E| time Time = |V| TExtract-Min + |E| TDecrease-Key
T depends on different Q implementations
Q T(Extract-Min)
T(Decrease-Key)
Total
array (V) (1) (V 2)
binary search tree
(log V) (log V) (E log V)
Fibonacci heap
(log V) (1) (amort.)
(V logV + E)
Geometric Routing June 8 2006
53
Planar Graphs A Planar graph is a graph that can
be drawn in the plane such that edges do not intersect
a b
c d
e
Yes!!
a b
c d
e
Is this Planar?
Examples: Voronoi diagram and Delaunay triangulation
Geometric Routing June 8 2006
54
Planar Graphs n - e + f = 2 n, e, f = # of vertices, edges, faces Implies, # of edges and faces is O(n) Planar graph has at most 3n - 6 edges, n
≥ 3 Every planar subdivision can be
considered as a planar graph Dijkstra’s algorithm complexity for planar
graph is O(n log n)
Geometric Routing June 8 2006
55
WRP - Algorithms VECTOR BASED
The WRP: Finding shortest path… O(n8L) [2]
Path planning 0/1/ WRP…[1]
A new algorithm for computing shortest path in WRP O(n3) [3]
RASTER BASED Cross country
Movement Planning [4]
Planning Shortest Paths among 2D and 3D weighted Regions Using Framed-Subspaces [5]
Geometric Routing June 8 2006
56
WRP - General case Input• Planar straight line subdivision is specified by
faces, vertices, and edges• Two points s and t, source and destination,
respectively• Assumption
- all faces are triangles- s and t are vertices
Output• -optimal path from s to t is specified by
users• path within a factor of (1+ ) from the
optimal
Geometric Routing June 8 2006
57
WRP - General case Notationsf = weight of face f;
e = weight of edge e, where e = f f’ ≤ min {f, f’}
A weight of implies A path cannot cross that face or edge
Note that all optimal paths must be piecewise linear!!Short cut
Geometric Routing June 8 2006
58
WRP - Local Optimality … Snell’s law Light seeks the path of minimum time Light obeys Snell’s law Index of refraction for a region
speed of traveling through that region Shortest paths in WRP must also obey
Snell’s law Lemma 3.2 [2]:
- Let e = min {f, f’}, f, f’< ∞- Optimal path passing through edge e implies path obeys Snell’s law at edge e
Geometric Routing June 8 2006
59
t ( x1,y1)
e
f (f)
f′(f′)
s(,-y)
c(x,)
θ
θ′
f≥f′>
WRP - Local optimality
If path passes through edge e, Cost function from s to t
F(x) = f x2 + y2 + f ' (x −x)2 + y
2
F '(x) =
f
x
x2 + y2= f '
(x −x)
(x −x)2 + y2⇒
f sinθ = f 'sinθ '
Geometric Routing June 8 2006
60
t ( x1,y1)
e
f (f)
f′(f′)
s(,-y)
θc(f,e)
θc(f′,e)
f≥f′>
x x′
WRP - Local optimality If path uses the edge
eF(x, x ') = f x2 + y
2 +e(x'−x) + f ' (x −x')2 + y2
subjectto x≤x'
F '(x,x') =
f
x
x2 + y2=e = f '
(x −x')
(x −x')2 + y2⇒
f sinθ =e = f 'sinθ '
θc( f ,e) =sin−e f
and θc( f ',e) =sin−e f '
Geometric Routing June 8 2006
61
Local Optimality Criterion of path p
a) If p passes through e p obeys Snell’s law
b) If p shares a segment on e p enter and exit e at a critical angle.
DefinitionRoot: Marching back from some point x
along p, root r is the first vertex or critical point of entry on an edgey2 y3 y2 is the root of x
x
Geometric Routing June 8 2006
62
Local Optimality Criterion of path p
(1) Between two consecutive vertices v, v’ on path p there is at most one critical point of entry to an edge and at most one critical point of exit OR
(2) Path p can be modified such that (1) holds without altering the length of the path
Therefore following cannot happen
Geometric Routing June 8 2006
63
Locally f-free path pIf p connecting s to x interior(f f’) does
not go through face f then we say p is locally f-free path - pf(x)
A locally optimal path from s to x = min{pf(x), pf’(x)}
s
xf´
f
Locally f ´- free path
Locally f- free path
Geometric Routing June 8 2006
64
Intervals of a locally f-free path p on e
p with root r to some point y on an edge e may cross set of edges (edge sequence) as shown
y
r
edge sequence
e1
ek
e
.
.
.
Frontier point zz y’ f
f’
Lemma 4.3 [2]
a) p to (y, y’) from root r does not intersect
b) z (y, y’) |rz| < |rx| where x (y,y’) ^ x z
Geometric Routing June 8 2006
65
Intervals of optimality [y,y’] forms an interval of optimality for a root r Such intervals form a covering of e and have mutually
disjoint interiors
y
r
e1
ek
e
.
.
.
y’ ff’
r’
x x’
Root r is either a vertex or a critical point of entry
Geometric Routing June 8 2006
66
Algorithm Triangulate planar subdivision Add s and t (source and destination) as
vertices Simulate propagation of wave-front of
light starting from s by applying Snell’s law whenever we cross the boundary
Keep track of location of wave-front where it hits the edges -> Intervals of optimality
Events are intervals of optimality Events are stored in a priority queue
sorted by distance from s Number of events is bounded within O(n4)
Geometric Routing June 8 2006
67
Algorithm complexity Number of intervals is bounded
within O(n4) When two intervals overlap, “find tie
point” Complexity of “find tie point” is
O(k2 log nNW/)k = # of events = O(n4)n = # of verticesN = largest integer coordinate of any vertexW = Largest weight of any face or edge = Error bound specified in the input
Complexity of the algorithm is O(n8) A O(n3) algorithm using path-net exists
Geometric Routing June 8 2006
68
0/1/ -WRP Weights restricted to 0/1/ Without 0-regions, visibility graph
can be constructed in O(n log n + K)K = # of edges in visibility graph
Run Dijkstra’s algorithm on visibility graph
Previous algorithm solves this special case, but restriction on weight allows a better algorithm
Geometric Routing June 8 2006
69
0/1/ - Least risk paths Find a least risk path in a polygon
with k threats- risk distance in the view of threat- threats have unlimited range of line of sight
Treat exterior boundary as -regionTreat line of sight as 1-regionThose not visible to any threat as 0-region
Geometric Routing June 8 2006
70
0/1/ -WRP Observations A segment is locally optimal path if its interior
is free from obstacles and 0-regions Shortest path from v to a region R not
containing v is a segment vw from v to a point w
if w is a vertex of R edges incident on w lies inside half-plane H, a line through w perpendicular to vw
if w is on an edge such that vw is perpendicular to that edge
v wR
vw
H
R
Geometric Routing June 8 2006
71
Optimal paths
Various local optimal segment characteristics
Grey - Obstacles; light - 0-regions
0-entrance points
Geometric Routing June 8 2006
72
Critical graph From the observation we made,
construct a critical graph G’(V’,E’) from input G(V, E) as follows1. V’ = V {s, t}2. E’ = E {locally optimal segments with vertices as endpoints} {locally optimal segments with 0-entrance points, store one of end points of the edge}
Geometric Routing June 8 2006
73
Critical graph Example New edges added are (pq) and (rs)
with weights |pq| and |rx|. It is easy to add x as node, but this
increases the node complexity and hence increase the running time of the algorithm q
p
r
s
x
Geometric Routing June 8 2006
74
Query Critical graph Number of edges in critical graph is
O(n2) since we add edges but not vertices
Complexity of finding a shortest path in 0/1/∞ WRP reduces to- Construct the critical graph G´ - Run Dijkstra’s algorithm on G´ with O(n log n + K), where K is number of edges
Therefore complexity is O(n2) since K is bounded by O(n2)
Geometric Routing June 8 2006
75
General WRP-improved algorithm
WRP algorithm of complexity O(n8) is not practical
A new algorithm is based on constructing a relatively sparse graph “path-net”
Path-net guarantees an -optimal path between two query points
User defined parameter k controls the density of the graph
Varying k, we can get close to optimal
Geometric Routing June 8 2006
76
Path-net Algorithm O(n3) Construct “path-net” G’=(V’, E’) from a
given input G=(V, E), k is user defined integer
Construct k evenly-spaced cones around each vertex of V : Maximum number of cones is kn
For each vertex v, find a possible sub-path from v either to another vertex u or to a critical point of entry on some edge of subdivision.
There is at most one sub-path per cone Example: k = 5
v
360/5 = 72o
Geometric Routing June 8 2006
77
Topological Fork The edge sequence of one ray first starts
to differ from the edge sequence of the other
Locally optimal sub-path from v goes through boundaries of the cone and traverse egdes, obeying Snell’s law
Stop when the two refraction rays first encounter a “topological fork”
u
v
topological fork of two rays
pq
e1
e2
e3
e4
e5
Geometric Routing June 8 2006
78
Trace a critical refraction path from u to v through the cone.
A unique locally optimal path from v to u will stay inside the refraction cone that is split by u
Topological Fork… Topological fork must be one of the
following types1. Two rays split at a vertex2. Both rays incident on the same edge and any one incident angle > critical angle3. Both rays encounter outer boundary
u
v
critical entry
u
v
θc
θa
θb
Geometric Routing June 8 2006
79
Path-net Edges Find optimal sub-paths, path-net edges Calculate the weight of path-net edges Add path-net edges and vertices into
path-net graph, G’(V’, E’) Run Dijkstra’s algorithm on path-net
u
v
u
v
critical entry
θc
Geometric Routing June 8 2006
80
Path-net complexity Path-net has O(kn) nodes, since each
cone can create at most one link Propagation of two rays of a cone takes O(n2) for all vertices
- Locally optimal path can cross each edge
at most n times (Lemma 7.1 in [2])- An edge sequence has O(n2) crossed edges
Overall complexity is O(kn3) to build a data structure with size O(kn)
Geometric Routing June 8 2006
81
Path-net complexity… What if s or t changes? Connect new s, t to existing path-
net using similar techniques used for construction of path-net and run path-net algorithm
Geometric Routing June 8 2006
82
Path-net Implementation Part of WRP-Solve: Compare various
approaches to route planning ModSAF : Military simulation system [3] compares the result of Path-net
algorithm to 1. Grid based algorithm 2. Edge subdivision algorithm
in both real and simulated data set
Geometric Routing June 8 2006
83
Transform weighted planar graph to uniform rectangular grid
Assign a suitable weight to each grid cell Weight in a cell = cost/unit distance traveled in that cell Make a graph with nodes and edges - nodes : raster cells - edges : the possible paths between the nodes Find the optimal path by running Dijkstra’s algorithm
Raster-based algorithms
8 connected 16 connected 32 connected
Geometric Routing June 8 2006
84
Raster-based algorithms… Advantages- Simple to
implement- Well suited for
grid input data- Easy to add
other cost criteria
Drawbacks- Errors in distance
estimate, since we measure grid distance instead of Euclidean distance
- Error factor : 4-connectivity:√2 8-connectivity:
(√2+1)/5
Geometric Routing June 8 2006
85
n-connected Raster Standard 4-connected raster : A number of geometric distortions
exists - To reduce the distortions, increase connectivity More-connected raster : 8-
connected, 16-connected, 32-, 64, and 128-connected
- Computation of the cost of an edge is
complicated
Geometric Routing June 8 2006
86
n-connected Raster Table shows connectivity to
distortion errorConnectivi
tyMaximum Elongatio
n
Maximum Deviation
4 1.41421 0.50000
8 1.08239 0.20710
16 1.02749 0.11803
32 1.01308 0.08114
64 1.00755 0.06155
128 1.00489 0.04951
Geometric Routing June 8 2006
87
Extended Raster-based algorithms
Define nodes at the sides of the raster cells Allowed directions increases as # of nodes increases
Geometric Routing June 8 2006
88
Extended Raster-based algorithms… Solves the problem of
intersecting paths and possibly expensive angles
Drawback : Search graph is dense when intermediate nodes increases
Geometric Routing June 8 2006
89
Quadtree Based Raster algorithms
The uniform areas are grouped together
Smaller # of nodes and edges in the graph
Efficient memory and algorithms Drawback : Non-optimal paths
possible
Geometric Routing June 8 2006
90
Vector vs. Raster comparisons.
Geometric Routing June 8 2006
91
Vector vs. Raster comparisons
Top Related