220 likes | 714 Views
Hill Climbing. Pengertian. Sama halnya dengan teknik generate dan test, Hill Climbing juga melakukan suatu pembangkitan keadaan dan pengujian. Bedanya pengujian pada Hill Climbing menggunakan fungsi heuristik (fx) yang akan memberikan suatu perkiraan ukuran jarak tujuan dari node x.
E N D
Pengertian • Sama halnya dengan teknik generate dan test, Hill Climbing juga melakukan suatu pembangkitan keadaan dan pengujian. Bedanya pengujian pada Hill Climbing menggunakan fungsi heuristik (fx) yang akan memberikan suatu perkiraan ukuran jarak tujuan dari node x. • Metode Hill Climbing sering digunakan jika terdapat fungsi heuristic yang baik untuk mengevaluasi state (Rich, 1991). Sebagai contoh, seandainya kita berada di sebuah kota yang tidak dikenal, tanpa peta dan kita ingin menuju ke pusat kota. Cara sederhana adalah menuju gedung yang tinggi. Fungsi heuristics-nya adalah jarak antara lokasi sekarang dengan gedung yang tinggi dan state yang diinginkan adalah state yang mana jarak tersebut merupakan yang terpendek.
Teknik Hill Climbing dapat digunakan untuk memecahkan persoalan yang memiliki banyak alternatif solusi untuk kemudian memilih solusi yang terbaik. • Hill climbing planner adalah salah satu algoritma yang digunakan dalam forward state planning. Ide dari hill climbing planner ini diambil dari hill climbing search, dimana dalam tiap state algoritma ini akan mengambil satu anak yang paling bagus untuk diekspansi hingga tercapainya goal. Jika terdapat nilai heuristic yang sama, maka akan dipilih secara acak dan jika heuristic yang dihasilkan oleh suatu state tidak membaik, maka pencarian akan dihentikan dan akan diulang.
Implementasi • Hill climbing planner adalah salah satu algoritma yang digunakan dalam forward state planning. Ide dari hill climbing planner ini diambil dari hill climbing search, dimana dalam tiap state algoritma ini akan mengambil satu anak yang paling bagus untuk diekspansi hingga tercapainya goal. Jika terdapat nilai heuristic yang sama, maka akan dipilih secara acak dan jika heuristic yang dihasilkan oleh suatu state tidak membaik, maka pencarian akan dihentikan dan akan diulang.
Prosedur Hill Climbing : • Buatlah solusi usulan pertama dengan cara yang sama seperti yang dilakukan dalam prosedur buat dan uji (generate and test). Periksalah apakah solusi usulan itu merupakan sebuah solusi. Jika ya, berhentilah. Jika tidak, kita lanjutkan ke langkah berikutnya. • Dari solusi ini, terapkan sejumlah aturan yang dapat diterapkan untuk membuat sekumpulan solusi usulan yang baru. Saat perubahan yang dilakukan tidak lagi mendapatkan solusi yang lebih baik, algoritma Hill Climbing akan berhenti mencari dan menentukan solusi terakhir sebagai solusi yang optimal. • Untuk setiap elemen kumpulan solusi tersebut, lakukanlah hal-hal berikut ini :a. Kirimkanlah elemen ini ke fungsi uji. Jika elemen ini merupakan sebuah solusi, berhentilah. b. Jika tidak, periksalah apakah elemen ini merupakan yang terdekat dengan solusi yang telah diuji sejauh ini. Jika tidak, buanglah. • Ambilah elemen terbaik yang ditemukan di atas dan pakailah sebagai solusi usulan berikutnya. Langkah ini bersesuaian dengan langkah dalam ruang problema dengan arah yang muncul sebagai yang tercepat dalam mencapai tujuan. • Kembalilah ke langkah 2.
A 8 B 3 4 7 5 D C 6 contoh Contoh : Traveling Salesman Problem (TSP) Seorang salesman inginmengunjungi n kota. Jarakantaratiap-tiapkotasudahdiketahui. Kita inginmengetahuiruteterpendekdimanasetiapkotahanyabolehdikunjungitepat 1 kali. Misalada 4 kotadenganjarakantaratiap-tiapkotasepertiberikutini :
A 8 B 3 4 7 5 D C 6 Solusi – solusi yang mungkin denganmenyusunkota-kotadalamurutanabjad, misal : A – B – C – D : denganpanjanglintasan (=19) A – B – D – C : (=18) A – C – B – D : (=12) A – C – D – B : (=13) dst
Metode simple hill climbing Ruangkeadaanberisisemuakemungkinanlintasan yang mungkin. Operator digunakanuntukmenukarposisikota-kota yang bersebelahan. Fungsiheuristik yang digunakanadalahpanjanglintasan yang terjadi. Operator yang akandigunakanadalahmenukarurutanposisi 2 kotadalam 1 lintasan. Bilaada n kota, daninginmencarikombinasilintasandenganmenukarposisiurutan 2 kota, makaakandidapatsebanyak :
Keenamkombinasiiniakandipakaisemuanyasebagai operator, yaitu : Tukar 1,2 = menukarurutanposisikotake – 1 dengankotake – 2 Tukar 2,3 = menukarurutanposisikotake – 2 dengankotake – 3 Tukar 3,4 = menukarurutanposisikotake – 3 dengankotake – 4 Tukar 4,1 = menukarurutanposisikotake – 4 dengankotake – 1 Tukar 2,4 = menukarurutanposisikotake – 2 dengankotake – 4 Tukar 1,3 = menukarurutanposisikotake – 1 dengankotake – 3
Keadaanawal, lintasan ABCD (=19). • Level pertama, hill climbing mengunjungi BACD (=17), BACD (=17) < ABCD (=19), sehingga • BACD menjadipilihanselanjutnyadengan operator Tukar 1,2 • Level kedua, mengunjungi ABCD, karena operator Tukar 1,2 sudahdipakai BACD, makapilih node • lain yaitu BCAD (=15), BCAD (=15) < BACD (=17) • Level ketiga, mengunjungi CBAD (=20), CBAD (=20) > BCAD (=15), makapilih node lain yaitu • BCDA (=18), pilih node lain yaitu DCAB (=17), pilih node lain yaitu BDAC (=14), BDAC (=14) < BCAD (=15) • Level keempat, mengunjungi DBAC (=15), DBAC(=15) > BDAC (=14), makapilih node lain yaitu • BADC (=21), pilih node lain yaitu BDCA (=13), BDCA (=13) < BDAC (=14) • Level kelima, mengunjungi DBCA (=12), DBCA (=12) < BDCA (=13) • Level keenam, mengunjungi BDCA, karena operator Tukar 1,2 sudahdipakai DBCA, makapilih node • lain yaitu DCBA, pilih DBAC, pilih ABCD, pilih DACB, pilih CBDA • Karenasudahtidakada node yang memilikinilaiheuristik yang lebihkecildibandingnilaiheuristik DBCA, maka node DBCA (=12) adalahlintasanterpendek (SOLUSI)
Keadaanawal, lintasan ABCD (=19). Level pertama, hill climbing memilihnilaiheuristikterbaikyaitu ACBD (=12) sehingga ACBD menjadipilihanselanjutnya. Level kedua, hill climbing memilihnilaiheuristikterbaik, karenanilaiheuristiklebihbesardibanding ACBD, makahasil yang diperolehlintasannyatetap ACBD (=12)