230 likes | 655 Views
HEURISTIC SEARCH. Presentation Part IV. Metode Pencarian Heuristik. Pembangkit dan Pengujian ( Generate and Test ) Pendakian Bukit ( Hill Climbing ) 1. Simple Hill Climbing 2. Steepest=Ascent Hill Climbing Pencarian Terbaik Pertama ( Best First Search ) 1. OR Graph 2. Algoritma A*
E N D
HEURISTIC SEARCH Presentation Part IV
Metode Pencarian Heuristik • Pembangkit dan Pengujian (Generate and Test) • Pendakian Bukit (Hill Climbing) 1. Simple Hill Climbing 2. Steepest=Ascent Hill Climbing • Pencarian Terbaik Pertama (Best First Search) 1. OR Graph 2. Algoritma A* • Simulated Annealing
Generate and Test • Algoritma : 1. Bangkitkan suatu kemungkinan solusi (membangkitkan suatu titik tertentu atau lintasan tertentu dari keadaan awal) 2. Uji apakah node tsb adlh solusi dg mbandingkan node tsb atau node akhir dr lintasan yg dipilih dg kumpulan tujuan yg diharapkan 3. if solusi ditemukan keluar, if tdk kembali langkah pertama
A 8 B 3 4 5 7 D 6 C Contoh : TSP (Travelling Salesman Problem) Seorang salesman ingin mengunjungi n kota. Jarak tiap kota sdh diket.Kita ingin mengetahui rute terpendek dimana setiap kota hanya boleh dikunjungi 1 kali. Misal ada 4 kota dg jarak sbb:
Penyelesaian : Membangkitkan solusi - solusi yg mungkin dg menyusun kota – kota dalam urutan abjad, yaitu: A – B – C – D A – B – D – C A – C – B – D A – C – D – B DST U/ mengetahui jumlah seluruh kombinasi abjad yg mkn mjd solusi adalah n!.
Pilih keadaan awal, mis ABCD dg panjang lintasan 19. Lakukan backtracking u/ mdapatkan lintasan ABDC 18. Bandingkan lintasan ABDC dg sblmnya, lintasan terpendek akan dipilih u/ dilakukan backtracking lagi. Solusi terbaik adalah menemukan lintasan terpendek dari kota yg dilewati.
Kelemahan : • Membangkitkan semua kemungkinan sebelum dilakukan pengujian • Membutuhkan waktu yg cukup besar dalam pencariannya
Simple Hill Climbing • Algoritma : 1. Mulai dr keadaan awal, lakukan pengujian: if tujuan mk stop,if tdk mk lanjutkan dg keadaan skrng sbg keadaan awal. 2. Ulangi langkah berikut hingga solusi ditemukan atau sampai tdk ada operator baru yg diaplikasikan pd keadaan skrng: a. Pilih operator yg blm pernah digunakan, gunakan operator u/ mdptkan keadaan yg baru
Lanjutan……… b. Evaluasi keadaan baru tsbt : (i) If keadaan baru adlh tujuan, keluar (ii) If tdk, namun nilainya lbh baik dr keadaan skrng, mk jadikan keadaan baru tsbt mjd keadaan skrng (iii) If keadaan baru tdk lbh baik drpd keadaan skrng, mk lanjutkan iterasi
Penyelesaian : contoh kasus TSP • Operator yg digunakan adlh operator yg bisa menghasilkan kombinasi lintasan kota yg berbeda, yaitu dg menukar urutan posisi 2 kota dlm suatu lintasan. • Bila ada n kota maka kombinasi lintasan : • Jika dr soal terdapat 4 kota mk kombinasi ada 6 yaitu :
Lanjutan ……. 1. (1,2) tukar urutan posisi kota ke-1 dg kota ke-2 2. (2,3) tukar urutan posisi kota ke-2 dg kota ke-3 3. (3,4) tukar urutan posisi kota ke-3 dg kota ke-4 4. (4,1) tukar urutan posisi kota ke-4 dg kota ke-1 5. (2,4) tukar urutan posisi kota ke-2 dg kota ke-4 6. (1,3) tukar urutan posisi kota ke-1 dg kota ke-3 • Pada pencarian ini, penggunaan urutan dari kombinasi harus konsisten.Stlh kombinasi ditentukan, gunakan algoritma pengerjaan sesuai aturan metode simple hill climbing. Mis keadaan awal adlh ABCD
Lanjutan …… • Pencarian dilihat dari anak kiri, bila nilai heuristik anak kiri lbh baik mk dibuka utk pencarian slnjutnya, bila tdk baru melihat tetangga dari anak kiri tsbt. • Solusi yg dihasilkan adlh node DBCA (=12) lintasan terpendek dibanding yg lain. • Kelemahannya : 1. tdk semua solusi dpt ditemukan seperti pada metode generate and test (2 solusi). 2. pembatasan kombinasi operator penemuan solusi yg tdk maksimal
Steepest-Ascent Hill Climbing • Algoritma : 1. Mulai dr keadaan awal, lakukan pengujian: if tujuan mk stop,if tdk mk lanjutkan dg keadaan skrng sbg keadaan awal. 2. Kerjakan hingga tujuan tercapai atau hingga iterasi tdk memberikan perubahan pd keadaan skrng: a. Tentukan SUCC sbg nilai heuristik terbaik dari successor – successor.
Lanjutan …… b. Kerjakan utk tiap operator yg digunakan o/ keadaan skrng : (i) Gunakan operator tsbt & bentuk keadaan baru. (ii) Evaluasi keadaan baru tsbt, if mrpk tujuan keluar. If tdk, bandingkan nilai heuristiknya dg SUCC. If lbh baik, jadikan nilai heuristik keadaan baru tsbt sbg SUCC, but if not good, nilai SUCC tdk berubah. c. If SUCC lbh baik drpd nilai heuristik keadaan skrng, ubah node SUCC mjd keadaan skrng
Masalah yg mkn timbul: • Local optimum : keadaan semua tetangga lbh buruk atau sama dg dirinya. Sering muncul ketika sdh mendekati solusi. • Plateau :keadaan semua tetangga sama dgn keadaan dirinya • Ridge : local optimum yg lbh disebabkan karena ketidak mampuan u/ menggunakan 2 operator sekaligus.
Penyelesaian : contoh kasus TSP • Operator tetap digunakan u/ mbangkit kemungkinan solusi. • Pencarian didasarkan pd nilai heuristik terbaik pd setiap level, bkn nilai heuristik pada node plng kiri (metode simple hill climbing) • Mis : dr contoh TSP kita ambil keadaan awal ABCD dg nilai heuristik (19). Nilai tsbt kita namai dg SUCC. Kmd lanjutkan pengerjaan sesuai dg algoritma dari steepest-ascent hill climbing.
Lanjutan …… • Solusi yg diperoleh, lintasan ACBD dg nilai heuristik 12.