Vous êtes sur la page 1sur 6

TUGAS ARTIFICIAL INTELEGENCE

SIMULATED ANNEALING
TSP Arad - Bucharest

Disusun oleh :

PROGRAM STUDI ILMU KOMPUTER


JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN
ALAM
UNIVERSITAS BRAWIJAYA
2010
Simulated Annnealing

A. Pengertian dari Algoritma Simulated Annealing

Ide dasar simulated annealing terbentuk dari pemrosesan logam.


Annealing  memanaskan kemudian mendinginkan. SA memanfaatkan
analogi antara cara pendinginan dan pembekuan metal menjadi sebuah
struktur crystal dengan energi yang minimal (proses penguatan) dan
pencarian untuk state tujuan minimal dalam proses pencarian. SA biasanya
digunakan untuk penyelesaian masalah yang mana perubahan keadaan dari
suatu kondisi ke kondisi yang lainnya membutuhkan ruang yang sangat luas

1. Arah Pelacakan

Pencarian selalu dengan melakukan semua kemungkinan yang ada. Suatu


kemungkinan solusi yang burukpun masih digunakan dengan
memperhitungkan nilai probabilitasnya.

2. Topologi

 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.


3. Pemilihan Rule

Suatu kemungkinan solusi yang burukpun masih digunakan dengan


memperhitungkan nilai probabilitasnya. Tetapi, ketika dibangkitkan
bilangan acak dalam interval {0 . . 1] menghasilkan angka kurang dari
nilai probailitasnya maka solusi tersebut masih digunakan.

4. Penggunaan fungsi heuristik

Penggunaan fungsi Heuristik pada SA terdapat pada penentuan nillai


probabilitas yang dinyatakan sebagai berikut:

• Kenapa fungsi ini? Mengadopsi dari fisika, dimana fungsi ini


merepresentasikan distribusi Boltzman dari energi dalam system
termodinamik. Sehingga didapat persamaan probabilitas dari level energi
yang diberikan dalam system pada temperatur T.
B. Prosedur Pencarian

1. Evaluasi Keadaan awal. Jika keadaan awal merupakan tujuan, maka


pencarian berhasil dan KELUAR. Jika tidak demikian, lanjutkan dengan
menetapkan keadaan awal sebagai kondisi sekarang.
2. Inisialisasi BEST_SO_FAR untuk keadaan sekarang.
3. Inisialisasi T sesuai dengan annealing schedule
4. Kerjakan hingga solusi ditemukan atau sudah tidak ada operator baru lagi
yang akan diaplikasikan ke kondisi sekarang.
a. Gunakan operator yang belum pernah digunakan tersebut untuk
menghasilkan kondisi baru
b. Evaluasi kondisi yang baru dengan menghitung :
∆Ε = nilai sekarang – nilai keadaan baru
i. Jika kondisi baru = tujuan, maka pencarian berhasil dan KELUAR.
ii. Jika bukan tujuan, namun memiliki nilai yang lebih baik dari pada
kondisi sekarang, maka kondisi baru = kondisi sekarang. Demikian
pula tetapkan BEST_SO_FAR untuk kondisi yang baru tadi.
iii. Jika nilai kondisi baru tidak lebih baik dari kondisi sekarang, maka
tetapkan kondisi baru = kondisi sekarang, dengan probabilitas :
p´ = e-∆Ε/Τ
Langkah ini biasanya dikerjakan dengan membangkitkan suatu
bilangan random r pada range [0 1]. Jika r < p’, maka perubahan
kondisi baru menjadi kondisi sekarang diperbolehkan. Namun jika
tidak demikian, maka tidak akan dikerjakan apapun.
c. Perbaiki T sesuai dengan annealing scheduling
5. BEST_SO_FAR adalah jawaban yang dimaksudkan

C. Simulasi
Berdasarkan rute dibawah ini akan dicari route terpendek dengan DFS

Pencarian route terpendek dengan Simulated Annealing


Bandingkan Nilai BEST_SO_FAR untuk mendapatkan solusi optimum.

D. Ukuran Performasi

1. Completeness

Pada proses pencarian solusi, pasti akan ditemukan solusi karena proses
pencarian dilakukan secara menyeluruh dengan segala kemungkinan.

2. Optimally

Karena bergantung pada suatu nilai probabilitas, maka Simulated


Annealing tidak selalu optimal.

3. Time Complexity

Akan membutuhkan waktu yang lama karena proses pencarian dilakukan


secara menyeluruh. Kemungkinan solusi burukpun juga tetap di
perhitungkan dengan melihat nilai probabilitasnya.
4. Space Complexity

Membutuhkan memori yang cukup besar, karena setiap solusi di simpan


sebagai solusi sementara dan kemudian di bandingkan untuk mencari
solusi yang optimum.