Heuristic Search
Heuristic Search
Informasi yang diberikan dapat berupa jumlah ubin yang menempati posisi
yang benar. Jumlah yang lebih tinggi adalah yang diharapkan.
Sehingga langkah selanjutnya yang harus dilakukan adalah menggeser
ubin kosong ke kiri.
Fungsi heuristik
Simple HC langsung memilih state B sebagai next state karena nilai f pada state B
lebih kecil dibandingkan nilai f pada state S.
Di sini tidak dipertimbangkan nilai f pada state C.
Misalkan pada akhir iterasi, Simple HC mengembalikan solusi G yang berada di
level 6, padahal ada solusi yang lebih baik pada level 2. Dengan demikian Simple
HC tidak optimal.
Algoritma Steepest-Ascent HC
1. Evaluasi initial state. Jika state ini adalah goal state, maka kembalikan state ini
sebagai solusi dan keluar dari program. Jika state ini bukan goal state, lanjutkan
proses dengan initial state sebagai current state.
2. Ulangi sampai solusi ditemukan atau sampai tidak ada perubahan terhadap
current state:
a) Misalkan X adalah suatu state yang menjadi suksesor dari current state.
b) Untuk setiap operator yang bisa dilakukan terhadap current state, kerjakan:
I. Aplikasikan operator tersebut dan bangkitkan new state.
II. Evaluasi new state. Jika merupakan goal state, kembalikan state ini sebagai solusi
dan keluar dari program. Jika bukan goal state, bandingkan new state dengan X.
Jika new state lebih baik daripada X, maka ganti X dengan new state. Jika tidak
lebih baik, X tidak perlu diganti.
c) Jika X lebih baik dari current state, maka ganti current state dengan X
Pencarian solusi menggunakan Steepest-Ascent HC
Dari state S, Steepest-Ascent HC akan mengevaluasi semua state yang menjadi next state atau suksesornya,
yaitu A, B, dan C. Dari ketiga suksesor tersebut dipilih suksesor dengan nilai f yang terkecil.
State C akan dipilih sebagai suksesor S.
Misalkan, hasil penelusuran menemukan solusi G di level 4, padahal ada solusi optimal di level 2, dalam hal ini
Steepest-Ascent HC dikatakan terjebak pada solusi lokal atau local minimum. Jadi Steepest-Ascent HC juga
tidak optimal.
Simulated Anealing (SA)
SA memanfaatkan analogi cara pendinginan dan
pembekuan metal menjadi sebuah kristal dengan energi
yang minimal.
SA menggunakan sebuah rumus probabilitas yang
memungkinkannya bisa keluar dari local minimum.
Ketika new state tidak lebih baik dari current state, maka
new state tersebut masih mungkin dipilih dengan
probabilitas sebagai berikut:
p(E) = e-E/T ……………(4.1)
Algoritma Simulated Annealing
1. Evaluasi initial state. Jika state ini adalah goal state, maka kembalikan state
ini sebagai solusi dan keluar dari program. Jika state ini bukan goal state,
lanjutkan proses dengan initial state sebagai current state.
2. Inisialisasi BEST-SO-FAR dengan current state.
3. Inisialisasi T sesuai dengan annealing schedule.
4. Ulangi sampai solusi ditemukan atau sampai tidak ada lagi operator baru
yang dapat diaplikasikan terhadap current state:
a) Pilih sebuah operator yang belum diaplikasikan terhadap current state
dan aplikasikan operator tersebut sehingga menghasilkan new state.
b) Evaluasi new state. Hitung:
E = f(current state) – f(new state)
I. Jika new state adalah goal state, maka kembalikan state ini
sebagai solusi dan keluar dari program.
II. Jika new state bukan goal tetapi lebih baik daripada current
state (E > 0), maka set current state ke new state. Juga set BEST-SO-FAR ke
new state.
Algoritma Simulated Annealing
III. Jika new state tidak lebih baik daripada current state (E ≤
0), maka set current state ke new state dengan
probabilitas p seperti didefinisikan oleh persamaan 4.1 di
atas. Langkah ini biasanya diimplementasikan dengan
membangkitkan sebuah bilangan acak dalam interval
[0,1]. Jika bilangan tersebut lebih besar dari p, maka
jangan mengerjakan apa pun.
c) Jika diperlukan, revisi nilai T berdasarkan annealing schedule.
5. Kembalikan BEST-SO-FAR sebagai solusi.
Pencarian solusi menggunakan Simulated Annealing
f(n) = h(n)
h(n) = jarak garis lurus dari node n ke goal (Bucharest)
Greedy Best-First Search
Greedy Best-First Search
Greedy Best-First Search
Greedy Best-First Search
Solusi yang ditemukan adalah solusi optimal, yaitu: Arad, Sibiu, Rimnicu
Vilcea, Pitesti, Bucharest.