28
Asymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2

Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

  • Upload
    others

  • View
    25

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

Asymptotic Notation, Recurrences: Substitution, Iteration, Master Method

Lecture 2

Page 2: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.2

Solving recurrences

• The analysis of merge sort fromLecture 1 required us to solve arecurrence.

• Recurrences are like solving integrals,differential equations, etc.

Learn a few tricks.

• Lecture 3: Applications of recurrences.

Page 3: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.3

Substitution method

1. Guess the form of the solution.

2. Verify by induction.

3. Solve for constants.

The most general method:

Example: T(n) = 4T(n/2) + n

• [Assume that T(1) = Q(1).]

• Guess O(n3) . (Prove O and W separately.)

• Assume that T(k) ck3 for k < n .

• Prove T(n) cn3 by induction.

Page 4: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.4

Example of substitution

3

33

3

3

))2/((

)2/(

)2/(4

)2/(4)(

cn

nnccn

nnc

nnc

nnTnT

desired – residual

whenever (c/2)n3 – n 0, for

example, if c 2 and n 1.

desired

residual

Page 5: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.5

Example (continued)

• We must also handle the initial conditions,that is, ground the induction with basecases.

• Base: T(n) = Q(1) for all n < n0, where n0

is a suitable constant.

• For 1 n < n0, we have “Q(1)” cn3, if wepick c big enough.

This bound is not tight!

Page 6: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.6

A tighter upper bound?

We shall prove that T(n) = O(n2).

Assume that T(k) ck2 for k < n:

)(

4

)2/(4)(2

nO

ncn

nnTnT

Wrong! We must prove the I.H.

2

2 )(

cn

ncn

for no choice of c > 0. Lose!

[ desired – residual ]

Page 7: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.7

A tighter upper bound!

IDEA: Strengthen the inductive hypothesis.

• Subtract a low-order term.

Inductive hypothesis: T(k) c1k2 – c2k for k < n.

)(

2

)2/()2/((4

)2/(4)(

22

1

222

1

22

1

22

1

ncnc

nncncnc

nncnc

nncnc

nnTnT

if c2 > 1.

Pick c1 big enough to handle the initial conditions.

Page 8: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.8

Recursion-tree method

• A recursion tree models the costs (time) of arecursive execution of an algorithm.

• The recursion tree method is good forgenerating guesses for the substitution method.

• The recursion-tree method can be unreliable,just like any method that uses ellipses (…).

• The recursion-tree method promotes intuition,however.

Page 9: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.9

Example of recursion tree

Solve T(n) = T(n/4) + T(n/2) + n2:

Page 10: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.10

Example of recursion tree

T(n)

Solve T(n) = T(n/4) + T(n/2) + n2:

Page 11: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.11

Example of recursion tree

T(n/4) T(n/2)

n2

Solve T(n) = T(n/4) + T(n/2) + n2:

Page 12: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.12

Example of recursion tree

Solve T(n) = T(n/4) + T(n/2) + n2:

n2

(n/4)2 (n/2)2

T(n/16) T(n/8) T(n/8) T(n/4)

Page 13: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.13

Example of recursion tree

(n/16)2 (n/8)2 (n/8)2 (n/4)2

(n/4)2 (n/2)2

Q(1)

Solve T(n) = T(n/4) + T(n/2) + n2:

n2

Page 14: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.14

Example of recursion tree

Solve T(n) = T(n/4) + T(n/2) + n2:

(n/16)2 (n/8)2 (n/8)2 (n/4)2

(n/4)2 (n/2)2

Q(1)

2nn2

Page 15: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.15

Example of recursion tree

Solve T(n) = T(n/4) + T(n/2) + n2:

(n/16)2 (n/8)2 (n/8)2 (n/4)2

(n/4)2 (n/2)2

Q(1)

2

165 n

2nn2

Page 16: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.16

Example of recursion tree

Solve T(n) = T(n/4) + T(n/2) + n2:

(n/16)2 (n/8)2 (n/8)2 (n/4)2

(n/4)2

Q(1)

2

165 n

2n

2

25625 n

n2

(n/2)2

Page 17: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.17

Example of recursion tree

Solve T(n) = T(n/4) + T(n/2) + n2:

(n/16)2 (n/8)2 (n/8)2 (n/4)2

(n/4)2

Q(1)

2

165 n

2n

2

25625 n

13

1652

165

1652 n

Total =

= Q(n2)

n2

(n/2)2

geometric series

Page 18: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.18

The master method

The master method applies to recurrences of

the form

T(n) = a T(n/b) + f (n) ,

where a 1, b > 1, and f is asymptotically

positive.

Page 19: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.19

Three common cases

Compare f (n) with nlogba:

1. f (n) = O(nlogba – e) for some constant e > 0.

• f (n) grows polynomially slower than nlogba

(by an ne factor).

Solution: T(n) = Q(nlogba) .

2. f (n) = Q(nlogba lgkn) for some constant k 0.

• f (n) and nlogba grow at similar rates.

Solution: T(n) = Q(nlogba lgk+1n) .

Page 20: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.20

Three common cases (cont.)

Compare f (n) with nlogba:

3. f (n) = W(nlogba + e) for some constant e > 0.

• f (n) grows polynomially faster than nlogba (byan ne factor),

and f (n) satisfies the regularity condition that a f (n/b) c f (n) for some constant c < 1.

Solution: T(n) = Q( f (n) ) .

Page 21: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.21

Examples

Ex. T(n) = 4T(n/2) + n a = 4, b = 2 nlogba = n2; f (n) = n. CASE 1: f (n) = O(n2 – e) for e = 1. T(n) = Q(n2).

Ex. T(n) = 4T(n/2) + n2 a = 4, b = 2 nlogba = n2; f (n) = n2. CASE 2: f (n) = Q(n2lg0n), that is, k = 0. T(n) = Q(n2lg n).

Page 22: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.22

Examples

Ex. T(n) = 4T(n/2) + n3 a = 4, b = 2 nlogba = n2; f (n) = n3. CASE 3: f (n) = W(n2 + e) for e = 1 and 4(cn/2)3 cn3 (reg. cond.) for c = 1/2. T(n) = Q(n3).

Ex. T(n) = 4T(n/2) + n2/lg n a = 4, b = 2 nlogba = n2; f (n) = n2/lg n. Master method does not apply. In particular, for every constant e > 0, we have ne w(lg n).

Page 23: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.23

General method (Akra-Bazzi)

)()/()(1

nfbnTanTk

iii

Let p be the unique solution to

/bak

i

pii 1

1

Then, the answers are the same as for the master method, but with np instead of nlogba. (Akra and Bazzi also prove an even more general result.)

.

Page 24: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.24

f (n/b)

Idea of master theorem

f (n/b) f (n/b)

T (1)

Recursion tree:

f (n)a

f (n/b2) f (n/b2) f (n/b2)…

a h = logbn

f (n)

a f (n/b)

a2 f (n/b2)

#leaves = ah

= alogbn

= nlogba

nlogbaT (1)

Page 25: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.25

f (n/b)

Idea of master theorem

f (n/b) f (n/b)

T (1)

Recursion tree:

f (n)a

f (n/b2) f (n/b2) f (n/b2)…

a h = logbn

f (n)

a f (n/b)

a2 f (n/b2)

nlogbaT (1) CASE 1: The weight increases geometrically from the root to the leaves. The leaves hold a constant fraction of the total weight. Q(nlogba)

Page 26: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.26

f (n/b)

Idea of master theorem

f (n/b) f (n/b)

T (1)

Recursion tree:

f (n)a

f (n/b2) f (n/b2) f (n/b2)…

a h = logbn

f (n)

a f (n/b)

a2 f (n/b2)

nlogbaT (1) CASE 2: (k = 0) The weight is approximately the same on each of the logbn levels.

Q(nlogbalg n)

Page 27: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.27

f (n/b)

Idea of master theorem

f (n/b) f (n/b)

T (1)

Recursion tree:

f (n)a

f (n/b2) f (n/b2) f (n/b2)…

a h = logbn

f (n)

a f (n/b)

a2 f (n/b2)

nlogbaT (1) CASE 3: The weight decreases geometrically from the root to the leaves. The root holds a constant fraction of the total weight. Q( f (n))

Page 28: Asymptotic Notation, Recurrences: Substitution, …sourav/Lecture-02.pdfAsymptotic Notation, Recurrences: Substitution, Iteration, Master Method Lecture 2 L2.2 Solving recurrences

L2.28

Conclusion

• Next time: applying the master method.

• For proof of master theorem, see text book.