Algorithme genetique

ahmed -  
 ahmed -
Salut tout le monde

Je voudrais avoir un exemple d'algorithme génétique écrit en Matlab car je vais utiliser l'algorithme génétique comme outil pour l'optimisation d'un moteur et je ne connais pas le squelette d'un algorithme génétique.
A voir également:

1 réponse

varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
 
1.Population de base générée aléatoirement:

n chaînes de caractères ou de bits.1 chaîne correspond à 1 chromosome.

2.Évaluation:

à chaque chaîne, une note correspondant à son adaptation au problème.

3.Sélection :

tirage au sort de n/2 couples de chaînes sur une roue biaisée. Chaque chaîne a une probabilité d'être tirée proportionnelle à son adaptation au problème. Optimisation possible : si l'individu le plus adapté n'a pas été sélectionné, il est copié d'office dans la génération intermédiaire à la place d'un individu choisi aléatoirement.

4.Croisement et mutation :

Chaque couple donne 2 chaînes filles.

Enjambement.

Probabilité : 70%. Emplacement de l'enjambement choisi aléatoirement.
Exemple :
Chaînes parents : A : 00110100 ; B : 01010010
Chaînes filles : A' : 00010010 ; B' : 01110100
Croisement en 2 points plus efficace.

Mutations des chaînes filles.

Probabilité : de 0,1 à 1%.
Inversion d'un bit au hasard ou remplacement au hasard d'un caractère par un autre.
Probabilité fixe ou évolutive (auto-adaptation).
On peut prendre probabilité = 1/nombre de bits.

Les algorithmes génétiques reprennent la théorie de Darwin : sélection naturelle de variations individuelles : les individus les plus adaptés (the fittest) tendent à survivre plus longtemps et à se reproduire plus aisément.

Amélioration de la population très rapide au début (recherche globale) ; de plus en plus lente à mesure que le temps passe (recherche locale).

Convergence : la valeur moyenne de la fonction d'adaptation a tendance à se rapprocher de celle de l'individu le plus adapté : uniformisation croissante de la population.

Le temps de calcul des algorithmes génétiques croît en nln(n), n étant le nombre de variables.


La bretagne...le plus bel endroit au monde.
0
ahmed
 
Bonjour,
merci d'abord pour votre aide,
svp j'ai pu avoir cet exemple coder en matlab.
merci d'avance
0