Вы находитесь на странице: 1из 30

Metode Pencarian

Heuristik –
Bagian 2
Kecerdasan Buatan
Searching (Pencarian)

• Breadth Fist Search /BFS (pencarian melebar


pertama)
• Depth First Search /DFS (pencarian kedalam
Blind Search /Un- pertama)
• Depth-Limited Search (DLS)
informed Search • Uniform Cost Search (UCS)
(Pencarian Buta) • Iterative-Deepening Search (IDS)
• Bi-Directional Search (BDS)

• Generate And Test


Heuristic Search • Hill Climbing
• Simulated Annealing
(Pencarian • Best First Search
Terbimbing) •

Greedy Best First Search
A*
Visualisasi Metode HC
Metode Simulated Annealing
(SA)

 Simulated Annealing merupakan metode pencarian


random untuk mengoptimalkan metode pencarian heuristik
yang berpotensi menimbulkan hasil yang kurang optimal
akibat adanya permasalahan optimum local.

 Secara sederhana, analogi Simulated Annealing adalah


metode Hill Climbing yang dilengkapi dengan fitur inisialisasi
ulang di tempat random.

 Meskipun dikatakan random, terdapat parameter tertentu


di dalam pemilihan tempat pada metode SA.
Visualisasi Metode SA
Algoritma Umum SA

Algorithm SIMULATED-ANNEALING
Begin
temp = INIT-TEMP;
place = INIT-PLACEMENT;
while (temp > FINAL-TEMP) do
while (result_criterion = FALSE) do
new_place = CLIMB(place);
ΔC = COST(new_place) - COST(place);
if (ΔC < 0) then
place = new_place;
else if (RANDOM(0,1) > e-(ΔC/temp)) then
place = new_place;
temp = SCHEDULE(temp);
End.
Penerapan Metode SA

 Permasalahan Jigsaw Puzzle


 Otak manusia secara sadar
berusaha mencari potongan
puzzle yang mengarah ke solusi.
 Suatu pemilihan potongan
puzzle mungkin mengarah ke
solusi yang diharapkan, mungkin
juga tidak - berdasarkan
probabilitas tertentu.
 Bentuk akhir diperoleh dari
banyak perulangan iterasi.
Penerapan Metode SA

Simpan, lalu Random Ulang


Hingga batas tertentu
Metode Algoritma Genetika

• Algoritma Genetika adalah algoritma yang memanfaatkan


proses seleksi alamiah yang dikenal dengan proses evolusi

• Dalam proses evolusi, individu secara terus-menerus


mengalami perubahan gen untuk menyesuaikan dengan
lingkungan hidupnya

• Hanya individu-individu yang kuat yang mampu bertahan


Siklus Algoritma Genetika

Populasi Evaluasi Seleksi


Awal Fitness Individu

Reproduksi :
Populasi
Cross-Over &
Baru
Mutasi
Tahapan Penting Algoritma Genetika

1. Generate Initial Population


2. Kalkulasi Fitness Function
3. Proses Seleksi Kandidat Orang Tua
4. Cross-Over (Persilangan Orang Tua)
5. Mutation (Pengubahan nilai gen individu hasil cross-over)
Persoalan 8-Queen Puzzle

 Rancanglah posisi 8 buah ratu pada papan


catur sedemikian sehingga tidak terdapat 1 pun
ratu yang saling menyerang satu sama lain.
Pendekatan HC pada 8-
Queen Puzzle

 Nilai Heuristik : Banyak ratu yang saling menyerang.


Semakin kecil nilai heuristik maka semakin baik.
Pendekatan AG pada
persoalan 8-Queen Puzzle
 Misalkan nilai fitness function dihitung berdasarkan banyaknya
ratu yang tidak saling menyerang. Artinya untuk kasus ini,
semakin tinggi fitness function maka semakin baik.
 Fitness function  28 – banyak ratu saling menyerang.
 Misalkan suatu individu dinotasikan sebagai deretan 8 angka
yang menunjukkan lokasi nomor baris ratu di setiap kolom.
 Contoh : 83742516 
Siklus AG pada Persoalan 8-
Queen Puzzle

 Persentase fitness function dihitung dari nilai fitness function suatu


individu dibagi dengan total nilai fitness function.
 Contoh : individu 24748522  24 / (24 + 23 + 20 + 11) = 31 %.
 Ingat, pada kasus ini semakin tinggi fitness function maka semakin baik.
 Pada AG, proses seleksi, cross-over, ataupun mutasi dapat dilakukan
berdasarkan pertimbangan apapun yang dinilai baik.
Penggunaan AG pada
Persoalan TSP
8
 Diketahui persoalan TSP sebagai berikut. A B
 Gunakan Algoritma Genetika untuk mencari lintasan
terpendek persoalan TSP di samping dengan kriteria :
3 4
1) FF (Fitness Function) dinyatakan sebagai total cost 7 5
perjalanan. Artinya semakin rendah semakin baik.
AG berhenti jika 3 generasi berturut-turut nilai FF 6
D C
2)
terendah yang diperoleh tidak berubah.
3) Di setiap generasi, hanya dipilih 2 orang tua terbaik
dengan proses persilangan menghasilkan 2 anak.
4) Populasi awal adalah [ABCD], [BCDA], [CDAB], dan
[DABC].
5) Proses cross-over dilakukan dengan mengambil 1 rute
pertama dari Bapak dan 3 rute terakhir dari Ibu.
6) Proses mutasi dilakukan terhadap kota yang muncul 2
kali dalam sebuah individu.
Langkah Penyelesaian TSP
menggunakan AG
8
 Populasi Awal : A B
o Kromosom[1] = [A B C D] 3 4
o Kromosom[2] = [B C D A] 7 5
o Kromosom[3] = [C D A B]
6
o Kromosom[4] = [D A B C]
D C
 Evaluasi Fitness:

Individu Terbaik
o Fitness[1] = 8 + 5 + 6 = 19
o Fitness[2] = 5 + 6 + 7 = 18
o Fitness[3] = 6 + 7 + 8 = 21
o Fitness[4] = 7 + 8 + 5 = 20
Langkah Penyelesaian TSP
menggunakan AG
 Seleksi : 8
o Kromosom[1] = [A B C D] A B
o Kromosom[2] = [B C D A] 3 4
7 5
 Cross-Over (1 rute awal Bapak + 3 rute akhir Ibu) :
Cross-Over[1] = [A C D A] 6
D C
o
o Cross-Over[2] = [B B C D]

 Mutasi
o Mutasi[1] = [B C D A] atau [A C D B]  Pilih salah satu
o Mutasi[2] = [A B C D] atau [B A C D]  Pilih salah satu
 Karena [B C D A] dan [A B C D] merupakan individu yang sudah
pernah muncul sebagai orang tua, maka sebaiknya dipilih
Mutasi [1] = [A C D B] dan Mutasi[2] = [B A C D]
Langkah Penyelesaian TSP
menggunakan AG
Tahap persilangan selanjutnya : 8
A B

Ulangi lagi dari langkah pemantauan populasi


o
3 4
7 5
 Populasi Saat Ini :
Kromosom[1] = [A C D B] 6
D C
o

o Kromosom[2] = [B A C D]

Lanjutkan ke tahap selanjutnya, hingga 3 generasi berturut-


turut nilai fitness function terendah tidak berubah.
Metode Greedy Best First
Search
 Pada metode ini, fungsi evaluasi f(n) adalah sama
dengan fungsi heuristic h(n), dimana h(n) merupakan
estimasi biaya dari suatu lokasi ke tujuan.
 Fungsi heuristic metode ini, dinotasikan sebagai hSLD(n),
yaitu harga Straight-Line-Distance dari satu lokasi ke
tujuan.
 Greedy Best First Search melakukan ekspansi terhadap
node yang terlihat paling mendekati ke tujuan.
CONTOH Kota
Arad
SLD
366
PENERAPAN Bucharest 0

METODE GREEDY Craiova


Dobreta
160
242

BEST FIRST Eforie


Fagaras
161
176
SEARCH Giurgiu 77
Hirsova 151
Iasi 226
Kota
Lugoj SLD
244
Mehadia 241
Neamt 234
Oradea 380
Pitesti 100
Rimnicu 193
Vilcea
Sibiu 253
Timisoara 329
Urziceni 85
Vaslui 199
Zerind 374
LANGKAH PENGERJAAN
METODE GREEDY

Kota SLD Kota SLD


Arad 366 Mehadia 241
Bucharest 0 Neamt 234
Craiova 160 Oradea 380
Dobreta 242 Pitesti 100
Eforie 161 Rimnicu 193
Vilcea
Fagaras 176
Sibiu 253
Giurgiu 77
Timisoara 329
Hirsova 151
Urziceni 85
Iasi 226
Vaslui 199
Lugoj 244
Zerind 374
LATIHAN SOAL GREEDY
BEST FIRST SEARCH
Gunakan metode greedy best first search untuk menentukan
rute dari S menuju G, dimana biaya estimasi heuristik
ditentukan oleh jarak garis lurus suatu lokasi ke G.
Kota SLD
Arad 366

KELEMAHAN METODE Bucharest


Craiova 160
0

GREEDY Dobreta
Eforie
242
161
Dapat terjadi looping yang tidak berhenti. Fagaras 176

Contoh : Iasi  Neamt  Iasi  Neamt  Giurgiu 77


Hirsova 151
Iasi 226
Kota
Lugoj SLD
244
Mehadia 241
Neamt 234
Oradea 380
Pitesti 100
Rimnicu 193
Vilcea
Sibiu 253
Timisoara 329
Urziceni 85
Vaslui 199
Zerind 374
Metode Pencarian A*
 Metode ini dirancang untuk memperbaiki kelemahan
metode Greedy dengan cara menghindari ekspansi
terhadap rute yang sudah tergolong mahal.

 Fungsi evaluasi f(n) = g(n) + h(n),


 Dimana g(n) adalah biaya yang sudah dikeluarkan hingga
suatu node, dan h(n) adalah estimasi biaya yang perlu
dikeluarkan dari suatu node hingga node tujuan.

 Dengan kata lain, A* menghitung total biaya yang sudah


dikeluarkan ditambah estimasi biaya yang perlu
dikeluarkan. A* melakukan ekspansi terhadap node
dengan f(n) paling rendah.
Kota SLD
Arad 366

CONTOH PENERAPAN Bucharest


Craiova 160
0

METODE A* Dobreta
Eforie
242
161
Fagaras 176
Giurgiu 77
Hirsova 151
Iasi 226
Kota
Lugoj SLD
244
Mehadia 241
Neamt 234
Oradea 380
Pitesti 100
Rimnicu 193
Vilcea
Sibiu 253
Timisoara 329
Urziceni 85
Vaslui 199
Zerind 374
LANGKAH PENGERJAAN
METODE A*

Kota SLD Kota SLD


Arad 366 Mehadia 241
Bucharest 0 Neamt 234
Craiova 160 Oradea 380
Dobreta 242 Pitesti 100
Eforie 161 Rimnicu 193
Vilcea
Fagaras 176
Sibiu 253
Giurgiu 77
Timisoara 329
Hirsova 151
Urziceni 85
Iasi 226
Vaslui 199
Lugoj 244
Zerind 374
CONTOH LAIN
PENGGUNAAN A*
 Diketahui sebuah puzzle berukuran 3X3 yang berisi angka.
 Permasalahan adalah angka-angka dalam puzzle tersebut belum teratur.
 Nilai awal puzzle : Goal :

Nilai awal = {1,2,blank,4,5,3,7,8,6} Goal = {1,2,3,4,5,6,7,8,blank}


Nilai Evaluasi = f(n) = g(n) + h(n)
 g(n) = kedalaman dari pohon
 h(n) = jumlah angka yang masih salah posisi
LANGKAH PENYELESAIAN
A* TERHADAP PUZZLE 3X3
LATIHAN PENYELESAIAN
PUZZLE 3X3
MENGGUNAKAN METODE
A*
Sebuah puzzle berukuran 3X3
Nilai awal : Goal :
2 8 3 1 2 3

1 6 4 8 4

7 5 7 6 5

f(n) =g(n) + h(n)


g(n) = kedalaman pohon
h(n) = jumlah angka yang salah posisi