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.