40eee 04 algoritma pencarian
Algoritma Pencarian
(Search Algorithm)
Deskripsi
• Merupakan algoritma untuk mencari
kemungkinan penyelesaian
• Sering dijumpai oleh peneliti di
bidang AI
Mendefinisikan
permasalahan
• Mendefinisikan suatu state (ruang
keadaan)
• Menerapkan satu atau lebih state
awal
• Menetapkan satu atau lebih state
tujuan
• Menetapkan rules (kumpulan aturan)
Contoh kasus
Seorang petani ingin memindah dirinya sendiri,
seekor serigala, seekor angsa gemuk, dan seikat padi
yang berisi menyeberangi sungai. Sayangnya,
perahunya sangat terbatas; dia hanya dapat
membawa satu objek dalam satu penyeberangan.
Dan lagi, dia tidak bisa meninggalkan serigala dan
angsa dalam satu tempat, karena serigala akan
memangsa angsa. Demikian pula dia tidak bisa
meninggalkan angsa dengan padi dalam satu tempat.
State (ruang keadaan)
• State � (Serigala, Angsa, Padi, Petani)
• Daerah asal ketika hanya ada serigala dan
padi, dapat direpresentasikan dengan state
(1, 0, 1, 0), sedangkan daerah tujuan adalah
(0, 1, 0, 1)
State awal dan tujuan
• State awal
- Daerah asal � (1, 1, 1, 1)
- Darah tujuan � (0, 0, 0, 0)
• State tujuan
- Daerah asal � (0, 0, 0, 0)
- Darah tujuan � (1, 1, 1, 1)
Rules
Aturan ke
Rule
1
Angsa menyeberang
bersama petani
2
Padi menyeberang
bersama petani
3
Serigala menyeberang
bersama petani
4
Angsa kembali
bersama petani
5
petani
Padi kembali bersama
Contoh solusi
Daerah asal
Daerah tujuan
Rule yang
(S, A, Pd, Pt)
(S, A, Pd, Pt)
dipakai
(1, 1, 1, 1)
(0, 0, 0, 0)
1
(1, 0, 1, 0)
(0, 1, 0, 1)
7
(1, 0, 1, 1)
(0, 1, 0, 0)
3
(0, 0, 1, 0)
(1, 1, 0, 1)
4
(0, 1, 1, 1)
(1, 0, 0, 0)
2
(0, 1, 0, 0)
(1, 0, 1, 1)
7
(0, 1, 0, 1)
(0, 0, 0, 0)
(1, 0, 1, 0)
(1, 1, 1, 1)
1
solusi
Pohon pelacakan
Level O
Level 3
predecessor
Level 2
successor
Level l
Akar
Daun
contoh kasus
3
S
3
B
c
2
E
2
z
5
5
5
4
A
D
Susunan pohon
S
A
B
B
c
c
E
z
D
D
F
F
A
D
B
E
z
c
E
c
E
z
F
D
z
A F
Breadth First Search
S
A
B
B
c
E
z
c
D
F
D
A
F
B
D
E
z
c
E
c
E
z
F
D
z
A
F
Algoritma
S
A B
B B D
B D A c
dan seterusnya 5
Analisa
• Kelebihan
- Tidak akan menemui jalan
buntu
- Jika ada satu solusi, pasti
diketemukan
• Kelemahan
- Boros memori
- Mungkin terjebak pada local
optima
Depth First Search
S
A
B
B
c
E
z
c
D
F
D
A
F
B
D
E
z
c
E
c
E
z
F
D
z
A
F
Algoritma
S
A B
B D B
c D B
E D D B
z D D B
Analisa
• Kelebihan
- Butuh memori yang relatif kecil
- Menemukan solusi tanpa harus menguji lebih
banyak lagi
• Kelemahan
- Mungkin terjebak pada local optima
Hill climbing
S
4
A
B
D
2
c
E
z
c
5B
3
A
5
c
D
F
3
F
B
D
E
z
E
E
c
F
D
2
z
A
F
Algoritma
S
Mirip dengan
B A
Depth First
saja pemilihan
kecil
paling
disertai dengan
Search, hanya
A A
node anak
E D A A
zc D A A
Rule: yang
jaraknya
Analisa
• Kelebihan
- Butuh memori kecil
- Menemukan solusi tanpa harus menguji lebih
banyak lagi
• Kelemahan
- Mungkin terjebak pada local optima
- Perlu menentukan aturan yang tepat
Best First Search
o
S
4
4A
B
3
o
D
A
5 B3
3
8
6
2 c 5
c
c
F
D
E
D
2 8
E
z
D
F
B
E
z
E
c
F
z
11
A
F
Algoritma
S
B A
c A A
E D A A
z D A A
Analisa
• Kelebihan
- Butuh memori kecil
- Menemukan solusi tanpa harus menguji lebih
banyak lagi
• Kelemahan
- Mungkin terjebak pada local optima
Branch and Bound
S
8
5
3
45
A4
B
c
5
9
B
3
o
F
6
A
2 c 5
D
E
11
13
E
D
B
3
58
D
c
3
E
c
D
2 8
F
z
1o
z
F
z
E
11
A
F
Algoritma
S
SB
SA
3
4
SA
SBc
SBA
4
dan
6
8
Analisa
• Kelebihan
- Selalu menemukan global
optimum
• Kelemahan
- Boros memori karena menyimpan lintasan
partial lebih dari l kali
Dynamic Programming
S
8
5
3
45
A4
B
B
o
5
9
3
3
8
6
D
A
2 c
5
c
c
F
D
E
D
2 8
11
Algoritma
S
SB
SA
3
4
SA
SBc
SBA
4
dan
6
8
Analisa
• Kelebihan
- Selalu menemukan global
optimum
- Lebih cepat dan hemat memori karena hanya l
kali menyimpan lintasan partial
• Kelemahan
- Harus mengingat node terakhir dari lintasan
partial yang sudah dicapai sebelumnya
Tugas
2
S
B
7
c
2
l
zA
4
5
3
D
2
• Representasikan kasus diatas dengan tree
• Selesaikan kasus diatas dengan metode:
- Breadth First Search
- Depth First Search
- Best First Search
- Hill climbing
- Branch and Bound
- Dynamic Programming
Referensi
• Modul Ajar Kecerdasan Buatan, Entin Martiana,
Tessy Badriyah, Riyanto Sigit, Politeknik
Elektronika Negeri Surabaya, 2005.
• Artificial Intelligence (Teori dan Aplikasinya), Sri
Kusumadewi, cetakan pertama, Penerbit Graha
Ilmu, 2003.
• Artificial Intelligence, Patrick Henry Winston,
third edition, Addison-Wesley publishing
company, 1993.
(Search Algorithm)
Deskripsi
• Merupakan algoritma untuk mencari
kemungkinan penyelesaian
• Sering dijumpai oleh peneliti di
bidang AI
Mendefinisikan
permasalahan
• Mendefinisikan suatu state (ruang
keadaan)
• Menerapkan satu atau lebih state
awal
• Menetapkan satu atau lebih state
tujuan
• Menetapkan rules (kumpulan aturan)
Contoh kasus
Seorang petani ingin memindah dirinya sendiri,
seekor serigala, seekor angsa gemuk, dan seikat padi
yang berisi menyeberangi sungai. Sayangnya,
perahunya sangat terbatas; dia hanya dapat
membawa satu objek dalam satu penyeberangan.
Dan lagi, dia tidak bisa meninggalkan serigala dan
angsa dalam satu tempat, karena serigala akan
memangsa angsa. Demikian pula dia tidak bisa
meninggalkan angsa dengan padi dalam satu tempat.
State (ruang keadaan)
• State � (Serigala, Angsa, Padi, Petani)
• Daerah asal ketika hanya ada serigala dan
padi, dapat direpresentasikan dengan state
(1, 0, 1, 0), sedangkan daerah tujuan adalah
(0, 1, 0, 1)
State awal dan tujuan
• State awal
- Daerah asal � (1, 1, 1, 1)
- Darah tujuan � (0, 0, 0, 0)
• State tujuan
- Daerah asal � (0, 0, 0, 0)
- Darah tujuan � (1, 1, 1, 1)
Rules
Aturan ke
Rule
1
Angsa menyeberang
bersama petani
2
Padi menyeberang
bersama petani
3
Serigala menyeberang
bersama petani
4
Angsa kembali
bersama petani
5
petani
Padi kembali bersama
Contoh solusi
Daerah asal
Daerah tujuan
Rule yang
(S, A, Pd, Pt)
(S, A, Pd, Pt)
dipakai
(1, 1, 1, 1)
(0, 0, 0, 0)
1
(1, 0, 1, 0)
(0, 1, 0, 1)
7
(1, 0, 1, 1)
(0, 1, 0, 0)
3
(0, 0, 1, 0)
(1, 1, 0, 1)
4
(0, 1, 1, 1)
(1, 0, 0, 0)
2
(0, 1, 0, 0)
(1, 0, 1, 1)
7
(0, 1, 0, 1)
(0, 0, 0, 0)
(1, 0, 1, 0)
(1, 1, 1, 1)
1
solusi
Pohon pelacakan
Level O
Level 3
predecessor
Level 2
successor
Level l
Akar
Daun
contoh kasus
3
S
3
B
c
2
E
2
z
5
5
5
4
A
D
Susunan pohon
S
A
B
B
c
c
E
z
D
D
F
F
A
D
B
E
z
c
E
c
E
z
F
D
z
A F
Breadth First Search
S
A
B
B
c
E
z
c
D
F
D
A
F
B
D
E
z
c
E
c
E
z
F
D
z
A
F
Algoritma
S
A B
B B D
B D A c
dan seterusnya 5
Analisa
• Kelebihan
- Tidak akan menemui jalan
buntu
- Jika ada satu solusi, pasti
diketemukan
• Kelemahan
- Boros memori
- Mungkin terjebak pada local
optima
Depth First Search
S
A
B
B
c
E
z
c
D
F
D
A
F
B
D
E
z
c
E
c
E
z
F
D
z
A
F
Algoritma
S
A B
B D B
c D B
E D D B
z D D B
Analisa
• Kelebihan
- Butuh memori yang relatif kecil
- Menemukan solusi tanpa harus menguji lebih
banyak lagi
• Kelemahan
- Mungkin terjebak pada local optima
Hill climbing
S
4
A
B
D
2
c
E
z
c
5B
3
A
5
c
D
F
3
F
B
D
E
z
E
E
c
F
D
2
z
A
F
Algoritma
S
Mirip dengan
B A
Depth First
saja pemilihan
kecil
paling
disertai dengan
Search, hanya
A A
node anak
E D A A
zc D A A
Rule: yang
jaraknya
Analisa
• Kelebihan
- Butuh memori kecil
- Menemukan solusi tanpa harus menguji lebih
banyak lagi
• Kelemahan
- Mungkin terjebak pada local optima
- Perlu menentukan aturan yang tepat
Best First Search
o
S
4
4A
B
3
o
D
A
5 B3
3
8
6
2 c 5
c
c
F
D
E
D
2 8
E
z
D
F
B
E
z
E
c
F
z
11
A
F
Algoritma
S
B A
c A A
E D A A
z D A A
Analisa
• Kelebihan
- Butuh memori kecil
- Menemukan solusi tanpa harus menguji lebih
banyak lagi
• Kelemahan
- Mungkin terjebak pada local optima
Branch and Bound
S
8
5
3
45
A4
B
c
5
9
B
3
o
F
6
A
2 c 5
D
E
11
13
E
D
B
3
58
D
c
3
E
c
D
2 8
F
z
1o
z
F
z
E
11
A
F
Algoritma
S
SB
SA
3
4
SA
SBc
SBA
4
dan
6
8
Analisa
• Kelebihan
- Selalu menemukan global
optimum
• Kelemahan
- Boros memori karena menyimpan lintasan
partial lebih dari l kali
Dynamic Programming
S
8
5
3
45
A4
B
B
o
5
9
3
3
8
6
D
A
2 c
5
c
c
F
D
E
D
2 8
11
Algoritma
S
SB
SA
3
4
SA
SBc
SBA
4
dan
6
8
Analisa
• Kelebihan
- Selalu menemukan global
optimum
- Lebih cepat dan hemat memori karena hanya l
kali menyimpan lintasan partial
• Kelemahan
- Harus mengingat node terakhir dari lintasan
partial yang sudah dicapai sebelumnya
Tugas
2
S
B
7
c
2
l
zA
4
5
3
D
2
• Representasikan kasus diatas dengan tree
• Selesaikan kasus diatas dengan metode:
- Breadth First Search
- Depth First Search
- Best First Search
- Hill climbing
- Branch and Bound
- Dynamic Programming
Referensi
• Modul Ajar Kecerdasan Buatan, Entin Martiana,
Tessy Badriyah, Riyanto Sigit, Politeknik
Elektronika Negeri Surabaya, 2005.
• Artificial Intelligence (Teori dan Aplikasinya), Sri
Kusumadewi, cetakan pertama, Penerbit Graha
Ilmu, 2003.
• Artificial Intelligence, Patrick Henry Winston,
third edition, Addison-Wesley publishing
company, 1993.