Mengenal Pengertian, Sejarah, Teknik dan Algoritma Pada Komputasi Evolusioner Part 1

Dipublikasikan oleh Dias Perdana Putra

19 Februari 2024, 11.18

Burung kutilang Darwin oleh John Gould (Wikipedia)

Komputasi Evolusioner

Dalam ilmu komputer, komputasi evolusioner adalah seperangkat algoritme pengoptimalan global yang terinspirasi oleh evolusi biologis dan subbidang kecerdasan buatan serta komputasi lunak yang mempelajari algoritme ini. Secara teknis, ini adalah rangkaian pemecah masalah coba-coba berbasis populasi dengan fungsi optimasi metaheuristik atau stokastik.

Dalam komputasi evolusioner, serangkaian solusi awal yang mungkin dihasilkan dan diperbarui secara berulang. Setiap generasi baru diciptakan dengan menghilangkan solusi yang kurang diinginkan secara stokastik, memperkenalkan perubahan kecil secara acak, dan, bergantung pada metodenya, mengacak informasi induknya. Dalam terminologi biologi, populasi solusi mengalami seleksi alam (atau seleksi buatan), mutasi, dan kemungkinan rekombinasi.Akibatnya, populasi secara bertahap akan berevolusi untuk meningkatkan kebugaran, dalam hal ini fungsi kebugaran yang dipilih dari algoritma.

Teknik komputasi evolusioner dapat memberikan solusi yang sangat optimal terhadap berbagai masalah, menjadikannya populer dalam ilmu komputer. Ada banyak varian dan ekstensi yang disesuaikan dengan masalah dan struktur data yang lebih spesifik. Evolusi komputasi juga terkadang digunakan dalam biologi evolusi sebagai metode eksperimental in silico untuk mempelajari aspek umum dari proses evolusi umum.

Sejarah

Konsep meniru proses evolusi untuk memecahkan masalah sudah ada sebelum munculnya komputer, misalnya ketika Alan Turing mengusulkan metode pencarian genetik pada tahun 1948. Mesin tipe B Turing menyerupai jaringan saraf primitif, dan hubungan antar neuron dipelajari melalui sejenis algoritma genetika. Mesin tipe P mereka menyerupai metode pembelajaran penguatan, di mana sinyal kesenangan dan rasa sakit menginstruksikan mesin untuk mempelajari perilaku tertentu. Meskipun makalah Turing baru diterbitkan pada tahun 1968 dan dia meninggal pada tahun 1954, karya-karya awal ini berdampak kecil pada perkembangan bidang komputasi evolusioner.

Komputasi evolusioner sebagai suatu bidang dimulai dengan sungguh-sungguh pada tahun 1950an dan 1960an.Pada tahun 1962, Lawrence J. Fogel mulai meneliti pemrograman evolusioner di Amerika Serikat, yang dianggap sebagai upaya kecerdasan buatan. Dalam sistem ini, mesin keadaan terbatas digunakan untuk menyelesaikan masalah prediksi: mesin ini akan bermutasi (menambah atau menghapus keadaan atau mengubah aturan transisi keadaan), dan mesin yang bermutasi lebih baik ini akan berkembang di generasi mendatang. Mesin keadaan terbatas terakhir dapat menghasilkanprediksi sesuai permintaan. Metode pemrograman evolusioner telah berhasil diterapkan pada masalah prediksi, identifikasi sistem, dan kontrol otomatis.Seiring waktu, ini telah diperluas untuk memproses data deret waktu dan pengembangan model strategi permainan.

Pada tahun 1964, Ingorechnerberg dan Hans-Paul Pelz memperkenalkan paradigma strategi evolusioner di Jerman. Karena teknik penurunan gradien tradisional menghasilkan hasil yang dapat terperangkap dalam nilai minimum lokal, Rechnerberg dan Pelz menyarankan bahwa mutasi acak (diterapkan pada semua parameter vektor solusi) dapat digunakan untuk menghindari nilai minimum ini. Solusi sekunder adalah hasil dari solusi primer, dan solusi yang paling berhasil dipertahankan untuk generasi mendatang.Teknik ini pertama kali digunakan oleh keduanya hingga berhasil memecahkan masalah optimasi dalam dinamika fluida. Awalnya, teknik optimasi ini dilakukan tanpa komputer, melainkan menggunakan dadu untuk menentukan mutasi acak.Jika metode sebelumnya hanya melacak satu organisme optimal dalam satu waktu (anak-anak bersaing dengan orang tuanya), algoritma genetika Holland melacak populasi besar (dengan banyak organisme bersaing di setiap generasi).

Pada tahun 1990-an, pendekatan baru terhadap komputasi evolusioner muncul, yang kemudian disebut pemrograman genetik, antara lain didukung oleh John Koza. Pada kelas algoritma ini, pokok bahasan evolusinya sendiri adalah program yang ditulis dalam bahasa pemrograman tingkat tinggi. Bagi Koza, programnya adalah ekspresi Lisp S, yang dapat dipandang sebagai pohon subekspresi. Representasi ini memungkinkan program untuk bertukar subpohon yang mewakili semacam campuran genetik.Program diberikan poin berdasarkan seberapa baik mereka melakukan tugas tertentu, dan poin ini digunakan untuk seleksi buatan. Induksi sekuens, pengenalan pola, dan perencanaan adalah penerapan paradigma pemrograman genetik yang berhasil.

Banyak tokoh lain yang berperan dalam sejarah komputasi evolusioner, meskipun karya mereka belum tentu cocok dengan salah satu cabang sejarah utama bidang ini. Simulasi komputer evolusi pertama yang menggunakan algoritma evolusi dan teknik kehidupan buatan dilakukan oleh Nils Aall Barricelli pada tahun 1953 dan hasil pertama dipublikasikan pada tahun 1954. Pelopor lain pada tahun 1950an adalah Alex Fraser, yang menerbitkan serangkaian artikel tentang simulasi kehidupan buatan. Pilihan.Seiring dengan meningkatnya minat akademis, peningkatan dramatis dalam kekuatan komputer memungkinkan penerapan praktis, termasuk pengembangan program komputer secara otomatis. Algoritme evolusioner sekarang digunakan untuk memecahkan masalah multidimensi dengan lebih efisien daripada perangkat lunak yang dibuat oleh perancang manusia dan juga untuk mengoptimalkan desain sistem.

Teknik

Teknik komputasi evolusioner mencakup berbagai algoritma optimasi metaheuristik yang digunakan untuk memecahkan masalah yang kompleks. Bidang ini mencakup pemodelan berbasis agen, optimasi koloni semut, sistem kekebalan buatan, kehidupan buatan (termasuk organisme digital), algoritma budaya, algoritma koevolusi, evolusi diferensial, evolusi multifase, algoritma estimasi distribusi, algoritma evolusi, pemrograman strategi evolusi dan evolusi, gen pemrograman ekspresi, algoritma genetika, pemrograman genetik, tata bahasa evolusioner, model evolusioner yang dapat dipelajari, sistem klasifikasi pembelajaran, algoritma memetika, neuroevolusi, optimalisasi kawanan partikel, pencarian antena kumbang, pengorganisasian mandiri sebagai peta yang diatur sendiri, pembelajaran kompetitif dan kecerdasan massa. Meskipun katalog ini berisi banyak algoritma yang diusulkan, penting untuk dicatat bahwa beberapa algoritma baru mungkin memiliki validasi eksperimental yang tidak memuaskan.Untuk informasi lebih lanjut tentang berbagai algoritma, lihat Bestiary of Evolutionary Computation.

Disadur dari : https://en.wikipedia.org/wiki/Evolutionary_computation