1
I- Introduction :
Les algorithmes génétiques appartiennent à la famille des algorithmes évolutionnistes. Leur
but est d'obtenir une solution approchée à un problème d'optimisation, lorsqu'il n'existe pas de
méthode exacte (ou que la solution est inconnue) pour le résoudre en un temps raisonnable.
Les algorithmes génétiques s'inspirent de la notion de sélection naturelle et l'appliquent à une
population de solutions potentielles au problème donné. La solution est approchée par
« bonds » successifs, comme dans une procédure de séparation et évaluation (branch &
bound), à ceci près que ce sont des formules qui sont recherchées et non plus directement des
valeurs.
- Population initiale : Ensemble aléatoire de solutions potentielles générées au début
de l’algorithme.
- Évaluation : Processus qui mesure la qualité de chaque solution à l’aide d’une
fonction d’adaptation (fitness).
- Sélection : Choix des meilleures solutions selon leur évaluation pour participer à la
reproduction.
- Croisement : Combinaison de deux solutions sélectionnées pour créer de nouvelles
solutions.
- Mutation : Modification aléatoire d’une solution pour introduire de la diversité dans
la population.
2
II- But du TP :
- Se familiariser avec les techniques d’optimisation de type méta-heuristique et
particulièrement la méthode des algorithmes génétiques
- Utiliser python pour appliquer cette approche afin d’optimiser les équations
mathématiques (Google Colab)
- Utiliser un algorithme génétique (AG) pour segmenter automatiquement une image
médicale
III- Implémentation avec python :
Partie I :
Implémenter en python un algorithme génétique capable de trouver le maximum
de la fonction
𝐟(𝐱) = 𝟏𝟓 𝐱 − 𝐱 𝟐
Etape 1 : Représentation des données sous forme de gène et chromosomes
Le gène est représenté par 0 ou 1 tandis que le chromosome (solution) est représenté par 4
gènes et la population aussi est représenté par 6 chromosomes
3
Test des fonctions
Dans cette étape on a testé les deux fonctions binary_to_int(chromosome) et
int_to_Binary (x)
Etape 2 : Initialisation des variables
Test des fonctions
On a généré aléatoirement 6 chromosomes (solutions x1, x6) parce que la taille initiale
de la population N = 6
4
Etape 3 : Sélection des chromosomes pour la reproduction
Etape 4 : Croisement
Le croisement entre les parents a été appliqué sur un point
Test de la fonction
La fonction crossover imite la reproduction biologique en combinant le matériel
génétique de deux parents pour créer deux nouveaux descendants avec une diversité
génétique.
5
Etape 5 : Mutation
Test de la fonction
La fonction mutate simule les mutations génétiques en modifiant aléatoirement des
gènes individuels dans un chromosome, ce qui peut conduire à de nouvelles variations
et à l'exploration de l'espace de solutions.
Algorithme génétique global :
6
Test de la fonction
Partie II : Segmentation d’images médicales par Algorithme Génétique
But de cette partie :
- Modéliser un seuil (ou plusieurs seuils) comme un chromosome
- Utiliser un algorithme génétique pour optimiser la segmentation
1- Importer les bibliothèques nécessaires
2- charger l’image médicale en niveaux de gris
7
Test de la fonction
3- Définir le format du chromosome
8
4- La fonction d’évaluation Fitness
5- Implémenter l’algorithme génétique
9
Conclusion
L’algorithme génétique est une méthode d’optimisation inspirée de la sélection naturelle, qui
permet de trouver des solutions efficaces à des problèmes complexes en simulant les
mécanismes de l’évolution biologique.
10