Title: University of Denver
1- University of Denver
- Department of Mathematics
- Department of Computer Science
2Routing 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
3AGENDA
- Topics
- Minimum Disk covering Problem (MDC)
- Minimum Forwarding Set Problem (MFS)
- Two-Hop realizability (THP)
- Exact solution to Weighted Region Problem (WRP)
- Raster and vector based solutions to WRP
- Conclusion
- Questions
4- Topics
- Minimum Disk covering Problem (MDC)
- Minimum Forwarding Set Problem (MFS)
- Two-Hop realizability (THP)
- Exact solution to Weighted Region Problem (WRP)
- Raster and vector based solutions to WRP
- Conclusion
- Questions?
51 - Minimum Disk Covering Problem (MDC)
Cover Blue points with unit disks centered at
Red points !! Use Minimum red disks!!
6Other Variation
Cover all Blues with unit disks centered at blue
points !! Using Minimum Number of disks
7Complexity
- MDC is known to be NP-complete
- Reference Unit Disk GraphsDiscrete
Mathematics 86 (1990) 165177, B.N. Clark, C.J.
Colbourn and D.S. Johnson.
8Previous work
- Problem has a constant factor approximation
algorithm - Shown ByHervé Brönnimann, Michael T.
Goodrich(1994) Almost optimal set covers in
finite VC-dimension
9Previous 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
10The 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
11The Method to cover triangle
12Covering 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 ?
13Covering a triangle Method
14Covering a triangle
- Using Skyline of disks
- cover each of the 3 sides with 2-approximation
- combine the result to get
- 6-approximation for each ?
15Desired Property P
- No two discs intersect more than once inside a
triangle - No Two discs are tangent inside the triangle
16Unit 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
17Result 108-approximation
- Covered each triangle with approximation factor
of 6 - Optimal cover can intersect at most 18 triangles
- Hence, 6 18 108 - approximation
18Improvements
- 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?
19Can 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
20Split the tile into two regions?
- NO!
- We obtain two intersection inside the tile
(Violates Property P)
T1
T2
21Split the tile into two regions Using any cut
v0
n 2m 1 n 5 m 2
v1
v4
v3
v2
22Different 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
23Different 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
24Our 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?
25Hexagon- 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
T1
T3
T2
26Covering
- Instead of tiling the plane, how about covering
the plane
27Conclusion 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
28- Topics
- Minimum Disk covering Problem (MDC)
- Minimum Forwarding Set Problem (MFS)
- Two-Hop realizability (THP)
- Exact solution to Weighted Region Problem (WRP)
- Raster and vector based solutions to WRP
- Conclusion
- Questions?
292 - Minimum Forwarding Set Problem (MFS)
x
s
Cover blue points with unit disks centered at
red points, now all red points are inside a unit
disk
30Previous 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
31Desired Property P Again
- No two discs intersect more than once along their
border inside a region Q - No Two discs are tangent inside the a region Q
- A disk intersect exactly twice along their border
with Q
1
3
32Property P
- Property P applies if the region is outside of
disk radius
Unit disk
Q
33Bell and Cover of x
- Remove points inside the Bell- Bell Elimination
Algorithm (BEA)
34Result
- Assume points to be uniformly distributed
- Bell elimination eliminates all the points inside
the disk of radius - Need about 75 points
- Therefore exact solution
35Result of Running BEA
36Distance of one-hop neighbors
37Approximation factor
38- Topics
- Minimum Disk covering Problem (MDC)
- Minimum Forwarding Set Problem (MFS)
- Two-Hop realizability (THP)
- Exact solution to Weighted Region Problem (WRP)
- Raster and vector based solutions to WRP
- Conclusion
- Questions?
393-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
40Degree of at most 2
- If G is realizable then sub-graph G is
realizable
one-hop region
41- Topics
- Minimum Disk covering Problem (MDC)
- Minimum Forwarding Set Problem (MFS)
- Two-Hop realizability (THP)
- Exact solution to Weighted Region Problem (WRP)
- Raster and vector based solutions to WRP
- Conclusion
- Questions?
424 - 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
43Weighted 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 edges
44WRP - 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
45Preliminaries
- A graph (network) consists of nodes and edges
represented as G(V, E, W)
e3(5)
b
a
e4(2)
e6(2)
e1(1)
e
e5(2)
d
c
e2(2)
46General 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
47Dijkstra'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
48Dijkstras Example(1)
Dijkstra(G,s) 01 for each vertex v Î VG 02 d
v 03 v. Parent UNKNOWN 04 ds 0 05
S Æ 06 Q VG 07 while Q ? Ø 08 u
extractMin(Q) 09 S S È u 10 for each v
Î adjacent(u) do 11 Relax(u, v, G)
49Dijkstras Example (2)
Dijkstra(G,s) 01 for each vertex v Î VG 02 d
v 03 v. Parent UNKNOWN 04 ds 0 05
S Æ 06 Q VG 07 while Q ? Ø 08 u
extractMin(Q) 09 S S È u 10 for each v
Î adjacent(u) do 11 Relax(u, v, G)
50Dijkstras Example (3)
u
v
1
8
9
Dijkstra(G,s) 01 for each vertex v Î VG 02 d
v 03 v. Parent UNKNOWN 04 ds 0 05
S Æ 06 Q VG 07 while Q ? Ø 08 u
extractMin(Q) 09 S S È u 10 for each v
Î adjacent(u) do 11 Relax(u, v, G)
10
9
2
3
0
4
6
7
5
5
7
2
y
x
51Dijkstras Correctness
- We will prove that whenever u is added to S,
u.d() d(s,u), i.e., that d is minimum, and that
equality is maintained thereafter - Proof (by contradiction)
- Note that "v, v.d() ³ d(s,v)
- Let u be the first vertex picked such that there
is a shorter path than u.d(), i.e., that Þ u.d()
gt d(s,u) - We will show that this assumption leads to a
contradiction
52Dijkstras 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 O(V) O(1) O(V 2)
binary search tree O(log V) O(log V) O(E log V)
Fibonacci heap O(log V) O(1) (amort.) O(V logV E)
53Planar Graphs
- A Planar graph is a graph that can be drawn in
the plane such that edges do not intersect
b
a
e
d
c
Yes!!
Is this Planar?
Examples Voronoi diagram and Delaunay
triangulation
54Planar 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 - Dijkstras algorithm complexity for planar graph
is O(n log n)
55WRP - Algorithms
- VECTOR BASED
- The WRP Finding shortest path O(n8L) 2
- Path planning 0/1/? WRP1
- 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
56WRP - 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
57WRP - General case
- Notations
- ?f 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
58WRP - Local Optimality
- Snells law
- Light seeks the path of minimum time
- Light obeys Snells law
- Index of refraction for a region ? speed of
traveling through that region - Shortest paths in WRP must also obey Snells law
- Lemma 3.2 2 - Let ?e min ?f, ?f, ?f,
?flt 8- Optimal path passing through edge e
implies path obeys Snells law at edge e
59WRP - Local optimality
- If path passes through edge e, Cost function from
s to t
60WRP - Local optimality
61Local Optimality Criterion of path p
- If p passes through e ? p obeys Snells law
- If p shares a segment on e ? p enter and exit e
at a critical angle. - Definition
- Root Marching back from some point x along p,
root r is the first vertex or critical point of
entry on an edge
y2
y3
y2 is the root of x
x
62Local 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
63Locally f-free path p
- If 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 minpf(x),
pf(x) -
f
Locally f - free path
x
f
Locally f- free path
s
64Intervals 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
f
y
e
f
edge sequence ?
ek
. . .
- Lemma 4.3 2
- p to (y, y) from root r does not intersect
- ?z ?(y, y) ? rz lt rx where x ?(y,y) x ? z
e1
r
65Intervals 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
f
y
e
f
ek
. . .
e1
r
Root r is either a vertex or a critical point of
entry
66Algorithm
- Triangulate planar subdivision
- Add s and t (source and destination) as vertices
- Simulate propagation of wave-front of light
starting from s by applying Snells law whenever
we cross the boundary - Keep track of location of wave-front where it
hits the edges -gt 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)
67Algorithm 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
680/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 Dijkstras algorithm on visibility graph
- Previous algorithm solves this special case, but
restriction on weight allows a better algorithm
690/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 - ?
700/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
71Optimal paths
Various local optimal segment characteristics Gre
y - Obstacles light - 0-regions
0-entrance points
72Critical graph
- From the observation we made, construct a
critical graph G(V,E) from input G(V, E) as
follows1. V V ? s, t2. E E ?
locally optimal segments with vertices as
endpoints ?locally optimal segments with
0-entrance points, store one of end points of the
edge
73Critical 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
74Query 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/8
WRP reduces to- Construct the critical graph G
- Run Dijkstras 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)
75General 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
76Path-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
77Topological 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 Snells law - Stop when the two refraction rays first encounter
a topological fork
p
q
topological fork of two rays
e4
e5
e3
e1
e2
78Topological 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 gt critical angle3. Both rays
encounter outer boundary
A unique locally optimal path from v to u will
stay inside the refraction cone that is split by u
?a
?c
?b
Trace a critical refraction path from u to v
through the cone.
79Path-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 Dijkstras algorithm on path-net
80Path-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)
81Path-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
82Path-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
83Raster-based algorithms
- 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 Dijkstras
algorithm
8 connected
32 connected
16 connected
84Raster-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-connectivityv2
- 8-connectivity(v21)/5
85n-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
86n-connected Raster
- Table shows connectivity to distortion error
Connectivity Maximum Elongation ? 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
87Extended Raster-based algorithms
- Define nodes at the sides of the raster cells
- Allowed directions increases as of nodes
- increases
88Extended Raster-based algorithms
- Solves the problem of intersecting paths and
possibly expensive angles - Drawback Search graph is dense when
intermediate nodes increases
89Quadtree 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
90Vector vs. Raster comparisons
91Vector vs. Raster comparisons