1 / 43

GENETIC ALGORITHMS (GAs)

GENETIC ALGORITHMS (GAs). Pendahuluan. Komponen Algoritma Genetika. Tahapan Algoritma Genetika. Prinsip Algoritma Genetika. Contoh Kasus Optimisasi. Latihan Soal. Referensi : Michalewics, Z. Genetic Algorithms+Data Strauctures=Evolution Programs. Third Ed. Springer, New York, 1996.

nitza
Télécharger la présentation

GENETIC ALGORITHMS (GAs)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GENETIC ALGORITHMS (GAs) Pendahuluan Komponen Algoritma Genetika Tahapan Algoritma Genetika Prinsip Algoritma Genetika Contoh Kasus Optimisasi Latihan Soal Referensi : Michalewics, Z. Genetic Algorithms+Data Strauctures=Evolution Programs. Third Ed. Springer, New York, 1996.

  2. INTRODUCTION During the last 30 years : a growing interest in problem solving systems based on principle of evolution and hereditary Maintain a population of potential solution by using selection process based on fitness of individuals, and some “genetic” operators Many kinds, i.e. : • Evolution strategies (by Rechenberg, 1973; and Schwefel, 1981) : algorithms which imitate the principles of natural evolution for parameter optimization problems • Evolutionary programming (by Fogel, Owen, and Walsh, 1966) : a technique for searching through a space of small finite- state machines

  3. Scatter search techniques (by Glover, 1977) : maintain a population of reference points and generate offspring by weighted linear combinations • Genetic algorithms, GAs (by Holland, 1975) : Adaptation in Natural and Artificial Systems CALLED : EVOLUTION PROGRAMS, [Michalewicz,1996] algoritme probabilistik yang menjaga individu-individu dari populasi pada generasi ke t : berada pada kondisi yang ‘fit’ dibanding individu-individu dari populasi pada generasi sebelumnya Optimisasi yang dilakukan melalui pencarian (searching) pada domain solusi dengan mengikuti prinsip evolusi alami. This algorithms do what the nature does

  4. An example : Population of Rabbits 1. At any given time there is a population of rabbits. Some of them are faster and smarter than other 2. These faster and smarter rabbits are less likely to be eaten by foxes. Therefore more of them survive. Some of the slower, dumber rabbits will survive just because they are lucky. 3. The surviving population of rabbits starts breeding (to make more rabbits). The breeding result in a good mixture of rabbit genetic material (some of slow breed with fast rabbits, some fast with fast, some smart with dumb rabbits, and so on). 4. Nature throws in a ’wild hare’ every once in a while by mutating some of the rabbit genetic material 5. The baby rabbits will (on average) be faster and smarter than these in the original population because more faster, smarter parents survuved the foxes

  5. 1. Setiap individu merepresentasikan suatu solusi Prinsip GA memaintain P(t) 2. Setiap individu dievaluasi berdasar tingkat fitness-nya. 3. Berikutnya populasi baru pada generasi ke t+1 dibentuk melalui: a. Tahap seleksi : Seleksi berbasis fitness b. Tahap transformasi : Beberapa individu mengalami operasi genetika untuk membentuk solusi-solusi baru mi:SS Unary transformation (mutation), create new individual by a small change in a single individual cj:SxSx…xSS Higher order transformations (crossover), create new individual by combining parts of several (two or more) individuals 4. Setelah melalui beberapa generasi, solusi akan konvergen ke nilai optimum

  6. Struktur Pemrograman

  7. COMPONENT OF GAs ? 1. A genetic representation for potential solutions to the problem 2. A way to create an initial population of potential solutions 3. An evaluation function that play the role of the environment, rating solutions in terms of their “fitness” 4. Genetic operators that alter the composition of children 5. Values for various parameters that the genetic algorithm uses (population size, probabilities of applying genetic operators, etc.)

  8. Representasi Solusi • Untuk mendapatkan solusi optimum, GA melakukan searching pada state space (domain solusi) yang setiap individu/anggotanya dikodekan dengan suatu string yang disebut kromosom. 2. Struktur kromosom : A chromosome : • Made of genes aranged in linear succession • alele : a value of the gene • Loci : location of a certain gene (string position)

  9. Representasi Solusi • Secara umum ada dua teknik : • a. Biner : nilai setiap gen dikodekan biner (1 dan 0) • b. Integer : nilai gen dikodekan desimal (1, 2, 3, …) 2. Pemilihan teknik representasi sangat tergantung permasalahan 3. Misal pada : a. Optimisasi fungsi, f(x)  representasi biner lebih sesuai b. Optimisasi tata letak alat representasi integer pada struktur dua dimensi c. TSP representasi integer (adjacency, ordinal, atau path representation) 4. Pemilihan teknik representasi akan berpengaruh pada algoritma mutasi dan crossover

  10. 1. Tahapan mengkodekan domain x menjadi kode biner : Representasi Biner a. Tentukan batas bawah, a, dan batas atas nilai x, b. b. Tentukan tingkat ketelitian (d angka dibelakang koma) Jarak antar titik pada domain : 10-d Jumlah titik pada domain : (b-a)*10d Jika jumlah bit pada kromosom adalah m, maka :  Maka nilai m adalah : Decoding=a+desimal(kromosom)*

  11. Ilustrasi xЄ[-3.0,12.1] a. Batas bawah -3.0 dan batas atas 12.1 b. Misal diinginkan ketelitian 5 angka dibelakang koma, 0.00001 Jarak antar titik pada domain : 10-5=0.00001 Jumlah titik pada domain : (12.1-(-3.0))*105=1510000 Jumlah bit pada kromosom :

  12. Misal kromosom : Ilustrasi Nilai desimal = ……………………….. 0*220 + 1*219 + 0*218 + +0*20 = 667398 =1.80543 Hasil decoding : -3+667398*

  13. Pembangkitan Populasi Awal 1. Populasi awal dapat dipilih secara acak atau bisa juga dipilih titik-titik tertentu yang dipandang mempunyai potensial sebagai solusi optimum 2. Pembangkitan secara random untuk ilustrasi di atas : Untuk i=1 s.d. n (#n adalah ukuran populasi) 1. Untuk j=1 s.d 21 • Bangkitkan digit biner r=random{1,0} • xj=random{1,0} 2. Kromosomi=x1x2x3…x21

  14. Fungsi Evaluasi 1. Fungsi evaluasi dibentuk sesuai dengan permasalahan yang akan dicari solusinya. Fungsi inilah yang dipergunakan sebagai kriteria optimum 2. Sebagai contoh sederhana, adalah permasalahan menemukan xЄ[-3.0,12.1] yang memaksimumkan f(x)=x*sin(10πx)+1 Maka fungsi f(x)=x*sin(10πx)+1 sebagai fungsi fitness Dengan fitness seperti ini, maka untuk ilustrasi di atas, kromosom :  Hasil decoding, x= -3+667398* =1.80543  nilai fitness=x*sin(10*3.14*x)+1=1.255214

  15. Proses ini terdiri dari 3 tahapan, yaitu : a. Seleksi b. Crossover c. Mutasi Proses Regenerasi 2. Seleksi : memilih individu-individu sebagai parent yang akan menghasilkan generasi berikutnya 3. Crossover : mengkombinasikan antar dua parent untuk menghasilkan keturunan (child) 4. Mutasi : Secara acak, gen tertentu pada individu child dengan peluang tertentu akan mengalami mutasi

  16. Proses seleksi dilakukan dengan menggunakan putaran Roullete. Dengan aturan putaran roullete ini, luasan bidang roullete sebanding dengan proporsi nilai fitness setiap individu Proses Seleksi 2. Putaran roullete ini dapat diimplementasikan dengan pembangkitan bilangan acak r, dengan rЄ[0,1] 3. Dengan cara ini, interval [0,1] disekat-sekat untuk setiap individu dengan lebar sekatan sesuai dengan proporsi nilai fitness individu tersebut, dengan aturan seleksi sebagai berikut : JIKA rЄ[qk-1,qk], k=1, 2, 3, …, n MAKA individu ke k terpilih sebagai parent Dalam hal ini : n adalah ukuran populasi pi : proporsi fitnes individu ke i, i=1, 2, 3, …, n qj=p1+p2+p3+…+pj, dengan j=1, 2, 3, …, n dan q0=0

  17. Untuk kasus sebelumnya, misalkan populasi awal adalah : Ilustrasi Seleksi 2. Dari 5 individu tersebut dapat disusun tabel :

  18. 3. Misalkan bilangan acak yang terpilih berturut-turut adalah adalah : Ilustrasi Seleksi r=0.64Є[q4,q5] Individu 5 terpilih r=0.95Є[q4,q5] Individu 5 terpilih kembali r=0.21Є[q1,q2] Individu 2 terpilih r=0.11Є[q0,q1] Individu 1 terpilih r=0.61Є[q3,q4] Individu 4 terpilih 4. Maka individu untuk proses selanjutnya (crossover dan mutasi) adalah :

  19. 1. Crossover merupakan proses mengkombinasikan dua individu induk untuk menghasilkan dua individu baru. Teknik yang dilakukan ada beberapa sesuai dengan teknik representasinya. Crossover 2. Beberapa teknik Crossover yang dikenal adalah : 1. Simple crossover 2. Arithmetical crossover 3. Heuristic Crossover 4. Alternating-edge crossover 5. Subtour chunks crossover 6. Partially-mapped crossover (PMX) 7. Order Crossover (OX) 8. Cycle crossover (CX) 3. Simple crossover lebih disukai karena sederhana 4. Arithmetical crossover dipergunakan agar individu tidak keluar dari domain

  20. 1. Simple crossover dilakukan dengan menemukan posisi lokus tertentu tempat terjadi crossover. Kromosom terbagi menjadi dua segmen, yaitu dari posisi awal hingga posisi terjadinya crossover dan segmen kedua adalah setelah posisi terjadinya crossover. Simple Crossover 2. Misal crossover antara individu 2 dan 4 pada ilustrasi sebelumnya, dan crossover terjadi setelah lokus ke 12 Posisi terjadi crossover

  21. 1. Pada Simple crossover bisa saja dihasilkan keturunan yang berada diluar domain. Hal ini diatasi dengan menggunakan arithmetical crossover Arithmetical Crossover 2. Arithmetical crossover menggunakan rataan terboboti dari dua parent untuk menghasilkan keturunan kromosom Ind 1 Ind 2 aЄ[0,1]

  22. 1. Mutasi merupakan proses menghasilkan keturunan melalui perubahan internal pada sebuah kromosom. Mutasi 2. Salah satu prosedur mutasi yang sederhana untuk kromosom dengan representasi biner adalah dengan memilih sembarang posisi gen dan mengubah alelanya (1 menjadi 0 dan 0 menjadi 1) Contoh : Gen posisi lokus 12 bermutasi :

  23. 3. Dikenal beberapa mutasi lainnya : Mutasi Lainnya a. Inversion : select two points along the length of the chromosome b. Insertion : select a city and inserts it in a random place c. Displacement : select a subtour and inserts it in a random place d. Reciprocal exchange : swap two cities

  24. Pada Implementasi GA dikenal beberapa parameter : Parameter-Parameter pada GA a. n : jumlah individu pada setiap generasi b. pc : probability of crossover c. pm : probability of mutation Crossover : a. Kromosom dipasang-pasangkan secara acak (jika jumlah kromosom ganjil, buang satu atau tambah satu) b. Bangkitkan bilangan acak rЄ[0,1] Jika r≤pc maka terjadi crossocer untuk lainnya maka tidak terjadi crossover Mutasi : a. Mutasi dilakukan pada setiap bit dari kromosom b. Bangkitkan bilangan acak rЄ[0,1] Jika r≤pm maka terjadi mutasi untuk lainnya maka tidak terjadi mutasi

  25. TAHAPAN GA 1. Buat populasi awal secara acak 2. Evaluasi setiap kromosom dalam populasi dengan menggunakan “fungsi fitness” 3. Seleksi sejumlah kromosom untuk dijadikan “parent”, lalu ciptakan kromosom-kromosom baru dengan cara crossover (penyilangan) dan mutasi 4. Evaluasi kromosom-kromosom baru tersebut 5. Jika stopping criteria tercapai, maka stop. Jika belum terpenuhi, kembali ke langkah 3

  26. Dan -3.0≤x1≤12.1 4.1≤x2≤5.8 Ilustrasi 1. Ingin menentukan nilai (x1,x2) yang memaksimumkan fungsi : Dengan : 2. Misalkan ketelitian yang diinginkan untuk kedua variabel tersebut adalah 4 angka dibelakang koma, maka jumlah bit untuk x1 dan x2 adalah : x1 : #bit=2log((12.1-(-3.0))104+1) =[17.204]=18 x2 : #bit=2log((5.8-4.1)104+1) =[14.053]=15 1 kromosom dikodekan dengan 18+15=33 bit 18 bit pertama untuk x1 15 bit sisanya untuk x2

  27. Ilustrasi 3. Contoh : x1 x2 x1 =-3.0+desimal(010001001011010000)(15.1/218-1) = 1.0524 x2 =4.1+desimal(111110010100010)(1.7/215-1) = 5.7553 Titik (1.0524,5.7553) Fitness=f(1.0524,5.7553)=20.2526

  28. a. Misal ukuran populasi 20 kromosom 1. Populasi awal b. Secara acak 20 kromosom tersebut adalah :

  29. a. Proporsi setiap kromosom adalah adalah : 2. Seleksi b. Sehingga proporsi kumulatifnya adalah :

  30. 2. Seleksi c. Setelal roulette diputar 20 kali (diimplementasikan dengan membangkitkan 20 bilangan acak rЄ[0,1]), dan misalkan diperoleh r berturut-turut : 1. q10 <r1=0.513870<q11 v11 terpilih 2. q3 <r2=0.175741<q4 v4 terpilih …………………………… 20. q15 <r20=0.780237<q16 v16 terpilih

  31. d. Akhirnya diperoleh : 2. Seleksi

  32. Crossover 3. Crossover dan Mutasi a. Misalkan peluang terjadinya crossover adalah pc=0.25 b. Maka pada setiap kromosom hasil seleksi dilakukan pembangkitan bilangan acak rЄ[0,1]. Jika r<0.25 maka kromosom tersebut dipilih untuk proses crossover c. Misal 20 bilangan acak adalah : V1’ tidak terpilih unt crossover 1. r1=0.822951<0.25 V2’ terpilih unt crossover 2. r2=0.151932<0.25 V11’ terpilih unt crossover 11. r11=0.031523<0.25 V13’ terpilih unt crossover 13. r13=0.166525<0.25 V18’ terpilih unt crossover 18. r18=0.200232<0.25

  33. d. Terlihat ada 4 kromosom yang terpilih. Karena jumlahnya genap, maka crossover dilakukan pada setiap dua kromosom yang urut. Jika jumlahnya ganjil, maka secara acak pilih satu kromosom lagi atau buang satu kromosom yang terpilih, sehingga dihasilkan jumlah genap. Crossover V2’ dengan v11’ Bangkitkan rЄ{1,2,3,…,32} sebagai posisi crossover Misalkan dihasilkan r=9 Hasil :

  34. V13’ dengan v18’ Crossover Bangkitkan rЄ{1,2,3,…,32} sebagai posisi crossover Misalkan dihasilkan r=20 Hasil :

  35. Hasil setelah crossover : Crossover

  36. a. Operator mutasi dikenakan pada gen sebuah kromosom, yang dalam hal ini adalah sebuah bit. Jumlah total bit adalah n*panjang kromosom=20*33=660 bit Mutasi b. Misalkan parameter mutasi adalah pm=0.01 c. Pada setiap bangkitkan bilangan acak rЄ[0,1]. Jika r<0.01, maka bit tersebut mengalami mutasi (1 menjadi 0 dan 0 menjadi 1) d. Oleh karena itu diperoleh 660 bilangan acah, dan misalkan yang kurang dari 0.01 ada 5, yaitu :

  37. e. Hasil setelah mutasi  sebagai generasi ke 1 Mutasi

  38. e. Hasil setelah mutasi  sebagai generasi ke 1 Mutasi Terlihat total evaluasi generasi ke dua : 447.049688 Kromosom terbaik adalah v11, dengan nilai fitness 33.351874 Pada generasi awal nilai : total evaluasi : 387.776822) kromosom terbaik adl v15 dengan nilai fitness 30.060205 f. Berikutnya cek kondisi henti (total nilai evaluasi atau jumlah generasi)

  39. Setelah generasi ke 1000 diperoleh : Generasi Ke 1000

  40. Total fitness : 625.3729 Kromosom terbaik adalah yang ke 11, dengan fitness 35.477938 Generasi Ke 1000 f(9.6237,4.4279)=35.477938

  41. Latihan Soal clear %bangkitkan N kromosom, panjang 21, minimum -3 dan max 12 format long; N=10; panjang=21; kecil=-3; besar=12; for i=1:N for j=1:panjang kromosom(i,j)=round(rand(1)); end end %hitung fitnes % 1 : for i=1:N tem=0; for j=1:panjang tem=tem+kromosom(i,j)*(2^(panjang-j)); end desimalnya=kecil+tem*((besar-kecil)/((2^panjang)-1)) fit=2*(desimalnya^3); kromosom(i,panjang+1)=desimalnya; kromosom(i,panjang+2)=fit; end %mutasi for i=1:10 for j=1:21 r=rand(1); if r<0.01; k(i,j)=1; else k(i,j)=0; end end end

More Related