Teknik Counting Lanjut Pendahuluan Banyak problem counting yang tidak dapat dipecahkan dengan menggunakan hanya aturan dasar, kombinasi, permutasi, dan aturan sarang merpati. Misalnya: Ada berapa banyak string biner dengan panjang n yang tidak memuat 2 angka nol berurutan? Untuk memecahkan ini, misalkan an = banyaknya string tsb panjang n. Dapat ditunjukkan kemudian bhw an+1 = an + an-1. Dengan memecahkan persamaan ini kita dapat mencari an. Relasi Recurrence Definisi. Relasi Recurrence untuk barisan {an} adalah persamaan yang menyatakan an dalam salah satu atau lebih bentuk a0, a1, …, an-1 untuk semua n dengan n n0 dimana n0 bilangan bulat nonnegatif. Barisan {an} tersebut dikatakan sebagai solusi dari relasi recurrence ini bila an memenuhi relasi recurrence. Pemodelan dengan relasi recurrence Misalkan seseorang menabung Rp. 100,000 di bank dengan bunga 12% per tahun. Berapa banyak uangnya setelah 30 tahun? Solusi. Misal Pn menyatakan banyaknya uang dalam tabungan setelah n tahun. Maka, Pn = Pn-1 + 0.12 Pn-1 = (1.12) Pn-1, dengan P0 = 100,000. Dengan pendekatan iteratif: P1 = (1.12)P0 P2 = (1.12)P1 = (1.12)2 P0 P3 = (1.12)P2 = (1.12)3 P0 Pn = (1.12)Pn-1 = (1.12)n P0 Kelinci dan Bilangan Fibonacci 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. Solusi. Misalkan fn: jumlah pasangan kelinci setelah n bulan. Maka, f1 = 1, f2 = 1. Untuk mencari fn, tambahkan jumlah pasangan pada bulan sebelumnya, fn-1, dengan jumlah pasangan yang baru lahir, fn-2. Jadi, fn = fn-1 + fn-2. Menara Hanoi Merupakan sebuah puzzle populer yang ditemukan oleh seorang matematikawan Perancis Edouard Lucas pada abad 19, dan disebut 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. Menara Hanoi… Misalkan Hn: 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 Hn-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 Hn-1 langkah. Sehingga kita telah memecahkan puzzle dengan banyak langkah: Hn = 2Hn-1 + 1 dan H1 = 1. Menara Hanoi… Untuk mencari solusinya, dilakukan proses iteratif: Hn = 2Hn-1 + 1 = 2(2Hn-2 + 1)+1 = 22Hn-2 + 2 +1 = 22(2Hn-3 +1) + 2 +1 = 23Hn-3 + 22 + 2 +1 : = 2n-1H1 + 2n-2 + 2n-3 + … + 2 +1 = 2n-1 + 2n-2 + 2n-3 + … + 2 +1 (deret geometri) = 2n - 1 Jadi, untuk memindahkan 64 disk diperlukan langkah sebanyak: 264 - 1 = 18,446,744,073,709,551,615. Variasi Menara Hanoi Terdapat banyak variasi dari masalah Menara Hanoi. Yang tertua dan paling menarik adalah Reve’s puzzle (Henry Dudeney, 1907). Reve’s puzzle: Sama seperti masalah Menara Hanoi namun menggunakan 4 tiang. Hingga kini belum ditemukan jumlah langkah minimum untuk puzzle dengan n disk. Frame’s conjecture (Frame dan Stewart, 1939). Contoh Ada berapa banyak string biner dengan panjang n yang tidak memuat 2 angka nol berurutan? Misalkan an string biner dengan panjang n yang tidak memuat 2 angka nol berurutan. Tentukan relasi recurrence untuk an. Solusi. Periksa: a1 = 2 dan a2 = 3. Ada dua cara mendapatkan string biner dengan panjang n yang tidak memuat 2 angka nol berurutan: string biner dengan panjang n-1 yang tidak memuat 2 angka nol berurutan 1 an-1 string biner dengan panjang n-2 yang tidak memuat 2 angka nol berurutan 10 an-2 an = an-1 + an-2 Contoh (Enumerasi Codeword) Suatu string desimal merupakan katakode yang valid dalam suatu sistem komputer jika string tersebut memuat sejumlah genap digit 0. Contoh. 1230550821 valid dan 120028790 tidak valid. Misalkan an banyaknya katakode valid dengan panjang n. Tentukan relasi recurrence untuk an. Solusi. Periksa: a1 = 9. Ada dua cara mendapatkan katakode valid panjang n: Menambahkan 1 digit selain ‘0’ pada katakode valid panjang n-1 9an-1 Menambahkan 1 digit ‘0’ pada katakode tak valid panjang n-1 10n-1 - an-1 an = 8an-1 + 10n-1 Soal (Bilangan Catalan) Cn adalah banyaknya cara untuk mengelompokkan perkalian n+1 bilangan x0 . x1 . x2 … xn, untuk menentukan urutan perkalian. Tentukan relasi recurrence untuk Cn.