Problem solving by Searching Materi 3 Kecerdasan Buatan Oleh: Dewi Liliana TI PNJ
Pendahuluan Pengantar : Membahas agen cerdas penyelesaian problem serta strategi uninformed untuk memecahkan masalah. Tujuan: Mengetahui jenis problem/masalah Dapat memformulasi problem Mengetahui contoh penyelesaian problem Mengetahui strategi pencarian tanpa informasi (uninformed)
Problem Solving Agent Agen penyelesaian problem adalah jenis agen berbasis tujuan (goal based agent). Agen berbasis tujuan memutuskan apa yang harus dilakukan dengan menemukan urutan tindakan yang mengarah ke state yang paling diinginkan. Tahapan penting/utama adalah perumusan tujuan dan perumusan masalah. Searching merupakan mekanisme yang menggunakan masalah sebagai masukan dan mengembalikan solusi dalam bentuk urutan tindakan. Eksekusi didasarkan pada algoritma pencarian yang digunakan.
Jenis Problem Single State Problem (hanya 1 arah) Multiple State Problem (punya 2 atau lebih arah) Contingency Problem (punya banyak alternatif) Exploration Problem (punya banyak cara untuk mencapai goalnya)
Formulasi Problem Langhkah formulasi problem adalah dengan mendefinisikan: States : possible condition Actions : operator Goal test : check state = goal Path cost : function g (menghitung brp banyak state yg di tempuh)
FORMULASI PROBLEM
Deskripsi Masalah: Pada suatu liburan di negara Rumania, saat ini (current state) berada di kota Arad. Penerbangan meninggalkan Rumania besok dari kota Bucharest. Merumuskan goal: berada di Bucharest Merumuskan masalah: o states: berbagai kota o action: menyetir melewati kota-kota di Rumania dari Arad ke Bucharest o Goal test: urutan kota, misalnya, Arad, Sibiu, Fagaras, Bucharest o Path cost : 1 per action
Vacuum world state space graph states? Letak kotoran dan lokasi robot actions?Left, Right, Suck goal test?Tidak ada kotoran sama sekali di semua lokasi path cost? 1 per action
Example: The 8-puzzle states?Lokasi setiap kotak nomor actions? move, blank, left, right, up, down goal test? = goal state (terdapat pada gambar) path cost? 1 per move
8-Queens Problem Letakkan 8 bidak ratu (queen!) sedemikian sehingga tidak ada yang saling “makan” (ratu bisa makan dalam satu baris, kolom, diagonal). states?Papan catur dengan n queens (n= 1…8) actions? move, left, right, up, down goal test? = 8 queens pada posisi yang benar, tidak ada yang saling serang path cost? 1 per move . A better formulation would prohibit placing A queen in any square that is already attacked
Example: robotic assembly states?: Nilai riil koordinat robot joint angles actions?: gerakan kontinyu robot joints goal test?: complete assembly path cost?: waktu eksekusi
Algoritma Pencarian Dasar Ide dasar: Eksplorasi secara offline , simulasi state space dengan menghasilkan turunan (successor) dari state yang sudah dieksplorasi (dikenal sebagai expanding state). Algoritma pencarian dasar:
FORMULASI PROBLEM
Tree search example
Tree search example
Tree search example
Implementasi: state vs node Sebuah state adalah (representasi) konfigurasi fisik Sebuah node adalah sebuah struktur data yang merupakan bagian dari tree pencarian meliputi state, parent node, action, path cost g (x), dan depth Fungsi Expand menciptakan node baru, mengisi berbagai bidang dan menggunakan SuccessorFn dari masalah untuk menciptakan state yang sesuai
STRATEGI PENCARIAN UNINFORMED Sebuah strategi pencarian didefinisikan dengan memilih urutan ekspansi node. Strategi dievaluasi sepanjang dimensi berikut: kelengkapan: apakah selalu mencari solusi jika ada? completeness kompleksitas waktu: jumlah node yang dihasilkan time complexity kompleksitas ruang: jumlah maksimum node dalam memori space complexity optimalitas: apa selalu menemukan solusi yang paling murah? optimality
kompleksitas waktu dan ruang diukur dalam hal: b: faktor percabangan maksimum search tree d: kedalaman solusi yang paling murah m: panjang maksimum setiap path (mungkin ∞)
Strategi pencarian uninformed 1. Breadth-first search 2. Uniform-cost search 3. Depth-first search 4. Depth-limited search 5. Iterative Deepening search
Contoh problem dengan representasi graph Direction graph (ada panah dan bobotnya) Undirected graph (ga ada panahnya) E 4 12 D A B 10 8 20 10 F C 6 G
Breadth-first search Memperluas node terdangkal yang belum diekspansi Implementasi: start: A goal: D
Breadth-first search
Breadth-first search Path Eksplorasi : A – B – C – D Action : A - B - D
Breadth-first search d = 2, m = 4
Uniform Cost Search (UCS) Sama seperti BFS dengan tambahan pembentukan tree diurutkan berdasarkan cost yang paling murah/least-cost Urutan ekspansi seperti BFS Implementasi: tree/queue diurutkan berdasarkan least-cost
Depth-first search Pencarian unexpanded node terdalam Start: A; goal: M
Depth-first search BFS (Strategi penelusuran) Path : A-B-C-D-E-F-G-H-I-J-K-L-M-N-O M = 13 (Sampai ke M) DFS Path : A-B-D-H-I-E-J-K-C-F-L-M-G-N-O M = 12 (Sampai ke M) Action : A-C-F-M
Depth-first search
Depth-first search
Depth-first search
Depth-first search
Depth-first search
Depth-first search
Depth-first search
Depth-first search
Depth-first search
Depth-first search
Depth Limited Search (DLS) Merupakan strategi DFS dengan batas kedalaman tree l yang didefinisikan sebelumnya.
Iterative Deepening Search (IDS) Prinsip dari strategi ini adalah melakukan pencarian DLS secara bertahap dengan nilai l yang ditambahkan pada setiap iterasinya. Strategi ini mengkombinasikan keuntungan BFS dan DFS (kelengkapan dan kompleksitas ruang linear dijamin). Lakukan pencarian DLS dengan l = 0,1,2, ... sampai tidak cutoff
Iterative deepening search l =0
Iterative deepening search l =1
Iterative deepening search l =2
Iterative deepening search l =3
Ringkasan Uninformed Search
Rangkuman Perumusan masalah biasanya membutuhkan abstrak rincian dunia nyata untuk menentukan ruang state yang bisa dieksplorasi. Agen penyelesaian problem dapat memecahkan masalah dan mencapai tujuan melalui strategi pohon pencarian (searching tree). Berbagai strategi pencarian uninformed: BFS, UCS, DFS, DLS, IDS IDS hanya menggunakan ruang linear dan tidak banyak waktu lebih dari algoritma uninformed lainnya.
Latihan Formulasikan masalah perjalanan dari Arad ke Bucharest (Lihat Peta Rumania)! desainlah search tree masalah ini menggunakan kelima strategi uninformed search, kemudian bandingkan total path costnya (m), cari path! BFS (Best case, Worst case) UCS DFS (Best case) DLS, l = 6 IDS