NOTASI ASIMTOTIK (ASYMTOTIC NOTATION)

Slides:



Advertisements
Presentasi serupa
MATHEMATICS INDUCTION AND BINOM THEOREM
Advertisements

Eko Aribowo Teknik Informatika Universitas Ahmad Dahlan
Metode Analisis Asymtotic
Gilles Brassard and Paul Bratley
Induksi Matematika.
PENDAHULUAN : ALJABAR ABSTRAK
Tim Matematika Diskrit
Desain dan Analisis Algoritma
PERTEMUAN 7 FUNGSI.
Oleh: Mardiyana Jurusan Pendidikan Matematika
Kompleksitas Waktu Asimptotik
Pertemuan-3 Laju Pertumbuhan Fungsi : Pengertian, motivasi dan manfaat
14. KOMPLEKSITAS ALGORITMA.
Desain dan Analisis Algoritma
OLEH Fattaku Rohman,S.PD
GRUP SIKLIK.
Fungsi Definisi : Misalkan A dan B himpunan. Relasi biner f dari A ke B merupakan suatu fungsi jika setiap elemen di dalam A dihubungkan dengan tepat satu.
Pertemuan 3 ALGORITMA & FUNGSI KOMPLEKSITAS
14. KOMPLEKSITAS ALGORITMA. Untuk keperluan analisis algoritma, kita perlu mengetahui seberapa cepat pertumbuhan atau perkembangan suatu fungsi. Pertumbuhan.
Definisi Induksi matematika adalah :
Induksi Matematika.
Induksi Matematika Nelly Indriani Widiastuti Teknik Informatika UNIKOM.
Induksi Matematik.
Notasi Asimptotik Team Fasilkom.
BAB 3 MATRIKS, RELASI, DAN FUNGSI
Strategi Algoritma Kuliah 2 : Kompleksitas Algoritma
MATERI PERKULIAHAN ANALISIS ALGORITMA
Pertemuan ke 9.
CSG523/ Desain dan Analisis Algoritma
Representasi Relasi Sifat-Sifat Relasi
MATERI PERKULIAHAN ANALISIS ALGORITMA
Definisi Induksi matematika adalah :
Mata kuliah : K0144/ Matematika Diskrit Tahun : 2008
Induksi Matematika.
BAB 5 Induksi Matematika
Faktor analisa algoritma
FAKULTAS SAINS DAN TEKNOLOGI
BARISAN BILANGAN KOMPLEKS
Analisis Algoritma & Struktur Data
Induksi Matematik  .
Rinaldi Munir/IF2151 Matematika Diskrit
Logika Matematika Bab 5: Induksi Matematika
Mata kuliah : K0144/ Matematika Diskrit Tahun : 2008
Notasi Asymtotik Pertemuan 2.
QUANTIFIER (KUANTOR) dan Induksi matematika
Pertemuan ke 9.
ALGORITMA DAN PEMROGRAMAN III
Induksi Matematika.
Modul 4 : Analisis Algoritma & Struktur Data
Mata Kuliah :Teori Bilangan
Rinaldi Munir/IF2151 Matematika Diskrit
1. Bentuk Pangkat, Akar, dan logaritma
Analisa Algoritma Asimtotik.
Kompleksitas Algoritma
Pertemuan 4 Induksi Matematik.
Induksi Matematik Pertemuan 7 Induksi Matematik.
BAB 1 Bentuk Pangkat, Akar, dan Logaritma
Materi perkuliahan sampai UTS
Dr. Mufid Nilmada, SSi., MMSI
Pertemuan ke 9.
ANALISIS REAL I RINA AGUSTINA, M. Pd..
KALKULUS - I.
Matematika Diskrit Oleh: Taufik Hidayat
Notasi Asimptotik Team Fasilkom.
BAB 5 Induksi Matematika
Quantifier (Kuantor) dan Induksi matematika
Notasi Asimptotik Team Fasilkom.
Mata Kuliah Matematika 1
Desain dan Analisis Algoritma
QUANTIFIER (KUANTOR) dan Induksi matematika
Transcript presentasi:

NOTASI ASIMTOTIK (ASYMTOTIC NOTATION) Fundamentals of Algorithmics

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.

Notasi untuk “the order of” – Cont. Secara matematik, ada konstanta riil positif c dan batas (threshold) integer n0 sehingga 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.

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,

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0 dua 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 bila t(n)  O( q(n) ).

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) ).

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.

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 )

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)=1000 n2; 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.

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).

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 threshold n0 sedemikian hingga bahwa t(n)  df(n) jika n  n0. Duality rule : t(n)  (f(n)) bila hanya bila f(n)  (t(n)).

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 :

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)).

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

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.

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.

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

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.

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.

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).

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.

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

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, X op Y menunjukkan