Anda di halaman 1dari 35

SEARCHING

SEARCHING
 Menentukan apa yang akan dikerjakan dengan cara menemukan urutan
aksi untuk mencapai kondisi yang dinginkan.
 Bagimana menentukan suatu proses pencarian (search process) untuk
menemukan solusi.
 Suatu algoritma pencarian akan menjadikan suatu masalah (problem)
sebagai input dan mengembalikan suatu output berupa solusi (solution)
berdasarkan suatu urutan aksi (action sequence).
 Pemecahan masalah dengan searching lebih mudah jika objeknya
berbentuk graph
SEARCHING
 State space
 Ruang keadaan atau ruang masalah yang berisi semua keadaan yang
mungkin terjadi
 Initial state
 Keadaan dimulainya sebuah pencarian

 Goal state
 Keadaan diakhirinya sebuah pencarian

 Production rule
 Operator
 Aturan yang dapat digunakan untuk mengubah suatu state menjadi state yang
lain
GLASS WATER PROBLEM
 2 buah gelas masing-masing 4 liter dan 3 liter
 Semula kedua gelas kosong
 Terdapat keran untuk mengisi kedua gelas
 Bagaimana mengisi gelas berkapasitas 4 liter tepat berisi 2 liter dan
gelas 3 liter tepat berisi 3 liter?

 Misalnya :
 Isi gelas 4 liter = x
 Isi gelas 3 liter = y
STATE SPACE
x ,y 0 1 2 3  Initial state?
 Goal state?
0 (0,0) (0,1) (0,2) (0,3)

1 (1,0) (1,1) (1,2) (1,3)

2 (2,0) (2,1) (2,2) (2,3)

3 (3,0) (3,1) (3,2) (3,3)

4 (4,0) (4,1) (4,2) (4,3)


PRODUCTION RULE
 Isi penuh gelas berkapasitas 4 liter
 Jika keadaan sekarang x < 4  (4, y)

 Isi penuh gelas berkapasitas 3 liter


 Jika keadaan sekarang y < 3  (x, 3)

 Kosongkan gelas berkapasitas 4 liter


 Jika keadaan sekarang x > 0  (0, y)

 Kosongkan gelas berkapasitas 3 liter


 Jika keadaan sekarang y > 0  (x, 0)
PRODUCTION RULE
 Tuangkan sebagian isi gelas berkapasitas 3 liter ke gelas berkapastias 4
liter hingga gelas berkapasitas 4 liter penuh
 Jika keadaan sekarang x + y > 4 dan y > 0  (4, y + x – 4)

 Tuangkan sebagian isi gelas berkapasitas 4 liter ke gelas berkapastias 3


liter hingga gelas berkapasitas 3 liter penuh
 Jika keadaan sekarang x + y > 3 dan x > 0  (y + x – 3, 3)

 Tuangkan seluruh isi gelas berkapasitas 4 liter ke gelas berkapasitas 3


liter
 Jika keadaan sekarang x + y ≤ 3 dan x > 0  (0, y + x)

 Tuangkan seluruh isi gelas berkapasitas 3 liter ke gelas berkapasitas 4


liter
 Jika keadaan sekarang x + y ≤ 4 dan y > 0  (y + x, 0)
FARMER CROSSES RIVER
PROBLEM
 Seorang petani mempunyai seekor kambing dan serigala
 Petani baru saja panen sayuran
 Petani hendak menyeberang sungai untuk menjual hasil panennya
 Terdapat sebuah perahu yang dapat mengangkut 2 penumpang
 Jika ditinggalkan petani maka kondisi yang mungkin terjadi adalah:
 Sayuran dimakan oleh kambing
 Kambing dimakan oleh serigala

 Representasikan state space, initial state, goal state, dan production rule
dari farmer crosses river problem
STATE SPACE
Asal Seberang Awal Seberang Initial state?
(F, V, W, G) (0, 0, 0, 0) (0, V, W, G) (F, 0, 0, 0) Goal state?
(F, V, W, 0) (0, 0, 0, G) (0, V, W, 0) (F, 0, 0, G)
(F, V, 0, G) (0, 0, W, 0) (0, V, 0, G) (F, 0, W, 0)
(F, V, 0, 0) (0, 0, W, G) (0, V, 0, 0) (F, 0, W, G)
(F, 0, W, G) (0, V, 0, 0) (0, 0, W, G) (F, V, 0, 0)
(F, 0, W, 0) (0, V, 0, G) (0, 0, W, 0) (F, V, 0, G)
(F, 0, 0, G) (0, V, W, 0) (0, 0, 0, G) (F, V, W, 0)
(F, 0, 0, 0) (0, V, W, G) (0, 0, 0, 0) (F, V, W, G)
PRODUCTION RULE
 Farmer dan Vegetables menyeberang
 Farmer dan Wolf menyeberang
 Farmer dan Goat menyeberang
 Farmer dan Vegetables kembali
 Farmer dan Wolf kembali
 Farmer dan Goat kembali
 Farmer menyeberang/kembali
METODE SEARCHING
 Terdapat 2 jenis metode searching
 Blind search atau un-informed search
 Heuristic search atau informed search

 4 kriteria mengukur performansi metode searching (Russel dan Norvig,


2010)
 Completeness  menjamin penemuan solusi
 Time complexity  waktu yang dibutuhkan
 Space complexity  memori yang dibutuhkan
 Optimality  menjamin ditemukannya solusi terbaik
BLIND SEARCH
 Tidak terdapat informasi awal yang dibutuhkan pada saat proses
pencarian
 Metode blind search
 Breadth First Search
 Depth First Search
 Uniform Cost Search
 Depth-Limited Search
 Iterative-Deepening Search
 Bi-directional search
BREADTH FIRST SEARCH
 Semua node pada kedalaman d dalam search tree diexpand sebelum
node-node di kedalaman d+1
 Jika hanya terdapat satu solusi dalam suatu permasalahan  strategi ini
akan dijamin dapat menemukan solusi
 Jika terdapat beberapa solusi dalam suatu permasalahan  strategi ini
akan selalu menemukan state goal yang “dangkal” terlebih dahulu.

 Keuntungan
 Menjamin ditemukannya solusi yang paling baik (complete dan optimal)

 Kelemahan
 Membutuhkan memori dan waktu yang cukup banyak (bergantung jumlah
node)
METODE BREADTH FIRST
SEARCH
BREADTH FIRST SEARCH
1. Masukkan root node ke dalam queue (Q)
2. Ambil node dari awal Q, cek apakah node merupakan solusi
3. Jika node merupakan solusi, pencarian selesai dan hasil dikembalikan
4. Jika node bukan solusi, masukkan seluruh node anak ke dalam Q
5. Jika Q kosong dan setiap node sudah dicek, pencarian selesai
6. Jika Q tidak kosong, ulangi pencarian mulai dari poin 2
WATER GLASS PROBLEM
 Initial state = (0, 0)
 Goal state = (1, 0)

 Solve water glass problem with BFS?


PRODUCTION RULE
 Isi penuh gelas berkapasitas 4 liter
 Jika keadaan sekarang x < 4  (4, y)

 Isi penuh gelas berkapasitas 3 liter


 Jika keadaan sekarang y < 3  (x, 3)

 Kosongkan gelas berkapasitas 4 liter


 Jika keadaan sekarang x > 0  (0, y)

 Kosongkan gelas berkapasitas 3 liter


 Jika keadaan sekarang y > 0  (x, 0)
PRODUCTION RULE
 Tuangkan sebagian isi gelas berkapasitas 3 liter ke gelas berkapastias 4
liter hingga gelas berkapasitas 4 liter penuh
 Jika keadaan sekarang x + y > 4 dan y > 0  (4, y + x – 4)

 Tuangkan sebagian isi gelas berkapasitas 4 liter ke gelas berkapastias 3


liter hingga gelas berkapasitas 3 liter penuh
 Jika keadaan sekarang x + y > 3 dan x > 0  (y + x – 3, 3)

 Tuangkan seluruh isi gelas berkapasitas 4 liter ke gelas berkapasitas 3


liter
 Jika keadaan sekarang x + y ≤ 3 dan x > 0  (0, y + x)

 Tuangkan seluruh isi gelas berkapasitas 3 liter ke gelas berkapasitas 4


liter
 Jika keadaan sekarang x + y ≤ 4 dan y > 0  (y + x, 0)
BFS – WATER GLASS
PROBLEM
0,0

Solusi :
4,0 0,3 (0, 0)
(4, 0)
(1, 3)
4,3 1,3 3,0 (1, 0)

1,0 3,3
DEPTH FIRST SEARCH
 Mengexpand satu node sampai node paling dalam

 Keuntungan:
 Membutuhkan memori yang relative kecil
 Menemukan solusi tanpa harus meguji lebih banyak state dalam ruang
keadaan
 Kelemahan:
 Memungkinkan tidak ditemukan tujuan yang diharapkan
 Hanya akan mendapatkan 1 solusi pada setiap pencarian
DEPTH FIRST SEARCH
1. Masukkan root node ke dalam stack (S)
2. Ambil node dari S teratas, cek apakah node merupakan solusi
3. Jika node merupakan solusi, pencarian selesai dan hasil dikembalikan
4. Jika node bukan solusi, masukkan seluruh node anak ke dalam S
5. Jika S kosong dan setiap node sudah dicek, pencarian selesai
6. Jika S tidak kosong, ulangi pencarian mulai dari poin 2
WATER GLASS PROBLEM
 Initial state = (0, 0)
 Goal state = (1, 0)

 Solve water glass problem with DFS?


PRODUCTION RULE
 Isi penuh gelas berkapasitas 4 liter
 Jika keadaan sekarang x < 4  (4, y)

 Isi penuh gelas berkapasitas 3 liter


 Jika keadaan sekarang y < 3  (x, 3)

 Kosongkan gelas berkapasitas 4 liter


 Jika keadaan sekarang x > 0  (0, y)

 Kosongkan gelas berkapasitas 3 liter


 Jika keadaan sekarang y > 0  (x, 0)
PRODUCTION RULE
 Tuangkan sebagian isi gelas berkapasitas 3 liter ke gelas berkapastias 4
liter hingga gelas berkapasitas 4 liter penuh
 Jika keadaan sekarang x + y > 4 dan y > 0  (4, y + x – 4)

 Tuangkan sebagian isi gelas berkapasitas 4 liter ke gelas berkapastias 3


liter hingga gelas berkapasitas 3 liter penuh
 Jika keadaan sekarang x + y > 3 dan x > 0  (y + x – 3, 3)

 Tuangkan seluruh isi gelas berkapasitas 4 liter ke gelas berkapasitas 3


liter
 Jika keadaan sekarang x + y ≤ 3 dan x > 0  (0, y + x)

 Tuangkan seluruh isi gelas berkapasitas 3 liter ke gelas berkapasitas 4


liter
 Jika keadaan sekarang x + y ≤ 4 dan y > 0  (y + x, 0)
DFS – WATER GLASS
PROBLEM
0,0

Solusi :
4,0 0,3 (0, 0)
(4, 0)
(1, 3)
4,3 1,3 (1, 0)

1,0
TUGAS
1. Selesaikan Water Glass Problem menggunakan BFS dan DFS
 Initial State = (4,3)
 Goal State = (1,0)

2. Selesaikan Water Glass Problem menggunakan BFS dan DFS


 Initial State = (0,0)
 Goal State = (4,3)

 Submit dalam format PDF


 Kerjakan dengan menggunakan tulisan tangan
 Scan tulisan tersebut menggunakan aplikasi scanner di smartphone kemudian pdf-kan

 Rubrik penilaian
 Mampu menghasilkan solusi dari kedua metode dengan tepat : 81 – 100
 Mampu menghasilkan solusi dari salah satu metode dengan tepat : 51 – 80
 Mampu menerapkan metode tetapi solusi yang dihasilkan tidak tepat : 0 - 50
BAHAN LANJUTAN
 Informed Searching

Anda mungkin juga menyukai