Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1

2 1 University of Denver Department of Mathematics Department of Computer Science

3 Geometric Routing June 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

4 Geometric Routing June 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

5 Geometric Routing June 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?

6 Geometric Routing June Minimum Disk Covering Problem (MDC) Cover Blue points with unit disks centered at Red points !! Use Minimum red disks!! 1

7 Geometric Routing June Other Variation Cover all Blues with unit disks centered at blue points !! Using Minimum Number of disks 1

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

9 Geometric Routing June 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”

10 Geometric Routing June 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

11 Geometric Routing June 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

12 Geometric Routing June The Method to cover triangle 1

13 Geometric Routing June 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 ∆

14 Geometric Routing June Covering a triangle Method A C B T’ 1 T’ 2 T’ 3

15 Geometric Routing June 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 ∆

16 Geometric Routing June Desired Property P No two discs intersect more than once inside a triangle No Two discs are tangent inside the triangle

17 Geometric Routing June 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

18 Geometric Routing June Result 108-approximation Covered each triangle with approximation factor of 6 Optimal cover can intersect at most 18 triangles Hence, 6 *18 = approximation

19 Geometric Routing June 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?

20 Geometric Routing June 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

21 Geometric Routing June Split the tile into two regions? NO! We obtain two intersection inside the tile (Violates Property P ) T’ 1 T’ 2

22 Geometric Routing June Split the tile into two regions Using any cut v0v0 v1v1 v2v2 v3v3 v4v4 n = 2m +1 n = 5; m = 2

23 Geometric Routing June 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

24 Geometric Routing June 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

25 Geometric Routing June 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?

26 Geometric Routing June 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

27 Geometric Routing June Covering Instead of tiling the plane, how about covering the plane

28 Geometric Routing June 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

29 Geometric Routing June 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?

30 Geometric Routing June 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

31 Geometric Routing June 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

32 Geometric Routing June 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

33 Geometric Routing June Property P Property P applies if the region is outside of disk radius Unit disk Q

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

35 Geometric Routing June 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

36 Geometric Routing June Result of Running BEA Graph

37 Geometric Routing June Distance of one-hop neighbors Extra region

38 Geometric Routing June Approximation factor

39 Geometric Routing June 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?

40 Geometric Routing June 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

41 Geometric Routing June Degree of at most 2 If G is realizable then sub-graph G’ is realizable one-hop region

42 Geometric Routing June 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?

43 Geometric Routing June 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

44 Geometric Routing June 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 ∞ ∞

45 Geometric Routing June 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

46 Geometric Routing June 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)

47 Geometric Routing June 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

48 Geometric Routing June 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

49 Geometric Routing June Dijkstra’s Example(1)    s uv yx    s uv yx 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)

50 Geometric Routing June Dijkstra’s Example (2) uv    s yx    s uv yx 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)

51 Geometric Routing June Dijkstra’s Example (3)    uv yx    uv yx 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)

52 Geometric Routing June 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

53 Geometric Routing June 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)

54 Geometric Routing June 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

55 Geometric Routing June 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)

56 Geometric Routing June 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]

57 Geometric Routing June 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

58 Geometric Routing June 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

59 Geometric Routing June 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

60 Geometric Routing June WRP - Local optimality If path passes through edge e, Cost function from s to t

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

62 Geometric Routing June 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

63 Geometric Routing June 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

64 Geometric Routing June 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

65 Geometric Routing June 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

66 Geometric Routing June 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

67 Geometric Routing June 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 )

68 Geometric Routing June 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

69 Geometric Routing June /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

70 Geometric Routing June /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

71 Geometric Routing June /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

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

73 Geometric Routing June 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}

74 Geometric Routing June 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

75 Geometric Routing June 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 )

76 Geometric Routing June 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

77 Geometric Routing June 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

78 Geometric Routing June 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

79 Geometric Routing June 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

80 Geometric Routing June 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

81 Geometric Routing June 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)

82 Geometric Routing June 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

83 Geometric Routing June 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

84 Geometric Routing June 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

85 Geometric Routing June 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

86 Geometric Routing June 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

87 Geometric Routing June n-connected Raster Table shows connectivity to distortion error Connectivit y Maximum Elongation  Maximum Deviation 

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

89 Geometric Routing June Extended Raster-based algorithms … Solves the problem of intersecting paths and possibly expensive angles Drawback : Search graph is dense when intermediate nodes increases

90 Geometric Routing June 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

91 Geometric Routing June Vector vs. Raster comparisons.

92 Geometric Routing June Vector vs. Raster comparisons


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

Similar presentations


Ads by Google