Anda di halaman 1dari 15

HEURISTIC

SEARCH
S I M U L ATED A N N EA LING
BEST F I RST S EA RCH
G R E EDY BEST F I RST S EARCH
Konsep Berfikir Simulated
Annealing
Dalam grafik terlihat penurunan energi mengalami fenomena sedikit
aneh. Pada saat temperatur T1, ada kecenderungan energi tidak mau
turun. Tetapi dengan sedikit pergeseran dari nilai T1 penurunan energi
terjadi sampai dengan nilai T2, hal ini terjadi juga pada kasus T2, dst
sampai terjadi suatu kondisi dimana nilai energi tidak lagi mengalami
penurunan biarpun nilai T terus ebrtambah.
Kondisi E pada T1 dinalogikan sebagai titik local optimum 1, sedangkan
pada saat T2 dianalogikan sebagai local optimum 2.
Konsep Optimasi dijalankan dengan cara merubah (menaikkan) nilai T
untuk mendapatkan suatu kondisi dimana E menurun, dan dilakukan
terus menerus sampai suatu kondisi dimana perubahan T tidak
berpengaruh pada nilai E, atau dikatakan suatu global optimum sudah
dicapai.
Simulated Anneling
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 tsb kurang dari p, maka set current state ke new state. 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.
Inisialisasi T sesuai dengan
annealing schedule.
Ada 3 hal yang perlu diperhatikan dari algoritma simulated annealing :
1. Nilai awal untuk Temperatur (T0). Nilai T0 biasanya ditetapkan cukup
besar (tidak mendekati nol). Biasanya T0 ditetapkan 2 kali panjang suatu
jalur yang dipilih secara acak.
2. Kriteria yang digunakan untuk memutuskan apakah temperatur
sistem seharusnya dikurangi atau tidak.
3. Berapa besarnya pengurangan temperatur dalam setiap waktu.
Contoh :

Misalkan S adalah current state dan A adalah new state.


Ketika dievaluasi, ternyata new state tidak lebih baik daripada current state.
Tetapi, ketika dibangkitkan bilangan acak dalam interval [0,1] menghasilkan
angka kurang dari probabilitas p, maka A dipilih sebagai current state.
Pada akhirnya, SA dapat menemukan solusi optimum di level 2.
Karena bergantung pada suatu nilai probabilitas, maka SA tidak selalu
optimal.
BEST FIRST SEARCH
Best-First Search merupakan sebuah metode yang membangkitkan
simpul dari simpul sebelumnya. Best-first search memilih simpul baru
yang memiliki biaya terkecil diantara semua leaf nodes (simpul-simpul
pada level terdalam) yang pernah dibangkitkan. Penentuan simpul
terbaik dilakukan dengan menggunakan sebuah fungsi yang disebut
fungsi evaluasi f(n). fungsi evaluasi best-first search dapat berupa biaya
perkiraan dari suatu simpul menuju ke goal atau gabungan antara biaya
sebenarnya dan biaya perkiraan tersebut.
Algoritma Best First Search
Pertama kali, dibangkitkan node A.
Kemudian semua suksesor A dibangkitan, dan dicari harga paling
minimal.
Pada langkah 2, node D terpilih karena harganya paling rendah, yakni 1.
Langkah 3, semua suksesor D dibangkitkan, kemudian harganya akan
dibandingkan dengan harga node B dan C. Ternyata harga node B paling
kecil dibandingkan harga node C, E, dan F. Sehingga B terpilih dan
selanjutnya akan dibangkitkan semua suksesor B.
Demikian seterusnya sampai ditemukan node tujuan.
Penerapan Best First Search
Algoritma yang menggunakan metode best-first search, yaitu:
1. Greedy Best First Searh
Greedy Best-First adalah algoritma best-first yang paling sederhana
dengan hanya memperhitungkan biaya perkiraan (estimated cost) saja,
yakni f(n) = h(n). Biaya yang sebenarnya (actual cost) tidak
diperhitungkan. Dengan hanya memperhitungkan biaya perkiraan yang
belum tentu kebenarannya, maka algoritma ini menjadi tidak optimal.
2. A*
A* adalah algoritma best-first search yang menggabungkan Uniform Cost
Search dan Greedy Best-First Search. Biaya yang diperhitungkan didapat
dari biaya sebenarnya ditambah dengan biaya perkiraan. Dalam notasi
matematika dituliskan sebagai f(n)= g(n) + h(n). Dengan perhitungan
biaya seperti ini, algoritma A* adalah complete dan optimal.
CON TOH SOA L : BE RIKU T INI A DA LA H PETA ROM ANIA
DENGAN JAR A K JA LAN -JA LAN YANG MENG HU BUNG KAN KOTA -
KOTA DA L A M K M .
A DA P UN JA R A K KOTA - KOTA T E R HADA P KOTA BU CHA R EST
JI K A DI TA RIK G A R IS LU R U S A DA L A H S E BAG AI BE R I KU T :

Arad 366 Hirsova 15 Timisoara 329


Bucharest 0 Iasi 226 Urziceni 80
Craiova 160 Lugoj 244 Vaslui 199
Dobreta 242 Mehadia 241 Zerind 374
Eforie 161 Neamt 234 Rimnicu Vilcea 193
Fagaras 178 Oradea 380 Sibiu 253
Giurgiu 77 Pitesti 98

S E L ESA IKANL AH M A SA L AH P E N CAR IAN JA LU R DA R I A R A D


K E BUCHA R EST DE N G AN ME N GGUNAKAN ME TODE G R E EDY
BEST F I RST S EA RCH.
Greedy Best First Search
Greedy Best First Search :
hanya memperhitungkan biaya perkiraan saja.
f(n) = h(n)
h(n) = jarak garis lurus dari node n ke goal (Bucharest)

Anda mungkin juga menyukai