# 1 University of Denver Department of Mathematics Department of Computer Science.

## Presentation on theme: "1 University of Denver Department of Mathematics Department of Computer Science."— Presentation transcript:

1 University of Denver Department of Mathematics Department of Computer Science

Geometric Routing June 8 20062 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 20063 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 20064 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 20065 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 20066 Other Variation Cover all Blues with unit disks centered at blue points !! Using Minimum Number of disks 1

Geometric Routing June 8 20067 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 20068 Previous work Problem has a constant factor approximation algorithm Shown By Hervé Brönnimann, Michael T. Goodrich (1994) “Almost optimal set covers in finite VC-dimension”

Geometric Routing June 8 20069 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 200610 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 200611 The Method to cover triangle 1

Geometric Routing June 8 200612 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 200613 Covering a triangle Method A C B T’ 1 T’ 2 T’ 3

Geometric Routing June 8 200614 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 200615 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 200616 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 200617 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 200618 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 200619 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 200620 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 200621 Split the tile into two regions Using any cut v0v0 v1v1 v2v2 v3v3 v4v4 n = 2m +1 n = 5; m = 2

Geometric Routing June 8 200622 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

Geometric Routing June 8 200623 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 200624 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 200625 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 200626 Covering Instead of tiling the plane, how about covering the plane

Geometric Routing June 8 200627 Conclusion of MDC Conjecture: A unit disk will intersect at least 12 tiles of any covering of R 2 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 200628 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 200629 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 200630 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 log 2 n) and O(n log n), respectively Algorithm is based on property P

Geometric Routing June 8 200631 Desired Property P Again 1.No two discs intersect more than once along their border inside a region Q 2.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 200632 Property P Property P applies if the region is outside of disk radius Unit disk Q

Geometric Routing June 8 200633 Bell and Cover of x Remove points inside the Bell- Bell Elimination Algorithm (BEA)

Geometric Routing June 8 200634 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

Geometric Routing June 8 200635 Result of Running BEA Graph

Geometric Routing June 8 200636 Distance of one-hop neighbors Extra region

Geometric Routing June 8 200637 Approximation factor

Geometric Routing June 8 200638 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 200639 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 200640 Degree of at most 2 If G is realizable then sub-graph G’ is realizable one-hop region

Geometric Routing June 8 200641 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 200642 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

Geometric Routing June 8 200643 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 edges 2 9 5 4 3 ∞ ∞

Geometric Routing June 8 200644 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 200645 Preliminaries A graph (network) consists of nodes and edges represented as G(V, E, W) a b c d e e 1 (1) e 3 (5) e 4 (2) e 2 (2) e 6 (2) e 5 (2)

Geometric Routing June 8 200646 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 200647 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 200648 Dijkstra’s Example(1)    s uv yx 10 5 1 23 9 46 7 2    s uv yx 10 5 1 23 9 46 7 2 Dijkstra(G,s) 01 for each vertex v  V[G] 02 d [v] =  03 v. Parent = UNKNOWN 04 d[s] = 0 05 S  06 Q  V[G] 07 while Q ≠ Ø 08 u  extractMin(Q) 09 S  S  {u} 10 for each v  adjacent(u) do 11 Relax(u, v, G)

Geometric Routing June 8 200649 Dijkstra’s Example (2) uv    s yx 10 5 1 23 9 46 7 2    s uv yx 10 5 1 23 9 46 7 2 Dijkstra(G,s) 01 for each vertex v  V[G] 02 d [v] =  03 v. Parent = UNKNOWN 04 d[s] = 0 05 S  06 Q  V[G] 07 while Q ≠ Ø 08 u  extractMin(Q) 09 S  S  {u} 10 for each v  adjacent(u) do 11 Relax(u, v, G)

Geometric Routing June 8 200650 Dijkstra’s Example (3)    uv yx 10 5 1 23 9 46 7 2    uv yx 5 1 23 9 46 7 2 Dijkstra(G,s) 01 for each vertex v  V[G] 02 d [v] =  03 v. Parent = UNKNOWN 04 d[s] = 0 05 S  06 Q  V[G] 07 while Q ≠ Ø 08 u  extractMin(Q) 09 S  S  {u} 10 for each v  adjacent(u) do 11 Relax(u, v, G)

Geometric Routing June 8 200651 Dijkstra’s Correctness We will prove that whenever u is added to S, u.d() =  (s,u), i.e., that d is minimum, and that equality is maintained thereafter Proof (by contradiction) Note that  v, v.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()   (s,u) We will show that this assumption leads to a contradiction

Geometric Routing June 8 200652 Dijkstra’s Running Time Extract-Min executed |V| time Decrease-Key executed |E| time Time = |V| T Extract-Min + |E| T Decrease-Key T depends on different Q implementations QT(Extract- Min) T(Decrease- Key) Total array (V)(V)  (1)  (V 2 ) binary search tree  (log V)  (E log V) Fibonacci heap  (log V)  (1) (amort.)  (V logV + E)

Geometric Routing June 8 200653 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 200654 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 200655 WRP - Algorithms VECTOR BASED The WRP: Finding shortest path… O(n 8 L) [2] Path planning 0/1/  WRP…[1] A new algorithm for computing shortest path in WRP O(n 3 ) [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 200656 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 200657 WRP - 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

Geometric Routing June 8 200658 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 200659 WRP - Local optimality If path passes through edge e, Cost function from s to t

Geometric Routing June 8 200660 WRP - Local optimality If path uses the edge e

Geometric Routing June 8 200661 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. Definition Root: Marching back from some point x along p, root r is the first vertex or critical point of entry on an edge y2y2 y3y3 y 2 is the root of x x

Geometric Routing June 8 200662 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 200663 Locally 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 - p f (x) A locally optimal path from s to x = min{p f (x), p f’ (x)} s x f´ f Locally f ´- free path Locally f- free path

Geometric Routing June 8 200664 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  e1e1 ekek e...... Frontier point z z 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 200665 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 e1e1 ekek e...... y’f f’ r’ x x’ Root r is either a vertex or a critical point of entry

Geometric Routing June 8 200666 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(n 4 )

Geometric Routing June 8 200667 Algorithm complexity Number of intervals is bounded within O(n 4 ) When two intervals overlap, “find tie point” Complexity of “find tie point” is O(k 2 log nNW/  ) k = # of events = O(n 4 ) n = # of vertices N = largest integer coordinate of any vertex W = Largest weight of any face or edge  = Error bound specified in the input Complexity of the algorithm is O(n 8 ) A O(n 3 ) algorithm using path-net exists

Geometric Routing June 8 200668 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 200669 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  -region Treat line of sight as 1-region Those not visible to any threat as 0- region

Geometric Routing June 8 200670 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 w R v w H R

Geometric Routing June 8 200671 Optimal paths Various local optimal segment characteristics Grey - Obstacles; light - 0-regions 0-entrance points

Geometric Routing June 8 200672 Critical graph From the observation we made, construct a critical graph G’(V’,E’) from input G(V, E) as follows 1. 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 200673 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 200674 Query Critical graph Number of edges in critical graph is O(n 2 ) 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(n 2 ) since K is bounded by O(n 2 )

Geometric Routing June 8 200675 General WRP-improved algorithm WRP algorithm of complexity O(n 8 ) 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 200676 Path-net Algorithm O(n 3 ) 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 = 72 o

Geometric Routing June 8 200677 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 p q e1e1 e2e2 e3e3 e4e4 e5e5

Geometric Routing June 8 200678 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 types 1. Two rays split at a vertex 2. Both rays incident on the same edge and any one incident angle > critical angle 3. Both rays encounter outer boundary u v critical entry u v cc aa bb

Geometric Routing June 8 200679 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c

Geometric Routing June 8 200680 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(n 2 ) for all vertices - Locally optimal path can cross each edge at most n times (Lemma 7.1 in [2]) - An edge sequence has O(n 2 ) crossed edges Overall complexity is O(kn 3 ) to build a data structure with size O(kn)

Geometric Routing June 8 200681 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 200682 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 200683 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 200684 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 200685 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 200686 n-connected Raster Table shows connectivity to distortion error Connectivit y Maximum Elongation  Maximum Deviation  41.414210.50000 81.082390.20710 161.027490.11803 321.013080.08114 641.007550.06155 1281.004890.04951

Geometric Routing June 8 200687 Extended Raster-based algorithms Define nodes at the sides of the raster cells Allowed directions increases as # of nodes increases

Geometric Routing June 8 200688 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 200689 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 200690 Vector vs. Raster comparisons.

Geometric Routing June 8 200691 Vector vs. Raster comparisons

Download ppt "1 University of Denver Department of Mathematics Department of Computer Science."

Similar presentations