Mengamati proses evolusi mobil dengan algoritma genetika
(rednuht.org)-
Program simulasi evolusi mobil menggunakan algoritma genetika
- Tujuannya adalah menggunakan algoritma genetika untuk mengembangkan bentuk roda dua acak menjadi mobil melalui beberapa generasi
- Berbasis pada BoxCar2D, tetapi ditulis ulang dari awal dan hanya menggunakan mesin fisika yang sama (
box2d) - Menggunakan library
seedrandom.jskarya David Bau
-
Kontrol dan pengaturan
- Tersedia fitur
Save/Restore Populationuntuk menyimpan dan memulihkan populasi saat ini secara lokal - Toggle
Surprisedapat mematikan dan menyalakan gambar untuk meningkatkan kecepatan simulasi New Populationmemulai ulang hanya populasi mobil sambil mempertahankan trek yang sama- Trek yang sama selalu dihasilkan dengan seed yang sama, sehingga bisa bersaing dengan teman
Mutation rateadalah probabilitas setiap gen pada tiap individu bermutasi ke nilai acak saat generasi baru lahirMutation sizeadalah rentang perubahan yang dapat terjadi pada tiap gen; makin kecil angkanya, makin dekat ke nilai asliElite clonesberarti n mobil terbaik yang akan disalin ke generasi berikutnyaView top replaymenjeda simulasi saat ini dan menampilkan mobil dengan performa terbaik
- Tersedia fitur
-
Grafik
- Merah: skor tertinggi di setiap generasi
- Hijau: rata-rata 10 mobil terbaik di setiap generasi
- Biru: rata-rata seluruh generasi
-
Komposisi genom
- Bentuk (1 per titik sudut, total 8 gen)
- Ukuran roda (1 per roda, total 2 gen)
- Posisi roda (1 per roda, total 2 gen)
- Kepadatan roda (1 per roda, total 2 gen) - semakin gelap, semakin padat
- Kepadatan sasis (1 gen) - semakin gelap, semakin padat
-
Hal tambahan
- Simulasi tidak deterministik, jadi mobil terbaik mungkin tidak selalu menunjukkan performa yang konsisten
- Kompleksitas medan meningkat seiring jarak
- Kini kodenya tersedia di GitHub beserta kontribusi komunitas
1 komentar
Komentar Hacker News
Ringkasannya sebagai berikut:
boxcar2dserupa, tetapi diimplementasikan tanpa Flash)