Top Banner
Chapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science University of Toronto Feb 27, 2015 Mathematical Expression and Reasoning 1
22

Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Mar 09, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Chapter 4

Algorithm Analysis and AsymptoticNotation

Bahar AameriDepartment of Computer Science

University of Toronto

Feb 27, 2015

Mathematical Expression and Reasoning 1

Page 2: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Announcements

Assignment 2 is due next Friday Mar 06, before midnight.

TA office Hours for Assignment 2:Tuesday, Mar 03, 4-6pm in BA3201Thursday, Mar 05, 10am-noon, 4-8pm in BA3201

Term Test 2:Section L0101: Tuesday Mar 10, 2:10-3:30 Location: EX100

Section L0201: Thursday Mar 12, 2:10-3:30 Location: EX100

You must write the test in the section that you are enrolled in, unlessyou have talked to the instructors and they allowed you to switch.

Content: Chapter 3. Review lecture and course notes!

Mathematical Expression and Reasoning 2

Page 3: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Today’s Topics

Review: Asymptotic Notation

Example: Asymptotic Notation

Limits and Asymptotic Notation

Mathematical Expression and Reasoning 3

Page 4: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Chapter 4

Algorithm Analysis and AsymptoticNotation

Review: Asymptotic Notation

Mathematical Expression and Reasoning 4

Page 5: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Review: Asymptotic Notation

Big-Oh

f ∈ O(g): g is an upper bound of f .For sufficiently large values of n, g(n) multiply by a constant is alwaysgreater than f(n).

∃c ∈ R+,∃B ∈ N,∀n ∈ N, n ≥ B⇒ f(n) ≤ c.g(n)

g(n) = n2f(n) = 2n2+2n+1

Mathematical Expression and Reasoning 5

Page 6: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Review: Asymptotic Notation

Big-Oh

f ∈ O(g): g is an upper bound of f .For sufficiently large values of n, g(n) multiply by a constant is alwaysgreater than f(n).

∃c ∈ R+,∃B ∈ N,∀n ∈ N, n ≥ B⇒ f(n) ≤ c.g(n)

B=3

g(n) = n2

c.g(n) = c.n2

f(n) = 2n2+2n+1

(c=3) (2n2 + 2n + 1) ∈ O(n2)

Mathematical Expression and Reasoning 6

Page 7: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Review: Asymptotic Notation

Big-Omega

f ∈ Ω(g): g is a lower bound of f .For sufficiently large values of n, g(n) multiply by a constant is alwaysless than f(n).

∃c ∈ R+,∃B ∈ N,∀n ∈ N, n ≥ B⇒ f(n) ≥ c.g(n)

g(n) = n2

f(n) = - 6 2 n2

Mathematical Expression and Reasoning 7

Page 8: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Review: Asymptotic Notation

Big-Omega

f ∈ Ω(g): g is a lower bound of f .For sufficiently large values of n, g(n) multiply by a constant is alwaysless than f(n).

∃c ∈ R+,∃B ∈ N,∀n ∈ N, n ≥ B⇒ f(n) ≥ c.g(n)

B=6

g(n) = n2

c.g(n) =

f(n) = - 6 2 n2

3 n2

c= 3 1

(n2

2− 6) ∈ Ω(n2)

Mathematical Expression and Reasoning 8

Page 9: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Review: Asymptotic Notation

Big-Theta

f ∈ Θ(g): g is a tight bound of f .For sufficiently large values of n, g(n) is both an upper bound and alower bound for f(n).

∃c1 ∈ R+, ∃c2 ∈ R+, ∃B ∈ N, ∀n ∈ N, n ≥ B⇒ c1.g(n) ≤ f(n) ≤ c2.g(n)

f(n) = n2+2n+1

g(n) = n2

Mathematical Expression and Reasoning 9

Page 10: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Review: Asymptotic Notation

Big-Theta

f ∈ Θ(g): g is a tight bound of f .For sufficiently large values of n, g(n) is both an upper bound and alower bound for f(n).

∃c1 ∈ R+, ∃c2 ∈ R+, ∃B ∈ N, ∀n ∈ N, n ≥ B⇒ c1.g(n) ≤ f(n) ≤ c2.g(n)

f(n) = n2+2n+1

c1.g(n) = n2

c2.g(n) = n2

c2=2

B=3

c1=1

(n2 + 2n + 1) ∈ Θ(n2)

Mathematical Expression and Reasoning 10

Page 11: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Chapter 4

Algorithm Analysis and AsymptoticNotation

Example: Asymptotic Notation

Mathematical Expression and Reasoning 11

Page 12: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Example: Proving Lower Bound

Let g(n) = n2, f(n) = n2+n−43

.Prove that f ∈ Ω(g)

∃c ∈ R+,∃B ∈ N,∀n ∈ N, n ≥ B ⇒ n2+n−43

≥ c.n2

Proof Structure

Let c = ..., B = .... Then c ∈ R+, B ∈ N.Assume n ∈ N. # n is a typical natural number

Assume n ≥ B. # antecedent...

Then n ≥ B =⇒ n2+n−43

≥ c.n2. # introduce =⇒Then ∀n ∈ N, n ≥ B =⇒ n2+n−4

3≥ c.n2. # introduce ∀

Then ∃c ∈ R+, ∃B ∈ N, ∀n ∈ N, n ≥ B =⇒ n2+n−43

≥ c.n2. #introduce ∃

Mathematical Expression and Reasoning 12

Page 13: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Example: Proving Lower Bound

Let g(n) = n2, f(n) = n2+n−43

.Prove that f ∈ Ω(g)

∃c ∈ R+,∃B ∈ N,∀n ∈ N, n ≥ B ⇒ f(n) ≥ c.g(n)

Scratch Work

Find an appropriate value for c and B.

First choose a value for c: 14

seems reasonable.

Assuming c = 14

, find an appropriate value for B:

n2

4≤ n2 + n− 4

3⇐⇒ 3n2 ≤ 4n2 + 4n− 16 # multiply both sides by 12

⇐⇒ 0 ≤ n2 + 4n− 16 # subtract 3n2 from both sides

⇐⇒ 2 < n # solving the quadratic inequalityB = 3

Mathematical Expression and Reasoning 13

Page 14: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Example: Proving Lower Bound

Let g(n) = n2, f(n) = n2+n−43

.Prove that f ∈ Ω(g)

∃c ∈ R+,∃B ∈ N,∀n ∈ N, n ≥ B ⇒ n2+n−43

≥ c.n2

Proof Structure

Let c = 14

, B = 3. Then c ∈ R+, B ∈ N.Assume n ∈ N. # n is a typical natural number

Assume n ≥ B. # antecedent3n2 ≥ 3n2. # 3n2 = 3n2

4n2 + 4n− 16 ≥ 3n2. # n ≥ 3, so n2 + 4n− 16 ≥ 5n2+n−4

3≥ n2

4. # divide both sides by 12

n2+n−43

≥ c.n2. # c = 14

Then n ≥ B =⇒ n2+n−43

≥ c.n2. # introduce =⇒Then ∀n ∈ N, n ≥ B =⇒ n2+n−4

3≥ c.n2. # introduce ∀

Then ∃c ∈ R+, ∃B ∈ N, ∀n ∈ N, n ≥ B =⇒ n2+n−43

≥ c.n2. #introduce ∃

Mathematical Expression and Reasoning 14

Page 15: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Chapter 4

Algorithm Analysis and AsymptoticNotation

Limits and Asymptotic Notation

Mathematical Expression and Reasoning 15

Page 16: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Limits and Asymptotic Notation

Suppose f ∈ O(g).Then f(n) ≤ c.g(n), c ∈ R≥0, n is sufficiently large.

Then f(n)g(n)≤ c (assuming that g(n) 6= 0) for sufficiently large values

of n.

limn→∞f(n)g(n)≤ c.

We should be able to use Limits in proving/disproving functionbounds!!

Mathematical Expression and Reasoning 16

Page 17: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Limits and Asymptotic Notation

Reminder: Limits

limn→∞f(n)g(n)

= L

∀n ∈ N, n ≥ n1 ⇒| f(n)g(n)− L |< ε1.

∀n ∈ N, n ≥ n2 ⇒| f(n)g(n)− L |< ε2.

∀ε ∈ R+, ∃n′ ∈ N, ∀n ∈ N,n ≥ n′ ⇒| f(n)g(n)− L |< ε.

L

ε1ε2

n' = n1 n' = n2

f(n1)g(n1)

f(n2)g(n2)

Mathematical Expression and Reasoning 17

Page 18: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Limits and Asymptotic Notation

∀ε ∈ R+, ∃n′ ∈ N, ∀n ∈ N, n ≥ n′ ⇒| f(n)g(n)− L |< ε.

is equivalent to

∀ε ∈ R+, ∃n′ ∈ N, ∀n ∈ N,n ≥ n′ ⇒ −ε <f(n)

g(n)− L < ε.

is equivalent to

∀ε ∈ R+, ∃n′ ∈ N,∀n ∈ N, n ≥ n′ ⇒ L− ε <f(n)

g(n)< L + ε.

Reminder: Limits

limn→∞f(n)g(n)

= L⇐⇒∀ε ∈ R+, ∃n′ ∈ N, ∀n ∈ N,n ≥ n′ ⇒ L− ε < f(n)

g(n)< L + ε

Mathematical Expression and Reasoning 18

Page 19: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Proving Upper Bound using Limits

Reminder: Limits

limn→∞f(n)g(n)

= L⇐⇒∀ε ∈ R+, ∃n′ ∈ N, ∀n ∈ N,n ≥ n′ ⇒ L− ε < f(n)

g(n)< L + ε

Assume limn→∞ f(n)/g(n) = L.

Then ∃n′ ∈ N,∀n ∈ N, n ≥ n′ =⇒ L− 1 < f(n)g(n)

< L + 1. #definition of limit for ε = 1

Then ∃n′ ∈ N, ∀n ∈ N, n ≥ n′ =⇒ f(n) ≤ (L + 1)g(n).

Then f ∈ O(g). # definition of O, with B = n′ and c = L + 1

Hence, limn→∞ f(n)/g(n) = L =⇒ f ∈ O(g).

Mathematical Expression and Reasoning 19

Page 20: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Disproving Upper Bound using Limits

Disproving Upper Bound

Let f(n) = 2n and g(n) = n. Show that f 6∈ O(g).

Prove the negation of the following

∃c ∈ R+, ∃B ∈ N, ∀n ∈ N, n ≥ B ⇒ f(n) ≤ c.g(n)

Prove

∀c ∈ R+, ∀B ∈ N, ∃n ∈ N, n ≥ B ∧ f(n) > c.g(n)

Note: limn→∞2n

n=∞.

Mathematical Expression and Reasoning 20

Page 21: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Disproving Upper Bound using Limits

Reminder: Special Case of Limits

limn→∞f(n)g(n)

=∞⇐⇒∀ε ∈ R+, ∃n′ ∈ N, ∀n ∈ N, n ≥ n′ =⇒ f(n)

g(n)> ε

∀c ∈ R+,∀B ∈ N,∃n ∈ N, n ≥ B ∧ 2n > c.n

Assume c ∈ R+, assume B ∈ N. # arbitrary values

Then ∃n′ ∈ N, ∀n ∈ N, n ≥ n′ =⇒ 2n/n > c. # definition oflimn→∞ 2n/n =∞ with ε = c

Let n1 be such that ∀n ∈ N, n ≥ n1 =⇒ 2n/n > c. # instantiate n′

Let n0 = max(B,n1). Then n0 ∈ N.

Then n0 ≥ B. # by definition of max

Then 2n0 > cn0. # by the assumption above 2n0/n0 > c, sincen0 ≥ n1

Then n0 ≥ B ∧ 2n0 ≥ c.n0. # introduce ∧Then ∃n ∈ N, n ≥ B ∧ 2n ≥ c.n # introduce ∃

Then ∀c ∈ R, ∀B ∈ N, ∃n ∈ N, n ≥ B ∧ 2n > c.n # introduce ∀

Mathematical Expression and Reasoning 21

Page 22: Chapter 4 Algorithm Analysis and Asymptotic Notationlyan/csc165/lectures/csc165-w7-F.pdfChapter 4 Algorithm Analysis and Asymptotic Notation Bahar Aameri Department of Computer Science

Take Home Problem

Use Limits in proving/disproving lower bound

Mathematical Expression and Reasoning 22