Complexity Analysis Asymptotic Analysis Nattee Niparnan Recall What
- Slides: 45
Complexity Analysis : Asymptotic Analysis Nattee Niparnan
Recall �What is the measurement of algorithm? �How to compare two algorithms? �Definition of Asymptotic Notation
Today Topic �Finding the asymptotic bound of the algorithm
Interesting Topics of Upper Bound �Rule of thumb! �We neglect �Lower order terms from addition � E. g. n 3+n 2 = O(n 3) �Constant � E. g. 3 n 3 = O(n 3) Remember that we use = instead of (more correctly)
Why Discard Constant? �From the definition �We can use any constant �E. g. 3 n = O(n) �Because � When we let c >= 3, the condition is satisfied
Why Discard Lower Order Term? �Consider �f(n) = n 3+n 2 �g(n) = n 3 �If f(n) = O(g(n)) �Then, for some c and n 0 �c * g(n)-f(n) > 0 � Definitely, just use any c >1
Why Discard Lower Order Term? �Try c = 1. 1 * g(n)-f(n) = 0. 1 n 3 -n 2 �Does 0. 1 n 3 -n 2 > 0 �It is when � 0. 1 n > 1 �E. g. , n > 10 ? 0. 1 n 3 -n 2 > 0 0. 1 n 3 > n 2 0. 1 n 3/n 2 > 1 0. 1 n > 1
Lower Order only? �In fact, �It’s only the dominant term that count �Which one is dominating term? �The one that grow faster The nondominant term �Why? �Eventually, it is g*(n)/f*(n) � If g(n) grows faster, � g(n)/f*(n) > some constant � E. g, lim g(n)/f*(n) infinity The dominant term
What dominating what? Left side dominates na n log n nb (a > b) n n 2 log n n log 2 n cn nc Log n 1 n log n
Putting into Practice �What is the asymptotic class of � 0. 5 n 3+N 4 -5(n-3)(n-5)+n 3 log 8 n+25+n 1. 5 �(n-5)(n 2+3)+log(n 20) � 20 n 5+58 n 4+15 n 3. 2*3 n 2
Putting into Practice �What is the asymptotic class of � 0. 5 n 3+N 4 -5(n-3)(n-5)+n 3 log 8 n+25+n 1. 5 O(n 4) �(n-5)(n 2+3)+log(n 20) O(n 3) � 20 n 5+58 n 4+15 n 3. 2*3 n 2 O(n 5. 4)
Asymptotic Notation from Program Flow �Sequence �Conditions �Loops �Recursive Call
Sequence Block A f (n) f(n) + g(n) = Block B g (n) O(max (f(n), g(n))
Example Block A O(n) O(n 2) Block B O(n 2)
Example Block A Θ(n) O(n 2) Block B O(n 2)
Example Block A Θ(n) Θ(n 2) Block B Θ(n 2)
Example Block A O(n 2) Θ(n 2) Block B Θ(n 2)
Condition Block A f (n) Block B g (n) O(max (f(n), g(n))
Loops for (i = 1; i <= n; i++) { P(i) } Let P(i) takes time ti
Example for (i = 1; i <= n; i++) { sum += i; } sum += i Θ(1)
Why don’t we use max(ti)? �Because the number of terms is not constant for (i = 1; i <= n; i++) { sum += i; } for (i = 1; i <= 100000; i++) { sum += i; } Θ(n) Θ(1) With big constant
Example for (j = 1; j <= n; j++) { for (i = 1; i <= n; i++) { sum += i; } } sum += i Θ(1)
Example for (j = 1; j <= n; j++) { for (i = 1; i <= j; i++) { sum += i; } } sum += i Θ(1)
Example : Another way for (j = 1; j <= n; j++) { for (i = 1; i <= j; i++) { sum += i; } } sum += i Θ(1)
Example for (j = 2; j <= n-1; j++) { for (i = 3; i <= j; i++) { sum += i; } } sum += i Θ(1)
Example : While loops While (n > 0) { n = n - 1; } Θ(n)
Example : While loops While (n > 0) { n = n - 10; } Θ(n/10) = Θ(n)
Example : While loops While (n > 0) { n = n / 2; } Θ(log n)
Example : Euclid’s GCD function gcd(a, b) { while (b > 0) { tmp = b b = a mod b a = tmp } return a }
Example : Euclid’s GCD Until the modding one is zero function gcd(a, b) { while (b > 0) { tmp = b b = a mod b a = tmp } return a } How many iteration? Compute mod and swap
Example : Euclid’s GCD a b
Example : Euclid’s GCD a b a mod b If a > b a mod b < a / 2
Case 1: b > a / 2 a b a mod b
Case 1: b ≤ a / 2 a b We can always put another b a mod b
Example : Euclid’s GCD function gcd(a, b) { while (b > 0) { tmp = b b = a mod b a = tmp } return a } O( log n) B always reduces at least half
Theorem �If Σai <1 then �T(n)= ΣT(ain) + O(N) �T(n) = O(n) T(n) = T(0. 7 n) + T(0. 2 n) + T(0. 01)n + 3 n = O(n)
Recursion try( n ){ if ( n <= 0 ) return 0; for ( j = 1; j <= n ; j++) sum += j; try (n * 0. 7) try (n * 0. 2) }
Recursion try( n ){ if ( n <= 0 ) return 0; terminating Θ(1) for ( j = 1; j <= n ; j++) process sum += j; Θ(n) try (n * 0. 7) try (n * recursion 0. 2) T(0. 7 n) + T(0. 2 n) } T(n) = T(0. 7 n) + T(0. 2 n) + O(n) T(n)
Guessing and proof by induction �T(n) = T(0. 7 n) + T(0. 2 n) + O(n) �Guess: T(n) = O(n), T(n) ≤ cn �Proof: �Basis: obvious �Induction: �Assume T(i < n) = O(i) �T(n) ≤ 0. 7 cn + 0. 2 cn + O(n) � = 0. 9 cn + O(n) � = O(n) <<< dominating rule
Using Recursion Tree �T(n) = 2 T(n/2) + n n Lg n n n/2 n/4 n/4 2 n/4 4 n/4 T(n) = O(n lg n)
Master Method : Example �T(n) = 9 T(n/3) + n �a = 9, b = 3, c = log 3 9 = 2, nc = n 2 �f (n) = n = Ο( n 2 - 0. 1 ) �T(n) = Θ(nc) = Θ(n 2)
Master Method : Example �T(n) = T(n/3) + 1 �a = 1, b = 3, c = log 3 1 = 0, nc = 1 �f (n) = 1 = Θ( nc ) = Θ( 1 ) �T(n) = Θ(nc log n) = Θ( log n)
Master Method : Example �T(n) = 3 T(n/4) + n log n �a = 3, b = 4, c = log 4 3 < 0. 793, nc < n 0. 793 �f (n) = n log n = Ω( n 0. 793 ) �a f (n/b) = 3 ((n/4) log (n/4) ) ≤ (3/4) n log n = d f (n) �T(n) = Θ( f (n) ) = Θ( n log n)
Conclusion �Asymptotic Bound is, in fact, very simple �Use the rule of thumbs � Discard non dominant term � Discard constant �For recursive �Make recurrent relation � Use master method � Guessing and proof � Recursion Tree
- Asymptotic complexity examples
- Big o rules
- Armure sergé 2/2
- Time and space complexity
- Asymptotic analysis
- Notasi asimptotik adalah
- Kompleksitas waktu asimptotik adalah
- Aep information theory
- Recurrence relation cheat sheet
- Compare asymptotic growth rate
- Asymptotic lower bound
- Notasi omega
- Upper bound asymptotic notation
- Asymptotic notation graph
- Asymptotic freedom
- Asymptotic growth
- Small omega notation
- What is complexity analysis
- Time complexity of algorithms
- Algorithm complexity analysis
- Quick sort worst complexity
- Heapsort complexity analysis
- Dijkstra algorithm time complexity
- Phillians 4:4
- Recall bias
- Recall what an atom is.
- Recall type of test
- What is a feature article
- Basal and ceiling rules for woodcock johnson
- High precision vs high recall
- 3 step recall method
- Total recall vr
- Precision recall information retrieval
- Total recall oracle
- Recall vs recognition
- Difference between recall and recognition
- High precision vs high recall
- A scratch-pad for temporary recall.
- Recall bias
- Misinformation effect
- Chapter 57 pediatric dentistry recall
- Temporal relationship epidemiology example
- Fda district recall coordinator
- An inspector calls recall questions
- Toyota public relations crisis
- Recall the rules of probability