200 likes | 336 Views
Heuristic Search. Dr. Kusrini , M.Kom. Heuristic Search.
E N D
Heuristic Search Dr. Kusrini, M.Kom
Heuristic Search • merupakansuatustrategiuntukmelakukanprosespencarianruangkeadaan (state space) suatuproblemasecaraselektif, yang memanduproses pencarian yang kita lakukan di sepanjang jalur yang memiliki kemungkinan sukses paling besar, danmengesampingkanusaha yang bodohdanmemboroskanwaktu • sebuahteknik yang mengembangkanefisiensidalam proses pencarian, namumdengankemungkinanmengorbankankelengkapan (completeness)
Untukdapatmenerapkanheuristikdenganbaikdalamsuatu domain tertentu, diperlukansuatuFungsiHeuristik. • Fungsi heuristik digunakan untuk mengevaluasikeadaan-keadaanproblema individual dan menentukan seberapa jauh hal tersebut dapatdigunakanuntukmendapatkansolusi yang diinginkan
Jenis Heuristic Search • Generate and Test • Pendakian Bukit (Hill Climbing) • PencarianTerbaikPertama (Best First Search) • Tabu Search • Simulated Anealing • Cheapest Insertion Heuristic
Generate And Test • Metodeinimerupakanpenggabunganantaradepth first search denganpelacakanmundur (backtracking) yaitubergerakkebelakangmenujupadasuatukeadaanawal. • Algoritma: 1. Bangkitkansuatukemungkinansolusi (membangkitkansuatutitiktertentuataulintasantertentudarikeadaanawal). 2. Ujiuntukmelihatapakah node tersebutbenar-benarmerupakansolusinyadengancaramembandingkan node tersebutatau node akhirdarisuatulintasan yang dipilihdengankumpulantujuan yang diharapkan. 3. Jikasolusiditemukan, keluar. Jikatidak, ulangikembalilangkahpertama.
Contoh • Seorang salesman inginmengunjungi n kota. Jarakantaratiap-tiapkotasudahdiketahui. Kita inginmengetahuiruteterpendekdimanasetaipkotahanyabolehdikkunjungitepat 1 kali. Misalkanada 4 kotadenganjarakantaratiap-tiapkotasepertiberikutini :
Hill Climbing (Pendakian Bukit) • Metodeinihampirsamadenganmetodepembangkitandanpengujian, hanyasajaprosespengujiandilakukandenganmenggunakanfungsi heuristic. • Pembangkitankeadaanberikutnyatergantungpada feedback dariprosedurpengetesan. • Tes yang berupafungsi heuristic iniakanmenunjukkanseberapabaiknyanilaiterkaan yang diambilterhadapkeadaan-keadaanlainnya yang mungkin.
Algoritma Hill Climbing • Buatlahsolusiusulanpertamadengan cara yang samaseperti yang dilakukandalamprosedurbuatdanuji (generate and test). Periksalahapakah solusi usulan itu merupakan sebuah solusi. Jika ya, berhentilah. Jika tidak, kita lanjutkankelangkahberikutnya. • Dari solusiini, terapkansejumlahaturan yang dapatditerapkanuntukmembuatsekumpulansolusiusulan yang baru. • Untuksetiapelemenkumpulansolusitersebut, lakukanlahhal-halberikutini : • Kirimkanlahelemeninikefungsiuji. Jikaelemen ini merupakan sebuah solusi, berhentilah. • Jika tidak, periksalah apakah elemen ini merupakan yang terdekatdengansolusi yang telahdiujisejauhini. Jikatidak, buanglah. • Ambilahelementerbaik yang ditemukandiatasdanpakailahsebagaisolusiusulanberikutnya. Langkahinibersesuaiandenganlangkahdalamruangproblemadenganarah yang munculsebagai yang tercepatdalammencapaitujuan. • Kembalilahkelangkah 2.
Greedy Best First Search • Lakukan node expansion terhadap node di fringe yang nilai h(n)-nya paling kecil • Greedy best-first search selalumemilih node yang kelihatannya paling dekatke goal.
A* Search • Hindari node yang berada di path yang “mahal”
PenggunaanTeknikPencarianDalam Game Puzzle • Goal State • KemungkinanLangkah • Initial State • Aplikasi
Cheapest Insertion Heuristics 1. Penelusurandimulaidarisebuahkotapertama yang dihubungkandengansebuahkotaterakhir. 2. Dibuatsebuahhubungansubtourantara 2 kotatersebut. Yang dimaksudsubtouradalahperjalanandarikotapertamadanberakhirdikotapertama, misal (1,3) (3,2) (2,1)
3. Gantisalahsatuarahhubungan (arc) dariduakotadengankombinasiduaarc, yaituarc (i,j) denganarc (i,k) danarc (k,j), dengan k diambildarikota yang belummasuksubtourdandengantambahanjarakterkecil. Jarakdiperolehdari : cik + ckj – cij cikadalahjarakdarikotaikekota k, ckjadalahjarakdarikota k kekota j dan cijadalahjarakdarikotaikekota j 4. Ulangilangkah 3 sampaiseluruhkotamasukdalamsubtour
Contoh 1. Ambilperjalanandarikota 1 ke 5 2. Buatsubtour (1,5) (5,1) 3. Buattabel yang menyimpankota yang bisadisisipkandalamsubtourbesertatambahanjaraknya
4. Selanjutnyadibuattabel yang menyimpankota yang bisadisisipkandalamsubtourbesertatambahanjaraknya
Sumber • Russel, S.J., danNorvig, P., 1995, Artificial Intelligence a Modern Aproach • Winston, P.H., 1992, Artificial Intelligence • Narama, T., 2008, Sliding puzzle n x n denganalgoritma fixed heuristic, Sliding_puzzle_n_x_n_dengan_algoritma_fixed_heuristic.htm
TUGAS • Buat Paper tentangpenggunaansalahsatumetodepencariandalamsuatuaplikasi • Ingat! • Sumberharusdicantumkan • Dijelaskanlangkah-langkahnya