1 / 23

NOTASI ASIMTOTIK ( ASYMTOTIC NOTATION )

NOTASI ASIMTOTIK ( ASYMTOTIC NOTATION ). Fundamentals of Algorithmics. Notasi untuk “ the order of ”. Misal f : N  R 0 dengan , n bisa

rocio
Download Presentation

NOTASI ASIMTOTIK ( ASYMTOTIC NOTATION )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NOTASI ASIMTOTIK (ASYMTOTIC NOTATION) Fundamentals of Algorithmics

  2. Notasi untuk “the order of” • Misal f : N  R0 dengan , n bisa dianggap sebagai ukuran instance. t(n) merepresentasikan kuantitas resource yang diberikan dan yang di-spent pada instance tersebut oleh implementasi tertentu dari algoritma. • Fungsi lain f : N  R0 dengan f(n)=n2. Dikatakan bahwa t(n) berada dalam order dari (is in the order of) f(n) jika t(n) terbatas atas oleh kelipatan riil positif dari f(n) untuk semua n cukup besar.

  3. Notasi untuk “the order of” – Cont. • Secara matematik, ada konstanta riil positif c dan batas (threshold) integern0sehingga t(n)  cf(n)dengan nn0. • Untuk contoh di atas, jelas bahwa jika n 1, berlaku n  n2 dan 1  n2. Sehingga, untuk n 1, t(n) = 27n2 + (355/113) n + 12  … sehingga c = 42 16/113, n0 = 1.

  4. Notasi untuk “the order of” – Cont. • Notasi dibaca “big Oh of f(n)” : himpunan semua fungsi t : N  R0 sedemikian hingga t(n)cf(n) untuk semua nn0 untuk suatu bilangan riil positif c dan batas bilangan bulat n0. • Dengan kata lain,

  5. Notasi untuk “the order of” – Cont. • Aturan threshold : bila hanya bila ada konstanta riil positif c sehingga t(n)cf(n) untuk masing2 bilangan alam n. • Misal f, g : N  R0dua fungsi sebarang dari bilangan2 alam ke bilangan riil tak-negatif. Maka aturan maximum mengatakan bahwa : O( f(n) + g(n) ) = O( max( f(n), g(n) ) ) p, q : N  R0 didefinisikan untuk masing-masing bilangan alam n oleh p(n) = f(n) + g(n) dan q(n) = max( f(n), g(n) ). Untuk sebarang fungsi t : N  R0, aturan maximum mengatakan bahwa t(n)  O( p(n) )bila hanya bilat(n)  O( q(n) ).

  6. Notasi untuk “the order of” – Cont. • Perhatikan • Bukti aturan maximum (untuk kasus dua fungsi) f(n) + g(n) = min( f(n), g(n) ) + max( f(n), g(n) ) dan 0 min( f(n), g(n) )  max( f(n), g(n) ) sehingga max( f(n), g(n) )  f(n) + g(n)  2 max( f(n), g(n) ) • Selanjutnya, perhatikan sebarang t(n)  O( f(n)+g(n) )  t(n)  O(max( f(n), g(n) ) ). Sebaliknya, jika t(n)  O(max(f(n), g(n)))  t(n)  O( f(n)+g(n) ).

  7. Notasi untuk “the order of” – Cont. • (hati-hati untuk kasus) O(n) = O(n + n2 – n2) = O(max(n, n2, -n2)) = O(n2) • Sebaliknya O(t(n))=O(11n3log n + n3log n – 5n2 + log2 n + 36) = O(max(O(11n3log n, n3log n – 5n2, log2 n, 36)) = O(11n3log n) = O(n3log n) meskipun n3log n – 5n2< 0 dan 36 > 11n3log n untuk nilai n yang kecil. Tapi tidak akan terjadi untuk n yang cukup besar.

  8. Notasi untuk “the order of” – Cont. • Dalam notasi asimtotik, biasanya tidak perlu menentukan basis logaritma, sebab loga n = loga b logb n, untuk semua bilangan riil positif a, b, dan n sedemikian hingga tak satupun dari a dan b yang sama dengan 1. Jadi loga b merupakan konstanta positif ketika a dan b adalah konstanta2 > 1. • Sehingga, loga n dan logb n hanya berbeda dengan faktor pengali konstan. Oleh karena itu, O( loga n ) = O( logb n )

  9. Notasi untuk “the order of” – Cont. • Perhatikan O( n2/(log3 n (n lg n) )) adalah sama dengan O( ( n/log n)1.5) • Notasi “O” bersifat : reflexive, dan transitive. • Untuk prove bahwa fungsi t(n)  O(f(n)) adalah dengan “proof by contradiction”. Misal t(n)=(1/1000) n3 dan f(n)=1000n2; untuk n < 106 maka t(n) < f(n)  t(n)  O(f(n)). • Selanjutnya, asumsikan t(n)  O(f(n)), dengan “threshold rule” maka ada konstanta riil positif c sehingga t(n) < c f(n) untuk semua n  1. Tapi, t(n) < c f(n) artinya … , akhirnya terjadi kontradiksi.

  10. The “Limit rule” • Untuk sebarang fungsi f dan g : N  R0, • Jika lim (n∞) [f(n)/g(n)]  R+, maka f(n)  O(g(n)) dan g(n)  O(f(n)). • Jika lim (n∞) [f(n)/g(n)] = 0, maka f(n)  O(g(n)) dan g(n)  O(f(n)). • Jika lim (n∞) [f(n)/g(n)] = + ∞, maka f(n)  O(g(n)) dan g(n)  O(f(n)). Contoh f(n) = log n dan g(n) = n. Dengan de l’Hôpital’s rule, didapat : lim (n∞) [f(n)/g(n)] = … = 0, jadi menggunakan aturan (2).

  11. The “Omega” notation • Notasi big-o (O) dirancang hanya untuk memberi batas atas (upper bound) pada jumlah resource yang diperlukan. • Sementara untuk batas bawah (lower bound) digunakan notasi omega (). • Secara matematik, ada konstanta riil positif d dan integer thresholdn0 sedemikian hingga bahwa t(n)  df(n) jika n  n0. • Duality rule : t(n)  (f(n))bila hanya bilaf(n)  (t(n)).

  12. The “Theta” notation • Kombinasi notasi O & notasi ;  notasi  (theta). • Definisi formal  adalah (f(n)) = O(f(n)) (f(n)), ekuivalen dengan • Untuk notasi , aturan limit dirumuskan kembali sebagai berikut. • Untuk sebarang fungsi f dan g : N  R0. Berlaku aturan-aturan sebagai berikut :

  13. The “Theta” notation (Cont.) • Jika lim (n∞) [f(n)/g(n)]  R+, maka f(n)  Θ(g(n)). • Jika lim (n∞) [f(n)/g(n)] = 0, maka f(n)  O(g(n)) tapi f(n)  Θ(g(n)). • Jika lim (n∞) [f(n)/g(n)] = + ∞, maka f(n)   (g(n)) tapi f(n)  Θ(g(n)).

  14. The “Theta” notation (Cont.) • Untuk setiap integer tertentu k0, dengan jumlahan (summation) sisi kiri dianggap sebagai fungsi dari n. • Untuk arah ke “O” mudah dibuktikan, cukup diperhatikan hubungan bahwa jika 1in, maka iknk. Sehingga

  15. The “Theta” notation (Cont.) • yang membuktikan bahwa dengan konstanta pengali 1. • Untuk pembuktian arah “”, perhatikan bahwa jika maka • Kemudian untuk integer i, lebih dari n/2.

  16. The “Theta” notation (Cont.) • Oleh karena itu, selama n 1 (yang mengakibat-kan bahwa n/2  1), • Hal ini memperlihatkan bahwa dengan menggunakan konstanta pengali 1/2k+1.

  17. Conditional asymptotic notation • Banyak algoritma akan lebih mudah dianalisa jika ukuran instance nya dibatasi untuk yang memenuhi persyaratan (condition) tertentu, misal pangkat 2 (power of 2). • Contoh, algoritma “devide-and-conquer” untuk mengalikan integer besar, misal n adalah ukuran integer yang akan dikalikan. • Waktu yang diperlukan oleh algoritma ini diberikan oleh fungsi t : N R0 secara rekursif didefinisikan oleh

  18. Conditional asymptotic notation (Cont.) • hasil penyelesaian dengan asumsi n/2 = n/2 adalah : t(n) = (a + b) n2 – bn, dengan n merupakan power of 2. • sehingga • Lebih umum, misal f, t : N  R0 merupakan dua fungsi dari bilangan-bilangan natural ke bilangan-bilangan riil tak-negatif, dan misal P : N  {true, false} merupakan sifat integers.

  19. Conditional asymptotic notation (Cont.) • Secara formal, O(f(n) | P(n)) didefinisikan sebagai • Himpunan2(f(n) | P(n)) dan (f(n) | P(n)) didefinisikan secara serupa. • Fungsi f : N  R0 “eventually nondecreasing” jika ada integer threshold n0 sedemikian hingga f(n)f(n+1) untuk semua nn0.

  20. Conditional asymptotic notation (Cont.) • Kebanyakan fungsi yang dijumpai dalam analisa algoritma adalah smooth, seperti log n, n log n, n2 atau setiap polynomial yang an>0. • Fungsi2 yang perkembangannya sangat cepat “tidak smooth”, seperti n lg n, 2n, atau n!, karena f(2n)/f(n) tak terbatas (unbounded). Sebagai contoh, (2n)lg(2n) = 2n2 nlg n, yang memperlihatkan bahwa (2n)lg(2n)O(nlg n).

  21. Asymptotic notation with several parameters • Situasi ini untuk algoritma untuk problem yang melibatkan graph (waktu tergantung pada #vertex & #edge). • Misal f : N  N  R0, misal f(m,n) = m log n. • Misal t : N  N  R0 fungsi serupa yang lain. • t(m,n) berada dalam order f(m,n), yang ditunjukkan dengan t(m,n)  O(f(m,n)), jika t(m,n) terbatas atas oleh kelipatan positif dari f(m,n) jika kedua m dan n cukup besar.

  22. Asymptotic notation with several parameters • Secara formal, O(f(m,n)) adalah :

  23. Operations on asymptotic notation • Secara lebih formal, jika op merupakan operator biner (binary operator) dan jika X dan Y merupakan himpunan fungsi2 dari N ke R0. • Secara formal, XopY menunjukkan

More Related