Teknik Kompilasi - Sekolah Tinggi Teknik Surabaya

advertisement
1
Genetic Algorithm
© Sekolah Tinggi Teknik Surabaya
1 populasi = n individu
1 individu = 1 kromosom
alle
1
0
1
1
gen
kromosom
© Sekolah Tinggi Teknik Surabaya
loci
2
» Fitness
Nilai yang menunjukkan kualitas sebuah kromosom/
individu.
contoh:
Fitness : jumlah soal yang salah
Fitness : nilai matematika dalam satu kelas
» Offspring
individu baru yang terbentuk dari regenerasi (mutasi
dan crossover).
3
© Sekolah Tinggi Teknik Surabaya
Petugas
Tugas
1
2
3
4
Budi (1)
1
5
3
3
Adi (2)
8
7
5
1
Amir (3)
4
6
4
6
Jono (4)
1
5
2
3
Dalam sebuah perusahaan terdapat 4 petugas, dengan 4 pekerjaan
yang berbeda. Terdapat biaya yang berbeda untuk setiap petugas
pada setiap posisi/ pekerjaan.
Misal: jika Budi (pekerja 1) mengerjakan pekerjaan 2, maka biaya
yang harus dikeluarkan adalah 5 satuan.
Masalahnya: mencari biaya minimum untuk 4 pekerjaan tersebut.
© Sekolah Tinggi Teknik Surabaya
4
» Berapakah jumlah gen penyusun
kromosomnya?
» Apa yang menjadi Gen-nya?
» Apa yang menjadi Alle-nya?
» Apa fitness-nya?
» Bagaimana cara menghitung
fitnessnya?
5
© Sekolah Tinggi Teknik Surabaya
» Gen: Petugas
» Alle: Tugas
» Fitness: Biaya terkecil
1
4
3
2
Petugas 2
Mendapat pekerjaan ke-4
6
© Sekolah Tinggi Teknik Surabaya
» Menggabungkan pasangan (2) kromosom
induk untuk menghasilkan (2) individu baru.
» Latar belakang:
Melakukan persilangan antara dua kromosom
induk untuk menghasilkan individu-individu
baru yang (harapannya) lebih baik dari
induknya.
7
© Sekolah Tinggi Teknik Surabaya
Jika antar gen dalam satu kromosom boleh
memiliki nilai kembar
» One Point
» Two Point
» Uniform
» Arithmatic
» Heuristic
Referensi: http://www.nd.com/products/genetic/crossover.htm
© Sekolah Tinggi Teknik Surabaya
8
Contoh:
» Sebuah kromosom tersusun atas 8 gen
» Pilih 2 kromosom sebagai parent
» Random 1 – 8  misal hasilnya 5 maka :
Parent 1: 11001|010
Parent 2: 00100|111
» Tukarkan bagian yang dipisahkan oleh bilangan
random tersebut sehingga diperoleh:
Offspring 1: 11001|111
Offspring 2: 00100|010
© Sekolah Tinggi Teknik Surabaya
9
Contoh:
» Sebuah kromosom tersusun atas 8 gen
» Pilih 2 kromosom sebagai parent
» Ambil dua titik random  misal 3 dan 6 maka :
Parent 1: 110|010|10
Parent 2: 001|001|11
» Tukarkan bagian yang dipisahkan oleh bilangan
random tersebut sehingga diperoleh:
Offspring 1: 110|001|10
Offspring 2: 001|010|11
10
© Sekolah Tinggi Teknik Surabaya
Jika setiap gen dalam satu kromosom tidak
boleh memiliki nilai kembar
» Partially-Matched Crossover (PMX)
» Cycle Crossover (CX)
» dsb
11
© Sekolah Tinggi Teknik Surabaya
1. Ambil 2 titik secara random
A = 614|829|0735
B = 729|361|5480
2. Silangkan isi dari A dan B
A’ = 614|361|0735
B’ = 729|829|5480
3. Beri status Hole (H) pada gen yang nilainya kembar
dengan bagian yang baru saja ditukarkan
A’ = HH4|361|07H5
B’ = 7HH|829|54H0
© Sekolah Tinggi Teknik Surabaya
12
4. Untuk masing-masing H
» Cek berapakah nilai pada posisi tersebut di PARENT
A’ = HH4|361|07H5
B’ = 7HH|829|54H0
H[1] = 6  isi awalnya dilihat dari A: 614|829|0735
» Cari pada PARENT lawan, berada di index berapakah
angka 6 tersebut.
B: 729|361|5480  pada index 4
» Maka ambil angka pada index 4 dari A
A: 614|829|0735
» Ubah H[1] dengan nilai tersebut
A’ = 2H4|361|07H5
© Sekolah Tinggi Teknik Surabaya
13
1.
Bentuk satu pola cycle dari kedua parent
A:531247698
B:421369875
pola: 5 4 6 8 5
2.
Bentuk offspring dari pola tersebut
A’ : 5 _ _ _ 4 _ 6 _ 8
B’ : 4 _ _ _ 6 _ 8 _ 5
3.
Cari nilai-nilai yang belum ada pada offspring pertama dari
parent 2 dan sebaliknya
Dari B : 2 1 3 9 7
Dari A : 3 1 2 7 9
4.
Lengkapi offspring
Sehingga A’ : 5 2 1 3 4 9 6 7 8
B’ : 4 3 1 2 6 7 8 9 5
© Sekolah Tinggi Teknik Surabaya
14
» Flip Bit
A :100111001
A’ : 0 1 1 0 0 0 1 1 0
» Boundary
A :13|5674|980
A’ : 1 3 | 4 7 6 5 | 9 8 0
» Non-Uniform
» Uniform
» Gaussian
© Sekolah Tinggi Teknik Surabaya
15
» Pendekatan Stokastik
contoh: Roulette Wheel
» Pendekatan Deterministik
contoh: Elistist Selection (Elitism)
» Pendekatan (Gabungan) Stokastik
Deterministik
contoh: Tournament Selection
16
© Sekolah Tinggi Teknik Surabaya
» Bentuk probabilitas dari nilai fitness
dari masing-masing kromosom
» Bentuk sebuah bilangan random
» Cari kromosom dengan probabilitas
fitness >= nilai random yang terdekat
17
© Sekolah Tinggi Teknik Surabaya
» Elitism only means that the most fit
handful of individuals are guaranteed a
place in the next generation- generally
without undergoing mutation.
» They should still be able to be selected
as parents, in addition to being brought
forward themselves.
» It suggests duplicating the most fit
individual gets two reserved slots in the
next generation.
© Sekolah Tinggi Teknik Surabaya
18
Download