Mengapa lebih dari satu kromosom per solusi (atau genotipe)?

Saya mencoba untuk mulai menggunakan perpustakaan Jenetics JAVA untuk algoritma genetika dan ada sesuatu yang saya tidak mengerti dari latar belakang terbatas GA saya;

Seperti yang saya pahami, GA menghasilkan populasi Array m elemen, di mana setiap array adalah solusi potensial untuk dievaluasi, setelah dievaluasi, solusi potensial diurutkan dan yang terbaik dipilih untuk membuat populasi baru, dll. Tapi saya menemukan bahwa solusi (Genotipe) di Jenetics adalah daftar array di mana setiap array adalah apa yang saya pahami sebagai solusi potensial, juga setiap array dapat memiliki panjang yang berbeda dan saya tidak mengerti mengapa menggunakan struktur ini daripada vektor gen.

Lihat halaman enam dari panduan, bagian 3.1.3.

Jika memungkinkan, saya ingin tahu mengapa demikian. Saya berharap pertanyaannya cukup jelas.


person Santi Peñate-Vera    schedule 20.06.2015    source sumber


Jawaban (2)


"Array" solusi potensial (Phenotpyes/Genotypes) dikumpulkan dalam Populasi. Genotipe mewakili satu solusi yang mungkin. Jangan bingung dengan struktur 2 dimensi Genotipe, ini akan memberi Anda fleksibilitas tambahan untuk memodelkan masalah yang lebih rumit. Geneotipe masih mewakili satu solusi yang mungkin dan satu individu dari Populasi.

Genotipe untuk GA biner klasik dapat dibuat dengan mudah:

Genotype<BitGene> gt = Genotpe.of(BitChromosome.of(15));

Lihat juga model domainnya, gambar 3.1 di manual. Bagian 6.1 mencoba memberi Anda contoh pengkodean tambahan.

jenetics, genetic-algorithm

person Franz Wilhelmstötter    schedule 21.06.2015

Apa yang Anda jelaskan adalah populasi dalam algoritma genetika dasar. Ada banyak teknik untuk memperbaikinya, salah satunya adalah pengkodean adaptif.

Istilah yang Anda cari adalah rekombinasi kumpulan gen (yang dimodifikasi) dengan teknik pengkodean adaptif.

Rekombinasi kumpulan gen beroperasi pada seluruh populasi, bukan pada unit tunggal dan populasi yang berevolusi. Ini mungkin mempertahankan struktur yang sama atau tidak.

Lihatlah ide ini dari sudut pandang biologi:

  • Di alam, mula-mula terdapat organisme yang lebih sederhana dan kemudian berevolusi menjadi organisme yang lebih kompleks.

Motivasi yang sama dapat digunakan dengan algoritma genetika. Pada awalnya ada unit sederhana yang dapat berkembang seiring waktu - dengan kata lain panjang dan struktur solusi tidak harus konstan.

Tidak ada cara sederhana untuk menyandikan informasi secara universal untuk GA, jadi Anda harus mempertimbangkannya untuk setiap masalah yang dihadapi. Anda mungkin memerlukan atau tidak memerlukan rekombinasi kumpulan gen, pengkodean biner dasar, atau seleksi proporsional dasar. Opsi-opsi ini sangat bergantung pada masalah yang Anda coba selesaikan, dan ketepatan solusi/waktu yang dibutuhkan oleh algoritma yang dapat diterima.

Pengkodean Biner dasar yang mewakili vektor gen sederhana namun GA memiliki kelemahan yaitu tidak efisien dalam menemukan tetangga terdekat.

Perhatikan contoh berikut:

  • ada solusi 15 dan 16 (01111, 10000)

  • jarak hamming antara kedua bilangan tersebut adalah 5

Agar GA berubah dari 15 menjadi 16, semua 5 bit harus diubah. Jadi, GA mempunyai masalah dengan bilangan diskrit tetangga. Salah satu cara untuk memperbaikinya adalah dengan menggunakan kode Gray yang memungkinkan Anda memiliki jarak 1 antara semua solusi.

person John    schedule 20.06.2015
comment
Maksud Anda tiba-tiba suatu kandidat solusi dapat memiliki lebih banyak gen? - person Santi Peñate-Vera; 20.06.2015
comment
Ya, seluruh populasi dapat berevolusi untuk memiliki lebih banyak gen. - person John; 20.06.2015