CS 473: Algorithms Ruta Mehta University of Illinois, - - PowerPoint PPT Presentation

cs 473 algorithms
SMART_READER_LITE
LIVE PREVIEW

CS 473: Algorithms Ruta Mehta University of Illinois, - - PowerPoint PPT Presentation

CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 53 CS 473: Algorithms, Spring 2018 Introduction to Randomized Algorithms: QuickSort Lecture 7 Feb 6, 2018 Most


slide-1
SLIDE 1

CS 473: Algorithms

Ruta Mehta

University of Illinois, Urbana-Champaign

Spring 2018

Ruta (UIUC) CS473 1 Spring 2018 1 / 53

slide-2
SLIDE 2

CS 473: Algorithms, Spring 2018

Introduction to Randomized Algorithms: QuickSort

Lecture 7

Feb 6, 2018

Most slides are courtesy Prof. Chekuri

Ruta (UIUC) CS473 2 Spring 2018 2 / 53

slide-3
SLIDE 3

Outline

Randomization is very powerful

How do you play R-P-S?

Ruta (UIUC) CS473 3 Spring 2018 3 / 53

slide-4
SLIDE 4

Outline

Randomization is very powerful

How do you play R-P-S? Calculating insurance.

Ruta (UIUC) CS473 3 Spring 2018 3 / 53

slide-5
SLIDE 5

Outline

Randomization is very powerful

How do you play R-P-S? Calculating insurance.

Our goal

Basics of randomization – probability space, expectation, events, random variables, etc. Randomized Algorithms – Two types

Las Vegas Monte Carlo

Randomized Quick Sort

Ruta (UIUC) CS473 3 Spring 2018 3 / 53

slide-6
SLIDE 6

Part I Introduction to Randomized Algorithms

Ruta (UIUC) CS473 4 Spring 2018 4 / 53

slide-7
SLIDE 7

Randomized Algorithms

Input x Output y

Deterministic Algorithm

Ruta (UIUC) CS473 5 Spring 2018 5 / 53

slide-8
SLIDE 8

Randomized Algorithms

Input x Output y

Deterministic Algorithm

Input x Output yr

Randomized Algorithm

random bits r

Ruta (UIUC) CS473 5 Spring 2018 5 / 53

slide-9
SLIDE 9

Example: Verifying Matrix Multiplication

Problem

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

Ruta (UIUC) CS473 6 Spring 2018 6 / 53

slide-10
SLIDE 10

Example: Verifying Matrix Multiplication

Problem

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

Ruta (UIUC) CS473 6 Spring 2018 6 / 53

slide-11
SLIDE 11

Example: Verifying Matrix Multiplication

Problem

Given 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

slide-12
SLIDE 12

Example: Verifying Matrix Multiplication

Problem

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

Ruta (UIUC) CS473 7 Spring 2018 7 / 53

slide-13
SLIDE 13

Example: Verifying Matrix Multiplication

Problem

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

Ruta (UIUC) CS473 7 Spring 2018 7 / 53

slide-14
SLIDE 14

Example: Verifying Matrix Multiplication

Problem

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

Ruta (UIUC) CS473 7 Spring 2018 7 / 53

slide-15
SLIDE 15

Example: Verifying Matrix Multiplication

Problem

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

Theorem

If AB = C then the algorithm will always say YES. If AB = C then the algorithm will say YES with probability at most 1/2. Can repeat the algorithm 100 times independently to reduce the probability of a false positive to 1/2100.

Ruta (UIUC) CS473 7 Spring 2018 7 / 53

slide-16
SLIDE 16

Why randomized algorithms?

1

Many many applications in algorithms, data structures and computer science!

Ruta (UIUC) CS473 8 Spring 2018 8 / 53

slide-17
SLIDE 17

Why randomized algorithms?

1

Many many applications in algorithms, data structures and computer science!

2

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

Ruta (UIUC) CS473 8 Spring 2018 8 / 53

slide-18
SLIDE 18

Why randomized algorithms?

1

Many many applications in algorithms, data structures and computer science!

2

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

3

Often randomized algorithms are (much) simpler and/or more efficient.

Ruta (UIUC) CS473 8 Spring 2018 8 / 53

slide-19
SLIDE 19

Why randomized algorithms?

1

Many many applications in algorithms, data structures and computer science!

2

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

3

Often randomized algorithms are (much) simpler and/or more efficient.

4

Several deep connections to mathematics, physics etc.

5

. . .

6

Lots of fun!

Ruta (UIUC) CS473 8 Spring 2018 8 / 53

slide-20
SLIDE 20

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 the distribution over inputs.

Ruta (UIUC) CS473 9 Spring 2018 9 / 53

slide-21
SLIDE 21

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 the distribution over inputs. Randomized algorithms:

1

Input is arbitrary (worst case).

2

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

3

Analyze algorithms average performance over any given (worst case) input where the average is over the random bits that the algorithm uses.

Ruta (UIUC) CS473 9 Spring 2018 9 / 53

slide-22
SLIDE 22

Part II Basics of Discrete Probability

Ruta (UIUC) CS473 10 Spring 2018 10 / 53

slide-23
SLIDE 23

Discrete Probability

We restrict attention to finite probability spaces.

Definition

A discrete probability space is a pair (Ω, Pr) consists of finite set Ω

  • f elementary events and function Pr[:] Ω → [0, 1] which assigns

a probability Pr[ω] for each ω ∈ Ω such that

ω∈Ω Pr[ω] = 1.

Ruta (UIUC) CS473 11 Spring 2018 11 / 53

slide-24
SLIDE 24

Discrete Probability

We restrict attention to finite probability spaces.

Definition

A discrete probability space is a pair (Ω, Pr) consists of finite set Ω

  • f elementary events and function Pr[:] Ω → [0, 1] which assigns

a 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 for 1 ≤ i ≤ 6.

Ruta (UIUC) CS473 11 Spring 2018 11 / 53

slide-25
SLIDE 25

Events

Definition

Given a probability space (Ω, Pr) an event is a subset of Ω. In other words an event is a collection of elementary events. The probability

  • f an event A ⊆ Ω, denoted by Pr[A], is

ω∈A Pr[ω].

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

Ruta (UIUC) CS473 12 Spring 2018 12 / 53

slide-26
SLIDE 26

Events

Definition

Given a probability space (Ω, Pr) an event is a subset of Ω. In other words an event is a collection of elementary events. The probability

  • f an event A ⊆ Ω, denoted by Pr[A], is

ω∈A Pr[ω].

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

Example

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

Ruta (UIUC) CS473 12 Spring 2018 12 / 53

slide-27
SLIDE 27

Events

Definition

Given a probability space (Ω, Pr) an event is a subset of Ω. In other words an event is a collection of elementary events. The probability

  • f an event A ⊆ Ω, denoted by Pr[A], is

ω∈A Pr[ω].

The complement event of an event A ⊆ Ω is the event Ω \ A frequently 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
  • .

Ruta (UIUC) CS473 12 Spring 2018 12 / 53

slide-28
SLIDE 28

Events

Definition

Given a probability space (Ω, Pr) an event is a subset of Ω. In other words an event is a collection of elementary events. The probability

  • f an event A ⊆ Ω, denoted by Pr[A], is

ω∈A Pr[ω].

The complement event of an event A ⊆ Ω is the event Ω \ A frequently 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

slide-29
SLIDE 29

Independent Events

Definition

Given a probability space (Ω, Pr) and two events A, B are independent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwise they are dependent. In other words A, B independent implies one does not affect the other.

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

slide-30
SLIDE 30

Independent Events

Definition

Given a probability space (Ω, Pr) and two events A, B are independent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwise they are dependent. In other words A, B independent implies one does not affect the other.

Example

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

1

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

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

slide-31
SLIDE 31

Independent Events

Definition

Given a probability space (Ω, Pr) and two events A, B are independent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwise they are dependent. In other words A, B independent implies one does not affect the other.

Example

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

1

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

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

slide-32
SLIDE 32

Independent Events

Definition

Given a probability space (Ω, Pr) and two events A, B are independent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwise they are dependent. In other words A, B independent implies one does not affect the other.

Example

Two coins. Ω = {HH, TT, HT, TH} and Pr[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] =

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

slide-33
SLIDE 33

Independent Events

Definition

Given a probability space (Ω, Pr) and two events A, B are independent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwise they are dependent. In other words A, B independent implies one does not affect the other.

Example

Two coins. Ω = {HH, TT, HT, TH} and Pr[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.

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

slide-34
SLIDE 34

Independent Events

Definition

Given a probability space (Ω, Pr) and two events A, B are independent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwise they are dependent. In other words A, B independent implies one does not affect the other.

Example

Two coins. Ω = {HH, TT, HT, TH} and Pr[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] =

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

slide-35
SLIDE 35

Independent Events

Definition

Given a probability space (Ω, Pr) and two events A, B are independent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwise they are dependent. In other words A, B independent implies one does not affect the other.

Example

Two coins. Ω = {HH, TT, HT, TH} and Pr[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] =

Ruta (UIUC) CS473 13 Spring 2018 13 / 53

slide-36
SLIDE 36

Independent Events

Definition

Given a probability space (Ω, Pr) and two events A, B are independent if and only if Pr[A ∩ B] = Pr[A] Pr[B]. Otherwise they are dependent. In other words A, B independent implies one does not affect the other.

Example

Two coins. Ω = {HH, TT, HT, TH} and Pr[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

slide-37
SLIDE 37

Union bound

The probability of the union of two events, is no bigger than the sum of their probabilities.

Lemma

For 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 they are). 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

slide-38
SLIDE 38

Random Variables

Definition (Random Variable)

Given a probability space (Ω, Pr) a (real-valued) random variable X

  • ver Ω is a function that maps each elementary event to a real
  • number. In other words X : Ω → R.

Ruta (UIUC) CS473 15 Spring 2018 15 / 53

slide-39
SLIDE 39

Random Variables

Definition (Random Variable)

Given a probability space (Ω, Pr) a (real-valued) random variable X

  • ver Ω is a function that maps each elementary event to a real
  • number. In other words X : Ω → R.

Definition (Expectation)

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

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

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

Ruta (UIUC) CS473 15 Spring 2018 15 / 53

slide-40
SLIDE 40

Expectation

Example

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

1

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

Ruta (UIUC) CS473 16 Spring 2018 16 / 53

slide-41
SLIDE 41

Expectation

Example

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

1

X : Ω → R where X(i) = i mod 2 ∈ {0, 1}. Then E[X] = 6

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

6

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

Ruta (UIUC) CS473 16 Spring 2018 16 / 53

slide-42
SLIDE 42

Expectation

Example

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

1

X : Ω → R where X(i) = i mod 2 ∈ {0, 1}. Then E[X] = 6

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

6

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

2

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

Ruta (UIUC) CS473 16 Spring 2018 16 / 53

slide-43
SLIDE 43

Expectation

Example

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

1

X : Ω → R where X(i) = i mod 2 ∈ {0, 1}. Then E[X] = 6

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

6

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

2

Y : Ω → R where Y (i) = i 2. Then E[Y ] = 6

i=1 1 6 · i 2 = 91/6.

Ruta (UIUC) CS473 16 Spring 2018 16 / 53

slide-44
SLIDE 44

Expected number of vertices?

Let G = (V, E) be a graph with n vertices and m edges. Let H be the graph resulting from independently deleting every vertex of G with probability 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

slide-45
SLIDE 45

Expected number of vertices is:

Probability Space

Ω = {0, 1}n. For ω ∈ {0, 1}n, ωv = 1 if vertex v is present in H, else is zero. For each ω ∈ Ω, Pr[ω] =

1 2n .

Ruta (UIUC) CS473 18 Spring 2018 18 / 53

slide-46
SLIDE 46

Expected number of vertices is:

Probability Space

Ω = {0, 1}n. For ω ∈ {0, 1}n, ωv = 1 if vertex v is present in H, else is zero. For each ω ∈ Ω, Pr[ω] =

1 2n .

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

Ruta (UIUC) CS473 18 Spring 2018 18 / 53

slide-47
SLIDE 47

Expected number of vertices is:

Probability Space

Ω = {0, 1}n. For ω ∈ {0, 1}n, ωv = 1 if vertex v is present in H, else is zero. For each ω ∈ Ω, Pr[ω] =

1 2n .

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

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

=

  • ω∈Ω 1/2nX(ω)

=

1/2n n k=0

n

k

  • k

=

1/2n(2n n 2)

= n/2

Ruta (UIUC) CS473 18 Spring 2018 18 / 53

slide-48
SLIDE 48

Expected number of edges?

Let G = (V, E) be a graph with n vertices and m edges. Let H be the graph resulting from independently deleting every vertex of G with 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

slide-49
SLIDE 49

Expected number of edges is:

Probability Space

Ω = {0, 1}n. For ω ∈ {0, 1}n, ωv = 1 if vertex v is present in H, else is zero. For each ω ∈ Ω, Pr[ω] =

1 2n .

Ruta (UIUC) CS473 20 Spring 2018 20 / 53

slide-50
SLIDE 50

Expected number of edges is:

Probability Space

Ω = {0, 1}n. For ω ∈ {0, 1}n, ωv = 1 if vertex v is present in H, else is zero. For each ω ∈ Ω, Pr[ω] =

1 2n .

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

Ruta (UIUC) CS473 20 Spring 2018 20 / 53

slide-51
SLIDE 51

Expected number of edges is:

Probability Space

Ω = {0, 1}n. For ω ∈ {0, 1}n, ωv = 1 if vertex v is present in H, else is zero. For each ω ∈ Ω, Pr[ω] =

1 2n .

X(ω) = # edges present in H as per ω = ?? How to compute E[X]?

Ruta (UIUC) CS473 20 Spring 2018 20 / 53

slide-52
SLIDE 52

Indicator Random Variables

Definition

A binary random variable is one that takes on values in {0, 1}.

Ruta (UIUC) CS473 21 Spring 2018 21 / 53

slide-53
SLIDE 53

Indicator Random Variables

Definition

A binary random variable is one that takes on values in {0, 1}. Special type of random variables that are quite useful.

Definition

Given a probability space (Ω, Pr) and an event A ⊆ Ω the indicator random variable XA is a binary random variable where XA(ω) = 1 if ω ∈ A and XA(ω) = 0 if ω ∈ A.

Ruta (UIUC) CS473 21 Spring 2018 21 / 53

slide-54
SLIDE 54

Indicator Random Variables

Definition

A binary random variable is one that takes on values in {0, 1}. Special type of random variables that are quite useful.

Definition

Given a probability space (Ω, Pr) and an event A ⊆ Ω the indicator random variable XA is a binary random variable where XA(ω) = 1 if ω ∈ A and XA(ω) = 0 if ω ∈ A.

Example

A 6-sided unbiased die. Ω = {1, 2, 3, 4, 5, 6} and Pr[i] = 1/6 for each 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

slide-55
SLIDE 55

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

slide-56
SLIDE 56

Linearity of Expectation

Lemma

Let X, Y be two random variables (not necessarily independent) over a 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 ] .

Ruta (UIUC) CS473 23 Spring 2018 23 / 53

slide-57
SLIDE 57

Linearity of Expectation

Lemma

Let X, Y be two random variables (not necessarily independent) over a 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

slide-58
SLIDE 58

Expected number of edges?

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

Ruta (UIUC) CS473 24 Spring 2018 24 / 53

slide-59
SLIDE 59

Expected number of edges?

Let G = (V, E) be a graph with n vertices and m edges. Let H be the graph resulting from independently deleting every vertex of G with 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] = 1

2 · 1 2 = 1 4.

Ruta (UIUC) CS473 24 Spring 2018 24 / 53

slide-60
SLIDE 60

Expected number of edges?

Let G = (V, E) be a graph with n vertices and m edges. Let H be the graph resulting from independently deleting every vertex of G with 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] = 1

2 · 1 2 = 1 4.

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

Ruta (UIUC) CS473 24 Spring 2018 24 / 53

slide-61
SLIDE 61

Expected number of edges?

Let G = (V, E) be a graph with n vertices and m edges. Let H be the graph resulting from independently deleting every vertex of G with 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] = 1

2 · 1 2 = 1 4.

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

e∈E XAe (Number of edges in H)

Ruta (UIUC) CS473 24 Spring 2018 24 / 53

slide-62
SLIDE 62

Expected number of edges?

Let G = (V, E) be a graph with n vertices and m edges. Let H be the graph resulting from independently deleting every vertex of G with 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] = 1

2 · 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] = m 4

Ruta (UIUC) CS473 24 Spring 2018 24 / 53

slide-63
SLIDE 63

Expected number of edges?

Let G = (V, E) be a graph with n vertices and m edges. Let H be the graph resulting from independently deleting every vertex of G with 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] = 1

2 · 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] = m 4 It is important to setup random variables carefully.

Ruta (UIUC) CS473 24 Spring 2018 24 / 53

slide-64
SLIDE 64

Expected number of triangles?

Let G = (V, E) be a graph with n vertices and m edges. Assume G has t triangles (i.e., a triangle is a simple cycle with three vertices). Let H be the graph resulting from deleting independently each vertex

  • f 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

slide-65
SLIDE 65

Independent Random Variables

Definition

Random variables X, Y are said to be independent if ∀x, y ∈ R, Pr[X = x ∧ Y = y] = Pr[X = x] Pr[Y = y] .

Ruta (UIUC) CS473 26 Spring 2018 26 / 53

slide-66
SLIDE 66

Independent Random Variables

Definition

Random 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 else 0.

Ruta (UIUC) CS473 26 Spring 2018 26 / 53

slide-67
SLIDE 67

Independent Random Variables

Definition

Random 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 else

  • 0. Independent.

Ruta (UIUC) CS473 26 Spring 2018 26 / 53

slide-68
SLIDE 68

Independent Random Variables

Definition

Random 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 else

  • 0. Independent.

X = #H, Y = #T.

Ruta (UIUC) CS473 26 Spring 2018 26 / 53

slide-69
SLIDE 69

Independent Random Variables

Definition

Random 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 else

  • 0. Independent.

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

Ruta (UIUC) CS473 26 Spring 2018 26 / 53

slide-70
SLIDE 70

Independent Random Variables

Lemma

If 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

slide-71
SLIDE 71

Types of Randomized Algorithms

Typically one encounters the following types:

1

Las Vegas randomized algorithms: for a given input x

  • utput of algorithm is always correct but the running time is a

random variable. In this case we are interested in analyzing the expected running time.

Ruta (UIUC) CS473 28 Spring 2018 28 / 53

slide-72
SLIDE 72

Types of Randomized Algorithms

Typically one encounters the following types:

1

Las Vegas randomized algorithms: for a given input x

  • utput of algorithm is always correct but the running time is a

random variable. In this case we are interested in analyzing the expected running time.

2

Monte Carlo randomized algorithms: for a given input x the running time is deterministic but the output is random; correct with some probability. In this case we are interested in analyzing the 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

slide-73
SLIDE 73

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

x:|x|=n Q(x).

Ruta (UIUC) CS473 29 Spring 2018 29 / 53

slide-74
SLIDE 74

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

x:|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

Ruta (UIUC) CS473 29 Spring 2018 29 / 53

slide-75
SLIDE 75

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

x:|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) = max

x:|x|=n E[R(x)] .

Ruta (UIUC) CS473 29 Spring 2018 29 / 53

slide-76
SLIDE 76

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.

Ruta (UIUC) CS473 30 Spring 2018 30 / 53

slide-77
SLIDE 77

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

x:|x|=n Pr[x] .

Ruta (UIUC) CS473 30 Spring 2018 30 / 53

slide-78
SLIDE 78

Part III Why does randomization help?

Ruta (UIUC) CS473 31 Spring 2018 31 / 53

slide-79
SLIDE 79

Ping and find.

Consider a deterministic algorithm A that is trying to find an element in an array X of size n. At every step it is allowed to ask the value of

  • ne cell in the array, and the adversary is allowed after each such

ping, to shuffle elements around in the array in any way it seems fit. For the best possible deterministic algorithm the number of rounds it has 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

slide-80
SLIDE 80

Ping and find randomized.

Consider an algorithm randFind that is trying to find an element in an array X of size n. At every step it asks the value of one random cell in the array, and the adversary is allowed after each such ping, to shuffle elements around in the array in any way it seems fit. This algorithm 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

slide-81
SLIDE 81

Abundance of witnesses

Consider the problem of finding an “approximate median” of an unsorted array A[1..n]: an element of A with rank between n/4 and 3n/4. Finding an approximate median is not any easier than a proper median.

Ruta (UIUC) CS473 34 Spring 2018 34 / 53

slide-82
SLIDE 82

Abundance of witnesses

Consider the problem of finding an “approximate median” of an unsorted array A[1..n]: an element of A with rank between n/4 and 3n/4. Finding an approximate median is not any easier than a proper median. n/2 elements of A qualify as approximate medians and hence a random element is good with probability 1/2!

Ruta (UIUC) CS473 34 Spring 2018 34 / 53

slide-83
SLIDE 83

Part IV Randomized Quick Sort

Ruta (UIUC) CS473 35 Spring 2018 35 / 53

slide-84
SLIDE 84

QuickSort

Deterministic QuickSort

1

Pick a pivot element from array

2

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

3

Recursively sort the subarrays, and concatenate them.

Ruta (UIUC) CS473 36 Spring 2018 36 / 53

slide-85
SLIDE 85

QuickSort

Deterministic QuickSort

1

Pick a pivot element from array

2

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

3

Recursively sort the subarrays, and concatenate them.

Randomized QuickSort

1

Pick a pivot element uniformly at random from the array

2

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

3

Recursively sort the subarrays, and concatenate them.

Ruta (UIUC) CS473 36 Spring 2018 36 / 53

slide-86
SLIDE 86

Randomized Quicksort

Recall: Deterministic QuickSort can take Ω(n2) time to sort array

  • f size n.

Ruta (UIUC) CS473 37 Spring 2018 37 / 53

slide-87
SLIDE 87

Randomized Quicksort

Recall: Deterministic QuickSort can take Ω(n2) time to sort array

  • f size n.

Theorem

Randomized QuickSort sorts a given array of length n in O(n log n) expected time.

Ruta (UIUC) CS473 37 Spring 2018 37 / 53

slide-88
SLIDE 88

Randomized Quicksort

Recall: Deterministic QuickSort can take Ω(n2) time to sort array

  • f size n.

Theorem

Randomized QuickSort sorts a given array of length n in O(n log n) expected time. Note: On every input randomized QuickSort takes O(n log n) time in expectation. On every input it may take Ω(n2) time with some small probability.

Ruta (UIUC) CS473 37 Spring 2018 37 / 53

slide-89
SLIDE 89

Randomized QuickSort

Randomized QuickSort

1

Pick a pivot element uniformly at random from the array.

2

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

3

Recursively sort the subarrays, and concatenate them.

Ruta (UIUC) CS473 38 Spring 2018 38 / 53

slide-90
SLIDE 90

Analysis

What events to count? Number of Comparisions.

Ruta (UIUC) CS473 39 Spring 2018 39 / 53

slide-91
SLIDE 91

Analysis

What events to count? Number of Comparisions. What is the probability space? All the coin tosses at all levels and parts of recursion.

Ruta (UIUC) CS473 39 Spring 2018 39 / 53

slide-92
SLIDE 92

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

Ruta (UIUC) CS473 39 Spring 2018 39 / 53

slide-93
SLIDE 93

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

slide-94
SLIDE 94

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.

Ruta (UIUC) CS473 40 Spring 2018 40 / 53

slide-95
SLIDE 95

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 of rank i in A, else zero. Let Ai

left and Ai right be the corresponding left and right subarrays.

Ruta (UIUC) CS473 40 Spring 2018 40 / 53

slide-96
SLIDE 96

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 of rank i in A, else zero. Let Ai

left and Ai right be the corresponding left and right subarrays.

Q(A) = n +

n

  • i=1

Xi ·

  • Q(Ai

left) + Q(Ai right)

  • .

Ruta (UIUC) CS473 40 Spring 2018 40 / 53

slide-97
SLIDE 97

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 of rank i in A, else zero. Let Ai

left and Ai right be the corresponding left and right subarrays.

Q(A) = n +

n

  • i=1

Xi ·

  • Q(Ai

left) + Q(Ai right)

  • .

Since each element of A has probability exactly of 1/n of being chosen: E[Xi] = Pr[pivot has rank i] = 1/n.

Ruta (UIUC) CS473 40 Spring 2018 40 / 53

slide-98
SLIDE 98

Independence of Random Variables

Lemma

Random variables Xi is independent of random variables Q(Ai

left) as

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

Q(Ai

right) uses new random coin tosses that are independent of the

coin tosses used to decide the first pivot. Only the latter decides value of Xi.

Ruta (UIUC) CS473 41 Spring 2018 41 / 53

slide-99
SLIDE 99

Analysis via Recurrence

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

Ruta (UIUC) CS473 42 Spring 2018 42 / 53

slide-100
SLIDE 100

Analysis via Recurrence

Let T(n) = maxA:|A|=n E[Q(A)] be the worst-case expected running 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(Ai right)

  • Ruta (UIUC)

CS473 42 Spring 2018 42 / 53

slide-101
SLIDE 101

Analysis via Recurrence

Let T(n) = maxA:|A|=n E[Q(A)] be the worst-case expected running 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(Ai right)

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

  • .

Ruta (UIUC) CS473 42 Spring 2018 42 / 53

slide-102
SLIDE 102

Analysis via Recurrence

Let T(n) = maxA:|A|=n E[Q(A)] be the worst-case expected running 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(Ai right)

  • 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

slide-103
SLIDE 103

Analysis via Recurrence

Let T(n) = maxA:|A|=n E[Q(A)] be the worst-case expected running 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)) .

Ruta (UIUC) CS473 43 Spring 2018 43 / 53

slide-104
SLIDE 104

Analysis via Recurrence

Let T(n) = maxA:|A|=n E[Q(A)] be the worst-case expected running 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 max

A:|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

slide-105
SLIDE 105

Solving the Recurrence

T(n) ≤ n +

n

  • i=1

1 n (T(i − 1) + T(n − i)) with base case T(1) = 0.

Ruta (UIUC) CS473 44 Spring 2018 44 / 53

slide-106
SLIDE 106

Solving the Recurrence

T(n) ≤ n +

n

  • i=1

1 n (T(i − 1) + T(n − i)) with base case T(1) = 0.

Lemma

T(n) = O(n log n).

Ruta (UIUC) CS473 44 Spring 2018 44 / 53

slide-107
SLIDE 107

Solving the Recurrence

T(n) ≤ n +

n

  • i=1

1 n (T(i − 1) + T(n − i)) with base case T(1) = 0.

Lemma

T(n) = O(n log n).

Proof.

(Guess and) Verify by induction.

Ruta (UIUC) CS473 44 Spring 2018 44 / 53

slide-108
SLIDE 108

Part V Slick analysis of QuickSort

Ruta (UIUC) CS473 45 Spring 2018 45 / 53

slide-109
SLIDE 109

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 is compared with rank j element.

Ruta (UIUC) CS473 46 Spring 2018 46 / 53

slide-110
SLIDE 110

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 is compared with rank j element.

2

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

Ruta (UIUC) CS473 46 Spring 2018 46 / 53

slide-111
SLIDE 111

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 is compared with rank j element.

2

Xij is the indicator random variable for Rij. That is, Xij = 1 if rank 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

slide-112
SLIDE 112

A Slick Analysis of QuickSort

Rij = rank i element is compared with rank j element. Question: What is Pr[Rij]?

Ruta (UIUC) CS473 47 Spring 2018 47 / 53

slide-113
SLIDE 113

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 6

1 2 3 4 5 6 7 8

Ruta (UIUC) CS473 47 Spring 2018 47 / 53

slide-114
SLIDE 114

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 6

1 2 3 4 5 6 7 8 As such, probability of comparing 5 to 8 is Pr[R4,7].

Ruta (UIUC) CS473 47 Spring 2018 47 / 53

slide-115
SLIDE 115

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 6

1 2 3 4 5 6 7 8

1

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

7 5 9 1 3 4 8 6

= ⇒

7 5 9 3 4 8 6 1

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

Ruta (UIUC) CS473 47 Spring 2018 47 / 53

slide-116
SLIDE 116

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 6

1 2 3 4 5 6 7 8

1

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

7 5 9 1 3 4 8 6

= ⇒

7 5 9 3 4 8 6 1

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

slide-117
SLIDE 117

A Slick Analysis of QuickSort

Question: What is Pr[Ri,j]?

7 5 9 1 3 4 8 6

1 2 3 4 5 6 7 8 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

slide-118
SLIDE 118

A Slick Analysis of QuickSort

Question: What is Pr[Ri,j]?

7 5 9 1 3 4 8 6

1 2 3 4 5 6 7 8 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 9 1 3 4 6 8

Ruta (UIUC) CS473 48 Spring 2018 48 / 53

slide-119
SLIDE 119

A Slick Analysis of QuickSort

Question: What is Pr[Ri,j]?

7 5 9 1 3 4 8 6

1 2 3 4 5 6 7 8 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 9 1 3 4 6 8

3

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

7 5 9 1 3 4 8 6

= ⇒

7 5 9 1 3 4 6 8

5 and 8 will never be compared to each other.

Ruta (UIUC) CS473 48 Spring 2018 48 / 53

slide-120
SLIDE 120

A Slick Analysis of QuickSort

Question: What is Pr[Ri,j]?

Conclusion:

Ri,j happens if and only if: ith or jth ranked element is the first pivot out of ith to jth ranked elements. Pr[Ri,j] = Pr[ith or jth ranked element is the pivot | pivot has rank in {i, i + 1 . . . , j − 1, j}]

Ruta (UIUC) CS473 49 Spring 2018 49 / 53

slide-121
SLIDE 121

A Slick Analysis of QuickSort

Question: What is Pr[Ri,j]?

Conclusion:

Ri,j happens if and only if: ith or jth ranked element is the first pivot out of ith to jth ranked elements. Pr[Ri,j] = Pr[ith or jth 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

slide-122
SLIDE 122

A Slick Analysis of QuickSort

Question: What is Pr[Rij]?

Lemma

Pr

  • Rij
  • =

2 j−i+1.

Ruta (UIUC) CS473 50 Spring 2018 50 / 53

slide-123
SLIDE 123

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}

Ruta (UIUC) CS473 50 Spring 2018 50 / 53

slide-124
SLIDE 124

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 left array or right array.

Ruta (UIUC) CS473 50 Spring 2018 50 / 53

slide-125
SLIDE 125

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 left array or right array. Observation: ai and aj separated when a pivot is chosen from S for the first time. Once separated no comparison.

Ruta (UIUC) CS473 50 Spring 2018 50 / 53

slide-126
SLIDE 126

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 left array or right array. Observation: ai and aj separated when a pivot is chosen from S for the first time. Once separated no comparison. Observation: ai is compared with aj if and only if either ai or aj is chosen as a pivot from S at separation...

Ruta (UIUC) CS473 50 Spring 2018 50 / 53

slide-127
SLIDE 127

A Slick Analysis of QuickSort

Continued...

Lemma

Pr

  • Rij
  • =

2 j−i+1.

Proof.

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

Ruta (UIUC) CS473 51 Spring 2018 51 / 53

slide-128
SLIDE 128

A Slick Analysis of QuickSort

Continued...

E

  • Q(A)
  • =
  • 1≤i<j≤n

E[Xij] =

  • 1≤i<j≤n

Pr[Rij] .

Lemma

Pr[Rij] =

2 j−i+1.

Ruta (UIUC) CS473 52 Spring 2018 52 / 53

slide-129
SLIDE 129

A Slick Analysis of QuickSort

Continued...

Lemma

Pr[Rij] =

2 j−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

slide-130
SLIDE 130

A Slick Analysis of QuickSort

Continued...

Lemma

Pr[Rij] =

2 j−i+1.

E

  • Q(A)
  • =
  • 1≤i<j≤n

2 j − i + 1

Ruta (UIUC) CS473 52 Spring 2018 52 / 53

slide-131
SLIDE 131

A Slick Analysis of QuickSort

Continued...

Lemma

Pr[Rij] =

2 j−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

slide-132
SLIDE 132

A Slick Analysis of QuickSort

Continued...

Lemma

Pr[Rij] =

2 j−i+1.

E

  • Q(A)
  • =

n−1

  • i=1

n

  • j=i+1

2 j − i + 1

Ruta (UIUC) CS473 52 Spring 2018 52 / 53

slide-133
SLIDE 133

A Slick Analysis of QuickSort

Continued...

Lemma

Pr[Rij] =

2 j−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

slide-134
SLIDE 134

A Slick Analysis of QuickSort

Continued...

Lemma

Pr[Rij] =

2 j−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

slide-135
SLIDE 135

A Slick Analysis of QuickSort

Continued...

Lemma

Pr[Rij] =

2 j−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 ∆ ≤ 2

n−1

  • i=1

(Hn−i+1 − 1) ≤ 2

  • 1≤i<n

Hn Hk = k

i=1 1 i = Θ(log k)

Ruta (UIUC) CS473 52 Spring 2018 52 / 53

slide-136
SLIDE 136

A Slick Analysis of QuickSort

Continued...

Lemma

Pr[Rij] =

2 j−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 ∆ ≤ 2

n−1

  • i=1

(Hn−i+1 − 1) ≤ 2

  • 1≤i<n

Hn ≤ 2nHn = O(n log n) Hk = k

i=1 1 i = Θ(log k)

Ruta (UIUC) CS473 52 Spring 2018 52 / 53

slide-137
SLIDE 137

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 theory

  • n this topic. Beyond the scope of this course.

4

In practice pseudo-random generators work quite well in many applications.

5

The model is interesting to think in the abstract and is very useful even as a theoretical construct. One can derandomize randomized algorithms to obtain deterministic algorithms.

Ruta (UIUC) CS473 53 Spring 2018 53 / 53