varie d’une génération à une autre (les chromosomes et
leurs templates correspondants, taille).
L’agent Interface a comme accointances tous les
agents Espèce, sa connaissance statique consiste aux
données du CSP, et ses connaissance dynamique :
meilleur chromosome (le chromosome qui présente la
meilleure solution partielle).
2.2. Processus génétique détaillé de chaque
agent Espèce
Ce processus est différent de l'AG canonique par
l'utilisation des templates et de l'heuristique de
minimisation de conflits. Il commence par déterminer le
mating-pool qui comprend des paires de chromosomes
qui sont aléatoirement sélectionnées en utilisant la
procédure mettre_en_paire. A partir de chaque paire de
chromosomes, l'opérateur de croisement produit un seul
chromosome fils. Le croisement de deux chromosomes
parents n'aura lieu que si on génère un nombre
aléatoire, entre 0 et 1 inférieur à la probabilité de
croisement fixée par l'utilisateur au début du traitement.
En utilisant la nouvelle structure de données
template, un fils généré hérite les meilleurs gènes, i.e.
les gènes les plus "fort", de ses parents. La probabilité
pour un chromosome parent chromosomep (p=p1 ou
p2), où Somme=templatep1,q+ templatep2,q pour propager
son gènep,q à son chromosome fils est égale à 1-
(templatep,q/somme) . Ceci confirme le fait que les gènes
les plus forts, i.e. qui possèdent le plus grande valeur
de AFF, possèdent plus de chance que les autres d'être
hérités par le chromosome fils.
Pour chacun des chromosomes sélectionnés suivant la
probabilité de mutation P
mut , on applique aussi la
probabilité de guidage Pguid. L'utilisation de l'heuristique
de minimisation des conflits par l'Espècei est un
processus aléatoire de probabilité Pguid.
Si on n’a pas à utiliser le guidage, on effectuera une
mutation classique, aléatoire. Dans ce cas, l'un des
gènes du chromosome sera choisie aléatoirement. Une
valeur choisit aléatoirement de son domaine lui sera
affectée et le chromosome résultat va prendre la place
du chromosome muté.
Le cas échéant, il s'agit de parcourir le template
correspondant au chromosome et de déterminer le gène
(variable) qui est impliqué dans le minimum de la
fonction AFF, ensuite, on va sélectionner une valeur
pour ce gène à partir de son domaine et finalement
l'instancier par cette valeur.
De même, si on détecte plusieurs gènes qui
possèdent la même valeur de template, alors on choisit
aléatoirement l'un d'eux. On s'intéresse donc au gène le
plus "faible" vu qu'on veut maximiser ses chances
d'être remplacé par une autre valeur qui améliore valeur
de AFF. Si on n'arrive pas à améliorer le chromosome,
dans le sens que la valeur de son AFF demeure
inchangée, alors on prend la nouvelle valeur, en vue
d'améliorer l'exploration et si la valeur de la fonction
AFF du chromosome en question est plus petite, alors
on garde l'ancien chromosome.
Donc, selon l'opérateur de guidage on peut
dégrader une solution en vue de donner plus de chance
à l'exploration. Et la mutation sera une mutation à la fois
guidée et aléatoire. Si le chromosome donne une valeur
de AFF appartenant au même intervalle, alors il sera
ajouté à la population des chromosomes fils et Espècei
poursuit son comportement. Si non, Espècei vérifie
dans sa liste d'accointance en vue de chercher Espècej
correspondant à la spécificité de ce chromosome. Si ce
dernier existe alors on va lui envoyer le chromosome en
question sinon ce chromosome va être envoyé à l'agent
interface (qui va créer un nouvel agent Espècej et va lui
affecter le chromosome et informer les autres agents).
Il faut signaler qu'il y a le cas particulier d'une
population mono-chromosomique: une population est
dite mono-chromosomique si elle contient un seul
chromosome. Le processus génétique que nous lui
appliquons commence directement par l'opérateur de
mutation, du fait que les procédures d'appariement et de
croisement s'appliquent seulement sur une population
qui contient au moins deux chromosomes. Cet état (une
population de taille très réduite) ne persiste pas, étant
donné que grâce aux transferts de messages qui sont
fréquents d'une espèce à une autre, une telle sous-
population augmentera de taille au cours des
générations.
OPT-D3G2A est base sur le NEO-DARWINISM [17]
les lois de la nature « The Preservation of favoured
races in the struggle for life ». En effet nous
augmenterons la probabilité de croisement des espèces
fortes (une grande valeur de AFF) et nous diminuerons
la probabilité de mutation des espèces faibles. Donc
Pcross and Pmut seront calculés en fonction de la valeur de
la fonction fitness AFF et du nouvel opérateur que
nous appellerons ε. Cet opérateur est une pondération
ayant des valeurs dans l’intervalle 0 à 1.
Dans le but d’enrichir plus notre approche, nous
allons donner plus d’autonomie aux agents Espèce. En
effet nous ajoutons un nouvel opérateur pour
l’algorithme génétique utilisé. Cet opérateur est le LOD
pour détecteur d’optima locaux. Ce dernier représente le
nombre de génération pendant lesquelles le voisinage
ne présente pas d’améliorations c’est a dire que le
processus de recherche est bloqué dans un optimal