Anda di halaman 1dari 18

Problem-solving Agent:

Searching

Kuliah 3 Sistem Cerdas


5 April 2010
STMIK Indonesia
Problem-Solving
Problem Solving Agent
Kelemahan reflex agent tidak cocok untuk menangani
masalah !
l h besar!
b
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?

4/5/2010 Problem-solving Agent: Searching 2


Cara Kerja Problem
Problem-Solving
Solving Agent
1. Perumusan tujuan (goal formulation): tentukan tujuan
yang ingin
i i di
dicapaii
2. Perumusan masalah (problem formulation): tentukan
tindakan (action) dan keadaan (state) yang
dipertimbangkan dalam mencapai tujuan
3. Pencarian solusi masalah (searching): tentukan
rangkaian
k i tindakan
i d k yang perlu l di
diambil
bil untuk
k mencapaii
tujuan
4
4. Pelaksanaan solusi (execution): laksanakan rangkaian
tindakan yang sudah ditentukan di tahap sebelumnya

4/5/2010 Problem-solving Agent: Searching 3


Program Agent Problem-Solving
Problem Solving Agent
function SIMPLE-PROBLEM-SOLVING-AGENT(p) returns action
inputs:
puts p, a pe
percept
cept
static: s, an action sequence, initially empty
state, some description of the current world state
g, a goal, initially null
, a p
problem,
p problem formulation
state UPDATE-STATE(state,p)
if s is empty then
g FORMULATE-GOAL(state)
problem FORMULATE-PROBLEM(state,g)
FORMULATE PROBLEM(state g)
s SEARCH(problem)
action RECOMMENDATION(s,state)
s REMAINDER(s,state)
return action

4/5/2010 Problem-solving Agent: Searching 4


Sifat Problem
Problem-Solving
Solving Agent
Secara umum, problem-solving agent mengasumsikan
b h
bahwa environment-nya:
i t
Accessible
Deterministic
Episodic
Static
Discrete
Setelah mencari solusi, agent melakukan tindakan
dengan mata tertutup tidak melihat percept!

4/5/2010 Problem-solving Agent: Searching 5


Contoh: Turis di Rumania
Suatu tourist agent sedang berlibur di Rumania.
S k
Sekarang dia
di b berada
d di kkota
t AArad.
d BBesok,
k di
dia h
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
Arad-Sibiu-Fagaras-Bucharest

4/5/2010 Problem-solving Agent: Searching 6


Peta Rumania

4/5/2010 Problem-solving Agent: Searching 7


Perumusan Masalah sebagai State Space (1)
Initial state: keadaan awal si agent, misal:
B d Di(A d)
BeradaDi(Arad)
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
b
beserta state yang dih
dihasilkan.
ilk C
Contoh:
h
X = BeradaDi(Arad)
S(X) = {<Nyetir(Arad
{<Nyetir(Arad,Zerind),
Zerind) BeradaDi(Zerind)>,
BeradaDi(Zerind)> }}

4/5/2010 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
St t space dapat
State d t direpresentasikan
di t ik sebagai
b i graph
h
dengan path sebagai suatu rangkaian state
ingat tourist agent Rumania!!!

4/5/2010 Problem-solving Agent: Searching 9


Menelusuri suatu State Space
Goal test: penentuan apakah suatu state adalah tujuan
yang ingin
i i didicapaii
Eksplisit: himpunan goal state, misal: {BeradaDi(Bucharest)}
Implisit:
p deskripsi
p tujuan,
j misal dalam catur: skak mat
Path cost function: fungsi yang memberikan nilai
numerik terhadap setiap path. Fungsi ini merefleksikan
performance measure si agentagent.
Solusi: path dari initial state ke goal state
Solusi optimal: solusi dengan path cost function
minimal

4/5/2010 Problem-solving Agent: Searching 10


Contoh: The 8-Puzzle
8 Puzzle

State: lokasi 8 buah angka dalam matriks 3x3


P
Possible
ibl action:
ti ki i kkanan, atas,
kiri, t b
bawah
h
Goal test: apakah susunan angka seperti goal state?
Path cost: asumsi step cost = 1. Path cost = jumlah langkah dalam
path

4/5/2010 Problem-solving Agent: Searching 11


Contoh: The 8-Queens
8 Queens Problem

Letakkan 8 bidak menteri (queen) sedemikian rupa sehingga tidak


terjadi saling makan
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

4/5/2010 Problem-solving Agent: Searching 12


Contoh: The Vacuum World

State: lokasi agent


agent, status debu
Possible action: DoKeKiri(L), DoKeKanan(R), Sedot(S)
Goal test: apakah semua ruangan bebas debu?
P th cost:
Path t jumlah
j l h llangkah
k hddalam
l path
th

4/5/2010 Problem-solving Agent: Searching 13


Mencari Solusi Melalui Search Tree
Setelah merumuskan masalah cari solusinya
menggunakank search h algorithm
l ith
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
g ((pinggir)
fringe gg ) sebuah search tree

4/5/2010 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.
baru Ulangi langkah sebelumnya
Arad

Sibiu Timisoara Zerind

Arad Fagaras Oradea Rimnicu Vilcea

4/5/2010 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))
l
loop d
do
if fringe is EMPTY than return failure
node REMOVE-FIRST(fringe)
if GOAL-TEST(problem) applied to STATE(node) succeeds
th
then return
t node
d
fringe INSERT-ALL(EXPAND(node,problem),fringe)
end

1
1. Pada awal,
awal fringe = himpunan node yang mewakili initial state
2. Pilih satu node dari fringe sebagai current node. Jika fringe kosong,
selesai dengan gagal
3
3. Jika node tsb . lolos goal test,
test selesai dengan sukses!
4. Jika tidak, lakukan node expansion terhadap current node tsb.
5. Ulangi langkah 2

4/5/2010 Problem-solving Agent: Searching 16


Strategi Pencarian
Ada berbagai jenis strategi dalam melakukan searching.
P b d
Perbedaannya tterdapat
d t pada
d node
d expansion-nya
i
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?

4/5/2010 Problem-solving Agent: Searching 17


Uninformed Search Strategies
Uninformed strategy hanya menggunakan informasi
d id
dari definisi
fi i i masalah
l h
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
p search
Depth-limited search
Iterative deepening search

4/5/2010 Problem-solving Agent: Searching 18

Anda mungkin juga menyukai