900 likes | 1.52k Views
HEURISTIC SEARCH. Dian Eka R. Pencarian Heuristik ( heuristic searching) ?. merupakan suatu strategi untuk melakukan proses pencarian ruang keadaan ( state space) s uatu problema secara selektif,
E N D
HEURISTIC SEARCH Dian Eka R
Pencarian Heuristik (heuristic searching)? • merupakan suatu strategi untuk melakukan prosespencarianruangkeadaan (statespace) suatu problema secara selektif, • yang memandu proses pencarian yang kita lakukan di sepanjangjalur yang memiliki kemungkinan sukses paling besar, dan mengesampingkan usaha yang bodoh dan memboroskan waktu.
Pencarian Heuristik (heuristic searching)? • Heuristik adalah sebuah teknik yang mengembangkanefisiensidalam proses pencarian, namum dengan kemungkinan mengorbankan kelengkapan (completeness
Pencarian Heuristik (heuristic searching)? • Untuk dapat menerapkan heuristik tersebut dengan baik dalam suatu domain tertentu, diperlukan suatu Fungsi Heuristik. • Fungsi heuristik ini digunakan untuk mengevaluasi keadaan-keadaan problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan.
Jenis-jenis Heuristic Searching • ¨ Generate and Test. • ¨ Hill Climbing. • ¨ Best First Search. • ¨ Alpha Beta Prunning. • ¨ Means-End-Anlysis. • ¨ Constraint Satisfaction
MetodePencarianHeuristik • Bangkitkan - dan - Uji (Generate and Test) • Pendakian Bukit (Hill Climbing) 1. Simple Hill Climbing 2. Steepest=Ascent Hill Climbing • PencarianTerbaikPertama (Best First Search) 1. Greedy Best First Search 2. Algoritma A*
Generate and Test Algoritma : • Bangkitkansuatukemungkinansolusi (membangkitkansuatutitiktertentuataulintasantertentudarikeadaanawal) • Ujiapakah node tsbadlhsolusi dg membandingkan node tsbatau node akhirdrlintasanygdipilih dg kumpulantujuanygdiharapkan • Jikasolusiditemukanlangkah–langkah tersebut dihentikan, jikatdkkembalilangkahpertama
Generate and Test • Jika pembangkitan atau pembuatan solusi–solusi yang dimungkinkan dapat dilakukan secara sistematis, maka prosedur ini akan dapat segera menemukan solusinya, (bila ada). • Namun, jika ruang problema sangat besar, maka proses ini akan membutuhkan waktu yang lama. • Metode generate and test ini kurang efisien untuk masalah yang besar atau kompleks.
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
Hill Climbing • Hill climbing (mendaki bukit) merupakan salah satu variasi metode Bangkitkan - dan - Uji(generate and test) dimana umpan balik yang berasal dari prosedur uji digunakan untuk memutuskan arah gerak dalam ruang pencarian (search). • DalamprosedurBangkitkan - dan - Ujiyang murni, respon fungsi uji hanyalah ya atau tidak
Hill Climbing • DalamprosedurHill Climbing, fungsiujidikombinasikan dengan fungsi heuristik yang menyediakan pengukuran kedekatan suatu keadaan yang diberikan dengan tujuan (goal).
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) tukarurutanposisikota ke-1 dg kota ke-2 2. (2,3) tukarurutanposisikota ke-2 dg kota ke-3 3. (3,4) tukarurutanposisikota ke-3 dg kota ke-4 4. (4,1) tukarurutanposisikota ke-4 dg kota ke-1 5. (2,4) tukarurutanposisikota ke-2 dg kota ke-4 6. (1,3) tukarurutanposisikota ke-1 dg kota ke-3 • Padapencarianini, penggunaanurutandarikombinasiharuskonsisten.Stlhkombinasiditentukan, gunakanalgoritmapengerjaansesuaiaturanmetode simple hill climbing. Miskeadaanawaladlh 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
Masalahygmkntimbulpadaprosedur Hill Climbing : • Local optimum : adalah suatu keadaan yang lebih baik daripada semua tetangganya namun masih belum lebih baik dari suatu keadaan lain yang jauh letaknya darinya • Seringmunculketikasdhmendekatisolusi.
Masalahygmkntimbulpadaprosedur Hill Climbing : • Plateau(Daratan):adalah suatu daerah datar dari ruang pencarian (search) dimana keadaansemuatetanggasamadgnkeadaandirinya • Ridge (Punggung) : local optimum yglbhdisebabkankarenaketidakmampuan u/ menggunakan 2 operator sekaligus.
Solusinya: • Melakukan langkah balik (backtracking) ke simpul yang lebih awal dan mencoba bergerak ke arah yang lain. • Melakukan lompatan besar ke suatu arah untuk mencoba bagian ruang pencarian yang baru. • Menerapkan dua atau lebih aturan sebelum melakukan uji coba. Ini bersesuaian dengan bergerak ke beberapa arah 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.
BEST FIRST SEARCH • Merupakankombinasikelebihanteknikdepth first searchdanbreadth first search • Pencariandiperkenankanmengunjungi node yang adadi level yglebihrendahjikaternyata node pada level yglebihtinggiternyatamemilikinilaiheuristikygburuk
Best First Search (Lanjutan) • Best First Search akanmembangkitkan node berikutnyadarisemua node ygpernahdibangkitkan • Pertanyaannya : Bagaimanamenentukansebuah node terbaiksaatini? Dilakukandenganmenggunakanbiayaperkiraan Bagaimanacaranyamenentukanbiayaperkiraan? Biayaperkiraandapatditentukandenganfungsi heuristic
FUNGSI HEURISTIC • Suatufungsi heuristic dikatakanbaikjikabisamemberikanbiayaperkiraan yang mendekatibiayasebenarnya. • Semakinmendekatibiayasebenarnya, fungsi heuristic tersebutsemakinbaik.
Contoh 100 16 10 A B C D ( 20 , 10 ) ( 35 , 10 ) ( 55 , 10 ) ( 65 , 10 ) Dalamkasuspencarianruteterpendek, biayasebenarnyaadalahpanjangjalan Raya yang sebenarnya. Sedangkanfungsiheuristiknyaadalahgarislurusdari 1 kotakekotalainnya. Untukitu,bisadigunakanrumusberikut : dAB = 15 dab = ( yb – ya )2 + ( xb – xa )2 dBC = 20 dCD = 10
Algoritma Best First Search • Greedy Best First Search • Algoritma A*
Greedy Best First Search • Algoritmainimerupakanjenisalgoritma Best First Search yg paling sederhana • Algoritmainihanyamemperhitungkanbiayaperkiraansaja f(n) = h’(n) • Karenahanyamemperhitungkanbiayaperkiraan yang belumtentukebenarannya, makaalgoritmainimenjaditidak optimal
Contoh 90 A F 10 10 40 5 25 K 50 B 30 S 30 G 40 C 35 10 40 25 H 25 D 15 L E 52 80 20 J 40 M
Langkah 1 A 10 25 B S 30 C 35 10 D E
Langkah 2 A F 10 5 25 K 50 B S 30 C 35 10 D E
Langkah 3 A F 10 5 25 K 50 B S 30 30 G C 35 10 D E
SOLUSI A F 10 5 25 K 50 B S 30 30 G C 35 10 D S - B - K - G E Dengan Total Jarak = 105
PENJELASAN • Dari contohdiatas, Greedy akanmenemukansolusiS-B-K-Gdengan total jarak105 • Padahaladasolusi lain yglebih optimal, yakni S-A-B-F-K-G dengan total jarakhanya95 • Dari situ bisadisimpulkanbahwa Greedy Best First Search tidakbisamenemukansolusi yang optimal
Properties of greedy best-first search • Complete? No – can get stuck in loops, e.g., Iasi Neamt Iasi Neamt • Time?O(bm), but a good heuristic can give dramatic improvement • Space?O(bm) -- keeps all nodes in memory • Optimal? No (expand the minimal path cost but cant be not optimal)
Algoritma A*(Admissible Heuristic ) • Berbeda dg Greedy, algoritmainiakanmenghitungfungsi heuristic dengancaramenambahkanbiayasebenarnyadenganbiayaperkiraan. • Heuristik adalah kriteria, metoda, atau prinsip-prinsip untuk menentukan pilihansejumlah alternatif untuk mencapai sasaran dengan efektif. • Nilai heuristik dipergunakan untukmempersempit ruang pencarian