Ensembles et relations : les briques dont sont faites les définitions en IA
Ensembles, sous-ensembles, opérations, produit cartésien, relations, équivalences et ordres — avec des diagrammes de Venn, la matrice d’une relation et ce à quoi tout cela sert en intelligence artificielle.
Série Bases de l’IA Partie 5 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 un ensemble, un sous-ensemble et le produit cartésien — et pourquoi le nombre de sous-ensembles croît de façon exponentielle.
- Ce qu’est une relation, quelles sont ses propriétés et comment la dessiner sous forme de matrice et de graphe.
- Pourquoi la classification est une partition en classes d’équivalence et un modèle une fonction — une relation particulière.
Utile à connaître avant : Lire la notation mathématique : symboles, indices, sommes et quantificateurs
Les ensembles et les relations sont les briques dont est faite presque chaque définition en IA. L’espace d’états est un ensemble d’états, les transitions entre eux sont des relations, les données d’entraînement sont un ensemble de couples et la classification répartit les entrées en classes. Qui comprend ces deux notions lit les définitions des parties suivantes comme un texte ordinaire.
La notation des symboles (∈, ⊆, ∪, ×) a été vue dans la partie précédente. Ici, nous irons sous la surface : ce qu’ils signifient exactement, quelles propriétés ils ont et à quoi ils servent en intelligence artificielle.
1. Qu’est-ce qu’un ensemble
Définition — ensemble et élément
Un ensemble est une collection d’objets deux à deux distincts. Ces objets sont appelés les éléments de l’ensemble.
La notation x ∈ A signifie « x est un élément de l’ensemble A », la notation x ∉ A « x n’est pas un élément de A ».
Un ensemble est un sac dans lequel vous mettez des choses. Seul compte ce qu’il y a dans le sac — pas l’ordre dans lequel vous l’y avez mis, ni combien de fois. Deux billes de la même couleur sont, pour l’ensemble, une seule couleur.
On écrit un ensemble soit en extension, en énumérant ses éléments entre accolades — A = {1, 2, 3} ou {↑, →, ↓, ←} —, soit en compréhension, par une propriété que vérifient ses éléments : {x ∈ ℕ : x est pair}. Pour A = {1, 2, 3}, on a 2 ∈ A et 5 ∉ A. L’écriture en compréhension permet de décrire aussi des ensembles infinis et s’emploie presque toujours en IA : « l’ensemble de tous les états à partir desquels on peut atteindre le but ».
Définition — égalité d’ensembles
Les ensembles A et B sont égaux, A = B, lorsqu’ils ont exactement les mêmes éléments : ∀x : (x ∈ A ⇔ x ∈ B).
Deux sacs sont identiques lorsqu’ils contiennent la même chose. C’est pourquoi {1, 2, 2} = {2, 1} = {1, 2} : ni l’ordre ni les répétitions ne comptent.
Définition — cardinal et ensemble vide
Le cardinal |A| d’un ensemble fini A est le nombre de ses éléments.
L’ensemble vide ∅ est l’ensemble qui n’a aucun élément ; |∅| = 0.
Le cardinal répond à la question « combien y a-t-il de choses dans le sac » : |{1, 2, 3}| = 3. L’ensemble vide est un sac vide — c’est toujours un ensemble, simplement il n’y a rien dedans.
2. Sous-ensembles et ensemble des parties
Dans un ensemble, on peut en choisir de plus petits. Pour cela, il nous faut trois notions qui s’enchaînent : le sous-ensemble, le sous-ensemble strict et l’ensemble des parties.
Définition — sous-ensemble
Un ensemble A est un sous-ensemble (une partie) d’un ensemble B, on écrit A ⊆ B, lorsque chaque élément de A est aussi un élément de B : ∀x : x ∈ A ⇒ x ∈ B.
Un sous-ensemble est une sélection tirée du sac : vous prenez certaines choses de B et les mettez dans un sac plus petit A. Vous n’avez pas le droit d’ajouter à A quoi que ce soit qui ne figure pas dans B. Ainsi {1, 3} ⊆ {1, 2, 3}, mais {1, 4} ⊄ {1, 2, 3}, car 4 n’est pas dans l’ensemble de départ. Tout ensemble est un sous-ensemble de lui-même, et l’ensemble vide est un sous-ensemble de tout ensemble.
Définition — sous-ensemble strict
A est un sous-ensemble strict de B, on écrit A ⊂ B, lorsque A ⊆ B et en même temps A ≠ B.
Un sous-ensemble strict est une sélection dans laquelle il manque au moins quelque chose. {1, 3} ⊂ {1, 2, 3}, mais {1, 2, 3} n’est pas un sous-ensemble strict de lui-même — vous avez absolument tout pris.
Définition — ensemble des parties
L’ensemble des parties 𝒫(A) est l’ensemble dont les éléments sont tous les sous-ensembles de A : 𝒫(A) = {S : S ⊆ A}.
Théorème. Pour un ensemble fini A, |𝒫(A)| = 2|A|.
L’ensemble des parties est la liste de toutes les sélections que l’on peut faire dans le sac — y compris la sélection vide et la sélection de tout. Pourquoi il y en a 2n : pour chaque élément, vous décidez si vous le mettez dans la sélection ou non. Cela fait deux possibilités par élément ; pour trois éléments 2 · 2 · 2 = 8, pour dix éléments déjà 1024.
Pour A = {a, b, c}, on a 𝒫(A) = {∅, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}} — 8 sous-ensembles au total. Cette croissance exponentielle, vous la rencontrerez en IA à chaque pas. Un modèle qui doit choisir lesquelles de 50 caractéristiques utiliser a 250 choix — plus d’un million de milliards de possibilités. C’est pourquoi la sélection de caractéristiques ne se fait pas en essayant toutes les combinaisons.
3. Opérations sur les ensembles
Définition — réunion, intersection, différence, complémentaire
A ∪ B = {x : x ∈ A ∨ x ∈ B} — réunion,
A ∩ B = {x : x ∈ A ∧ x ∈ B} — intersection,
A ∖ B = {x : x ∈ A ∧ x ∉ B} — différence,
Ac = U ∖ A — complémentaire par rapport à l’ensemble de référence U (l’« univers »).
Lois de De Morgan : (A ∪ B)c = Ac ∩ Bc et (A ∩ B)c = Ac ∪ Bc.
La réunion, c’est « l’un, l’autre ou les deux », l’intersection « les deux à la fois », la différence « ceci, mais pas cela » et le complémentaire « tout le reste ». La loi de De Morgan dit que « il n’est pas vrai qu’il pleut ou qu’il neige » revient à « il ne pleut pas et il ne neige pas ».
Dans la pratique de l’IA, on calcule avec des intersections par exemple pour évaluer un modèle. Si P est l’ensemble des e-mails que le modèle a marqués comme spam et S l’ensemble des e-mails qui sont vraiment du spam, alors la précision (precision) vaut |P ∩ S| / |P| — combien des e-mails marqués étaient vraiment du spam — et le rappel (recall) |P ∩ S| / |S| — combien de spam le modèle a attrapé.
4. Produit cartésien et n-uplets
Définition — couple et produit cartésien
Un couple (paire ordonnée) (a, b) se distingue de l’ensemble {a, b} en ce que l’ordre compte : (a, b) = (c, d) ⇔ a = c ∧ b = d.
Produit cartésien A × B = {(a, b) : a ∈ A, b ∈ B}. Pour des ensembles finis, |A × B| = |A| · |B|.
Plus généralement, A1 × … × An est l’ensemble des n-uplets ; An = A × … × A (n fois).
Le produit cartésien est le tableau de toutes les combinaisons. Trois t-shirts et deux pantalons donnent 3 · 2 = 6 tenues. Les coordonnées d’un point du plan sont des couples de ℝ × ℝ = ℝ2.
Le produit cartésien est partout en IA. Les données d’apprentissage supervisé sont un sous-ensemble de X × Y — des couples (entrée, bonne réponse). Une photo de 28 × 28 pixels est un point de ℝ784. Et dans un problème de recherche, la fonction de transition est définie sur S × A — sur des couples (état, action).
5. Relations
Définition — relation
Une relation binaire entre les ensembles A et B est un sous-ensemble quelconque R ⊆ A × B. Au lieu de (a, b) ∈ R, on écrit a R b et on lit « a est en relation avec b ».
Si A = B, on parle de relation sur l’ensemble A.
Une relation est une liste de couples qui « vont ensemble ». Qui est parent de qui, quelle ville a une liaison directe avec laquelle, quel état mène à quel autre. Rien de plus — juste une liste de couples.
Une relation sur un petit ensemble peut se dessiner de deux façons. Prenons la relation « a divise b » (b est un multiple de a) sur l’ensemble {1, …, 6}. Comme matrice : à la ligne a et à la colonne b, il y a un point lorsque a divise b. Et comme graphe orienté : une flèche de a vers b.
matrice : ligne a, colonne b
graphe : flèche a → b (sans boucles a → a)
La relation compte 14 couples. En IA, vous rencontrerez les deux formes : la matrice de la relation est ce avec quoi calcule l’ordinateur (matrice d’adjacence d’un graphe, matrice de similarité), le graphe est ce que dessine un humain. Les transitions entre états dans la recherche sont une relation sur l’ensemble des états, et le graphe des k plus proches voisins de la propagation d’étiquettes est la relation « fait partie des plus proches ».
6. Propriétés des relations
Définition — propriétés d’une relation sur un ensemble
Une relation R sur l’ensemble A est
- réflexive si ∀a ∈ A : a R a,
- symétrique si ∀a, b : a R b ⇒ b R a,
- antisymétrique si ∀a, b : (a R b ∧ b R a) ⇒ a = b,
- transitive si ∀a, b, c : (a R b ∧ b R c) ⇒ a R c.
Réflexive : chacun est en relation avec lui-même. Symétrique : cela marche dans les deux sens. Antisymétrique : dans les deux sens seulement s’il s’agit de la même chose. Transitive : s’il y a un chemin de a à b et de b à c, il y en a aussi un direct de a à c.
Pour des relations sur l’ensemble {1, …, 6}, cela donne ceci — et la combinaison des propriétés permet de reconnaître de quel genre de relation il s’agit :
| Relation | Réflexive | Symétrique | Antisymétrique | Transitive |
|---|---|---|---|---|
| a ≤ b | oui | non | oui | oui |
| a divise b | oui | non | oui | oui |
| même reste dans la division par 3 | oui | oui | non | oui |
| |a − b| = 1 (« voisins ») | non | oui | non | non |
7. Équivalence et partition en classes
Définition — équivalence et partition
Une relation réflexive, symétrique et transitive est une relation d’équivalence. La classe d’équivalence d’un élément a est [a] = {x ∈ A : x R a}.
Une partition de l’ensemble A est une famille de sous-ensembles non vides, deux à deux disjoints, dont la réunion est A.
Théorème. Les classes de toute équivalence forment une partition de A — et inversement, toute partition définit l’équivalence « appartient à la même partie ».
Une équivalence, c’est « est pareil sur un point que » — même couleur, même reste, même classe. Une telle relation découpe toujours l’ensemble en tiroirs qui ne se chevauchent pas et qui, ensemble, couvrent tout. Chaque élément est dans exactement un tiroir.
C’est exactement ce que fait la classification : elle découpe l’ensemble de toutes les entrées possibles en classes — spam et non-spam ; chien, chat et perroquet. Et le partitionnement (clustering) cherche une partition des données sans que personne ne lui dise quelles sont les classes. Le résultat de k-means de la partie sur les types d’apprentissage est une partition des points en trois classes.
8. Relations d’ordre
Définition — ordre partiel et ordre total
Une relation réflexive, antisymétrique et transitive est un ordre partiel.
Si de plus deux éléments quelconques sont toujours comparables (∀a, b : a R b ∨ b R a), il s’agit d’un ordre total (linéaire).
Un ordre dit ce qui vient « avant » quoi. Avec les nombres rangés par taille, on peut comparer n’importe lequel avec n’importe lequel. Dans un ordre partiel, pas toujours : 4 et 6 ne se divisent pas l’un l’autre, donc selon la divisibilité on ne sait pas lequel est « plus petit ».
Un ordre partiel se dessine avec un diagramme de Hasse : les éléments plus petits en bas, les plus grands en haut et un trait uniquement entre voisins immédiats — le reste découle de la transitivité. Voici les diviseurs de 12 ordonnés par divisibilité :
Le diagramme montre que 1 divise tout et que 12 est divisible par tout — mais ni 4 et 6, ni 2 et 3 ne sont comparables. En IA, les ordres apparaissent partout où l’on classe ou planifie quelque chose : l’ordre des résultats de recherche, les priorités dans la frontière de l’algorithme A*, ou les dépendances entre les étapes d’un plan (« d’abord ouvre la porte, puis passe »). Le graphe des dépendances entre modules dans le programme de cette série est d’ailleurs lui aussi un ordre partiel.
9. La fonction, une relation particulière
Définition — fonction
Une fonction de A dans B est une relation f ⊆ A × B dans laquelle chaque élément a ∈ A a exactement un élément b ∈ B tel que (a, b) ∈ f. On le note f(a).
Une fonction est une relation qui, à chaque question, donne exactement une réponse. « Est parent de » n’est pas une fonction — on peut avoir plusieurs enfants. « A pour mère » en est une — chacun en a exactement une.
La boucle est ainsi bouclée : en apprentissage automatique, un modèle est une fonction f : X → Y, c’est-à-dire une relation particulière entre entrées et sorties. Les fonctions et leurs propriétés font l’objet de la partie suivante du programme.
10. Résumé
- Un ensemble est une collection d’éléments sans ordre et sans répétition ; un ensemble à n éléments a 2n sous-ensembles.
- Réunion, intersection, différence et complémentaire, c’est « ou », « et », « mais pas » et « tout le reste » ; la précision et le rappel d’un modèle reposent sur des intersections.
- Le produit cartésien forme des couples — c’est d’eux que sont faites les données (entrée, réponse) comme les transitions (état, action).
- Une relation est un ensemble de couples. Une équivalence découpe l’ensemble en classes (classification, partitionnement), un ordre détermine ce qui vient avant quoi.
- Une fonction est une relation avec exactement une réponse — et un modèle est une fonction.
Vous voyez les choses autrement ? Écrivez à support@coden-app.com.