Problem-solving Agent: Searching Kuliah 3 Sistem Cerdas 5 April 2010 STMIK Indonesia
Problem-Solving Agent Kelemahan reflex agent tidak cocok untuk menangani masalah besar!! Goal-based agent memiliki tujuan, memungkinkan untuk mengevaluasi tindakan dan memilih yang terbaik Pada Kuliah 3 akan dibahas suatu goal-based agent: problem-solving agent Problem-solving agent menghasilkan solusi dalam bentuk serangkaian tindakan untuk mencapai tujuan Apa permasalahannya? Apa solusinya? Problem-solving Agent: Searching 2
Cara Kerja Problem-Solving Agent 1. Perumusan tujuan (goal formulation): tentukan tujuan yang ingin i dicapaii 2. Perumusan masalah (problem formulation): tentukan tindakan (action) dan keadaan (state) yang dipertimbangkan dalam mencapai tujuan 3. Pencarian solusi masalah (searching): tentukan rangkaian tindakan yang perlu diambil untuk mencapai tujuan 4. Pelaksanaan solusi (execution): laksanakan rangkaian tindakan yang sudah ditentukan di tahap sebelumnya Problem-solving Agent: Searching 3
Program Agent Problem-Solving Agent function SIMPLE-PROBLEM-SOLVING-AGENT(p) returns action inputs: static: p, a percept s, an action sequence, initially empty state, some description of the current world state g, a goal, initially null problem,, a problem formulation state UPDATE-STATE(state,p) if s is empty then g FORMULATE-GOAL(state) problem FORMULATE-PROBLEM(state,g) s SEARCH(problem) action RECOMMENDATION(s,state) s REMAINDER(s,state) return action Problem-solving Agent: Searching 4
Sifat Problem-Solving Agent Secara umum, problem-solving agent mengasumsikan bahwa environment-nya: Accessible Deterministic Episodic Static Discrete Setelah mencari solusi, agent melakukan tindakan dengan mata tertutup tidak melihat percept! Problem-solving Agent: Searching 5
Contoh: Turis di Rumania Suatu tourist agent sedang berlibur di Rumania. Sekarang dia berada di kota Arad. Besok, dia harus terbang dari bandara yang ada di kota Bucharest! Perumusan tujuan: berada di Bucharest Perumusan masalah: Tindakan (action): menyetir dari kota ke kota Keadaan (state): kota-kota di Rumania Pencarian solusi: rangkaian kota yang dituju, misal: Arad-Sibiu-Fagaras-Bucharest Problem-solving Agent: Searching 6
Peta Rumania Problem-solving Agent: Searching 7
Perumusan Masalah sebagai State Space (1) Initial state: keadaan awal si agent, misal: BeradaDi(Arad) d) Possible action: tindakan yang dapat dilakukan si agent, misal: Nyetir(Arad,Zerind) Sebuah successor function S menentukan untuk suatu state X, himpunan tindakan yang mungkin diambil beserta state yang dihasilkan. Contoh: X = BeradaDi(Arad) S(X) ={<Nyetir(Arad,Zerind), BeradaDi(Zerind)>, } Problem-solving Agent: Searching 8
Perumusan Masalah sebagai State Space (2) Initial state + successor function = state space State space himpunan state yang dapat dicapai dari initial state State t space dapat direpresentasikan ik sebagai graph dengan path sebagai suatu rangkaian state ingat tourist agent Rumania!!! Problem-solving Agent: Searching 9
Menelusuri suatu State Space Goal test: penentuan apakah suatu state adalah tujuan yang ingin i dicapaii Eksplisit: himpunan goal state, misal: {BeradaDi(Bucharest)} Implisit: deskripsi tujuan, misal dalam catur: skak mat Path cost function: fungsi yang memberikan nilai numerik terhadap setiap path. Fungsi ini merefleksikan performance measure si agent. Solusi: path dari initial state ke goal state Solusi optimal: solusi dengan path cost function minimal Problem-solving Agent: Searching 10
Contoh: The 8-Puzzle State: lokasi 8 buah angka dalam matriks 3x3 Possible action: kiri, i kanan, atas, bawah Goal test: apakah susunan angka seperti goal state? Path cost: asumsi step cost = 1. Path cost = jumlah langkah dalam path Problem-solving Agent: Searching 11
Contoh: The 8-Queens Problem Letakkan 8 bidak menteri (queen) sedemikian rupa sehingga tidak terjadi saling makan antara satu menteri dengan yang lainnya State: papan catur dengan 0 sampai 8 bidak menteri Possible action: letakkan sebuah bidak menteri di posisi yang kosong Goal test: 8 menteri di papan, tidak ada saling makan Path cost: 0 Problem-solving Agent: Searching 12
Contoh: The Vacuum World State: lokasi agent, status debu Possible action: DoKeKiri(L), DoKeKanan(R), Sedot(S) Goal test: apakah semua ruangan bebas debu? Path cost: jumlah langkah dalam path Problem-solving Agent: Searching 13
Mencari Solusi Melalui Search Tree Setelah merumuskan masalah cari solusinya menggunakan search algorithm Search tree merepresentasikan state space Search tree terdiri dari kumpulan node struktur data yang merepresentasikan suatu state pada suatu path, dan memiliki parent, children, depth, dan path cost Root node merepresentasikan initial state Node expansion merupakan penerapan successor function terhadap node menghasilkan children baru Kumpulan semua node yang belum di-expand disebut fringe (pinggir) sebuah search tree Problem-solving Agent: Searching 14
Contoh Penelusuran Search Tree Mulai dari root node (Arad) sebagai current node Lakukan node expansion Pilih salah satu node yang di-expand sebagai current node yang baru. Ulangi langkah sebelumnya Arad Sibiu Timisoara Zerind Arad Fagaras Oradea Rimnicu Vilcea Problem-solving Agent: Searching 15
Algoritma Penelusuran Search Tree function GENERAL-SEARCH(problem,fringe) returns solution or failure fringe INSERT(MAKE-NODE(INITIAL-STATE(problem),fringe)) loop do if fringe is EMPTY than return failure node REMOVE-FIRST(fringe) if GOAL-TEST(problem) applied to STATE(node) succeeds then return node fringe INSERT-ALL(EXPAND(node,problem),fringe) end 1. Pada awal, fringe = himpunan node yang mewakili initial state 2. Pilih satu node dari fringe sebagai current node. Jika fringe kosong, selesai dengan gagal 3. Jika node tsb. lolos goal test, selesai dengan sukses! 4. Jika tidak, lakukan node expansion terhadap current node tsb. 5. Ulangi langkah 2 Problem-solving Agent: Searching 16
Strategi Pencarian Ada berbagai jenis strategi dalam melakukan searching. Perbedaannya terdapat t pada node expansion-nya Search strategy dievaluasi berdasarkan: Completeness: apakah solusi (jika ada) pasti ditemukan? Time complexity: berapa lama untuk mencari solusi? atau berapa banyak jumlah node yang di-expand? Space complexity: jumlah maksimum node di dalam memori Optimality: apakah solusi dengan minimum cost pasti ditemukan? Problem-solving Agent: Searching 17
Uninformed Search Strategies Uninformed strategy hanya menggunakan informasi dari definisi i i masalah Dapat diterapkan secara generik terhadap semua jenis masalah yang bisa direpresentasikan dalam sebuah state space Jenis-jenis uninformed strategy: Breadth-first search Uniform cost search Depth-first search Depth-limited search Iterative deepening search Problem-solving Agent: Searching 18