Sabtu, 01 Januari 2011

Permainan “Menara Hanoi”

permainan ini adalah Tower of Hanoi atau dalam bahasa Indonesia “Menara Hanoi”. Di bawah ini definisi dari Menara Hanoi yang saya temukan di wikipedia Indonesia.

Menara Hanoi adalah sebuah permainan matematis atau teka-teki. Permainan ini terdiri dari tiga tiang dan sejumlah cakram dengan ukuran berbeda-beda yang bisa dimasukkan ke tiang mana saja. Permainan dimulai dengan cakram-cakram yang tertumpuk rapi berurutan berdasarkan ukurannya dalam salah satu tiang, cakram terkecil diletakkan teratas, sehingga membentuk kerucut.

Tujuan dari teka-teki ini adalah untuk memindahkan seluruh tumpukan ke tiang yang lain, mengikuti aturan berikut:

* Hanya satu cakram yang boleh dipindahkan dalam satu waktu.
* Setiap perpindahan berupa pengambilan cakram teratas dari satu tiang dan memasukkannya ke tiang lain, di atas cakram lain yang mungkin sudah ada di tiang tersebut.
* Tidak boleh meletakkan cakram di atas cakram lain yang lebih kecil.

Berkas:Tower of Hanoi.jpeg

Aturan yang cukup sederhana bukan? Namun bisakah Anda menyelesaikan permainan? Saya percaya Anda bisa. Kalau begitu bisakah Anda menyelesaikan permainan ini dengan langkah minimum? Anda dapat mencobanya di sini atau di sini.

Langkah minimum untuk 3 tingkat adalah 7 langkah. Untuk 4 tingkat adalah 15 langkah. Untuk 5 tingkat adalah 31 langkah. Untuk tingkat-tingkat seterusnya dapat Anda hitung dengan rumus 2^n – 1.

Jika Anda belum dapat menyelesaikannya dengan langkah minimum pada level yang cukup tinggi, di sini saya akan memberikan sedikit petunjuk untuk melakukannya.

1. Cobalah selesaikan permainan ini pada tingkat 3 dan 4. Dua tingkat ini akan membantu Anda untuk membuka pikiran Anda.

2. Jika Anda berhasil mengerjakan dengan langkah terpendek pada dua tingkat di atas. Cobalah mengerjakan tingkat 5.

3. Setelah berhasil menyelesaikan tingkat 5, mungkin Anda sudah mulai memahami ide dari permainan ini, yaitu jika Anda ingin menyelesaikan tingkat 5, maka Anda perlu memindahkan 4 tingkat yang di atasnya ke tiang kedua. Setelah itu Anda baru dapat memindahkan lapisan dasar ke tiang ketiga, lalu Anda perlu memindahkan 3 tingkat teratas yang sekarang berada di tiang kedua ke tiang pertama. Setelah itu Anda baru dapat memindahkan Lapisan kedua dari bawah ke tiang ke tiga, lalu Anda perlu memindahkan 2 tingkat teratas dari tiang pertama ke tiang kedua. Setelah itu Anda baru dapat memindahkan lapisan ketiga dari bawah ke tiang ketiga, lalu akhirnya Anda hanya perlu memindahkan 1 tingkat teratas dari tiang kedua ke tiang pertama. Dan Anda dapat segera menyelesaikannya. Mudah bukan? Yang perlu Anda lakukan hanyalah menerapkan rekursif atau pengulangan langkah yang sederhana.

Setelah Anda berhasil menyelesaikan 5 tingkat dengan langkah terpendek, maka saya rasa Anda perlu mencobanya pada tingkat yang lebih tinggi lagi. Selamat mencoba.

1 komentar: