ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
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.
Contoh
A B C D
16
100
10
( 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
Contoh
S
A
B
C
D
E
G
F
K
H
L
M
J
10
10
10
25
30
35
15
20
40
52
25
40
50
5 40
90
30
40
80
25
n S A B C D E F G H J K L M
h’(n) 80 80 60 70 85 74 70 0 40 100 30 20 70
Langkah 1
S
A
B
C
D
E
10
10
25
30
35
n S A B C D E
h’(n) 80 80 60 70 85 74
Langkah 2
S
A
B
C
D
E
10
10
25
30
35
n A C D E F K
h’(n) 80 70 85 74 70 30
F
K50
5
Langkah 3
S
A
B
C
D
E
10
10
25
30
35
n A C D E F G
h’(n) 80 70 85 74 70 0
F
K50
5
G
30
SOLUSI
S
A
B
C
D
E
10
10
25
30
35
F
K50
5
G
30
S - B - K - G
Dengan 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
Contoh
S
A
B
C
D
E
G
F
K
H
L
M
J
10
10
10
25
30
35
15
20
40
52
25
40
50
5 40
90
30
40
80
25
n S A B C D E F G H J K L M
h’(n) 80 80 60 70 85 74 70 0 40 100 30 20 70
Langkah 1
S
A
B
C
D
E
10
10
25
30
35
n S A B C D E
h’(n) 80 80 60 70 85 74
g(n) 0 10 25 30 35 10
f(n) 80 90 85 100 120 84
Langkah 2
n A B C D J
h’(n) 80 60 70 85 100
g(n) 10 25 30 25 30
f(n) 90 85 100 110 130
S
A
B
C
D
E
J
10
10
25
30
35
15
20
Langkah 3
n A C D J F K
h’(n) 80 70 85 100 70 30
g(n) 10 30 25 30 30 75
f(n) 90 100 110 130 100 105
S
A
B
C
D
E
F
K
J
10
10
25
30
35
15
20
50
510
Langkah 4
n C D J F K G
h’(n) 70 85 100 70 30 0
g(n) 30 25 30 25 70 100
f(n) 100 110 130 95 100 100
S
A
B
C
D
E
F
K
J
10
10
25
30
35
15
20
50
510
90
G
Langkah 5
n C D J K G
h’(n) 70 85 100 30 0
g(n) 30 25 30 65 100
f(n) 100 110 130 95 100
S
A
B
C
D
E
F
K
J
10
10
25
30
35
15
20
50
510
90
G
40
Langkah 6
n C D J G
h’(n) 70 85 100 0
g(n) 30 25 30 95
f(n) 100 110 130 95
S
A
B
C
D
E
F
K
J
10
10
25
30
35
15
20
50
510
90
G
40
30
Solusi
S
A
B
C
D
E
F
K
J
10
10
25
30
35
15
20
50
510
90
G
40
30
S - A - B - F - K - G
Dengan Total Jarak = 95
Kesimpulan
ï‚— Algoritma A* lebih baik dalam melakukan pencarian
heuristic daripada Greedy Best First Search karena
dapat mengasilkan solusi yang optimal

More Related Content

Heuristic search-best-first-search

  • 2. 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
  • 4. 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
  • 5. 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.
  • 6. Contoh A B C D 16 100 10 ( 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
  • 7. Algoritma Best First Search ï‚— Greedy Best First Search ï‚— Algoritma A*
  • 8. 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
  • 9. Contoh S A B C D E G F K H L M J 10 10 10 25 30 35 15 20 40 52 25 40 50 5 40 90 30 40 80 25 n S A B C D E F G H J K L M h’(n) 80 80 60 70 85 74 70 0 40 100 30 20 70
  • 10. Langkah 1 S A B C D E 10 10 25 30 35 n S A B C D E h’(n) 80 80 60 70 85 74
  • 11. Langkah 2 S A B C D E 10 10 25 30 35 n A C D E F K h’(n) 80 70 85 74 70 30 F K50 5
  • 12. Langkah 3 S A B C D E 10 10 25 30 35 n A C D E F G h’(n) 80 70 85 74 70 0 F K50 5 G 30
  • 13. SOLUSI S A B C D E 10 10 25 30 35 F K50 5 G 30 S - B - K - G Dengan Total Jarak = 105
  • 14. 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
  • 15. 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
  • 16. Contoh S A B C D E G F K H L M J 10 10 10 25 30 35 15 20 40 52 25 40 50 5 40 90 30 40 80 25 n S A B C D E F G H J K L M h’(n) 80 80 60 70 85 74 70 0 40 100 30 20 70
  • 17. Langkah 1 S A B C D E 10 10 25 30 35 n S A B C D E h’(n) 80 80 60 70 85 74 g(n) 0 10 25 30 35 10 f(n) 80 90 85 100 120 84
  • 18. Langkah 2 n A B C D J h’(n) 80 60 70 85 100 g(n) 10 25 30 25 30 f(n) 90 85 100 110 130 S A B C D E J 10 10 25 30 35 15 20
  • 19. Langkah 3 n A C D J F K h’(n) 80 70 85 100 70 30 g(n) 10 30 25 30 30 75 f(n) 90 100 110 130 100 105 S A B C D E F K J 10 10 25 30 35 15 20 50 510
  • 20. Langkah 4 n C D J F K G h’(n) 70 85 100 70 30 0 g(n) 30 25 30 25 70 100 f(n) 100 110 130 95 100 100 S A B C D E F K J 10 10 25 30 35 15 20 50 510 90 G
  • 21. Langkah 5 n C D J K G h’(n) 70 85 100 30 0 g(n) 30 25 30 65 100 f(n) 100 110 130 95 100 S A B C D E F K J 10 10 25 30 35 15 20 50 510 90 G 40
  • 22. Langkah 6 n C D J G h’(n) 70 85 100 0 g(n) 30 25 30 95 f(n) 100 110 130 95 S A B C D E F K J 10 10 25 30 35 15 20 50 510 90 G 40 30
  • 24. Kesimpulan ï‚— Algoritma A* lebih baik dalam melakukan pencarian heuristic daripada Greedy Best First Search karena dapat mengasilkan solusi yang optimal