(361433473) g1a012018 - rachmat ade okiarlis

Upload: fahmi-arief-hidayat

Post on 02-Mar-2016

231 views

Category:

Documents


0 download

TRANSCRIPT

Tugas Kecerdasan Buatan

Nama : Rachmat Ade Okiarlis

NPM : G1A012018

Kelas : C .Teknik Informatika

Buat ringkasan materi berupa algoritma dan contoh kasus pada algoritma tersebut:

a. Best First Search b. Tabu Searchc. A*

d. Simulated Annealing1. Best First Search

Metode best first search merupakan kombinasi dari metode depth-first search dan metode breadth-first search dengan mengambil kelebihan dari kedua metode tersebut. Pencarian diperbolehkan mengunjungi node yang ada di level yang lebih rendah, jika ternyata node pada lebih yang lebih tinggi ternyata memiliki nilai heuristik yang lebih buruk.

Algoritma :

a. Tempatkan node awal A pada antrian OPEN. b. Ambil node terbaik dari OPEN.c. Bangkitkan semua successornya.

Untuk tiap-tiap successor kerjakan:

Jika node tersebut belum pernah dibangkitkan sebelumnya, evaluasi node tersebut dan masukkan ke OPEN;Jika node tersebut sudah pernah dibangkitkan sebelumnya, ubah parent jika lintasan baru lebih menjanjikan. Hapus node tersebut dari antrian OPEN.

Contoh Kasus :

Penggunaan metode BFS untuk permasalahan Arad-Bucharest.

Adapun jarak kota-kota terhadap kota Bucharest jika ditarik garis lurus adalah sebagai berikut :Arad = 366

Bucharest = 0

Craiova = 160

Dobreta = 242

Eforie = 161

Fagaras = 178

Giurgiu = 77

Hirsova = 151

Iasi = 226

Lugoj = 244

Mehadia = 241

Neamt = 234

Oradea = 380

Pitesti = 98

Rimnicu Vilcea = 193

Sibiu = 253

Timisoara = 329

Urziceni = 80

Vaslui = 199

Zerind = 374

Permasalahannya adalah untuk mencari jalan terdekat dari kota Arad menuju kota

Bucharest dengan menggunakan metoda Best First Search.

Heuristik yang digunakan adalah jarak kota-kota terhadap kota Bucharest jika ditarik garis lurus yang jaraknya seperti yang tertera di atas dengan asumsi kota terhubung yang letaknya paling dekat dengan kota Bucharest adalah jalan yang paling optimal.Diagram pohon langkah-langkah penelusuran dengan metode Best First Search adalah sebagai berikut :Langkah 1

Langkah 2

Langkah 3

Langkah 4

Dari Langkah-langkah di atas, dengan metode Best First Search didapatkan kota-kota yang harus dilalui untuk mendapatkan jalan yang paling dekat jaraknya dari Arad ke Bucharest adalah : Arad Sibiu Fagaras Bucharest. Dari peta di atas, panjang jalan yang dilalui adalah 140 + 99 + 211 = 450 km.2. Tabu Search

Tabu Search merupakan suatu metode optimasi yang menggunakan short-term memory untuk menjaga agar proses pencarian tidak terjebak pada nilai optimum lokal. Metode ini menggunakan Tabu List untuk menyimpan sekumpulan solusi yang baru saja dievaluasi.

Algoritma :

a. Tetapkan:

X = Matriks input berukuran nxm.

MaxItr = maksimum iterasi.

b. S = bangkitkan solusi secara random. c. GlobalMin = FCost(S).d. Best = S.

e. TabuList = [].

f. Kerjakan dari k=1 sampai MaxItr:

BestSoFar = FCost(S).

BestMove = S.

Kerjakan dari i=1 sampai (n-1):

g. Kerjakan dari j=i sampai n:

L = Tukar(S[i],S[j]).

Cost = FCost(L).

Jika (L TabuList) atau (Cost < GlobalMin), kerjakan:

Jika (Cost < BestSoFar), kerjakanBestSoFar = Cost. BestMove = L.

h. S = BestMove.

i. Tambahkan S ke TabuList.

j. Jika BestSoFar < GlobalMin, kerjakan:

GlobalMin = BestSoFar.

Best = BestMove.

Contoh Kasus :

Travelling Salesman Problem (TSP) kadang-kadang digunakan untuk menunjukkan fungsi pencarian tabu. Misalnya, jika kota A dan kota B yang sebelah satu sama lain, sementara kota C adalah jauh, jarak total yang ditempuh akan lebih pendek jika kota A dan B mengunjungi satu demi satu sebelum mengunjungi kota C.Tabu search dapat digunakan untuk menemukan satisficing solusi untuk masalah

salesman keliling (yaitu, solusi yang memenuhi kriteria kecukupan, meskipun tidak dengan kualitas tinggi yang diperoleh dengan memanfaatkan struktur grafik) . Pertama, pencarian dimulai dengan solusi awal, yang dapat dihasilkan secara acak atau sesuai dengansemacam algoritma tetangga terdekat . Untuk menciptakan solusi baru, agar dua kota yang

dikunjungi dalam solusi potensial swap.

Total jarak perjalanan antara semua kota yang digunakan untuk menilai seberapa cocok satu solusi dibandingkan dengan yang lain. Untuk mencegah siklus yaitu, berulang kali mengunjungi set tertentu solusi - dan untuk menghindari menjadi terjebak dalam lokal optima , solusi ditambahkan ke daftar tabu jika diterima dalam lingkungan solusi, .Solusi baru terus dibuat sampai beberapa kriteria berhenti, seperti jumlah sewenang-

wenang iterasi, terpenuhi. Setelah pencarian tabu sederhana berhenti, ia mengembalikan solusi terbaik ditemukan selama pelaksanaannya (solusi dengan jarak terpendek perjalanan saat mengunjungi semua kota).3. A*

Algoritma A* menggunakan dua fungsi cost sebagai acuan penelusuran. Nilai cost tersebut umumnya disebut fungsi f(x). Nilai f(x) merupakan penjumlahan dari fungsi g(x) dan fungsi h(x). Secara matematika ditulis f(x) = g(x) + h(x). Nilai fungsi g(x) adalah nilai cost dari node awal hingga ke node yang saat ini akan dihitung cost-nya. Nilai fungsi h(x) adalah sebuah nilai heuristic (sebuah perkiraan) yang menerka cost yang dibutuhkan untuk mencapai node tujuan mulai dari node yang saat ini akan dihitung cost-nya.

Contoh Kasus :

Penggunaan Algoritma A* untuk permasalahan Arad-Bucharest

Diagram pohon langkah-langkah penelusuran dengan metode A* adalah sebagai berikut : Langkah 1

Langkah 2

Langkah 3

Langkah 4

Langkah 5

Dari Langkah-langkah di atas, dengan metode A* didapatkan kota-kota yang harus dilalui untuk mendapatkan rute jalan yang paling dekat jaraknya dari Arad ke Bucharest adalah : Arad Sibiu Rimnicu Pitesti Bucharest. Dari peta di atas, panjang jalan yang dilalui adalah 140+80+97+101 = 418 km.4. Simulated Annealing

Simulated annealing adalah algoritma yang digunakan untuk mencari pendekatan terhadap solusi optimum global dari suatu permasalahan. Masalah yang membutuhkan pendekatan SA adalah masalah-masalah optimisasi kombinatorial, di mana ruang pencarian solusi yang ada terlalu besar, sehingga hampir tidak mungkin ditemukan solusi eksak terhadap permasalahan itu.

Algoritma :

a. Evaluasi keadaan awal. Jika keadaan awal merupakan tujuan, maka pencarian berhasil dan KELUAR. Jika tidak demikian, lanjutkan dengan menetapkan keadaan awal sebagai kondisi sekarang.b. Inisialisasi BEST_SO_FAR untuk keadaan sekarang. c. Inisialisasi T sesuai dengan annealing schedule.d. Kerjakan hingga solusi ditemukan atau sudah tidak ada operator baru lagi akan diaplikasikan ke kondisi sekarang.1. Gunakan operator yang belum pernah digunakan tersebut untuk menghasilkan kondisi baru.2. Evaluasi kondisi yang baru dengan menghitung: E = nilai sekarang nilai keadaan baru. Jika kondisi baru merupakan tujuan, maka pencarian berhasil dan KELUAR.

Jika bukan tujuan, namun memiliki nilai yang lebih baik daripada kondisi sekarang, maka tetapkan kondisi baru sebagai kondisi sekarang. Demikian pula tetapkan BEST_SO_FAR untuk kondisi yang baru tadi. Jika nilai kondisi baru tidak lebih baik dari kondisi sekarang, maka tetapkan

kondisi baru sebagai kondisi sekarang dengan probabilitas:

Contoh Kasus :

Simulated Annealing pada TSP :a. Simulated Annealing padaTSP digunakan untuk menelusuri dan mencari setiap rute yang mungkin, kemudian mendapatkan rute yang jaraknya paling pendek.b. Model Simulated Annealing untuk menyelesaikan TSP adalah model state yang dibangun untuk menyatakan rute yang mungkin dan definisi energi yang dinyatakan dengan total jarak yang ditempuh.

Operator

Ada beberapa operator yang bisa digunakan untuk menentukan jalur. Misalkan jumlah kota yang akan dikunjungi adalah NC. Kota-kota disimpan pada larik L.

Bangkitkan 2 bilangan random antara 1 sampai NC. Misalkan kedua bilangan itu adalah N1 dan N2 dengan N1 < N2. Depan = L(1) sampai L(N1-1)

Tengah = L(N1) sampai L(N2)

Belakang = L(N2+1) sampai L(NC)

Bangkitkan bilangan random r, apabila r < 0,5; maka:

o DepanBaru = Depan

o TengahBaru = Tengah dengan urutan dibalik

o BelakangBaru = Belakang

o Lbaru = [DepanBaru TengahBaru BelakangBaru]

Jika r 0,5; maka kerjakan :

o Sementara = [Depan Belakang], Misalkan memiliki M

elemen

o Bangkitkan bilangan random r dengan nilai antara 1 sampai M

o DepanBaru = Sementara(1:r)

o TengahBaru = Tengah

o BelakangBaru = Sementara(r+1:M)

o Lbaru = [DepanBaru TengahBaru BelakangBaru]Penyelesaian TSP dengan Simulated Anealing :

Misalkan jalur yang ada adalah :

o L = [4 3 6 9 11 2 5 1 7 8 12 10] NC = 12

Bangkitkan bilangan random, misal: N1 = 4 dan N2 = 10; maka: oDepan = [4 3 6]o Tengah = [9 11 2 5 1 7 8]

o Belakang = [12 10]

Bangkitkan bilangan random r, apabila r < 0,5; maka:

o DepanBaru = [4 3 6]

o TengahBaru = [8 7 1 5 2 11 9]

o BelakangBaru = [12 10]

o Lbaru = [4 3 6 8 7 1 5 2 11 9 12 10]

Jika r 0,5; maka diperoleh :

o Sementara = [4 3 6 12 10], M = 5

o Bangkitkan bilangan random r, misal : r = 2

o DepanBaru = [4 3]

o TengahBaru = [9 11 2 5 1 7 8]

o BelakangBaru= [6 12 10]

o Lbaru = [4 3 9 11 2 5 1 7 8 6 12 10]