Aller au contenu
coden

Ensembles flous et fonctions d’appartenance : comment écrire « un peu chaud »

La frontière nette et le paradoxe du tas, l’ensemble flou et le degré d’appartenance, les formes des fonctions d’appartenance, la variable linguistique, le support, le noyau et les α-coupes, les opérations de Zadeh et les modificateurs « très » et « un peu » — sur la température, du froid au torride.

12 minutes Matěj Žalmánek 2026-10-15

Série Bases de l’IA Partie 32 sur 52
  1. Carte de l’intelligence artificielle : qu’est-ce qui est quoi et comment tout s’emboîte
  2. Brève histoire de l’intelligence artificielle : de Turing aux modèles de langage
  3. Données, modèle, entraînement, inférence : les notions de base sur un seul exemple
  4. Lire la notation mathématique : symboles, indices, sommes et quantificateurs
  5. Ensembles et relations : les briques dont sont faites les définitions en IA
  6. Fonctions et applications : pourquoi tout modèle d’IA est une fonction
  7. Logique et démonstrations : les règles selon lesquelles on raisonne en IA
  8. Graphes et arbres : la structure sur laquelle reposent la recherche et les réseaux de neurones
  9. Algèbre linéaire pour l’apprentissage automatique : vecteurs, matrices et pourquoi l’IA multiplie surtout
  10. Dérivées, gradient et règle de dérivation en chaîne : comment un modèle sait dans quelle direction apprendre
  11. Descente de gradient : comment un modèle apprend
  12. Qu’est-ce que la probabilité : du lancer de dé aux axiomes de Kolmogorov
  13. Probabilité conditionnelle et théorème de Bayes : comment réviser une estimation quand on apprend du nouveau
  14. Variable aléatoire et fonction de répartition : une seule fonction qui dit tout de la loi
  15. Fonction de densité et fonction de masse : pourquoi une variable continue a une probabilité nulle en chaque point
  16. Espérance, variance et covariance : où se situe une loi, quelle est sa largeur et ce qui varie avec quoi
  17. Panorama des lois de probabilité : Bernoulli, binomiale, Poisson, uniforme, normale et exponentielle
  18. Loi des grands nombres et théorème central limite : pourquoi les moyennes sont si prévisibles
  19. Statistique et estimation de paramètres : maximum de vraisemblance, MAP et intervalles de confiance
  20. Théorie de l’information : entropie, entropie croisée et divergence KL — d’où viennent les fonctions de perte
  21. Recherche dans l’espace d’états : BFS, DFS, UCS et A* en animations
  22. Jeux et adversaires : minimax, élagage alpha-bêta et Monte Carlo tree search
  23. Satisfaction de contraintes : backtracking, propagation de contraintes et AC-3 sur un sudoku et une carte des régions tchèques
  24. Logique et systèmes à base de connaissances : chaînage avant et arrière, résolution et systèmes experts
  25. Planification : STRIPS, monde des blocs, heuristiques par relaxation et planification dans les agents IA
  26. Recherche locale et recuit simulé : un voyageur de commerce à travers les chefs-lieux de région tchèques
  27. Algorithmes génétiques : population, croisement, mutation et sélection sur un sac à dos de randonnée
  28. Stratégies d’évolution et programmation génétique : de la règle du cinquième à la loi de Kepler
  29. Optimisation par colonies de fourmis : comment une piste de phéromone trouve un chemin court
  30. Optimisation par essaim de particules : inertie, expérience propre et expérience de l’essaim
  31. Neuroévolution : faire évoluer les poids et la forme des réseaux de neurones, et l’algorithme NEAT
  32. Ensembles flous et fonctions d’appartenance : comment écrire « un peu chaud »
  33. Logique floue et probabilité : pourquoi « un peu chaud » ne veut pas dire « probablement chaud »
  34. Logique floue : t-normes, implications et règles SI–ALORS
  35. Commande floue : Mamdani et Sugeno, du ventilateur au pendule inversé sur un chariot
  36. Clustering flou : l’algorithme fuzzy c-means et les points entre les clusters
  37. Systèmes neuro-flous (ANFIS) : des règles floues qui apprennent à partir des données
  38. Chaînes de Markov : matrice de transition, distribution stationnaire et PageRank
  39. Modèles de Markov cachés : l’algorithme de Viterbi et le casino malhonnête
  40. Réseaux bayésiens : pourquoi l’herbe est mouillée et ce que cela implique pour l’arroseur
  41. Le filtre de Kalman : comment estimer, à partir de mesures imprécises, où se trouve une voiture et à quelle vitesse elle roule
  42. Types d’apprentissage automatique : supervisé, non supervisé, semi-supervisé et plus
  43. Prompts, contexte et RAG : comment donner au modèle les bonnes informations
  44. Autoencodeurs variationnels (VAE) : de nouvelles images à partir d’un espace latent continu
  45. Réseaux antagonistes génératifs (GAN) : le faussaire contre le détective
  46. Modèles de diffusion : comment une image naît du bruit pur
  47. Processus de décision markoviens : états, actions, récompenses et équations de Bellman
  48. Q-learning et DQN : apprendre la valeur des actions, du tableau au réseau de neurones
  49. Policy gradient et PPO : apprendre directement la politique
  50. Comment fonctionne un agent IA : un modèle de langage en boucle avec des outils
  51. Programmer avec des agents IA : consigne, tests et vérification
  52. É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 vous retiendrez
  • Ce qu’est un ensemble flou et pourquoi le degré d’appartenance n’est pas une probabilité.
  • Comment des mots comme « chaud » ou « agréable » s’écrivent avec des fonctions d’appartenance et comment ils se chevauchent.
  • Comment fonctionnent l’intersection, l’union et le complément flous et pourquoi la loi du tiers exclu ne s’applique pas.

Utile à connaître avant : 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

Combien de grains de sable faut-il pour faire un tas ? Un million, sûrement. Un seul, sûrement pas. Et si vous retirez un grain d’un tas, c’est toujours un tas — si bien que, selon cette logique, même un seul grain serait un tas. Les Grecs anciens connaissaient déjà ce paradoxe, et il montre que beaucoup de mots avec lesquels nous parlons du monde n’ont pas de frontière nette : grand, chaud, vite, presque plein. Les mathématiques classiques les traitent mal, car un élément appartient à un ensemble ou n’y appartient pas. En 1965, Lotfi Zadeh, de l’université de Californie à Berkeley, a proposé une solution simple : permettre à un élément d’appartenir à un ensemble un peu.

Cette partie ouvre le module consacré à la logique floue. Elle fait suite aux parties Ensembles et relations et Fonctions et applications.

1. La frontière nette et son problème

Définition — fonction caractéristique

Un ensemble classique (net) A ⊆ X est déterminé de façon unique par sa fonction caractéristique χA : X → {0, 1}, où χA(x) = 1 pour x ∈ A et 0 sinon.

En termes simples

Un ensemble net est une liste avec un oui et un non clairs. Disons que « chaud » commence à 25 °C. Alors 25 °C est chaud et 24,9 °C ne l’est pas — alors que personne ne sentirait la différence. Une frontière placée en un seul point est arbitraire, et un petit changement de l’entrée provoque un saut du résultat.

00,51 0510152025303540 température T (°C) degré d’appartenance μ (0–1)
« Chaud » comme ensemble net et comme ensemble flou net : dès 25 °Cflou

2. Ensemble flou

Définition — ensemble flou (Zadeh, 1965)

Un ensemble flou A sur l’univers X est donné par une fonction d’appartenance μA : X → [0, 1]. Le nombre μA(x) est le degré d’appartenance de l’élément x à A ; formellement A = {(x, μA(x)) : x ∈ X}.

Un ensemble net en est le cas particulier où μA ne prend que les valeurs 0 et 1.

En termes simples

Au lieu de « appartient, n’appartient pas », chaque élément reçoit un nombre entre zéro et un : à quel point il appartient à l’ensemble. 28 °C est « chaud » complètement (1), 25 °C à moitié (0,5), 20 °C pas du tout (0). Entre les deux, l’appartenance varie de façon continue — aucun saut entre 24,9 et 25.

Ce qui compte, c’est ce que le degré d’appartenance n’est pas : ce n’est pas une probabilité. Quand 25 °C est « chaud » à 0,5, cela ne veut pas dire qu’il fait chaud avec une chance sur deux. La température est connue exactement ; c’est le mot qui est vague. La différence entre l’imprécision d’un mot et l’incertitude du hasard fera l’objet de la partie suivante.

3. Formes des fonctions d’appartenance

Définition — fonctions d’appartenance usuelles
  • Triangulaire de paramètres a < b < c : croît linéairement de 0 en a à 1 en b et redescend à 0 en c.
  • Trapézoïdale de paramètres a ≤ b ≤ c ≤ d : croît de a à b, vaut 1 entre b et c, décroît jusqu’à d.
  • Gaussienne : μ(x) = e−(x − m)2 / 2s2 — une colline lisse de centre m et de largeur s.
  • Sigmoïde : μ(x) = 1 / (1 + e−a(x − c)) — une transition continue de 0 à 1 autour du point c.
En termes simples

On choisit la forme selon ce qui est naturel et ce qui se calcule facilement. En pratique, ce sont de loin les triangles et les trapèzes qui l’emportent le plus souvent : quelques nombres suffisent, tout le monde les comprend et les calculs sont rapides. La forme exacte compte généralement moins qu’on ne le croirait — l’important est où la fonction commence, où elle culmine et où elle s’arrête.

μ(x) = max( 0, min( (x − a) / (b − a), (c − x) / (c − b) ) )

(x − a) / (b − a)
bord gauche — une droite qui vaut 0 en a et 1 en b ; la division par la longueur b − a garantit que le sommet vaut exactement 1, quelle que soit la largeur
(c − x) / (c − b)
bord droit — en miroir : valeur 1 en b, valeur 0 en c
min
choisit le bord qui est le plus bas à cet endroit — à gauche de b, le bord droit est au-dessus de 1, à droite de b, c’est le bord gauche ; le minimum « coupe » ainsi la pointe exactement en b
max(0, …)
hors de l’intervalle (a ; c), les bords deviendraient négatifs ; or le degré d’appartenance ne doit pas descendre sous 0
Le triangle en une seule expression — exactement celle que calcule la fonction trojuhelnik ci-dessous. Pour « chaud » (22, 28, 34) et 25 °C : min(3/6, 9/6) = 0,5.
def trojuhelnik(a, b, c):
    return lambda x: max(0.0, min((x - a) / (b - a), (c - x) / (c - b)))

def lichobeznik(a, b, c, d):
    def mu(x):
        if x < a or x > d:
            return 0.0
        if x < b:
            return (x - a) / (b - a)
        return 1.0 if x <= c else (d - x) / (d - c)
    return mu

teplo = trojuhelnik(22, 28, 34)
print(teplo(25), teplo(28), teplo(31))   # 0.5 1.0 0.5

4. Variable linguistique

Définition — variable linguistique (Zadeh, 1975)

Une variable linguistique est une variable dont les valeurs sont des mots. Elle est donnée par un nom (par exemple « température »), un univers X (0–40 °C) et un ensemble de termes (froid, agréable, chaud, torride), dont chacun est un ensemble flou sur X.

En termes simples

Les mots qui décrivent la température se chevauchent — et c’est très bien ainsi. 25 °C est un peu « agréable » et un peu « chaud », exactement comme le dirait une personne.

Notre température a quatre termes : froid est un trapèze (0, 0, 6, 14), agréable un trapèze (10, 17, 23, 28), chaud un triangle (22, 28, 34) et torride un trapèze (30, 36, 40, 40). Le trait vertical saute d’une température d’exemple à l’autre :

00,51 0510152025303540 12 °C 0,250,29 25 °C 0,600,50 31 °C 0,500,17 température T (°C) degré d’appartenance μ (0–1)
La variable linguistique température et les appartenances de trois températures froidagréablechaudtorride
  • 12 °C est « froid » à 0,25 et « agréable » à 0,29 — un printemps frais où l’on n’arrive pas à trancher.
  • 25 °C est « agréable » à 0,6 et « chaud » à 0,5.
  • 31 °C est « chaud » à 0,5 et déjà « torride » à 0,17.
Exemple — les appartenances pas à pas

Sur chaque bord, il suffit du rapport « chemin déjà parcouru sur le bord » sur « longueur du bord » :

12 °C, froid (0, 0, 6, 14) sur le bord descendant : (14 − 12) / (14 − 6) = 2/8 = 0,25

12 °C, agréable (10, 17, 23, 28) sur le bord montant : (12 − 10) / (17 − 10) = 2/7 ≈ 0,29

25 °C, agréable sur le bord descendant : (28 − 25) / (28 − 23) = 3/5 = 0,6

25 °C, chaud (22, 28, 34) sur le bord montant : (25 − 22) / (28 − 22) = 3/6 = 0,5

31 °C, chaud sur le bord descendant : (34 − 31) / (34 − 28) = 3/6 = 0,5

31 °C, torride (30, 36, 40, 40) sur le bord montant : (31 − 30) / (36 − 30) = 1/6 ≈ 0,17

Les autres termes ont, pour ces températures, une appartenance de 0 — la température se trouve hors de leur support.

Remarquez que les appartenances d’une même température n’ont pas à totaliser 1 (pour 25 °C, elles donnent 1,1). Les ensembles flous ne sont pas des parts d’un même tout, mais des réponses indépendantes aux questions « est-ce froid ? », « est-ce agréable ? »…

5. Support, noyau et α-coupes

Définition — support, noyau, hauteur, α-coupe
  • Le support est {x : μA(x) > 0} — les éléments qui appartiennent à A au moins un peu.
  • Le noyau (core) est {x : μA(x) = 1} — les éléments qui appartiennent complètement.
  • La hauteur est supx μA(x) ; un ensemble de hauteur 1 est normal.
  • L’α-coupe pour α ∈ (0, 1] est l’ensemble net Aα = {x : μA(x) ≥ α}. Un ensemble flou est convexe lorsque toutes ses α-coupes sont des intervalles.
En termes simples

L’α-coupe, c’est « à quel point on veut être strict ». La coupe au niveau 0,5 contient les températures qui sont agréables au moins à moitié. À partir des α-coupes, on peut reconstituer l’ensemble flou — ce sont les courbes de niveau de la colline. Et grâce à elles, les mathématiques classiques s’appliquent aussi aux ensembles flous : il suffit de les appliquer séparément à chaque niveau α.

00,51 0510152025303540 α-coupe 0,5 : [13,5 ; 25,5]support (10 ; 28)noyau [17 ; 23] température T (°C) degré d’appartenance μ (0–1)
Le terme « agréable » : support, noyau et α-coupe pour α = 0,5 agréable

Pour « agréable », le support est l’intervalle ouvert (10 ; 28), le noyau [17 ; 23] et l’α-coupe au niveau 0,5 l’intervalle [13,5 ; 25,5]. L’ensemble est normal (hauteur 1) et convexe — comme tous nos termes. (Le supremum sup dans la définition de la hauteur est le plus petit majorant des valeurs ; pour nos fonctions continues sur un intervalle fermé, c’est tout simplement le maximum.)

Aα = [ a + α (b − a) ;  d − α (d − c) ]

α
le niveau de la coupe (le trait ambre sur la figure) — combien d’appartenance nous exigeons ; plus il est élevé, plus il faut s’éloigner des bords, et la coupe se rétrécit
a
bord gauche du support — c’est de là que monte le bord gauche ; pour α → 0, la coupe commence exactement ici
(b − a)
largeur du bord gauche — l’appartenance y monte de 0 à 1, si bien que le niveau α est atteint après avoir parcouru la fraction α de cette largeur
d
bord droit du support — on mesure à partir de là, en revenant vers la gauche
(d − c)
largeur du bord droit — en miroir : depuis d, on parcourt vers la gauche la fraction α de cette largeur
α-coupe du trapèze (a, b, c, d) pour α ∈ (0, 1] : il suffit de résoudre (x − a)/(b − a) = α et (d − x)/(d − c) = α. Pour α = 1, on obtient le noyau [b ; c].
Exemple — α-coupes du terme « agréable » (10, 17, 23, 28)

α = 0,5 : [10 + 0,5 · 7 ; 28 − 0,5 · 5] = [13,5 ; 25,5]

α = 0,8 : [10 + 0,8 · 7 ; 28 − 0,8 · 5] = [15,6 ; 24]

α = 1 : [10 + 7 ; 28 − 5] = [17 ; 23] = noyau

Les coupes s’emboîtent : plus α est élevé, plus l’intervalle est petit, et chaque coupe supérieure se trouve à l’intérieur d’une coupe inférieure. Dans l’autre sens, on reconstitue l’ensemble flou par μA(x) = sup {α : x ∈ Aα} — l’appartenance d’un point est la coupe la plus haute dans laquelle il tombe encore.

Lorsque la fonction d’appartenance n’est pas donnée par une formule, mais par exemple par des points mesurés, on calcule l’α-coupe sur une grille fine. C’est exactement ce que fait le programme qui dessine les figures de cette partie :

def alfa_rez(mu, alfa, od=0.0, do=40.0, kroku=4000):
    body = [od + i * (do - od) / kroku for i in range(kroku + 1)]
    uvnitr = [x for x in body if mu(x) >= alfa]
    return (uvnitr[0], uvnitr[-1]) if uvnitr else None   # pour un ensemble convexe, un intervalle

prijemne = lichobeznik(10, 17, 23, 28)
print(alfa_rez(prijemne, 0.5))    # (13.5, 25.5)

6. Complément, intersection et union

Définition — opérations de Zadeh

μ¬A(x) = 1 − μA(x),   μA ∩ B(x) = min(μA(x), μB(x)),   μA ∪ B(x) = max(μA(x), μB(x)).

Pour les ensembles nets, ces formules donnent exactement le complément, l’intersection et l’union classiques.

En termes simples

« Agréable et en même temps chaud » est aussi vrai que la plus faible des deux parties ; « agréable ou chaud », aussi vrai que la plus forte. Une chaîne n’est pas plus solide que son maillon le plus faible, et quand l’un des deux suffit, c’est le meilleur qui décide.

00,51 0510152025303540 pas agréable = 1 − μ agréable et chaud = min agréable ou chaud = max température T (°C) degré d’appartenance μ (0–1)
Opérations sur les termes « agréable » et « chaud » agréablechaud

À 25 °C, « agréable et chaud » vaut 0,5 et « agréable ou chaud » 0,6. L’intersection atteint au plus 0,545 vers 25,3 °C, là où les deux courbes se croisent — aucune température n’est complètement les deux.

μP ∩ T(x) = min( μP(x), μT(x) )

μP(x)
à quel point la température x est « agréable » (la courbe verte sur la figure)
μT(x)
à quel point elle relève de « chaud » (la courbe ambre) — les deux appartenances se calculent indépendamment, chacune par sa propre fonction
min
« et en même temps » ne peut être vrai qu’au plus autant que la partie la plus faible — si c’était davantage, nous affirmerions sur la température plus que ne peut en porter l’un des deux mots ; et pour les valeurs 0 et 1, min donne exactement le « et » classique
L’union, c’est la même chose avec max (le plus fort des deux) ; le complément 1 − μ renverse l’échelle : ce qui appartient complètement n’appartient plus du tout, et ce qui appartient à moitié le reste à moitié.
Exemple — où l’intersection est la plus haute

Entre 23 et 28 °C, agréable décroît et chaud croît, si bien que le minimum est le plus élevé là où les courbes se coupent :

(28 − x) / 5 = (x − 22) / 6

6 (28 − x) = 5 (x − 22)  ⇒  168 − 6x = 5x − 110  ⇒  x = 278/11 ≈ 25,27 °C

μ = (28 − 278/11) / 5 = 6/11 ≈ 0,545

À gauche du point d’intersection, c’est chaud qui est plus bas, à droite c’est agréable — le minimum y diminue toujours.

C’est ici que les ensembles flous diffèrent des ensembles classiques sur un point essentiel. Presque toutes les règles connues restent valables — commutativité, associativité, lois de De Morgan —, mais pas la loi du tiers exclu. L’intersection A ∩ ¬A n’est pas forcément vide : « agréable et en même temps pas agréable » vaut 0,5 à 13,5 °C. Pour des mots vagues, c’est juste — d’une température agréable à moitié, on peut dire en même temps, à moitié, qu’elle n’est pas agréable. D’autres façons de définir l’intersection et l’union (les t-normes) viendront dans la partie consacrée à la logique floue.

Théorème — les lois de De Morgan sont valables, le tiers exclu ne l’est pas

Pour des ensembles flous quelconques A, B sur X et tout x ∈ X, on a, avec les opérations de Zadeh,

  1. ¬(A ∩ B) = ¬A ∪ ¬B et ¬(A ∪ B) = ¬A ∩ ¬B,
  2. μA ∩ ¬A(x) ≤ ½ et μA ∪ ¬A(x) ≥ ½, avec égalité si et seulement si μA(x) = ½.

Démonstration. (1) Notons p = μA(x), q = μB(x) et, sans perte de généralité, p ≤ q. Alors 1 − min(p, q) = 1 − p, et comme 1 − p ≥ 1 − q, on a aussi max(1 − p, 1 − q) = 1 − p. La seconde loi se montre de même en échangeant min et max.

(2) Les nombres p et 1 − p ont pour somme 1, donc le plus petit vaut au plus ½ et le plus grand au moins ½. ∎

La loi classique du tiers exclu exige A ∪ ¬A = X, c’est-à-dire la valeur 1 partout. Pour un ensemble flou, elle n’est vraie que là où μA vaut 0 ou 1 ; le pire se situe aux points d’appartenance ½ — pour « agréable », à 13,5 et 25,5 °C, où A ∩ ¬A comme A ∪ ¬A valent 0,5.

Vérification sur un nombre : à 25 °C, ¬(P ∩ T) = 1 − min(0,6 ; 0,5) = 0,5 et ¬P ∪ ¬T = max(0,4 ; 0,5) = 0,5.

7. Très chaud, un peu chaud

Définition — modificateurs linguistiques (Zadeh, 1972)

Concentration (« très ») : μtrès A(x) = μA(x)2. Dilatation (« un peu », « plus ou moins ») : μun peu A(x) = √μA(x).

En termes simples

Élever au carré un nombre entre 0 et 1 le diminue — et d’autant plus qu’il est petit : 0,5 devient 0,25, mais 1 reste 1. « Très chaud » est donc plus étroit et plus strict que « chaud ». La racine carrée, à l’inverse, élargit l’ensemble : 25 °C est « chaud » à 0,5, « un peu chaud » à 0,71 et « très chaud » seulement à 0,25.

00,51 0510152025303540 température T (°C) degré d’appartenance μ (0–1)
Chaud, très chaud et un peu chaud un peu chaud (√μ)chaudtrès chaud (μ²)
Définition — inclusion d’ensembles flous

Un ensemble flou A est un sous-ensemble de B (A ⊆ B) lorsque μA(x) ≤ μB(x) pour tout x ∈ X. Pour les ensembles nets, c’est l’inclusion habituelle : là où χA = 1, il faut aussi χB = 1.

μ(x)2 ≤ μ(x) ≤ √μ(x)   pour μ(x) ∈ [0, 1]

μ2
« très » (la courbe rouge) — multiplier par un nombre au plus égal à 1 n’agrandit jamais, donc le carré se trouve sous la courbe d’origine ; il retire le plus aux valeurs moyennes et laisse zéro et un intacts
μ
« chaud » lui-même (la courbe ambre) — le terme de départ, que les modificateurs ne font que remodeler ; ni le support ni le noyau ne changent
√μ
« un peu » (la courbe violette) — la racine carrée est l’inverse du carré, elle relève donc ce que le carré écrase : √0,25 = 0,5
C’est pourquoi très A ⊆ A ⊆ un peu A : « très chaud » est toujours chaud, et ce qui est chaud est au moins un peu chaud. En répétant, on obtient une échelle : « très très » vaut μ4.
Exemple — de combien « très » rétrécit et « un peu » élargit

L’α-coupe au niveau 0,5 de « chaud » (22, 28, 34) est [25 ; 31]. Pour les termes modifiés, il suffit de ramener le niveau à la μ d’origine :

très chaud : μ² ≥ 0,5  ⇔  μ ≥ √0,5 ≈ 0,707  →  [22 + 0,707 · 6 ; 34 − 0,707 · 6] ≈ [26,24 ; 29,76]

un peu chaud : √μ ≥ 0,5  ⇔  μ ≥ 0,25  →  [22 + 0,25 · 6 ; 34 − 0,25 · 6] = [23,5 ; 32,5]

L’intervalle « au moins à moitié » mesure 6 °C pour chaud, environ 3,5 °C pour très chaud et 9 °C pour un peu chaud.

8. Les ensembles flous en pratique

  • Commande floue. Le métro de Sendai, au Japon, circule depuis 1987 avec un régulateur flou qui démarre et freine plus en douceur qu’un humain. Vers 1990 a suivi au Japon une vague de machines à laver, de caméras et de climatiseurs flous. Le fonctionnement d’un tel régulateur sera expliqué dans la partie consacrée à la commande floue.
  • Traitement d’images et clustering. Un pixel à la frontière de deux régions peut appartenir un peu aux deux ; le clustering flou (fuzzy clustering) affecte les points à plusieurs clusters à la fois.
  • Apprentissage automatique. Les sorties souples des classifieurs ou la technique du label smoothing (au lieu d’un « c’est un chat » certain, la cible « chat à 0,9 ») ne sont pas des ensembles flous au sens de Zadeh, mais elles partagent avec eux l’idée que l’appartenance à une classe n’est pas forcément 0 ou 1.
  • Langage. Les modèles de langage manipulent chaque jour des mots comme « assez », « presque » ou « plutôt pas ». Les ensembles flous sont l’un des rares outils qui donnent à de tels mots un sens précis et vérifiable.

9. Résumé

  • Un ensemble flou attribue à chaque élément un degré d’appartenance pris dans l’intervalle [0, 1] ; un ensemble net en est le cas particulier aux valeurs 0 et 1.
  • Les fonctions d’appartenance ont souvent la forme d’un triangle, d’un trapèze, d’une colline gaussienne ou d’une sigmoïde.
  • Une variable linguistique a pour valeurs des mots — des termes qui peuvent se chevaucher ; 25 °C est « agréable » à 0,6 et « chaud » à 0,5.
  • Le support, le noyau et les α-coupes décrivent la forme d’un ensemble flou au moyen d’ensembles nets.
  • Le complément vaut 1 − μ, l’intersection est le minimum et l’union le maximum ; la loi du tiers exclu ne s’applique pas. Le modificateur « très » est μ², « un peu » √μ.

Envie de mettre la main à la pâte ? Demandez à un agent IA de dessiner les fonctions d’appartenance des mots avec lesquels vous décrivez votre journée — « tôt », « tard », « longtemps » — et demandez à quelques personnes où elles placeraient la frontière.

Vous voyez les choses autrement ? Écrivez à support@coden-app.com.

Un Agent sur votre ordinateur, piloté depuis votre téléphone