Anda di halaman 1dari 5

Pendakian Bukit (Hill Climbing)

o Metode ini hampir sama dengan metode pembangkitan & pengujian, hanya saja proses
pengujian dilakukan dengan menggunakan fungsi heuristik.
o Pembangkitan keadaan berikutnya sangat tergantung pada feedback dari prosedur pengetesan.
o 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 de ngan 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 Steepest-ascent hill climbing sebenarnya hampir sama dengan simple hill climbing, hanya saja
gerakan pencarian tidak dimulai dari posisi paling kiri.
o Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik.
o Dalam hal ini urutan penggunaan operator tidak menentukan penemuan solusi.
o Steepest-ascent hill climbing sebenarnya hampir sama dengan simple hill climbing, hanya saja
gerakan pencarian tidak dimulai dari posisi paling kiri.
o Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik.
o 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 iteras i 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 SUC C 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