State Space Search 1

Download Report

Transcript State Space Search 1

1
Lecture 2
State Space Search 1
Erick Pranata
© Sekolah Tinggi Teknik Surabaya
» Ada 3 misionaris, 3 kanibal, dan sebuah
perahu di pinggir kiri sungai
» Mereka semuanya harus menyeberang
ke pinggir kanan sungai
» Perahu hanya memuat 2 orang
» Tetapi hal ini tidak semudah itu: jika
jumlah kanibal di suatu sisi lebih banyak
dari misionaris, mereka akan memakan
para misionaris itu dengan lahap
© Sekolah Tinggi Teknik Surabaya
2
3
© Sekolah Tinggi Teknik Surabaya
» Start
˃ 3 misionaris dan 3 kanibal di kiri sungai
» Goal
˃ 3 misionaris dan 3 kanibal di kanan sungai
» Operator
˃ 1 misionaris menyeberang
˃ 1 kanibal menyeberang
˃ 2 misionaris menyeberang
˃ 2 kanibal menyeberang
˃ 1 misionaris dan 1 kanibal menyeberang
© Sekolah Tinggi Teknik Surabaya
4
»
»
Misionaris
Kanibal
© Sekolah Tinggi Teknik Surabaya
5
6
© Sekolah Tinggi Teknik Surabaya
Algoritma
Time Space Optimal? Complete?
Breadth First
bd
bd
Yes
Yes
Uniform Cost
bd
bd
Yes
Yes
Depth First
bd
bm
No
No
Depth-limited(l)
bl
bl
No
If l ≥ d
Iterative Deepening
bd
bd
Yes
Yes
Bidirectional
bd/2
bd/2
Yes
Yes
b = branching factor, d = depth of solution, m = max depth of search tree, l = depth limit
Sumber: http://cseweb.ucsd.edu/classes/sp07/cse150/lectures-pdf/l.newsearch.pdf
7
© Sekolah Tinggi Teknik Surabaya
Sumber: http://web.mit.edu/16.410/www/lectures_fall04/l3_uninformed_search.pdf
8
© Sekolah Tinggi Teknik Surabaya
9
© Sekolah Tinggi Teknik Surabaya
» Start State = S
» Goal State = G
» Current State alias State Saat Ini = X
10
© Sekolah Tinggi Teknik Surabaya
11
© Sekolah Tinggi Teknik Surabaya
» Setelah mengunjungi sebuah node
˃ Kunjungi children terlebih dahulu, baru
sibling
˃ Setelah itu, baru kunjungi sibling
12
© Sekolah Tinggi Teknik Surabaya
1.
2.
3.
4.
Inisialisasi OPEN dengan S
Jika OPEN kosong, berarti gagal.
POP OPEN sebagai X
Jika X adalah G, berarti SUKSES. Jika
tidak
˃ PUSH X ke CLOSED
˃ Temukan children dari X yang belum
dikunjungi, PUSH ke OPEN
˃ Ulangi langkah 2
© Sekolah Tinggi Teknik Surabaya
13
14
© Sekolah Tinggi Teknik Surabaya
» Setelah mengunjungi sebuah node
˃ Kunjungi sibling terlebih dahulu, sebelum
children
˃ Terus lakukan dari kiri ke kanan
15
© Sekolah Tinggi Teknik Surabaya
1.
2.
3.
4.
Inisialisasi OPEN dengan S
Jika OPEN kosong, berarti gagal.
DELETE OPEN sebagai X
Jika X adalah G, berarti SUKSES. Jika
tidak
˃ PUSH X ke CLOSED
˃ Temukan children dari X yang belum
dikunjungi, INSERT ke OPEN
˃ Ulangi langkah 2
© Sekolah Tinggi Teknik Surabaya
16
17
© Sekolah Tinggi Teknik Surabaya