Asymptotics Section 3.2 of Rosen Spring 2010 CSCE 235 Introduction to Discrete Structures Course web-page: cse.unl.edu/~cse235 Questions:

Slides:



Advertisements
Similar presentations
한양대학교 정보보호 및 알고리즘 연구실 이재준 담당교수님 : 박희진 교수님
Advertisements

한양대학교 정보보호 및 알고리즘 연구실 이재준 담당교수님 : 박희진 교수님
한양대학교 정보보호 및 알고리즘 연구실 이재준 담당교수님 : 박희진 교수님
Introduction to Algorithms
Data Structures Through C
BY Lecturer: Aisha Dawood. The notations we use to describe the asymptotic running time of an algorithm are defined in terms of functions whose domains.
Analysis of Computer Algorithms
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Author: Julia Richards and R. Scott Hawley
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
UNITED NATIONS Shipment Details Report – January 2006.
October 17, 2005 Copyright© Erik D. Demaine and Charles E. Leiserson L2.1 Introduction to Algorithms 6.046J/18.401J LECTURE9 Randomly built binary.
Introduction to Algorithms 6.046J/18.401J
Introduction to Algorithms 6.046J/18.401J
Conversion Problems 3.3.
Properties of Real Numbers CommutativeAssociativeDistributive Identity + × Inverse + ×
§ 1-4 Limits, Continuity, and Intermediate Value Thereom
Lecture 2 ANALYSIS OF VARIANCE: AN INTRODUCTION
Reductions Complexity ©D.Moshkovitz.
Chapter 3 Determinants 3.1 The Determinant of a Matrix
REVIEW: Arthropod ID. 1. Name the subphylum. 2. Name the subphylum. 3. Name the order.
Order of Operations Lesson
Mathematics for Economics Beatrice Venturi 1 Economics Faculty CONTINUOUS TIME: LINEAR DIFFERENTIAL EQUATIONS Economic Applications LESSON 2 prof. Beatrice.
Factoring Polynomials
Factoring Quadratics — ax² + bx + c Topic
EE, NCKU Tien-Hao Chang (Darby Chang)
Evaluating Limits Analytically
Recurrences : 1 Chapter 3. Growth of function Chapter 4. Recurrences.
PP Test Review Sections 6-1 to 6-6
Slide 6-1 COMPLEX NUMBERS AND POLAR COORDINATES 8.1 Complex Numbers 8.2 Trigonometric Form for Complex Numbers Chapter 8.
Copyright © 2013, 2009, 2005 Pearson Education, Inc.
Chapter 2 Complex Numbers
CENG536 Computer Engineering Department Çankaya University.
MAT 205 F08 Chapter 12 Complex Numbers.
4.6 Perform Operations with Complex Numbers
LIAL HORNSBY SCHNEIDER
Outline Minimum Spanning Tree Maximal Flow Algorithm LP formulation 1.
Bellwork Do the following problem on a ½ sheet of paper and turn in.
14 Vectors in Three-dimensional Space Case Study
How to convert a left linear grammar to a right linear grammar
Copyright © 2013, 2009, 2006 Pearson Education, Inc. 1 Section 5.5 Dividing Polynomials Copyright © 2013, 2009, 2006 Pearson Education, Inc. 1.
Constant, Linear and Non-Linear Constant, Linear and Non-Linear
Functions, Graphs, and Limits
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
Sets Sections 2.1 and 2.2 of Rosen Fall 2010
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Synthetic.
6.4 Best Approximation; Least Squares
Problem #1 E Mathboat.com.
Chapter Algorithms 3.2 The Growth of Functions
Rational Functions and Models
Analyzing Genes and Genomes
1 Let’s Recapitulate. 2 Regular Languages DFAs NFAs Regular Expressions Regular Grammars.
LIMIT MENU Basic ideas and exercises ( Slides 2-6 ) Limits using a Calculator ( Slides 7-8 ) “  -  definition”, limit validation & properties” ( Slides.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Essential Cell Biology
12 System of Linear Equations Case Study
Intracellular Compartments and Transport
PSSA Preparation.
Essential Cell Biology
Lial/Hungerford/Holcomb/Mullins: Mathematics with Applications 11e Finite Mathematics with Applications 11e Copyright ©2015 Pearson Education, Inc. All.
Energy Generation in Mitochondria and Chlorplasts
Completing the Square Topic
9. Two Functions of Two Random Variables
Math Review with Matlab:
Copyright © Cengage Learning. All rights reserved.
Chapter 2 Fundamentals of the Analysis of Algorithm Efficiency Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Asymptotics Section 3.2 of Rosen Spring 2017
Presentation transcript:

Asymptotics Section 3.2 of Rosen Spring 2010 CSCE 235 Introduction to Discrete Structures Course web-page: cse.unl.edu/~cse235 Questions:

AsymptoticsCSCE 235, Spring Outline Introduction Asymptotic – Definitions (Big O, Omega, Theta), properties Proof techniques – 3 examples, trick for polynomials of degree 2, – Limit method (l’Hôpital Rule), 2 examples Limit Properties Efficiency classes Conclusions

AsymptoticsCSCE 235, Spring Introduction (1) We are interested only in the Order of Growth of an algorithm’s complexity How well does the algorithm perform as the size of the input grows: n   We have seen how to mathematically evaluate the cost functions of algorithms with respect to – their input size n and – their elementary operations However, it suffices to simply measure a cost function’s asymptotic behavior

AsymptoticsCSCE 235, Spring Introduction (2): Magnitude Graph

AsymptoticsCSCE 235, Spring Introduction (3) In practice, specific hardware, implementation, languages, etc. greatly affect how the algorithm behave Our goal is to study and analyze the behavior of algorithms in and of themselves, independently of such factors For example – An algorithm that executes its elementary operation 10n times is better than one that executes it 0.005n 2 times – Also, algorithms that have running time n 2 and 2000n 2 are considered asymptotically equivalent

AsymptoticsCSCE 235, Spring Outline Introduction Asymptotic – Definitions (Big-O, Omega, Theta), properties Proof techniques Limit Properties Efficiency classes Conclusions

AsymptoticsCSCE 235, Spring Big-O Definition Definition: Let f and g be two functions f,g: N  R +. We say that f(n)  O(g(n)) (read: f is Big-O of g) if there exists a constant c  R + and an n o  N such that for every integer n  n 0 we have f(n)  cg(n) Big-O is actually Omicron, but it suffices to write “O” Intuition: f is asymptotically less than or equal to g Big-O gives an asymptotic upper bound

AsymptoticsCSCE 235, Spring Big-Omega Definition Definition: Let f and g be two functions f,g: N  R +. We say that f(n)   (g(n)) (read: f is Big-Omega of g) if there exists a constant c  R + and an n o  N such that for every integer n  n 0 we have f(n)  cg(n) Intuition: f is asymptotically greater than or equal to g Big-Omega gives an asymptotic lower bound

AsymptoticsCSCE 235, Spring Big-Theta Definition Definition: Let f and g be two functions f,g: N  R +. We say that f(n)   (g(n)) (read: f is Big-Omega of g) if there exists a constant c 1, c 2  R + and an n o  N such that for every integer n  n 0 we have c 1 g(n)  f(n)  c 2 g(n) Intuition: f is asymptotically equal to g f is bounded above and below by g Big-Theta gives an asymptotic equivalence

AsymptoticsCSCE 235, Spring Asymptotic Properties (1) Theorem: For f 1 (n)  O(g 1 (n)) and f 2 (n)  O(g 2 (n)), we have f 1 (n) + f 2 (n)  O( max{g 1 (n), g 2 (n)} ) This property implies that we can ignore lower order terms. In particular, for any polynomial with degree k such as p(n)=an k + bn k-1 + cn k-2 + …, p(n)  O(n k ) More accurately, p(n)   (n k ) In addition, this theorem gives us a justification for ignoring constant coefficients. That is for any function f(n) and a positive constant c cf(n)   (f(n))

AsymptoticsCSCE 235, Spring Asymptotic Properties (2) Some obvious properties also follow from the definitions Corollary: For positive functions f(n) and g(n) the following hold: – f(n)   (g(n))  f(n)  O(g(n)) and f(n)   (g(n)) – f(n)  O(g(n))  g(n)   (f(n)) The proof is obvious and left as an exercise

AsymptoticsCSCE 235, Spring Outline Introduction Asymptotic – Definitions (big O, Omega, Theta), properties Proof techniques – 3 examples, trick for polynomials of degree 2, – Limit method (l’Hôpital Rule), 2 examples Limit Properties Efficiency classes Conclusions

AsymptoticsCSCE 235, Spring Asymptotic Proof Techniques Proving an asymptotic relationship between two given function f(n) and g(n) can be done intuitively for most of the functions you will encounter; all polynomials for example However, this does not suffice as a formal proof To prove a relationship of the form f(n)  (g(n)), where  is , , or , can be done using the definitions, that is – Find a value for c (or c 1 and c 2 ) – Find a value for n 0 (But this is not the only way.)

AsymptoticsCSCE 235, Spring Asymptotic Proof Techniques: Example A Example: Let f(n)=21n 2 +n and g(n)=n 3 Our intuition should tell us that f(n)  O(g(n)) Simply using the definition confirms this: 21n 2 +n  cn 3 holds for say c=3 and for all n  n 0 =8 So we found a pair c=3 and n 0 =8 that satisfy the conditions required by the definition QED In fact, an infinite number of pairs can satisfy this equation

AsymptoticsCSCE 235, Spring Asymptotic Proof Techniques: Example B (1) Example: Let f(n)=n 2 +n and g(n)=n 3. Find a tight bound of the form f(n)  (g(n)) Our intuition tells us that f(n)  O(g(n)) Let’s prove it formally

AsymptoticsCSCE 235, Spring Example B: Proof If n  1 it is clear that 1.n  n 3 and 2.n 2  n 3 Therefore, we have, as 1. and 2.: n 2 +n  n 3 + n 3 = 2n 3 Thus, for n 0 =1 and c=2, by the definition of Big-O we have that f(n)=n 2 +n  O(g(n 3 ))

AsymptoticsCSCE 235, Spring Asymptotic Proof Techniques: Example C (1) Example: Let f(n)=n 3 +4n 2 and g(n)=n 2. Find a tight bound of the form f(n)  (g(n)) Here, 0ur intuition tells us that f(n)  (g(n)) Let’s prove it formally

AsymptoticsCSCE 235, Spring Example C: Proof For n  1, we have n 2  n 3 Thus n  1, we have n 2  n 3  n 3 + 4n 2 Thus, by the definition of Big- , for n 0 =1 and c=1 we have that f(n)=n 3 +4n 2   (g(n 2 )) For n  0, we have n 3  n 3 + 4n 2

AsymptoticsCSCE 235, Spring Asymptotic Proof Techniques: Trick for polynomials of degree 2 If you have a polynomial of degree 2 such as an 2 +bn+c you can prove that it is  (n 2 ) using the following values 1.c 1 =a/4 2.c 2 =7a/4 3.n 0 = 2 max(|b|/a, sqrt(|c|)/a)

AsymptoticsCSCE 235, Spring Outline Introduction Asymptotic – Definitions (big O, Omega, Theta), properties Proof techniques – 3 examples, trick for polynomials of degree 2, – Limit method (l’Hôpital Rule), 2 examples Limit Properties Efficiency classes Conclusions

AsymptoticsCSCE 235, Spring Limit Method: Motivation Now try this one: f(n)= n n 3 log 4 n –1243n n 6 logn + 12log 3 n – logn g(n)= 12 n log 14 n 43 – logn/n Using the formal definitions can be very tedious especially one has very complex functions It is much better to use the Limit Method, which uses concepts from Calculus

AsymptoticsCSCE 235, Spring Limit Method: The Process Say we have functions f(n) and g(n). We set up a limit quotient between f and g as follows The above can be proven using calculus, but for our purposes, the limit method is sufficient for showing asymptotic inclusions Always try to look for algebraic simplifications first If f and g both diverge or converge on zero or infinity, then you need to apply the l’Hôpital Rule 0 Then f(n)  O(g(n)) lim n  f(n)/g(n) =c>0 Then f(n)  (g(n))  Then f(n)  (g(n))

AsymptoticsCSCE 235, Spring (Guillaume de) L’Hôpital Rule Theorem (L’Hôpital Rule): Let f and g, if the limit between the quotient f(n)/g(n) exists, it is equal to the limit of the derivative of the numerator and the denominator lim n  f(n)/g(n) = lim n  f’(n)/g’(n)

AsymptoticsCSCE 235, Spring Useful Identities & Derivatives Some useful derivatives that you should memorize – (n k )’= k n k-1 – (log b (n))’= 1/(n ln(b)) – (f 1 (n)f 2 (n))’= f 1 ’(n)f 2 (n)+f 1 (n)f 2 ’(n) (product rule) – (log b (f(n))’ = f’(n)/(f(n).lnb) – (c n )’=ln(c)c n  careful! Log identities – Change of base formular: log b (n)= log c (n)/log c (b) – log(n k ) = k log(n) – log(ab) = log(a) + log(b)

AsymptoticsCSCE 235, Spring L’Hôpital Rule: Justification (1) Why do we have to use L’Hôpital’s Rule? Consider the following function f(x)= (sin x )/x Clearly sin 0=0. So you may say that when x  0, f(x)  0 However, the denominator is also  0, so you may say that f(x)   Both are wrong

AsymptoticsCSCE 235, Spring L’Hôpital Rule: Justification (2) Observe the graph of f(x)= (sin x)/x = sinc x

AsymptoticsCSCE 235, Spring L’Hôpital Rule: Justification (3) Clearly, though f(x) is undefined at x=0, the limit still exists Applying the L’Hôpital Rule gives us the correct answer lim x  0 ((sin x )/x) = lim x  0 (sin x )’/x’ = cos x/1 = 1

AsymptoticsCSCE 235, Spring Limit Method: Example 1 Example: Let f(n) =2 n, g(n)=3 n. Determine a tight inclusion of the form f(n)  (g(n)) What is your intuition in this case? Which function grows quicker?

AsymptoticsCSCE 235, Spring Limit Method: Example 1—Proof A Proof using limits We set up out limit: lim n  f(n)/g(n) = lim n  2 n /3 n Using L’Hôpital Rule gets you no where lim n  2 n /3 n =lim n  (2 n )’/(3 n )’=lim n  (ln2)(2 n )/(ln3)(3 n ) Both the numerator and denominator still diverge. We’ll have to use an algebraic simplification

AsymptoticsCSCE 235, Spring Limit Method: Example 1—Proof B Using algebra lim n  2 n /3 n =lim n  (2/3) n Now we use the following Theorem w/o proof 0 if  < 1 lim n   n = 1 if  = 1  if  > 1 Therefore we conclude that the lim n  (2/3) n converges to zero thus 2 n  O(3 n )

AsymptoticsCSCE 235, Spring Limit Method: Example 2 (1) Example: Let f(n) =log 2 n, g(n)=log 3 n 2. Determine a tight inclusion of the form f(n)  (g(n)) What is your intuition in this case?

AsymptoticsCSCE 235, Spring Limit Method: Example 2 (2) We prove using limits We set up out limit lim n  f(n)/g(n) = lim n  log 2 n/log 3 n 2 = lim n  log 2 n/(2log 3 n) Here we use the change of base formula for logarithms: log x n = log y n/log y x Thus: log 3 n = log 2 n / log 2 3

AsymptoticsCSCE 235, Spring Limit Method: Example 2 (3) Computing our limit: lim n  log 2 n/(2log 3 n) = lim n  log 2 n log 2 3 /(2log 2 n) = lim n  (log 2 3)/2 = (log 2 3) /2  , which is a positive constant So we conclude that f(n)  (g(n))

AsymptoticsCSCE 235, Spring Outline Introduction Asymptotic – Definitions (big O, Omega, Theta), properties Proof techniques – 3 examples, trick for polynomials of degree 2, – Limit method (l’Hôpital Rule), 2 examples Limit Properties Efficiency classes Conclusions

AsymptoticsCSCE 235, Spring Limit Properties A useful property of limits is that the composition of functions is preserved Lemma: For the composition  of addition, subtraction, multiplication and division, if the limits exist (that is, they converge), then lim n  f 1 (n)  lim n  f 2 (n) = lim n  (f 1 (n)  f 2 (n))

AsymptoticsCSCE 235, Spring Efficiency Classes— Table 1, page 196 Constant O(1) LogarithmicO(log (n)) LinearO(n) Polylogarithmic O(log k (n)) QuadraticO(n 2 ) CubicO(n 3 ) PolynominalO(n k ) for any k>0 ExponentialO(k n ), where k>1 FactorialO(n!)

AsymptoticsCSCE 235, Spring Conclusions Evaluating asymptotics is easy, but remember: – Always look for algebraic simplifications – You must always give a rigorous proof – Using the limit method is always the best – Always use L’Hôpital Rule if need be – Give as simple and tight expressions as possible

AsymptoticsCSCE 235, Spring Summary Introduction Asymptotic – Definitions (big O, Omega, Theta), properties Proof techniques – 3 examples, trick for polynomials of degree 2, – Limit method (l’Hôpital Rule), 2 examples Limit Properties Efficiency classes Conclusions