Anda di halaman 1dari 34

PROBLEM SOLVING by

SEARCHING
Nelly Indriani Widiastuti S.Si., M.T.

Sub Bab
Problem solving agent
Searching for Solutions
Tipe-tipe pencarian (search)

Problem Solving Agent

Intro
Design
Well-define Problem & Solution

INTRO
Problem solving agent = goal based agent

DESIGN

DESIGN (contd)
Formulasi masalah : proses untuk menentukan
aksi dan kondisi yg perlu dipertimbangkan untuk
mencapai tujuan.
Search (pencarian) : usaha / proses untuk
mendapatkan serangkaian aksi yg dapat
mencapai tujuan.

WELL-DEFINE PROBLEMS &


SOLUTION
Masalah dapat didefinisikan dengan
benar, melalui 5 komponen :
1.
2.
3.
4.
5.

Initial State
Actions
Model transitions
Goal Test
Path Cost

Term
Initial state : posisi atau kondisi dimana
agen mulai
Actions : tindakan atau gerakan yang
mungkin dilakukan
Model transitions : deskripsi dari tiap
aksi yang dilakukan
Successor : state yang bisa dicapai oleh
sebuah state dengan sebuah aksi.

Term (cont)
State space : himpunan semua state
yang dapat dicapai dari initial state oleh
rangkaian actions.
Goal Test : sesuatu yang menentukan
apakah sebuah state adalah goal state
Optimal solusi : biaya yang paling
minimal diantara semua solusi.

8-puzzle
Ditentukan konfigurasi awal kotak yg diberi
nomor sd 8 pada papan 3 x 3. geser kotak
sehingga menghasilkan tujuan yg diharapkan.

Start State

Goal State

Formulating Problems
States : deskripsi lokasi tiap 8 kotak angka dan 1 kotak isi
dari 9 kotak
1. Initial state : state manapun dpt dinyatakan sbg initial
state(?)
2. Actions : kemungkinan yang ada untuk bergerak kiri, kanan,
atas, bawah.
3. Transition model : jika dipindahkan ke kiri, hasilnya kotak 5
dan kosong ditukar
4. Goal Test : periksa apakah kondisi telah sesuai dengan
konfigurasi tujuan
5. Path Cost : tiap langkah bernilai 1. Jadi path cost sejumlah
langkah

SEARCHING FOR SOLUTIONS

Formalizing Search In A State Space


Uninformed vs. Informed Search

Formalizing search in a state space


State space (ruang keadaan) adalah graph
(V,E).
Setiap V (node) adalah struktur data yg mewakili
deskripsi state.
Setiap E (busur) adalah kejadian sebuah
operator. Saat operator diimplementasikan
antara state, maka hasil state tersebut adalah
state berikutnya yg dihubungkan busur tersebut.

Uninformed vs. Informed search


Uninformed search strategies

Atau blind search,


tidak menyediakan info
arah node-node tujuan.
Hanya mencoba
kemungkinan
Contoh : Breadth-first,
depth-first, depth-limited,
uniform-cost, depth-first
iterative deepening,
bidirectional

Informed search strategies

Atau heuristic search,


menggunakan informasi
tentang domain ke
depan dalam arah yg
secara umum ke tujuan
yg sebenarnya.
Contoh : Hill climbing,
best-first, greedy search,
beam search, A, A*

Depth_first_search algorithm

Depth-first search
Implementation:
fringe = LIFO queue, i.e., put successors at front

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-first search

Evaluating Search Strategies


Completeness
Jaminan keberadaan solusi minimal satu.

Time complexity
Berapa lama (terlama dan rata-rata) yg dibutuhkan untuk
menemukan solusi ? Biasanya diukur dari jumlah node yang diexpand

Space complexity
Berapa banyak ruang yang digunakan oleh algoritma ? Bisanya
diukur dari ukuran maksimum nodes list selama pencarian h

Optimality/Admissibility
Jika solusi ditemukan, apakah dijamin optimal ? Jika iya, apakah
dijamin biayanya minimal ?

TK-3.1 Soldiers and Cannibals


3 prajurit dan 3 kanibal harus menyeberang sungai.
Disediakan perahu yg hanya memuat 2 orang. Prajurit
tidak boleh ditinggalkan dengan kanibal, dengan jumlah
prajurit < jumlah kanibal. Cari cara menyeberang yg
paling sedikit.

TK-3.2 Remove 5 Sticks


Diberikan konfigurasi korek api
seperti berikut. Pindahkan tepat 5
batang sehingga membentuk tepat 3
kotak.
Isilah pertanyaan pertanyaan di
bawah ini untuk menjelaskan proses
jawaban yang anda lakukan

State: ?

Initial State: ?

Operators: ?

Goal Test: ?

Panduan
Isilah tabel berikut hingga semua Prajurit dan Kanibal pindah ke daerah
seberang
Inisialisasi Awal :
Prajurit (P) = 3
Kanibal (K) = 3
No.
Iterasi

Jml. P & K
Daerah asal

Isi perahu

Jml. P& K daerah


seberang

Jml Aksi
(perahu menyeberang)

TUGAS KECIL 4
Buat program pencarian, untuk nim genap
buat non heuristic search, nim ganjil buat
heuristic search.
Buat makalah yang berisi analisis
program yang anda buat. (proses manual
dari setiap tahap dalam program.

KETENTUAN :
Program
Dlm bahasa Pascal atau C/C++
*.pas atau *.cpp dan *.exe

Makalah
A4, times new roman, 12, spasi 1,5
Review algoritma (latar belakang, sejarah,
analisis, kompleksitas algorima)

Anda mungkin juga menyukai