PERNGERTIAN
BACKTRACKING
PENGERTIAN
BACKTRACKING
Backtracking adalah algoritma yang
Back : Kembali
berbasis pada Depth First Search
Track : Jalur (DFS) untuk mencari solusi persoalan
Tracking : Mengikuti Jalur lebih cepat dan runut balik yang
merupakan perbaikan dari algoritma
Backtracking : Runut-balik
bruteforce.
ALGORITMA
BACKTRACKING
1 2 3 4
Membentuk lintasan dari Jika lintasan yang diperluas Jika pembentukan lintasan Bila tidak ada lagi simpul
akar ke daun (mengikuti
yang sedang dibentuk tidak berakhir dengan simpul mati, anak yang dibangkitkan,
metode DFS).
mengarah ke solusi, maka maka proses pencarian maka pencarian solusi
- Simpul-simpul yang sudah simpul-E tersebut “dibunuh” diteruskan dengan dilanjutkan dengan
dilahirkan dinamakan
sehingga menjadi simpul membangkitkan simpul anak melakukan runut-balik
simpul hidup (live node).
mati (dead node). Simpul lainnya. (backtracking) ke simpul
- Simpul hidup yang sedang yang sudah mati ini tidak hidup terdekat. Selanjutnya
diperluas dinamakan akan diperluas lagi. simpul ini menjadi simpul
simpul-E (expand node).
yang terbaru.
CONTOH ALGORTITMA BACKTRACKING
1. Pada Gambar diatas simpul akar adalah A dan simpul tujuan adalah G.
2. Pencarian dimulai dari memeriksa simpul anak dari simpul A yaitu adalah
simpul B dan C.