30
Randomized Algorithms CS648 1

Lecture 19-cs648

Embed Size (px)

Citation preview

Page 1: Lecture 19-cs648

Randomized AlgorithmsCS648

1

Page 2: Lecture 19-cs648

Overview

2

To design efficient algorithm

A new tool to design an efficient algorithm

Page 3: Lecture 19-cs648

RECAP OF THE PREVIOUS LECTURE

3

Page 4: Lecture 19-cs648

Graph and Multi-graph

A multi-graph may have:

• More than one edge between a pair of vertices

• No self loop

4

Page 5: Lecture 19-cs648

Min-Cut

5

Page 6: Lecture 19-cs648

SOME BASIC FACTS

6

Page 7: Lecture 19-cs648

Min-Cut

7

How about cuts in multi-graph ?

Page 8: Lecture 19-cs648

8

Page 9: Lecture 19-cs648

9

Page 10: Lecture 19-cs648

10

Page 11: Lecture 19-cs648

11

Page 12: Lecture 19-cs648

12

Page 13: Lecture 19-cs648

Algorithm for min-cut

13

Page 14: Lecture 19-cs648

Algorithm for min-cut

14

Page 15: Lecture 19-cs648

Algorithm for min-cut

15

Page 16: Lecture 19-cs648

REVISITING RECURRENCES

In the following slides, we shall revisit common recurrences. Try to solve these recurrences in a simple manner instead of using Master’s theorem. This will help you develop a useful insight into recurrences. This insight will help you fine-tune the previous inefficient algorithm and eventually lead to design (and analysis) of

a more efficient algorithm for min-cut.

16

Page 17: Lecture 19-cs648

Common recurrences

17

Page 18: Lecture 19-cs648

Common recurrences

18

Page 19: Lecture 19-cs648

FASTER MIN-CUT ALGORITHM

19

Page 20: Lecture 19-cs648

Revisiting algorithm for min-cut

20

We shall modify this algorithm to improve its success probability. But we shall not allow any significant blow up in the running time.

Page 21: Lecture 19-cs648

Algorithm for min-cut

21

Page 22: Lecture 19-cs648

Key observations about Min-Cut algorithm

22

recursively

Page 23: Lecture 19-cs648

Revised algorithm for min-cut

23

Page 24: Lecture 19-cs648

Faster algorithm for min-cut

24

Page 25: Lecture 19-cs648

25

Page 26: Lecture 19-cs648

Solving the recurrence

26

Page 27: Lecture 19-cs648

Solving the recurrence

27

Page 28: Lecture 19-cs648

Solving the recurrence

28

Page 29: Lecture 19-cs648

Solving the recurrence

29

proof

Page 30: Lecture 19-cs648

This lecture introduced many concepts which can be used for design and analysis of efficient randomized algorithms. Try to

reflect upon these concept…

30