Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

TP Soft Computing

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 56

TP Soft Computing

TP1 : Logique flou

Élaborés par : WANGRAOUA. R. Sylviane


&
Med Amine Salem

2éme année Génie Electrique

Groupe : G3 /PT2

École Nationale d’Ingénieur de Monastir


Année scolaire : 2023_2024
1. Objectifs
Le but de ce TP est de créer un système d'inférence flou de type Mamdani en utilisant une
base des règles floues. Pour ce faire, on va utiliser le toolbox "FIS' de MATLAB en considérant
des applications différentes.

2. La logique floue
La logique floue présente une extension de la logique booléenne classique. Les valeurs de vérité
des différentes variables, ne sont plus que vrai ou faux ou 0 et 1, mais plutôt ils sont des valeurs
réelles entre 0 et 1 dites des valeurs de vérités partielles. La conception d'un système d'inférence
flou se base sur trois étapes principales qui sont :

-Fuzzification : Cette étape consiste à transformer les entrées et les sorties en des grandeurs
floues qui sont utilisées par la suite pour construire les sous-ensembles flous et leurs valeurs
linguistiques correspondantes.

-Moteur d'inférence : Cette étape correspond à la définition de la base des règles floues c'est à
dire définir les différentes relations entre les entrées et les sorties du système afin de prendre
les décisions convenables.

-Défuzzification : C'est l'opération inverse de fuzzification. Elle transforme les grandeurs floues
en valeurs déterministes en utilisant deux méthodes mathématiques : méthode de centre de
gravité et la méthode de la moyenne de maxima.

Système d’inférence flou


Fonction d’appartenance : Pour définir les différentes fonctions d’appartenance pour chaque
variable, on accède à une fonction fenêtre spécifique qui permet dz les spécifier par un double
clic sur l’icône de la variable (input/output) ou par : Edit --> MembershipFunction Editor.
1- Intervalle de variation de chaque signal :
2- Nombre des fonctions d’appartenance : 3 fonctions d’appartenance

3- Type des fonctions d’appartenances : Trinf

4- Nom et la dimension de chaque fonction d’appartenance :

P [0 1], [0.6 1 1.4]


M [0 1], [0.1 0.5 0.9]
G [0 1], [0.6 1 1.4]

Exemple 1 : Construire un système de décision flou pour commander la vitesse d’un moteur
en modifiant la tension d’entrée.
Base des règles
Visualisation
Quelques valeurs
Interprétation :
A partir de la fenêtre de surface on constate que la sortie est en 2D car on a une seule entrée. A
partir de la fenêtre des règles, on peut déterminer la relation entre la sortie et l’entrée. A chaque
changement du curseur au niveau d’entrée, la sortie change de valeur.

Exemple2 : construire un système d’interférence flou pour un climatiseur

Configuration des entrées et sorties :


Traçage des fonctions d’appartenance :
Base des règles

Visualisation des règles et de la surface


Interprétation :

A partir de la fenêtre de surface on constate que la sortie est en 3D car on a 2 entrées


Exemple 3 :

Configuration des entrées et sorties

Traçage des fonctions d’appartenance


Base des règles
Visualisation des règles et de la surface

Conclusion
La logique floue représente une avancée significative dans la modélisation et le
traitement de l'incertitude et de l'imprécision dans divers domaines. En offrant une approche
plus flexible et réaliste que la logique binaire traditionnelle, elle permet de concevoir des
systèmes plus adaptatifs et intuitifs, capables de mieux gérer la complexité et les nuances du
monde réel. Grâce à ses nombreuses applications pratiques et sa capacité à améliorer les
systèmes de contrôle et de décision, la logique floue continue d'être un outil précieux dans le
domaine de l'ingénierie, de l'informatique et de l'intelligence artificielle.
27/05/2024

TP Soft Computing
TP2 : Les réseaux de neurones artificiels

Élaborés par : WANGRAOUA. R. Sylviane


&
Med Amine Salem

2éme année Génie Electrique

Groupe : G3 /PT2

Année universitaire : 2023_2024


1. But :
Le but de ce TP d’étudier le principe et l’utilité d’une méthode intelligente qui est les
réseaux de neurones artificiels par l’intermédiaire du logiciel MATLAB en utilisant soit les
codes, soit les boites à outils (toolsbox) dédiées pour les réseaux de neurones artificiels
(nftool et nntool). Ainsi que de résoudre quelques problèmes en employant cette technique
intelligente.

2. Généralités :
Les réseaux de neurones, plus précisément appelés réseaux de neurones artificiels
correspond à une imitation de fonctionnement de réseau de neurones dans le cerveau
humain. Le modèle mathématique obtenu par cette imitation est utilisé pour résoudre des
problèmes complexes à titre d'exemple la modélisation et l'identification des systèmes,
traitement d'image (segmentation, reconnaissance...), robotique, etc.

- Et Biologie :

Le cerveau de l'être humain est formé d'un très grand nombre de neurones interconnectés
(liés les uns aux autres). Comme la plupart des cellules biologiques, la cellule neuronale ou
tout simplement un neurone se compose d'un corps cellulaire, des petits prolongements qui
importent les informations à la cellule appelés dendrites, et un grand prolongement qui sert
comme un moyen de dispersion des informations recueillies par la cellule appelé axone.
Généralement, l'axone d'un neurone est lié aux dendrites d'un autre par l'intermédiaire d'une
synapse.

L'excitation d'un neurone, entraine l'envoie d'un signal électrochimique à travers de


l'axone. Si cette excitation atteint le seuil d'activation ou de déclenchement de la cellule,
cette dernière va émettre cette impulsion vers les autres cellules à travers les dendrites.
-En artificiel

Le schéma ci-joint présente la modélisation d'un neurone artificiel. Chaque neurone


appartenant à tout un réseau présente une machine élémentaire de calcul. Cette dernière reçoit
un certain nombre de variables d'entrées provenant d'autres neurones. Ces entrées sont toujours
accompagnées par des poids qui représentent le dégrée d'importance de chaque entrée. Le
neurone possède une seule sortie qui servira comme entrée pour d'autres neurones. Cette sortie
est égale à la fonction d'activation de la somme pondérée des entrées.

3. Apprentissage :
Une fois l'architecture du réseau de neurones est choisie, c'est-à-dire le type de réseau
de neurones, le nombre de neurones, le nombre de couches, les fonctions d'activation, etc.
Autres paramètres ajustables notamment les poids des entrées devront être déterminés car ses
poids connectent les différents neurones de réseaux les uns aux autres et affecte la sortie du
réseau.

Le processus d'ajustement de ces paramètres se fait de telle sorte que le réseau doit
s'approcher de la relation fonctionnelle entre les entrées x et les cibles y qui est connu sous le
nom apprentissage. On a deux types d'apprentissage :

-L'apprentissage supervisé, où on utilise un ensemble déterminé des entrées dont les


poids qui leur associés seront ajuster de manière itérative afin d'obtenir une sortie qui conforme
une référence donnée.
-L'apprentissage non supervisé, où on trouve un sortie quelconque obtenue par
l'ajustement des poids de données.

4. Application :

❖ Créer un réseau composé d’un perceptron

❖ Calcul de la sortie d’un neurone simple

Résultat

>> Untitled2

w=
-1 1

b=

func =

'hardlim'

P=

-2 2

-2 2

act_pot =

5
out =

>>

>> Untitled3

P=

-2 2

-2 2

T=
0 1

net =

Neural Network

out =

1 1

>>
❖ Créer un réseau de neurone
❖ Apprentissage supervisé

Exercice 1 :

Dans cet exemple, nous exécutons un simple perceptron pour déterminer la solution d’une
fonction logique “OU” à 2 entrées. Soient X1 ou X2 dont définis comme suit :

X1 X2 OUT
0 0 0
1 0 1
0 1 1
1 1 1

La première étape à faire est d’initialiser les variables d’intérêt, y compris l’entrée, la sortie
souhaitée, le biais, le coefficient d’apprentissage et les poids.
On peut remplacer le programme par son équivalent qui est le suivant :
Exemple 2 :
Si on appui sur Performance on a :
Si in appui sur Training State on a :
Si on appui sur Régression on obtient :

Afin d’obtenir un résultat optimal, il faut faire des changements dans le choix des différents
paramètres. On va considérer la modification suivante :
Si on appui sur Performance on obtient :
Si on appui sur Training State on obtient :
Si on appui sur Régression on obtient :

❖ Classification

On a deux groupes de données appartenant, à deux classes. Ils sont définis dans un
espace d’entrée bidimensionnel. Ces deux classes sont linéairement séparées. La tâche consiste
à construire un perceptron pour la classification des données en utilisant les instructions
suivantes :
>> Untitled8

x=

Columns 1 through 12

-0.1249 -0.8608 0.3086 -1.0570 -0.0867 0.1922 -0.0942 -0.9047 0.3501


1.0360 0.9594 0.4286

1.4790 0.7847 -0.2339 -0.2841 -1.4694 -0.8223 0.3362 -0.2883 -1.8359


2.4245 -0.3158 -1.0360

Columns 13 through 24

1.8779 0.7873 0.3199 -0.3114 -1.0257 -0.2099 0.6076 0.6992 5.4943


3.9797 5.1097 4.7100

0.9407 -0.8759 -0.5583 -0.5700 -0.9087 -1.6989 -0.1178 0.2696 3.5169


4.5530 6.1287 6.2616

Columns 25 through 36
5.4754 5.1269 3.5186 5.8186 4.4592 3.9034 4.8193 4.9362 5.1093
5.3120 4.2769 4.7397

6.1741 4.3432 5.1555 4.7074 4.6914 4.5070 5.0458 5.6113 6.8140


6.8045 5.5265 5.6001

Columns 37 through 40

5.5939 3.6730 5.4018 4.6732

2.8140 3.5590 6.4702 5.8123

y=

Columns 1 through 20

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Columns 21 through 40

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

>>
Si on appui sur Performance on obtient :
Si on appui sur Confusion on obtient :
❖ Toolbox de réseau de neurones artificiels :

On tape l’instruction >> nnstart dans la commande window après sur nftool on obtient :
Conclusion
Les réseaux de neurones artificiels (RNA) constituent une avancée majeure dans le
domaine de l'intelligence artificielle et de l'apprentissage automatique. Inspirés par le
fonctionnement du cerveau humain, ces réseaux sont capables de reconnaître des motifs,
d'apprendre à partir de données et de faire des prédictions avec une précision remarquable.

En somme, les RNA représentent une révolution technologique majeure, dont l'impact
continuera de croître au fur et à mesure des avancées en recherche et développement, façonnant
ainsi l'avenir de nombreuses industries et de la société dans son ensemble.
TP Soft Computing
TP3 : Les Algorithme génétiques

Élaborés par : WANGRAOUA. R. Sylviane


&
Med Amine Salem

2éme année Génie Electrique

Groupe : G3 /PT2

École Nationale d’Ingénieur de Monastir


Année scolaire : 2023_2024
1. But :
- Se familiariser avec les techniques d'optimisation de type méta-heuristique et particulièrement
la méthode des algorithmes génétiques.

-Utiliser l'outil Matlab pour appliquer cette approche afin d'optimiser des équations
mathématiques.

2. Principe :
Les méthodes d'optimisation appelées aussi méta-heuristique sont de plus en plus utilisées pour
résoudre des problèmes d'optimisation complexes et peu à peu remplacées les méthodes
classiques. La particularité de ces techniques est leur capacité d'explorer l'espace de recherche
de manière très efficace, puisque c'est une recherche multidimensionnelle capable d'échapper
les pièges de minima locaux.

Une des méthodes les plus connues et la base de tous les autres techniques est la méthode des
algorithmes génétiques (AG). Comme son indique, elle a été inspirée par le mécanisme de la
sélection naturelle et de la génétique. Elle est basée sur un principe de fonctionnement simple.
On part avec une population de solutions candidates (chromosomes) initiales arbitrairement
choisies. On évalue leur performance en utilisant une fonction mathématique appelée fonction
objective ou fitness. En se basant sur cette fonction, on crée une nouvelle population de
solutions potentielles en utilisant les opérateurs évolutionnaires qui sont la sélection, le
croisement et la mutation. On recommence ce cycle jusqu'à ce que l'on trouve la solution
optimale désirée. Les AG se basent sur les étapes suivantes :

La population initiale : Cette population serve comme une base pour les générations futures.
Elle est constituée de N individus. Le choix de la population initiale est critique car il affecte
fortement la convergence de l'algorithme vers l'optimum global.

L'évaluation : Elle consiste à calculer la fonction d'adaptation ou la fonction fitness pour tous
les individus qui composent la population.

La sélection : La sélection a pour but de déterminer quels sont les individus qui doivent être
réservés pour la reproduction. Cet opérateur ne crée pas des nouveaux individus mais plutët il
identifie en se basant sur les valeurs des fonctions fitness, les individus les mieux adaptés. Ces
individus sont sélectionnés alors que ceux les moins adaptés sont écartés. Il y a une variété de
méthodes de sélection, les plus utilisées sont la roue de la fortune, la sélection par tournoi et
l'élitisme.

Le croisement : Le croisement sert à augmenter la diversité de la population en modifiant la


structure des chromosomes. Généralement, cet échange se fait entre deux parents afin de
générer deux enfants.

La mutation : L'opérateur de mutation sert à augmenter la propriété d'atteindre tous les points
de l'espace de recherche, sans réellement les parcourir tous dans la procédure de résolution. II
se base généralement sur la modification aléatoirement, avec une certaine probabilité, d'un bit
dans la structure du chromosome.
Organigramme d’AG
3. Implémentation sur Matlab :
On cherche à implémenter le programme suivant qui se trouve dans « Wiley Library » afin de
trouver le minimum de cinq fonctions mathématiques qui sont les suivants :

Sous-fonction qui définit les différentes fonctions

Programme :
Détermination des solutions optimales qui minimisent les différentes fonctions
mathématiques :
Conclusion
Les algorithmes génétiques offrent une méthode puissante et flexible pour résoudre une
grande variété de problèmes d'optimisation. Leur capacité à s'inspirer de la nature pour évoluer
vers des solutions optimales les rend particulièrement utiles pour des problèmes complexes et
non linéaires. Bien que leur implémentation nécessite une attention particulière aux paramètres
et à la gestion des ressources, les AG continuent d'être une technologie précieuse dans le
domaine de l'intelligence artificielle et au-delà. Avec des recherches continues et des
innovations, ils promettent de rester un outil crucial pour les défis d'optimisation futurs

Vous aimerez peut-être aussi