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

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

Post on 22-Dec-2015

221 views

Category:

Documents


0 download

TRANSCRIPT

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

Introduction Outline

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

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

Introduction Outline

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

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

The Problem Domain

General network design problem:

Given a set S of n points in Rd, how to construct a good network that connects these points ?

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

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)

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

Introduction Outline

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

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

Network Design

Size

Network quality measures:

Stretch factor

Weight

Degree Diameter Connectivity - Fault Tolerance

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

Network quality measures (cont.)

Load Factor

Number of Steiner points

e

(To be covered)

Bottle Neck

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

Motivation by examples

Scandinavian rail network (prior 2000)

Copenhagen

Malmo

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

Motivation by examples

Stretch FactorImagine 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 !

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

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 ?

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

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

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

Introduction Outline

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

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

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 nn-2 spanning trees

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

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.

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

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:

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

Introduction Outline

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

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

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

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

Steiner Trees Ex.1

C

A B

XMST(S) =SMT(S) =

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

Steiner Trees

Ex.2

C

A B

X1

MST(S) =SMT(S) =

D

X2

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

Steiner Trees Lemma (1.1.4)

Let S be a finite set of points in Rd, 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

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

Steiner Trees (cont.)

Proof (construction):

C

A B

X

SMT(S)=TW=

Euler’s tour: W’

ωt(W’ ) = ωt(W ) = 2∘ ωt(T )

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

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:

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

Steiner Trees (cont.)

Recall:

C

A B

X

Euler tour: W’

?

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

Steiner Trees (cont.) Is factor 2 is the best possible…?

23

Gilbert & Pollack (1968) conjectured that: is the best possible

That is, for any finite set S of points of R2 :

ωt(MST(S)) ≤ ∘ ωt(SMT(S))2

3

After 20 years, Du&Hwang settled the conjecture

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

Introduction Outline

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

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

Triangulation Define:

Convex Hull of set of points S in a real vector space V is the minimal Convex Set containing S

Y

XX

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

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

Triangulation Convex Hull

S =

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

Triangulation

Let S be a set of points in the planeA 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.

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

Triangulation Ex.3

S =

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

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)

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

Delaunay Triangulation

Example

Page 32: Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy
Page 33: Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy

Introduction Outline

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

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

Spanners Spanner Definition.

Let S be a set of n points in Rd 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.

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

Spanners

1-spanner 1.5-spanner 3-spanner

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

Spanners

Stretch Factor Definition.

Let S be a set of n points in Rd 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.

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

Spanners

Spanner Property.Let S be a set of n points in Rd 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))

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

Spanners

Basic Spanner Problem

Let S be a set of n points in Rd and let t ≥ 1 be a real number.

Does there exist a t-spanner for S having at most ctdn edges, where ctd 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?

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

Introduction Outline

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

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

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)

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

Theorem

Let S be a set of n points in Rd, 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))

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

Proof

Let T be a minimum spanning tree of S, and number its edges arbitrarily as e1, e2,…en-1. Consider edge ei. Since G is a t-spanner for S, there exists a t-spanner path Pi in G between the endpoints of ei. Thus the length wt(Pi) of Pi is at most t times the length of ei.

It follows that:

1

1

1

1

))((*)(*)(n

i

n

iii SMSTwttewttPwt

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

Proof (cont.) Let G’ be the subgraph of G, whose edge set is

the union of the edge sets of the paths Pi, 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.

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

Introduction Outline

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

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

Greedy Spanner AlgorithmAlgorithm PathGreedy (S, t)

Input: Set S of n points in Rd , 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 dG(u,v) be the length of the shortest path in G between u and v

if dG(u,v) > t |u,v| add (u,v) to E

Output G

2

n

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

Greedy Spanner Algorithm (example 1)

A

CD

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): (dG(D,C) = 10 > 2 * 4)? True! DC is added to G

Deciding (A, C): (dG(A,C) = 7 > 2 * 5)? False! AC is not added to G

Deciding (B, D): (dG(B,D) = 7 > 2 * 5)? False! BD is not added to G

G

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

Greedy Spanner Algorithm (example 2)

A

CD

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): (dG(D,C) = 10 > 1.3 * 4)? True! DC is added to G

Deciding (A, C): (dG(A,C) = 7 > 1.3 * 5)? True! AC is added to G

Deciding (B, D): (dG(B,D) = 7 > 1.3 * 5)? True! BD is added to G

G

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