BAB VII ALGORITMA GENETIKA Kompetensi : 1. Mahasiswa memahami onsep Algoritma Genetia Sub Kompetensi : 1. Dapat mengerti dasar metode Algoritma Genetia 2. Dapat memahami tahapan operator dalam Algoritma Genetia VII.1. Pengertian Dasar Metode Algoritma Genetia Algoritma genetia nerupaan algoritma pencarian yang berdasaran pada selesi alam dan genetia alam. Algoritma ini berguna untu masalah yang memerluan pencarian yang efetif dan efisien, dan dapat digunaan secara meluas untu apliasi bisnis, pengetahuan, dan dalam ruang lingup teni. Algoritma genetia ini dapat digunaan untu mendapatan solusi yang tepat untu masalah satu atau banya variabel. Algoritma genetia berbeda dengan teni pencarian yang lain, arena pada algoritma genetia ini langah pertama dimulai dengan membangitan secara random solusi-solusi yang sering dienal dengan initial population. Setiap individu di dalam populasi dinamaan chromosome, dimana setiap chromosome itu mewaili sebuah solusi untu masalah yang aan dihadapi. Sebuah chromosome biasanya simbolnya string hal ini diperuntuan bagi bilangan biner dan untu floating point yang dipaai adalah bilangan real. Untu masalah tiga variabel maa chromosome aan tersusun atas tiga gen demiian pula alau permasalahannya melibatan lima variabel, maa didalam satu chromosome juga aan terdapat lima gen. Chromosome terbentu setiap generasi dan emudian dievaluasi menggunaan beberapa uuran fitness. Untu generasi yang baru, chromosome baru terbentu oleh proses yang dinamaan proses selesi. Setelah proses selesi itu berlangsung chromosome yang baru terbentu itu aan mengalami proses reprodusi dimana didalam proses reprodusi ini chromosome tadi aan daproses dalam dua tahap yaitu crossover dan mutasi. Kadua tahap proses itu aan membuat offspring. Untu proses crossover, offspring yang terbentu merupaan penggabungan dari chromosome yang sebelumnya, sedangan untu mutasi offspring yang terbentu merupaan hasil perubahan mutasi dari gen atau mutasi pada bit.
Generasi baru terbentu oleh selesi menurut nilai fitness dari eseluruhan chromosome, beberapa parent dan offspring dipilih agar menjaga uuran populasi tetap. Chromosome yang memilii nilai fitness yang besar memilii peluang yang lebih besar untu terpilih. Setelah beberapa generasi, Algoritma Genetia ini aan mengumpulan chromosome terbai, yang membantu untu mewaili solusi yang optimal untu masalah itu. Ada 2 meanisme yang menghubungan Algoritma Genetia dengan masalah yang ingin diselesaian yaitu cara pengodean /encoding penyelesaian untu masalah pada chromosome dan fungsi evaluasi yang mengembalian uuran harga dari setiap chromosome dalam ontes dari masalah itu. Teni untu mengodean penyelesaian bermacam-macam dari masalah e masalah dan dari Algoritma Genetia e Algoritma Genetia. Populasi disusun dari bermacam-macam individu, setiap individu berisi phenotype (parameter), genotype (chromosome buatan atau bit string), dan fitness (fungsi obyetif). Fungsi evaluasi adalah penghubung antara Algoritma Genetia dan masalah yang aan diselesaian. Fungsi evaluasi mengambil sebuah chromosome sebagai input dan mengembalian nomor atau daftar dari nomor yang merupaan uuran dari chromosome pada masalah yang aan diselesaian. Fungsi evaluasi mempunyai aturan yang sama dalam Algoritma Genetia yang berecimpung dalam evolusi alam. Inisialisasi dilauan secara random atau aca. Reombinasi termasu di dalamnya crossover / awin silang dan mutasi untu munghasilan offspring / eturunan. Kenyataannya ada dua operasi pada Algoritma Genetia - Operasi genetia yaitu crossover dan mutasi - Operasi evolusi yaitu selesi Operasi genetia meniru proses turun menurun dari gen untu membentu offspring pada setiap generasi. Operasi evolusi meniru proses dari Darwinian evolution untu membentu populasi dari generasi e generasi. Untu memudahan pengertian chromosome, Algoritma Genetia aan diterapan pada contoh persamaan beriut ini. Max f (x,y) = 21,5 + xsin (4πx ) + ysin (20πy) (1) Dimana batasannya : - 3 x 12,1 (2) 4,1 y 5,8 Pada persamaan 2.35 ini maa chromosome terbentu dari dua buah gen yaitu x dan y sehingga bentu dari chromosome adalah (x,y). Sedangan untu inisialisasi populasi
pertama ali apabila diambil 10 chromosome dalam satu populasi, maa nilai dari x aan diambil secara aca dari antara -3 dan 12,1 sebanya 10 ali demiian juga untu nilai y aan diambil secara aca dari antara 4,1 dan 5,8 sebanya 10 ali. Nilai dari x pertama ali aan membentu chromosome pertama, demiian untu nilai-nilai yang lain sampai nilai x esepuluh dan nilai yang esepuluh aan membentu chromosome esepuluh dengan susunan chromosome seperti di atas yaitu (x,y). Blo diagram untu proses algoritma genetia diberian pada gambar 3.1 beriut ini. BEGIN Inisialisasi Populasi Evaluasi Selesi Crossover Mutasi Evaluasi STOP T Y END Gambar 1. Blo Diagram Algoritma Genetia
VII.2. Operator Algoritma Genetia Sama seperti suatu penyelesaian umum lainnya, Algoritma Genetia mempunyai operator-operator yang secara berurutan dipaai untu menyelesaian suatu permasalahan. Operator-operator tersebut dibahas beriut ini. A. Selesi Tiga dasar poo yang tergabung di dalam fase selesi dalam metode Algoritma Genetia yaitu: - Sampling space - Sampling mechanism - Selection probability Sampling Space Prosedur selesi yang menghasilan populasi baru untu generasi selanjutnya berdasaran pada bai semua parent atau offspring atau bagian dari merea. Inilah yang memimpin masalah dari sampling space. Sebuah sampling space diarateristian oleh dua fator yaitu size (uuran) dan ingredient (bahan) yang menunju pada parent dan offspring. Pop_size menunju pada uuran dari populasi dan off_size menunju pada uuran dari offspring yang dihasilan pada setiap generasi. Regular sampling space memilii uuran dari pop_size dan berisi semua offspring dengan sebagian dari parent. Enlarge sampling place memilii ooran dari pop_size + off_size dan berisi semua parent dan offspring. - Regular sampling space: pada watu terjadi crossover dan mutasi itulah maa aan dilahiran offspring. Parent digantian oleh offspring atau eturunannya segera setelah elahirannya. Pergantian secara langsung ini dinamaan generational repacement. Karena operasi genetia buta dalam alam, offspring mungin lebih buru dibandingan dengan parent. Strategi pergantian setiap parent dengan offspring secara langsung aan menyebaban beberapa chromosome yang memilii peluang yang besar aan hilang dari proses evolusi. Ada beberapa ide untu mengatasi masalah ini. Holland mengusulan etia setiap offspring lahir, offspring itu aan menggantian secara random chromosome yang dipilih dari populasi searang. Dalam model crowding, etia offspring lahir, satu parent yang dipilih aan mati. Parent yang mati itu dipilih dengan ciri seperti parent yang mirip offspring yang baru, emiripan ini diperoleh dengan menggunaan esamaan bit per bit untu menghitung uuran emiripannya. Pada reproductive plan, selesi menunju pada parent yang terpilih untu reombinasi, populasi yang baru terbentu oleh pergantian parent
dengan offspring yang terbentu. Michalewics memberian desripsi pada Algoritma Genetia sederhana dimana offspring dalam setiap generasi aan menggantian parent untu generasi tersebut segera setelah elahirannya, generasi yang baru dibentu oleh roulette wheel selection. Gambar 3.2 beriut ini adalah merupaan selesi yang dilauan pada regular sampling space. New Population Population Crossover Mutation Replacement Gambar 2. Selesi berdasaran pada Regular Sampling Space - Enlarge sampling space: etia selesi dilauan pada enlarge sampling space, bai parent dan offspring mempunyai esempatan untu berompetisi dengan tujuan untu bertahan. Untu sebuah asus husus adalah selesi (μ + λ). Stategi ini digunaan dalam stategi evolusi. Dengan stategi ini, μ parent dan λ offspring beromperisi untu elangsungan hidupnya dan μ terbai eluar dari offspring dan old parent dipilih sebagai parent pada generasi selanjutnya. Kasus lain dari strategi evolusi adalah selesi (μ,λ), dimana memilih μ offspring terbai sebagai parent pada generasi selanjutnya. Bila dilihat dari gambar 3.3 beriut ini maa parent setelah mengalami crossover dan mutasi aan menghasilan offspring yang aan ditambahan e parent. Untu menjaga agar populasi itu onstan, maa pada watu dilauan selesi dibatasi hanya untu menghasilan beberapa chromosome tergantung pada uuran populasi. Parent crossover new pupulation selection mutation offspring Gambar 3. Selesi Dilauan Pada Enlarge Sampling Space
Sampling Mechanism Sampling mechanism memperhatian masalah bagaimana memilih chromosome dari sampling space. Tiga dasar pendeatan yang telah digunaan pada sampling chromosome: - Stochastic sampling - Deterministic sampling - Mixed sampling a. Stochastic sampling Ciri-ciri umum pada metode ini yaitu fase selesi menentuan jumlah dari penggandaan yang aan diterima setiap chromosome berdasaran pada probabilitas survival. Fase selesi disusun dari dua bagian: - Menentuan nilai chromosome yang diharapan - Mengonversi nilai yang diharapan pada nomor dari offspring Nilai yang diharapan dari chromosome adalah nomor real yang mengindiasian nomor rata-rata dari offspring yang seharusnya diterima sebuah chromosome. Prosedur sampling digunaan untu mengubah nilai real yang diharapan pada nomor dari offspring. Ide dasar dari Roulette Wheel Selection untu menentuan probabilitas selesi (probabilitas survival) untu setiap chromosome sebanding pada nilai fitness. Untu chromosome dengan fitness f, probabilitas selesi P dihitung dari: p f = pop _ size j= 1 f j Kita dapat membuat sebuah wheel menurut probabilitas ini. Proses selesi berdasaran pada putaran roulette wheel pop_size, setiap watu ita memilih chromosome tunggal untu populasi yang baru. Baer memperenalan Stochastic Universal Sampling, yang menggunaan putaran roda tunggal (single - wheel spin). Roda disusun seperti roulette wheel, nilai yang diharapan e untu chromosome dihitung sebagai: e = pop_size x p (4) Prosedur dari Stochastic Universal Sampling: begin sum:=0; ptr:=rand(); for := 1 to pop_size do sum:= sum + e ; (3)
while (sum > ptr) do select chromosome ; ptr:= ptr + 1; end end end Dimana rand() adalah sebuah jumlah real random yang secara uniform didistribusian diantara range 0 sampai 1. Tujuan dasarnya adalah menjaga jumlah pengopian yang diharapan dari setiap chromosome dalam generasi beriutnya. Perhatian yang menari adalah prohibition of duplicate chromosome (larangan penggandaan chromosome) dalam populasi. Dua alasan menggunaan strategi ini adalah : 1. Mencegah chromosome super dari pendominisasian populasi oleh penggunaan banya pengopian dalam populasi. 2. Menjaga perbedaan-perbedaan dari populasi sehingga elompo generasi yang onstan dapat berisi banya informasi untu pencarian genetia. Masalah yang terait adalah etia chromosome dupliat dibuang, uuran dari populasi terbentu dari sisa parent dan offspring mungin lebih rendah daripada uuran pop_size sebelumnya. Pada asus ini, prosedur inisialisasi biasanya digunaan untu mengisi space osong dari elompo populasi. b. Deterministic sampling Pendeatan ini biasanya memilih pop_size chromosome terbai dari sampling space. Bai selesi (µ+λ) dan selesi (µ,λ) termasu dalam metode ini. Dari hasil yang ingin dicapai adalah melarang chromosome- chromosome dupliat masu populasi pada watu selesi. Selesi Elitist menjamin bahwa chromosome terbai masu generasi yang baru alau tida terpilih melalui proses selesi yang lain. Modifiasi pada metode ini adalah dengan mengganti sejumlah n chromosome tua yang jele dengan offspring (dengan jumlah n offspring). c. Mixed sampling Pendeatan ini berisi bai random dan ciri-ciri deterministic secara bersama. Contoh dari moxed sampling adalah Tournament Selection. Metode ini secara random memilih seumpulan chromosome dan mengambil satu terbai dari umpulan untu reprodusi. Jumlah chromosome dalam umpulan dinamaan Tournament Size. Uuran tournament umumnya adalah dua, ini yang dinamaan Binary Tournament dan Stochastic Tournament
Selection oleh Wetzel, pada metode ini probabilitas selesi dihitung secara normal dan berturut-turut pasangan dari chromosome-chromosome digambaran menggunaan Roulette Wheel Selection. Setelah menggambaran sepasang, chromosome dengan fitness yang tinggi dimasuan dalam populasi yang baru. Proses ini berlangsung secara ontinu sampai populasi penuh. Selection Probability Bagian ini membicaraan bagaimana probabilitas selesi untu setiap chromosome. Dalam prosedur selesi perbandingan, probabilitas selesi dari sebuah chromosome sebanding dengan fitness value yang dimiliinya. Contoh dalam generasi awal, dimana ada sebuah ecenderungan untu sebuah super chromosome ecil aan mendominasi proses selesi. Dalam generasi selanjutnya etia populasi secara besar berumpul, ompetisi diantara chromosome urang uat dan pencarian random tingah lau aan muncul. Scaling dan raning mechanism diharapan dapat mengurangi masalah ini. Metode scaling membuat peta mentah nilai fungsi obyetif menjadi beberapa nilai real positif, dan probabilitas survival untu setiap chromosome menurut nilai itu. Matode raning menganggap nilai atual fungsi obyetif dan menggunaan raning dari chromosome sebagai pengganti untu menentuan probabilitas survival. Proses selesi adalah proses pemilihan chromosome. Setelah chromosome itu terpilih maa chromosome itu langsung aan menjadi chromosome awal pada generasi yang baru. Dengan ata lain setelah melewati proses selesi itu maa aan berganti e generasi baru. Proses selesi yang umum digunaan adalah dengan menggunaan Roulette Wheel Selection. selesi Roulette Wheel diasumsian dengan model pie-shaped. Pada gambar 3.4, nomor 1, 2, 3, dan 4 menyataan nomor chromosome. 1 2 3 4 Gambar 4 Model Roulette Wheel Pada gambar 4 ini empat daerah luasan yang ada mewaili empat chromosome dimana setiap chromosome memilii luas daerah yang berbeda. Perbedaan itu muncul sebagai aibat dari perbedaan fitness. Roulette wheel parent dapat disusun seperti langah-langah beriut ini: - Menghitung nilai fitness eval (v ) untu setiap chromosome v.
eval (V ) = f (x) = 1,2,3,..,pop_size (5) - Menghitung total fitness untu populasi: pop _size F = eval (V ) (6) = 1 - Menghitung probabilitas selesi p untu setiap chromosome v : eval (V ) P = = 1,2,3,.,pop_size (7) F - Menghitung probabilitas aumulatif q untu setiap chromosome v : = Pf, f = 1 q = 1,2,3,..,pop_size (8) Pada bagian ini prosedur selesinya dimulai dari langah: - Membangitan nomor secara random r dari 0 sampai 1. - Bila q 1 r, maa pilih chromosome pertama v 1, alau tida pilih chromosome e atau v dimana (2 <= <= pop_size) seperti q -1 (r q ) Beberapa pemaai Algoritma Genetia juga banya yang menggunaan metode Elitist yaitu pemilihan chromosome yang memilii fitness yang paling bai di dalam satu populasi. Pada pemilihan chromosome dalam suatu populasi yang terdiri dari 10 chromosome, pemilhan chromosome itu tida mengurangi jumlah chromosome dalam satu populasi, melainan metode elitist ini berfungsi mirip dengan penggandaan dan emudian menyimpan hasil penggandaan itu. Chromosome yang terpilih dalam metode elitist ini tida melewati urutan proses seperti selesi, crossover, dan mutasi, tetapi chromosome yang terpilih aan menggantian secara langsung chromosome pada generasi selanjutnya, yang memilii nilai fitness paling ecil. B. Crossover Di alam, crossover terjadi etia parent bertuar bagian dari gen pembentunya. Dalam Algoritma Genetia, crossover menggabungan materi genetia dari edua chromosome parent menjadi dua ana. Crossover yang dipaai untu bilangan real adalah Arithmatic Crossover. Prosedur untu memilih parent mana yang aan mengalami proses crossover : Tentuan probabilitas crossover. Bangitan bilangan random 0 sampai 1 sebanya i (jumlah chromosome dalam satu populasi). Bandingan bilangan random itu dengan probabilitas crossover (Pc).
Parent terpilih bila bilangan r yang e-i urang atau sama dengan probabilitas crossover (Pc). Bila parent yang terpilih jumlahnya hanya satu maa proses ini diulang sampai jumlah parent lebih dari satu. Aritmatic Chrossover Proses selanjutnya setelah melauan pemilihan Chromosome adalah melauan Aritmatic Crossover yang dierjaan untu ondisi bilangan real pada edua parent tersebut. Bangitan bilangan random antara 0 dan 1 Offspring1 = (parent1 x random) + (parent2 x (1-random)). Offspring2 = (parent1 x (1-random)) + (parent2 x random)). One-Point Crossover Sedangan untu bilangan biner, pada proses crossover ada perbedaan. Untu bilangan biner prosedur pemilihan chromosome sama dengan proses pemilihan chromosome seperti pada bilangan real. Untu biner prosesnya adalah: Total bit merupaan banyanya bit dalam satu populasi. Bangitan bilangan random antara 1 sampai total bit-1. Ini merupaan titi crossover, misalnya ditemuan nilai randomnya m. Pertuaran bit yang e (m +1) sampai total bit dari parent dengan bit yang e (m+1) sampai e total bit dari parent 2. C.Mutasi Proses mutasi adalah proses yang bertujuan untu mengubah salah satu atau lebih bagian dari chromosome. Untu bilangan floating ini memaai Nonuniform Mutation atau yang dienal sebagai Dynamic Mutation. Mutasi ini didesain untu dapat mentuning dengan bai dengan tujuan mencapai tingat etelitian yang tinggi. Prosedur untu menentuan gen mana yang aan dimutasi adalah : 1. Tentuan probabilitas mutasi. 2. Tentuan banyanya random yang diperoleh dari banyanya jumlah chromosome dalam satu populasi x banyanya gen dalam satu chromosome (total_random). 3. Bangitan bilangan random antara 0 dan 1 sebanya total_random. 4. Bandingan hasil random yang didapat sebanya total_random dengan probabilitas mutasi.
5. Bila urang dari probabilitas mutasi (Pm) maa gen tersebut yang aan dipilih untu dimutasi. 6. Gen yang terpilih emudian dihitung sehingga dapat dietahui gen tersebut berada pada chromosome nomor berapa dan pada gen yang nomor berapa. Nonuniform Mutation Proses mutasinya diberian contoh parent x, bila elemen x dari parent x yang terpilih untu dimutasi, hasil offspring adalah x = ( terpilih dari dua pilihan yaitu : atau x' Fungsi ( t, y) U ( x x ) ' x 1, ' x,,,, ' x ), dimana x n secara random = x + Δ t, (3.9) L ( x ) x' = x Δ t,x (3.10) Δ diberian b t Δ( t, y) = y r 1 (3.11) T dimana: r adalah bilangan random antara 0 dan 1 T adalah jumlah masimal generasi B adalah parameter yang menentuan derajat dari nonuniformity t adalah nomor generasi Binary Mutation Mutasi ini memilii prosedur yang mirip dengan yang digunaan oleh nonuniform mutation. Prosedur untu pemilihan chromosomenya yaitu: a. Tentuan probabilitas mutasi. b. Tentuan banyanya random yang diperoleh dari banyanya jumlah chromosome dalam satu populasi x banyanya jumlah bit dalam satu chromosome (total_random). c. Bangitan bilangan random antara 0 dan 1 sebanya total_random. d. Bandingan hasil random yang sebanya total_random itu dengan probabilitas mutasi. e. Bila nilai random itu urang dari probabilitas mutasi (Pm) maa pilih bit itu untu dimutasi. f. Hitung bit yang terpilih itu berada pada chromosome e berapa dan pada posisi bit yang eberapa.
Untu proses mutasinya, setelah dietahui bit yang aan dimutasi itu berada pada chromosome e berapa dan pada bit yang eberapa maa bila bit itu bernilai 0 maa berubah e 1, sebalinya bila 0 maa berubah e 1. Free Direction Mutation Mutasi dapat juga menggunaan cara sederhana seperti yang dipaai dalam tugas ahir ini. Kromosom yang ada dimutasi dengan arah bebas. Masudnya dapat bernilai positif maupun negatif. sebagai contoh, parent v = (x 1, x 2,,x n ), arah mutasi dibangitan secara random d, sehingga offspring v yang terbentu ditentuan oleh rumus sebagai beriut : v = v + M. d Apabila nilai offspring yang terbentu tida berada pada range yang diehendai, set M Secara random sebagai bilangan real dalam ( 0, M) sedemiian sampai v + M. d berada pada range yang diehendai. Urutan dari proses Algoritma Genetia adalah : a. Inisialisasi populasi. Inisialisasi ini dilauan secara random dan hanya satu ali saja sewatu start pertama ali Algoritma Genetia. Inisialisasi ini menghasilan populasi awal dengan jumlah chromosome yang sesuai dengan yang ita harapan. b. Evaluasi. Ini adalah proses menghitung nilai fitness dari masing-masing chromosome yang ada. c. Selesi. Melalui proses ini maa lahirlah genersi baru dimana chromosome diperoleh dari chromosome sebelumnya. d. Crossover. Proses ini aan menghasilan offspring yang berbeda dengan psrent/orang tuanya. Untu proses ini dilauan dengan mengambil parent secara berpasangan yaitu dua-dua dan aan menghasilan offspring dengan jumlah yang sama dengan parent. e. Mutasi. Pada proses ini juga aan dihasilan offspring dimana jumlahnya tergantung pada banyanya bilangan random yang urang dari probabilitas mutasinya (pm). f. Evaluasi. Proses ini dilauan embali untu menghitung fitness dari masing-masing chromosome. g. Lauan pengulangan embali e langah b, bila riteria berhenti sudah dicapai maa Algoritma Genetia ini sudah selesai.
DAFTAR PUSTAKA Duane Hanselman dan Bruce Littlefield. 2000. MATLAB Bahasa Komputasi Tenis. Yogya : ANDI MATLAB & SIMULINK student version. 2004. Learning MATLAB 7. The MathWors,Inc. Suyanto. 2005. Algoritma Genetia dalam Matlab. Yogyaarta : Andi.. Genetic Algorithm And Direct Search Toolbox. The MathWors,Inc.