CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to...

137
CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 53

Transcript of CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to...

Page 1: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

CS 473: Algorithms

Ruta Mehta

University of Illinois, Urbana-Champaign

Spring 2018

Ruta (UIUC) CS473 1 Spring 2018 1 / 53

Page 2: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

CS 473: Algorithms, Spring 2018

Introduction to RandomizedAlgorithms: QuickSortLecture 7Feb 6, 2018

Most slides are courtesy Prof. ChekuriRuta (UIUC) CS473 2 Spring 2018 2 / 53

Page 3: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Outline

Randomization is very powerfulHow do you play R-P-S?

Calculating insurance.

Our goalBasics of randomization – probability space, expectation, events,random variables, etc.

Randomized Algorithms – Two types

Las VegasMonte Carlo

Randomized Quick Sort

Ruta (UIUC) CS473 3 Spring 2018 3 / 53

Page 4: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Outline

Randomization is very powerfulHow do you play R-P-S?Calculating insurance.

Our goalBasics of randomization – probability space, expectation, events,random variables, etc.

Randomized Algorithms – Two types

Las VegasMonte Carlo

Randomized Quick Sort

Ruta (UIUC) CS473 3 Spring 2018 3 / 53

Page 5: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Outline

Randomization is very powerfulHow do you play R-P-S?Calculating insurance.

Our goalBasics of randomization – probability space, expectation, events,random variables, etc.

Randomized Algorithms – Two types

Las VegasMonte Carlo

Randomized Quick Sort

Ruta (UIUC) CS473 3 Spring 2018 3 / 53

Page 6: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Part I

Introduction to RandomizedAlgorithms

Ruta (UIUC) CS473 4 Spring 2018 4 / 53

Page 7: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Randomized Algorithms

Input x Output yDeterministic Algorithm

Input x Output yrRandomized Algorithm

random bits r

Ruta (UIUC) CS473 5 Spring 2018 5 / 53

Page 8: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Randomized Algorithms

Input x Output yDeterministic Algorithm

Input x Output yrRandomized Algorithm

random bits r

Ruta (UIUC) CS473 5 Spring 2018 5 / 53

Page 9: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Example: Verifying Matrix Multiplication

ProblemGiven three n × n matrices A,B,C is AB = C?

Deterministic algorithm:

1 Multiply A and B and check if equal to C .

2 Running time? O(n3) by straight forward approach. O(n2.37)with fast matrix multiplication (complicated and impractical).

Ruta (UIUC) CS473 6 Spring 2018 6 / 53

Page 10: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Example: Verifying Matrix Multiplication

ProblemGiven three n × n matrices A,B,C is AB = C?

Deterministic algorithm:

1 Multiply A and B and check if equal to C .

2 Running time?

O(n3) by straight forward approach. O(n2.37)with fast matrix multiplication (complicated and impractical).

Ruta (UIUC) CS473 6 Spring 2018 6 / 53

Page 11: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Example: Verifying Matrix Multiplication

ProblemGiven three n × n matrices A,B,C is AB = C?

Deterministic algorithm:

1 Multiply A and B and check if equal to C .

2 Running time? O(n3) by straight forward approach. O(n2.37)with fast matrix multiplication (complicated and impractical).

Ruta (UIUC) CS473 6 Spring 2018 6 / 53

Page 12: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Example: Verifying Matrix Multiplication

ProblemGiven three n × n matrices A,B,C is AB = C?

Randomized algorithm:1 Pick a random n × 1 vector r .2 Return the answer of the equality ABr = Cr .3 Running time? O(n2)!

TheoremIf AB = C then the algorithm will always say YES. If AB 6= C thenthe algorithm will say YES with probability at most 1/2. Can repeatthe algorithm 100 times independently to reduce the probability of afalse positive to 1/2100.

Ruta (UIUC) CS473 7 Spring 2018 7 / 53

Page 13: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Example: Verifying Matrix Multiplication

ProblemGiven three n × n matrices A,B,C is AB = C?

Randomized algorithm:1 Pick a random n × 1 vector r .2 Return the answer of the equality ABr = Cr .3 Running time?

O(n2)!

TheoremIf AB = C then the algorithm will always say YES. If AB 6= C thenthe algorithm will say YES with probability at most 1/2. Can repeatthe algorithm 100 times independently to reduce the probability of afalse positive to 1/2100.

Ruta (UIUC) CS473 7 Spring 2018 7 / 53

Page 14: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Example: Verifying Matrix Multiplication

ProblemGiven three n × n matrices A,B,C is AB = C?

Randomized algorithm:1 Pick a random n × 1 vector r .2 Return the answer of the equality ABr = Cr .3 Running time? O(n2)!

TheoremIf AB = C then the algorithm will always say YES. If AB 6= C thenthe algorithm will say YES with probability at most 1/2. Can repeatthe algorithm 100 times independently to reduce the probability of afalse positive to 1/2100.

Ruta (UIUC) CS473 7 Spring 2018 7 / 53

Page 15: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Example: Verifying Matrix Multiplication

ProblemGiven three n × n matrices A,B,C is AB = C?

Randomized algorithm:1 Pick a random n × 1 vector r .2 Return the answer of the equality ABr = Cr .3 Running time? O(n2)!

TheoremIf AB = C then the algorithm will always say YES. If AB 6= C thenthe algorithm will say YES with probability at most 1/2. Can repeatthe algorithm 100 times independently to reduce the probability of afalse positive to 1/2100.

Ruta (UIUC) CS473 7 Spring 2018 7 / 53

Page 16: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Why randomized algorithms?

1 Many many applications in algorithms, data structures andcomputer science!

2 In some cases only known algorithms are randomized, i.e.,polynomial identity testing.

3 Often randomized algorithms are (much) simpler and/or moreefficient.

4 Several deep connections to mathematics, physics etc.

5 . . .

6 Lots of fun!

Ruta (UIUC) CS473 8 Spring 2018 8 / 53

Page 17: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Why randomized algorithms?

1 Many many applications in algorithms, data structures andcomputer science!

2 In some cases only known algorithms are randomized, i.e.,polynomial identity testing.

3 Often randomized algorithms are (much) simpler and/or moreefficient.

4 Several deep connections to mathematics, physics etc.

5 . . .

6 Lots of fun!

Ruta (UIUC) CS473 8 Spring 2018 8 / 53

Page 18: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Why randomized algorithms?

1 Many many applications in algorithms, data structures andcomputer science!

2 In some cases only known algorithms are randomized, i.e.,polynomial identity testing.

3 Often randomized algorithms are (much) simpler and/or moreefficient.

4 Several deep connections to mathematics, physics etc.

5 . . .

6 Lots of fun!

Ruta (UIUC) CS473 8 Spring 2018 8 / 53

Page 19: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Why randomized algorithms?

1 Many many applications in algorithms, data structures andcomputer science!

2 In some cases only known algorithms are randomized, i.e.,polynomial identity testing.

3 Often randomized algorithms are (much) simpler and/or moreefficient.

4 Several deep connections to mathematics, physics etc.

5 . . .

6 Lots of fun!

Ruta (UIUC) CS473 8 Spring 2018 8 / 53

Page 20: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Average case analysis vs Randomized algorithms

Average case analysis:

1 Fix a deterministic algorithm.

2 Assume inputs comes from a probability distribution.

3 Analyze the algorithm’s average performance over thedistribution over inputs.

Randomized algorithms:

1 Input is arbitrary (worst case).

2 Algorithm uses random bits, and therefore on each input thebehavior of the algorithm is random.

3 Analyze algorithms average performance over any given (worstcase) input where the average is over the random bits that thealgorithm uses.

Ruta (UIUC) CS473 9 Spring 2018 9 / 53

Page 21: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Average case analysis vs Randomized algorithms

Average case analysis:

1 Fix a deterministic algorithm.

2 Assume inputs comes from a probability distribution.

3 Analyze the algorithm’s average performance over thedistribution over inputs.

Randomized algorithms:

1 Input is arbitrary (worst case).

2 Algorithm uses random bits, and therefore on each input thebehavior of the algorithm is random.

3 Analyze algorithms average performance over any given (worstcase) input where the average is over the random bits that thealgorithm uses.

Ruta (UIUC) CS473 9 Spring 2018 9 / 53

Page 22: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Part II

Basics of Discrete Probability

Ruta (UIUC) CS473 10 Spring 2018 10 / 53

Page 23: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Discrete Probability

We restrict attention to finite probability spaces.

DefinitionA discrete probability space is a pair (Ω, Pr) consists of finite set Ωof elementary events and function Pr[:] Ω→ [0, 1] which assignsa probability Pr[ω] for each ω ∈ Ω such that

∑ω∈Ω Pr[ω] = 1.

Example

An unbiased coin. Ω = H,T and Pr[H] = Pr[T ] = 1/2.

Example

A 6-sided unbiased die. Ω = 1, 2, 3, 4, 5, 6 and Pr[i ] = 1/6 for1 ≤ i ≤ 6.

Ruta (UIUC) CS473 11 Spring 2018 11 / 53

Page 24: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Discrete Probability

We restrict attention to finite probability spaces.

DefinitionA discrete probability space is a pair (Ω, Pr) consists of finite set Ωof elementary events and function Pr[:] Ω→ [0, 1] which assignsa probability Pr[ω] for each ω ∈ Ω such that

∑ω∈Ω Pr[ω] = 1.

Example

An unbiased coin. Ω = H,T and Pr[H] = Pr[T ] = 1/2.

Example

A 6-sided unbiased die. Ω = 1, 2, 3, 4, 5, 6 and Pr[i ] = 1/6 for1 ≤ i ≤ 6.

Ruta (UIUC) CS473 11 Spring 2018 11 / 53

Page 25: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Events

DefinitionGiven a probability space (Ω, Pr) an event is a subset of Ω. In otherwords an event is a collection of elementary events. The probabilityof an event A ⊆ Ω, denoted by Pr[A], is

∑ω∈A Pr[ω].

The complement event of an event A ⊆ Ω is the event Ω \ Afrequently denoted by A.

Example

A pair of independent dice. Ω = (i , j) | 1 ≤ i ≤ 6, 1 ≤ j ≤ 6.Event A: the sum of the two numbers on the dice is even.Then A =

(i , j) ∈ Ω

∣∣∣ (i + j) is even

.

Pr[A] = |A|/36 = 1/2.

Ruta (UIUC) CS473 12 Spring 2018 12 / 53

Page 26: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Events

DefinitionGiven a probability space (Ω, Pr) an event is a subset of Ω. In otherwords an event is a collection of elementary events. The probabilityof an event A ⊆ Ω, denoted by Pr[A], is

∑ω∈A Pr[ω].

The complement event of an event A ⊆ Ω is the event Ω \ Afrequently denoted by A.

Example

A pair of independent dice. Ω = (i , j) | 1 ≤ i ≤ 6, 1 ≤ j ≤ 6.

Event A: the sum of the two numbers on the dice is even.Then A =

(i , j) ∈ Ω

∣∣∣ (i + j) is even

.

Pr[A] = |A|/36 = 1/2.

Ruta (UIUC) CS473 12 Spring 2018 12 / 53

Page 27: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Events

DefinitionGiven a probability space (Ω, Pr) an event is a subset of Ω. In otherwords an event is a collection of elementary events. The probabilityof an event A ⊆ Ω, denoted by Pr[A], is

∑ω∈A Pr[ω].

The complement event of an event A ⊆ Ω is the event Ω \ Afrequently denoted by A.

Example

A pair of independent dice. Ω = (i , j) | 1 ≤ i ≤ 6, 1 ≤ j ≤ 6.Event A: the sum of the two numbers on the dice is even.Then A =

(i , j) ∈ Ω

∣∣∣ (i + j) is even

.

Pr[A] = |A|/36 = 1/2.

Ruta (UIUC) CS473 12 Spring 2018 12 / 53

Page 28: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Events

DefinitionGiven a probability space (Ω, Pr) an event is a subset of Ω. In otherwords an event is a collection of elementary events. The probabilityof an event A ⊆ Ω, denoted by Pr[A], is

∑ω∈A Pr[ω].

The complement event of an event A ⊆ Ω is the event Ω \ Afrequently denoted by A.

Example

A pair of independent dice. Ω = (i , j) | 1 ≤ i ≤ 6, 1 ≤ j ≤ 6.Event A: the sum of the two numbers on the dice is even.Then A =

(i , j) ∈ Ω

∣∣∣ (i + j) is even

.

Pr[A] = |A|/36 = 1/2.

Ruta (UIUC) CS473 12 Spring 2018 12 / 53

Page 29: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independent Events

DefinitionGiven a probability space (Ω, Pr) and two events A,B areindependent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwisethey are dependent. In other words A,B independent implies onedoes not affect the other.

Example

Two coins. Ω = HH,TT ,HT ,TH andPr[HH] = Pr[TT ] = Pr[HT ] = Pr[TH] = 1/4.

1 A : the first coin is heads. B : second coin is tails.Pr[A] =1/2, Pr[B] = 1/2, Pr[A ∩ B] =1/4. independent.

2 A : both are not tails. B : second coin is heads.Pr[A] =3/4, Pr[B] = 1/2, Pr[A ∩ B] =1/2. dependent.

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

Page 30: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independent Events

DefinitionGiven a probability space (Ω, Pr) and two events A,B areindependent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwisethey are dependent. In other words A,B independent implies onedoes not affect the other.

Example

Two coins. Ω = HH,TT ,HT ,TH andPr[HH] = Pr[TT ] = Pr[HT ] = Pr[TH] = 1/4.

1 A : the first coin is heads. B : second coin is tails.

Pr[A] =1/2, Pr[B] = 1/2, Pr[A ∩ B] =1/4. independent.

2 A : both are not tails. B : second coin is heads.Pr[A] =3/4, Pr[B] = 1/2, Pr[A ∩ B] =1/2. dependent.

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

Page 31: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independent Events

DefinitionGiven a probability space (Ω, Pr) and two events A,B areindependent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwisethey are dependent. In other words A,B independent implies onedoes not affect the other.

Example

Two coins. Ω = HH,TT ,HT ,TH andPr[HH] = Pr[TT ] = Pr[HT ] = Pr[TH] = 1/4.

1 A : the first coin is heads. B : second coin is tails.Pr[A] =

1/2, Pr[B] = 1/2, Pr[A ∩ B] =1/4. independent.

2 A : both are not tails. B : second coin is heads.Pr[A] =3/4, Pr[B] = 1/2, Pr[A ∩ B] =1/2. dependent.

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

Page 32: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independent Events

DefinitionGiven a probability space (Ω, Pr) and two events A,B areindependent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwisethey are dependent. In other words A,B independent implies onedoes not affect the other.

Example

Two coins. Ω = HH,TT ,HT ,TH andPr[HH] = Pr[TT ] = Pr[HT ] = Pr[TH] = 1/4.

1 A : the first coin is heads. B : second coin is tails.Pr[A] =1/2, Pr[B] = 1/2, Pr[A ∩ B] =

1/4. independent.

2 A : both are not tails. B : second coin is heads.Pr[A] =3/4, Pr[B] = 1/2, Pr[A ∩ B] =1/2. dependent.

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

Page 33: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independent Events

DefinitionGiven a probability space (Ω, Pr) and two events A,B areindependent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwisethey are dependent. In other words A,B independent implies onedoes not affect the other.

Example

Two coins. Ω = HH,TT ,HT ,TH andPr[HH] = Pr[TT ] = Pr[HT ] = Pr[TH] = 1/4.

1 A : the first coin is heads. B : second coin is tails.Pr[A] =1/2, Pr[B] = 1/2, Pr[A ∩ B] =1/4. independent.

2 A : both are not tails. B : second coin is heads.Pr[A] =3/4, Pr[B] = 1/2, Pr[A ∩ B] =1/2. dependent.

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

Page 34: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independent Events

DefinitionGiven a probability space (Ω, Pr) and two events A,B areindependent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwisethey are dependent. In other words A,B independent implies onedoes not affect the other.

Example

Two coins. Ω = HH,TT ,HT ,TH andPr[HH] = Pr[TT ] = Pr[HT ] = Pr[TH] = 1/4.

1 A : the first coin is heads. B : second coin is tails.Pr[A] =1/2, Pr[B] = 1/2, Pr[A ∩ B] =1/4. independent.

2 A : both are not tails. B : second coin is heads.Pr[A] =

3/4, Pr[B] = 1/2, Pr[A ∩ B] =1/2. dependent.

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

Page 35: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independent Events

DefinitionGiven a probability space (Ω, Pr) and two events A,B areindependent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwisethey are dependent. In other words A,B independent implies onedoes not affect the other.

Example

Two coins. Ω = HH,TT ,HT ,TH andPr[HH] = Pr[TT ] = Pr[HT ] = Pr[TH] = 1/4.

1 A : the first coin is heads. B : second coin is tails.Pr[A] =1/2, Pr[B] = 1/2, Pr[A ∩ B] =1/4. independent.

2 A : both are not tails. B : second coin is heads.Pr[A] =3/4, Pr[B] = 1/2, Pr[A ∩ B] =

1/2. dependent.

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

Page 36: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independent Events

DefinitionGiven a probability space (Ω, Pr) and two events A,B areindependent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwisethey are dependent. In other words A,B independent implies onedoes not affect the other.

Example

Two coins. Ω = HH,TT ,HT ,TH andPr[HH] = Pr[TT ] = Pr[HT ] = Pr[TH] = 1/4.

1 A : the first coin is heads. B : second coin is tails.Pr[A] =1/2, Pr[B] = 1/2, Pr[A ∩ B] =1/4. independent.

2 A : both are not tails. B : second coin is heads.Pr[A] =3/4, Pr[B] = 1/2, Pr[A ∩ B] =1/2. dependent.

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

Page 37: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Union boundThe probability of the union of two events, is no bigger than the sum of theirprobabilities.

LemmaFor any two events E and F, we have that

Pr[E ∪ F

]≤ Pr

[E]

+ Pr[F].

Proof.Consider E and F to be a collection of elmentery events (which theyare). We have

Pr[E ∪ F

]=

∑x∈E∪F

Pr[x]

≤∑x∈E

Pr[x] +∑x∈F

Pr[x] = Pr[E]

+ Pr[F].

Ruta (UIUC) CS473 14 Spring 2018 14 / 53

Page 38: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Random Variables

Definition (Random Variable)

Given a probability space (Ω, Pr) a (real-valued) random variable Xover Ω is a function that maps each elementary event to a realnumber. In other words X : Ω→ R.

Definition (Expectation)

For a random variable X over a probability space (Ω, Pr) theexpectation of X is defined as

∑ω∈Ω Pr[ω] X (ω). In other words,

the expectation is the average value of X according to theprobabilities given by Pr[·].

Ruta (UIUC) CS473 15 Spring 2018 15 / 53

Page 39: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Random Variables

Definition (Random Variable)

Given a probability space (Ω, Pr) a (real-valued) random variable Xover Ω is a function that maps each elementary event to a realnumber. In other words X : Ω→ R.

Definition (Expectation)

For a random variable X over a probability space (Ω, Pr) theexpectation of X is defined as

∑ω∈Ω Pr[ω] X (ω). In other words,

the expectation is the average value of X according to theprobabilities given by Pr[·].

Ruta (UIUC) CS473 15 Spring 2018 15 / 53

Page 40: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expectation

Example

A 6-sided unbiased die. Ω = 1, 2, 3, 4, 5, 6 and Pr[i ] = 1/6 foreach i ∈ Ω.

1 X : Ω→ R where X (i) = i mod 2 ∈ 0, 1.

Then

E[X ] =∑6

i=1 Pr[i ] · X (i) = 16

∑6i=1 X (i) = 1/2.

2 Y : Ω→ R where Y (i) = i 2. Then

E[Y ] =∑6

i=116· i 2 = 91/6.

Ruta (UIUC) CS473 16 Spring 2018 16 / 53

Page 41: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expectation

Example

A 6-sided unbiased die. Ω = 1, 2, 3, 4, 5, 6 and Pr[i ] = 1/6 foreach i ∈ Ω.

1 X : Ω→ R where X (i) = i mod 2 ∈ 0, 1. Then

E[X ] =∑6

i=1 Pr[i ] · X (i) = 16

∑6i=1 X (i) = 1/2.

2 Y : Ω→ R where Y (i) = i 2. Then

E[Y ] =∑6

i=116· i 2 = 91/6.

Ruta (UIUC) CS473 16 Spring 2018 16 / 53

Page 42: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expectation

Example

A 6-sided unbiased die. Ω = 1, 2, 3, 4, 5, 6 and Pr[i ] = 1/6 foreach i ∈ Ω.

1 X : Ω→ R where X (i) = i mod 2 ∈ 0, 1. Then

E[X ] =∑6

i=1 Pr[i ] · X (i) = 16

∑6i=1 X (i) = 1/2.

2 Y : Ω→ R where Y (i) = i 2.

Then

E[Y ] =∑6

i=116· i 2 = 91/6.

Ruta (UIUC) CS473 16 Spring 2018 16 / 53

Page 43: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expectation

Example

A 6-sided unbiased die. Ω = 1, 2, 3, 4, 5, 6 and Pr[i ] = 1/6 foreach i ∈ Ω.

1 X : Ω→ R where X (i) = i mod 2 ∈ 0, 1. Then

E[X ] =∑6

i=1 Pr[i ] · X (i) = 16

∑6i=1 X (i) = 1/2.

2 Y : Ω→ R where Y (i) = i 2. Then

E[Y ] =∑6

i=116· i 2 = 91/6.

Ruta (UIUC) CS473 16 Spring 2018 16 / 53

Page 44: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of vertices?

Let G = (V, E) be a graph with n vertices and m edges. Let H bethe graph resulting from independently deleting every vertex of G withprobability 1/2. Compute the expected number of vertices in H.

(A) n/2.

(B) n/4.

(C) m/2.

(D) m/4.

(E) none of the above.

Ruta (UIUC) CS473 17 Spring 2018 17 / 53

Page 45: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of vertices is:

Probability Space

Ω = 0, 1n. For ω ∈ 0, 1n, ωv = 1 if vertex v is presentin H, else is zero.

For each ω ∈ Ω, Pr[ω] = 12n .

X (ω) = # vertices in H as per ω = # 1s in ω.

E[X ] =∑

ω∈Ω Pr[ω] X (ω)=

∑ω∈Ω

1/2nX (ω)= 1/2n

∑nk=0

(nk

)k

= 1/2n(2n n2)

= n/2

Ruta (UIUC) CS473 18 Spring 2018 18 / 53

Page 46: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of vertices is:

Probability Space

Ω = 0, 1n. For ω ∈ 0, 1n, ωv = 1 if vertex v is presentin H, else is zero.

For each ω ∈ Ω, Pr[ω] = 12n .

X (ω) = # vertices in H as per ω = # 1s in ω.

E[X ] =∑

ω∈Ω Pr[ω] X (ω)=

∑ω∈Ω

1/2nX (ω)= 1/2n

∑nk=0

(nk

)k

= 1/2n(2n n2)

= n/2

Ruta (UIUC) CS473 18 Spring 2018 18 / 53

Page 47: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of vertices is:

Probability Space

Ω = 0, 1n. For ω ∈ 0, 1n, ωv = 1 if vertex v is presentin H, else is zero.

For each ω ∈ Ω, Pr[ω] = 12n .

X (ω) = # vertices in H as per ω = # 1s in ω.

E[X ] =∑

ω∈Ω Pr[ω] X (ω)=

∑ω∈Ω

1/2nX (ω)= 1/2n

∑nk=0

(nk

)k

= 1/2n(2n n2)

= n/2

Ruta (UIUC) CS473 18 Spring 2018 18 / 53

Page 48: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of edges?

Let G = (V, E) be a graph with n vertices and m edges. Let H bethe graph resulting from independently deleting every vertex of Gwith probability 1/2. The expected number of edges in H is

(A) n/2.

(B) n/4.

(C) m/2.

(D) m/4.

(E) none of the above.

Ruta (UIUC) CS473 19 Spring 2018 19 / 53

Page 49: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of edges is:

Probability Space

Ω = 0, 1n. For ω ∈ 0, 1n, ωv = 1 if vertex v is presentin H, else is zero.

For each ω ∈ Ω, Pr[ω] = 12n .

X (ω) = # edges present in H as per ω = ??

How to compute E[X ]?

Ruta (UIUC) CS473 20 Spring 2018 20 / 53

Page 50: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of edges is:

Probability Space

Ω = 0, 1n. For ω ∈ 0, 1n, ωv = 1 if vertex v is presentin H, else is zero.

For each ω ∈ Ω, Pr[ω] = 12n .

X (ω) = # edges present in H as per ω = ??

How to compute E[X ]?

Ruta (UIUC) CS473 20 Spring 2018 20 / 53

Page 51: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of edges is:

Probability Space

Ω = 0, 1n. For ω ∈ 0, 1n, ωv = 1 if vertex v is presentin H, else is zero.

For each ω ∈ Ω, Pr[ω] = 12n .

X (ω) = # edges present in H as per ω = ??

How to compute E[X ]?

Ruta (UIUC) CS473 20 Spring 2018 20 / 53

Page 52: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Indicator Random Variables

DefinitionA binary random variable is one that takes on values in 0, 1.

Special type of random variables that are quite useful.

DefinitionGiven a probability space (Ω, Pr) and an event A ⊆ Ω theindicator random variable XA is a binary random variable whereXA(ω) = 1 if ω ∈ A and XA(ω) = 0 if ω 6∈ A.

Example

A 6-sided unbiased die. Ω = 1, 2, 3, 4, 5, 6 and Pr[i ] = 1/6 foreach i ∈ Ω. Let A be the even that i is divisible by 3, i.e.,A = 3, 6. Then XA(i) = 1 if i ∈ 3, 6 and 0 otherwise.

Ruta (UIUC) CS473 21 Spring 2018 21 / 53

Page 53: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Indicator Random Variables

DefinitionA binary random variable is one that takes on values in 0, 1.

Special type of random variables that are quite useful.

DefinitionGiven a probability space (Ω, Pr) and an event A ⊆ Ω theindicator random variable XA is a binary random variable whereXA(ω) = 1 if ω ∈ A and XA(ω) = 0 if ω 6∈ A.

Example

A 6-sided unbiased die. Ω = 1, 2, 3, 4, 5, 6 and Pr[i ] = 1/6 foreach i ∈ Ω. Let A be the even that i is divisible by 3, i.e.,A = 3, 6. Then XA(i) = 1 if i ∈ 3, 6 and 0 otherwise.

Ruta (UIUC) CS473 21 Spring 2018 21 / 53

Page 54: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Indicator Random Variables

DefinitionA binary random variable is one that takes on values in 0, 1.

Special type of random variables that are quite useful.

DefinitionGiven a probability space (Ω, Pr) and an event A ⊆ Ω theindicator random variable XA is a binary random variable whereXA(ω) = 1 if ω ∈ A and XA(ω) = 0 if ω 6∈ A.

Example

A 6-sided unbiased die. Ω = 1, 2, 3, 4, 5, 6 and Pr[i ] = 1/6 foreach i ∈ Ω. Let A be the even that i is divisible by 3, i.e.,A = 3, 6. Then XA(i) = 1 if i ∈ 3, 6 and 0 otherwise.

Ruta (UIUC) CS473 21 Spring 2018 21 / 53

Page 55: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expectation

Proposition

For an indicator variable XA, E[XA] = Pr[A].

Proof.

E[XA] =∑ω∈Ω

XA(ω) Pr[ω]

=∑ω∈A

1 · Pr[ω] +∑

ω∈Ω\A

0 · Pr[ω]

=∑ω∈A

Pr[ω]

= Pr[A] .

Ruta (UIUC) CS473 22 Spring 2018 22 / 53

Page 56: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Linearity of Expectation

LemmaLet X ,Y be two random variables (not necessarily independent) overa probability space (Ω, Pr). Then E[X + Y ] = E[X ] + E[Y ].

Proof.

E[X + Y ] =∑ω∈Ω

Pr[ω] (X (ω) + Y (ω))

=∑ω∈Ω

Pr[ω] X (ω) +∑ω∈Ω

Pr[ω] Y (ω) = E[X ] + E[Y ] .

Corollary

E[a1X1 + a2X2 + . . . + anXn] =∑n

i=1 ai E[Xi ].

Ruta (UIUC) CS473 23 Spring 2018 23 / 53

Page 57: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Linearity of Expectation

LemmaLet X ,Y be two random variables (not necessarily independent) overa probability space (Ω, Pr). Then E[X + Y ] = E[X ] + E[Y ].

Proof.

E[X + Y ] =∑ω∈Ω

Pr[ω] (X (ω) + Y (ω))

=∑ω∈Ω

Pr[ω] X (ω) +∑ω∈Ω

Pr[ω] Y (ω) = E[X ] + E[Y ] .

Corollary

E[a1X1 + a2X2 + . . . + anXn] =∑n

i=1 ai E[Xi ].

Ruta (UIUC) CS473 23 Spring 2018 23 / 53

Page 58: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of edges?

Let G = (V, E) be a graph with n vertices and m edges. Let H bethe graph resulting from independently deleting every vertex of Gwith probability 1/2. The expected number of edges in H is

Event Ae = edge e ∈ E is present in H.

Pr[Ae=(u,v)

]= Pr[u and v both are present] =

Pr[u is present] · Pr[v is present] = 12· 1

2= 1

4.

XAe indicator random variables, then E[XAe ] = Pr[Ae].

Let X =∑

e∈E XAe (Number of edges in H)

E[X ] = E

[∑e∈E

XAe

]=∑e∈E

E[XAe ] =∑e∈E

Pr[Ae] =m4

It is important to setup random variables carefully.

Ruta (UIUC) CS473 24 Spring 2018 24 / 53

Page 59: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of edges?

Let G = (V, E) be a graph with n vertices and m edges. Let H bethe graph resulting from independently deleting every vertex of Gwith probability 1/2. The expected number of edges in H is

Event Ae = edge e ∈ E is present in H.

Pr[Ae=(u,v)

]= Pr[u and v both are present] =

Pr[u is present] · Pr[v is present] = 12· 1

2= 1

4.

XAe indicator random variables, then E[XAe ] = Pr[Ae].

Let X =∑

e∈E XAe (Number of edges in H)

E[X ] = E

[∑e∈E

XAe

]=∑e∈E

E[XAe ] =∑e∈E

Pr[Ae] =m4

It is important to setup random variables carefully.

Ruta (UIUC) CS473 24 Spring 2018 24 / 53

Page 60: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of edges?

Let G = (V, E) be a graph with n vertices and m edges. Let H bethe graph resulting from independently deleting every vertex of Gwith probability 1/2. The expected number of edges in H is

Event Ae = edge e ∈ E is present in H.

Pr[Ae=(u,v)

]= Pr[u and v both are present] =

Pr[u is present] · Pr[v is present] = 12· 1

2= 1

4.

XAe indicator random variables, then E[XAe ] = Pr[Ae].

Let X =∑

e∈E XAe (Number of edges in H)

E[X ] = E

[∑e∈E

XAe

]=∑e∈E

E[XAe ] =∑e∈E

Pr[Ae] =m4

It is important to setup random variables carefully.

Ruta (UIUC) CS473 24 Spring 2018 24 / 53

Page 61: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of edges?

Let G = (V, E) be a graph with n vertices and m edges. Let H bethe graph resulting from independently deleting every vertex of Gwith probability 1/2. The expected number of edges in H is

Event Ae = edge e ∈ E is present in H.

Pr[Ae=(u,v)

]= Pr[u and v both are present] =

Pr[u is present] · Pr[v is present] = 12· 1

2= 1

4.

XAe indicator random variables, then E[XAe ] = Pr[Ae].

Let X =∑

e∈E XAe (Number of edges in H)

E[X ] = E

[∑e∈E

XAe

]=∑e∈E

E[XAe ] =∑e∈E

Pr[Ae] =m4

It is important to setup random variables carefully.

Ruta (UIUC) CS473 24 Spring 2018 24 / 53

Page 62: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of edges?

Let G = (V, E) be a graph with n vertices and m edges. Let H bethe graph resulting from independently deleting every vertex of Gwith probability 1/2. The expected number of edges in H is

Event Ae = edge e ∈ E is present in H.

Pr[Ae=(u,v)

]= Pr[u and v both are present] =

Pr[u is present] · Pr[v is present] = 12· 1

2= 1

4.

XAe indicator random variables, then E[XAe ] = Pr[Ae].

Let X =∑

e∈E XAe (Number of edges in H)

E[X ] = E

[∑e∈E

XAe

]=∑e∈E

E[XAe ] =∑e∈E

Pr[Ae] =m4

It is important to setup random variables carefully.

Ruta (UIUC) CS473 24 Spring 2018 24 / 53

Page 63: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of edges?

Let G = (V, E) be a graph with n vertices and m edges. Let H bethe graph resulting from independently deleting every vertex of Gwith probability 1/2. The expected number of edges in H is

Event Ae = edge e ∈ E is present in H.

Pr[Ae=(u,v)

]= Pr[u and v both are present] =

Pr[u is present] · Pr[v is present] = 12· 1

2= 1

4.

XAe indicator random variables, then E[XAe ] = Pr[Ae].

Let X =∑

e∈E XAe (Number of edges in H)

E[X ] = E

[∑e∈E

XAe

]=∑e∈E

E[XAe ] =∑e∈E

Pr[Ae] =m4

It is important to setup random variables carefully.

Ruta (UIUC) CS473 24 Spring 2018 24 / 53

Page 64: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Expected number of triangles?

Let G = (V, E) be a graph with n vertices and m edges. Assume Ghas t triangles (i.e., a triangle is a simple cycle with three vertices).Let H be the graph resulting from deleting independently each vertexof G with probability 1/2. The expected number of triangles in H is

(A) t/2.

(B) t/4.

(C) t/8.

(D) t/16.

(E) none of the above.

Ruta (UIUC) CS473 25 Spring 2018 25 / 53

Page 65: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independent Random Variables

DefinitionRandom variables X ,Y are said to be independent if

∀x, y ∈ R, Pr[X = x ∧ Y = y ] = Pr[X = x] Pr[Y = y ]

.

Examples

Two independent un-biased coin flips: Ω = HH,HT ,TH,TT.X = 1 if first coin is H else 0. Y = 1 if second coin is H else0. Independent.

X = #H , Y = #T . Dependent. Why?

Ruta (UIUC) CS473 26 Spring 2018 26 / 53

Page 66: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independent Random Variables

DefinitionRandom variables X ,Y are said to be independent if

∀x, y ∈ R, Pr[X = x ∧ Y = y ] = Pr[X = x] Pr[Y = y ]

.

Examples

Two independent un-biased coin flips: Ω = HH,HT ,TH,TT.X = 1 if first coin is H else 0. Y = 1 if second coin is H else0.

Independent.

X = #H , Y = #T . Dependent. Why?

Ruta (UIUC) CS473 26 Spring 2018 26 / 53

Page 67: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independent Random Variables

DefinitionRandom variables X ,Y are said to be independent if

∀x, y ∈ R, Pr[X = x ∧ Y = y ] = Pr[X = x] Pr[Y = y ]

.

Examples

Two independent un-biased coin flips: Ω = HH,HT ,TH,TT.X = 1 if first coin is H else 0. Y = 1 if second coin is H else0. Independent.

X = #H , Y = #T . Dependent. Why?

Ruta (UIUC) CS473 26 Spring 2018 26 / 53

Page 68: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independent Random Variables

DefinitionRandom variables X ,Y are said to be independent if

∀x, y ∈ R, Pr[X = x ∧ Y = y ] = Pr[X = x] Pr[Y = y ]

.

Examples

Two independent un-biased coin flips: Ω = HH,HT ,TH,TT.X = 1 if first coin is H else 0. Y = 1 if second coin is H else0. Independent.

X = #H , Y = #T .

Dependent. Why?

Ruta (UIUC) CS473 26 Spring 2018 26 / 53

Page 69: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independent Random Variables

DefinitionRandom variables X ,Y are said to be independent if

∀x, y ∈ R, Pr[X = x ∧ Y = y ] = Pr[X = x] Pr[Y = y ]

.

Examples

Two independent un-biased coin flips: Ω = HH,HT ,TH,TT.X = 1 if first coin is H else 0. Y = 1 if second coin is H else0. Independent.

X = #H , Y = #T . Dependent. Why?

Ruta (UIUC) CS473 26 Spring 2018 26 / 53

Page 70: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independent Random Variables

LemmaIf X and Y are independent then E[X · Y ] = E[X ] · E[Y ]

Proof.

E[X · Y ] =∑ω∈Ω

Pr[ω] (X (ω) · Y (ω))

=∑

x,y∈R

Pr[X = x ∧ Y = y ] (x · y)

=∑

x,y∈R

Pr[X = x] · Pr[Y = y ] · x · y

= (∑x∈R

Pr[X = x] x)(∑y∈R

Pr[Y = y ] y) = E[X ] E[Y ]

Ruta (UIUC) CS473 27 Spring 2018 27 / 53

Page 71: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Types of Randomized Algorithms

Typically one encounters the following types:

1 Las Vegas randomized algorithms: for a given input xoutput of algorithm is always correct but the running time is arandom variable. In this case we are interested in analyzing theexpected running time.

2 Monte Carlo randomized algorithms: for a given input x therunning time is deterministic but the output is random; correctwith some probability. In this case we are interested in analyzingthe probability of the correct output (and also the running time).

3 Algorithms whose running time and output may both be random.

Ruta (UIUC) CS473 28 Spring 2018 28 / 53

Page 72: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Types of Randomized Algorithms

Typically one encounters the following types:

1 Las Vegas randomized algorithms: for a given input xoutput of algorithm is always correct but the running time is arandom variable. In this case we are interested in analyzing theexpected running time.

2 Monte Carlo randomized algorithms: for a given input x therunning time is deterministic but the output is random; correctwith some probability. In this case we are interested in analyzingthe probability of the correct output (and also the running time).

3 Algorithms whose running time and output may both be random.

Ruta (UIUC) CS473 28 Spring 2018 28 / 53

Page 73: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analyzing Las Vegas Algorithms

Deterministic algorithm Q for a problem Π:1 Let Q(x) be the time for Q to run on input x of length |x|.2 Worst-case analysis: run time on worst input for a given size n.

Twc(n) = maxx :|x|=n

Q(x).

Randomized algorithm R for a problem Π:1 Let R(x) be the time for Q to run on input x of length |x|.2 R(x) is a random variable: depends on random bits used by R.3 E[R(x)] is the expected running time for R on x4 Worst-case analysis: expected time on worst input of size n

Trand−wc(n) = maxx :|x|=n

E[R(x)] .

Ruta (UIUC) CS473 29 Spring 2018 29 / 53

Page 74: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analyzing Las Vegas Algorithms

Deterministic algorithm Q for a problem Π:1 Let Q(x) be the time for Q to run on input x of length |x|.2 Worst-case analysis: run time on worst input for a given size n.

Twc(n) = maxx :|x|=n

Q(x).

Randomized algorithm R for a problem Π:1 Let R(x) be the time for Q to run on input x of length |x|.2 R(x) is a random variable: depends on random bits used by R.3 E[R(x)] is the expected running time for R on x

4 Worst-case analysis: expected time on worst input of size n

Trand−wc(n) = maxx :|x|=n

E[R(x)] .

Ruta (UIUC) CS473 29 Spring 2018 29 / 53

Page 75: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analyzing Las Vegas Algorithms

Deterministic algorithm Q for a problem Π:1 Let Q(x) be the time for Q to run on input x of length |x|.2 Worst-case analysis: run time on worst input for a given size n.

Twc(n) = maxx :|x|=n

Q(x).

Randomized algorithm R for a problem Π:1 Let R(x) be the time for Q to run on input x of length |x|.2 R(x) is a random variable: depends on random bits used by R.3 E[R(x)] is the expected running time for R on x4 Worst-case analysis: expected time on worst input of size n

Trand−wc(n) = maxx :|x|=n

E[R(x)] .

Ruta (UIUC) CS473 29 Spring 2018 29 / 53

Page 76: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analyzing Monte Carlo Algorithms

Randomized algorithm M for a problem Π:

1 Let M(x) be the time for M to run on input x of length |x|.For Monte Carlo, assumption is that run time is deterministic.

2 Let Pr[x] be the probability that M is correct on x .

3 Pr[x] is a random variable: depends on random bits used by M .

4 Worst-case analysis: success probability on worst input

Prand−wc(n) = minx :|x|=n

Pr[x] .

Ruta (UIUC) CS473 30 Spring 2018 30 / 53

Page 77: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analyzing Monte Carlo Algorithms

Randomized algorithm M for a problem Π:

1 Let M(x) be the time for M to run on input x of length |x|.For Monte Carlo, assumption is that run time is deterministic.

2 Let Pr[x] be the probability that M is correct on x .

3 Pr[x] is a random variable: depends on random bits used by M .

4 Worst-case analysis: success probability on worst input

Prand−wc(n) = minx :|x|=n

Pr[x] .

Ruta (UIUC) CS473 30 Spring 2018 30 / 53

Page 78: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Part III

Why does randomization help?

Ruta (UIUC) CS473 31 Spring 2018 31 / 53

Page 79: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Ping and find.

Consider a deterministic algorithm A that is trying to find an elementin an array X of size n. At every step it is allowed to ask the value ofone cell in the array, and the adversary is allowed after each suchping, to shuffle elements around in the array in any way it seems fit.For the best possible deterministic algorithm the number of rounds ithas to play this game till it finds the required element is

(A) O(1)

(B) O(n)

(C) O(n log n)

(D) O(n2)

(E) ∞.

Ruta (UIUC) CS473 32 Spring 2018 32 / 53

Page 80: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Ping and find randomized.

Consider an algorithm randFind that is trying to find an element inan array X of size n. At every step it asks the value of one randomcell in the array, and the adversary is allowed after each such ping, toshuffle elements around in the array in any way it seems fit. Thisalgorithm would stop in expectation after

(A) O(1)

(B) O(log n)

(C) O(n)

(D) O(n2)

(E) ∞.

steps.

Ruta (UIUC) CS473 33 Spring 2018 33 / 53

Page 81: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Abundance of witnesses

Consider the problem of finding an “approximate median” of anunsorted array A[1..n]: an element of A with rank between n/4 and3n/4.

Finding an approximate median is not any easier than a propermedian.

n/2 elements of A qualify as approximate medians and hence arandom element is good with probability 1/2!

Ruta (UIUC) CS473 34 Spring 2018 34 / 53

Page 82: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Abundance of witnesses

Consider the problem of finding an “approximate median” of anunsorted array A[1..n]: an element of A with rank between n/4 and3n/4.

Finding an approximate median is not any easier than a propermedian.

n/2 elements of A qualify as approximate medians and hence arandom element is good with probability 1/2!

Ruta (UIUC) CS473 34 Spring 2018 34 / 53

Page 83: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Part IV

Randomized Quick Sort

Ruta (UIUC) CS473 35 Spring 2018 35 / 53

Page 84: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

QuickSort

Deterministic QuickSort1 Pick a pivot element from array

2 Split array into 3 subarrays: those smaller than pivot, thoselarger than pivot, and the pivot itself.

3 Recursively sort the subarrays, and concatenate them.

Randomized QuickSort1 Pick a pivot element uniformly at random from the array

2 Split array into 3 subarrays: those smaller than pivot, thoselarger than pivot, and the pivot itself.

3 Recursively sort the subarrays, and concatenate them.

Ruta (UIUC) CS473 36 Spring 2018 36 / 53

Page 85: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

QuickSort

Deterministic QuickSort1 Pick a pivot element from array

2 Split array into 3 subarrays: those smaller than pivot, thoselarger than pivot, and the pivot itself.

3 Recursively sort the subarrays, and concatenate them.

Randomized QuickSort1 Pick a pivot element uniformly at random from the array

2 Split array into 3 subarrays: those smaller than pivot, thoselarger than pivot, and the pivot itself.

3 Recursively sort the subarrays, and concatenate them.

Ruta (UIUC) CS473 36 Spring 2018 36 / 53

Page 86: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Randomized Quicksort

Recall: Deterministic QuickSort can take Ω(n2) time to sort arrayof size n.

TheoremRandomized QuickSort sorts a given array of length n inO(n log n) expected time.

Note: On every input randomized QuickSort takes O(n log n) timein expectation. On every input it may take Ω(n2) time with somesmall probability.

Ruta (UIUC) CS473 37 Spring 2018 37 / 53

Page 87: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Randomized Quicksort

Recall: Deterministic QuickSort can take Ω(n2) time to sort arrayof size n.

TheoremRandomized QuickSort sorts a given array of length n inO(n log n) expected time.

Note: On every input randomized QuickSort takes O(n log n) timein expectation. On every input it may take Ω(n2) time with somesmall probability.

Ruta (UIUC) CS473 37 Spring 2018 37 / 53

Page 88: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Randomized Quicksort

Recall: Deterministic QuickSort can take Ω(n2) time to sort arrayof size n.

TheoremRandomized QuickSort sorts a given array of length n inO(n log n) expected time.

Note: On every input randomized QuickSort takes O(n log n) timein expectation. On every input it may take Ω(n2) time with somesmall probability.

Ruta (UIUC) CS473 37 Spring 2018 37 / 53

Page 89: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Randomized QuickSort

Randomized QuickSort1 Pick a pivot element uniformly at random from the array.

2 Split array into 3 subarrays: those smaller than pivot, thoselarger than pivot, and the pivot itself.

3 Recursively sort the subarrays, and concatenate them.

Ruta (UIUC) CS473 38 Spring 2018 38 / 53

Page 90: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analysis

What events to count?

Number of Comparisions.

What is the probability space?

All the coin tosses at all levels and parts of recursion.

Too Big!!

What random variables to define?What are the events of the algorithm?

Ruta (UIUC) CS473 39 Spring 2018 39 / 53

Page 91: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analysis

What events to count?

Number of Comparisions.

What is the probability space?

All the coin tosses at all levels and parts of recursion.

Too Big!!

What random variables to define?What are the events of the algorithm?

Ruta (UIUC) CS473 39 Spring 2018 39 / 53

Page 92: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analysis

What events to count?

Number of Comparisions.

What is the probability space?

All the coin tosses at all levels and parts of recursion.

Too Big!!

What random variables to define?What are the events of the algorithm?

Ruta (UIUC) CS473 39 Spring 2018 39 / 53

Page 93: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analysis

What events to count?

Number of Comparisions.

What is the probability space?

All the coin tosses at all levels and parts of recursion.

Too Big!!

What random variables to define?What are the events of the algorithm?

Ruta (UIUC) CS473 39 Spring 2018 39 / 53

Page 94: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analysis via Recurrence

1 Given array A of n distinct numbers.

2 Q(A) : number of comparisons of randomized QuickSort on A.Note that Q(A) is a random variable.

3 Xi : Indicator random variable, which is set to 1 if pivot is ofrank i in A, else zero.

Let Aileft and Ai

right be the corresponding left and right subarrays.

Q(A) = n +n∑

i=1

Xi ·(Q(Ai

left) + Q(Airight)

).

Since each element of A has probability exactly of 1/n of beingchosen:

E[Xi ] = Pr[pivot has rank i ] = 1/n.

Ruta (UIUC) CS473 40 Spring 2018 40 / 53

Page 95: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analysis via Recurrence

1 Given array A of n distinct numbers.

2 Q(A) : number of comparisons of randomized QuickSort on A.Note that Q(A) is a random variable.

3 Xi : Indicator random variable, which is set to 1 if pivot is ofrank i in A, else zero.

Let Aileft and Ai

right be the corresponding left and right subarrays.

Q(A) = n +n∑

i=1

Xi ·(Q(Ai

left) + Q(Airight)

).

Since each element of A has probability exactly of 1/n of beingchosen:

E[Xi ] = Pr[pivot has rank i ] = 1/n.

Ruta (UIUC) CS473 40 Spring 2018 40 / 53

Page 96: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analysis via Recurrence

1 Given array A of n distinct numbers.

2 Q(A) : number of comparisons of randomized QuickSort on A.Note that Q(A) is a random variable.

3 Xi : Indicator random variable, which is set to 1 if pivot is ofrank i in A, else zero.

Let Aileft and Ai

right be the corresponding left and right subarrays.

Q(A) = n +n∑

i=1

Xi ·(Q(Ai

left) + Q(Airight)

).

Since each element of A has probability exactly of 1/n of beingchosen:

E[Xi ] = Pr[pivot has rank i ] = 1/n.

Ruta (UIUC) CS473 40 Spring 2018 40 / 53

Page 97: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analysis via Recurrence

1 Given array A of n distinct numbers.

2 Q(A) : number of comparisons of randomized QuickSort on A.Note that Q(A) is a random variable.

3 Xi : Indicator random variable, which is set to 1 if pivot is ofrank i in A, else zero.

Let Aileft and Ai

right be the corresponding left and right subarrays.

Q(A) = n +n∑

i=1

Xi ·(Q(Ai

left) + Q(Airight)

).

Since each element of A has probability exactly of 1/n of beingchosen:

E[Xi ] = Pr[pivot has rank i ] = 1/n.

Ruta (UIUC) CS473 40 Spring 2018 40 / 53

Page 98: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Independence of Random Variables

LemmaRandom variables Xi is independent of random variables Q(Ai

left) aswell as Q(Ai

right), i.e.

E[Xi · Q(Ai

left)]

= E[Xi ] E[Q(Ai

left)]

E[Xi · Q(Ai

right)]

= E[Xi ] E[Q(Ai

right)]

Proof.This is because the algorithm, while recursing on Q(Ai

left) andQ(Ai

right) uses new random coin tosses that are independent of thecoin tosses used to decide the first pivot. Only the latter decidesvalue of Xi .

Ruta (UIUC) CS473 41 Spring 2018 41 / 53

Page 99: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analysis via Recurrence

Let T (n) = maxA:|A|=n E[Q(A)] be the worst-case expectedrunning time of randomized QuickSort on arrays of size n.

We have, for any A:

Q(A) = n +n∑

i=1

Xi

(Q(Ai

left) + Q(Airight)

)By linearity of expectation, and independence random variables:

E[Q(A)

]= n +

n∑i=1

E[Xi ](

E[Q(Ai

left)]

+ E[Q(Ai

right)])

.

⇒ E[Q(A)

]≤ n +

n∑i=1

1

n(T (i − 1) + T (n − i)) .

Ruta (UIUC) CS473 42 Spring 2018 42 / 53

Page 100: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analysis via Recurrence

Let T (n) = maxA:|A|=n E[Q(A)] be the worst-case expectedrunning time of randomized QuickSort on arrays of size n.

We have, for any A:

Q(A) = n +n∑

i=1

Xi

(Q(Ai

left) + Q(Airight)

)

By linearity of expectation, and independence random variables:

E[Q(A)

]= n +

n∑i=1

E[Xi ](

E[Q(Ai

left)]

+ E[Q(Ai

right)])

.

⇒ E[Q(A)

]≤ n +

n∑i=1

1

n(T (i − 1) + T (n − i)) .

Ruta (UIUC) CS473 42 Spring 2018 42 / 53

Page 101: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analysis via Recurrence

Let T (n) = maxA:|A|=n E[Q(A)] be the worst-case expectedrunning time of randomized QuickSort on arrays of size n.

We have, for any A:

Q(A) = n +n∑

i=1

Xi

(Q(Ai

left) + Q(Airight)

)By linearity of expectation, and independence random variables:

E[Q(A)

]= n +

n∑i=1

E[Xi ](

E[Q(Ai

left)]

+ E[Q(Ai

right)])

.

⇒ E[Q(A)

]≤ n +

n∑i=1

1

n(T (i − 1) + T (n − i)) .

Ruta (UIUC) CS473 42 Spring 2018 42 / 53

Page 102: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analysis via Recurrence

Let T (n) = maxA:|A|=n E[Q(A)] be the worst-case expectedrunning time of randomized QuickSort on arrays of size n.

We have, for any A:

Q(A) = n +n∑

i=1

Xi

(Q(Ai

left) + Q(Airight)

)By linearity of expectation, and independence random variables:

E[Q(A)

]= n +

n∑i=1

E[Xi ](

E[Q(Ai

left)]

+ E[Q(Ai

right)])

.

⇒ E[Q(A)

]≤ n +

n∑i=1

1

n(T (i − 1) + T (n − i)) .

Ruta (UIUC) CS473 42 Spring 2018 42 / 53

Page 103: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analysis via Recurrence

Let T (n) = maxA:|A|=n E[Q(A)] be the worst-case expectedrunning time of randomized QuickSort on arrays of size n.We derived:

E[Q(A)

]≤ n +

n∑i=1

1

n(T (i − 1) + T (n − i)) .

Note that above holds for any A of size n. Therefore

maxA:|A|=n

E[Q(A)] = T (n) ≤ n +n∑

i=1

1

n(T (i − 1) + T (n − i)) .

Ruta (UIUC) CS473 43 Spring 2018 43 / 53

Page 104: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Analysis via Recurrence

Let T (n) = maxA:|A|=n E[Q(A)] be the worst-case expectedrunning time of randomized QuickSort on arrays of size n.We derived:

E[Q(A)

]≤ n +

n∑i=1

1

n(T (i − 1) + T (n − i)) .

Note that above holds for any A of size n. Therefore

maxA:|A|=n

E[Q(A)] = T (n) ≤ n +n∑

i=1

1

n(T (i − 1) + T (n − i)) .

Ruta (UIUC) CS473 43 Spring 2018 43 / 53

Page 105: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Solving the Recurrence

T (n) ≤ n +n∑

i=1

1

n(T (i − 1) + T (n − i))

with base case T (1) = 0.

LemmaT (n) = O(n log n).

Proof.(Guess and) Verify by induction.

Ruta (UIUC) CS473 44 Spring 2018 44 / 53

Page 106: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Solving the Recurrence

T (n) ≤ n +n∑

i=1

1

n(T (i − 1) + T (n − i))

with base case T (1) = 0.

LemmaT (n) = O(n log n).

Proof.(Guess and) Verify by induction.

Ruta (UIUC) CS473 44 Spring 2018 44 / 53

Page 107: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Solving the Recurrence

T (n) ≤ n +n∑

i=1

1

n(T (i − 1) + T (n − i))

with base case T (1) = 0.

LemmaT (n) = O(n log n).

Proof.(Guess and) Verify by induction.

Ruta (UIUC) CS473 44 Spring 2018 44 / 53

Page 108: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Part V

Slick analysis of QuickSort

Ruta (UIUC) CS473 45 Spring 2018 45 / 53

Page 109: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSort

Let Q(A) be number of comparisons done on input array A:

1 For 1 ≤ i < j < n let Rij be the event that rank i element iscompared with rank j element.

2 Xij is the indicator random variable for Rij . That is, Xij = 1 ifrank i is compared with rank j element, otherwise 0.

Q(A) =∑

1≤i<j≤n

Xij

and hence by linearity of expectation,

E[Q(A)

]=

∑1≤i<j≤n

E[Xij

]=

∑1≤i<j≤n

Pr[Rij

].

Ruta (UIUC) CS473 46 Spring 2018 46 / 53

Page 110: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSort

Let Q(A) be number of comparisons done on input array A:

1 For 1 ≤ i < j < n let Rij be the event that rank i element iscompared with rank j element.

2 Xij is the indicator random variable for Rij . That is, Xij = 1 ifrank i is compared with rank j element, otherwise 0.

Q(A) =∑

1≤i<j≤n

Xij

and hence by linearity of expectation,

E[Q(A)

]=

∑1≤i<j≤n

E[Xij

]=

∑1≤i<j≤n

Pr[Rij

].

Ruta (UIUC) CS473 46 Spring 2018 46 / 53

Page 111: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSort

Let Q(A) be number of comparisons done on input array A:

1 For 1 ≤ i < j < n let Rij be the event that rank i element iscompared with rank j element.

2 Xij is the indicator random variable for Rij . That is, Xij = 1 ifrank i is compared with rank j element, otherwise 0.

Q(A) =∑

1≤i<j≤n

Xij

and hence by linearity of expectation,

E[Q(A)

]=

∑1≤i<j≤n

E[Xij

]=

∑1≤i<j≤n

Pr[Rij

].

Ruta (UIUC) CS473 46 Spring 2018 46 / 53

Page 112: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSort

Rij = rank i element is compared with rank j element.

Question: What is Pr[Rij ]?

7 5 9 1 3 4 8 6

Ruta (UIUC) CS473 47 Spring 2018 47 / 53

Page 113: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSort

Rij = rank i element is compared with rank j element.

Question: What is Pr[Rij ]?

With ranks:

7 5 9 1 3 4 8 61 2 34 56 78

Ruta (UIUC) CS473 47 Spring 2018 47 / 53

Page 114: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSort

Rij = rank i element is compared with rank j element.

Question: What is Pr[Rij ]?

With ranks:

7 5 9 1 3 4 8 61 2 34 56 78

As such, probability of comparing 5 to 8 is Pr[R4,7].

Ruta (UIUC) CS473 47 Spring 2018 47 / 53

Page 115: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSort

Rij = rank i element is compared with rank j element.

Question: What is Pr[Rij ]?

With ranks:

7 5 9 1 3 4 8 61 2 34 56 78

1 If pivot too small (say 3 [rank 2]). Partition and call recursively:

7 5 9 1 3 4 8 6=⇒ 7 5 93 4 8 61

Decision if to compare 5 to 8 is moved to subproblem.

Ruta (UIUC) CS473 47 Spring 2018 47 / 53

Page 116: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSort

Rij = rank i element is compared with rank j element.

Question: What is Pr[Rij ]?

With ranks:

7 5 9 1 3 4 8 61 2 34 56 78

1 If pivot too small (say 3 [rank 2]). Partition and call recursively:

7 5 9 1 3 4 8 6=⇒ 7 5 93 4 8 61

Decision if to compare 5 to 8 is moved to subproblem.

2 If pivot too large (say 9 [rank 8]):

7 5 9 1 3 4 8 67 5 9 1 3 4 8 6=⇒ 7 5 1 3 4 8 6 9

Decision if to compare 5 to 8 moved to subproblem.

Ruta (UIUC) CS473 47 Spring 2018 47 / 53

Page 117: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortQuestion: What is Pr[Ri,j]?

7 5 9 1 3 4 8 61 2 34 56 78

As such, probability of com-paring 5 to 8 is Pr[R4,7].

1 If pivot is 5 (rank 4). Bingo!

7 5 9 1 3 4 8 6=⇒ 1 3 4 5 7 9 8 6

Ruta (UIUC) CS473 48 Spring 2018 48 / 53

Page 118: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortQuestion: What is Pr[Ri,j]?

7 5 9 1 3 4 8 61 2 34 56 78

As such, probability of com-paring 5 to 8 is Pr[R4,7].

1 If pivot is 5 (rank 4). Bingo!

7 5 9 1 3 4 8 6=⇒ 1 3 4 5 7 9 8 6

2 If pivot is 8 (rank 7). Bingo!

7 5 9 1 3 4 8 6=⇒ 7 5 91 3 4 6 8

Ruta (UIUC) CS473 48 Spring 2018 48 / 53

Page 119: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortQuestion: What is Pr[Ri,j]?

7 5 9 1 3 4 8 61 2 34 56 78

As such, probability of com-paring 5 to 8 is Pr[R4,7].

1 If pivot is 5 (rank 4). Bingo!

7 5 9 1 3 4 8 6=⇒ 1 3 4 5 7 9 8 6

2 If pivot is 8 (rank 7). Bingo!

7 5 9 1 3 4 8 6=⇒ 7 5 91 3 4 6 8

3 If pivot in between the two numbers (say 6 [rank 5]):

7 5 9 1 3 4 8 6=⇒ 75 91 3 4 6 8

5 and 8 will never be compared to each other.

Ruta (UIUC) CS473 48 Spring 2018 48 / 53

Page 120: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortQuestion: What is Pr[Ri,j]?

Conclusion:Ri ,j happens if and only if:

i th or j th ranked element is the first pivot out ofi th to j th ranked elements.

Pr[Ri ,j ] = Pr [i th or j th ranked element is the pivot |pivot has rank in i , i + 1 . . . , j − 1, j]

There are k = j − i + 1 relevant elements.

Pr[Ri ,j

]=

2

k=

2

j − i + 1.

Ruta (UIUC) CS473 49 Spring 2018 49 / 53

Page 121: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortQuestion: What is Pr[Ri,j]?

Conclusion:Ri ,j happens if and only if:

i th or j th ranked element is the first pivot out ofi th to j th ranked elements.

Pr[Ri ,j ] = Pr [i th or j th ranked element is the pivot |pivot has rank in i , i + 1 . . . , j − 1, j]

There are k = j − i + 1 relevant elements.

Pr[Ri ,j

]=

2

k=

2

j − i + 1.

Ruta (UIUC) CS473 49 Spring 2018 49 / 53

Page 122: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSort

Question: What is Pr[Rij ]?

Lemma

Pr[Rij

]= 2

j−i+1.

Proof.Let a1, . . . , ai , . . . , aj , . . . , an be elements of A in sorted order.Let S = ai , ai+1, . . . , ajObservation: If pivot is chosen outside S then all of S either in leftarray or right array.Observation: ai and aj separated when a pivot is chosen from S forthe first time. Once separated no comparison.Observation: ai is compared with aj if and only if either ai or aj ischosen as a pivot from S at separation...

Ruta (UIUC) CS473 50 Spring 2018 50 / 53

Page 123: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSort

Question: What is Pr[Rij ]?

Lemma

Pr[Rij

]= 2

j−i+1.

Proof.Let a1, . . . , ai , . . . , aj , . . . , an be elements of A in sorted order.Let S = ai , ai+1, . . . , aj

Observation: If pivot is chosen outside S then all of S either in leftarray or right array.Observation: ai and aj separated when a pivot is chosen from S forthe first time. Once separated no comparison.Observation: ai is compared with aj if and only if either ai or aj ischosen as a pivot from S at separation...

Ruta (UIUC) CS473 50 Spring 2018 50 / 53

Page 124: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSort

Question: What is Pr[Rij ]?

Lemma

Pr[Rij

]= 2

j−i+1.

Proof.Let a1, . . . , ai , . . . , aj , . . . , an be elements of A in sorted order.Let S = ai , ai+1, . . . , ajObservation: If pivot is chosen outside S then all of S either in leftarray or right array.

Observation: ai and aj separated when a pivot is chosen from S forthe first time. Once separated no comparison.Observation: ai is compared with aj if and only if either ai or aj ischosen as a pivot from S at separation...

Ruta (UIUC) CS473 50 Spring 2018 50 / 53

Page 125: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSort

Question: What is Pr[Rij ]?

Lemma

Pr[Rij

]= 2

j−i+1.

Proof.Let a1, . . . , ai , . . . , aj , . . . , an be elements of A in sorted order.Let S = ai , ai+1, . . . , ajObservation: If pivot is chosen outside S then all of S either in leftarray or right array.Observation: ai and aj separated when a pivot is chosen from S forthe first time. Once separated no comparison.

Observation: ai is compared with aj if and only if either ai or aj ischosen as a pivot from S at separation...

Ruta (UIUC) CS473 50 Spring 2018 50 / 53

Page 126: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSort

Question: What is Pr[Rij ]?

Lemma

Pr[Rij

]= 2

j−i+1.

Proof.Let a1, . . . , ai , . . . , aj , . . . , an be elements of A in sorted order.Let S = ai , ai+1, . . . , ajObservation: If pivot is chosen outside S then all of S either in leftarray or right array.Observation: ai and aj separated when a pivot is chosen from S forthe first time. Once separated no comparison.Observation: ai is compared with aj if and only if either ai or aj ischosen as a pivot from S at separation...

Ruta (UIUC) CS473 50 Spring 2018 50 / 53

Page 127: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortContinued...

Lemma

Pr[Rij

]= 2

j−i+1.

Proof.Let a1, . . . , ai , . . . , aj , . . . , an be sort of A. LetS = ai , ai+1, . . . , ajObservation: ai is compared with aj if and only if either ai or aj ischosen as a pivot from S at separation.Observation: Given that pivot is chosen from S the probability thatit is ai or aj is exactly 2/|S| = 2/(j − i + 1) since the pivot ischosen uniformly at random from the array.

Ruta (UIUC) CS473 51 Spring 2018 51 / 53

Page 128: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortContinued...

E[Q(A)

]=

∑1≤i<j≤n

E[Xij ] =∑

1≤i<j≤n

Pr[Rij ] .

Lemma

Pr[Rij ] = 2j−i+1

.

E[Q(A)

]=

∑1≤i<j≤n

2

j − i + 1

Ruta (UIUC) CS473 52 Spring 2018 52 / 53

Page 129: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortContinued...

Lemma

Pr[Rij ] = 2j−i+1

.

E[Q(A)

]=

∑1≤i<j≤n

Pr[Rij

]=

∑1≤i<j≤n

2

j − i + 1

Ruta (UIUC) CS473 52 Spring 2018 52 / 53

Page 130: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortContinued...

Lemma

Pr[Rij ] = 2j−i+1

.

E[Q(A)

]=

∑1≤i<j≤n

2

j − i + 1

Ruta (UIUC) CS473 52 Spring 2018 52 / 53

Page 131: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortContinued...

Lemma

Pr[Rij ] = 2j−i+1

.

E[Q(A)

]=

∑1≤i<j≤n

2

j − i + 1

=n−1∑i=1

n∑j=i+1

2

j − i + 1

Ruta (UIUC) CS473 52 Spring 2018 52 / 53

Page 132: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortContinued...

Lemma

Pr[Rij ] = 2j−i+1

.

E[Q(A)

]=

n−1∑i=1

n∑j=i+1

2

j − i + 1= 2

n−1∑i=1

n∑j=i+1

1

j − i + 1

Ruta (UIUC) CS473 52 Spring 2018 52 / 53

Page 133: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortContinued...

Lemma

Pr[Rij ] = 2j−i+1

.

E[Q(A)

]= 2

n−1∑i=1

n∑j=i+1

1

j − i + 1

Ruta (UIUC) CS473 52 Spring 2018 52 / 53

Page 134: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortContinued...

Lemma

Pr[Rij ] = 2j−i+1

.

E[Q(A)

]= 2

n−1∑i=1

n∑j=i+1

1

j − i + 1= 2

n−1∑i=1

n−i+1∑∆=2

1

Ruta (UIUC) CS473 52 Spring 2018 52 / 53

Page 135: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortContinued...

Lemma

Pr[Rij ] = 2j−i+1

.

E[Q(A)

]= 2

n−1∑i=1

n∑j=i+1

1

j − i + 1= 2

n−1∑i=1

n−i+1∑∆=2

1

≤ 2n−1∑i=1

(Hn−i+1 − 1) ≤ 2∑

1≤i<n

Hn

Hk =∑k

i=11i = Θ(log k)

Ruta (UIUC) CS473 52 Spring 2018 52 / 53

Page 136: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

A Slick Analysis of QuickSortContinued...

Lemma

Pr[Rij ] = 2j−i+1

.

E[Q(A)

]= 2

n−1∑i=1

n∑j=i+1

1

j − i + 1= 2

n−1∑i=1

n−i+1∑∆=2

1

≤ 2n−1∑i=1

(Hn−i+1 − 1) ≤ 2∑

1≤i<n

Hn

≤ 2nHn = O(n log n)

Hk =∑k

i=11i = Θ(log k)

Ruta (UIUC) CS473 52 Spring 2018 52 / 53

Page 137: CS 473: Algorithms - University Of IllinoisCS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most slides are courtesy Prof. Chekuri

Where do I get random bits?

Question: Are true random bits available in practice?

1 Buy them!

2 CPUs use physical phenomena to generate random bits.

3 Can use pseudo-random bits or semi-random bits from nature.Several fundamental unresolved questions in complexity theoryon this topic. Beyond the scope of this course.

4 In practice pseudo-random generators work quite well in manyapplications.

5 The model is interesting to think in the abstract and is veryuseful even as a theoretical construct. One can derandomizerandomized algorithms to obtain deterministic algorithms.

Ruta (UIUC) CS473 53 Spring 2018 53 / 53