randomized algorithms cs648

36
Randomized Algorithms CS648 Lecture 18 Approximate Distance Oracles Algorithm for Min-cut : part 1 1

Upload: kalkin

Post on 22-Feb-2016

59 views

Category:

Documents


0 download

DESCRIPTION

Randomized Algorithms CS648. Lecture 18 A pproximate Distance Oracles Algorithm for Min-cut : part 1. Approximate Distance oracles. All-Pairs Shortest Paths. Notations and Terminologies : A graph on vertices edges A path from to : a sequence , ,…, where ( , ) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Randomized Algorithms CS648

Randomized AlgorithmsCS648

Lecture 18• Approximate Distance Oracles• Algorithm for Min-cut : part 1

1

Page 2: Randomized Algorithms CS648

APPROXIMATE DISTANCE ORACLES

2

Page 3: Randomized Algorithms CS648

All-Pairs Shortest Paths

Notations and Terminologies :A graph on

– vertices – edges –

A path from to : a sequence , ,…, where (,) Length of a path : sum of the weights on the edges of path .Shortest path from to : the path of smallest length from to . Distance from to : the length of the shortest path from to .

: Distance from to

3

Page 4: Randomized Algorithms CS648

All-Pairs Shortest PathsProblem Definition: Given a graph , build a compact data structure so that for any ,• can be reported in time • Shortest path from to can be reported in optimal time.

Results known:• size data structure

(Distance matrix and Witness matrix)• preprocessing time (Dijkstra’s algorithm from each vertex)

Current-state-of-the-art RAM size: 8 GBs

Can’t handle graphs with even vertices (with RAM size)

4

Page 5: Randomized Algorithms CS648

All-Pairs Approximate Shortest Paths

Problem Definition: Given a graph , build a compact data structure so that for any , it reports in time satisfying

: stretch.

Aim: To achieve • Sub-quadratic space.• Sub-cubic preprocessing time.With query time.

Many elegant results have been invented for undirected graphs

5

Page 6: Randomized Algorithms CS648

A truly magical result

:Stretch Space Query time Preprocessing time

6

𝟑𝟓

𝟐𝒌−𝟏

𝑶 (𝒏𝟏+𝟏𝟐) 𝑶 (𝟏) 𝑶 (𝒎𝒏

𝟏𝟐 )

𝑶 (𝒏𝟏+𝟏𝟑) 𝑶 (𝟏) 𝑶 (𝒎𝒏

𝟏𝟑 )

𝑶 (𝒏𝟏+𝟏𝒌) 𝑶 (𝒌) 𝑶 (𝒌𝒎𝒏

𝟏𝒌)

Approximate Distance Oracles

Mikkel Thorup and Uri Zwick:Approximate Distance Oracles for graphs, Journal of ACM (4), 2005

Page 7: Randomized Algorithms CS648

INSPIRATION FROM OUR DAILY LIFE

7

Page 8: Randomized Algorithms CS648

Air/Road Network

8

𝑲𝒂𝒏𝒑𝒖𝒓

𝑳𝒖𝒄𝒌𝒏𝒐𝒘

𝑩𝒂𝒏𝒈𝒂𝒍𝒐𝒓𝒆

𝑫𝒆𝒍𝒉𝒊

Page 9: Randomized Algorithms CS648

The Idea

Given a graph ,• Compute a small set of Landmark vertices. • From each vertex , store distance to vertices present in its locality.• From each vertex , store distance to all vertices in the graph.

Questions: • What is the formal notion of locality ?• How to retrieve distance from to a far away vertex ?• What is the guarantee of stretch ?• How to compute the desired set efficiently ?

9

Page 10: Randomized Algorithms CS648

10

Formal notion of locality

𝒖

Page 11: Randomized Algorithms CS648

11

Formal notion of locality

= {}

𝒖 𝑳 (𝒖)

𝑩𝒂𝒍𝒍 (𝒖 ,𝑽 ,𝑳)

Page 12: Randomized Algorithms CS648

12

Reporting distance from

𝒖

𝒗

𝑳 (𝒖)

𝑩𝒂𝒍𝒍 (𝒖 ,𝑽 ,𝑳)

𝒗

𝜹 (𝒖 ,𝑳 (𝒖))≤ 𝜹 (𝒖 ,𝒗 ) Report

Page 13: Randomized Algorithms CS648

13

??

What is the stretch ?

𝒖

𝒗

𝑳 (𝒖)

𝜹 (𝒖 ,𝑳 (𝒖))≤ 𝜹 (𝒖 ,𝒗 )

𝑩𝒂𝒍𝒍 (𝒖 ,𝑽 ,𝑳)

≤ 𝜹 (𝒖 ,𝒗 )+𝜹 (𝒖 ,𝑳(𝒖))

stretch

Page 14: Randomized Algorithms CS648

3-approximate distance oracle

Preprocessing-algorithm(){ Compute set suitably; For each store distance to all vertices; For each compute ; Build a hash table storing distances from to ; }

Query(, ){ If return ; else return ;}

14

Global distance info.

Local distance info.

Page 15: Randomized Algorithms CS648

The real challenge left

How to compute set such that• is small.• is small for each .

Fact1: It is difficult, if not impossible, to compute such a set deterministically.

Fact2: The structure of graph (the edges and weights) can be arbitrary and more complex than planar road/air networkk.

15

Page 16: Randomized Algorithms CS648

16

The real challenge left

𝒖 𝑳 (𝒖)

𝑩𝒂𝒍𝒍 (𝒖 ,𝑽 ,𝑳)

Page 17: Randomized Algorithms CS648

Conquering the challenge

Let be a fraction to be fixed later on.Computing :{ ∅; For each Add to independently with probability ; return ;}

Expected size of :

• : random variable for ||

17

Page 18: Randomized Algorithms CS648

Expected size of

=

18

𝒖Increasing order of distance from

… …

None of is present in

𝑩𝒂𝒍𝒍 (𝒖 ,𝑽 ,𝑳)

Page 19: Randomized Algorithms CS648

Expected space of 3-approximate distance oracle

Space for Global distance information: = = =

Space for Local distance information: = =

To minimize the total space: (Balance the two terms)

Expected space:

19

Each vertex in keeps a Ball)

Page 20: Randomized Algorithms CS648

Theorem: An undirected weighted graph can be processed to build a data structure of expected size that can report 3-approximate distance between any pair of vertices in time.

Homework: • Convert to a Las Vegas algorithm with high probability bound on space.• Show that expected preprocessing time is

20

Page 21: Randomized Algorithms CS648

5-APPROXIMATE DISTANCE ORACLE

Meant for only those (hopefully nonzero no. of) students whose aim is more than just a good grade in this course.

21

Page 22: Randomized Algorithms CS648

3-approximate distance oracle

22

𝑽

𝑳

Page 23: Randomized Algorithms CS648

5-approximate distance oracle

23

𝑽

𝑳𝟏

𝑳𝟐

Page 24: Randomized Algorithms CS648

24

5-approximate distance oracle

𝒖 𝑳𝟏(𝒖)

𝑩𝒂𝒍𝒍 (𝒖 ,𝑽 ,𝑳𝟏)

𝑩𝒂𝒍𝒍 (𝒖 ,𝑳𝟏 ,𝑳𝟐)

𝑳𝟐(𝒖)

Page 25: Randomized Algorithms CS648

PROBLEM 2MIN-CUT

25

Page 26: Randomized Algorithms CS648

Min-Cut

: undirected connected graph Definition (cut):A subset whose removal disconnects the graph.

Definition (min-cut): A cut of smallest size.Problem Definition: Design algorithm to compute min-cut of a given graph.

26

Page 27: Randomized Algorithms CS648

Min-Cut

Deterministic Algorithms:• time - Designed in 1997, - Quite complex to analyze and implement Randomized Algorithms:• time Monte Carlo [1993]

• time Monte Carlo [1996]

- Both are much simpler and easier to implement.

27

Page 28: Randomized Algorithms CS648

SOME BASIC FACTS

28

Page 29: Randomized Algorithms CS648

Min-Cut

Question: How many cuts ?Answer: Question : what is relation between degree() and size of min-cut ?Answer: size of min-cut degree() Question : If size of min-cut is , what can be minimum value of ?Answer:

29

Page 30: Randomized Algorithms CS648

Contract()

30

𝒖

𝒗

𝒘 𝒚

𝒙 𝒂

𝒃 𝒉

𝒍

𝒙𝒚

𝒖

𝒗

𝒘

𝒂

𝒃 𝒉

𝒍

Contract(

Page 31: Randomized Algorithms CS648

Contract()

Contract(){ Let ; Merge the two vertices and into one vertex; Preserve multi-edges; Remove the edge ; Let be the modified graph; return ;}

Time complexity of Contract():

31

Page 32: Randomized Algorithms CS648

Contract()

Let be the size of min-cut of . Let be any min-cut of . Let be the graph after Contract().

Observation: Every cut of is also a cut of .

Question: Under what circumstance is a cut of ?Answer: if .

Question: If is selected randomly uniformly, what is the probability that is preserved in ?Answer:

32

≤ 𝒌𝒏𝒌 /𝟐≤

𝟐𝒏

Page 33: Randomized Algorithms CS648

Contract()

Let be the size of min-cut of . Let be any min-cut of . Lemma: If edge to be contracted is selected randomly uniformly, is preserved with probability at least .

Let ; Contract().Let ; Contract().

Question: What is probability that is preserved in ?Answer:

33

Page 34: Randomized Algorithms CS648

Algorithm for min-cut

Min-cut():{ Repeat ?? times {

Let ; Contract().

} return the edges of multi-graph ;}

Running time:

34

𝒏−𝟐

Page 35: Randomized Algorithms CS648

Algorithm for min-cut

Question: What is probability that is preserved during the algorithm ?Answer:

= = >

35

Page 36: Randomized Algorithms CS648

Algorithm for min-cut

Min-cut-high-probability():{ Repeat Min-cut() algorithm log times and report the smallest cut computed;} Running time: Error Probability : <

36