Anda di halaman 1dari 2

Iterative deepening search adalah metode yang menggabungkan kelebihan BFS (Complete

dan Optimal) dengan kelebihan DFS (space complexity rendah atau membutuhkan sedikit memori)
Tetapi konsekwensinya adalah time complexitynya menjadi tinggi. Iteratif memperdalam
kedalaman-pertama pencarian (IDS) adalah pencarian ruang strategi di mana pencarian mendalam-
terbatas dijalankan berulang kali, meningkatkan batas kedalaman dengan setiap iterasi sampai
mencapai, kedalaman negara tujuan dangkal. IDS setara dengan luas-pertama pencarian, tetapi
menggunakan memori lebih sedikit, pada setiap iterasi, ia mengunjungi node dalam pohon
pencarian dalam urutan yang sama seperti depth-first search, tapi urutan kumulatif di mana node
pertama kali mengunjungi secara efektif luasnya -pertama.

Kompleksitas ruang IDS adalah, di mana merupakan faktor percabangan dan kedalaman
dangkal gawang. Karena berulang memperdalam kunjungan menyatakan beberapa kali, hal itu
mungkin tampak sia-sia, tapi ternyata menjadi tidak begitu mahal, karena di pohon sebagian besar
node berada di tingkat bawah, sehingga tidak terlalu menjadi masalah jika tingkat atas yang
dikunjungi beberapa kali.

Keuntungan utama dari IDS dalam mencari permainan pohon adalah bahwa pencarian
sebelumnya cenderung meningkatkan heuristik yang biasa digunakan, seperti heuristik pembunuh
dan pemangkasan alpha-beta, sehingga perkiraan yang lebih akurat dari skor berbagai node pada
pencarian kedalaman akhir dapat terjadi, dan pencarian selesai lebih cepat karena dilakukan dalam
urutan yang lebih baik. Misalnya, alpha-beta pemangkasan yang paling efisien jika ia mencari
langkah terbaik pertama.

Keuntungan kedua adalah respon dari algoritma. Karena iterasi awal menggunakan nilai
kecil untuk, mereka mengeksekusi sangat cepat. Hal ini memungkinkan algoritma untuk memasok
indikasi awal hasilnya segera, diikuti oleh perbaikan dengan meningkatnya. Ketika digunakan
dalam pengaturan interaktif, seperti dalam program bermain catur, fasilitas ini memungkinkan
program untuk bermain setiap saat dengan langkah terbaik saat ini ditemukan dalam pencarian
telah selesai sejauh ini. Hal ini tidak mungkin dengan pencarian mendalam-pertama tradisional.

Kompleksitas waktu IDS di seimbang pohon berhasil menjadi sama seperti pencarian
Depth-first. Dalam iteratif deepening, pencarian node pada tingkat bawah diperluas sekali, orang-
orang di samping tingkat bawah diperluas dua kali, dan seterusnya, sampai ke akar pohon
pencarian.

Gambar 1. Jalur yang dilewati

Contoh pseudo code

procedure IDDFS(root)
for depth from 0 to ∞
found ← DLS(root, depth)
if found ≠ null
return found
procedure DLS(node, depth)
if depth = 0 and node is a goal
return node
else if depth > 0
foreach child of node
found ← DLS(child, depth−1)
if found ≠ null
return found
return null

Anda mungkin juga menyukai