1 07/09/2021
Heuristic Search
• Heuristic berasal dari bahasa Yunani, heuriskein, yang berarti
‘mencari’ atau ‘menemukan’
1. Hill Climbing
2. Simulated Annealing
3. Greedy Best-First Search
4. A*
Hill Climbing
6 07/09/2021
Hill Climbing
• Memerlukan fungsi heuristik untuk mengevaluasi state
11 07/09/2021
Simulated Annealing
• Analogi cara pendinginan dan pembekuan metal atau kristal dengan
energi yang minimal
• New state yang tidak lebih baik dari current state masih mungkin
dipilih dengan probabilitas
di mana ∆E = f(current state) – f(new state)
Simulated Annealing
• Analogi cara pendinginan dan pembekuan metal atau kristal dengan
energi yang minimal
• New state yang tidak lebih baik dari current state masih mungkin
dipilih dengan probabilitas
16 07/09/2021
Greedy Best First Search
• Memilih simpul baru yang memiliki biaya terkecil diantara
semua leaf nodes
f(n) = h(n)
Greedy Best First Search
• Memilih simpul baru yang memiliki biaya terkecil diantara
semua leaf nodes
f(n) = h(n)
Greedy Best First Search
Greedy Best First Search
Greedy Best First Search
A f(A) =
h(A) = 80
1 B f(B) =
0 2 h(B) = 60
S 5
3 C f(C) =
0 h(C) = 70
3
1 5
0 D f(D) =
h(D) = 85
E f(E) =
h(E) = 74
Greedy Best First Search
A f(A) =
h(A) = 80
1 B f(B) =
0 2 h(B) = 60
S 5
3 C f(C) =
0 h(C) = 70
3
1 5
0 D f(D) =
h(D) = 85
E f(E) =
h(E) = 74
Greedy Best-First Search
A f(A) =
h(A) = 805 F f(F) =
1 B f(B) = h(F) = 70
0 2 h(B) = 560
S 5 0 K f(K) =
3 C f(C) = h(K) = 30
0 h(C) = 70
3
1 5
0 D f(D) =
h(D) = 85
E f(E) =
h(E) = 74
Greedy Best-First Search
A f(A) =
h(A) = 805 F f(F) =
1 B f(B) = h(F) = 70
0 2 h(B) = 560
S 5 0 K f(K) =
3 C f(C) = h(K)3 = 30
0 h(C) = 70 0
3 G
1 5
0 D f(D) = f(G) =
h(D) = 85 h(G) = 0
E f(E) =
h(E) = 74
Greedy Best-First Search
A f(A) =
h(A) = 805 F f(F) =
1 B f(B) = h(F) = 70
0 2 h(B) = 560
S 5 0 K f(K) =
3 C f(C) = h(K)3 = 30
0 h(C) = 70 0
3 G
1 5
0 D f(D) = f(G) =
h(D) = 85 h(G) = 0
E f(E) =
h(E) = 74
Greedy Best-First Search
A f(A) =
h(A) = 805 F f(F) =
1 B f(B) = h(F) = 70
0 2 h(B) = 560
S 5 0 K f(K) =
3 C f(C) = h(K)3 = 30
0 h(C) = 70 0
3 G
1 5
0 D f(D) = f(G) =
h(D) = 85 h(G) = 0
E f(E) = Total Biaya = 25 + 50 + 30 = 105
h(E) = 74 Biaya paling optimal = 95
A*
27 07/09/2021
A*
• Gabungan Uniform Cost Search dan Greedy Best-First
Search
A f(A)
= 90 F f(F) = g(F) + h(F) = 30
5
1 B + 70 = 100
0 2 f(B) 5
S 5 0 K f(K) = g(K) + h(K) =
3 =C85 f(C) =
0 75 + 30 = 105
100
1
0 D f(D)
1
5 = 110
B
B E
2 J f(J) =
N
N
0
130
A*
A f(A)
= 90 F f(F) = 30 + 70
5
1 B = 100
0 2 f(B) 5
S 5 0 K
3 =C85 f(C) = f(K) = 75 + 30 =
0 100 105
1
0 1 D f(D)
5 = 110
B E
B
2 J f(J) =
NN
0
130
A*
9
0
A f(A)
=1 90 F f(F) = 30 + 70
0 5 f(F) = 25 +
1 B = 100
0 2 5 70 = 95 G f(G) = 10 +
f(B)
S 5 f(B) 0 K
3 = 85
=C80f(C) =
90 = 100
f(K) = 75 + 30 =
0 100 f(K) = 70 +
105
1 30 = 100
0 1 D f(D)
5 = 110
B E
B
2 J f(J) =
NN
0
130
A*
9
0
A f(A)
=1 90 F f(F) = 25 +
0 5
1 B 70 = 95
0 f(B) 5 G f(G) = 10 +
S K
3 =C80f(C) =0 f(K) = 70 +
90 = 100
0 100 30 = 100
1
0 D f(D)
1
5 = 110
B
B E
2 J f(J) =
N
N
0
130
A*
9
0
A f(A)
=1 90 F f(F) = 25 +
0 5
1 B 70 = 95
0 5 4 G f(G) = 10 +
f(B) 0
S K
3 =C80f(C) =0 f(K) = 70 +
90 = 100
0 100 f(K)
30 ==100
65 +
30 = 95
1
0 D f(D)
1
5 = 110
B
B E
2 J f(J) =
N
N
0
130
A*
9
0
A f(A)
=1 90 F f(F) = 25 +
0 5
1 B 70 = 95
0 4 G f(G) = 10 +
f(B) 0 K
S
3 =C80f(C) = 90 = 100
f(K) = 65 +
0 100 30 = 95
1
0 D f(D)
1
5 = 110
B
B E
2 J f(J) =
N
N
0
130
A*
9
0
A f(A)
=1 90 F f(F) = 25 +
0 5
1 B 70 = 95
0 4 G f(G) = 10 +
f(B) 0 K 3
S f(G)
3 =C80f(C) = 90 ==100
65 +
f(K)0= 65 + 30 = 95
0 100 30 = 95
1
0 D f(D)
1
5 = 110
B
B E
2 J f(J) =
N
N
0
130
A*
A f(A)
=1 90 F f(F) = 25 +
0 5
1 B 70 = 95
0 4 G f(G) = 65 +
f(B) 0 K 3
S
3 =C80f(C) = 30 = 95
f(K)0= 65 +
0 100 30 = 95
1
0 D f(D)
1
5 = 110
B
B E
2 J f(J) =
N
N
0
130
A*
A f(A)
=1 90 F f(F) = 25 +
0 5
1 B 70 = 95
0 4 G f(G) = 65 +
f(B) 0 K 3
S
3 =C80f(C) = 30 = 95
f(K)0= 65 +
0 100 30 = 95
1
0 D f(D)
1
5 = 110
B
B E
2 J f(J) =
N
N
0
130
A*
A f(A)
=1 90 F f(F) = 25 +
0 5
1 B 70 = 95
0 4 G f(G) = 65 +
f(B) 0 K 3
S
3 =C80f(C) = 30 = 95
f(K)0= 65 +
0 100 30 = 95
1 Total Biaya = 10 + 10 + 5 + 40
0 D f(D) Biaya paling optimal = 95
1
5 = 110 A* menjamin complete
B
B E
N
N
2 J f(J) = dan optimal
0
130
Iterative Deepening A*
46 07/09/2021
Iterative Deepening A*
• Iteratif dengan batasan berupa f-limit
D
1
0
E f(E) = g(E) + h(E) = 10 +
74 = 84
if f(D) > f-limit) then
return null
next-f = MIN(next-f,84) =
84
Total Biaya = 95
Biaya optimal = 95
Bidirectional A*
59 07/09/2021
Bidirectional A* (BDA*)
• BDA* melakukan pencarian dari dua arah