Algoritma Genetika 1/35
Pengantar Kecerdasan Buatan (AK045218)
Algoritma Genetika
PendahuluanStruktur Umum
Komponen UtamaSeleksi
RekombinasiMutasi
Algoritma Genetika Sederhana
ReferensiSri Kusumadewi – bab 9Luger & Subblefield – bab 12.8
Algoritma Genetika 2/35
Pengantar Kecerdasan Buatan (AK045218)
Pendahuluan
• Algoritma Genetika adalahalgoritma pencarian heuristikyang didasarkan atasmekanisme evolusi biologis.
• Keberagaman pada evolusibiologis adalah variasi darikromosom antar individuorganisme. Variasi kromsomakan mempengaruhi lajureproduksi dan tingkatkemampuan oraginisme untuktetap hidup.
Algoritma Genetika 3/35
Pengantar Kecerdasan Buatan (AK045218)
• Ada 4 kondisi yang sangatmempengaruhi prosesevolusi, yaitu :
1. Kemampuan organismeuntuk melakukan reproduksi
2. Keberadaan populasiorganisme yang bisamelakukan reproduksi
3. Keberagaman organismedalam suatu populasi
4. Perbedaan kemampuanuntuk survive
Algoritma Genetika 4/35
Pengantar Kecerdasan Buatan (AK045218)
• Algoritma genetika pertamakali diperkenalkan oleh John Holland dari UniversitasMichigan (1975), Setiapmasalah yang berbentukadaptasi dapat diformulasikandalam terminologi genetika
Algoritma Genetika 5/35
Pengantar Kecerdasan Buatan (AK045218)
Struktur Umum
• Populasi, istilah pada teknikpencarian yang dilakukan sekaligusatas sejumlah solusi yang mungkin
• Kromosom, individu yang terdapatdalam satu populasi danmerupakan suatu solusi yang masih berbentuk simbol.
• Generasi, populasi awal dibangunsecara acak sedangkan populasiselanjutnya merupakan hasilevolusi kromosom-kromosommelalui iterasi
Algoritma Genetika 6/35
Pengantar Kecerdasan Buatan (AK045218)
• Fungsi Fitness, alat ukur yang digunakan untuk proses evaluasikromosom. Nilai fitness dari suatukromosom akan menunjukkankualitas kromosom dalam populasitersebut.
• Generasi berikutnya dikenaldengan anak (offspring) terbentukdari gabungan 2 kromosomgenerasi sekarang yang bertindaksebagai induk (parent) denganmenggunakan operator penyilang(crossover).
• Mutasi, operator untuk memodi-fikasi kromosom.
Algoritma Genetika 7/35
Pengantar Kecerdasan Buatan (AK045218)
Komponen Utama
• Ada 6 komponen utama algoritmagenetika :
1. Teknik Penyandian- Teknik penyandian meliputi
penyandian gen dari kromo-som- Gen merupakan bagian dari
kromosom, satu gen biasanya akanmewakili satu variabel
- Gen dapat direpresentasikan dalambentuk : string bit, pohon, array bilangan real, daftar aturan, elemenpermutasi, elemen program dan lain-lain.
Algoritma Genetika 8/35
Pengantar Kecerdasan Buatan (AK045218)
− Kromosom dapat direpresentasi-kan dengan menggunakan :
• String bit : 10011, 11101• Bilangan Real : 65.65, 562.88• Elemen Permutasi : E2, E10• Daftar Aturan : R1, R2, R3• Elemen Program :
pemrograman genetika• Struktur lainnya
2. Prosedur Inisialisasi- Ukuran populasi tergantung
pada masalah yang akandipecahkan dan jenisoperator genetika yang akandiimplementasikan.
Algoritma Genetika 9/35
Pengantar Kecerdasan Buatan (AK045218)
− Setelah ukuran populasi di-tentukan, kemudian harus di-lakukan inisialisasi terhadapkromosom yang terdapat padapopulasi tersebut
− Inisialisasi kromosom dilaku-kansecara acak, namun demikianharus tetap memper-hatikandomain solusi dan kendalapermasalahan yang ada
3. Fungsi EvaluasiAda 2 hal yang harus di-lakukandalam melakukan evaluasikromosom yaitu : evaluasi fungsiobjektif dan konversi fungsiobjektif ke dalam fungsi fitness
Algoritma Genetika 10/35
Pengantar Kecerdasan Buatan (AK045218)
4. Seleksi- Bertujuan untuk memberikan
kesempatan reproduksi yang lebih besar bagi anggotapopulasi yang paling fit
- Ada beberapa metode seleksidari induk, antara lain :
• Rank-based fitness assigment• Roulette wheel selection• Stochastic universal sampling• Local selection• Truncation selection• Tournament selection
Algoritma Genetika 11/35
Pengantar Kecerdasan Buatan (AK045218)
5. Operator GenetikaAda 2 operator genetika :
a. Operator untuk melakukanrekombinasi, yang terdiri dari:
Rekombinasi bernilai real1. Rekombinasi diskrit2. Rekombinasi intermediate3. Rekombinasi garis4. Rekombinasi garis yang diperluasRekombinasi bernilai biner(Crossover)1. Crossover satu titik2. Crossover banyak titik3. Crossover seragamCrossover dengan permutasi
Algoritma Genetika 12/35
Pengantar Kecerdasan Buatan (AK045218)
b. MutasiMutasi bernilai realMutasi bernilai biner
6. Penetuan ParameterParameter adalah parameter kontrol algoritma genetika, yaitu : ukuran populasi (popsize), peluang crossover (pc) danpeluang mutasi (pm).Rekomendasi menentukan nilaiparameter :
Untuk permasalahan yang memilikikawasan solusi cukup besar, De Jong merekomendasikan nilaiparameter : (popsize; pc; pm) = (50;0,6;0,001)
Algoritma Genetika 13/35
Pengantar Kecerdasan Buatan (AK045218)
Bila rata-rata fitness setiapgenerasi digunakan sebagaiindikator, maka Grefenstettemerekomendasikan :(popsize; pc; pm) =(30;0,95;0,01)
Bila fitness dari individu terbaikdipantau pada setiap generasi, maka usulannya adalah :(popsize; pc; pm) = (80;0,45;0,01)Ukuran populasi sebaiknya tidaklebih kecil dari 30, untuksembarang jenis permasalahan
Algoritma Genetika 14/35
Pengantar Kecerdasan Buatan (AK045218)
Seleksi
• Seleksi akan menentukan indi-vidu-individu mana saja yang akan dipilih untuk dilakukan re-kombinasi dan bagaimana off-spring terbentuk dari individu -individu terpilih tersebut.
• Langkah pertama : pencariannilai fitness
• Langkah kedua : Nilai fitness yang diperolah digunakan pa-da tahap-tahap seleksiselanjutnya
Algoritma Genetika 15/35
Pengantar Kecerdasan Buatan (AK045218)
• Ada beberapa definisi yang bias digunakan untuk melaku-kan perbandingan terhadapbeberapa metode yang akandigunakan, antara lain :
Selective Pressure : probabilitas dari individu terbaikyang akan diseleksi dibanding-kan dengan rata-rata probabilitasdari semua individu yang diseleksiBias : perbedaan absolut antara
fitness ternormalisasi dari suatuindividu dan probabilitasreproduksi yang diharapkan
Algoritma Genetika 16/35
Pengantar Kecerdasan Buatan (AK045218)
Spread : range nilaikemungkinan untuk sejumlah off-spring dari suatu individuLoss of diversity : proposi dari
individu-individu dalam suatu po-pulasi yang tidak terseleksi se-lama fase seleksiSelection intensity : nilai fitness
rata-rata yang diharapkan dalamsuatu populasi setelah dilakukanseleksi (menggunakan distribusiGauss ternormalisasi)Selection variance : variansi
yang diharapkan dari distribusifitness dalam populasi setelahdilakukan seleksi (menggunakandistribusi Gauss ternormalisasi)
Algoritma Genetika 17/35
Pengantar Kecerdasan Buatan (AK045218)
1. Rank-based Fitness• Populasi diurutkan menurut nilai
objektifnya. Nilai fitness dari tiap-tiapindividu hanya tergantung pada posisiindi-vidu tersebut dalam urutan, dantidak dipengaruhi oleh nilai objektifnya.
2. Roulette Wheel Selection• Istilah lain adalah stochastic sampling
with repalcement. • Individu-individu dipetakan dalam suatu
segmen garis secara berurutansedemikian hingga tiap-tiap segmenindividu memiliki ukuran yang samadengan ukuran fitnessnya
• Sebuah bilangan random di-bangkitkandan individu yang memiliki segmendalam kawasan segmen dalamkawasan bilangan random tersebutakan terseleksi. Proses ini berulanghingga didapatkan sejumlah individuyang diharapkan
Algoritma Genetika 18/35
Pengantar Kecerdasan Buatan (AK045218)
3. Stocastic Universal Sampling• Memiliki nilai bias nol dan penyebaran
yang minimum• Individu-individu dipetakan dalam suatu
segmen garis secara berurutsedemikian hingga tiap-tiap segmenindividu memiliki ukuran yang samadengan ukuran fitnessnya sepertihalnya pada seleksi roda roulette. Kemudian diberikan sejumlah pointer sebanyak individu yang ingin diseleksipada garis tersebut.
• Andaikan N adalah jumlah individuyang akan diseleksi, maka jarak antarpointer adalah 1/N, dan posisi pointer pertama diberikan secara acak padarange [1, 1/N]
Algoritma Genetika 19/35
Pengantar Kecerdasan Buatan (AK045218)
4. Seleksi Lokal• Setiap individu yang berada di
dalam konstrain tertentu disebutdengan nama lingkungan lokal. Interaksi antar individu hanyadilakukan di dalam wilayahtersebut. Lingkungan tersebutditetapkan sebagai strukturdimana populasi tersebutterdistribusi. Lingkungan tersebutjuda dapat dipandang sebagaikelompok pasangan-pasanganyang potensial.
• Langkah pertama adalahmenyeleksi separuh pertama daripopulasi yang berpasangansecara random. Kemudianlingkungan baru tersebutdiberikan pada setiap individuyang terseleksi.
Algoritma Genetika 20/35
Pengantar Kecerdasan Buatan (AK045218)
• Struktur lingkungan pada seleksilokal dapat berbentuk :
Linear : full ring dan half ringDimensi-2:- full cross dan half cross- full star dan half starDimensi-3 dan struktur yang lebih
kompleks yang merupakan kombinasidari kedua struktur diatas
• Jarak antara individu denganstruktur tersebut akan sangatmenentukan ukuran lingkungan. Individu yang terdapat dalamlingkungan dengan ukuran yang lebih kecil, akan lebih terisolasidibandingkan dengan individu yang terletak pada lingkungan denganukuran yang lebih besar
Algoritma Genetika 21/35
Pengantar Kecerdasan Buatan (AK045218)
5. Truncation Selection• Seleksinya adalah buatan• Digunakan oleh populasi yang
jumlahnya sangat besar• Individu-individu diurutkan
berdasarkan nilai fitnessnya. Hanya individu yang terbaik sajayang akan diseleksi sebagaiinduk.
• Parameter yang digunakanadalah suatu nilai ambang truncyang mengindikasikan ukuranpopulasi yang akan diseleksisebagai induk yang berkisarantara 50% - 10%.
• Individu-individu yang adadibawah nilai ambang ini tidakakan menghasilkan keturunan
Algoritma Genetika 22/35
Pengantar Kecerdasan Buatan (AK045218)
6. Tournament Selection• Ditetapkan suatu nilai tour
untuk individu-individu yang dipilih secara random darisuatu populasi.
• Individu-individu yan terbaikdalam kelomppok ini akandiseleksi sebagai induk
• Parameter yang digunakanadalah ukuran tour yang bernilai antara 2 sampai N (jumlah individu dalampopulasi)
Algoritma Genetika 23/35
Pengantar Kecerdasan Buatan (AK045218)
Rekombinasi1. Rekombinasi Diskret• Menukar nilai variabel antar
kromosom induk.• Misal ada 2 individu dengan 3
variabel, yaitu :induk 1 : 12 25 5induk 2 : 123 4 34
• Untuk tiap-tiap variabel indukyang menyumbangkanvariabelnya ke anak yang dipilihsecara random denganprobabilitas yang samasample 1 : 2 2 1sample 2 : 1 2 1
Algoritma Genetika 24/35
Pengantar Kecerdasan Buatan (AK045218)
Setelah rekombinasi, kromosom-kromosom baru yang terbentuk :anak 1 : 123 4 5anak 2 : 1 4 5
• Rekombinasi dapat digunakanuntuk sembarang variabel (biner, real, atau simbol)
2. Rekombinasi Menengah• Metode rekombinasi yang hanya
dapat digunakan untuk varibelreal
• Nilai variebel anak dipilih disekitar dan antara nilai-nilaivariabel induk
Algoritma Genetika 25/35
Pengantar Kecerdasan Buatan (AK045218)
• Anak dihasilkan menurutaturan sebagai berikut :anak = induk 1 + alpha (induk2 – induk 1)
dengan alpha adalah faktorskala yang dipilih secararandom pada interval [-d, 1+d], biasanya d=0,25.
• Tiap-tiap variabel pada anakmerupakan hasil kombinasivariabel-variabel menurutaturan diatas dengan nilaialpha dipilih ulang untuk tiapvariabel.
Algoritma Genetika 26/35
Pengantar Kecerdasan Buatan (AK045218)
3. Rekombinasi Garis• Hampir sama denga rekombinasi
menengah, hanya saja nilai alpha untuksemua variabel sama.
• Misalkan ada 2 kromosom dengan 3 variabel :induk 1 : 12 25 5induk 2 : 123 4 34
• Untuk tiap-tiap variabel induk yang menyumbangkan vaiabelnya ke anakdipilih secara random denganprobabilitas yang samasample 1 : 0,5sample 2 : 0,1
• Setelah rekmbinasi kromosom-kromosom baru yang terbentukanak 1 : 67,5 14,5 19,5anak 2 : 23,1 22,9 7,9
Algoritma Genetika 27/35
Pengantar Kecerdasan Buatan (AK045218)
4. Penyilangan satu titik• Posisi penyilangan k (k=1,2,…,N-
1) dengan N = panjangkromosom diseleksi secararandom.
• Variabel-variabel ditukar antarkromosom pada titik tersebutuntuk menghasilkan anak
• Misalkan ada 2 kromosomdengan panjang 12 :induk 1 : 0 1 1 1 0 | 0 1 0 1 1 1 0induk 2 : 1 1 0 1 0 | 0 0 0 1 1 0 1
• Posisi menyilang yang terpilih: misalkan 5
• Setelah penyilangan, diperlehkromosom-kromosom baru :anak 1 : 0 1 1 1 0 | 0 0 0 1 1 0 1anak 2 : 1 1 0 1 0 | 0 1 0 1 1 1 0
Algoritma Genetika 28/35
Pengantar Kecerdasan Buatan (AK045218)
5. Penyilangan banyak titik• Pada penyilangan ini, m
posisi penyilangan ki(k=1,2,…,N-1,i=1,2,…,m) dengan N = panjangkromosom diseleksi secararandom dan tidakdiperbolehkan ada posisiyang sama, serta diurutkannaik.
• Variabel-variabel ditukarantar kromosom pada titiktersebut untuk menghasilkananak.
Algoritma Genetika 29/35
Pengantar Kecerdasan Buatan (AK045218)
6. Penyilangan Seragam• Setiap lokasi memiliki potensi
sebagai tempat penyilangan.• Sebuah mask penyilangan
dibuat sepanjang panjangkromosom secara random yang menunjukan bit-bit dalam mask yang manainduk akan mensupply anakdengan bit-bit yang ada.
• Induk yang mana yang akanmenyumbangkan bit ke anakyang dipilih secara random dengan probabilitas yang sama
Algoritma Genetika 30/35
Pengantar Kecerdasan Buatan (AK045218)
7. Penyilangan denganpermutasi
• Dengan permutasi, kromosom-kromosom anakdiperoleh dengan caramemilih sub-barisan saututour dari satu induk dengantetap menjaga urutan danposisi sejumlah kota yang mungkin terhadap induk yang lainnya.
Algoritma Genetika 31/35
Pengantar Kecerdasan Buatan (AK045218)
Mutasi
• Mutasi Bilangan RealOperator mutasi untukbilangan real dapat ditetapkansebagai :
1. Variabel yang dimutasi = variabel ± range * delta;
2. Range = 0,5 * domain variabel3. Delta = Σ(ai * 2-i); ai = 1
dengan probabilitas 1/m, selainitu ai = 0, dengan m = 20
Algoritma Genetika 32/35
Pengantar Kecerdasan Buatan (AK045218)
• Mutasi BinerLangkah-langkah mutasi :
1. Hitung jumlah gen padapopulasi
2. Pilih secara acak gen yang akan dimutasi
3. Tentukan kromosom dari genyang terpilih untuk dimutasi
4. Ganti nilai gen (0 ke 1 atau 1 ke 0) dari kromosom yang akan dimutasi tersebut
Algoritma Genetika 33/35
Pengantar Kecerdasan Buatan (AK045218)
Algoritma GenetikaSederhana
• Langkah-langkah :1. Generasi = 02. Inisialisasi populasi awal, P (generasi), secara
acak3. Evaluasi nilai fitness pada setiap individu dalam
P (generasi)4. Kerjakan langkah-langkah berikut hingga
generasi mencapai maksimum generasi :a. generasi = generasi +1b. Seleksi populasi tersebut untukmendapatkan kandidat induk, P’(generasi)c. Lakukan crossover pada P’(generasi)d. Lakukan mutasi pada P’(generasi)e. Lakukan evaluasi fitness setiap individu padaP’(generasif. Bentuk populasi baru : P(generasi) = {P(generasi-1) yang survive, P’(generasi)
Algoritma Genetika 34/35
Pengantar Kecerdasan Buatan (AK045218)
• Metode seleksi roda rouletteAlgoritma seleksi roda roulette:1. Hitung total fitness (F)2. Hitung fitness relatif tiap
individu3. Hitung fitness komulatif4. Pilih induk yang akan menjadikandidat untuk di crossover
• CrossoverMetode yang sering digunakanadalah penyilangan satu titik
• MutasiMutasi yang digunakan adalahmengubah secara acak nilai suatubit pada posisi tertentu
Algoritma Genetika 35/35
Pengantar Kecerdasan Buatan (AK045218)
• Diagram alir algoritma genetikasederhana
Bangkitkanpopulasi awal
Evaluasi fungsitujuan
Apakah kriteriaoptimasi tercapai?
Individu-individu terbaik
Seleksi
Rekombinasi
Mutasi
Ya
Bangkitkanpopulasi baru
Tidak
Mulai
Hasil