This is an app to demonstrate how a genetic algorithm works.
It basically consists of a bunch of rockets that have to reach a goal, avoiding obstacles drawn by the user.
They have to learn the path to follow to win, by trying random directions at the beginning, and then selecting the ones that best fit the solution. They also have to adapt to the changing environment, just like living beings do during the centuries.
Modifying the parameters (the population size, mutation ratio, velocity and lifetime) you can see how they affects the evolution.
How does it work:
Each rocket has a DNA that sets its trajectory (affecting his velocity at every single frame). At the begin this is randomly generated.
At each following generation, the DNA of the rockets is built from two 'parents' from the previous generation; the chances of a rocket being parent for the next generation is proportional to various factors: victory, chance of overtaking an obstacle, death, distance to target, etc...
Controls:
- Modes switch: the bottom left button let you switch between the obstacles drawing modes. Pencil mode: draw the obstacles on the screen to see the rockets adapting to the various environmental situations; you can draw multiple obstacles; pencil size can be modified in the settings by clicking the button on top of the screen. Eraser mode: Touch one of the obstacles to delete that one, press and hold on a blank spot to erase them all.
- Pause: the bottom right button, you can pause the simulation to draw obstacles more easily or to visualize history/charts without real time updates.
- Fast forward: this button speeds up the simulation speed; note that it is possible that the rockets trajectory can be slightly different between the two modes, especially with many rockets
- History: the button on top of the screen, it opens the history where you can see the data of all the generations since the beginning of the simulation. You can reach the charts from here
- Touch and drag the target to move it round the screen.
- Back menu: press the back button on your device to open the back menu, where you can change the parameters of the simulation (clicking on apply) or load/save states
Saving files:
The latest version uses binary files instead of plain text, that allows to reduce up to ten times the memory used and the read/write time; you will still be able to load files (not export) from old versions.
Exported files are saved in default directory SmartRockets in the root of the internal storage. We tried several file managers and you should be able to load a .srk file just clicking on it (even from Google Drive, WhatsApp or Telegram, etc...) or selecting our app in the list displayed. The only one that gave us some problems is "My Files" from Samsung, which some times didn't open the files without even showing the option "open with"; in that case you can upload to Google Drive or open it through another file manager.
Ini adalah sebuah aplikasi untuk menunjukkan bagaimana algoritma genetika bekerja.
Hal ini pada dasarnya terdiri dari sekelompok roket yang harus mencapai tujuan, menghindari rintangan ditarik oleh pengguna.
Mereka harus belajar jalan untuk mengikuti untuk menang, dengan mencoba arah acak di awal, dan kemudian memilih orang-orang yang terbaik sesuai dengan solusi. Mereka juga harus beradaptasi dengan perubahan lingkungan, seperti makhluk hidup lakukan selama berabad-abad.
Memodifikasi parameter (ukuran populasi, rasio mutasi, kecepatan dan seumur hidup) Anda bisa melihat bagaimana mereka mempengaruhi evolusi.
Bagaimana cara kerjanya:
Setiap roket memiliki DNA yang menetapkan lintasan (mempengaruhi kecepatan nya pada setiap frame tunggal). Di mulai ini dihasilkan secara acak.
Pada setiap generasi berikut, DNA roket dibangun dari dua 'orang tua' dari generasi sebelumnya; kemungkinan orang tua roket menjadi untuk generasi berikutnya sebanding dengan berbagai faktor: kemenangan, peluang menyalip kendala, kematian, jarak ke sasaran, dll ...
kontrol:
- Mode beralih: tombol kiri bawah membiarkan Anda beralih di antara hambatan menggambar mode. Modus pensil: menggambar hambatan pada layar untuk melihat roket beradaptasi dengan berbagai situasi lingkungan; Anda dapat menarik beberapa hambatan; Ukuran pensil dapat dimodifikasi dalam pengaturan dengan mengklik tombol di atas layar. Mode Eraser: Sentuh salah satu kendala untuk menghapus satu, tekan dan tahan di tempat yang kosong untuk menghapus mereka semua.
- Jeda: tombol kanan bawah, Anda dapat menghentikan sebentar simulasi untuk menarik hambatan lebih mudah atau untuk memvisualisasikan sejarah / grafik tanpa update real time.
- Fast forward: kecepatan tombol ini hingga kecepatan simulasi; dicatat bahwa adalah mungkin bahwa roket lintasan dapat sedikit berbeda antara dua mode, terutama dengan banyak roket
- Sejarah: tombol di atas layar, membuka sejarah di mana Anda dapat melihat data semua generasi sejak awal simulasi. Anda dapat mencapai grafik dari sini
- Sentuh dan tarik target untuk memindahkannya putaran layar.
- Kembali menu: tekan tombol kembali pada perangkat Anda untuk membuka menu kembali, di mana Anda dapat mengubah parameter simulasi (mengklik berlaku) atau load / save negara
Menyimpan file:
Versi terbaru menggunakan file biner bukan teks biasa, yang memungkinkan untuk mengurangi hingga sepuluh kali memori yang digunakan dan waktu membaca / menulis; Anda akan tetap dapat memuat file (tidak mengekspor) dari versi lama.
file yang diekspor disimpan dalam SmartRockets direktori default di root penyimpanan internal. Kami mencoba beberapa file manajer dan Anda harus dapat memuat file .srk hanya mengkliknya (bahkan dari Google Drive, WhatsApp atau Telegram, dll ...) atau memilih aplikasi kami di daftar yang ditampilkan. Satu-satunya yang memberi kami beberapa masalah adalah "My Files" dari Samsung, yang beberapa kali tidak membuka file tanpa menampilkan pilihan "terbuka dengan"; dalam hal ini Anda dapat meng-upload ke Google Drive atau membukanya melalui manajer file lain.