Logique floue : t-normes, implications et règles SI–ALORS
Degrés de vérité, t-normes et t-conormes (minimum, produit, Łukasiewicz), les lois classiques qui survivent, implications résiduelles et évaluation de règles sur un ventilateur commandé par la température et l’humidité.
Série Bases de l’IA Partie 34 sur 52
- Carte de l’intelligence artificielle : qu’est-ce qui est quoi et comment tout s’emboîte
- Brève histoire de l’intelligence artificielle : de Turing aux modèles de langage
- Données, modèle, entraînement, inférence : les notions de base sur un seul exemple
- Lire la notation mathématique : symboles, indices, sommes et quantificateurs
- Ensembles et relations : les briques dont sont faites les définitions en IA
- Fonctions et applications : pourquoi tout modèle d’IA est une fonction
- Logique et démonstrations : les règles selon lesquelles on raisonne en IA
- Graphes et arbres : la structure sur laquelle reposent la recherche et les réseaux de neurones
- Algèbre linéaire pour l’apprentissage automatique : vecteurs, matrices et pourquoi l’IA multiplie surtout
- Dérivées, gradient et règle de dérivation en chaîne : comment un modèle sait dans quelle direction apprendre
- Descente de gradient : comment un modèle apprend
- Qu’est-ce que la probabilité : du lancer de dé aux axiomes de Kolmogorov
- Probabilité conditionnelle et théorème de Bayes : comment réviser une estimation quand on apprend du nouveau
- Variable aléatoire et fonction de répartition : une seule fonction qui dit tout de la loi
- Fonction de densité et fonction de masse : pourquoi une variable continue a une probabilité nulle en chaque point
- Espérance, variance et covariance : où se situe une loi, quelle est sa largeur et ce qui varie avec quoi
- Panorama des lois de probabilité : Bernoulli, binomiale, Poisson, uniforme, normale et exponentielle
- Loi des grands nombres et théorème central limite : pourquoi les moyennes sont si prévisibles
- Statistique et estimation de paramètres : maximum de vraisemblance, MAP et intervalles de confiance
- Théorie de l’information : entropie, entropie croisée et divergence KL — d’où viennent les fonctions de perte
- Recherche dans l’espace d’états : BFS, DFS, UCS et A* en animations
- Jeux et adversaires : minimax, élagage alpha-bêta et Monte Carlo tree search
- Satisfaction de contraintes : backtracking, propagation de contraintes et AC-3 sur un sudoku et une carte des régions tchèques
- Logique et systèmes à base de connaissances : chaînage avant et arrière, résolution et systèmes experts
- Planification : STRIPS, monde des blocs, heuristiques par relaxation et planification dans les agents IA
- Recherche locale et recuit simulé : un voyageur de commerce à travers les chefs-lieux de région tchèques
- Algorithmes génétiques : population, croisement, mutation et sélection sur un sac à dos de randonnée
- Stratégies d’évolution et programmation génétique : de la règle du cinquième à la loi de Kepler
- Optimisation par colonies de fourmis : comment une piste de phéromone trouve un chemin court
- Optimisation par essaim de particules : inertie, expérience propre et expérience de l’essaim
- Neuroévolution : faire évoluer les poids et la forme des réseaux de neurones, et l’algorithme NEAT
- Ensembles flous et fonctions d’appartenance : comment écrire « un peu chaud »
- Logique floue et probabilité : pourquoi « un peu chaud » ne veut pas dire « probablement chaud »
- Logique floue : t-normes, implications et règles SI–ALORS
- Commande floue : Mamdani et Sugeno, du ventilateur au pendule inversé sur un chariot
- Clustering flou : l’algorithme fuzzy c-means et les points entre les clusters
- Systèmes neuro-flous (ANFIS) : des règles floues qui apprennent à partir des données
- Chaînes de Markov : matrice de transition, distribution stationnaire et PageRank
- Modèles de Markov cachés : l’algorithme de Viterbi et le casino malhonnête
- Réseaux bayésiens : pourquoi l’herbe est mouillée et ce que cela implique pour l’arroseur
- Le filtre de Kalman : comment estimer, à partir de mesures imprécises, où se trouve une voiture et à quelle vitesse elle roule
- Types d’apprentissage automatique : supervisé, non supervisé, semi-supervisé et plus
- Prompts, contexte et RAG : comment donner au modèle les bonnes informations
- Autoencodeurs variationnels (VAE) : de nouvelles images à partir d’un espace latent continu
- Réseaux antagonistes génératifs (GAN) : le faussaire contre le détective
- Modèles de diffusion : comment une image naît du bruit pur
- Processus de décision markoviens : états, actions, récompenses et équations de Bellman
- Q-learning et DQN : apprendre la valeur des actions, du tableau au réseau de neurones
- Policy gradient et PPO : apprendre directement la politique
- Comment fonctionne un agent IA : un modèle de langage en boucle avec des outils
- Programmer avec des agents IA : consigne, tests et vérification
- Évaluation et sécurité des systèmes d’IA : comment mesurer et comment surveiller
Programme complet de la série 52 sur 83 sujets publiés
- Ce que sont les t-normes et les t-conormes, et pourquoi « et » est en logique floue toute une famille d’opérations.
- Quelles lois de la logique classique sont vérifiées pour le minimum, le produit et la t-norme de Łukasiewicz.
- Comment s’évaluent les règles SI–ALORS : force de la règle, écrêtage de la conclusion et union par le maximum.
Utile à connaître avant : Ensembles flous et fonctions d’appartenance : comment écrire « un peu chaud », Logique et démonstrations : les règles selon lesquelles on raisonne en IA
Les ensembles flous ont donné un sens précis à des mots comme « chaud ». Nous voulons maintenant raisonner avec eux : les relier par les connecteurs « et », « ou », « non » et écrire des règles comme « s’il fait chaud et humide, ventilateur à fond ». En logique classique, ce que signifie « et » est clair : vrai quand les deux parties sont vraies. Mais que se passe-t-il si une partie est vraie à 0,7 et l’autre à 0,6 ? Il s’avère qu’il existe toute une famille de réponses raisonnables — et chacune conserve des morceaux différents de la logique classique.
Cette partie fait suite à Ensembles flous et fonctions d’appartenance, Logique floue et probabilité et Logique et démonstrations.
1. De l’appartenance à la vérité
À 25 °C, l’énoncé « il fait chaud » a un degré de vérité de 0,5 — le même nombre que l’appartenance de 25 °C à l’ensemble « chaud ». La logique floue est une logique dans laquelle les énoncés prennent des valeurs de vérité dans tout l’intervalle [0, 1], et pas seulement 0 et 1. Les connecteurs sont des fonctions qui calculent la vérité du tout à partir de la vérité des parties. La logique classique est le cas particulier où l’on n’utilise que les valeurs extrêmes.
Définition — valeur de vérité d’un énoncé composé
Choisissons une t-norme T (le connecteur « et »), une t-conorme S (« ou »), une négation ¬ (« non ») et une implication I (« si–alors ») — toutes sont définies plus bas. Si les énoncés φ, ψ ont les valeurs de vérité ‖φ‖, ‖ψ‖ ∈ [0, 1], alors
- ‖φ et ψ‖ = T(‖φ‖, ‖ψ‖),
- ‖φ ou ψ‖ = S(‖φ‖, ‖ψ‖),
- ‖non φ‖ = ¬‖φ‖,
- ‖si φ, alors ψ‖ = I(‖φ‖, ‖ψ‖).
La valeur d’un énoncé atomique « x est A » est l’appartenance μA(x).
Un énoncé composé s’évalue de bas en haut : d’abord les appartenances, puis les connecteurs l’un après l’autre, exactement comme on remplit une table de vérité en logique classique — sauf qu’au lieu de 0 et 1, on met des nombres intermédiaires.
Exemple — « il fait chaud et pas humide » à 27 °C et 60 %
« Chaud » est le triangle (22, 28, 34), donc ‖chaud‖ = (27 − 22) / (28 − 22) = 5/6 ≈ 0,83. « Humide » croît de 40 à 70 % : ‖humide‖ = (60 − 40) / (70 − 40) = 2/3 ≈ 0,67, donc ‖non humide‖ = 1 − 2/3 = 1/3 ≈ 0,33.
- avec le minimum : min(5/6; 1/3) = 0,33,
- avec le produit : 5/6 · 1/3 = 5/18 = 0,28,
- avec la t-norme de Łukasiewicz : max(0; 5/6 + 1/3 − 1) = 1/6 = 0,17.
Trois réponses raisonnables à la même question — le choix entre elles est l’objet du reste de cette partie.
2. T-normes : ce que signifie « et »
Définition — t-norme
Une t-norme est une fonction T : [0, 1]2 → [0, 1] qui est
- commutative : T(a, b) = T(b, a),
- associative : T(a, T(b, c)) = T(T(a, b), c),
- monotone : b ≤ c entraîne T(a, b) ≤ T(a, c),
- et qui a 1 pour élément neutre : T(a, 1) = a.
Quatre exigences raisonnables pour « et » : l’ordre ne compte pas, les parenthèses ne comptent pas, de meilleures entrées ne donnent pas un moins bon résultat, et « A et vrai » est la même chose que A. Il en découle aussi que « A et faux » est faux, de sorte qu’aux valeurs extrêmes toute t-norme se comporte exactement comme le « et » classique.
Les quatre plus importantes :
- Minimum (de Gödel, de Zadeh) T(a, b) = min(a, b) — une chaîne est aussi solide que son maillon le plus faible.
- Produit T(a, b) = a · b — comme la probabilité de deux événements indépendants.
- De Łukasiewicz T(a, b) = max(0, a + b − 1) — la borne inférieure de Fréchet de la partie précédente.
- Drastique — b quand a = 1 ; a quand b = 1 ; sinon 0.
La moins évidente est la t-norme de Łukasiewicz, alors décortiquons-la :
TŁ(a, b) = max(0, a + b − 1)
- TŁ(a, b)
- la vérité de « A et B » — combien de vérité les deux parties doivent avoir en commun
- a + b
- les vérités des deux parties ensemble — imaginez-les comme deux segments de longueur a et b qui doivent tenir dans un segment de longueur 1
- − 1
- la longueur du segment entier — ce qui, dans a + b, dépasse un ne tient pas côte à côte et doit se chevaucher ; le chevauchement est ce qui est vrai en même temps
- max(0, …)
- quand les segments tiennent côte à côte (a + b ≤ 1), ils n’ont pas du tout besoin de se chevaucher — la vérité de « et » vaut alors 0, et non un nombre négatif
Pour a = 0,7 et b = 0,6, elles donnent 0,60 ; 0,42 ; 0,30 et 0. Le minimum est la plus généreuse de toutes, la drastique la plus sévère — et c’est vrai en général :
Théorème — bornes des t-normes
Pour toute t-norme T et tous a, b ∈ [0, 1], on a TD(a, b) ≤ T(a, b) ≤ min(a, b), où TD est la t-norme drastique.
Démonstration. Borne supérieure : par la monotonie et le un neutre, T(a, b) ≤ T(a, 1) = a, et par la commutativité de même T(a, b) ≤ b. Borne inférieure : si a = 1, alors T(1, b) = b = TD(1, b) ; si b = 1, de même. Sinon TD(a, b) = 0, et T(a, b) ≥ 0 est toujours vrai. ∎
« A et B » ne peut jamais être plus vrai que la plus faible de ses deux parties (cela découle de la monotonie et du un neutre : T(a, b) ≤ T(a, 1) = a). Toutes les t-normes se situent donc entre deux extrêmes.
3. T-conormes et négation : « ou » et « non »
Définition — t-conorme, négation, dualité
Une t-conorme S a les mêmes propriétés qu’une t-norme, sauf que son élément neutre est 0 : S(a, 0) = a. La négation standard est ¬a = 1 − a.
À chaque t-norme correspond la t-conorme duale S(a, b) = 1 − T(1 − a, 1 − b). Pour un tel couple, les lois de De Morgan sont vérifiées : ¬T(a, b) = S(¬a, ¬b).
« A ou B » est la même chose que « il n’est pas vrai que ni A ni B ». Chaque « et » apporte donc son « ou ». Au minimum correspond le maximum, au produit la somme probabiliste a + b − ab, à la t-norme de Łukasiewicz la somme bornée min(1, a + b). Pour 0,7 et 0,6, elles donnent 0,70 ; 0,88 et 1.
S(a, b) = 1 − T(1 − a, 1 − b)
- S(a, b)
- la vérité de « A ou B » — nous voulons la déduire du « et », pas l’inventer à part
- 1 − a, 1 − b
- les vérités de « non A » et « non B » — « ou » échoue exactement quand aucune des parties n’est vraie
- T
- la t-norme choisie — calcule dans quelle mesure « non A et non B » est vrai, c’est-à-dire dans quelle mesure « ou » échoue
- 1 −
- la négation extérieure — transforme « dans quelle mesure ça échoue » en « dans quelle mesure c’est vrai » ; grâce à elle, les lois de De Morgan sont automatiquement vérifiées pour chaque couple T, S
Exemple — trois t-conormes par dualisation
- Minimum : 1 − min(1 − a, 1 − b) = max(a, b) ; le plus petit complément appartient au plus grand nombre. Pour 0,7 et 0,6 : 1 − min(0,3; 0,4) = 1 − 0,3 = 0,70.
- Produit : 1 − (1 − a)(1 − b) = 1 − (1 − a − b + ab) = a + b − ab. Pour 0,7 et 0,6 : 1 − 0,3 · 0,4 = 1 − 0,12 = 0,88.
- Łukasiewicz : 1 − max(0, (1 − a) + (1 − b) − 1) = 1 − max(0, 1 − a − b) = min(1, a + b). Pour 0,7 et 0,6 : 1 − max(0; 0,3 + 0,4 − 1) = 1 − 0 = 1,00.
La somme probabiliste a un sens bien connu : pour des événements indépendants, P(A ∪ B) = P(A) + P(B) − P(A)P(B) — on soustrait le chevauchement, qui serait sinon compté deux fois.
4. Quelles lois survivent
La logique classique compte une foule de lois. En logique floue, tout ne peut pas être vrai à la fois — et chaque t-norme fait un choix différent. Vérifié sur la grille de valeurs 0 ; 0,05 ; … ; 1 :
| Loi | Minimum | Produit | Łukasiewicz |
|---|---|---|---|
| idempotence : A et A = A | oui | non | non |
| non-contradiction : A et non A = 0 | non | non | oui |
| tiers exclu : A ou non A = 1 | non | non | oui |
| lois de De Morgan | oui | oui | oui |
| distributivité de « et » par rapport à « ou » | oui | non | non |
Le minimum conserve l’« algèbre » — idempotence et distributivité —, mais perd le principe de non-contradiction : « chaud et pas chaud » peut atteindre 0,5. Łukasiewicz conserve la non-contradiction et le tiers exclu, mais « chaud et chaud » à 0,7 ne donne que 0,4. C’est un résultat connu : le minimum est la seule t-norme idempotente, et avec elle le principe de non-contradiction ne peut pas être vérifié. Choisir un connecteur, c’est donc choisir les propriétés auxquelles on tient.
Théorème — le minimum est la seule t-norme idempotente
Si T est une t-norme et T(a, a) = a pour tout a ∈ [0, 1], alors T(a, b) = min(a, b).
Démonstration. Soit a ≤ b. Par idempotence et monotonie, a = T(a, a) ≤ T(a, b), et par le théorème des bornes, T(a, b) ≤ min(a, b) = a. Donc T(a, b) = a ; pour a > b, de même grâce à la commutativité. ∎
Corollaire. L’idempotence et le principe de non-contradiction (avec la négation standard) ne peuvent pas être vrais en même temps : seul le minimum est idempotent, et au point 0,5 il donne min(0,5; 1 − 0,5) = 0,5 ≠ 0.
Exemple — contre-exemples et une démonstration tirée du tableau
- Łukasiewicz vérifie la non-contradiction pour tout a, pas seulement sur la grille : TŁ(a, 1 − a) = max(0, a + 1 − a − 1) = max(0, 0) = 0. De même, min(1, a + 1 − a) = 1 est la loi du tiers exclu.
- Łukasiewicz n’est pas idempotente : TŁ(0,7; 0,7) = 0,7 + 0,7 − 1 = 0,4 ≠ 0,7.
- Le produit n’est pas distributif : pour a = b = c = 0,5, « a et (b ou c) » = 0,5 · (0,5 + 0,5 − 0,25) = 0,3750, mais « (a et b) ou (a et c) » = 0,25 + 0,25 − 0,25 · 0,25 = 0,4375.
- Le produit ne vérifie pas la non-contradiction : 0,5 · (1 − 0,5) = 0,25 ≠ 0.
Un seul contre-exemple suffit pour qu’une loi tombe. En revanche, un « oui » du tableau n’est vérifié que sur la grille — mais pour la non-contradiction de Łukasiewicz, il y a aussi plus haut une démonstration générale.
5. Implication
Définition — implication résiduelle
À une t-norme continue T correspond le résidu
I(a, b) = sup { c ∈ [0, 1] : T(a, c) ≤ b }.
On a T(a, c) ≤ b si et seulement si c ≤ I(a, b). Le minimum donne l’implication de Gödel (1 quand a ≤ b, sinon b), le produit celle de Goguen (1 quand a ≤ b, sinon b/a) et la t-norme de Łukasiewicz min(1, 1 − a + b).
« Si A, alors B » est l’affirmation la plus forte qui, avec A, ne donne pas plus que ce que vaut B. L’implication est entièrement vraie chaque fois que la prémisse n’est pas plus vraie que la conclusion — exactement comme en logique classique, où du faux on peut déduire n’importe quoi. Pour la prémisse 0,8 et la conclusion 0,3, les trois implications donnent 0,3 ; 0,375 et 0,5.
I(a, b) = sup { c ∈ [0, 1] : T(a, c) ≤ b }
- I(a, b)
- la vérité de « si A, alors B » pour une prémisse de vérité a et une conclusion de vérité b
- c ∈ [0, 1]
- un candidat pour la vérité de l’implication — on essaie toutes les valeurs possibles
- T(a, c)
- « A et (si A, alors B) » — ce que l’on déduit de la prémisse et de l’implication ensemble ; c’est exactement ce que fait le modus ponens
- ≤ b
- la condition de correction — la conclusion déduite ne doit pas être plus vraie que B ne l’est réellement ; l’implication ne doit pas « promettre davantage »
- sup
- le plus grand des candidats corrects — l’implication doit être aussi forte que possible, sinon elle vaudrait toujours 0 et ne dirait rien
Exemple — trois implications pour la prémisse 0,8 et la conclusion 0,3
On cherche le plus grand c tel que T(0,8; c) ≤ 0,3 :
- minimum : min(0,8; c) ≤ 0,3 est vrai exactement quand c ≤ 0,3 (car 0,8 > 0,3), donc I = 0,300,
- produit : 0,8 · c ≤ 0,3, c’est-à-dire c ≤ 0,3 / 0,8, donc I = 0,375,
- Łukasiewicz : max(0; 0,8 + c − 1) ≤ 0,3, c’est-à-dire c − 0,2 ≤ 0,3 et c ≤ 0,5, donc I = 0,500.
Vérification par le modus ponens : on remet c = I dans T(0,8; c) — min(0,8; 0,3) = 0,3 ; 0,8 · 0,375 = 0,3 ; max(0; 0,8 + 0,5 − 1) = 0,3. Dans les trois cas, on obtient exactement la conclusion 0,3 : l’implication est réglée pour tomber pile dessus.
Les résidus ne sont pas seulement élégants : grâce à la relation T(a, c) ≤ b ⇔ c ≤ I(a, b), ils vérifient une version floue du modus ponens — de A de vérité a et de « A ⇒ B » de vérité c découle B de vérité au moins T(a, c). C’est sur cela que reposent les logiques floues formelles, bâties dans les années 1990 par le logicien tchèque Petr Hájek.
6. Règles SI–ALORS
En pratique, c’est le plus souvent dans des règles qui commandent une machine que vous rencontrerez la logique floue. Nous voulons un ventilateur qui se règle sur la température et l’humidité. La vitesse (0–100 %) a les termes lent, moyen et rapide, l’humidité les termes sec et humide, la température les termes de la partie sur les ensembles flous. La base de règles :
- R1 : SI la température est froid OU agréable, ALORS la vitesse est lent.
- R2 : SI la température est chaud ET l’humidité est sec, ALORS la vitesse est moyen.
- R3 : SI la température est chaud ET l’humidité est humide, ALORS la vitesse est rapide.
- R4 : SI la température est torride, ALORS la vitesse est rapide.
Définition — évaluation d’une règle (Mamdani)
Pour une entrée nette, on calcule d’abord la force de la règle α : les appartenances des entrées aux termes de la condition, combinées par une t-norme (« et ») ou une t-conorme (« ou »). La conclusion — un ensemble flou B en sortie — est ensuite écrêtée : μ′(y) = min(α, μB(y)), ou réduite : μ′(y) = α · μB(y). Les conclusions de toutes les règles sont combinées par l’union (le maximum).
Une règle vaut autant que sa condition, et elle impose sa conclusion dans la même mesure. Une règle dont la condition est vraie à 0,67 ne peut imposer « rapide » que jusqu’à une hauteur de 0,67. Toutes les règles parlent en même temps, et le résultat est le contour de ce qui pousse dans chaque direction.
Entrée : 27 °C et 60 % d’humidité. La température est « agréable » à 0,2 et « chaud » à 0,83, l’humidité « humide » à 0,67 et « sec » pas du tout. La règle R3 a la force min(0,83; 0,67) = 0,67 :
Avec le minimum, la conclusion « rapide » est écrêtée à la hauteur 0,67 et il en reste un trapèze plat. Avec le produit, la règle a la force 0,83 · 0,67 = 0,56 et « rapide » est réduit en entier — il garde sa forme, simplement plus bas. Les deux approches sont utilisées en pratique ; la première est le choix d’origine de Mamdani.
Toute la base de règles d’un coup :
Deux règles se sont déclenchées : R1 avec la force 0,2 (la température est un peu « agréable ») et R3 avec la force 0,67. R2 et R4 se taisent. Le résultat est un ensemble flou sur la vitesse — une marche basse vers « lent » et une haute vers « rapide ». Mais le moteur a besoin d’un seul nombre. Comment le tirer de cet ensemble, c’est le sujet de la partie suivante, sur la commande floue.
μ(y) = maxr min(αr, μBr(y))
- μ(y)
- l’ensemble flou résultant sur la vitesse — dans quelle mesure la base de règles recommande la vitesse y (sur la figure, la surface verte)
- αr
- la force de la règle r — dans quelle mesure sa condition est vraie pour l’entrée du jour ; une règle ne doit pas affirmer plus que ce que vaut sa prémisse
- μBr(y)
- la conclusion de la règle — la forme d’un terme comme « rapide » : quelles vitesses lui appartiennent et dans quelle mesure (sur la figure, le contour en pointillés)
- min
- écrêtage — la conclusion est coupée à la hauteur αr, car une règle dont la condition est vraie à 0,67 ne peut rien recommander au-delà de 0,67 (sur la figure, la surface ambre)
- maxr
- union des règles — les règles sont des alternatives (« R1 ou R2 ou … »), donc une vitesse est recommandée dans la mesure où la règle la plus disposée la recommande
Exemple — la base de règles pas à pas pour 27 °C et 60 %
Étape 1 — fuzzification. Température 27 °C : « froid » 0 (s’arrête à 14 °C), « agréable » décroît de 23 à 28 °C, donc (28 − 27) / (28 − 23) = 0,2 ; « chaud » (27 − 22) / 6 = 0,83 ; « torride » 0 (ne commence qu’à 30 °C). Humidité 60 % : « sec » 0 (s’arrête à 50 %), « humide » (60 − 40) / 30 = 0,67.
Étape 2 — forces des règles. Le « ou » à l’intérieur d’une condition est calculé par la t-conorme duale, le « et » entre les conditions par la t-norme :
| Règle | Appartenances dans la condition | α avec le minimum | α avec le produit |
|---|---|---|---|
| R1 | 0,00 ou 0,20 | 0,20 | 0,20 |
| R2 | 0,83 et 0,00 | 0,00 | 0,00 |
| R3 | 0,83 et 0,67 | 0,67 | 0,56 |
| R4 | 0,00 | 0,00 | 0,00 |
Par exemple R3 avec le produit : 5/6 · 2/3 = 10/18 ≈ 0,56 ; R1 avec le maximum : max(0; 0,2) = 0,2.
Étape 3 — écrêtage et union. La valeur de l’ensemble de sortie en quelques points, μ(y) = max(min(0,2; μlent(y)), min(0,67; μrapide(y))) — R2 et R4 ont la force 0 et n’ajoutent rien :
| vitesse y (%) | 10 | 40 | 50 | 60 | 70 | 80 | 90 |
|---|---|---|---|---|---|---|---|
| μlent(y) | 1,00 | 0,20 | 0,00 | 0,00 | 0,00 | 0,00 | 0,00 |
| μrapide(y) | 0,00 | 0,00 | 0,00 | 0,20 | 0,60 | 1,00 | 1,00 |
| μ(y), minimum | 0,20 | 0,20 | 0,00 | 0,20 | 0,60 | 0,67 | 0,67 |
| μ(y), produit | 0,20 | 0,04 | 0,00 | 0,11 | 0,33 | 0,56 | 0,56 |
Par exemple en y = 70 : « rapide » y est vrai à (70 − 55) / (80 − 55) = 0,6, ce qui est moins que la force 0,67, donc l’écrêtage ne change rien et μ(70) = 0,6. En y = 90, « rapide » est entièrement vrai (1) et l’écrêtage le ramène à 0,67. Aucune règle ne recommande les vitesses entre 45 et 55 %.
def sila(podminky, vstup, t_norma=min):
hodnoty = []
for promenna, terminy in podminky: # termes reliés par « ou »
hodnoty.append(max(mu[promenna][t](vstup[promenna]) for t in terminy))
vysledek = 1.0
for h in hodnoty: # conditions reliées par « et »
vysledek = t_norma(vysledek, h)
return vysledek
def vystup(pravidla, vstup, y):
return max(min(sila(r.kdyz, vstup), mu_otacky[r.pak](y)) for r in pravidla)
7. La logique floue et l’IA d’aujourd’hui
- Une logique que l’on peut dériver. Les t-normes sont continues, on peut donc les dériver. Des approches neurosymboliques comme les Logic Tensor Networks en font une fonction de perte : le réseau apprend non seulement à partir d’exemples, mais aussi de règles du type « tout chien est un mammifère », dont la vérité est calculée avec des connecteurs flous.
- Contraintes souples. Probabilistic Soft Logic utilise les connecteurs de Łukasiewicz pour écrire des règles pondérées — par exemple pour la recommandation ou pour relier des enregistrements concernant la même personne.
- Décisions lisibles. Les règles floues sont courtes et compréhensibles. Là où des humains doivent contrôler la prise de décision, on les utilise encore aujourd’hui comme alternative explicable à une boîte noire.
8. Résumé
- En logique floue, les énoncés ont une vérité dans [0, 1] ; les connecteurs sont des fonctions sur ces valeurs.
- « Et » est une t-norme — minimum, produit, Łukasiewicz et d’autres ; toutes se situent entre la t-norme drastique et le minimum.
- « Ou » est la t-conorme duale, « non » vaut par défaut 1 − a ; les lois de De Morgan sont toujours vérifiées, les autres lois selon la t-norme choisie.
- L’implication résiduelle préserve le modus ponens ; c’est sur elle que reposent les logiques floues formelles.
- Les règles SI–ALORS s’évaluent par la force de la condition, l’écrêtage ou la réduction de la conclusion et l’union par le maximum — pour le ventilateur à 27 °C et 60 %, R1 se déclenche avec la force 0,2 et R3 avec la force 0,67.
Envie d’essayer par vous-même ? Demandez à un agent d’IA d’écrire le tableau des lois de cette partie pour d’autres t-normes — par exemple la famille de Hamacher ou celle de Frank — et découvrez laquelle ressemble le plus à la logique classique.
Vous voyez les choses autrement ? Écrivez à support@coden-app.com.