heuristic search best first search

Upload: nurul-akromah

Post on 11-Jul-2015

298 views

Category:

Documents


9 download

DESCRIPTION

Modul minggu lalu - Kecerdasan Buatan

TRANSCRIPT

Best-First Search Greedy Best-First Search A*

BEST FIRST SEARCH Merupakan kombinasi kelebihan teknik depth first

search dan breadth first search Pencarian diperkenankan mengunjungi node yang ada di level yg lebih rendah jika ternyata node pada level yg lebih tinggi ternyata memiliki nilai heuristik yg buruk

Contoh

Best First Search Best First Search akan membangkitkan node

berikutnya dari semua node yg pernah dibangkitkan Pertanyaannya : Bagaimana menentukan sebuah node terbaik saat ini? Dilakukan dengan menggunakan biaya perkiraan Bagaimana caranya menentukan biaya perkiraan? Biaya perkiraan dapat ditentukan dengan fungsi heuristic

FUNGSI HEURISTIC Suatu fungsi heuristic dikatakan baik jika bisa

memberikan biaya perkiraan yang mendekati biaya sebenarnya. Semakin mendekati biaya sebenarnya, fungsi heuristic tersebut semakin baik.

Contoh16 A B

100

C

10

D

( 20 , 10 )

( 35 , 10 )

( 55 , 10 )

( 65 , 10 )

Dalam kasus pencarian rute terpendek, biaya sebenarnya adalah panjang jalan Raya yang sebenarnya. Sedangkan fungsi heuristiknya adalah garis lurus dari 1 kota ke kota lainnya. Untuk itu,bisa digunakan rumus berikut :

dab =

( yb ya )2 + ( xb xa )2

dAB = 15 dBC = 20 dCD = 10

Algoritma Best First Search Greedy Best First Search Algoritma A*

Greedy Best First Search Algoritma ini merupakan jenis algoritma Best First

Search yg paling sederhana Algoritma ini hanya memperhitungkan biaya perkiraan saja f(n) = h(n) Karena hanya memperhitungkan biaya perkiraan yang

belum tentu kebenarannya, maka algoritma ini menjadi tidak optimal

Contoh10

90

A25

10 B C

5

F50 40 25 52 H

40 K 30 G 25 L 40

S 10 E35

30 D

1520 J

80

40 B60

ME74

nh(n)

S80

A80

C70

D85

F70

G0

H40

J100

K30

L20

M70

Langkah 110S 10 E 35 D A 25 n Bh(n)

S80

A80

B60

C70

D85

E74

30 C

Langkah 210S 10 E 35 D A 25 5 B F 50 K

30 Cnh(n)

A80

C70

D85

E74

F70

K30

Langkah 310S 10 E 35 D nh(n)

A 25 5 B

F 50 K 30

30 CA80

GC70

D85

E74

F70

G0

SOLUSI10S 10 E 35 D A 25 5 B F 50 K 30

30 C

G

S - B - K - GDengan Total Jarak = 105

PENJELASAN Dari contoh di atas, Greedy akan menemukan solusi

S-B-K-G dengan total jarak 105 Padahal ada solusi lain yg lebih optimal, yakni S-A-B-F-K-G dengan total jarak hanya 95 Dari situ bisa disimpulkan bahwa Greedy Best First Search tidak bisa menemukan solusi yang optimal

Algoritma A* Berbeda dg Greedy, algoritma ini akan menghitung

fungsi heuristic dengan cara menambahkan biaya sebenarnya dengan biaya perkiraan. Sehingga didapatkan rumus : f(n) = g(n) + h(n)g(n) = Biaya sebenarnya dari Node Awal ke Node n h(n) = Biaya perkiraan dari Node n ke Node Tujuan

Contoh10

90

A25

10 B C

5

F50 40 25 52 H

40 K 30 G 25 L 40

S 10 E35

30 D

1520 J

80

40 B60

ME74

nh(n)

S80

A80

C70

D85

F70

G0

H40

J100

K30

L20

M70

Langkah 110S 10 E 35 D A 25 n Bh(n) g(n)

S80 0 80

A80 10 90

B60 25 85

C70 30 100

D85 35 120

E74 10 84

30 C

f(n)

Langkah 210S 10 E 35 D 15 20 A 25 n Bh(n) g(n)

A80 10 90

B60 25 85

C70 30 100

D85 25 110

J100 30 130

30 C

f(n)

J

Langkah 310S 10 E 35 D 15 20 A 25 10 B 5 F 50 K

30 Cnh(n) g(n)

A80 10 90

C70 30

D85 25

J100 30

F70 30

K30 75

J

f(n)

100 110 130 100 105

Langkah 410S 10 E 35 D 15 20 A 25 10 B 5 F 50

90

K

30 Cnh(n) g(n) f(n)

GC70 30 100

D85 25 110

J100 30 130

F70 25 95

K30 70 100

G0 100 100

J

Langkah 510S 10 E 35 D 15 20 A 25 10 B 5 F 50

90

40 K

30 Cnh(n) g(n) f(n)

GC70 30 100

D85 25 110

J100 30 130

K30 65 95

G0 100 100

J

Langkah 610S 10 E 35 D 15 20 A 25 10 B 5 F 50

90

40 K 30

30 Cnh(n) g(n) f(n)

GC70 30 100

D85 25 110

J100 30 130

G0 95 95

J

Solusi10S 10 E 35 D 15 20 A 25 10 B 5 F 50

90

40 K 30

30 C

G

S - A - B - F - K - GJ

Dengan Total Jarak = 95

Kesimpulan Algoritma A* lebih baik dalam melakukan pencarian

heuristic daripada Greedy Best First Search karena dapat mengasilkan solusi yang optimal