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.
Ceci est une application pour démontrer comment fonctionne un algorithme génétique.
Il se compose essentiellement d'un tas de fusées qui doivent atteindre un but, en évitant les obstacles tirés par l'utilisateur.
Ils doivent apprendre le chemin à suivre pour gagner, en essayant des directions aléatoires au début, puis en sélectionnant ceux qui correspondent le mieux à la solution. Ils doivent également s'adapter à l'évolution, tout comme les êtres vivants font au cours des siècles.
Modification des paramètres (la taille de la population, le taux de mutation, vitesse et durée de vie), vous pouvez voir comment ils affectent l'évolution.
Comment ça marche:
Chaque roquette a un ADN qui définit sa trajectoire (affectant sa vitesse à chaque trame). Au commencer c'est généré de façon aléatoire.
A chaque génération suivante, l'ADN des fusées est construit à partir de deux « parents » de la génération précédente; les chances d'une fusée être parent pour la prochaine génération est proportionnelle à divers facteurs: la victoire, la chance de dépasser un obstacle, la mort, la distance de la cible, etc ...
Contrôles:
- Modes interrupteur: le bouton en bas à gauche vous permettent de basculer entre les modes de dessin obstacles. mode crayon: dessiner les obstacles à l'écran pour voir les fusées d'adaptation aux différentes situations environnementales; vous pouvez dessiner plusieurs obstacles; taille crayon peut être modifié dans les paramètres en cliquant sur le bouton en haut de l'écran. Mode Gomme: Touchez l'un des obstacles à supprimer celui-ci, appuyez et maintenez sur un endroit vierge pour les effacer.
- Pause: le bouton en bas à droite, vous pouvez mettre en pause la simulation pour attirer plus facilement les obstacles ou de visualiser l'historique des mises à jour / graphiques sans temps réel.
- Avance rapide: ce bouton accélère la vitesse de simulation; noter qu'il est possible que la trajectoire des fusées peut être légèrement différent entre les deux modes, en particulier avec de nombreuses fusées
- Histoire: le bouton en haut de l'écran, il ouvre l'histoire où vous pouvez voir les données de toutes les générations depuis le début de la simulation. Vous pouvez rejoindre les graphiques d'ici
- Touchez et faites glisser la cible pour le déplacer autour de l'écran.
- menu Retour: appuyez sur le bouton de retour sur votre appareil pour ouvrir le menu en arrière, où vous pouvez modifier les paramètres de la simulation (en cliquant sur appliquer) ou de chargement / sauvegarde états
Enregistrement de fichiers:
La dernière version utilise des fichiers binaires au lieu de texte brut, qui permet de réduire jusqu'à dix fois la mémoire utilisée et le temps de lecture / écriture; vous serez toujours en mesure de charger des fichiers (pas exporter) à partir d'anciennes versions.
Les fichiers exportés sont enregistrés dans SmartRockets de répertoire par défaut dans la racine du stockage interne. Nous avons essayé plusieurs gestionnaires de fichiers et vous devriez être en mesure de charger un fichier .srk juste en cliquant dessus (même de Google Drive, WhatsApp ou télégramme, etc ...) ou en sélectionnant notre application dans la liste affichée. Le seul qui nous a donné quelques problèmes est « Mes fichiers » de Samsung, qui quelques fois ne pas ouvrir les fichiers sans même montrer l'option « ouvrir avec »; dans ce cas, vous pouvez télécharger sur Google Drive ou l'ouvrir par un autre gestionnaire de fichiers.