Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.
robotics:logique_floue [2014/12/01 15:41] ldo [Règles linguistiques] |
robotics:logique_floue [2014/12/01 16:07] (Version actuelle) ldo [Moteur d'inférence] |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
==== Logique classique (Boole) ==== | ==== Logique classique (Boole) ==== | ||
==== Logique floue ==== | ==== Logique floue ==== | ||
+ | La logique floue s'utilise dans de nombreux domaines et particulièrement dans les cas où une modélisation mathématique du système ou du procédé est difficile. | ||
===== Définitions ===== | ===== Définitions ===== | ||
==== Variables linguistiques ==== | ==== Variables linguistiques ==== | ||
Une variable linguistique V est un terme utilisé lors de la description d’une situation ou d'un procédé tel que la température, la vitesse, l'age ... | Une variable linguistique V est un terme utilisé lors de la description d’une situation ou d'un procédé tel que la température, la vitesse, l'age ... | ||
- | Ces variables sont définies sur une plage des valeurs X (de -20 à 50°C, de 5 à 100 km/h, de 0 à 100 ans). | + | Ces variables sont définies sur une plage de valeurs X (de -20 à 50°C, de 5 à 100 km/h, de 0 à 100 ans). |
- | ==== Valeurs et fonctions d'appartenance ==== | + | ==== Valeurs linguistiques ==== |
- | Chaque variable linguistiques est définie par un ensemble Tv de valeurs tel que tel que chaud, froid, rapide, lent, jeune ... | + | |
+ | Chaque variable linguistique est définie par un ensemble Tv de valeurs tel que tel que chaud, froid, rapide, lent, jeune … Le nombre de valeurs linguistiques dépend de la précision désirée. Plus on ajoute de valeurs linguistiques, plus la description du système sera précise. En général, on se limite à 7 valeurs linguistiques car au-delà, la formulation des règles d'inférence devient trop complexe. | ||
+ | |||
+ | ==== Fonctions d'appartenance ==== | ||
+ | |||
+ | Chaque valeur linguistique est définie par une fonction mathématique (triangulaire, trapèze, cloche …) qui détermine le degré d'appartenance d'une donnée à une variable linguistique. | ||
- | Chaque valeur est définie par une fonction mathématique (triangulaire, trapèze, cloche ...) qui détermine son degré d'appartenance en fonction de sa valeur. | ||
==== Règles linguistiques ==== | ==== Règles linguistiques ==== | ||
Ligne 27: | Ligne 31: | ||
===== Système flou ===== | ===== Système flou ===== | ||
- | Un système flou est composé de 3 étapes. | + | Un système flou est composé de 4 étapes. |
+ | |||
+ | ==== Définition des entrées et sorties ==== | ||
+ | La première étape est de définir pour le processus : | ||
+ | * les variables linguistiques d'entrée (température, vitesse...) | ||
+ | * les valeurs linguistiques d'entrée (chaud, froid, rapide, petit, grand...) et leurs fonctions d'inférences | ||
+ | * les variables linguistiques de sortie (tension, courant, position...) | ||
+ | * les valeurs linguistiques de sortie (grand, petit, ouvert, fermé...) | ||
+ | * les règles linguistiques | ||
==== Fuzzification ==== | ==== Fuzzification ==== | ||
- | La première opération consiste à « traduire » une entrée classique (mesure provenant d'un capteur) en valeur linguistique. | + | La deuxième étape consiste à « traduire » une entrée classique (mesure provenant d'un capteur) en valeur linguistique. |
On associe à chaque valeur son degré d'appartenance grâce aux fonctions d'appartenance correspondantes. | On associe à chaque valeur son degré d'appartenance grâce aux fonctions d'appartenance correspondantes. | ||
Par exemple, T° = 20° → froid = 5 %, tiède = 95 %, chaud = 0 % | Par exemple, T° = 20° → froid = 5 %, tiède = 95 %, chaud = 0 % | ||
==== Moteur d'inférence ==== | ==== Moteur d'inférence ==== | ||
- | La deuxième opération établit la relation entre les entrées et les sorties. On applique toutes les règles linguistiques pour obtenir les valeurs de sortie. | + | La troisième étape établit la relation entre les entrées et les sorties. On applique toutes les règles linguistiques pour obtenir les valeurs de sortie. |
=== Exemple === | === Exemple === | ||
Ligne 66: | Ligne 78: | ||
==== Défuzzification ==== | ==== Défuzzification ==== | ||
- | En sortie du moteur d'inférence, nous avons les valeurs linguistiques des variables de sortie. L'opération de défuzzification va permettre de "traduire" ces valeurs floues en valeurs nettes exploitables pour le système (tension, courant...). cette opération de l'inverse de l'opération de fuzzification. | + | En sortie du moteur d'inférence, nous avons les valeurs linguistiques des variables de sortie. L'opération de défuzzification va permettre de "traduire" ces valeurs floues en valeurs nettes exploitables pour le système (tension, courant...). Cette opération est l'inverse de l'opération de fuzzification. |
=== Méthodes de défuzzification === | === Méthodes de défuzzification === |