Gilles Brassard and Paul Bratley SOLVING RECURRENCE Gilles Brassard and Paul Bratley
Solving Recurrence’s Technique Intelligent guesswork Homogeneous recurrences Inhomogeneous recurrences Change of Variable Range of transformations Asymtotic recurrences
Intelligent Guesswork Pendekatan ini umumnya berlangsung dalam 3 tahapan : (1) hitung beberapa nilai pertama dari rekursi, (2) cari keberaturan atau pola, (3) tebak bentuk umum yang paling sesuai, dan (4) buktikan dengan induksi matematika. Contoh, perhatikan rekursi berikut 0 jika n = 0 T(n) = 3T(n 2) + n untuk n yang lain
Intelligent Guesswork - Cont n sebaiiknya dibatasi sebagai exact power of 2 (n = 2). Beberapa nilai pertama ditabulasikan Penjabaran (penulisan kembali) untuk menemukan pola n 1 2 4 8 16 32 T(n) 5 19 65 211 665
Intelligent Guesswork - Cont (Penulisan kembali) Ketimbang menulis T(2) = 5, akan lebih bermanfaat untuk menulis T(2) = 3 x 1 + 2. Sehingga T(4) = 3 x T(2) + 4 = 3 x (3 x 1 + 2) + 4 = 32 x 1 + 3 x 2 + 4
Intelligent Guesswork - Cont Pencarian pola n T(n) 1 2 3 x 1 + 2 22 32 x 1 + 3 x 2 + 22 23 33 x 1 + 32 x 2 + 3 x 22 + 23 24 34 x 1 + 33 x 2 + 32 x 22 + 3 x 23 + 24 25 35 x 1 + 34 x 2 + 33 x 22 + 32 x 23 + 3 x 24 + 25
Intelligent Guesswork - Cont Pola sudah terlihat T(2k) = 3k20 + 3k-121 + 3k-222 + ... + 312k-1 + 302k = ∑ i = 0 .. k 3k-i2i = 3k∑i = 0..k(2/3)i (deret geometri r = 2/3) = 3k x (1 – (2/3)k+1) / (1 – 2/3) = 3k+1 – 2k+1
Intelligent Guesswork - Cont Bagaimana ketika n bukan power of 2 (n ≠ 2i) ? Tulis kembali persamaan dalam T(n) ketimbang T(2k). Karena n = 2k, maka k = lg n. Sehingga T(n) = T(2lg n) = 3lg n + 1 – 2lg n +1 = 3x3lg n – 2x2lg n = 3 nlg 3 – 2 nlg 2 = 3 nlg 3 – 2n
Intelligent Guesswork - Cont Sehingga T(n) = 3 nlg 3 – 2n ketika n merupakan power of 2. Dengan notasi asymtotic bersyarat, disimpulkan bahwa T(n) (nlg 3 | n is a power of 2).
Homogeneous Recurrences Rekurensi berbentuk a0tn + a1tn-1 + ... + aktn-k = 0 ...... rekurensi linier homogen dengan koefisien konstan. (Teknik persamaan karakteristik), dengan intelligent guesswork menyarankan mencari solusi-solusi dengan bentuk tn = xn dengan x merupakan konstanta yang belum diketahui.
Homogeneous Recurrences - Const Sehingga a0xn + a1xn-1 + ... + akxn-k = 0 untuk x = 0 persamaan berlaku, trivial solution. Sebaliknya persamaan berlaku iff a0xk + a1xk-1 + ... + ak = 0. a0xk + a1xk-1 + ... + ak = p(x) persamaan dengan degree k dalam x disebut persamaan karakteristik dari rekurensi, dan disebut polinomial karakteristik.
Homogeneous Recurrences - Const p(x) difaktorkan sebagai product dari k monomials p(x) = ∏i=1..k(x – ri) dengan ri bisa berupa bilangan-bilangan kompleks. ri merupakan satu-satunya solusi dari persamaan p(x) = 0. Karena p(ri) = 0, berarti x = ri merupakan solusi persamaan karakteristik. Sehingga, merupakan solusi untuk rekurensi.
Homogeneous Recurrences - Const Karena kombinasi liniernya juga merupakan solusi, maka memenuhi rekurensi untuk sebarang pemilihan konstanta-konstanta c1, c2, ..., ck.
Homogeneous Recurrences - Const Contoh (fibonacci) n jika n = 0, 1 fn = fn-1 + fn-2 untuk n yang lain Polinomial karakteristiknya : x2 – x – 1 yang mempunyai akar-akar r1 = (1 + 5)/2 dan r2 = (1 - 5)/2
Homogeneous Recurrences - Const Sehingga “general solution” dalam bentuk Initial conditions digunakan untuk menentukan konstanta2 c1 dan c2. (untuk n = 0, 1; fn = n). Sehingga c1 + c2 = 0 r1 c1 + r2 c2 = 1
Homogeneous Recurrences - Const Jadi yang merupakan rumus Moivre terkenal. Secara umum, jika akar r mempunyai multiplisitas m, maka semuanya merupakan solusi-solusi yang berbeda untuk rekurensi.
Homogeneous Recurrences - Const Jika r1, r2, ..., rl adalah l akar-akar yang berbeda dari polinomial karakteristik dan apabila multiplisitas masing-masing m1, m2, ..., ml ; kemudian merupakan general solution untuk rekurensi yang polinomial karakteristik mempunyai akar-akar sama.
Inhomogeneous Recurrences Bentuk umum a0tn + a1tn-1 + ... + aktn-k = bnp(n) dengan b sebarang konstanta, dan p(n) merupakan polinomial dalam n dengan degree d. Perhatikan contoh-contoh tn – 2tn-1 = 3n
Inhomogeneous Recurrences - Cont Dari rekurensi (slide sebelum ini) bisa diperoleh b = 3 dan p(n) = 1 d = 0. Cara lain (manipulasi aljabar) (1) kalikan rekurensi dengan 3, dan diperoleh 3tn – 6tn-1 = 3n+1 (2) ganti n dengan n – 1 dalam rekurensi, dan diperoleh 3tn-1 – 6tn-2 = 3n
Inhomogeneous Recurrences - Cont (3) lakukan pengurangan tn – 2tn-1 = 3n 3tn-1 – 6tn-2 = 3n tn – 5tn-1 + 6tn-2 = 0 ......................... (*) (*) merupakan rekurensi linier homogen. Contoh lain, tn – 2tn-1 = (n + 5)3n untuk n 1.
Inhomogeneous Recurrences - Cont (1) tulis kembali rekurensi, (2) ganti n dalam rekurensi dengan n – 1 kemudian kalikan dengan -6, dan (3) ganti n dalam rekurensi dengan n – 2 kemudian kalikan dengan 9, Akhirnya, (1)+(2)+(3) = rekurensi homogen tn – 8tn-1 + 21tn-2 – 18tn-3 = 0 Polinomial Karakteristiknya, x3 – 8x2 + 21x – 18 = (x – 2)(x – 3)2
Inhomogeneous Recurrences - Cont Generalization, gunakan polinomial karakteristik (a0xk + a1xk-1 + ... + ak)(x – b)d+1 Contoh (Towers of Hanoi Problem) 0 jika m = 0 t(m) = 2t(m – 1) + 1 untuk m yang lain. Untuk m = 1, 2, ... Berlaku t(m) – 2t(m – 1) = 1, dan diperoleh b = 1, p(n) = 1.
Inhomogeneous Recurrences - Cont Perhatikan rekurensi tn = 2 tn-1 + n. Rekurensi bisa ditulis ulang sebagai tn – 2 tn-1 = n atau tn – 2 tn-1 = 1n n. sehingga b = 1 dan p(n) = n (d = 1). Polinomial karakteristiknya (x – 2)(x – 1)2 (1+1) dengan akar-akar : 2 (multiplisitas 1) dan 1 (multiplisitas 2).
Inhomogeneous Recurrences - Cont General solution : tn = c12n + c21n + c3n1n. Selama t0 0, tn 0 untuk semua n, dan bisa disimpulkan bahwa tn (2n). Untuk memperlihatkan tn (2n) diperlukan analisis lebih lanjut. Dengan substitusi, n = tn – 2 tn-1 = (c12n + c2 + c3n) – 2(c12n-1 + c2 + c3(n-1)) = (2c3 – c2) – c3n
Inhomogeneous Recurrences - Cont Sehingga dengan menyamakan koefisien, diperoleh 2c3 – c2 = 0 dan – c3 = 1 (tanpa kondisi awal) Jadi c3 = – 1 dan c2 = – 2, dan penyelesaian khususnya tn = c12n – n – 2. Selama t0 0, tn 0 untuk semua n, akibatnya c1 harus benar-benar positif. Kesimpulan bahwa tn (2n).
Inhomogeneous Recurrences - Cont Perhatikan rekurensi 1 jika n = 0 tn = 4 tn-1 – 2n untuk n yang lain Rekursi bisa ditulis ulang sebagai tn – 4 tn-1 = – 2n, (tn – 4 tn-1 = 2n (– 1)) Sehingga b = 2 dan p(n) = – 1 (polinomial dengan degree 0, d = 0)
Inhomogeneous Recurrences - Cont Sehingga polinomial karakteristiknya (x – 4)(x – 2) General solution : tn = c14n + c22n . Lakukan substitusi, – 2n = tn – 4 tn-1 = ... Diperoleh c2 = 1 apapun keadaan awalnya. Diketahuinya c2 tidak langsung relevan untuk menentukan “exact order of tn”.
Inhomogeneous Recurrences - Cont Generalization, a0tn + a1tn-1 + ... + aktn-k = b1np1(n) + b1np1(n) + ... dengan bi konstanta-konstanta yang berbeda, dan pi(n) polinomial-polinomial dalam n masing-masing dengan degree di. Polinomial karakteristik nya adalah : (a0xk + a1xk-1 + ... + ak)(x – b1)d1+1(x – b2)d2+1...
Inhomogeneous Recurrences - Cont Perhatikan rekurensi, 0 jika n = 0 tn = 2tn-1 + n + 2n untuk n yang lain Rekurensi ditulis ulang sebagai, tn – 2tn-1 = n + 2n, (tn – 2tn-1 = 1nn + 2n1n) b1 = 1, p1(n) = n, dan b1 = 2, p2(n) = 1. Polinomial karakteristiknya (x – 2)(x – 1)2(x – 2)
Inhomogeneous Recurrences - Cont General solution : tn = c11n + c2n1n + c32n + c4n2n. Kesimpulan dari persamaan : tn (n2n), tanpa harus menghitung konstanta2 ci. Untuk mengetahui “exact order of tn“ lakukan substitusi n + 2n = tn – 2tn-1 = (c11n + c2n1n + c32n + c4n2n) – 2(c11n-1 + c2(n – 1)1n-1 + c32n-1 + c4(n – 1)2n-1)
Inhomogeneous Recurrences - Cont Atau n + 2n = (2c2 – c1) – c2n + c42n. dengan menyamakan koefisien c4 = 1, c2 = – 1, dan 2c2 – c1 = 0 (c1 = – 2). Untuk mencari c3, substitusikan nilai-nilai c1, c2 dan c4 ke tn = c11n + c2n1n + c32n + c4n2n untuk n = 0 diperoleh 0 = (– 2) + 0 + c3 + 0) 0 = – 2 + c3 2 = c3.
Inhomogeneous Recurrences - Cont Cara lain, empat konstanta semua ditentukan dengan menyelesaikan empat persamaan linier dalam empat “unknown” (variable). Dari nilai awal t0 = 0 (tn; n = 0), maka t0 = 3, t2 = 12, dan t3 = 35. Sehingga menghasilkan c1 + c3 = 0 n = 0 c1 + c2 + 2c3 + 2c4 = 3 n = 1 c1 + 2c2 + 4c3 + 8c4 = 12 n = 2 c1 + 3c2 + 8c3 + 24c4 = 35 n = 3 Penyelesaian : c1 = - 2, c2 = - 1, c3 = 2, dan c4 = 1. Sehingga tn = n2n + 2n+1 – n – 2.
Change of Variable Perhatikan rekurensi yang sudah diselesaikan dengan “intelligent guesswork” hanya untuk n = 2i. 1 jika n = 1 T(n) = 3T(n/2) + n jika n = 2i, n > 1 T(n) akan ditransformasikan ke bentuk yang bisa diselesaikan. Untuk tujuan ini diperkenalkan rekurensi baru ti , didefinisikan ti = T(2i). Transformasi sangat bermanfaat karena n/2 menjadi 2i / 2 = 2i-1 = ti-1.
Change of Variable - Cont Sehingga rekurensi yang baru, ti = T(2i) = 3T(2i-1) + 2i = 3 ti-1 + 2i Penulisan ulang, menjadi ti = 3 ti-1 + 2i atau ti 3 ti-1 = 2i (inhomogeneous recurrence) ... ... ketika n = 2i, maka cukup untuk menyimpulkan bahwa : T(n) O(nlg 3 | n is a power of 2)
Change of Variable - Cont Untuk bisa menyimpulkan sesuatu tentang “exact order of” T(n) perlu diperlihatkan bahwa c1 positif. Dibutuhkan persamaan n = T(n) – 3T(n/2) = ... = –c2 n/2 n = –c2 n/2 c2 = – 2. karena c2 negatif, c1 harus positif. Sehingga T(n) (nlg 3 | n is a power of 2) Untuk mencari c1 gunakan initial value, untuk n =1 dan 2.
Change of Variable - Cont Contoh lain, T(n) = 2T(n/2) + n lg n, n = 2i dan n 2. seperti sebelumnya, ti = T(2i) = 2T(2i-1) + 2i i = 2 ti-1 + 2i i Setelah ditulis ulang, ti 2 ti-1 = 2i i Polinomial karakteristik : (x – 2)(x – 2)2 = (x – 2)3
Change of Variable - Cont T(n) = c1 n + c2 n lg n + c3 n lg2 n. Substitusi n lg n = T(n) – 2T(n/2) = ... = (c2 – c3)n + 2c3 n lg n diperoleh c2 – c3 = 0 dan 2c3 = 1, sehingga c2 = c3 = ½. T(n) = c1 n + ½ n lg n + ½ n lg2 n. Kesimpulan : T(n) (n lg2 n | n is a power of 2)
Range of Transformation Perhatikan rekurensi, 1/3 jika n = 1 T(n) = nT2(n/2) untuk n yang lain (n = 2i) karena n = 2i, seperti sebelumnya persamaan menjadi ti = T(2i) = 2i T2(2i /2) = 2i T2(2i-1 ) = 2i ti-12 menulis ulang persamaan menjadi ti = 2i ti-12 (belum ada bentuk yang mencocoki).
Range of Transformation – Cont Transformasi, kedua ruas diambil logaritmanya lg ti = lg 2i ti-12 lg ti = lg 2i + lg ti-12 lg ti = i + 2lg ti-1 Substitusi ui = lg ti diperoleh persamaan rekurensi baru ui = i + 2 ui-1 ui 2ui-1 = i Persamaan karakteristik (x – 2)(x – 1)2 = 0 ... i