• Aucun résultat trouvé

Architecture ANFIS

Dans le document Présenté par : AKKA ALI. Intitulé (Page 59-0)

Chapitre II: Techniques de l'intelligence artificielle

II. 2.4.1.3.1 Architecture de réseau RBF

II.3 Systèmes neuro-flous

II.3.3 Architectures neuro-floues

II.3.3.1 Architecture ANFIS

ANFIS c’est un système d'inférence adaptatif neuro-flou proposé en 1993 dans [60] cela consiste à utiliser un réseau neurone à cinq couches pour lequel chaque couche correspond à la réalisation d’une étape d’un système d’inférence floue de type Takagi Sugeno. Par simplicité, nous supposons que le système d'inférence flou à deux entrées x et y, et z comme une sortie. Supposons que la base de règle contient deux règles floues de type Takagi-Sugeno.

Règle1 :

1 1 1 1 1 1

si x est A et y est B alors z = p x q y r+ + Règle 2 :

2 2 2 2 2 2

si x est A et y est B alors z = p x q y r+ +

L’ANFIS à une architecture composée par cinq couches comme représenté sur la figure (II.25).

Figure (II.25): L’Architecture de l’ANFIS.

z

1. La première couche (Fuzzification)

Cette couche permet la "fuzzification "des entrées x et y. Chaque neurone dans cette couche correspond à une variable linguistique. Les entrées x et y sont passées par la fuzzification en utilisant des fonctions d’appartenances des variables linguistiques Ai et Bj, (généralement sont des formes triangulaires, trapézoïdales ou Gaussiennes). Par exemple, les fonctions d’appartenances Gaussiennes sont définies par:

x est le centre et σ la largeur de la fonction d’appartenance.

Les sorties de la première couche sont :

1, 2. La deuxième couche (règles)

Chaque nœud correspond à une T-Norme floue (l'opérateur T-Norme permet de réaliser l'équivalent d'un "ET" booléen). Il reçoit la sortie des nœuds de fuzzification et calcule sa valeur de sortie grâce à l'opérateur produit (Cet opérateur est généralement utilisé mais il en existe d’autres : max, min, ...).

La fonction d’activation des neurones i de la première couche est:

{ }

3. La troisième couche (Normalisation)

Cette couche normalise les résultats fournis par la couche précédente. Les résultats obtenus représentent le degré d'implication de la valeur dans le résultat final. L’ensemble des sorties de cette couche sont appelées: les poids normalisés donnée par:

2 1 i i

i i

w w

= w

=

(II.25)

4. La quatrième couche (conséquents)

Chaque nœud de cette couche est relié aux entrées initiales. On calcule le résultat en fonction de son entrée et d'une combinaison linéaire du premier ordre des entrées initiales (Approche de TAKAGI - SUGENO), selon l'équation suivante:

fi4=yi =wi(p xi 1+q xi 2+ri) (II.26)

wi est la sortie de la troisième couche, et i, , sont l'ensemble des paramètres désignés

sous le nom : conséquents.

5. La couche de sortie (sommation)

Elle est constituée d'un seul neurone qui calcule la somme des signaux de la couche précédente, alors:

2

1 i i

y y

=

=

(II.27)

II.3.3.1.1 Phase d’apprentissage

L’ajustement des paramètres de l’ANFIS est réalisé lors de la phase d’apprentissage. Pour cela un ensemble de données associant les séquences d’entrées et de sorties est nécessaire. Pour la réalisation de cette phase, l’algorithme d’apprentissage hybride est utilisé.

L’algorithme d’apprentissage hybride est une association de deux méthodes celle de descente de gradient et la méthode d’estimation des moindres carrés. La première permet d’ajuster les prémisses en fixant les paramètres conséquents tandis que la seconde LSM (Least square Method) ajuste les paramètres conséquents en fixant les prémisses.

II.4 Conclusion

Nous avons présenté dans ce chapitre les systèmes de contrôle intelligents fondés sur les techniques de l'intelligence artificielle les plus utilisés qui sont les systèmes flous, les réseaux de neurones et les systèmes neuro-flous.

Les systèmes flous œuvrent sur la base des connaissances des experts et offrent une excellente exploitation de l’intelligence humaine afin de résoudre des tâches complexes. Les réseaux de neurones eux, sont considérés comme des approximateurs universels capables de modéliser des systèmes complexes avec une précision définie à partir d’un couple de données entrées /sorties et un processus d’optimisation. La capacité d’apprentissage simplifie la synthèse d’un contrôleur par un simple réglage de paramètres sans faire appel au modèle mathématique du système à commander. La capacité d’adaptation des réseaux de neurones à des situations inconnues par le fait de l’apprentissage, et la capacité de modélisation de connaissances imprécises de la logique floue et la gestion de l’incertitude, ont été associés dans un système appelé réseau neuro-flou.

Chapitre III

Méthodes d’optimisation métaheuristiques

III.1 Introduction

Aujourd’hui une importance marquante est accordée aux problèmes d’optimisation. Un problème d'optimisation est déterminé par un ensemble de variables et une fonction objective (une fonction de coût). Les problèmes d’optimisation sont diversifiés, ils peuvent être d’ordre combinatoires (discrets) ou à variables continues, avec un ou plusieurs objectifs (optimisation multi objective), statiques ou dynamiques. Lorsqu’on a des problèmes d’optimisations complexes ou les méthodes directes ou déterministes ne parviennent pas à obtenir une solution acceptable, on s’oriente alors vers l’optimisation "métaheuristiques".

Les techniques d’optimisation métaheuristiques sont des algorithmes généraux d’optimisation adaptés à une grande diversité de problèmes. Leur objectif est la résolution des problèmes d’optimisation. Elles sont définies par leur particularité stochastique, et par leur origine discrète. Elles sont inspirées par des analogies des sciences telle que la physique (recuit simulé, recuit micro canonique), ou de la biologie (algorithmes évolutionnaires) ou encore de l’éthologie (colonies de fourmis). Elles ont l’inconvénient d’avoir plusieurs paramètres à régler.

On souligne que les métaheuristiques acceptent toutes sortes d’extensions, notamment en optimisation mono-objectif et multi-objectif [61].

L'objectif de ce chapitre est d'exposer une revue de la littérature sur les techniques d’optimisation métaheuristiques (les algorithmes génétiques, de colonies de fourmis, d'optimisation par essaim particulaire et d'optimisation à base de biogéographie).

III.2 Algorithme génétique

Le principe des algorithmes génétiques est la stimulation du processus d’évolution des espèces dans leur milieu naturel, tout en s'inspirant des théories de l'évolution énoncées par Charles Darwin. Pour une population donnée, les individus les mieux adaptés au milieu sont ceux qui survivent et qui peuvent procréer. C’est dans les années 60 que les premiers algorithmes génétiques (AGs) ont été mis au point par John Holland [62]. Ils ont été raffinés par De Jong [63] et ensuite popularisés par Goldberg et Holland [64][65].

Les algorithmes génétiques sont des approches basés sur le modèle de l’évolution. Les individus soumis à l’évolution sont des solutions appartenant à l’espace de recherche du problème à optimiser. Ces individus traités collectivement par l’algorithme génétique forme une population, l’algorithme itère et passe d’une génération à l’autre jusqu’à la satisfaction d’un critère d’arrêt. Pour chaque génération, un ensemble d’opérateurs est appliqué aux individus d’une population pour engendrer une nouvelle génération.

Le principe d’un algorithme génétique est simple. Une population initiale est choisie au hasard ; chaque individu de la population possède une certaine performance, qui évalue son rang d’adaptation à l’objectif visé (fitness). Pour aller de la génération k à la génération k+1, on effectue les opérations suivantes : au départ, la population est reproduite par sélection, ensuite, on applique un croisement aux couples d’individus père et mère (les parents) pour en engendrer des nouveaux individus (les enfants). Un opérateur de mutation est appliqué à une fraction de la population. Enfin, les nouveaux individus sont évalués et intégrés à la population de la génération suivante (de manière à conserver une population de taille constante). D’une génération à une autre, la force des individus de la population grandit et après un certain nombre d’itérations, la population est entièrement homogène constituée d’individus tous forts, d’où des solutions quasi-optimales du problème posé.

L’algorithme de l’AG est donnée par : Initialisation de la population

Evaluer des fonctions objectives de chaque individu Calculer l'efficacité de chaque individu

Tant que le critère d'arrêt n'est pas atteint faire Sélection des parents pour la reproduction

Mutation Croisement

Evaluer des fonctions objectives de chaque enfant Calculer l'efficacité de chaque enfant

Sélection pour remplacement Fin Tant que

Algorithme 1: Algorithme génétique

III.2.1 Codage

La première étape consiste à indiquer les différents états réalisables de la variable dont on cherche la valeur optimale sous un modèle utilisable pour un algorithme génétique: c’est le codage. Ce qui permet d’établir une liaison entre la valeur de la variable et les individus de la population, de façon à calquer la transcription génotype- phénotype qui existe dans le monde vivant. On a deux types de codage : le codage binaire, le codage réel.

III.2.1.1 Codage binaire

Le principe du codage binaire des algorithmes génétiques est de coder la solution selon une chaîne de bits (acceptant les valeurs 0 ou 1). Les variables sont des gènes dans le chromosome conditionnant la manifestation et la transmission d'un caractère héréditaire déterminé. Ils sont en binaire (une chaîne est composée des chiffres 0 et 1). Ce qui exige un décodage de ces chaînes à chaque fois afin de calculer leurs valeurs en réel et avant de calculer la fonction objective, et ceci ce fait pour chaque individu et à chaque itération.

III.2.1.2 Codage réel

Dans ce type de codage dit réel, les variables réelles se montrent directement dans le chromosome et sont utilisées par des opérateurs génétiques simples et spéciaux (expressions mathématiques). Dans ce codage, la méthode d’évaluation des chromosomes est rapide dû à l’absence de l’étape de transcodage (du binaire vers le réel). A partir des résultats donnés par [66] [67], et dans le cas d’optimisation avec des variables réelles, on arrive fréquemment à une meilleure précision et un gain précieux de temps d’exécution avec un codage réel comparé à un codage binaire.

III.2.2 Population initiale

La population initiale c’est la population de départ de l'algorithme. Elle doit inclure des chromosomes parfaitement répartis dans l'espace des solutions pour livrer à l'AG un matériel

génétique varié. La sélection de la population initiale d'individus détermine solidement la convergence de l'algorithme. Si la position de l'optimum dans l'espace de solutions est complètement inconnue, alors on génère aléatoirement des individus. Pour ce cas, la génération de solutions aléatoires peut produire des solutions irréalisables [68].

III.2.3 Opérateur de sélection

Une fois l’évaluation de la population initiale terminée, la phase suivante réside dans la délimitation des individus à se reproduire (les parents de la génération suivante). Cette sélection est basée sur l’aptitude des individus, évaluée par la fonction d'adaptation (fonction objective).

Dans tous les cas, la probabilité de continuité d’un individu est liée à son efficacité relative au sein de la population. Il existe diverses méthodes de sélection. On cite à titre d'exemple: La sélection par roulette et la sélection par tournois.

III.2.3.1 Sélection par roulette

On détermine les individus à sélectionner par un opérateur qui imite le fonctionnement d’une roulette de jeux, une portion de roue est affectée à chaque individu, le lancer de roue est simulé par un tirage aléatoire. L’individu est sélectionné dans la portion de roue désignée. On effectue N lancers, de façon à sélectionner Nindividus. Par suite, certains individus s’effacent de la population, alors d’autres sont dupliqués. Pour que la sélection soit efficace, les individus ayant le meilleur record devront être sélectionnés. On utilise donc une roulette “truquée”, la portion affectée à chaque individu étant choisie proportionnellement à sa performance. La probabilité pi pour un individu i de performance fi d’être sélectionné est :

1 i

i N

j j

p f

f

=

=

(III.1)

III.2.3.2 Sélection par tournois

Pour exclure le choix de la probabilité de sélection proportionnelle à la performance, qui est un des inconvénients de la sélection par roulette. On opte pour la sélection par tournois qui a pour référence le rang, ou le classement, des individus plutôt que leur performance. Un rang est affecté à chaque individu, on a une répartition par ordre décroissant de la performance. Plus un individu est de rang faible et plus il a une forte probabilité d’être sélectionné. La sélection est

donc déterminée par analogie des performances plutôt que par la valeur de la performance elle-même.

La démarche de sélection est simple. On tire k individus aléatoirement dans une population de N individus, où k est un paramètre appelé taille du tournoi. On a deux types de sélection soit par tournoi déterministe ou probabiliste. Pour le cas de sélection par tournoi déterministe, le plus compétitif des k individus domine et gagne le tournoi. Pour le second cas c'est-à-dire la sélection par tournoi probabiliste ou chaque individu peut être choisi comme vainqueur avec une probabilité proportionnelle à sa fonction d'évaluation.

Certains individus concourent à plusieurs tournois. Et peuvent gagner plusieurs fois, ils participent donc à la phase de reproduction plusieurs fois, ce qui conforte la durabilité de leurs gènes. La diversité de cette méthode est grande. Si on étend ou on réduit la valeur de k on exerce respectivement une diminution ou une augmentation de la pression de la sélection.

On a divers opérateurs de sélection [64][68], chaque opérateur a ses mérites et limites. La performance d’un opérateur est généralement liée au problème traité. On introduit le plus souvent un principe d’élitisme dans le processus de sélection à fin de garder automatiquement le meilleur individu de la population courante dans la génération suivante, sans qu’il passe par des opérateurs de croisement ou de mutation qui sont capables de l’anéantir.

III.2.4 Croissement

Après la sélection des chaînes les plus adaptés dans le processus de reproduction, on passe à l'opération du croisement qui consiste à échanger des matériels génétiques entre les deux chaînes reproductrices (les parents) pour donner deux nouvelles chaînes (les enfants). Le croisement est un processus aléatoire de probabilité Pc utilisé dans la multiplication et la sélection des espèces, le couple de parents est choisi arbitrairement dans la population. De nombreuses variantes de ces opérateurs existent, nous présentons les plus communément employées.

III.2.4.1 Croisement à un point

Soit un entier k représentant une position sur la chaîne, il est choisi aléatoirement entre 1 et la longueur de la chaîne l (k ∈[1,l −1]).Cet entier indique la position ou se produit le croisement, et on la formation deux nouvelles chaînes en échangent le matériel génétique (caractères) compris entre les positions k+1 et 1 inclues des chaînes reproductrices. Ce processus est illustré

dans la figure (III.1) ou p1 et p2 sont les parents o1 et o2 sont les enfants résultants de l'opération

Figure (III.1): Croisement à un point

III.2.4.2 Croissement à multiples points

Dans ce type de croisement dit à multiples points, on choisit k points de croisement et on échange l’ensemble des caractères existant entre ces k points. Comme dans le cas précédent on choisit aléatoirement k positions entre 1 et l, créant ainsi k+1 fragments. Ce processus est illustré dans la figure (III.2) ou p1 et p2 sont les parents o1 et o2 sont les enfants résultants de l'opération du croisement par exemple (k = 2 et i, j les points de croisement générés).

1 1 2 3 1 1

Figure (III.2): Croisement à deux points

III.2.4.3 Croisement uniforme

On associe à chaque bit de parents 1 une probabilité d’être échangé avec le bit qui correspond dans le parent 2, la probabilité de croissement doit être assez grande pour assurer la différence entre la nouvelle et précédente génération. ce processus est illustré dans la figure (III.3) on génère deux fois six valeurs aléatoires dans {0,1}, soient (0,1,1,0,1,0) et (1,0,0,1,1,0).

Le 0 indique qu’on prend le gêne du 1er parent et le 1 indique qu’on prend celui du 2ème parent.

III.2.5 Mutation

La mutation est la transformation aléatoire exceptionnelle d’un patrimoine héréditaire avec une faible probabilité Pm (fixée par l’usager) de la valeur d’un ou plusieurs gènes d’un chromosome. La mutation est un vecteur de diversité dans l’évolution des individus et contourne les optimums locaux.On cite les deux variantes suivantes:

III.2.5.1 Mutation à un point

Cette mutation admet la transformation aléatoire d’une seule valeur d’un chromosome.

La figure (III.4) présente un exemple d’une mutation à un point.

4

parent 10100100

enfant 10110100

k =

Figure (III.4): Mutation à un point

III.2.5.2 Mutation à multiples points

Elle admet la transformation aléatoire de deux ou plusieurs valeurs d’un chromosome. La figure (III.5) donne un exemple d’une mutation à trois points.

2 et 5 et 7

parent 10100110

enfant 11101100

k = k = k =

Figure (III.5): Mutation à multiple points

III.3 Algorithmes de colonies de fourmis

Les études menées sur les colonies des insectes tels que les fourmis sont apparus à la suite d’observations minutieuses : Elles sont des êtres sociaux auto organisés et vivent dans un cadre structuré. Plusieurs auteurs en écologie ont décrit le comportement collectif de ces fourmis, parmi ces descriptions la résolution des problèmes relativement complexes, notamment les problèmes de choix lors de l'exploitation de sources de nourriture.

Pour communiquer entre eux les fourmis utilisent des substances chimiques volatiles appelées phéromones qui sont multiples et varient selon les espèces. Ces phéromones sont sécrétées par une glande située dans leur abdomen. Les fourmis déposent ces phéromones au sol, et forment ainsi des pistes odorantes, la substance chimique est détectée (figure (III.6)). Leurs

congénères sont attirées par ces substances, qu'elles captent grâce à des récepteurs situes dans leurs antennes.

Figure (III.6): Des fourmis suivant une piste de phéromone

L’expérience du double pont binaire (Figure (III.7)) montre qu’une colonie de fourmis doit suivre un pont à deux branches de longueurs différentes pour accéder à une source de nourriture, elle opte pour la branche la plus courte si la différence des longueurs des deux branches est assez importante. Au départ, le choix du chemin est aléatoire, ensuite la quantité de phéromone déposée sur le chemin le plus court est plus marquante que celle sur le chemin le plus long, les fourmis sont alors attirés par cette grande concentration de phéromone et empruntent ce chemin court du nid vers la source de nourriture.

Figure (III.7): Expérience de sélection des branches les plus courtes par une colonie de fourmis : (a) au début de l'expérience, (b) à la fin de l'expérience.

Les propriétés physico-chimiques des pistes de phéromone sont difficiles à déterminer avec précision elles varient d’une espèce à une autre. Cependant, les métaheuristiques

d'optimisation de colonies de fourmis se basent plus particulièrement sur le phénomène d'évaporation des pistes de phéromone. Or, on observe que les pistes s'évaporent lentement dans la nature et que les modèles ne prévoient pas. Les fourmis réelles disposent en effet

"d'heuristiques" leur apportant un plus d'informations sur le problème (par exemple une information sur la direction). L’intérêt immédiat de la colonie (c’est d’intercepter le plus court chemin vers une source de nourriture) qui peut être en concurrence avec l'intérêt adaptatif de tels comportements. Si l’on prend en considération les endurances et des contrefaits que subit une colonie de fourmis telles que la compétition avec d’autres espèces, la prédation etc., un choix rapide et stable est préférable.

III.3.1 Algorithme de base

Tout en s’inspirant de idée biologique des colonies de fourmis et son application en informatique et par analogie Colorni, Dorigo et Maniezzo [69] [70] ont proposé un algorithme d’optimisation pour la réalisation du problème du voyageur de commerce. Si on examine un problème de voyageur de commerce à N villes, chaque fourmi k traverse le graphe et édifie un trajet de longueur n = N . Le parcours d’une ville i à une ville j, pour chaque fourmi dépend de :

1. le nombre des déplacements possibles jik , quand la fourmi k est sur la ville i.

2. l’opposé du parcours entre les villes 1

ij

dij

η = , appelée visibilité.

Cette instructionest employée pour orienter les fourmis vers des villes proches et par là, éviter de longsdéplacements.

3. l’importance de phéromones déposée sur le chemin reliant deux villes estappelée intensité de la piste. Plus la quantité est grande plus la piste est attractive. C’est la mémoire du système.

La règle de déplacement est donnée par la relation suivante : ( ( )) ( )

Après un tour complet, chaque fourmi dépose une quantité de phéromones ∆τijk( )t sur et Q est une variable de réglage.

Il est utile d’admettre un mécanisme d’évaporation des phéromones. Afin d’échapper au piège des optimales locaux, il est possible qu’une fourmi « oublie » les mauvaises solutions. La règle de mise à jour est donnée par la relation la suivante :

( 1) (1 ) ( ) ( )

ij t ij t ij t

τ + = −ρ τ + ∆τ (III.4)

où∆τij( )t =∑mk=1∆τijk( )t , m est le nombre de fourmis et ρ est une variable de réglage.

Cette démarche a été étendue à la résolution d’autres problèmes d’optimisation, discrets et continus [71][72]. ACO (Ant Colony Algorithm) présente des particularités avantageuses, comme la similitude intrinsèque élevée, la robustesse (la colonie maintient une recherche efficiente, si certains de ses membres sont manquants) ou s’il ya encore la décentralisation (le manque d’autorité centralisée sur les fourmis). L'algorithme de l'ACO est donné comme suit:

Pour k=1 à m faire

Evaporer les pistes selon l'équation (III.4) t = +t 1.

Fin

comportement social des animaux, comme les essaims d’abeilles, les vols d’oisea

bancs de poissons. En effet, tout comme ces animaux se déplacent en groupe pour trouver de la nourriture, ou émigrent, Si un membre voit un chemin souhaitable pour l'exploration, le reste de cet essaim suivra rapidement. Raison pour laquelle, cette tech

bancs de poissons. En effet, tout comme ces animaux se déplacent en groupe pour trouver de la nourriture, ou émigrent, Si un membre voit un chemin souhaitable pour l'exploration, le reste de cet essaim suivra rapidement. Raison pour laquelle, cette tech

Dans le document Présenté par : AKKA ALI. Intitulé (Page 59-0)