3.1 Pendahuluan
Dalam algoritma genetika, individu dideklarasikan dengan angka biner atau beberapa set simbol yang diambil dari sebuah himpunan berhingga.Seperti memori komputer terdiri dari array bit, apa pun bisa disimpan dalam komputer dan juga dapat dikodekan dengan string sedikit. Masing-masing individu dikodekan dalam populasi dapat dilihat sebagai representasi, menurut sebuah encoding yang sesuai solusi khusus untuk masalah ini. Bab ini membahas terminologi dasar dan operator yang digunakan dalam Algoritma Genetika untuk mencapai solusi yang cukup baik.
3.2 Elemen Utama
Dua elemen yang berbeda dalam GA adalah individu dan populasi. Seorang individu adalah solusi
tunggal, sementara populasi adalah himpunan individu saat ini terlibat dalam proses pencarian.
3.3 Individu
kelompok individu dapat menentukan 2 solusi, yaitu:
1. kromosom, yang merupakan informasi baku 'genetik' (genotipe).
2. fenotipe, yang merupakan ekspresif kromosom dalam model.
Gambar 3.1 Representasi Genotipe dan fenotipe
Gambar 3.2 Representasi kromosom
Sebuah kromosom yang dibagi disebut gen. Gen adalah representasi GA untuk faktor tunggal dan untuk faktor kontrol. Setiap faktor dalam set sesuai dengan gen dalam kromosom. Gambar 3.1 menunjukkan representasi genotipe a. Sebuah kromosom berisi informasi tentang solusi yang diwakilinya. Fungsi morfogenesis mengaitkan setiap genotipe dengan fenotipe. Artinya setiap kromosom menentukan satu solusi, tetapi itu tidak berarti bahwa setiap solusi dikodekan oleh tepat dalam satu kromosom. Fungsi morfogenesis setidaknya harus subjektif. Solusi setiap masalah harus sesuai dengan setidaknya satu kromosom, untuk memastikan bahwa ruang pencarian keseluruhan dapat dieksplorasi. Ketika fungsi morfogenesis yang mengaitkan setiap kromosom ke satu solusi tidak injective, kromosom yang berbeda dapat mengkodekan solusi yang sama. jika beberapa kromosom dapat mewakili fenotipe yang sama, arti dari setiap gen akan jelas tetapi tidak sesuai dengan karakteristik tertentu dari solusi yang diinginkan sehingga membingungkan. Kromosom dikodekan oleh bit string seperti pada gamvar 3.2.
3.4 Gen3.4 GenGen adalah dasar "petunjuk" untuk membangun Generic Algoritma. Sebuah kromosom adalah urutangen. Gen menggambarkan sebuah solusi untuk masalah. Bit string adalah representasi biner dari jumlahinterval dari batas bawah. Sebuah gen adalah representasi GA untuk nilai faktor tunggal untuk faktorkontrol, dimana faktor kontrol harus memiliki batas atas dan batas bawah. Kisaran ini dapat dibagimenjadi jumlah interval yang dapat dinyatakan dengan bit string gen. Sebuah string sedikit panjang 'n'dapat mewakili interval (2n-1). Ukuran interval adalah (range) / (2n-1).Struktur dari setiap gen didefinisikan dalam parameter fenotipe. Parameter fenotip adalah petunjukuntuk pemetaan antara genotipe dan fenotipe. Hal ini juga dapat dikatakan sebagai pengkodean solusiset ke kromosom dan decoding kromosom untuk satu set solusi. Pemetaan antara genotipe dan fenotipediperlukan untuk mengkonversi solusi set dari model menjadi bentuk yang GA. Dalam kromosom, genyang direpresentasikan dapat dilihat dalam Gambar 3.3.Gambar 3.3 Representasi sebuah gen3.5 FitnessNilai Fitness dari individu dalam algoritma genetika adalah nilai fungsi obyektif untuk fenotipe. Untukmenghitung nilai Fitness,pertama kromosom harus diterjemahkan dan fungsi tujuan harus dievaluasi.Nilai Fitness tidak hanya menunjukkan seberapa baik solusi ini, tetapi juga sesuai dengan seberapadekat kromosom untuk solusi optimal.
Jika kadang-kadang fungsi fitness yang diperoleh dengan kombinasi sederhana dari kriteria yang
berbeda dapat memberikan hasil yang baik, maka kriteria dapat dikombinasikan dengan cara yang
konsisten. Tapi, untuk masalah yang lebih rumit dapat dipertimbangkan dari teori optimasi multikriteria.
3.6 Populasi
Sebuah populasi adalah kumpulan individu. Sebuah populasi terdiri dari sejumlah individu yang diuji,
serta parameter fenotip yang mendefinisikan individu dan beberapa informasi tentang ruang pencarian.
Dua aspek penting dari populasi yang digunakan dalam Algoritma Genetika adalah:
1. Generasi populasi awal.
2. ukuran populasi.
Gambar 3.4 PopulasiUkuran populasi tergantung pada kompleksitas masalah. Dalam kasus kode biner kromosom, setiap bitdiinisialisasi secara acak dengan nilai nol atau satu. Tapi mungkin ada kasus di mana inisialisasipopulasi dilakukan dengan beberapa solusi yang dikenal lebih baik. Populasi yang besar membutuhkanlebih banyak biaya komputasi, memori dan waktu. Populasi menjadi kombinasi dari berbagai kromosomyang diwakili seperti pada Gambar. 3.4. Dengan demikian populasi di atas terdiri dari empat kromosom.3.7 Struktur DataStruktur data utama dalam GA adalah kromosom, fenotipe, nilai-nilai fungsi tujuan dan nilai-nilaiFitness. Hal ini sangat mudah diimplementasikan menggunakan MATLAB sebagai alat numerik.Seluruh populasi kromosom dapat disimpan dalam satu array dan diberikan jumlah individu danpanjang representasi genotipe mereka. Demikian pula, variabel desain, atau fenotipe yang diperolehdengan menerapkan beberapa pemetaan dari representasi kromosom ke ruang desain dapat disimpandalam array tunggal. Pemetaan yang sebenarnya tergantung pada skema decoding yang digunakan.Nilai-nilai fungsi tujuan dapat skalar atau vectorial dan tentu sama dengan nilai-nilai fitness. nilaifitness yang berasal dari fungsi objek menggunakan skala atau peringkat fungsi dan dapat disimpansebagai vektor.3.8 Strategi PencarianProses pencarian terdiri dari inisialisasi populasi dan kemudian berkembang biak dari individu barusampai kondisi penghentian dipenuhi. Ada beberapa tujuan untuk proses pencarian, salah satunyaadalah untuk menemukan optima global. Selalu ada kemungkinan bahwa iterasi berikutnya dalampencarian akan menghasilkan solusi yang lebih baik. Dalam beberapa kasus, proses pencarian bisaberjalan selama bertahun-tahun dan tidak menghasilkan solusi lebih baik. Tujuan lain adalahkonvergensi lebih cepat.3.9 EncodingEncoding adalah proses yang mewakili gen individu. Proses ini dapat dilakukan dengan menggunakanbit, angka, pohon, array, daftar atau benda lainnya. encoding terutama tergantung pada pemecahanmasalah. Sebagai contoh, seseorang dapat mengkodekan nomor langsung dalam bentuk real atauinteger.3.9.1 Binary EncodingCara yang paling umum dari encoding adalah string biner, yang akan diwakili seperti pada Gambar. 3.5.Setiap kromosom mengkodekan biner (bit) string. Setiap bit dalam string dapat mewakili karakteristikdari solusi. oleh karena itu setiap bit string adalah solusi tetapi belum tentu solusi terbaik. Kemungkinanlain adalah bahwa seluruh string dapat mewakili angka. Biner string dikodekan dengan 1 dan 0 yangbanyak digunakan. Panjang string yang digunakan tergantung pada akurasi.Gambar 3.5 Binary Encoding• Integer direpresentasikan dengan tepat• jumlah bilangan real yang terbatas dapat direpresentasikan• Jumlah bilangan real direpresentasikan meningkat sepanjang string3.9.2 Octal EncodingEncoding ini menggunakan string yang terdiri dari bilangan oktal (0-7)Gambar 3.6 Octal encoding3.9.3 Hexadecimal EncodingEncoding ini menggunakan string yang terdiri dari bilangan heksa desimal (0-9,A-F)Gambar 3.7 Hexadecimal encoding3.9.4 Permutation Encoding (Real Number Coding)Setiap kromosom terdiri dari string angka, yang direpresentasikan secara berurutan. Dalam permutasiencoding, setiap kromosom adalah string integer / nilai-nilai nyata, yang mewakili angka secaraberurutan. Permutasi encoding hanya berguna untuk mencari permasalahan. Bahkan untuk masalahpada tipe crossover dan koreksi mutasi harus dilakukan untuk meninggalkan kromosom yang konsisten(yaitu, memiliki urutan nyata di dalamnya).Gambar 3.8 Permutation encoding3.9.5 Value EncodingDalam value encoding, setiap kromosom adalah string dari beberapa nilai. Nilai bisa apa saja yangterhubung ke masalah, nomor form, bilangan real atau karakter untuk beberapa objek yang rumit.Gambar 3.9 Value encodingDi sisi lain, encoding ini sering diperlukan untuk mengembangkan metode crossover yang baru danmutasi khusus untuk masalah.3.9.6 Tree EncodingEncoding ini terutama digunakan untuk pengembangan ekspresi program untuk pemrograman genetik.Setiap kromosom adalah pohon dari beberapa objek seperti fungsi dan perintah dari bahasapemrograman.3.10 Breeding Dalam proses ini, proses pencarian menciptakan individu baru yang diharapkan lebihsehat. Siklus breeding terdiri dari tiga langkah yaitu:
- Memilih orang tua.
- Menyilangkan orang tua untuk membuat individu baru (keturunan atau anak - anak).
- Mengganti individu tua dalam populasi dengan yang baru.
3.10.1 Seleksi Seleksi adalah proses memilih dua orang tua dari populasi untuk disilangkan. Gambar tersebut. 3.10menunjukkan proses seleksi dasar. Seleksi adalah metode yang secara acak mengambil kromosom daripopulasi sesuai dengan fungsi evaluasi mereka. Semakin tinggi fungsi fitness, semakin banyakkesempatan seorang individu harus dipilih. Tekanan seleksi didefinisikan sebagai sejauh mana individuyang lebih baik. tekanan seleksi ini mendorong GA untuk meningkatkan nilai fitness populasi selamabeberapa generasi berturut-turut. Tingkat konvergensi GA sangat ditentukan oleh besarnya tekananseleksi, dengan tekanan seleksi yang lebih tinggi sehingga tingkat konvergensi yang lebih tinggi.Gambar 3.10 Seleksi3.10.1.1 Seleksi Roulette WheelSeleksi Roulette adalah salah satu teknik seleksi GA tradisional. Operator reproduksi yang umumdigunakan adalah operator reproduksi proporsional di mana string dipilih dengan probabilitas sebandingdengan nilai fitness. Prinsip seleksi roulette adalah pencarian linear melalui roda roulette dengan slotpada roda tertimbang sebanding dengan nilai fitness individu.Proses Roulette dijelaskan di atas juga dapat dijelaskan sebagai berikut: Nilai yang diharapkan dariseorang individu adalah bahwa nilai fitness dibagi dengan nilai fitness yang sebenarnya dari populasi.Setiap individu ditugaskan pada roda roulette, ukuran sebanding dengan nilai fitness individu. rodaberputar N kali, di mana N adalah jumlah individu dalam populasi. Pada setiap putaran, individu dibawah penanda roda ini dipilih berada di barisan orangtua untuk generasi berikutnya.konvergensi lambat tapi mencegah konvergensi yag terlalu cepat. Hal ini juga membuat tekananperingkat. Yang terburuk memiliki nilai fitness 1 dan yang terbaik memiliki nilai fitness N. Hasilnyasedikit lebih mengganggu daripada seleksi sebelumnya.3.10.1.2 Seleksi AcakTeknik ini secara acak memilih orang tua dari populasi. Dalam hal gangguan kode genetik, seleksi acak3.10.1.3 Seleksi PeringkatSeleksi peringkat merupakan saat populasi dan setiap kromosom menerima nilai fitness berdasarkanketika varians fitness rendah. Cara lainnya yaitu :1. Pilih sepasang individu secara acak. Menghasilkan nomor acak, R, antara 0 dan 1. Jika R < rmenggunakan individu pertama sebagai orang tua. Jika R ≥ r kemudian menggunakanindividu kedua sebagai orang tua. Ini diulang untuk memilih orang tua kedua.Nilai r adalah parameter untuk metode ini.2. Pilih dua individu secara acak. Individu dengan evaluasi tertinggi menjadi orangtua.Ulangi untukmenemukan orang tua kedua.3.10.1.4 Seleksi TurnamenIndividu terbaik dari turnamen adalah satu dengan nilai fitness tertinggi, yang merupakan pemenangNu. Turnamen dan pemenang tersebut kemudian dimasukkan ke dalam kolom persilangan. Kompetisiturnamen diulang sampai kolom persilangan menghasilkan keturunan yang baru diisi. Perbedaan nilaifitness memberikan tekanan seleksi, yang mendorong GA untuk meningkatkan nilai fitness gen berhasil.Metode ini lebih efisien dan mengarah ke solusi optimal.3.10.1.5 Seleksi BoltzmannMetode ini mensimulasikan proses pendinginan lambat dari logam cair untuk mencapai nilai fungsiminimum dalam masalah minimisasi. Dalam seleksi Boltzmann suhu terus bervariasi mengontrol lajuseleksi sesuai jadwal yang telah ditetapkan. suhu mulai keluar tinggi, yang berarti tekanan seleksirendah. Suhu diturunkan secara bertahap, yang secara bertahap meningkatkan tekanan seleksi, sehinggamemungkinkan GA untuk mempersempit lebih dekat ke bagian terbaik dari ruang pencarian dengantetap menjaga tingkat yang sesuai keanekaragaman. Suhu logaritmik penurunan ditemukan bergunauntuk konvergensi tanpa terjebak ke keadaan minimal lokal. Tapi untuk mendinginkan sistem kekeadaan ekuilibrium membutuhkan waktu.3.10.1.6 Stochastic Universal SamplingStochastic Universal Sampling memberikan nol bias dan menyebar minimum. Individu dipetakan kesegmen bersebelahan dengan garis, sehingga segmen masing-masing individu sama dengan ukuranfitness yang persis seperti dalam seleksi roulette-wheel. pointer di sini sama spasi ditempatkan di atasgaris, sebanyak individu yang akan dipilih. Pertimbangkan NPointer jumlah individu yang akan dipilih,maka jarak antara pointer 1 / NPointer dan posisi pointer pertama diberikan oleh sejumlah secara acakdalam rentang [0, 1 / NPointer].Gambar 3.11 Stochastic Universal Sampling3.10.2 Crossover (Rekombinasi)Crossover adalah proses mengambil dua solusi orangtua dan memproduksi anak dari mereka. Setelahproses seleksi (reproduksi), populasi dicapai dengan individu yang lebih baik. Reproduksi membuatklon dari string yang bagus tetapi tidak membuat yang baru. Operator Crossover diterapkan pada kolom
persilangan dengan harapan bahwa hal itu menciptakan keturunan yang lebih baik
Crossover adalah operator rekombinasi yang keluar dalam tiga langkah:
i. Operator reproduksi memilih secara acak sepasang dua string individu untuk disilangkan.
ii. Sebuah situs lintas dipilih secara acak di sepanjang panjang string.
iii. Akhirnya, nilai-nilai posisi tertukar antara dua string sepanjang situs lintas








0 komentar:
Posting Komentar