Solving Recurrence

Download Report

Transcript Solving Recurrence

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
n
1
2
4
8
16
32
T(n)
1
5
19
65
211 665
 Penjabaran (penulisan kembali) untuk menemukan
pola
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
1
2
3x1+2
22
32 x 1 + 3 x 2 + 22
23
3 3 x 1 + 32 x 2 + 3 x 2 2 + 2 3
24
3 4 x 1 + 33 x 2 + 3 2 x 2 2 + 3 x 2 3 + 2 4
25
3 5 x 1 + 34 x 2 + 3 3 x 2 2 + 3 2 x 2 3 + 3 x 2 4 + 2 5
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)
k+1
k+1
=3 –2
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.
ri
n
Homogeneous Recurrences - Const
 Karena kombinasi liniernya juga
merupakan solusi, maka
k
t n   ci ri n
i 1
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
fn  c r  c r
n
1 1
n
2 2
 Initial conditions digunakan untuk menentukan
konstanta2 c1 dan c2. (untuk n = 0, 1; fn = n).
 Sehingga
c1 + c2 = 0
r1 c1 + r2 c2 = 1
c1 
1
5
dan c2  
1
5
Homogeneous Recurrences - Const
 Jadi
fn 
1
5

1 5
2
   
n
1 5
2
n
yang merupakan rumus Moivre terkenal.
 Secara umum, jika akar r mempunyai multiplisitas m,
maka
n
n
2 n
m1 n
nsemuanyan merupakan
n solusi-solusi yang
n
berbeda
untuk rekurensi.
t  r , t  nr , t  n r ,...,t  n r
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
l
mi 1
tn    cij n r
i 1 j 0
j n
i
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.
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
...