Diah Arifah P., S.Kom, M.T
ALGORITMA GENETIK
ALGORITMA GA
begin genetic algorithm;
generate initial population;
do
{
calculate fitness values;
perform reproduction;
recombine pairs;
apply mutation;
} while stopping criteria not met;
end genetic algorithm.
KOMPONEN-KOMPONEN UTAMA ALGORITMA GENETIKA
MUTASI
Jenis mutasi yang lain:
16
Binary encoding
( 11, 6, 9 ) 1011 0110 1001
Gene
Chromosome
Crossover
Mutation
1 0 0 1 1 1 1 0
1 0 1 1 0 0 1 0
1 0 1 1 1 1 1 0
1 0 0 1 0 0 1 0
1 0 0 1 1 1 1 0
1 0 0 1 1 0 1 0
KOMPONEN-KOMPONEN UTAMA ALGORITMA GENETIKA
CROSS OVER cycle cross over
Lengkapi child dengan pekerjaan yang tidak ada
Dengan cara yang sama diperoleh offspring2
CONTOH SOAL
Memaksimalkan jumlah "1" dalam sederat 5 karakter, dengan ketentuan :
Jumlah individu dalam 1 populasi = 4
Panjang kromosom = 5
Fungsi fitnes = jumlah gen dengan inputan "1"
Individu yang dibangkitkan melalui random adalah :
11001 ; 00001 ; 11111 ; 01110
Reproduksi yang dilakukan adalah :
Seleksi, dengan metode " Roulette Wheel Selection", dimana dilakukan random sebanyak 4x dengan hasil i1, i3,i3 dan i4
Menggunakan "One point cross over"
Mutasi yang dilakukan merubah 0 1 dan 1 0, mutasi dilakukan pada gen ke-1 untuk i1 dan gen ke-4 untuk i3
CONTOH SOAL
Initial Populasi (Pembangkitan Populasi)
Secara acak diperoleh :
Individual
Kromosom
Fitnes
1
11001
3
2
00001
1
3
11111
5
4
01110
3
CONTOH SOAL
Seleksi menggunakan Roulette Wheel Selection
Secara acak diperoleh :
Individual
Kromosom
Fitnes
1
11001
3
2
00001
1
3
11111
5
4
01110
3
CONTOH SOAL
MUTASI
i1: 11011 01011
i3: 11110 11100
CROSS OVER
for pair 1:
cross-over site: 3
110 " 01 11011
111 " 11 11101
for pair 2:
cross-over site: 1
1 " 1111 11110
0 " 1110 01111
the new individuals:
i1: 11011 i3: 11110
i2: 11101 i4: 01111
CONTOH SOAL
CHROMOSOME PAIRING
Assume:
As a result of the random drawing
(mate 1, mate 3)
and
(mate 2, mate 4)
are paired off for reproduction.
Pairs:
Pair 1: Pair 2:
11001 11111
11111 01110
Current mating pool:
mate 1: 11001 (i1)
mate 2: 11111 (i2)
mate 3: 11111 (i3)
mate 4: 01110 (i4)
CONTOH SOAL
Current Population:
i1: 11001, 3
i2: 00001, 1
i3: 11111, 5
i4: 01110, 3
Probability of each individual
being selected:
prob( i1 ) = 3/12 = 0.25
prob( i2 ) = 1/12 = 0.08
prob( i3 ) = 5/12 = 0.42
prob( i4 ) = 3/12 = 0.25
Total Fitness
TF = 3+1+5+3 = 12
KOMPONEN-KOMPONEN UTAMA ALGORITMA GENETIKA
CROSS OVER cycle cross over
Asumsi, pola dimulai dari posisi 1
Salin pekerjaan dari pola ke child
KOMPONEN-KOMPONEN UTAMA ALGORITMA GENETIKA
MUTASI
Proses mutasi berfungsi untuk menghasilkan individu baru yang mempunyai sifat baru dengan cara melakukan perubahan pada satu atau lebih gen.
Jenis mutasi dengan menentukan posisi mutasi:
Misalkan anak: 12345678, dan dipilih posisi mutasi pada gen 3 dan 7 akan menghasilkan anak: 12745638
KOMPONEN-KOMPONEN UTAMA ALGORITMA GENETIKA
SELEKSI dengan Mesin Roulette
Cara kerja metode ini adalah :
Dihitung nilai fitness dari masing-masing individu (fi, dimana I adalah individu ke-1 s/d n)
Dihitung total fitness semua individu
Dihitung probabilitas masing-masing individu
Dari probabilitas tersebut, dihitung jatah masing-masing individu pada angka 1 sampai 100
Dibangkitkan bilangna random antara 1 sampai 100
Dari bilangan random yang dihasilkan, ditentukan individu mana yang terpilih dalam proses seleksi
HAL-HAL YANG HARUS DIPERHATIKAN DALAM MENGGUNAKAN GA
Mendefinisikan individu
dimana individu menyatakan salah satu solusi (penyelesaian) yang mungkin dari permasalahan yang diangkat.
Mendefinisikan nilai fitness
yang merupakan ukuran baik-tidaknya sebuah individu atau baik-tidaknya solusi yang didapatkan.
Menentukan proses pembangkitan populasi awal.
Hal ini biasanya dilakukan dengan menggunakan pembangkitan acak seperti random-walk.
Menentukan proses seleksi yang akan digunakan.
Menentukan proses perkawinan silang (cross-over) dan mutasi gen yang akan digunakan.
DEFINISI DALAM ALGORITMA GENETIKA
Genotype (Gen)
sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Dalam algoritma genetika, gen ini bisa berupa nilai biner, float, integer maupun karakter, atau kombinatorial.
Alle
nilai dari gen Kromosom, gabungan gen-gen yang membentuk nilai tertentu.
Individu
menyatakan satu nilai atau keadaan yang menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat
Populasi
merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi.
Generasi
menyatakan satu-satuan siklus proses evolusi.
Nilai Fitness
menyatakan seberapa baik nilai dari suatu individu atau solusi yang didapatkan
KOMPONEN-KOMPONEN UTAMA ALGORITMA GENETIKA
CROSS OVER
Cross Over (Pindah Silang) merupakan salah satu operator dalam algoritma genetika yang melibatkan dua induk untuk enghasilkan keturunan yang baru.
Cross over dilakukan dengan melakukan pertukaran gen dari dua induk secara acak.
Proses cross over berfungsi untuk menghasilkan keturunan dari dua kromosom induk yang dipilih.
Kromosom anak yang dihasilkan merupakan kombinasi gen-gen yang dimiliki oleh kromosom induk.
Metode yang umum digunakan: one-point cross over, n-point cross over, cycle cross over.
KONSEP DASAR
Konsep dasar yang mengilhami timbulnya algoritma genetika adalah teori evolusi alam yang dikemukakan oleh Charles Darwin.
Algoritma genetika memanfaatkan prinsip proses evolusi untuk memecahkan suatu permasalahan optimasi.
Dalam proses evolusi, individu secara terus-menerus mengalami perubahan gen untuk menyesuaikan dengan lingkungan hidupnya. "Hanya individu-individu yang kuat yang mampu bertahan"
DEFINISI INDIVIDU
Individu bisa dikatakan sama dengan kromosom, yang merupakan kumpulan gen. Gen ini bisa biner, float, dan kombinatorial.
Individu menyatakan salah satu solusi yang mungkin. Misalkan dalam TSP individu menyatakan jalur yang ditempuh, dalam penentuan nilai maksimal dari F(x,y) individu menyatakan nilai (x,y).
KONSEP DASAR
Proses seleksi alamiah ini melibatkan perubahan gen yang terjadi pada individu melalui proses perkembangbiakan. Dalam algoritma genetika ini, proses perkembang-biakan ini menjadi proses dasar yang menjadi perhatian utama, dengan dasar berpikir: "Bagaimana mendapatkan keturunan yang lebih baik".
SIKLUS ALGORITMA GENETIKA
KOMPONEN-KOMPONEN UTAMA ALGORITMA GENETIKA
SELEKSI
Seleksi dilakukan untuk mendapatkancalon induk yang baik. "Induk yang baik akan menghasilkan keturunan yang baik".
Semakin tinggi nilai fitness suatu individu semakin besar kemungkinannya untuk terpilih.
Seleksi dapat dilakukan dengan menggunakan dua macam teknik, yaitu mesin roullete, dan turnamen.
KOMPONEN-KOMPONEN UTAMA ALGORITMA GENETIKA
MEMBANGKITKAN POPULASI AWAL
Membangkitkan populasi awal adalah proses membangkitkan sejumlah individu secara acak atau melalui prosedur tertentu. Syarat-syarat yang harus dipenuhi untuk menunjukkan suatu solusi harus benar-benar diperhatikan Dalam pembangkitan setiap individunya.
Dalam TSP, populasi menyatakan sejumlah solusi (jalur) yang dicari secara acak. Misalkan dalam populasi terdapat 4 individu, maka contoh populasi awal TSP dengan 7 kota adalah sebagai berikut:
NILAI FITNESS
Nilai fitness adalah nilai yang menyatakan baik tidaknya suatu solusi (individu).
Nilai fitness ini yang dijadikan acuan dalam mencapai nilai optimal dalam algoritma genetika.
Algoritma genetika bertujuan mencari individu dengan nilai fitness yang paling tinggi.
Dalam TSP, karena TSP bertujuan meminimalkan jarak, maka nilai fitnessnya adalah inversi dari jarak.
KOMPONEN-KOMPONEN UTAMA ALGORITMA GENETIKA
TEKNIK PENGKODEAN
Bagaimana mengkodekan gen dari kromosom, dimana gen merupakan bagian dari kromosom
Satu gen biasanya akan mewakili satu variabel
Gen dapat direpresentasikan dalam bentuk : bit, bilangan real, daftar aturan, elemen permutasi, elemen program atau representasi lainnya
Kromosom dapat direpresentasikan :
Click to edit Master title style
#
6/16/2015
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
#
6/16/2015
Click to edit Master title style
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
Click to edit Master text styles
#
6/16/2015
Click icon to add picture
Click to edit Master title style
Click to edit Master text styles
#
6/16/2015
Click to edit Master title style
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
#
6/16/2015
Click to edit Master title style
#
6/16/2015
Click to edit Master text styles
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
Click to edit Master text styles
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
Click to edit Master title style
#
6/16/2015
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
Click to edit Master title style
#
6/16/2015
Click to edit Master title style
Click to edit Master text styles
6/16/2015
#
Click to edit Master title style
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
#
6/16/2015
Click to edit Master subtitle style
Click to edit Master title style
6/16/2015
#
Click to edit Master title style
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
#
6/16/2015
24
6/16/2015
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
#