Anda di halaman 1dari 5

Pendakian Bukit (Hill Climbing)

o
o
o

Metode ini hampir sama dengan metode pembangkitan & pengujian, hanya saja proses
pengujian dilakukan dengan menggunakan fungsi heuristik.
Pembangkitan keadaan berikutnya sangat tergantung pada feedback dari prosedur pengetesan.
Tes yang berupa fungsi heuristic ini akan menunjukkan seberapa baiknya nilai terkaan yang
diambil terhadap keadaan-keadaan lainnya yang mungkin.

Simple Hill Climbing


Algoritma
1. Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka berhenti; dan jika
tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.
2. Kerjakan langkah-langkah berikut sampai solusinya ditemukan, atau sampai tidak ada operator
baru yang akan diaplikasikan pada keadaan sekarang:
Cari operator yang belum pernah digunakan; gunakan operator ini untuk mendapatkan
keadaan yang baru.
Evaluasi keadaan baru tersebut.
Jika keadaan baru merupakan tujuan, keluar.
Jika bukan tujuan, namun nilainya lebih baik daripada keadaan sekarang, maka jadikan
keadaan baru tersebut menjadi keadaan sekarang.
Jika keadaan baru tidak lebih baik daripada keadaan sekarang, maka lanjutkan iterasi.
Contoh : Traveling Salesman Problem (TSP)
Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Ingin
diketahui rute terpendek dimana setiap kota hanya boleh dikunjungi tepat 1 kali.

Operator yang akan kita gunakan, adalah menukar urutan posisi 2 kota dalam suatu lintasan. Apabila
ada n kota, dan kita ingin mencari kombinasi lintasan dengan menukar posisi urutan 2 kota,
maka kita akan mendapatkan sebanyak :

n!

2t(n-2)l

Sehingga kalau ada 4 kota, kita bisa memperoleh :


kombinasi.
Keenam kombinasi ini akan kita pakai semuanya sebagai operator,
yaitu:
* Tukar 1, 2 (menukar urutan posisi kota ke-1 dengan kota ke-2).
* Tukar 2, 3 (menukar urutan posisi kota ke-2 dengan kota ke-3).
* Tukar 3, 4 (menukar urutan posisi kota ke-3 dengan kota ke-4).
* Tukar 4, 1 (menukar urutan posisi kota ke-4 dengan kota ke-1).
* Tukar 2, 4 (menukar urutan posisi kota ke-2 dengan kota ke-4).
* Tukar 1, 3 (menukar urutan posisi kota ke-1 dengan kota ke-3).
Pada Gambar 2.22 terlihat bahwa, pada keadaan awal, lintasan terpilih adalah ABCD (=19). Pada
level pertama, hill climbing akan mengunjungi BACD (=17) yang ternyata memiliki nilai heuristic lebih
kecil dibandingkan dengan ABCD (17<19), sehingga BACD menjadi pilihan selanjutnya dengan operator

terpakai Tukar1,2. Pada level kedua, hill climbing akan mengunjung ABCD. Karena operator Tukar 1, 2
sudah digunakan oleh BACD, maka dipilih node yang lain yaitu BCAD (=15). Karena nilai heuristik BCAD
lebih kecil dibanding dengan BACD (15<17), maka node BCAD akan menjadi pilihan selanjutnya dengan
operator Tukar2,3. Kemudian hill climbing akan mengunjungi CBAD (=20). Karena nilai heuristik CBAD
lebih besar jika dibanding dengan BCAD (20>17), maka dipilih node lain. Pencarian menuju ke node
BACD, karena operator Tukar2,3 sudah pernah digunakan oleh BCAD, maka dipilih node lain. Kunjungan
berikutnya ke node BCDA (=18). Niiai inipun masih lebih besar dari niiai heuristic BCAD, sehingga dipilih
node lain. Node vang dikunjungi berikutnya adalah DCAB (=19). Nilai heuristic DCAB ternyata juga lebih
besar dibanding dengan BCAD, sehingga pencarian dilarrjutkan di node lainnya lagi, yaitu BDAC (=14).
Nilai heuristik ini sudah lebih kecil daripada nilai heuristik node BCAD (14<15), maka sekarang node ini
yang akan diekplorasi. Pencarian pertama ditemukan node DBAC (=21), yang lebih besar daripada nilai
BDAC. Nilai heuristik yang lebih kecil diperoleh pada node BDCA (=13). Sehingga node BDCA ini akan
diekplorasi. Pencarian pertama sudah mendapatkan node dengan nilai heuristik yang kebih kecil,
yaitu DBCA (=12). Sehingga node ini diekplorasi juga. Dari hasil ekplorasi dengan pemakaian semua
operator, ternyata sudah tidak ada node yang memiliki nilai heuristik yang lebih kecil disbanding dengan
nilai heuristik DBCA, sehingga sebenarnya node DBCA (=12) inilah lintasan terpendek yang kita cari
(SOLUSI). Misalkan kita tidak menggunakan semua operator, melainkan kita
hanya menggunakan 4 operator pertama saja, yaitu :
* Tukar 1,2 (menukar urutan posisi kota ke'1 dengan kota ke'2).
* Tukar 2, 3 (menukar urutan posisi kota ke-2 dengan kota ke'3).
* Tukar 3,4 (menukar urutan posisi kota ke-3 dengan kota ke'4).
* Tukar 4, 1 (menukar urutan posisi kota ke-4 dengan kota ke'l).
maka pencarian dengan simple hill climbing ini dapat dilihat pada Gambar 2.23. Lintasan terpendek yang
diperoleh adalah B-C-A-D yaitu sebesar 15. Disini kita akan terjebak pada nilai minimum local yang
disebabkan oleh kurangnya operator yang kita gunakan. Kita tidak dapat memperoleh nilai minimum
globalnya yaitu sebesar 12.

Steepest Ascent Hill Climbing


o
o
o
o
o
o

Steepest-ascent hill climbing sebenarnya hampir sama dengan simple hill climbing, hanya saja
gerakan pencarian tidak dimulai dari posisi paling kiri.
Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik.
Dalam hal ini urutan penggunaan operator tidak menentukan penemuan solusi.
Steepest-ascent hill climbing sebenarnya hampir sama dengan simple hill climbing, hanya saja
gerakan pencarian tidak dimulai dari posisi paling kiri.
Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik.
Dalam hal ini urutan penggunaan operator tidak menentukan penemuan solusi.

Algoritma
1. Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka berhenti; dan jika
tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.
2. Kerjakan hingga tujuan tercapai atau hingga iterasi tidak memberikan perubahan pada keadaan
sekarang.
3. Tentukan SUCC sebagai nilai heuristic terbaik dari successorsuccessor.
4. Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang:
5. Gunakan operator tersebut dan bentuk keadaan baru.
6. Evaluasi keadaan baru tersebut. Jika merupakan tujuan, keluar. Jika bukan, bandingkan nilai
heuristiknya dengan SUCC. Jika lebih baik, jadikan nilai heuristic keadaan baru tersebut sebagai
SUCC. Namun jika tidak lebih baik, nilai SUCC tidak berubah.
7. Jika SUCC lebih baik daripada nilai heuristic keadaan sekarang, ubah node SUCC menjadi
keadaan sekarang.

Pada Gambar 2.24, terlihat bahwa, keaclaan awal, iintasan terpiiih adalah ABCD (19). Pada level
pertama, hili climbing akan rnemiiih nilai heuristik terbaik dari keenam succesor yang ada, yaitu:
BACD(17), ACBD(12), ABDC(I8), DBCA(12), ADCB (18) atau CBAD(20). Tentu saja yang terpilih adalah
ACBD, karena memiliki nilai heuristik paling kecil (=12;. Dari ACBD ini akan dipilih nilai heuristik terbaik
dari succesornya yaitu: CABD(15), ABCD(19), ACDB(13), DCBA(19), ADBC(16) atau BCAD(15). Ternyata
dari keenam successor tersebut memiliki nilai heuristik yang lebih besar disbanding dengan ACBD.
Sehingga tidak akan ada perubahan nilai keadaan (tetap ACBD). Hasil yang diperoleh, lintasannya adalah
ACBD (12).

Anda mungkin juga menyukai