asimtotic notation1

Download Report

Transcript asimtotic notation1

Analisis dan Perancangan
Algoritma
Kuliah 3 : Metode Analisis
Asymtotic
Eko Aribowo
Teknik Informatika
Universitas Ahmad Dahlan
Metode Analisis
1. Asymptotic/theoretic/mathematic
: berdasarkan pendekatan secara
teori atau atas dasar analisa secara
matematik
2. Empirical/Practical/Empiris/Praktis
: berdasarkan pendekatan praktis
yang biasanya didasarkan atas datadata yang telah ada atau data-data
yang di-generete / dibangkitkan
Eko Aribowo-ANPAL-UAD
Asymptotic
• Menggambarkan karakteristik/perilaku
suatu algoritma pada batasan tertentu
(berupa suatu fungsi matematis)
• Dituliskan dengan notasi matematis yg
dikenal dgn notasi asymptotic
• Notasi asymptotic dapat dituliskan
dengan beberpa simbul berikut
 Q, O, W, o, w
Eko Aribowo-ANPAL-UAD
Notasi Asymptotic
 Q, O, W, o, w
• Didefinisikan untuk fungsi diatas nilai biasa
– Contoh: f(n) = Q(n2).
– Menggambarkan bagaimana fungsi f(n)
tumbuh pd pembandingan untuk n2.
• Mendefinisikan himpunan fungsi ;
• Pada prakteknya untuk membandingan 2
ukuran fungsi.
• Notasi menggambarkan perbedaan rateof-growth hubungan antara definisi fungsi
dan definisi himpunan fungsi.
Eko Aribowo-ANPAL-UAD
Notasi O (big Oh)
Untuk fungsi g(n),kita definisikan
O(g(n)) sbg big-Oh dari n, sbg
himpunan:
O(g(n)) = {f(n) :  konstanta
positif c dan n0, sedemikian
rupa n  n0, sehingga 0  f(n)
 cg(n) }
 : ada,  : untuk semua
Ada konstanta n
Eko Aribowo-ANPAL-UAD
Lanjt
f(n) Secara intuitif : himpunan
seluruh fungsi yg rate of growth –
nya adalah sama atau lebih kecil
dari g(n).
g(n) adalah asymptotic upper
bound untuk f(n).
f(n) = Q(g(n))  f(n) = O(g(n)).
Q(g(n))  O(g(n)).
Eko Aribowo-ANPAL-UAD
Lanjt
•
•
•
•
•
2.99 = 3 (pembulatan ke atas dalah 3)
2.50 = 3
2.0001 = 3
3n + 7 = ? (tidak bakal lebih 4n)
2n2 + 5 = ?
•Big Oh  O adalah merupakan
Upper bound dari suatu fungsi
Eko Aribowo-ANPAL-UAD
Contoh
f(n) = 3n + 4 berapa / apa big oh-nya ?
n0 = 2 3n+4 <= Cn ?
C =3 3*2+4 <=3*3  10<=9 ?
Bgm dgn n0 = 2
C =4
Bgm dgn n0 = 3
C =4
Bgm dgn n0 = 4
C =4
Eko Aribowo-ANPAL-UAD
Tidak akan pernah
terpenuhi
berapapun nilai n
3n+4 <= cn ?
3*2+4 <=4*2 ?
3n+4 <= cn ?
3*3+4 <=4*3 ?
3n+4 <= cn ?
3*4+4 <=4*4 ?
Apa
kesimp
ulannya
?
Lanjt
Sehingga dari f(n) = 3n+4
akan terpenuhi f(n) <= 4n untuk n >= 4
berarti f(n)=O(4n) untuk n0=4
f(n)
4n
3n+4
n=4
Eko Aribowo-ANPAL-UAD
n
Contoh dan Latihan
Apa fungsi big Oh dari
4n ?
2n+7 ?
n2 ?
n2+3 ?
Eko Aribowo-ANPAL-UAD
Notasi W (big Omega)
Untuk fungsi g(n),kita
definisikan W(g(n)) sbg bigOmega dari n, sbg himpunan:
W(g(n)) = {f(n) :  konstanta
positif c dan n0, sedemikian
hingga n  n0, maka 0  cg(n)
 f(n)}
Eko Aribowo-ANPAL-UAD
Lanjt
f(n) Secara intuitif : himpunan
dari semua nilai fungsi yang rate
of growth-nya adalah sama atau
lebih tinggi dari g(n).
g(n) adalah asymptotic lower
bound untuk f(n).
f(n) = Q(g(n))  f(n) =
W(g(n)). Q(g(n))  W(g(n)).
Eko Aribowo-ANPAL-UAD
Lanjt
•
•
•
•
•
2.0001 =
2.50 =
2.99 =
3n + 7 =
2n2 + 5 =
2 (batas bawah tidak akan kurang dari 2)
2
2
?
?
•Big Omega  W adalah merupakan
Lower bound dari suatu fungsi
Eko Aribowo-ANPAL-UAD
Notasi Q (big theta)
Untuk fungsi g(n),kita definisikan
Q(g(n)) sbg big-theta dari n, sbg
himpunan sprt berikut
Q(g(n)) = {f(n) :  konstanta
positif c1, c2 dan n0, sedmikian
rupa n  n0, maka 0  c1g(n)
 f(n)  c2g(n)}
Eko Aribowo-ANPAL-UAD
Lanjt
• Big theta  Q
adalah merupakan
tight bound dari
suatu fungsi
f(n) merupakan Q(g(n))
pada nilai antara c1 smp
c2
g(n) adalah asymptotically tight bound untuk f(n).
Eko Aribowo-ANPAL-UAD
Lanjt
Secara intuitif : himpunan
seluruh fungsi yang
rate of growth-nya sama
dengan g(n).
Secara teknik, f(n)  Q(g(n)).
Penggunan sebelumnya,
f(n) = Q(g(n)).
Mana yg akan kita teima … ?
f(n) dan g(n) nonnegative, untuk nilai n besar.
Eko Aribowo-ANPAL-UAD
Contoh
Q(g(n)) = {f(n) :  konstanta positif c1, c2, dan n0,
yg mana n  n0, 0  c1g(n)  f(n)  c2g(n)}
•10n2 - 3n = Q(n2)
•Apa nilai konstanta n0, c1, dan c2 sehingga
akan terpenuhi fungsi tsb?
•Buat c1 sedkit lebih kecil dari koefisien
utama, dan c2 sedikit lebih besar.
•Untuk membandingkan tingkat
pertumbuhan, lihat term utama.
•Latihan: Buktikan bahwa n2/2-3n = Q(n2)
Eko Aribowo-ANPAL-UAD
Relasi antara Q, O, W
Eko Aribowo-ANPAL-UAD
Relasi antara Q, O, W
Teorema : untuk 2 fungsi g(n) dan f(n),
f(n) = Q(g(n)) jika
f(n) = O(g(n)) dan f(n) = W(g(n)).
• yakni, Q(g(n)) = O (g(n))  W (g(n))
• Dalam prakteknya, nilai Q (atau tight
bounds) didapat dari asymptotic upper
bound dan lower bound.
Eko Aribowo-ANPAL-UAD
Running Time
• Running time dari suatu algoritma, secara
matematis adalah suatu fungsi input n
untuk sejumlah n data
– Misal f(n)=n2  berarti fungsi runing time dari
sejumlah n data adalah n2
• Running time merupakan fungsi kebutuhan
sumberdaya yang diperlukan suatu
algoritma (atau implementasinya) untuk
memproses sejumlah data n
Eko Aribowo-ANPAL-UAD
Lanjt
• “Running time-nya O(f(n))”  O(f(n)) adalah
sbgWorst case-nya
• O(f(n)) batasan pd worst-case running time 
O(f(n)) batasan pada running time dari setiap
input.
 Q(f(n)) batasan pd worst-case running time 
Q(f(n)) batasan pd running time dari setiap
input.
• “Running time -nya W (f(n))”  W(f(n)) sbg Best
case-nya
Eko Aribowo-ANPAL-UAD
Analisis Empiris ?
Eko Aribowo-ANPAL-UAD