Genetic Algorithm Optimization Problems (Masalah Optimisasi Algoritma Genetika)

Masalah Optimisasi Algoritma Genetika

1. Masalah Optimisasi Fuzzy

Optimisasi Fuzzy menjelaskan sebuah masalah optimisasi dengan fungsi objektif Fuzzy dan batasan pada Fuzzy. Hasil tersebut didapatkan dari metode umum dari optimisasi yang melibatkan variabel deterministik yang menunjukkan berbagai kekurangan. Masalah deterministik optimisasi yang umum menurut :

Dianggap berada dalam aspek ketidakpastian, dan diperpanjang. Untuk fungsi objektif z (x,e) solusi optimum Xopt dari set suatu rancangan variabel X yang ditentukan dari kepatuhan dengan batasan kesetaraan hj(x,e) dan batasan ketidaksetaraan gi(x,e). Menimbang parameter ketidakpastian merupakan variabel Fuzzy, masalah optimisasi deterministik diperlebar hingga menjadi masalah optimisasi Fuzzy :


Solusi numerik dari masalah optimisasi Fuzzy adalah berdasarkan optimisasi level-alpha.

1.1. Optimisasi Multiobjektif Fuzzy

Misalkan kita diberikan suatu masalah pemrograman matematika multiobjektif dimana hubungan fungsional antara variabel keputusan dan tujuan fungsi tidak sepenuhnya diketahui. Maka, disarankan untuk menggunakan metode penalaran Fuzzy Tsukamoto untuk menentukan hubungan fungsional yang tajam antara variabel keputusan dan fungsi objektif. Masalah optimisasi multiobjektif Fuzzy dapat dinyatakan dan diselesaikan dengan berbagai cara. Kita anggap masalah optimisasi pada bentuk:


Dimana Gk, k = 1 ... K, atau/dan X ditentukan oleh istilah fuzzy. Maka, untuk mencari x* yang akan memaksimalkan Gk didalam batasan Fuzzy (X). Sebagai contoh, masalah pemrograman linear multiobjektif Fuzzy dapat dinyatakan dalam :


Dimana x irisan IR^n merupakan vektor dari variabel keputusan, A' = (a'ij), b' = (b'ij), c' = (c'ij) merupakan jumlah Fuzzy, hubungan ketidaksetaraan <= diberikan oleh hubungan Fuzzy tertentu dan X adalah set Fuzzy yang menjelaskan konsep " x memenuhi A'x <= b' ".

Disini, kita mengaggap terdapat pernyataan baru dari masalah optimisasi multiobjektif Fuzzy yaitu:


Dimana x1 ... xn merupakan variabel linguistik, dan :


merupakan satu-satunya pengetahuan yang tersedia mengenai nilai-nilai G, sedangkan Aij dan Cik adalah angka Fuzzy. Berikut ini adalah masalah optimisasi non-linier :


1.1.1. Optimisasi Multiobjektif didalam Aturan If-Then Fuzzy

Kita anggap masalah diatas memiliki Aij kontinyu mewakili nilai linguistik dari xi, dan dengan ketat monoton dan kontinyu Cik, i = 1 ... m mewakili nilai linguistik dari Gk, k = 1 ... K. Untuk dapat menenukan solusi dari masalah tersebut, kita harus menentukan nilai ketajaman dari fungsi objektif Gk yang ke-k dari basis aturan Fuzzy menggunakan metode penalaran Fuzzy Tsukamoto seperti berikut :


Menunjukkan bahwa tingkat pembakaran dari aturan ke-i. Untuk menentukan tingkat pembakaran aturan, disarankan untuk menggunakan keluaran dari t-norm. Sehingga, masalah tersebut berubah menjadi masalah pemrograman matematika.


1.2 Metode Optimasi Fuzzy Interaktif

Metode




Advanced Operators and Techniques in Genetic Algorithm (Operator dan Teknik Lanjutan dalam Algoritma Genetika)

Operator dan Teknik Lanjutan dalam Algoritma Genetika

Genotipe yang paling sederhana adalah kromosom haploid atau tunggal. Kromosom haploid hanya mengandung satu set gen yaitu, satu alel untuk menempati setiap lokus. Ketika alam membangun kehidupan yang lebih kompleks maka, diperlukan struktur kromosom dan ini dapat dicapai dengan diploid. Dalam bentuk diploid, suatu genotipe membawa satu atau lebih pasangan kromosom yang berisi informasi untuk fungsi yang sama. Misalkan sebuah struktur kromosom diploid dimana huruf yang berbeda mewakili alel yang berbeda :

P q r s t
P Q R S T

Alel mewakili sifat gen tertentu. Awalnya, di alam masing-masing alel dapat mewakili sifat fenotipik yang berbeda. Pada contoh di atas, kita asumsikan bahwa semua huruf besar dominan dan semua huruf kecil resesif maka, fenotip diekspresikan sebagai :

P q r S t
                                      --> P Q R S t
p Q R S t

Dominasi adalah operator genetik yang digunakan untuk menghitung fenotip dari nilai alel yang dimungkinkan pada posisi gen. Dominasi dan diploidi dapat dengan mudah diimplementasikan dalam algoritma genetika, kita asumsikan ada 3 alel :

(0) - Disandikan untuk gen 0;
(1) - Disandikan secara resesif untuk gen 1;
(2) - Disandikan secara dominan untuk gen 1.

Rasio fenotip untuk dominasi adalah 3 : 1 yang dicapai untuk pasangan alel 0 dengan 1, dan 0 dengan 2. Dominasi dapat berkembang melalui substitusi alel 1 untuk 2 dan sebaliknya.


Dalam algoritma genetika, diploidi mungkin berguna dalam aplikasi on-line dimana sistem dapat beralih diantara kondisi.


Algoritma genetika multiploid menggabungkan beberapa kandidat untuk setiap gen di dalam genotip tunggal dan menggunakan beberapa bentuk mekanisme dominasi untuk memutuskan mana pilihan masing-masing gen aktif dalam fenotip. Genotip multiploid yang ditunjukkan pada gambar dibawah berisi kromosom p, panjang L, dan mask yang menentukan kromosom p mana yang dominan pada posisi tertentu dalam kromosom. Informasi ini diterjemahkan menjadi fenotip sebagai berikut :



Nilai alel a pada lokus i dalam mask menunjukkan bahwa gen ke-i dalam kromosom dengan indeks a menjadi gen ke-i dari fenotip. Dalam gambar di atas, panjang mask adalah m dan panjang kromosom L maka, gen di lokus "i" dalam mask dengan nilai 'a' menunjukkan bahwa set ke-i dari L/m secara bersamaan dalam kromosom ke-a yang dominan.



Pembalikan adalah operator genetika yang tidak teratur dan mengkode ulang. Operator pembalikan adalah mekanisme alami utama untuk mengkode ulang masalah. Di operator pembalik, dua titik dipilih di sepanjang kromosom, kromosom dipotong pada titik-titik tersebut dan titik-titik akhir dari potongan dibalikkan. Sebagai contoh, anggap ada sebuah kromosom dengan panjang 8 dimana dua titik pembalik dipilih secara acak :

1   1  ^  0   1   1   1  ^  0   1

Dengan menggunakan operator pembalik maka, hasilnya akan menjadi :

1   1   1   1   1   0   0   1

Tujuan adanya pembalikan adalah untuk mengurangi panjang string sehingga mereka dapat bertahan lebih lama. Algoritma dasar untuk pembalikan dapat diberikan sebagai berikut :


Terdapat beberapa operator pengkode ulang, yang merupakan variasi pada pembalikan, yaitu :
1. Pembalikan linear;
2. Pembalikan linear + end;
3. Pembalikan berkelanjutan;
4. Pembalikan massa.

Fitur pembalikan dan crossover dikombinasikan sehingga menghasilkan sebuah operator pengkode ulang adalah :
1. Partially Matched Crossover (PMX);
2. Order Crossover (OX);
3. Cycle Crossover (CX).

3.1 Partially Matched Crossover (PMX)

Di PMX, dua string diselaraskan dan dua titik crossover dipilih secara seragam secara acak. Anggap terdapat dua string :


Dua titik dipilih secara acak dan PMX dilanjutkan berdasarkan posisi pertukaran. Diantara titik crossover ditukarkan. Ini dilakukan dengan memetakan induk B ke induk A. Jadi setelah PMX, keturunan yang dihasilkan sebagai berikut :


3.2 Order Crossover (OX)

OX dimulai dengan cara yang mirip dengan PMX tetapi bukan menggunakan pertukaran antar titik seperti PMX akan tetapi, OX menggunakan gerakan penggeseran dengan mentransfer posisi yang sudah dipetakan. Anggap terdapat sebuah kromosom induk :


Pada pemetaan induk B dengan induk A, titik 3,6, dan 5 dibiarkan kosong


Tempat kosong tersebut diisi dengan penggeseran yang dimulai dengan kedua titik crossover


Tempat kosong tersebut kemudian diisi dengan bagian yang cocok yang diambil dari induk A, sehingga keturunan yang dihasilkan seperti yang ada di bawah :


3.3 Cycle Crossover (CX)

CX berbeda dengan PMX dan OX, CX bekerja dengan rekombinasi dibawah batasan bahwa setiap gen berasal dari induk atau yang lain.


Di algoritma genetika relung biasanya merujuk kepada hal yang membuat kelompok tertentu menjadi unik, seperti memiliki tingkat kebugaran yang sama, genotip, dll. Sementara spesiasi merujuk kepada individu yang berada dalam kelompok tersebut.

4.1 Relung dan Spesiasi dalam Masalah Multimodal

Kita anggap terdapat sebuah mesin slot dua tangan, jika satu orang bermain, dia akan akan mencoba tiap tangan untuk beberapa saat untuk mengetahui siapa yang memiliki hasil lebih besar dan akan seterusnya menggunakan tangan tersebut. Sekarang kita anggap bahwa sekelompok orang memainkan mesin slot yang sama dan grup yang bermain harus berbagi kemenangan mereka dan begitu sebaliknya. Pemain diperbolehkan mengganti grup untuk meningkatkan bagian mereka. 

Jika kita anggap M adalah total orang yang bermain :


Kemudian, orang-orang yang membentuk kelompok di masing-masing lengan diberikan oleh persamaan berikut : 


Algoritma genetika menggunakan kepanikan untuk diterapkan di fungsi multimodal untuk menghadapi 2 masalah utama, yang pertama adalah distribusi individu secara merata di semua puncak seperti gambar di bawah :


Setiap puncak dalam lanskap solusi dapat dilihat sebagai relung yang terpisah. Aplikasi algoritma genetika yang berhasil harus menghasilkan beberapa individu yang tersebar di masing-masing relung. Masalah kedua ialah induk dari berbagai spesies yaitu relung yang berbeda cenderung menghasilkan anak yang tidak terpakai sehingga, induk yang menempati relung yang berbeda harus dikucilkan dari perkawinan. Berikut gambar yang mengilustrasikan masalah tersebut :


4.1.1 Crowding

Penanganan yang dilakukan untuk mencegah genotip tunggal mendominasi populasi, adalah dengan memastikan bahwa individu yang baru lahir akan menggantikan induk yang memiliki genotip yang mirip. Crowding mencoba untuk mempertahankan populasi yang seimbang dengan cara memilih formasi sel individu secara acak dan melalui perhitungan jarak hamming, akan dipilih korban yang cocok.

Keuntungan dari crowding adalah beberapa individu harus diperiksa kapan memilih korban, karena formasi sel biasanya berjumlah 2 atau 3. Penggantian individu yang serupa ini bertindak untuk mencegah satu genotip dari mengambil alih populasi secara sepenuhnya, sehingga memungkinkan relung yang kurang bugar untuk terbentuk dalam populasi utama.

4.1.2 Sharing

Pada metode sharing, individu yang berada dalam suatu populasi memiliki sumber daya yang terbatas sehingga mereka harus berjuang. Akan tetapi, sharing merupakan metode yang sangat spesifik terhadap masalah yang harus diketahui.

Menentukan fungsi Sharing berdasarkan kesamaan :


Atau, berdasarkan kesamaan pada fenotip (nilai kode) dibanding genotip :


Semakin mirip kromosomnya maka, semakin banyak nilai kebugaran yang harus dibagi. Setiap kromosom memiliki faktor berbagi yang dikalkulasikan :


Kebugaran kromosom dihitung ulang dengan membagi kebugaran asli dengan faktor pembagi :


4.2 Relung dan Spesiasi dalam Masalah Unimodal

Penggunaan relung dalam masalah multimodal adalah pemetaan sederhana, dengan evolusi dari berbagai spesies yang berbeda untuk tiap puncak dari lanskap solusi. Akan tetapi, pemetaan ini tidaklah mudah di masalah unimodal yang biasanya hanya memiliki satu puncak, atau memiliki satu puncak yang lebih tinggi dibanding yang lain.

Terdapat beberapa metode yang tidak secara ketat menggunakan relung, metode ini memastikan individu yang baru lahir cukup berbeda dari populasi lainnya yaitu, Pencegahan Klon dan Algoritma Genetika Keadaan Tunak (Steady State Genetic Algorithms/SSGA). Dua metode ini beroperasi dengan cara yang mirip dengan crowding. Akan tetapi, kedua metode ini memiliki biaya yang tinggi.

4.2.1 Pencegahan Inses

Pencegahan Inses berusaha untuk menjodohkan induk dengan niat anak mereka mengambil gen terbaik dari induk mereka. Hal ini dilakukan dengan mengawinkan induk yang berbeda satu sama lain. Ketika populasi berevolusi, individual di dalamnya menjadi lebih mirip, sehingga lebih menyulitkan untuk mencari induk yang sesuai. Untuk menghindari hal tersebut, terdapat ambang batas yang diterapkan yang memudahkan dalam pemilihan induk.

Pencegahan Inses mendorong perkawinan antar spesies, karena lanskap kebugaran di fungsi unimodal cenderung seperti yang terlihat dibawah:

SET THRESHOLD
REPEAT
FOR EACH INDIVIDUAL DO
TEST INDIVIDUAL
ENTER PARENT POPULATION
IF NO-NEW-PARENTS THEN LOWER THRESHOLD
FOR EACH INDIVIDUAL DO
REPEAT
SELECT PARENTS
UNTIL DIFFERENT()
UNTIL END-CRITERION REACHED OR THRESHOLD=0

Cara ini hanya akan berhasil jika sebuah individu lebih bugar dibandingkan anggota yang memiliki kebugaran paling rendah di populasi induk.

4.2.2 Algoritma Pigmi

Algoritma Pigmi digunakan pada masalah yang memiliki dua atau lebih kebutuhan. Misal, evolusi dari suatu solusi yang harus efisien dan singkat. Relung digunakan dengan memiliki dua fungsi kebugaran yang terpisah sehingga menciptakan dua spesies individu dari tiap spesies kemudian dianggap sebagai jenis kelamin yang berbeda, dan ketika orang tua dipilih untuk menciptakan individu baru, suatu individu ditarik dari masing-masing spesies dengan maksud dari tiap induk mengerahkan tekanan dari fungsi kebugarannya.

Berikut ini ialah pseudocode untuk Algoritma Pigmi:

REPEAT
FOR EACH INDIVIDUAL DO
TEST INDIVIDUAL WITH MAIN FITNESS FUNCTION
ENTER PARENT POPULATION #1
IF UNSUCCESSFUL
TEST INDIVIDUAL WITH SECONDARY FITNESS FUNCTION
ENTER PARENT POPULATION #2
FOR EACH INDIVIDUAL DO
SELECT PARENT FROM POPULATION #1
SELECT PARENT FROM POPULATION #2
CREATE NEW INDIVIDUAL
UNTIL END-CRITERION REACHED

Tiap relung diimplementasikan sebagai kelompok elitis yang terpisah, karena untuk setiap relung, yang mempertahankan individu pada lanskap solusi yang serupa.

4.3 Perkawinan Terbatas

Tujan dari perkawinan terbatas ini ialah untuk mendorong spesiasi dan mengurangi produksi yang cacat yang terjadi saat terdapat keturunan dari induk yang berbeda relung. Alam mencegah hal ini dengan dengan mencegah terjadinya perkawinan dari spesies yang berbeda, menggunakan berbagai teknik.


5. Operator Mikro

5.1 Segregasi dan Translokasi

Segregasi merupakan proses pemilihan acak dalam penyusunan gamet. Segregasi mengekploitasi organisasi kromosom yang tepat. Maka dari itu, operator translokasi digunakan sebagai operator crossover antar kromosom. Operator ini dapat diimplementasikan dengan menghubungkan alel dengan nama gen mereka.

5.2 Duplikasi dan Penghapusan

Terdapat juga operator tingkat rendah untuk melakukan pencarian algoritma genetika, yaitu Duplikasi dan Penghapusan. Duplikasi antar kromosom dilakukan dengan menduplikasikan gen tertentu dan menempatkannya dalam keturunannya. Untuk operator penghapusan dilakukan dengan cara menghapus gen ganda dari kromosom. Tingkat mutasi dapat dikontrol secara efektif oleh kedua operator ini, dimana duplikasi dapat meningkatkan tingkat mutasi sedangkan penghapusan menurunkan tingkat mutasi.

5.3 Penentuan Seksual

Penentuan jenis kelamin ditangani secara berbeda pada spesies yang berbeda.Sebagai contoh, kelamin manusia ditentukan dari salah satu dari 23 pasang kromosom. Perempuan memiliki kromosom XX dan laki-laki memiliki kromosom XY. Pada saat pembuahan, kromosom X dari perempuan akan digabungkan dengan kromosom X atau kromosom Y dari laki-laki. Dengan menerapkan strategi yang sama maka, pembentukan perbedaan jenis kelamin secara efektif membagi spesies menjadi 2 atau lebih kelompok.


6. Representasi Non-Biner

Kromosom adalah urutan simbol yang berupa angka biner sehingga, setiap simbol memiliki kardinalitas 2. Huruf kardinalitas yang lebih tinggi telah digunakan di beberapa penelitian dan diyakini diantaranya memiliki keunggulan. Goldberg berpendapat bahwa secara teori, representasi biner memberikan jumlah terbesar terhadap skema dan menyediakan paralelisme implisit tingkat tinggi. Tetapi Antonisse mengartikan skema secara berbeda, dan menyimpulkan bahwa huruf kardinalitas yang lebih tinggi yang mengandung lebih banyak skema dibanding biner.

Goldberg kini telah mengembangkan teori yang menjelaskan mengapa representasi kardinalitas tinggi dapat bekerja dengan baik. Teorinya mengatakan bahwa setiap simbol bertemu dalam beberapa generasi pertama hanya menyisakan sejumlah kecil kemungkinan nilai-nilai. Dengan cara ini, setiap simbol secara efektif hanya memiliki kardinalitas rendah. Berbagai operator bilangan real dapat dengan mudah dipertimbangkan, misal:

1. Operator Kombinasi
* Rata-rata : Mengambil rata-rata aritmatika dari gen kedua induk.
* Rata-rata geometris : Mengambil nilai akar kuadrat dari produk kedua nilai.
* Extension : Mengambil perbedaan antara dua nilai dan menambahkan atau mengurangi nilai tersebut.

2. Operator Mutasi
* Penggantian acak : Mengganti nilai dengan nilai acak.
* Creep : Menambah atau mengurangi jumlah nilai secara acak dalam jumlah kecil.
* Creep geometris : Mengkalikan nilai acak mendekati satu.


7. Optimalisasi Multi-Objektif

Pada masalah optimasi multi-objektif, beberapa fungsi perlu dioptimalkan secara bersamaan. Pada kasus ini, tidak terdapat solusi yang tebaik dengan semua objektif karena adanya perbedaan antar objektif. Oleh karena itu, biasanya ada seperangkat solusi untuk masalah multi-objektif, solusi ini disebut Solusi Optimal Pareto atau solusi yang tidak mendominasi.

Dengan menggunakan konsep optimalisasi Pareto, kita dapat menemukan seperangkat solsui yang optimal bagi tiap objektif.


8. Optimalisasi Kombinasi

Optimalisasi kombinasi mengandung sejumlah besar masalah dengan fitur dan properti yang berbeda. Berikut adalah karakteristik dari masalah-masalah tersebut:

* Untuk menentukan permutasi beberapa item yang terkait dengan masalah.
* Untuk menentukan kombinasi dari beberapa item.
* Untuk menentukan permutasi dan kombinasi dari beberapa item.

Pendekatan umum untuk mengaplikasikan algoritma genetika dalam masalah ini ialah:

* Menggunakan algoritma genetika untuk mengevolusi permutasi dan/atau kombinasi dari item yang dipertimbangkan.
* Menggunakan pendekatan heuristik untuk membangun solusi sesuai dengan permutasi dan kombinasi.


9. Teknik Berbasis Pengetahuan

Sebagian besar peneliti sudah menggunakan algoritma genetika menggunakan crossover tradisional dan operator mutasi, tetapi sudah banyak yang menganjurkan untuk merancang sebuah operator baru untuk setiap tugas, dengan ber-domain kan pengetahuan. Sehingga, hal ini akan membuat algoritma genetika lebih spesifik terhadap tugas dan meningkatkan performa secara signifikan. Dimana algoritma genetika dirancang unntuk menangani masalah nyata dan harus bersaing dengan teknik optimasi lainnya. Berbagai metode untuk menggabungkan informasi spesifik dari masalah dengan algoritma genetika adalah sebagai berikut:

- Skema hibrida.
- Operator yang diarahkan dengan pengetahuan.
- Komputer paralel.

Dalam skema hibrida, algoritma genetika digunakan untuk mendekati nilai optimal, kemudian skema optimasi konvensional dapat digunakan untuk lebih mendekati nilai optimal. Skema hibrida dapat direpresentasikan menggunakan skema seperti yang terlihat pada gambar dibawah:


Pada operator yang diarahkan menggunakan pengetahuan dapat digunakan untuk:

- Menghasilkan sistem Steiner.
- Menghitung mutasi dan crossover yang dipertahankan.
- Mutasi yang diarahkan pada tujuan.

Pada komputer paralel pada algoritma genetika menggunakan operasi master/slave. Master melakukan seleksi dan perkawinan, sedangkan slave mengevaluasi kebugaran dari kromosom baru. Master menunggu hingga seluruh slave menyelesaikan tugas atau master dapat membagikan pekerjaan baru kepada tiap slave setelah slave tersebut menyelesaikan pekerjaannya. Hal ini dapat terlihat pada gambar dibawah:

Evolutionary Computation (Komputasi Evolusi)

Komputasi Evolusi





Komputasi evolusi (Evolutionary Computation /EC) mengabstraksi prinsip-prinsip evolusi ke dalam algoritma yang dapat digunakan untuk mencari solusi optimal dalam suatu masalah. Di sebuah algoritma pencarian, sejumlah solusi yang mungkin untuk masalah yang tersedia dan tugas dari algoritma tersebut adalah untuk menemukan solusi terbaik dalam jumlah waktu yang tetap. 


Dalam sejarah komputasi evolusi terdapat empat paradigma sejarah yang berfungsi sebagai pondasi dari bidang ini yaitu :
1, Algoritma genetika (Holland, 1975)
2. Pemrograman genetika (Koza, 1992, 1994)
3. Strategi evolusi (Recheuberg, 1973)
4. Pemrograman evolusi (Forgel et al, 1966)

2.1 Algoritma Genetika

Teknik yang paling populer dalam penelitian komputasi evolusi adalah algoritma genetika.  Dalam algoritma genetika tradisional, representasi yang digunakan adalah sebuah string dengan panjang yang tetap. Setiap posisi dalam string diasumsikan mewakili suatu fitur dari sebuah individu, dan nilai yang disimpan di posisi itu mewakili bagaimana fitur tersebut dinyatakan dalam sebuah solusi. 

Operator reproduksi yang utama yang digunakan adalah crossover bit-string, dimana dua buah string digunakan sebagai induk dan individu baru dibentuk dengan menukar sub-urutan dia antara kedua string tersebut. Operator populer lainnya adalah bit-flipping mutation, dimana satu bit dalam sebuah string dibalik untuk membentuk string keturunan baru.



Semua operator juga dibatasi untuk memanipulasi string dengan cara yang konsisten dengan interpretasi struktural gen. Untuk contoh, terdapat dua gen di lokasi yang sama pada dua string yang dapat ditukar antar induk, tetapi tidak digabungkan berdasarkan nilai-nilai mereka.

2.2 Pemrograman Genetika

Dalam standar program genetika, representasi yang digunakan adalah pohon fungsi dan nilai yang berikuran variabel, Tiap daun dalam pohon merupakan label dari sebuah set nilai label yang tersedia. Tiap cabang internal dalam pohon tersebut merupakan label dari set fungsi label yang tersedia. Keseluruhan pohon berkaitan dengan satu fungsi yang dapat dievaluasi. Umumnya, pohon dievaluasi dengan kedalaman paling kiri-cara pertama. Sebuah daun dievaluasi sebagai nilai yang sesuai. Fungsi dievaluasi menggunakan argumen yang merupakan hasil dari evaluasi anak-anaknya. 

Operator yang paling umum digunakan adalah subtree crossover, dimana keseluruhan subtree ditukar antar induk. Prinsip penutupan (Closure Principle) yang dikemukan oleh Koza memungkinkan subtree apa pun untuk dapat dipertimbangkan secara struktural setara dengan subtree yang lain, dan memastikan bahwa operator seperti persilangan sub-tree akan selalu menghasilkan keturunan yang sah.






2.3 Strategi Evolusi

Dalam strategi evolusi, representasi yang digunakan adalah vektor dengan panjang yang ditentukan dan memiliki nilai riil. Seperti halnya string bit dari algoritma genetika, setiap posisi dalam vektor seusia dengan fitur individu. Namun, fitur dipertimbangkan menjadi perilaku daripada struktural.

Operator reproduksi utama dalam strategi evolusi adalah mutasi Gaussian, dimana nilai acak dari distribusi Gaussian ditambahkan ke setiap elemen dari suatu vektor individu untuk membuat keturunan baru. Operator lain yang digunakan adalah rekombinasi menengah, dimana vektor dari dua induk diratakan bersama, elemen demi elemen, untuk membentuk suatu keturunan baru.

Umumnya di strategi evolusi, N induk dipilih seragam secara acak dan tidak didasarkan pada kebugaran, lebih dari N keturunan yang dihasilkan melalui penggunaan rekombinasi, dan kemudian N yang selamat dipilih secara deterministik. Individu yang bertahan hidup dipilih baik dari keturunan N yang terbaik.





2.4 Pemrograman Evolusi

Pemrograman evolusi mengambil sebuah gagasan untuk mewakili fenotipik individu sekutu sebagai meisn yang mampu untuk bertindak kepada ransangan dari luar dan mengenmbangkan operator untuk melakukan perubahan struktural dan perilaku dari waktu ke waktu. Ide ini diterapkan pada berbagai masalah termasuk masalah prediksi, pembelajaran dan pembelajaran mesin.

Representasi yang digunakan dalam pemrograman evolusi biasanya dirancang untuk domain masalah. Salah satu representasi yang biasa digunakan adalah vektor yang memiliki nilai. Metode pemilihan yang umum adalah memilih semua individu dalam populasi menjadi induk N, untuk mutasi setiap orang tua untuk membentuk anak N, dan untuk pemilihan secara probabilitas, berdasarkan kebugaran, N yang selamat dari total 2N individu akan membentu generasi selanjutnya.

3. Fitur Komputasi Evolusi 

Terdapat tiga fitur fundamental dari evolusi biologis :

1. Gen partikular dan genetika populasi;
2. Kode genetik adaptif;
3. Dikotomi genotipe dan fenotipe.

Setiap fenomena dipilih untuk mewakili titik-titik yang berbeda dalam spektrum kemungkinan hubungan antara komputasi dan teori evolusi biologis. Hal pertama yang dilakukan adalah mencari tahu apakah komputasi evolosi saat ini telah sepenuhnya mentransfer dasar-dasar dari evolusi biologis. Yang kedua, menunjukkan bagaimana para teoritis dari evolusi biologis dan komputasi evolusi dapat berkontribusi pada pemahaman umum mengenai abstraksi evolusi. Yang ketiga, adalah menggambarkan pertanyaan tentang evolusi biologis pada komputasi evolusi yang tampaknya lebih cocok untuk diatasi dibanding evolusi biologis.

3.1 Gen Partikular dan Genetika Populasi

Genetika populasi klasik dan sistem komputasi evolusi eksperimental telah berfokus pada apakah dan bagaimana konteks ini mempromosikan tekanan selektif untuk keterkaitan gen ke "kompleks gen yang saling beradaptasi". Pengamatan yang lebih sederhana adalah bahwa novel, potensi alel yang menguntungkan untuk efek epistatik negatif adalah integral untuk keberhasilan mikro-evolusi. Probabilitas akan mendukung fiksasi alel yang merupakan  "pemain tim" yang baik, untuk mempercepat proses adaptif. Ini mempertahankan pewarisan non-campuran dan bahkan pergeseran genetik, tetapi tidak jelas apakah metode tersebut menggabungkan filter implisit genetika populasi untuk alel "primadona" yang hanya menawarkan keuntungan adaptif mereka ketika konteks genetik mereka biasa saja.

3.2 Buku Kode Adaptif

Biologi molekular Central Dogma, menghubungkan gen ke fenotipe dengan menyatakan bahwa DNA dintranskripsikan menjadi RNA, yang kemudian diterjemahkan menjadi protein. Istilah transkripsi dan terjemahannya cukup jelas : RNA adalah bahan kimia yang bersaudara dengan DNA, keduanya adalah polimer yang dibentuk dari alfabet empat huruf kimia (nukleotida), dan transkripsi tidak lebih dari sebuah proses dari melengkapi DNA, huruf demi huruf masuk ke dalam RNA. 

3.3 Dikotomi Genotip/Fenotip


Teori terkini tentang asal-usul dikotomi ini berfokus pada penemuan bahwa RNA dapat bertindak baik sebagai media penyimpanan genetik, dan sebagai molekul katalitik. Dalam inti metabolisme yang paling terkonservasi, semua organisme yang diketahui ditemukan menggunakan molekul RNA dalam peran yang biasanya kita berikan pada protein.




Namun, jawaban untuk bagaimana dikotomi berevolusi sebagian besar menutupi pertanyaan mengapa RNA mengembangkan representasi fenotipe yang berbeda secara kualitatif. Jawaban biologis yang tepat adalah bahwa ukuran alfabet asam amino yang lebih besar melepaskan keragaman katalitik yang lebih besar untuk replikator, dengan peningkatan kecanggihan metabolisme terkait yang mengoptimalkan replikasi diri. 

Mengingat keberadaan genotip asam nukleat dan fenotip protein nukleat dalam kehidupan, biologi sulit sekali menilai signifikansi evolusi “bahasa representasional” ini. Jelas koloni komputasi evolusi jauh di depan biologi dalam memformalkan konsep. bahasa representasional, dan mengeksplorasi apa artinya. Biologi akan meningkat ketika programmer evolusioner menempatkan sistem kita dalam temuan mereka, menggambarkan potensi inspirasi biologis dari komputasi evolusi.

Komputasi evolusioner, menggambarkan bidang investigasi yang menyangkut semua algoritma evolusi dan memberikan keuntungan praktis untuk beberapa masalah optimasi. Keuntungannya termasuk pendekatan sederhana, responsnya yang kuat terhadap keadaan yang berubah, fleksibilitas, dan sebagainya. 

4.1 Konseptual Sederhana

Keuntungan utama dari perhitungan evolusi adalah bahwa hal itu sederhana secara konsep. Gambar dibawah menunjukkan diagram alur dari algoritma evolusioner yang diterapkan untuk optimasi fungsi. Algoritma terdiri dari inisialisasi, variasi berulang, dan seleksi berdasarkan indeks kinerja. Secara khusus, tidak ada informasi gradien yang perlu disajikan ke algoritma. Lebih dari iterasi variasi acak dan seleksi populasi dapat dibuat untuk bertemu dengan solusi optimal. Efektivitas suatu algoritma evolusi tergantung pada variasi dan operator seleksi sebagaimana diterapkan pada representasi dan inisialisasi yang dipilih.



4.2 Penerapan yang Lebih Luas

Algoritma evolusioner dapat diterapkan pada masalah yang dapat dirumuskan sebagai masalah optimasi fungsi. Untuk menyelesaikan masalah ini, diperlukan struktur data untuk mewakili solusi, untuk mengevaluasi solusi baru dari solusi lama. Representasi dapat dipilih oleh manusia berdasarkan intuisinya. Representasi harus memungkinkan operator variasi yang memelihara hubungan perilaku antara induk dan anak. Perubahan kecil dalam struktur induk akan menyebabkan perubahan kecil pada keturunan, dan perubahan besar yang sama pada induk akan menyebabkan perubahan drastis pada keturunan. Dalam hal ini, algoritma evolusi dikembangkan, sehingga dapat diatur dengan cara adaptif sendiri. Ini membuat perhitungan evolusi diterapkan pada cakupan luas pada area, masalah kombinasi diskrit, masalah campuran bilangan bulat, dan sebagainya.

4.3 Hibridisasi dengan Metode Lain

Algoritma evolusi dapat dikombinasikan dengan teknik optimasi yang lebih tradisional. Ini sesederhana penggunaan minimalisasi konjugat-gradien yang digunakan setelah pencarian primer dengan algoritma evolusi. Ini juga dapat melibatkan aplikasi simultan dari algoritma seperti penggunaan pencarian evolusi untuk struktur model yang digabungkan dengan pencarian gradien untuk nilai parameter. Selanjutnya, perhitungan evolusioner dapat digunakan untuk mengoptimalkan kinerja jaringan saraf, sistem fuzzy, sistem produksi, sistem nirkabel, dan struktur program lainnya.

4.4 Sifat Paralel

Evolusi adalah proses yang sangat paralel. Ketika komputer pengolah yang terdistribusi menjadi lebih populer tersedia, akan ada potensi yang meningkat untuk menerapkan komputasi evolusioner untuk masalah yang lebih kompleks. Umumnya solusi individu dievaluasi secara independen dari evaluasi yang ditugaskan untuk solusi yang bersaing. Evaluasi setiap solusi dapat ditangani secara paralel dan pemilihan hanya memerlukan beberapa operasi serial. Akibatnya, waktu berjalan yang diperlukan untuk suatu aplikasi mungkin berbanding terbalik dengan jumlah prosesor. Selain itu, mesin komputasi saat ini memberikan kecepatan komputasi yang cukup untuk menghasilkan solusi saat masalah sulit dalam waktu yang wajar.

4.5 Perubahan Kuat ke Dinamis

Komputasi evolusioner tidak dapat digunakan untuk mengadaptasi solusi pada keadaan yang berubah. Populasi yang dihasilkan dari solusi yang dikembangkan memberikan dasar untuk perbaikan lebih lanjut dan dalam banyak kasus, tidak perlu menginisialisasi ulang populasi secara acak. Metode adaptasi dalam menghadapi lingkungan yang dinamis adalah kuncinya. Sebagai contoh, Wielaud (1990) menerapkan algoritma genetika untuk mengembangkan jaringan saraf berulang untuk mengontrol sistem poles-gerobak yang terdiri dari dua kutub. Pada gambar dibawah, tujuannya adalah untuk mempertahankan kereta di antara batas-batas lintasan sementara keduanya tidak membiarkan salah satu kutub melebihi sudut maksimum yang ditentukan. Kontrol yang tersedia di sini adalah gaya, yang digunakan untuk menarik dan mendorong gerobak. Kesulitan di sini adalah kesamaan panjang tiang.


4.6 Menyelesaikan Masalah yang Tidak Terpecahkan

Keuntungan dari algoritma evolusi mencakup kemampuannya untuk mengatasi masalah yang tidak ada keahlian manusianya. Meskipun keahlian manusia harus digunakan ketika dibutuhkan dan tersedia, sering terbukti kurang memadai untuk rutinitas pemecahan masalah otomatis. Kecerdasan artifisial dapat diterapkan pada beberapa masalah sulit yang membutuhkan kecepatan komputasi tinggi, tetapi mereka tidak dapat bersaing dengan kecerdasan manusia. 



Aplikasi perhitungan evolusi meliputi bidang-bidang berikut :

1. Medis/Ilmu Kedokteran (misalnya dalam deteksi kanker payudara).
2. Aplikasi Teknik (termasuk listrik, mekanik, sipil, produksi, penerbangan, dan robotika).
3. Masalah penjual keliling.
4. Kecerdasan mesin.
5. Sistem dari para ahli
6. Desain dan pengaturan rute jaringan
7. Jaringan komunikasi berkabel dan nirkabel, dan sebagainya.


Meskipun sejarah perhitungan evolusi berasal dari tahun 1950-an dan 1960-an, namun dalam 10 tahun terakhir algoritma evolusi mampu memecahkan masalah dunia nyata pada komputer desktop. Tiga fitur dasar dari algoritma evolusi biologis juga dibahas. Untuk gen praktis, kami bertanya apakah perhitungan Evolusi dapat diperoleh dari biologi dengan mempertimbangkan dinamika terperinci di mana alel menguntungkan menyerang populasi tipe liar. Kode genetik adaptif menggambarkan bagaimana perhitungan evolusi dan penelitian evolusi biologis dapat berkontribusi pada pemahaman umum tentang dinamika evolusi. Untuk dikotomi genotipe dan fenotipe, biologi sulit sekali untuk menilai signifikansi bahasa representasional.