Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy.

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

Great Theoretical Ideas in Computer Science
Lower Bound for Sparse Euclidean Spanners Presented by- Deepak Kumar Gupta(Y6154), Nandan Kumar Dubey(Y6279), Vishal Agrawal(Y6541)
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Comments We consider in this topic a large class of related problems that deal with proximity of points in the plane. We will: 1.Define some proximity.
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
Great Theoretical Ideas in Computer Science for Some.
1 Discrete Structures & Algorithms Graphs and Trees: III EECE 320.
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
Compact and Low Delay Routing Labeling Scheme for Unit Disk Graphs Chenyu Yan, Yang Xiang, and Feodor F. Dragan (WADS 2009) Kent State University, Kent,
By Groysman Maxim. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane.
Combinatorial Algorithms
Great Theoretical Ideas in Computer Science.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
Great Theoretical Ideas in Computer Science.
1 Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Approximation Algorithms for the Traveling Salesperson Problem.
1 NP-Complete Problems Polynomial time vs exponential time –Polynomial O(n k ), where n is the input size (e.g., number of nodes in a graph, the length.
NP-Complete Problems (Fun part)
1 Separator Theorems for Planar Graphs Presented by Shira Zucker.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
1 University of Denver Department of Mathematics Department of Computer Science.
Minimum Spanning Trees
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
1 NP-Complete Problems (Fun part) Polynomial time vs exponential time –Polynomial O(n k ), where n is the input size (e.g., number of nodes in a graph,
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
1.1 Data Structure and Algorithm Lecture 13 Minimum Spanning Trees Topics Reference: Introduction to Algorithm by Cormen Chapter 13: Minimum Spanning Trees.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
1 Minimum Spanning Tree Problem Topic 10 ITS033 – Programming & Algorithms Asst. Prof. Dr. Bunyarit Uyyanonvara IT Program, Image and Vision Computing.
MST Many of the slides are from Prof. Plaisted’s resources at University of North Carolina at Chapel Hill.
CS 3343: Analysis of Algorithms Lecture 21: Introduction to Graphs.
2IL05 Data Structures Fall 2007 Lecture 13: Minimum Spanning Trees.
Spring 2015 Lecture 11: Minimum Spanning Trees
UNC Chapel Hill Lin/Foskey/Manocha Minimum Spanning Trees Problem: Connect a set of nodes by a network of minimal total length Some applications: –Communication.
Minimum Spanning Trees and Kruskal’s Algorithm CLRS 23.
7.1 and 7.2: Spanning Trees. A network is a graph that is connected –The network must be a sub-graph of the original graph (its edges must come from the.
GRAPH SPANNERS by S.Nithya. Spanner Definition- Informal A geometric spanner network for a set of points is a graph G in which each pair of vertices is.
1 Minimum Spanning Trees. Minimum- Spanning Trees 1. Concrete example: computer connection 2. Definition of a Minimum- Spanning Tree.
Lower Bound for Sparse Euclidean Spanners Presented by- Deepak Kumar Gupta(Y6154), Nandan Kumar Dubey(Y6279), Vishal Agrawal(Y6541)
Introduction to Graph Theory
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Great Theoretical Ideas in Computer Science for Some.
Steiner Tree Problem Given: A set S of points in the plane = terminals
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
Introduction to NP Instructor: Neelima Gupta 1.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
Midwestern State University Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm 1.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
1 Data Structures and Algorithms Graphs. 2 Graphs Basic Definitions Paths and Cycles Connectivity Other Properties Representation Examples of Graph Algorithms:
Trees.
Approximation Algorithms
Steiner trees: Approximation Algorithms
Graph theory Definitions Trees, cycles, directed graphs.
Great Theoretical Ideas in Computer Science
Minimum Spanning Trees
Discrete Mathematics for Computer Science
Enumerating Distances Using Spanners of Bounded Degree
GRAPH SPANNERS.
Randomized Algorithms CS648
Graph Operations And Representation
CS 583 Analysis of Algorithms
Introduction Wireless Ad-Hoc Network
Minimum Spanning Tree Algorithms
Minimum Spanning Trees
Presentation transcript:

Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm

Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm

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 ?

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)

Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm

Network Design Size Network quality measures: Stretch factor Weight Degree Diameter Connectivity - Fault Tolerance

Network quality measures (cont.) Load Factor Number of Steiner points e (To be covered) Bottle Neck

Motivation by examples Scandinavian rail network (prior 2000) Copenhagen Malmo

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 !

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 ?

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

Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm

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

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.

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:

Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm

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…?

Steiner Trees Ex.1 C A B X MST(S) = SMT(S) =

Steiner Trees Ex.2 C A B X1X1 MST(S) = SMT(S) = D X2X2

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

Steiner Trees (cont.) Proof (construction): C A B X SMT(S)=T W= Euler’s tour: W’ ωt(W’ ) = ωt(W ) = 2 ∘ ωt(T )

Steiner Trees (cont.) As result we have:  T* that visits each point of S exactly once  ωt(T*) ≤ 2∘ωt(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’ (Euler’s tour) applying the short-cuts technique:

Steiner Trees (cont.) Recall: C A B X Euler tour: W’ ?

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

Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm

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

Triangulation Convex Hull S =

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.

Triangulation Ex.3 S =

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)

Delaunay Triangulation Example

Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm

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.

Spanners 1-spanner 1.5-spanner 3-spanner

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.

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))

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?

Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm

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)

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))

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:

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.

Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy Algorithm

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

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

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