gradle/wrapper | ||
src/main/java | ||
.gitignore | ||
build.gradle | ||
gradlew | ||
gradlew.bat | ||
README.md | ||
settings.gradle |
Projet d'Algorithme Génétique - Intelligence Artificielle
Description
Ce projet implémente un algorithme génétique (GA) en Java dans le cadre de mon cours d'introduction à l'IA.
Dans ce projet, l'algorithme vise à trouver la meilleure solution pour trouver la sortie d'un labyrinthe, le tout en utilisant le moins de mouvements possible.
Fonctionnalités
Ce projet implémente une inteface graphique afin de pouvoir visualiser les mouvements du meilleur individu de chaque génération.
Librairies
- Jaylib (Binding de Raylib en java) - Pour le GUI
- Gradle Shadow - Pour la compilation du projet
Utilisation
Une version est téléchargeable depuis la page Release du dépôt GitHub.
Le programme permets de visualiser de façon dynamique comment le meilleur individu de chaque génération se comporte. De plus, il est possible de modifier certains critères afin de voir leurs effets sur la population.
Les critères modifiable
- Nombre d'itération: Le nombre d'itération afin que l'algorithme ne s'arrête.
- Taille de la population : Le nombre d'individus dans chaque génération.
- Taux de mutation : La probabilité qu'une mutation se produise.
- Taux de croisement : ???.
- Taux de selectivité : Le nombre d'individus qui seront gardés pour créer la génération suivante.
Exemples d'application
Ce projet est adapté pour comprendre, et visualiser comment un algorithme génétique explore, et trouve une solution à un problème donné. Bien que ce projet reste très simple, il peut être utile pour apprendre.
Auteur
- Nabil Ould Hamou - Étudiant en Master ISA
Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.