Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Pertemuan-4 : Recurrences  Pendahuluan:  Pengertian, contoh, dll  Metode substitusi  Metode pohon rekursi  Metode master.

Presentasi serupa


Presentasi berjudul: "1 Pertemuan-4 : Recurrences  Pendahuluan:  Pengertian, contoh, dll  Metode substitusi  Metode pohon rekursi  Metode master."— Transcript presentasi:

1 1 Pertemuan-4 : Recurrences  Pendahuluan:  Pengertian, contoh, dll  Metode substitusi  Metode pohon rekursi  Metode master

2 2 Penemu fungsi rekursif Lahir : Hungary, February 17, 1905 Meninggal : Hungary, February 16, 1977

3 3 Pendahuluan Ada kalanya kita mengalami kesulitan untuk mendefinisikan suatu objek secara eksplisit. proses rekursifDalam kasus ini, mungkin lebih mudah untuk mendefinisikan objek tersebut menggunakan dirinya sendiri. Ini dinamakan sebagai proses rekursif Kita dapat mendefinisikan barisan, himpunan atau fungsi secara rekursif.

4 4 Langkah-langkah mendefinisikan barisan secara rekursif: 1.Langkah basis: Spesifikasi anggota awal. 2.Langkah rekursif: Berikan aturan untuk membangun anggota baru dari anggota yang telah ada.

5 5 Contoh barisan yang didefinisikan secara rekursif Berikan definisi rekursif dari a n =r n, dengan r  Bulat, r ≠ 0 dan n bilangan bulat positif. Solusi: Definisikan a 0 = r 0 = 1 dan a n+1 = r.a n untuk n = 0, 1, 2, …

6 6 Langkah-langkah mendefinisikan fungsi secara rekursif dgn domain bil. cacah 1.Langkah basis: Tentukan nilai fungsi pada saat nol 2.Langkah rekursif: Berikan aturan untuk mencari nilai fungsi untuk setiap bilangan bulat berdasarkan nilai fungsi pada bilangan bulat yang lebih kecil. rekursif definisi induktif Definisi seperti itu disebut rekursif atau definisi induktif

7 7 Contoh fungsi yang didefinisikan secara rekursif f(0) = 3 f(n + 1) = 2f(n) + 3 maka f(0) = 3 f(1) = 2f(0) + 3 = 2  = 9 f(2) = 2f(1) + 3 = 2  = 21 f(3) = 2f(2) + 3 = 2  = 45 f(4) = 2f(3) + 3 = 2  = 93

8 8 Bilangan Fibonacci f 0 = 0, f 1 = 1 f n = f n-1 + f n-2, n=2,3,4,… f 0 = 0 f 1 = 1 f 2 = f 1 + f 0 = = 1 f 3 = f 2 + f 1 = = 2 f 4 = f 3 + f 2 = = 3 f 5 = f 4 + f 3 = = 5 f 6 = f 5 + f 4 = = 8

9 9 Pertumbuhan populasi kelinci Sepasang kelinci ditaruh di suatu pulau. Pasangan kelinci ini tidak akan beranak sampai berumur 2 bulan. Setelah berumur 2 bulan, setiap sepasang menghasilkan sepasang yg lain setiap bulannya. Tentukan relasi recurrence dari jumlah pasangan setelah n bulan, bila tidak ada kelinci yg mati.

10 10 Populasi kelinci: bulan 0 : 1 pasang bulan 1 : 1 pasang bulan 2 : pasang bulan 3 : pasang bulan 4 : pasang... bulan n : bulan(n-1) + bulan(n-2) pasang

11 11 Solusi: Misalkan f n : jumlah pasangan kelinci setelah n bulan, maka, f 1 = 1, f 2 = 1. Untuk mencari f n, tambahkan jumlah pasangan pada bulan sebelumnya, f n-1, dengan jumlah pasangan yang baru lahir, f n-2. Jadi, f n = f n-1 + f n-2.

12 12 Solusi: dengan disebut golden ratio

13 13 Andaikan:

14 14 Komputasi rekursif: recFib(n) { if (n ≤ 1) return n else return recFib(n-1) + recFib(n-2) }

15 15 T(n) = T(n-1) + T(n-2) 2T(n-2) ≤ T(n-1) + T(n-2) ≤ 2T(n-1) T(n) = O(2 n ) T(n) = Ω(2 n/2 )

16 16 Komputasi iteratif: IterFib (n) { f[0] = 0; f[1] = 1; for ( i=2 ; i ≤ n ; i++) f[i] = f[i-1] + f[i-2]; } T(n) = O(n)

17 17 Relasi rekursif (Recurrence) Relasi Recurrence untuk barisan {a n } adalah persamaan yang menyatakan a n dalam satu atau lebih bentuk a 0, a 1, …, a n-1 untuk semua n dengan n  n 0 dimana n 0 bilangan bulat non-negatif. Barisan {a n } tersebut dikatakan sebagai solusi dari relasi recurrence ini bila a n memenuhi relasi recurrence.

18 18 Penyelesaian relasi rekursif  Metode substitusi: dengan cara membuat tebakan terhadap solusinya, kemudian tebakan tsb dibuktikan dengan induksi matematika  Metode (pohon) rekursif: dengan cara mengubah bentuk rekursif menjadi bentuk penjumlahan, kemudian diselesaikan.  Metode master: digunakan utk menyelesaikan pers rekursif dalam bentuk : T(n) = aT(n/b) + f(n)

19 19 Metode substitusi Diketahui : Buktikan bahwa: Buat tebakan T(n) = O(√n), berarti T(n) ≤ c√n

20 20 Bukti: dengan induksi matematika Basis induksi : n = 1, c=4 T(1) = 1 ≤ c√1, c > 0 Langkah induksi: (c/√2 + 1) ≤ c benar untuk c = 4

21 21 Selesaikan T(n) = 2T ([n/2]) + n, T(1)=1 Misalnya digunakan tebakan : O(n log n) T(n) = 2 T([n/2]) + n, T(1) = 1 T(n) ≤ 2(c[n/2]log([n/2])) + n ≤ c.n.lg([n/2]) + n ≤ c.n.lg n - c.n.lg 2 + n ≤ c.n.lg n - c.n + n ≤ c.n.lg n yang berlaku untuk c ≥ 1

22 22 Metode iterasi tidak memerlukan tebakan solusinya, tetapi memerlukan manipulasi aljabar yang lebih intensif dari pada metode substitusi. Ide dasarnya adalah dengan mengembangkan bentuk rekursif tersebut serta merepresentasi- kannya dalam bentuk jumlah. Teknik untuk mengevaluasi bentuk jumlah dapat digunakan untuk mendapatkan nilai batas dari solusinya. Metode iterasi/ rekursif:

23 23 Contoh: Tentukan T(n), bila T(1) = 1 T(n) = T(n-1) + 1/n Jawab: Bila bentuk rekursif diuraikan: (lihat Cormen 3.9)

24 24 Contoh: T(n) = 3T([n/4])+ n Bila bentuk rekursif diuraikan: T(n) = n + 3T([n/4]) = n + 3([n/4]) + 3T(n/4[/4])) = n + 3([n/4]+ 3([n/16]+ 3T(n/64))) = n + 3n/4+ 9n/16+ 27T(n/64) Suku ke-i berbentuk 3 i n/4 i Oleh karena n berkurang sebesar 4 pada setiap iterasi, maka proses berlangsung sampai log 4 N langkah

25 25 T(n) ≤ n + 3n/4 + 9n/ n/ log 4 N N / N

26 26 Menara Hanoi Terdapat menara dengan 3 tiang untuk meletakkan sejumlah disk berukuran berbeda. Awalnya semua disk terletak secara terurut pada tiang pertama dengan disk terbesar paling bawah Aturan: Satu disk dapat dipindahkan setiap waktu dari satu tiang ke tiang lain selama disk tsb tidak berada di atas disk yang lebih kecil. Tujuan: Memindahkan semua disk ke tiang kedua dengan disk terbesar di urutan paling bawah. Merupakan sebuah puzzle populer yang ditemukan oleh seorang matematikawan Perancis Edouard Lucas pada abad 19

27 27 Misalkan H n : banyaknya langkah yg diperlukan untuk memindahkan n disk dalam masalah menara Hanoi. Kita mulai dengan n disk pada tiang 1. Kita dapat memindahkan n-1 disk paling atas dengan mengikuti aturan ke tiang 3 dalam H n-1 langkah. Kemudian, dengan menggunakan 1 langkah kita bisa memindahkan disk terbesar ke tiang 2. Selanjutnya, pindahkan n-1 disk dari tiang 3 ke tiang 2, dengan mengikuti aturan dalam H n-1 langkah. Dengan demikian, kita telah memecahkan puzzle dengan banyak langkah: H n = 2H n dan H 1 = 1.

28 28 Untuk mencari solusinya, dilakukan proses iteratif: H n = 2H n = 2(2H n-2 + 1)+1 = 2 2 H n = 2 2 (2H n-3 +1) = 2 3 H n … = 2 n-1 H n n-3 + … = 2 n n n-3 + … (deret geometri) = 2 n - 1 Jadi, untuk memindahkan 64 disk diperlukan langkah sebanyak: = 18,446,744,073,709,551,615.

29 29 a=3:n, (3/4)n, (3/4) 2 n,... a=4:n, (4/4)n, (4/4) 2 n,... a=5:n, (5/4)n, (5/4) 2 n,... Contoh: T(n) = aT([n/4])+ n

30 30 a = 3

31 31 a = 4

32 32 a = 5

33 33 Metode master menyediakan semacam “cookbook” untuk menyelesaikan persamaan rekursif dalam bentuk: T(n) = aT(n/b) + f(n) dengan a ≥ 1 dan b > 1 adalah konstanta dan f(n) adalah fungsi yang secara asimtotik positif. Dalam metode master perlu diingat 3 kasus, namun sesudahnya bentuk-bentuk rekursif dapat diselesaikan dengan lebih mudah. Metode Master

34 34 Kasus I: T(n) = aT(n/b) + f(n) a ≥ 1, b > 1 jika f(n) = O(n log b (a-ε) ), ε > 0 maka T(n) = Θ(n log b a ) dhi, f(n) secara polinomial lebih kecil dari n log b a dengan faktor n ε, shg n log b a mendominasi

35 35 Contoh: Jadi kasus I, shg:

36 36 Kasus II: T(n) = aT(n/b) + f(n) a ≥ 1, b > 1 jika f(n) = Θ(n log b a ) maka T(n) = Θ(n log b a log n) dhi, cost setiap langkah adalah n log b a sehingga, padahal ada sebanyak log n langkah, jadi T(n) = Θ(n log b a log n)

37 37 Contoh: Jadi kasus II, shg:

38 38 Kasus III: T(n) = aT(n/b) + f(n) a ≥ 1, b > 1 jika f(n) = Ω(n log b (a+ε) ), ε > 0 dan a f(n/b) ≤ c f(n) untuk c < 1 maka T(n) = Θ(f(n)) dhi, f(n) > n log b a dgn faktor polinomial sehingga suku dominan adalah f(n) + f(n/b) + f(n/b 2 )… O(f(n))

39 39 Contoh: Jadi kasus III, krn f(n) mendominasi

40 40 Gunakan metode Master untuk menentukan T(n) = Θ(?) bila : T(n) = 7T(n/2) + n 2 Solusi: a = 7, b = 2, f(n) = n 2, n log 2 7 = n n 2 = O(n log ε ), oleh karena n 2 ≤ cn ε ε, c > 0 T(n) = Θ(n log 2 7 )

41 41 Gunakan metode Master untuk menentukan T(n) = Θ(?) bila : T(n) = 4T(n/2) + n 2 Solusi: a = 4, b = 2, f(n) = n 2 n 2 = Θ(n log 2 4 ) = Θ(n 2 ) T(n) = Θ(n log 2 4 log n) = Θ(n 2 log n)

42 42 Gunakan metode Master untuk menentukan T(n) = Θ(?) bila : T(n) = 2T(n/3) + n 3 Solusi: a = 2, b = 3, f(n) = n 3 n log 3 2 = n n 3 = Ω(n log ε ) ok n 3 ≥ cn ε ε, c > 0 dan 2f(n/3) = 2n 3 /27 ≤ cn 3 utk 2/27 < c < 1 T(n) = Θ(n 3 )

43 43 Gunakan metode Master untuk menentukan T(n) = Θ(?) bila : T(n) = 3T(n/2) + nlogn Solusi: a = 3, b = 2, f(n) = n logn nlogn = O(n log ε ) nlogn ≤ cn 1.5 logn < cn 0.5 c = 1, n 0 = 16 T(n) = Θ(n log 2 3 )

44 44 Gunakan metode Master untuk menentukan T(n) = Θ(?) bila : Solusi: a = 2, b = 2, f(n) = 10n, log b a = log 2 2 = 1 dapat dicek bahwa jadi

45 45 Metode Master yg umum

46 46


Download ppt "1 Pertemuan-4 : Recurrences  Pendahuluan:  Pengertian, contoh, dll  Metode substitusi  Metode pohon rekursi  Metode master."

Presentasi serupa


Iklan oleh Google