1 / 74

HEURISTIC SEARCH

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,

arlais
Download Presentation

HEURISTIC SEARCH

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HEURISTIC SEARCH Dian Eka R

  2. 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.

  3. Pencarian Heuristik (heuristic searching)? • Heuristik adalah sebuah teknik yang mengembangkanefisiensidalam proses pencarian, namum dengan kemungkinan mengorbankan kelengkapan (completeness

  4. 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.

  5. Jenis-jenis Heuristic Searching • ¨ Generate and Test. • ¨ Hill Climbing. • ¨ Best First Search. • ¨ Alpha Beta Prunning. • ¨ Means-End-Anlysis. • ¨ Constraint Satisfaction

  6. 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*

  7. Generate and Test Algoritma : • Bangkitkansuatukemungkinansolusi (membangkitkansuatutitiktertentuataulintasantertentudarikeadaanawal) • Ujiapakah node tsbadlhsolusi dg membandingkan node tsbatau node akhirdrlintasanygdipilih dg kumpulantujuanygdiharapkan • Jikasolusiditemukanlangkah–langkah tersebut dihentikan, jikatdkkembalilangkahpertama

  8. 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.

  9. 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:

  10. 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!.

  11. 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.

  12. Dibuat Tabel :

  13. Lanjutan tabel :

  14. Kelemahan : • Membangkitkan semua kemungkinan sebelum dilakukan pengujian • Membutuhkan waktu yg cukup besar dalam pencariannya

  15. 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

  16. Hill Climbing • DalamprosedurHill Climbing, fungsiujidikombinasikan dengan fungsi heuristik yang menyediakan pengukuran kedekatan suatu keadaan yang diberikan dengan tujuan (goal).

  17. 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

  18. 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

  19. 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 :

  20. 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

  21. Metode Simple Hill Climbing dg 6 operator

  22. 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

  23. 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.

  24. 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

  25. 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.

  26. 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.

  27. 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.

  28. 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.

  29. Metode Steepest-Ascent Hill Climbing

  30. Lanjutan …… • Solusi yg diperoleh, lintasan ACBD dg nilai heuristik 12.

  31. BEST FIRST SEARCH • Merupakankombinasikelebihanteknikdepth first searchdanbreadth first search • Pencariandiperkenankanmengunjungi node yang adadi level yglebihrendahjikaternyata node pada level yglebihtinggiternyatamemilikinilaiheuristikygburuk

  32. Best First Search (Lanjutan) • Best First Search akanmembangkitkan node berikutnyadarisemua node ygpernahdibangkitkan • Pertanyaannya : Bagaimanamenentukansebuah node terbaiksaatini? Dilakukandenganmenggunakanbiayaperkiraan Bagaimanacaranyamenentukanbiayaperkiraan? Biayaperkiraandapatditentukandenganfungsi heuristic

  33. FUNGSI HEURISTIC • Suatufungsi heuristic dikatakanbaikjikabisamemberikanbiayaperkiraan yang mendekatibiayasebenarnya. • Semakinmendekatibiayasebenarnya, fungsi heuristic tersebutsemakinbaik.

  34. 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

  35. Algoritma Best First Search • Greedy Best First Search • Algoritma A*

  36. Greedy Best First Search • Algoritmainimerupakanjenisalgoritma Best First Search yg paling sederhana • Algoritmainihanyamemperhitungkanbiayaperkiraansaja f(n) = h’(n) • Karenahanyamemperhitungkanbiayaperkiraan yang belumtentukebenarannya, makaalgoritmainimenjaditidak optimal

  37. 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

  38. Langkah 1 A 10 25 B S 30 C 35 10 D E

  39. Langkah 2 A F 10 5 25 K 50 B S 30 C 35 10 D E

  40. Langkah 3 A F 10 5 25 K 50 B S 30 30 G C 35 10 D E

  41. 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

  42. 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

  43. Romania with step costs in km

  44. Greedy best-first search example

  45. Greedy best-first search example

  46. Greedy best-first search example

  47. Greedy best-first search example

  48. 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)

  49. 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

More Related