Algoritma Genetika PENGERTIAN Algoritma genetika adalah algoritma pencarian

  • Slides: 37
Download presentation
Algoritma Genetika

Algoritma Genetika

PENGERTIAN Algoritma genetika adalah algoritma pencarian yang berdasarkan pada mekanisme sistem natural yakni genetik

PENGERTIAN Algoritma genetika adalah algoritma pencarian yang berdasarkan pada mekanisme sistem natural yakni genetik dan seleksi alam. Dalam aplikasi algoritma genetik, variabel solusi dikodekan kedalam struktur string yang merepresentasikan barisan gen, yang merupakan karakteristik dari solusi problem.

PENGERTIAN Berbeda dengan teknik pencarian konvensional, algoritma genetik berangkat dari himpunan solusi yang dihasilkan

PENGERTIAN Berbeda dengan teknik pencarian konvensional, algoritma genetik berangkat dari himpunan solusi yang dihasilkan secara acak. Himpunan ini disebut populasi, sedangkan setiap individu dalam populasi disebut kromosom yang merupakan representasi dari solusi.

PENGERTIAN Kromosom-kromosom berevolusi dalam suatu proses iterasi yang berkelanjutan yang disebut generasi. Pada setiap

PENGERTIAN Kromosom-kromosom berevolusi dalam suatu proses iterasi yang berkelanjutan yang disebut generasi. Pada setiap generasi, kromosom dievaluasi berdasarkan suatu fungsi evaluasi (Gen dan Cheng, 1997). Setelah beberapa generasi maka algoritma genetika akan konvergen pada kromosom terbaik, yang diharapkan merupakan solusi optimal (Goldberg, 1989).

Pengkodean adalah suatu teknik untuk menyatakan populasi awal sebagai calon solusi suatu masalah ke

Pengkodean adalah suatu teknik untuk menyatakan populasi awal sebagai calon solusi suatu masalah ke dalam suatu kromosom sebagai suatu kunci pokok persoalan ketika menggunakan algoritma genetika. Berdasarkan jenis simbol yang digunakan sebagai nilai suatu gen, metode pengkodean dapat diklasifikasikan sebagai berikut : pengkodean biner, bilangan riil, bilangan bulat, struktur data. Operator Genetika digunakan setelah proses evaluasi tahap pertama untuk membentuk suatu populasi baru dari generasi sekarang. Operator-operator tersebut adalah operator seleksi, crossover, dan mutasi.

DEFINISI INDIVIDU � Dari gambar terlihat bahwa penyelesaian berada pada nilai 0<x<1. Jadi dengan

DEFINISI INDIVIDU � Dari gambar terlihat bahwa penyelesaian berada pada nilai 0<x<1. Jadi dengan menggunakan 8 bit biner didefinisikan: � Individu dinyatakan dalam 8 gen biner, dengan batas 0 sampai dengan 1, berarti 1 bit setara dengan 2 -8. Sebagaicontoh: � 10001001 = (128+8+1)/256 = 0. 5352 � 00110100 = (4+16+32)/256 = 0. 2031 � 01010010 = (2+16+64)/256 = 0. 3203

MEMBANGKITKAN POPULASI AWAL Membangkitkan sejumlah individu, misalkan satu populasi terdiri dari 10 individu, maka

MEMBANGKITKAN POPULASI AWAL Membangkitkan sejumlah individu, misalkan satu populasi terdiri dari 10 individu, maka dibangkitkan 10 individu dengan 8 gen biner yang dibangkitkan secara acak.

SELEKSI � � Seleksi adalah proses pemilihan calon induk, dalamproses seleksi ini terdapat beberapa

SELEKSI � � Seleksi adalah proses pemilihan calon induk, dalamproses seleksi ini terdapat beberapa metode yang bisa digunakan antara lain: Mesin. Roulette (Roulette Wheel), Competition dan. Tournament. Dalam contoh ini digunakan Mesin Roullete yang memang metode paling dasar dan model acaknya uniform. Seleksi dilakukan dengan menggunakan prosentasi fitness setiap individu, dimana setiap individu mendapatkan luas bagian sesuai dengan prosentase nilai fitnessnya.

CROSS-OVER � Cross-Over (Perkawinan Silang) merupakan proses mengkombinasikan dua individu untuk memperoleh individu baru

CROSS-OVER � Cross-Over (Perkawinan Silang) merupakan proses mengkombinasikan dua individu untuk memperoleh individu baru yang diharapkan mempunyai fitness lebih baik. Tidak semua pasangan induk mengalami proses cross-over, banyaknya pasangan induk yang mengalami cross-over ditentukan dengan nilai probabilitas cross-over.

MUTASI GEN Mutasi gen adalah proses penggantian gen dengan nilai inversinya, gen 0 menjadi

MUTASI GEN Mutasi gen adalah proses penggantian gen dengan nilai inversinya, gen 0 menjadi 1 dan gen 1 menjadi 0. Proses ini dilakukan secara acak pada posisi gen tertentu pada individu-individu yang terpilih untuk dimutasikan. Banyaknya individu yang mengalami mutasi ditentukan oleh besarnya probabilitas mutasi.

ALGORITMA GENETIKA UNTUK MASALAH OPTIMALISASI Representasi dan Inisialisai Populasi Awal Representasi merupakan bentuk hasil

ALGORITMA GENETIKA UNTUK MASALAH OPTIMALISASI Representasi dan Inisialisai Populasi Awal Representasi merupakan bentuk hasil akhir dari masalah yang akan diselesaikan. Representasi dari kromosom tersebut dapat dilihat pada gambar berikut ini : Kromosom 1 p 1 P 3 p 4 . . p 2 Fitness p 4 p 5. . Kromosom 2 Fungsi Obyektif / p 2 Fungsi fitness yang digunakan untuk mengevaluasi kebaikan suatu kromosom dalam penelitian ini

Parameter Algoritma Genetika dalam Program 1. Operator Seleksi memegang peranan penting dalam keberhasilan algoritma

Parameter Algoritma Genetika dalam Program 1. Operator Seleksi memegang peranan penting dalam keberhasilan algoritma genetika. Prosedur seleksinya adalah : 1) Hitung total fitness Total fitness = ∑ F k k = 1, 2, 3, . . . , popsize 2) Hitung fitness relatif tiap individu P = F k 3) 4) k Total Fitness Hitung fitness kumulatif : qi = pi Pilih induk yang akan menjadi kandidat untuk di crossover dengan cara : i. Bangkitkan bilangan random r ii. Jika qk ≤ r dan qk+1 ≤ r maka pilihlah kromosom ke (k+1) sebagai kandidat induk

ALGORITMA GENETIKA UNTUK MENCARI NAMA SECARA ACAK • Sebuah kata ditentukan sebagai target, misalnya:

ALGORITMA GENETIKA UNTUK MENCARI NAMA SECARA ACAK • Sebuah kata ditentukan sebagai target, misalnya: ‘BASUKI’. Bila setiap huruf diberi nilai dengan nilai urut alfabet, maka targetnya bisa dinyatakan sebagai besaran numerik: Target=[2 1 18 21 11 9] • Komputer akan membangkitkan katadengan jumlah huruf yang sama dengan target secara acak, terus-menerus hingga diperoleh kata yang sama dengan kata target.

DEFINISI INDIVIDU DAN FITNESS • Individu adalah satu kata yang muncul dari proses acak

DEFINISI INDIVIDU DAN FITNESS • Individu adalah satu kata yang muncul dari proses acak tersebut, misalnya: AGHSQE atau [1 7 8 19 17 5] • Satu individu mempunyai n gen integer yang setiap gennya menyatakan no urut alfabet. • Nilai fitness adalah inversi dari perbedaan antara nilai kata yang muncul (individu) dan target yang ditentukan. Misalnya kata yang muncul: AGHSQE dan targetnya BASUKI maka, nilai perbedaannya: E = |1 -2| + |7 -1| + |8 -19| + |19 -21| + |17 -11| + |5 -9| = 1+6+11+2+6+4 = 30 Fitness = (26)(6) -30 = 156 -30 = 126 • Fitness didefinisikan: fitness (k) = 156 - ∑| g (k)n - t n | Dimana gn adalah gen ke n dari individu ke k dan gen ke n dari target.

PEMBANGKITAN POPULASI AWAL

PEMBANGKITAN POPULASI AWAL

SELEKSI, CROSS-OVER, DAN MUTASI

SELEKSI, CROSS-OVER, DAN MUTASI

HASIL ALGORITMA GENETIKA

HASIL ALGORITMA GENETIKA

CONTOH 2 Berikut contoh persoalan TSP yang diselesaikan dengan menggunakan algoritma genetika. Terdapat 5

CONTOH 2 Berikut contoh persoalan TSP yang diselesaikan dengan menggunakan algoritma genetika. Terdapat 5 buah kota yang akan dilalui oleh seorang pedangang keliling, misalnya Kota A, B, C, D, E. Perjalanan dimulai dari kota A dan berakhir di kota A. Jarak antar kota diperlihatkan pada graf di bawah ini:

Persoalan TSP tersebut akan diselesaikan dengan menggunakan algoritma genetika. Kriteria berhenti ditentukan terlebih dahulu

Persoalan TSP tersebut akan diselesaikan dengan menggunakan algoritma genetika. Kriteria berhenti ditentukan terlebih dahulu yaitu apabila setelah dalam beberapa generasi berturut-turut diperoleh nilai fitnessyang terendah tidah berubah. Pemilihan nilai fitnessyang terendah sebagai syarat karena nilai tersebut yang merepresentasikan jarak terdekat yang dicari pada persoalan TSP ini. Ada 4 kota yang akan menjadi gen dalam kromosom yaitu kota-kota selain kota asal.

1. INISIALISASI Misalkan kita menggunakan 6 buah populasi dalam satu generasi, yaitu Kromosom[1]= [B

1. INISIALISASI Misalkan kita menggunakan 6 buah populasi dalam satu generasi, yaitu Kromosom[1]= [B D E C] Kromosom[2]= [D B E C] Kromosom[3]= [C B D E] Kromosom[4]= [E B C D] Kromosom[5]= [E C B D] Kromosom[6]= [C D E B]

2. EVALUASI KROMOSOM Kita akan menghitung nilai fitnessdari tiap kromosom yang telah dibangkitkan: Fitness[1]=

2. EVALUASI KROMOSOM Kita akan menghitung nilai fitnessdari tiap kromosom yang telah dibangkitkan: Fitness[1]= AB+BD+DE+EC+CA = 7 + 2 + 6 + 3 + 5 = 23 Fitness[2]= AD+DB+BE+EC+CA = 9 + 2 + 8 + 3 + 5 = 27 Fitness[3]= AC+CB+BD+DE+EA = 5 + 7 + 2 + 6 + 9 = 29 Fitness[4]= AE+EB+BC+CD+DA = 9 + 8 + 7 + 4 + 9 = 37 Fitness[5]= AE+EC+CB+BD+DA = 9 + 3 + 7 + 2 + 9 = 30 Fitness[6]= AC+CD+DE+EB+BA = 5 + 4 + 6 + 8 + 7 = 30

3. SELEKSI KROMOSOM Oleh karena pada persoalan TSP yang diinginkan yaitu kromosom dengan fitnessyang

3. SELEKSI KROMOSOM Oleh karena pada persoalan TSP yang diinginkan yaitu kromosom dengan fitnessyang lebih kecil akan mempunyai probabilitas untuk terpilih kembali lebih besar maka digunakan inverse.

LANJUTAN Untuk mencari probabilitas kita menggunakan rumus berikut :

LANJUTAN Untuk mencari probabilitas kita menggunakan rumus berikut :

LANJUTAN Dari probabilitas di atas dapat terlihat bahwa kromosom ke-1 mempunyai fitnesspaling kecil mempunyai

LANJUTAN Dari probabilitas di atas dapat terlihat bahwa kromosom ke-1 mempunyai fitnesspaling kecil mempunyai probabilitas untuk terpilih pada generasi selanjutnya lebih besar dari kromosom lainnya. Untuk proses seleksi kita menggunakan roulete- wheel, untuk itu kita terlebih dahulu mencari nilai kumulatif dari probabilitasnya.

LANJUTAN Proses roulete-wheeladalah membangkitkan nilai acak R antara 0 -1. Jika R[k]<C[k]maka kromosom ke-k

LANJUTAN Proses roulete-wheeladalah membangkitkan nilai acak R antara 0 -1. Jika R[k]<C[k]maka kromosom ke-k sebagai induk, selain itu pilih kromosom ke-k sebagai induk dengan syarat C[k-1] < R[k] < C[k]. Kita putar roulete-wheel sebanyak jumlah kromosom yaitu 6 kali (membangkitkan bilangan acak R).

LANJUTAN Setelah itu, populasi baru akan terbentuk yaitu :

LANJUTAN Setelah itu, populasi baru akan terbentuk yaitu :

4. CROSSOVER(PINDAH SILANG) Pindah silang pada TSP dapat diimplementasikan dengan skema order crossover. Pada

4. CROSSOVER(PINDAH SILANG) Pindah silang pada TSP dapat diimplementasikan dengan skema order crossover. Pada skema ini, satu bagian kromosom dipertukarkan dengan tetap menjaga urutan kota yang bukan bagian dari kromosom tersebut. Kromosom yang dijadikan induk dipilih secara acak dan jumlah kromosom yang dicrossover dipengaruhi oleh parameter crossover probability(ρc). Misal kita tentukan ρc = 25%, maka diharapkan dalam 1 generasi ada 50% (3 kromosom) dari populasi mengalami crossover. Pertama kita bangkitkan bilangan acak R sebanyak jumlah populasi yaitu 6 kali.

LANJUTAN Kromosom ke-k yang dipilih sebagai induk jika R[k] < ρc. Maka yang akan

LANJUTAN Kromosom ke-k yang dipilih sebagai induk jika R[k] < ρc. Maka yang akan dijadikan induk adalah kromosom[2], kromosom[3], dan kromosom[6]. Setelah melakukan pemilihan induk, proses selanjutnya adalah menentukan posisi crossover. Hal tersebut dilakukan dengan membangkitkan bilangan acak antara 1 sampai dengan panjang kromosom-1. Dalam kasus TSP ini bilangan acaknya adalah antara 1 -3. Misal diperoleh bilangan acaknya 1, maka gen yang ke-1 pada kromosom induk pertama diambil kemudian ditukar dengan gen pada kromosom induk kedua yang belum ada pada induk pertama dengan tetap memperhatikan urutannya. Bilangan acak untuk 3 kromosom induk yang akan di-crossover:

PROSES CROSSOVER:

PROSES CROSSOVER:

5. MUTASI Pada kasus TSP ini skema mutasi yang digunakan adalah swapping mutation. Jumlah

5. MUTASI Pada kasus TSP ini skema mutasi yang digunakan adalah swapping mutation. Jumlah kromosom yang mengalami mutasi dalam satu populasi ditentukan oleh parameter mutation rate(ρm). Proses mutasi dilakukan dengan cara menukar gen yang dipilih secara acak dengan gen sesudahnya. Jika gen tersebut berada di akhir kromosom, maka ditukar dengan gen yang pertama. Pertama kita hitung dulu panjang total gen yang ada pada satu populasi: Panjang total gen=jumlah gen dalam 1 kromosom * jumlah Kromosom …………………. . (3) =4*6 = 24

LANJUTAN Untuk memilih posisi gen yang mengalami mutasi dilakukan dengan membangkitkan bilangan acak antara

LANJUTAN Untuk memilih posisi gen yang mengalami mutasi dilakukan dengan membangkitkan bilangan acak antara 1 – Panjang total gen yaitu 124. Misal kita tentukan ρm = 20 %. Maka jumlah gen yang akan dimutasi adalah = 0, 2*24 = 4, 8 =5

LANJUTAN

LANJUTAN

LANJUTAN Sebelumnya telah ditentukan kriteria berhenti yaitu bila setelah dalam beberapa generasi berturut-turut diperoleh

LANJUTAN Sebelumnya telah ditentukan kriteria berhenti yaitu bila setelah dalam beberapa generasi berturut-turut diperoleh nilai fitnessyang terendah tidah berubah. Pada 1 generasi telah terlihat bahwa terdapat nilai fitnessterkecil yang tidak berubah. Apabila perhitungan dilanjutkan hingga ke generasi ke-N maka diyakinkan bahwa nilai fitnessyang terendah tetap tidak akan berubah. Walaupun perhitungan cukup dijabarkan hingga generasi ke-1 saja namun solusi yang mendekati optimal telah didapatkan. Oleh karena itu, terbukti bahwa algoritma genetika dapat menyelesaikan persoalan TSP.

PSEUDO-CODE ALGORITMA GENETIKA

PSEUDO-CODE ALGORITMA GENETIKA

LANJUTAN

LANJUTAN

LANJUTAN

LANJUTAN

SELESAI

SELESAI