Local Search Optimization
Local Search Optimization
,
Prentice Hall, New Jersey, 2010
Genetic Algorithm
Pemilihan state berdasarkan aturan seleksi alam yang
diterapkan pada state collection (sering disebut sebagai
populasi)
4
Fungsi Objektif
Heuristic cost function h = jumlah pasangan bidak ratu
yang dapat saling menyerang
6
8
a
b
c
d
e
Yaitu 1a-8h
f
g
h
a
b
c
d
e
f
Kekurangan Hill-Climbing
Terjebak dalam kondisi local maxima
Seolah-olah tidak ada pilihan, nilai terkecil h(neighbor)
> h(current)
Namun jika state terpilih saat current-1 adalah state
lain, maka mungkin ditemukan nilai terkecil
h(neighbor) <= h(current)
.2
0
11
12
Problem Romanian
13
14
15
16
17
Algoritma Genetik
(Genetic Algorithm, GA)
Rekapitulasi Materi tentang pemilihan state berikut
Hill-Climbing Search: berdasarkan nilai objektifnya
Genetic Algorithm: berdasarkan aturan seleksi alam yang diterapkan pada
state collection (sering disebut sebagai populasi)
Pada GA
Inisialisasi state diambil dari populasi (kumpulan sejumlah
n state)
Kandidat state berikut adalah populasi baru berisi state
baru hasil kombinasi state pada populasi sekarang
Pemilihan state dari populasi baru berdasarkan nilai
tertinggi hasil perhitungan fitness function
19
Algoritma Genetika
function Genetic-Algorithm(population, Fitness-Fn)
returns an individual
inputs:
population, a set of individuals
Fitness-Fn,
a function that measures the fitness of an individual
repeat
new_population <- empty set
for i=1 to Size(population) do
x <- Random-Selection(population, Fitness-Fn)
y <- Random-Selection(population, Fitness-Fn)
child <- Reproduce(x, y)
if (small random probability) then child <- Mutate(child)
add child to new_population
population <- new_population
until some individual is fit enough, or enough time has elapsed
return the best individual in population, according to Fitness-Fn
Sumber: [AIMA] Russel, Stuart J., Peter Norvig, "Artificial Intelligence, A Modern Approach" 3rd Ed.,
Prentice Hall, New Jersey, 2010
21
Algoritma Genetika
function Reproduce(x, y) returns an individual
inputs: x, y, parent individuals
n <- Length(x);
c <- random number from 1 to n
return
Append(Substring(x, 1, c), Substring(y, c+1, n))
Sumber: [AIMA] Russel, Stuart J., Peter Norvig, "Artificial Intelligence, A Modern Approach" 3rd Ed.,
Prentice Hall, New Jersey, 2010
22
24
Jadi untuk contoh data (1, 12) dan (2, 22) maka kromosom dengan nilai
error (hasil fitness function) yang lebih baik adalah [0, 0, 0, 2, 3, 6]
Kromosom tersebut dipilih untuk masuk dalam populasi berikutnya
26
Metode Seleksi
Roulette-wheel
Selection
Stochastic universal
sampling
Local selection
Truncation selection
Tournament Selection
Group Selection
Rank-based Fitness
Selection
Steady-State
Selection
Boltzmann Selection
Elitism
28
Operator Genetika
Crossover
Mengkombinasikan sebagian kromosom parent 1
dengan parent 2
Parent 1
Parent 2
Offspring 1
Offspring 2
100|0111
111|1000
1001000
1110111
(a|b)
(c|d)
(hasil ad)
(hasil cb)
Mutasi
Kromosom hasil perubahan 1 gen / karakter
1 0 0 0 1 1 1 menjadi 1 1 0 0 1 1 1 (perubahan di bit 2)
29
MUTASI
One-point
Two-point
Uniform
Arithmetic
Heuristic
Flip Bit
Boundary
Non-Uniform
Uniform
Gaussian
30
31