AI-For-Beginners/translations/fr/lessons/6-Other/21-GeneticAlgorithms
localizeflow[bot] 6588f07ae1 chore(i18n): sync translations with latest source changes (chunk 1/1, 382 changes) 2026-01-30 01:03:05 +00:00
..
Diophantine.ipynb 🌐 Update translations via Co-op Translator 2025-08-31 15:31:48 +00:00
Genetic.ipynb 🌐 Update translations via Co-op Translator 2025-08-31 15:31:48 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 382 changes) 2026-01-30 01:03:05 +00:00

README.md

Algorithmes Génétiques

Quiz avant le cours

Les Algorithmes Génétiques (AG) reposent sur une approche évolutionnaire de l'IA, dans laquelle les méthodes d'évolution d'une population sont utilisées pour obtenir une solution optimale à un problème donné. Ils ont été proposés en 1975 par John Henry Holland.

Les Algorithmes Génétiques sont basés sur les idées suivantes :

  • Les solutions valides au problème peuvent être représentées sous forme de gènes
  • Le croisement permet de combiner deux solutions pour obtenir une nouvelle solution valide
  • La sélection est utilisée pour choisir les solutions les plus optimales à l'aide d'une fonction d'évaluation
  • Des mutations sont introduites pour déstabiliser l'optimisation et sortir d'un minimum local

Pour implémenter un Algorithme Génétique, vous avez besoin de :

  • Trouver une méthode pour coder les solutions de votre problème en utilisant des gènes g∈Γ
  • Sur l'ensemble des gènes Γ, définir une fonction d'évaluation fit: Γ→R. Les valeurs plus petites de la fonction correspondent à de meilleures solutions.
  • Définir un mécanisme de croisement pour combiner deux gènes et obtenir une nouvelle solution valide crossover: Γ2→Γ.
  • Définir un mécanisme de mutation mutate: Γ→Γ.

Dans de nombreux cas, les mécanismes de croisement et de mutation sont des algorithmes assez simples pour manipuler les gènes sous forme de séquences numériques ou de vecteurs binaires.

La mise en œuvre spécifique d'un algorithme génétique peut varier selon les cas, mais la structure générale est la suivante :

  1. Sélectionner une population initiale G⊂Γ
  2. Sélectionner aléatoirement une des opérations à effectuer à cette étape : croisement ou mutation
  3. Croisement :
  • Sélectionner aléatoirement deux gènes g1, g2 ∈ G
  • Calculer le croisement g=crossover(g1,g2)
  • Si fit(g)<fit(g1) ou fit(g)<fit(g2) - remplacer le gène correspondant dans la population par g.
  1. Mutation - sélectionner un gène aléatoire g∈G et le remplacer par mutate(g)
  2. Répéter à partir de l'étape 2, jusqu'à obtenir une valeur suffisamment petite de fit, ou jusqu'à atteindre la limite du nombre d'étapes.

Tâches typiques

Les tâches généralement résolues par les Algorithmes Génétiques incluent :

  1. Optimisation des plannings
  2. Emballage optimal
  3. Découpe optimale
  4. Accélération de la recherche exhaustive

✍️ Exercices : Algorithmes Génétiques

Poursuivez votre apprentissage dans les notebooks suivants :

Rendez-vous sur ce notebook pour voir deux exemples d'utilisation des Algorithmes Génétiques :

  1. Partage équitable d'un trésor
  2. Problème des 8 reines

Conclusion

Les Algorithmes Génétiques sont utilisés pour résoudre de nombreux problèmes, notamment en logistique et en recherche. Ce domaine s'inspire de recherches qui ont fusionné des sujets en Psychologie et en Informatique.

🚀 Défi

"Les algorithmes génétiques sont simples à implémenter, mais leur comportement est difficile à comprendre." source Faites des recherches pour trouver une implémentation d'un algorithme génétique, comme pour résoudre un puzzle Sudoku, et expliquez son fonctionnement sous forme de croquis ou de diagramme de flux.

Quiz après le cours

Révision & Auto-apprentissage

Regardez cette excellente vidéo qui explique comment un ordinateur peut apprendre à jouer à Super Mario en utilisant des réseaux neuronaux entraînés par des algorithmes génétiques. Nous en apprendrons davantage sur l'apprentissage des jeux par ordinateur dans la section suivante.

Devoir : Équation Diophantienne

Votre objectif est de résoudre une équation diophantienne - une équation avec des racines entières. Par exemple, considérez l'équation a+2b+3c+4d=30. Vous devez trouver les racines entières qui satisfont cette équation.

Cet exercice est inspiré de cet article.

Conseils :

  1. Vous pouvez considérer les racines dans l'intervalle [0;30]
  2. Comme gène, envisagez d'utiliser la liste des valeurs des racines

Utilisez Diophantine.ipynb comme point de départ.