TP Ai
TP Ai
TP Ai
Intelligence artificielle
Le 26/01/2015
Responsable
Mr : Zhongliang li
3)-les concepts
S’appuie sur le degré d’appartenance d'un élément à un sous-ensemble flou. Tandis que
les ensembles traditionnels sont caractérisés par une fonction d'appartenance. Pour
notre cas il est entre -1 et +1(pour avoir un comportement identique dans les deux sens
de rotation du moteur).
Le contrôleur floue retenu est de type PI et de type sugeno. on choisira deux entrées(e
(erreur entre la vitesse de consigne et la vitesse mesurée, de (variation de cette erreur
entre 2 instants d’échantillonnage).
Pour chacun des entrées et sortie, on utilisera 7 fonctions d’appartenance triangulaire
(pour les entrées et singletons (pour la sortie), il y aura donc 49 règles floues à définir.
1
les fonctions d’appartenances pour les entries et les le nombre de singleton de sortie
e
NB NS NVS Z PVS PS PB
de
NB NB NB NB NB NS NVS Z
NS NB NB NB NS NVS Z PVS
2
visualisation la forme de la sortie de contrôleur floue :
3
la valeur de critère IAE obtenu
4
7)-modification de contrôleur flou
5
On constate d’après les changements effectuer sur les fonctions d’appartenances dans les
figures ci-dessus et les facteurs de normalisation et de de normalisation choisies que le critère
IAE diminue (l’écart entre la vitesse de référence et celle mesurer).
L’action sur Ces facteurs de normalisation est souvent préférée à une action globale sur les
fonctions d’appartenance.
8)-Conclusion
Dans ce TP nous avons peut faire la prise en main avec le contrôleur floue de type
sugeno qui va réguler l’erreur et variation d’erreurs selon les fonctions d’appartenances
Nous avons mais la matrice d’inférence pour définir les sorties selon les règles et
conditions.
Nous avons intégré notre contrôleur flou sous Simulink pour voir la réponse en vitesse
de la machine électrique.
Nous avons constaté que on effectuant des réglages sur le CF cela nous permet
d’améliorer le critère IAE.
6
TP2 : Algorithme génétique
1)-le but de ce TP
Familiariser avec la programmation et l’utilisation des algorithmes génétiques pour
l’optimisation.
Dans notre cas de figure, nous nous intéressons à un cas d’école très simple : à savoir un sinus
cardinal en trois dimensions, évoluant pour x et y entre -5 et+5 et pour l’ordonnée entre -0.5 et
+1.
7
3)-Codage de l’algorithme
3)-1)-écrire la fonction sinc3D.m
best_res=fonction_objectif(1);
for i=1:nb_individus,
param_string=dec2base(floor(param(i,:)*1024),2,10); %codage sur 10 bits
string_prm='';
for ii=1:2, %boucle jusqu'à nombre de gènes
string_prm=strcat(string_prm,param_string(ii,:));
end
string_param(i,:)=string_prm; %génération de la matrice contenant tous les
chromosomes
end
on va initialiser en premier temps la population de 40 individus avec des genes sont definit
aléatoirement (param=rand([nb_individus,2]));
8
On va faire la boucle de codage de ces individus avec la fonction string avec chaque individus
les deux gènes générer sont arrondir et coder en binaire en 10 bits
On va générer la boucle de gêne pour chaque individu.
Apres cette boucle de gêne sera combiner pour former la matrice comportant tous les
chromosomes.
3)-4)-la fonction de mutation.m
function [ch_mut]=mutation(ch_init,proba)
size_chint = size(ch_init);
matrix_samedim = rand(size_chint);
ch_mut = ch_init;
ch_mut(matrix_samedim<proba) = num2str(not(str2num(ch_mut(matrix_samedim<proba))));
D’après le résultat obtenu l’algorithme converge vers un optimum global mais il n’est pas bien
paramétré, il faut faire quelques réglages.
4)-2)-analyse de l’influence de nombre d’itérations
Le résultat obtenu montre une amélioration de la fonction objective, mais avec un facteur de
temps on plus, le meilleur c’est de faire un compromis entre la qualité de la solution et le temps
de calcul. N=40
4)-3)-analyse de l’influence de temps de mutation
On remarque d’après les résultats obtenu que si on diminue le taux de mutation cela permet de
donner un bon résultat. Tmut=0.005
Elle joue le rôle de bruit et empêche l’algorithme de figer donc ce bruit doit être bien choisit
pour ne pas donner des solutions qui divergents de l’objectif souhaiter.
4)-4)-analyse de la probabilité de gain de tournoi
Plus on augmentant la probabilité de gain de tournoi plus on converge vers global optimum
mais doit être dans un intervalle de 0.5 à 1 cela dû aux générations intermédiaire sélectionner
par tournoi.Ttourn=1
4)-5)-analyse de l’influence du nombre de croisements
C’est le nombre de croisement et supérieur a 2 cella permet de créer plusieurs combinaisons
d’individus donc accélérer la convergence de l’algorithme.ncrois=5
9
4)-6)-on prenant ont considéré les paramètres précédents avec leurs influence on va aboutir à
un résultat plus cohérant.
5)-conclusion
On peut conclure les points suivants :
Dans ce TP en premier temps nous avons simulé Sinc3 sous Matlab.
Apres nous avons compléter l’algorithme génétique en définissons la fonction objective et la
fonction tournoi dans le fichier team de l’AG.
Après nous avons réalisé la fonction mutation on vue que notre algorithme converge vers
l’optimum globale qu’on a défini dans la fonction d’adaptation.
Nous avons testé chaque paramètre de l’algorithme et son influence sur l’objectif globale.
Nous avons adapté tous les paramètres pour converger plus rapidement vers la meilleure
solution.
10