Algoritma simple hill climbing Algoritma Steepest Ascent Hill Climbing

7 kelemahannya yaitu algoritma ini membutuhkan waktu yang relatif lama karena harus menghitung kemungkinan solusi yang banyak. Algoritma hill climbing dibedakan menjadi dua, yaitu : algoritma Simple Hill Climbing dan algoritma Steepest Hill Climbing Mufarricha, 2010.

2.5.1. Algoritma simple hill climbing

Algoritma Simple Hill Climbing melakukan proses pengujian dengan menggunakan fungsi heuristik. Pembangkitan keadaan berikutnya sangat bergantung terhadap feedback dari prosedur pengetesan. Proses kerja algoritma simple hill climbing adalah sebagai berikut Kusumadewi Purnomo, 2005 : 1. Dimulai dari keadaan awal, dilakukan pengujian. Jika merupakan tujuan maka berhenti, jika tidak maka lanjutkan dengan keadaan sekarang sebagai keadaan awal. 2. Lanjutkan langkah-langkah berikut hingga tujuan tercapai atau hingga iterasi tidak memberikan perubahan pada keadaan sekarang: a. Cari operator yang belum pernah digunakan; gunakan operator ini untuk mendapatkan keadaan baru. b. Evaluasi keadaan baru tersebut. i. Jika keadaan baru tersebut merupakan tujuan, keluar. ii. Jika bukan tujuan, namun nilainya lebih baik daripada keadaan sekarang, maka jadikan keadaan baru tersebut menjadi keadaan sekarang. iii. Jika keadaan baru tersebut tidak lebih baik daripada keadaan sekarang, maka lanjutkan iterasi.

2.5.2. Algoritma Steepest Ascent Hill Climbing

Algoritma Steppest Ascent Hill Climbing hampir sama dengan algoritma Simple Hill Climbing, perbedaannya terdapat pada pencarian yang dilakukan algoritma Steepest Ascent Hill Climbing tidak dimulai dari posisi paling kiri, melainkan gerakan selanjutnya dicari berdasarkan nilai heuristic terbaik. Dalam hal ini urutan dari penggunaan operator tidak menentukan penemuan solusi. Cara kerja algoritma Steepest Ascent Hill Climbing adalah sebagai berikut sekarang Kusumadewi Purnomo. 2005 : Universitas Sumatera Utara 8 1. Dimulai dari keadaan awal, dilakukan pengujian. Jika merupakan tujuan maka berhenti, jika tidak maka lanjutkan dengan keadaan sekarang sebagai keadaan awal. 2. Lanjutkan langkah-langkah berikut hingga tujuan tercapai atau hingga iterasi tidak memberikan perubahan pada keadaan sekarang: a. Tentukan SUCC sebagai nilai heuristik terbaik dari successor- successor. b. Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang. i. Gunakan operator tersebut dan bentuk keadaan baru. ii. Evaluasi keadaan baru tersebut. Jika merupakan tujuan maka keluar, jika bukan maka bandingkan nilai heuristiknya dengan SUCC. Jika nilai heuristiknya lebih baik dari nilai SUCC, maka jadikan nilai heuristik tersebut sebagai SUCC, namun jika nilai heuristik tidak lebih baik dari nilai SUCC maka nilai SUCC tidak berubah. c. Jika SUCC lebih baik daripada nilai heuristik keadaan sekarang, ubah node SUCC menjadi keadaan sekarang. Keterangan: SUCC adalah nilai heuristik terbaik dari successor- successor. Contoh implementasi Algoritma Steepest Ascent Hill Climbing pada persoalan TSP Traveling Salesman Problem: Seorang tourist ingin mengunjungi n kota. Jarak antar tiap-tiap kota sudah diketahui. Yang ingin dicari adalah jarak terpendek dimana setiap kota hanya boleh dikunjungi tepat 1 kali. Misalkan terdapat 4 kota dengan jarak tiap-tiap kota sebagai berikut: 9 4 5 8 6 7 Gambar 2.1. Graf TSPTraveling Salesman Problem C A B D Universitas Sumatera Utara 9 Solusi-solusi yang mungkin dengan menyusun kota-kota dalam urutan abjad, misalkan: A – B – C – D : dengan panjang lintasan = 9+6+7 = 22. B – A – C – D : dengan panjang lintasan = 9+4+7 = 20. C – B – A – D : dengan panjang lintasan = 6+9+8 = 23. D – B – C – A : dengan panjang lintasan = 5+6+4 = 15. 1 Algoritma Simple Hill Climbing Operator digunakan untuk menukar posisi kota yang bersebelahan. Fungsi heuristik yang digunakan adalah panjang lintasan yang terjadi. Maka penggunaan operator pada lintasan adalah sebagai berikut: Tukar 1,2  tukar urutan posisi kota ke-1 dengan kota ke-2 Tukar 2,3  tukar urutan posisi kota ke-2 dengan kota ke-3 Tukar 3,4  tukar urutan posisi kota ke-3 dengan kota ke-4 Tukar 4,1  tukar urutan posisi kota ke-4 dengan kota ke-1 Tukar 2,4  tukar urutan posisi kota ke-2 dengan kota ke-4 Tukar 1,3  tukar urutan posisi kota ke-1 dengan kota ke-3 Algoritma Steepest Ascent Hill Climbing hampir sama dengan Simple Hill Climbing, hanya saja gerakan pencarian tidak dimulai dari kiri melainkan berdasarkan nilai heuristik terbaik. Keadaan awal lintasan ABCD 22. Tukar 1, 2 BACD = 9 + 4 + 7 = 20. Tukar 2, 3 ACBD = 4 + 6 + 5 = 15. Tukar 3, 4 ABDC = 9 + 5 + 7 = 21. Tukar 4, 1 DBCA = 5 + 6 + 4 = 15. Tukar 2, 4 ADCB = 8 + 7 + 6 = 21. Tukar 1, 3 CBAD = 6 + 9 + 8 = 23. Dipilih nilai terkecil dari graf tersebut. Karena nilai yang terkecil pertama adalah ACBD15, maka langkah selanjutnya dimulai dari ACBD15. Tukar 1, 2 CABD = 4 + 9 + 5 = 18. Tukar 2, 3 ABCD = 9 + 6 + 7 = 22. Tukar 3, 4 ACDB = 4 + 7 + 5 = 16. Tukar 4, 1 DCBA = 7 + 6 + 9 = 22. Universitas Sumatera Utara 10 Tukar 2, 4 ADBC = 8 + 5 + 6 = 19. Tukar 1, 3 BCAD = 6 + 4 + 8 = 18. Karena tidak terdapat nilai yang lebih kecil dari ACBD15, maka solusi akhir yang di dapat adalah ACBD15. Sumber:http:www.slideshare.netceezabramovicmetode-pencarian-heuristik. Flowchart algoritma Steepest Ascent Hill Climbing dapat dilihat pada Gambar 2.1. Inisialisasi Awal Mulai Tujuan Keadaan Awal - Keadaan Sekarang Tidak Tentukan SUCC Bentuk Keadaan Baru Tujuan Tidak Ya Keadaan Baru - SUCC SUCC Keadaan Sekarang Ya Keadaan Sekarang - SUCC Selesai Ya Keadaan Baru SUCC Ya Tidak SUCC = SUCC Tidak Gambar 2.2. Flowchart algoritma Steepest Ascent Hill Climbing Universitas Sumatera Utara 11

2.6. Relevansi Steepest Ascent Hill Climbing Algorithm Pada Pola Penyusunan