Quelques Généralités
Nous allons introduire ici les deux concepts généraux qui nous ont servi lors du projet. Tout
d’abord une très brève description des algorithmes génétiques sera donnée afin d’avoir une
petite idée sur leur mode de fonctionnement.
Ensuite, nous présenterons les quadtrees, structure que nous avons utilisée pour coder l’image
à segmenter et qui sera le code génétique de chaque individu.
Principe des algorithmes génétiques
Les algorithmes génétiques sont des algorithmes d’optimisation qui s’inspirent des
mécanismes de l’évolution. En effet, ils reposent sur le principe d’hérédité.
Fondamentalement ce genre d’algorithme permet d’optimiser une fonction grâce aux
mécanismes de l’évolution. A partir du moment où un problème peut se transformer en
problème d’optimisation il peut être traité par ces algorithmes.
Le mécanisme global est le suivant. Une population est composée d’individus dont le génome
code une solution de la fonction à optimiser. Ces individus vont s’accoupler et donner des
enfants. Lors de la reproduction les génomes peuvent subir des cross-overs et des mutations,
comme dans la réalité. Puis, une sélection se fait parmi l’ensemble parents – enfants. On peut
choisir les meilleurs, tous les enfants plus les meilleurs parents, au hasard etc. Toutes ces
modalités vont modifier le comportement de l’algorithme, sa vitesse de convergence, etc.
Notons qu’une sélection s’opère aussi lors du choix des parents à la reproduction. On peut
forcer les meilleurs à se reproduire entre eux ou bien faire un choix au hasard par exemple. Là
encore cela aura une influence sur le résultat, la vitesse de convergence, etc.
Tout comme dans la réalité, l’évolution n’est ni rapide, ni constante. En effet, il peut exister
des paliers qui peuvent parfois durer plusieurs générations mais qui ne représentent pas le
résultat escompté ! Les paramètres comme la probabilité de mutation, de cross-over, le
nombre de point de coupure lors d’un cross-over, les stratégies de sélection peuvent changer
le comportement de l’évolution.
L’algorithme génétique consiste donc à faire « reproduire » des individus afin d’obtenir la
solution optimale de la fonction d’évaluation. Celle-ci va donc assurer la convergence de
l’algorithme (au moyen de la sélection) mais aussi son arrêt. Si un individu satisfait la
fonction dans des critères choisis par le programmeur, il peut être alors considéré comme la
solution optimale au problème.
Le thème étant vaste et complexe, nous ne rentrerons pas dans le détail de ce type
d’algorithme. Par contre, nous emploierons la terminologie utilisée dans le domaine,
terminologie que nous avons introduit dans ce paragraphe.