introduction outline the problem domain network design spanning trees steiner trees triangulation...

Click here to load reader

Post on 22-Dec-2015

213 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Slide 1
  • Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm
  • Slide 2
  • Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm
  • Slide 3
  • The Problem Domain General network design problem: Given a set S of n points in R d, how to construct a good network that connects these points ?
  • Slide 4
  • Property 1: Any network connecting a set of n points must have at least n-1 edges. Sparse network the number of edges is linear to the number of points. (i.e. O(n) edges)
  • Slide 5
  • Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm
  • Slide 6
  • Network Design Size Network quality measures: Stretch factor Weight Degree Diameter Connectivity - Fault Tolerance
  • Slide 7
  • Network quality measures (cont.) Load Factor Number of Steiner points e (To be covered) Bottle Neck
  • Slide 8
  • Motivation by examples Scandinavian rail network (prior 2000) Copenhagen Malmo
  • Slide 9
  • Motivation by examples Stretch Factor Imagine set of highways connecting cities. We need to upgrade the highway system in the cost-effective manner. Should we upgrade ALL existing highways ? Upgrade only carefully selected subset of existing highways !
  • Slide 10
  • Significance of Network Analysis What is the size, weight, stretch factor, diameter, degree or connectivity of the network ? Queries examples: What is the farthest pair of cites in the network ? For which pair of the cites the stretch factor is the largest ? Which edge (or K edges) should be added to the network to achieve the greatest decrease in the stretch factor and/or load factor ? What is the total length of the edges to be added to the network to achieve a desired fault-tolerance and stretch factor without destroying the planarity ?
  • Slide 11
  • Network Design Tradeoffs Bounded degree vs. the small diameter Small stretch factor vs. the small size/weight Thus, network quality measures can be thought of as multicriteria optimization problems
  • Slide 12
  • Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm
  • Slide 13
  • Spanning Trees Spanning Tree: given set S of n points, ST(S) is an acyclic connected graph on these points. Spanning tree is good in sense that it has minimum number of edges Sylvester(1857),Cayley(1889) formula: A set of n points has exactly n n-2 spanning trees
  • Slide 14
  • Spanning Trees Let T be a spanning tree of the set S. Weight t (T) is defined to be the sum of the length of its edges length of an edge {p,q} is the Euclidian distance |pq| between p and q Minimum Spanning Tree - MST(S) of set S is a spanning tree of minimum weight.
  • Slide 15
  • MST Properties A MST(S) is a shortest network connecting the points of S In MST(S), each point has degree at most 6. Let S be a set of n points in the plane, then:
  • Slide 16
  • Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm
  • Slide 17
  • Steiner Trees We allow additional points (Steiner points) to be added to the graph, in order to reduce the total length We define: Steiner Minimum Tree - SMT(S) be a graph with minimum total length(weight) Interconnect set S of points by a network (graph) of shortest length, where the length is the sum of the lengths of all edges. MST?
  • Slide 18
  • Steiner Trees Ex.1 C A B X MST(S) = SMT(S) =
  • Slide 19
  • Steiner Trees Ex.2 C A B X1X1 MST(S) = SMT(S) = D X2X2
  • Slide 20
  • Steiner Trees Lemma (1.1.4) Let S be a finite set of points in R d, then: t(MST(S)) 2 t(SMT(S)) Proof : Let : SMT(S)=T we will construct a spanning tree T* of S having at most twice the weight of T
  • Slide 21
  • Steiner Trees (cont.) Proof (construction): C A B X SMT(S)=T W= Eulers tour: W t(W ) = t(W ) = 2 t(T )
  • Slide 22
  • Steiner Trees (cont.) As result we have: T* that visits each point of S exactly once t(T*) 2t(T) remove all Steiner points For each point p of S, remove all visits to p except the first one We will construct T* of points of S from W (Eulers tour) applying the short-cuts technique:
  • Slide 23
  • Steiner Trees (cont.) Recall: C A B X Euler tour: W ?
  • Slide 24
  • Steiner Trees (cont.) Is factor 2 is the best possible? Gilbert & Pollack (1968) conjectured that: is the best possible That is, for any finite set S of points of R 2 : t(MST(S)) t(SMT(S)) After 20 years, Du&Hwang settled the conjecture
  • Slide 25
  • Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm
  • Slide 26
  • Triangulation Define: Convex Hull of set of points S in a real vector space V is the minimal Convex Set containing S Y X X Y In Euclidian Space, an object is convex if : for every pair of points within the object, every point on the straight line segment that joins them is also within the object A Convex set A non-Convex set
  • Slide 27
  • Triangulation Convex Hull S =
  • Slide 28
  • Triangulation Let S be a set of points in the plane A triangulation is a partition of the convex hull into triangles, such that vertices of these triangles are exactly points of S General: Subdivision of geometric object into simplices In particular: In the plane it is a subdivision into triangles, hence the name.
  • Slide 29
  • Triangulation Ex.3 S =
  • Slide 30
  • Delaunay Triangulation Boris Delaunay (1934) Delaunay triangulation for a set S of points in the plane is a triangulation DT(S) that: no point of S, is inside the circumcircle of any triangle in DT(S) Property: DT(S) contains MST(S)
  • Slide 31
  • Delaunay Triangulation Example
  • Slide 32
  • Slide 33
  • Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm
  • Slide 34
  • Spanners Spanner Definition. Let S be a set of n points in R d and let t 1 be a real number. A t-spanner for S is an undirected graph G with vertex set S, such that for any two points p and q of S, there is a path in G between p and q, whose length is less than or equal to t|pq|. Any path satisfying this condition is called a t-spanner path between p and q.
  • Slide 35
  • Spanners 1-spanner 1.5-spanner 3-spanner
  • Slide 36
  • Spanners Stretch Factor Definition. Let S be a set of n points in R d and let G be a Euclidean graph with vertex set S. The stretch factor of G is the smallest real number t such that G is a t-spanner of S.
  • Slide 37
  • Spanners Spanner Property. Let S be a set of n points in R d and let t 1 be a real number. Any t-spanner of S has: 1. Number of edges - at least n 1 2. Weight - at least t(MST(S))
  • Slide 38
  • Spanners Basic Spanner Problem Let S be a set of n points in R d and let t 1 be a real number. Does there exist a t-spanner for S having at most c td n edges, where c td is a real number that depends only on t and d? If so, how much time does it take to compute such a t-spanner?
  • Slide 39
  • Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm
  • Slide 40
  • Spanners Application Approximating Minimum Spanner Trees Let S be a set of n points in the plane. Since any MST(S) of S is contained in Delanay triangulation DT(S) of S, we can compute MST(S) in the following way: 1. Compute DT(S) in O(n log n) time. 2. Compute MST of DT(S), which is in fact an Euclidean MST of the set S. Since DT(S) contains only linear number of edges, entire algorithm runs O(n log n)
  • Slide 41
  • Theorem Let S be a set of n points in R d, let t 1 be a real number and let G be an arbitrary t- spanner for S. A minimum spanning tree of G is t-approximate minimum spanning tree of S, that is the weight of any MST of G is at most t t(MST(S))
  • Slide 42
  • Proof Let T be a minimum spanning tree of S, and number its edges arbitrarily as e 1, e 2,e n-1. Consider edge e i. Since G is a t-spanner for S, there exists a t-spanner path P i in G between the endpoints of e i. Thus the length wt(P i ) of P i is at most t times the length of e i. It follows that:
  • Slide 43
  • Proof (cont.) Let G be the subgraph of G, whose edge set is the union of the edge sets of the paths P i, 1 i n-1. Then G is a connected graph with vertex set S and its weight is at most t*wt(MST(S)). Since the weight of the minimum spanning tree of G is less than of equal to the weight of G, the proof is complete.
  • Slide 44
  • Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm
  • Slide 45
  • Greedy Spanner Algorithm Algorithm PathGreedy (S, t) Input: Set S of n points in R d, t > 1 Output: G=(S, E) a t-spanner for S Sort the ( ) pairs of distinct points in nondecreasing order of their distances and store them in list L E {} G (S, E) for each pair (u,v) L (considering pairs in sorted order) let d G (u,v) be the length of the shortest path in G between u and v if d G (u,v) > t |u,v| add (u,v) to E Output G
  • Slide 46
  • Greedy Spanner Algorithm (example 1) A C D B Consider: S = {A, B, C, D}, t = 2 AD = BC = 3 AB = DC = 4 AC = BD = 5 Sorting Pairs of S: L = {AD, BC, AB, DC, AC, BD} Deciding (D, C): (d G (D,C) = 10 > 2 * 4)? True! DC is added to G Deciding (A, C): (d G (A,C) = 7 > 2 * 5)? False! AC is not added to G Deciding (B, D): (d G (B,D) = 7 > 2 * 5)? False! BD is not added to G G 1.3 * 4)? True! DC is added to G Deciding (A, C): (d G (A,C) = 7 > 1.3 * 5)? True! AC is added to G Deciding (B, D): (d G (B,D) = 7 > 1.3 * 5)? True! BD is added to G G">
  • Greedy Spanner Algorithm (example 2) A C D B Consider: S = {A, B, C, D}, t = 1.3 AD = BC = 3 AB = DC = 4 AC = BD = 5 Sorting Pairs of S: L = {AD, BC, AB, DC, AC, BD} Deciding (D, C): (d G (D,C) = 10 > 1.3 * 4)? True! DC is added to G Deciding (A, C): (d G (A,C) = 7 > 1.3 * 5)? True! AC is added to G Deciding (B, D): (d G (B,D) = 7 > 1.3 * 5)? True! BD is added to G G