780 likes | 1.08k Views
Pe mecahan Masalah dengan Pencarian . (Agen Tunggal) Dian Eka R. Ruang Masalah. Keadaan Awal ( Initial State ) Tujuan ( Goal ). Teknik Searching Dalam AI. Digunakan untuk mencari solusi dari suatu permasalahan
E N D
Pemecahan Masalah dengan Pencarian (Agen Tunggal) Dian Eka R
Ruang Masalah Keadaan Awal (Initial State) Tujuan (Goal)
Teknik Searching Dalam AI • Digunakan untuk mencari solusi dari suatu permasalahan • Langkahnya adalah dengan mendefinisikan terlebih dahulu Ruang Masalah (State)nya.
Contohagen yang memilikitujuan • 8 puzzle : untuk mencapai konfigurasi bahw baris teratas daari puzzle terisi dengan ubin 1,2,3
Representasi formulasi Permasalahan Setiap permasalahan akan dapat direpresentasikan dengan grap terarah • Keadaaan akan digambarkan dalam node • Aksi yang diijinkan digambarkan sebagai sebuah arah(arc)
Contoh terdapat graph yang menunjukkan kota • Graph keadaan
Graph keadaandengan node M menunjukkankeadaanawal, node T adalahtujuan. Ada 4 lintasandari M ke T : • M-A-B-C-E-T • M-A-B-C-E-H-T • M-D-C-E-T • M-D-C-E-H-T • Lintasan buntu atau lintasan yang tidak sampai ke tujuan : • M-A-B-C-E-F-G • M-A-B-C-E-I-J • M-D-C-E-F-G • M-D-C-E-I-J • M-D-I-J
Strukturpohondigunakanuntukmenggambarkankeadaansecarahirarkis. Node ygterletakpada level-o disebut ’akar’. • Node akar : menunjukkankeadaanawal & memilikibeberapapercabangan yang terdiriatasbeberapa node ygdisebut ’anak’ . • Node-node ygtidakmemilikianakdisebut ’daun’ menunjukkanakhirdarisuatupencarian, dapatberupatujuan yang diharapkan (goal) ataujalanbuntu (dead end).
Example: Romania • On holiday in Romania; currently in Arad. • Flight leaves tomorrow from Buchares • Formulate goal: • be in Bucharest • Formulate problem: • states: various cities • actions: drive between cities • Find solution: • sequence of cities, e.g., Arad, Sibiu, Fagaras, Bucharest
Single-state problem formulation A problem is defined by four items: • initial state e.g., "at Arad" • actions or successor functionS(x) = set of action–state pairs • <action,successor(state)> • e.g., S(Arad) = {<Arad Zerind, Zerind>, … } • goal test, can be • explicit, e.g., x = "at Bucharest" • implicit, e.g., Checkmate(x) • path cost (additive) • Assign numeric cost to each path • e.g., sum of distances, number of actions executed, etc. • c(x,a,y) is the step cost, assumed to be ≥ 0 • A solution is a sequence of actions leading from the initial state to a goal state • Solution quality is measured by the path cost function
Example: The 8-puzzle • states?locations of tiles • actions?move, blank, left, right, up, down • goal test?= goal state (given) • path cost? 1 per move [Note: optimal solution of n-Puzzle family is NP-hard]
untukmendeskripsikanmasalahdenganbaikharus : 1. Mendefinisikan suatu ruang keadaan (state space) 2. Menetapkansatuataulebihkeadaanawal (initial state) 3. Menetapkansatuataulebihtujuan (goal state) 4. Menetapkankumpulanaturan(action)
StudiKasus : MasalahGalon Air(A Water Jug Problem) Kran air 4 liter 3 liter A B Bagaimanacaranyabisadidapatkan air denganukuran tepat 2 liter diGalonA???
Penyelesaian : 1. Identifikasi ruang keadaan (state space) Permasalahaninidapatdigambarkansebagaihimpunanpasanganbilanganbulat : x = jumlah air ygdiisikanke ember 4 galon (ember A) y = jumlah air ygdiisikanke ember 3 galon (ember B) Ruangkeadaan = (x,y) sedemikianhingga x ∈ {0,1,2,3,4} dan y ∈{0,1,2,3} 2. Keadaanawal & tujuan Keadaanawal : kedua ember kosong = (0,0) Tujuan : ember 4 galonberisi 2 galon air = (2,n) dengansembarangn
3. Keadaan ember • Keadaan ember bisadigambarkansebagaiberikut:
Aturan-aturandiasumsikan • kitadapatmengisi ember air itudaripompa air, • membuangair dari ember keluar, menuangkan air dari ember yang satuke ember yang lain.
Representasiruangkeadaandenganpohonpelacakan • Pencariansuatusolusidapatdilukiskandenganmenggunakanpohon. • Tiap-tiapnode menunjukkansatukeadaan. Jalurdari parent ke child ,menunjukkan 1 operasi. • Tiapnode memiliki node child ygmenunjukkankeadaanygdapatdicapaioleh parent.
Masalah PETANI,KAMBING,SERIGALA,SAYURAN,PERAHU • Seorangpetaniakanmenyeberangkanseekorkambing,seekorserigala,sayurandengansebuahperahuygmelaluisungai. • Perahuhanyabisamemuatpetani & satupenumpangyg lain (kambing, serigala, atausayuran). • Jikaditinggalkanpetanitersebut, makasayurandimakankambingdankambingakandimakanserigala.
Penyelesaian : 1. Identifikasiruangkeadaan Permasalahaninidapatdilambangkandengan (jumlahkambing,jumlahserigala,jumlahsayuran,jumlahperahu). Contoh : daerahasal (0,1,1,1) = daerahasaltidakadakambing,adaserigala, adasayuran,adaperahu 2. Keadaanawal & tujuan Keadaanawal, padakeduadaerah : daerahasal = (1,1,1,1) daerahseberang = (0,0,0,0) Keadaan tujuan, pada kedua daerah : daerahasal = (0,0,0,0) daerahseberang = (1,1,1,1)
JenisTeknik Searching • Blind Search ( Un-Informed Search ) - Breadth First Search ( BFS ) - Depth First Search ( DFS ) - Uniform Cost Search ( UCS ) - Depth Limited Search ( DLS ) - Iterative Deepening Search ( IDS ) - Bi-Directional Search ( BDS ) • Heuristic Search ( Informed Search )
Breadth-First Search (BFS) • Pencarian dilakukan pada semua node dalam setiap level secara berurutan dari kiri ke kanan. • Jika pada satu level belum ditemukan solusi, maka pencarian dilanjutkan pada level berikutnya. Demikian seterusnya sampai ditemukan solusi. • Dengan strategi ini, maka dapat dijamin bahwa solusi yang ditemukan adalah yang paling baik (Optimal). Tetapi BFS harus menyimpan semua node yang pernah dibangkitkan. Hal ini harus dilakukan untuk penelusuran balik jika solusi sudah ditemukan.
Breadth-First Search • Metode pencarian dapat dilihat sbb:
Keuntungan BFS: 1. Tidak akan menemui jalan buntu 2. If ada solusi,mk breadth first seacrh akan menemukannya. If lbh dr satu, maka solusi min akan ditemukan. • Kelemahan BFS: 1. Membutuhkan memori yg ckp banyak, krn menyimpan semua node dalam satu pohon 2. Membutuhkan waktu yg ckp lama, krn menguji n level u/ mdptkan solusi pd level yg ke-(n+1)
PenangananMasalahGalon Air dg BFS Galon B diisi tepat 2 l air 0,0 0,3 4,0 3,0 4,3 1,3 3,3 1,0 4,2
Breadth-first search • Expand shallowest unexpanded node • Implementation: • fringe is a FIFO queue, i.e., new successors go at end
Breadth-first search • Expand shallowest unexpanded node • Implementation: • fringe is a FIFO queue, i.e., new successors go at end
Breadth-first search • Expand shallowest unexpanded node • Implementation: • fringe is a FIFO queue, i.e., new successors go at end
Breadth-first search • Expand shallowest unexpanded node • Implementation: • fringe is a FIFO queue, i.e., new successors go at end
Gambar berikut mengilustrasikan pembangkitan pohon BFS untuk masalah Water Jug. • Pembangkitan suksesor dari suatu node bergantung pada urutan dari Aturan Produksi yang dibuat. • Jika urutan dari aturan 4 ditukar dengan aturan 5, maka pohon BFS yang dibangkitkan juga akan berubah.
Properties of breadth-first search • Complete?Yes (if b is finite) • Time?1+b+b2+b3+… +bd + b(bd-1) = O(bd+1) • Space?O(bd+1) (keeps every node in memory) • Optimal? Yes (if cost = 1 per step) • Space is the bigger problem (more than time)
Depth First Search • Metode pencarian dapat dilihat sbb:
Keuntungan : 1. Membutuhkan memori relatif kecil, krn hanya node – node pd lintasan yg aktif saja yg disimpan 2. Scr kebetulan, metode ini akan menemukan solusi tanpa hrs menguji lbh banyak • Kerugian : 1. Memungkinkan tdk ditemukannya tujuan yg diharapkan 2. Hanya akan mendapat solusi pd setiap pencarian
Penanganan Masalah Galon Air dg DFS 0,0 0,3 4,0 3,0 4,3 1,3 3,3 1,0 4,2
Kelemahan DFS adalah: • Jika pohon yang dibangkitkan mempunyai level yang dalam (tak terhingga), maka tidak ada jaminan untuk menemukan solusi (Tidak Complete). • Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka pada DFS tidak ada jaminan untuk menemukan solusi yang paling baik (Tidak Optimal).