Tujuan dari permainan Babylon Tower adalah untuk menentukan langkah dari keadaan awal Babylon Tower yang telah diacak untuk mencapai goal state. Search
tree dari bagian permainan Babylon Tower dapat digambarkan seperti pada gambar 2.2. Dalam search tree, tidak terdapat pemain lawan yang mengambil langkah, tetapi
search tree memiliki kemiripan dengan game tree. Search tree juga memiliki keadaan awal initial state serta serangkaian langkah yang mengubah state selama permainan
berlangsung hingga ditemukan goal state Heineman, et al, 2009.
2.5. Blind Search
Search merupakan hal yang umum dan sering ditemukan dalam kecerdasan buatan, yang merupakan model teoritis yang diterapkan dalam problem solving, aplikasi, dan
bahasa pemrograman Luger Stubblefield, 2009. Blind search disebut juga Uninformed search merupakan strategi pencarian
solusi dimana dalam proses pencariannya, tidak terdapat informasi tambahan tentang keadaan yang akan terjadi selanjutnya dari suatu langkah yang diambil. Blind search
hanya mampu men-generate langkah-langkah selanjutnya dan menentukan apakah solusi sudah tercapai atau belum dari suatu langkah yang diambil. Blind search tidak
mampu menentukan langkah mana yang lebih menguntungkan atau lebih menjanjikan untuk mencapai solusi Russell Norvig, 2010. Beberapa algoritma pencarian yang
termasuk dalam blind search antara lain breadth-first search, depth-first search, iterative deepening search dan sebagainya.
2.5.1 Breadth-First Search
Breadth-first search merupakan strategi pencarian sederhana yang dilakukan dengan men-generate terlebih dahulu node-node baru successor yang merupakan cabang
dari node pertama root. Kemudian masing-masing node baru tersebut akan men- generate lagi successor-nya, dan seterusnya. Node yang akan di-generate successor-
nya terlebih dahulu adalah node yang belum memiliki successor dan berada pada tingkat kedalaman yang paling dangkal.
Universitas Sumatera Utara
Breadth-first search akan selalu menemukan solusi apabila pencarian dilakukan pada pohon pencarian yang memuat solusi pada salah satu node pada
tingkat kedalaman d yang terbatas serta memiliki branching factor b yang terbatas. Ketika node yang memuat solusi di-generate untuk pertama kalinya, maka dapat
dipastikan bahwa node tersebut merupakan solusi yang paling singkat. Hal ini dikarenakan semua node pada tingkat kedalaman yang lebih dangkal telah di-generate
terlebih dahulu dan tidak menemui solusi yang diinginkan. Solusi yang ditemukan merupakan solusi yang optimal apabila biaya cost yang dibutuhkan tidak berkurang
untuk melalui node pada kedalaman yang lebih dalam Russell Norvig, 2010. Contoh breadth-first search yang diterapkan pada permainan Babylon Tower dapat
dilihat pada gambar 2.3.
Gambar 2.3. Breadth-first search pada permainan Babylon Tower
Namun, breadth-first search memiliki kelemahan dari segi penggunaan memori. Apabila proses pencarian dilakukan terhadap pohon pencarian yang setiap
node-nya memiliki jumlah successor sebanyak b, pada root-nya akan di-generate node baru sebanyak b pada kedalaman pertama. Setiap node yang baru akan men-
generate lagi node-nya masing-masing sebanyak b, sehingga pada kedalaman kedua terdapat node sebanyak
. Setiap node baru pada kedalaman kedua akan men- generate lagi node sebanyak b, menghasilkan node sebanyak
pada kedalaman
Universitas Sumatera Utara
ketiga, dan seterusnya. Apabila solusi pencarian terdapat pada kedalaman d, maka dalam kondisi terburuk worst case, dimana solusi terdapat pada node terakhir pada
kedalaman d, jumlah node yang di-generate adalah
Jumlah memori yang dibutuhkan untuk menjalankan algoritma breadth-first search menjadi masalah yang lebih besar dibandingkan waktu yang diperlukan
Russel Norvig, 2010. Jumlah memori yang dibutuhkan juga merupakan kelemahan yang paling besar dalam algoritma breadth-first search. Breadth-first
search yang diterapkan dalam kebanyakan kasus akan menghabiskan memori yang tersedia dalam waktu yang singkat Korf, 1985. Namun breadth-first search juga
membutuhkan waktu yang cukup lama untuk melakukan pencarian karena lama waktu yang diperlukan untuk mencari semua node pada setiap tingkat kedalaman akan
mengalami peningkatan secara eksponensial karena jumlah node yang juga meningkat secara eksponensial Russell Norvig, 2010.
2.5.2. Depth-First Search
Depth-first search mampu menghindari masalah keterbatasan memori yang terjadi pada algoritma breadth-first search Korf, 1085. Depth-first search akan selalu
melalui salah satu cabang dari pohon pencarian dan mengikutinya hingga menemui solusi. Apabila cabang yang dilalui tidak menemui solusi, maka pencarian akan
mundur satu langkah dan dilanjutkan dengan cabang lainnya Luger, 2009. Depth-first search akan selalu men-generate node-node baru dari node yang
paling dalam pada pohon pencarian walaupun masih terdapat node lain pada kedalaman yang lebih dangkal yang belum memiliki successor. Pencarian akan
langsung dilakukan hingga tingkat yang paling dalam dimana node pada kedalaman tersebut tidak memiliki successor-nya lagi. Apabila solusi belum ditemukan,
pencarian akan dilanjutkan pada node terdalam yang masih memiliki successor lain yang belum pernah dicari. Contoh depth-first search yang diterapkan pada permainan
Babylon Tower dapat dilihat pada gambar 2.4.
Universitas Sumatera Utara
Gambar 2.4. Depth-first search pada permainan Babylon Tower
Lama waktu yang dibutuhkan dalam depth-first search dibatasi oleh ukuran kedalaman pohon pencarian. Depth-first search mungkin saja men-generate semua
node dalam pohon pencarian sebanyak , dimana m merupakan kedalaman
Universitas Sumatera Utara
maksimum dari pohon pencarian. Nilai m bisa jauh lebih besar daripada nilai d kedalaman minimum yang memuat solusi atau tak terhingga apabila pohon
pencarian tidak memiliki kedalaman yang terbatas setiap node selalu memiliki successor.
Depth-first search memiliki kelebihan dibandingkan breadth-first search dalam hal penggunaan memori. Pohon pencarian pada depth-first search hanya perlu
menyimpan jalur dari root menuju node pada kedalaman yang sedang dijelajahi serta node-node lain yang belum diekspansi pada kedalaman yang sama. Setiap node yang
sudah pernah dijelajahi dapat langsung dihapus dari memori. Pada pohon pencarian dengan branching factor b dan kedalaman maksimum m, depth-first search
memerlukan memori untuk menampung node sebanyak Russell Norvig,
2010.
2.6. Kecerdasan Buatan dalam Game