1 University of Denver Department of Mathematics Department of Computer Science

Preview:

Citation preview

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

Recommended