Document Sample

Voronoi Graph • Voronoi region Vor(p) (p in set S) – the set of points on the plane that are closer to p than to any other point in S • Voronoi Graph VOR(S) – dual to Voronoi region graph – two points are adjacent if their Voronoi regions have common contiguous boundary (segment) Voronoi Graph • Voronoi Graph in the rectilinear plane • Rectilinear distance: p = (x, y); p’=(x’,y’) ab Voronoi region of b b a bc c ac Voronoi Graph Fact: In any cycle the longest edge does not belong to MST. Proof: if it is the longest edge in a cycle, it would be the longest edge in MST. Claim 1: Voronoi graph contains minimum spanning tree. Claim 2: For any x,y S if (x,y) Vor (S), then x,y MST(S) Proof: x,y-path P in Vor(S) s.t. eP |e| < |xy| Voronoi Graph Proof: (at least 2 edges in Voronoi groph w y will intersect the “red edge”) a p pw < yp+pw x b (pw<px, p closer to w than to x a<b -in Voronoi region on w) < yp+px = xy Voronoi Graph Proof in general case: x2 p3 y p2 p1 x x1 Let xy intersect Voronoi diagram in points p1,p2,.... pipi+1 will be in a same Voronoi region (of some point) pi pi+1 Vor(xi) Construct x x1 x2 ... xi-1 y any edge on this path is shorter than xy |xi xi+1| < |pi y| Voronoi Graph Theorem: For n points in the plane MST can be found in O(n log n) Claim: Finding Voronoi graph for n points is at least as difficult as sorting n numbers. Proof: if the points are on the same line: x1 x2 x3 xn it is equivalent to sorting n numbers by Master Theorem (for “divide and conquer”): T(n)=2T(n/2)+O(n) for merging O(n log n) Mehlhorn (‘88) O( E+ V log V) 2-approximation of Steiner trees G=(V,E,w) S V terminals find T G, T S, w(T) min. 2-approx. algorithm: 1) Find all shortest paths between any pair of points: Find GS=(S,E’,w’) , GS is a complete graph w(s,s’)=w(e)=weight of the shortest path between s and s’ in G 2) Find MST of this graph, replace any edge with paths in G TS=MST(GS) 3) T’= pathG(e) (this may not be a tree), last step: eTS 4) T=MST(T’) Running time of this algorithm: S (V log V+E) (all shortest path) (bottle neck) S2+S log S=O(S2) (to find T) Definition of Voronoi graph in graphs (not in the plane) - we’ll be able to get O(V log V+E) 1 1.3 Voronoi regions 2 1.5 0.5 1 shortest path conn.these 1 2 points terminals S v Voronoi region of v Vor(v) weight = shortest path weight in G between 2 terminals - all the weights we find we’ll be in the shortest path Definition of Voronoi graph in graphs For any vVor(s) (s S) we need to know: (s,v) = (v) ( ) - shortest path between s1,s2: for each eE, e=(a,b) v r(v) (terminals closest to v) if r(a) r(b) (they do not belong to same region) w’(a,b) = (a) + w(a,b) + (v) if (a) + w(a,b) + (v) < (r(a),r(b)) then (r(a),r(b)) =w’(a,b) as result we’ll find all the edges of Vor. Graph Problem: find ( ) how to find for any node distance to its root? Find (v) for any v! How to find (v) for any v r(v) (auxiliary node) v A terminals other nodes - run Dijkstra (find shortest path to any node) - any shortest path should go through 1 terminal (if it goes through some terminal, it belongs to that region) (v) = (A,v)= (r(v),v) O(E+V log V)

DOCUMENT INFO

Shared By:

Categories:

Tags:

Stats:

views: | 1 |

posted: | 10/9/2012 |

language: | simple |

pages: | 10 |

OTHER DOCS BY yurtgc548

How are you planning on using Docstoc?
BUSINESS
PERSONAL

By registering with docstoc.com you agree to our
privacy policy and
terms of service, and to receive content and offer notifications.

Docstoc is the premier online destination to start and grow small businesses. It hosts the best quality and widest selection of professional documents (over 20 million) and resources including expert videos, articles and productivity tools to make every small business better.

Search or Browse for any specific document or resource you need for your business. Or explore our curated resources for Starting a Business, Growing a Business or for Professional Development.

Feel free to Contact Us with any questions you might have.