Skip to content

Exercice 2 : Relations d équivalence et d ordre

🌐 Énoncé du problème / Étude de cas

Section titled “🌐 Énoncé du problème / Étude de cas”

Dans le cadre de la conception d’un système de gestion de bases de données distribuées et de l’ordonnancement de tâches sur des architectures de calcul hétérogènes (type grille de calcul ou edge computing), l’analyse fine des structures de données repose fondamentalement sur la théorie des relations.

Soit EE un ensemble. On s’intéresse à l’interaction entre les relations d’équivalence (modélisant le regroupement de données par similarité ou par partition) et les relations d’ordre (modélisant des contraintes de précédence ou de priorité entre des tâches).

Dans toute la suite, si R\mathcal{R} est une relation binaire sur EE, on note R−1\mathcal{R}^{-1} la relation réciproque définie par : ∀(x,y)∈E2,xR−1y  ⟺  yRx\forall (x, y) \in E^2, \quad x \mathcal{R}^{-1} y \iff y \mathcal{R} x

On définit également le produit relationnel (ou composition) de deux relations R1\mathcal{R}_1 et R2\mathcal{R}_2 sur EE par : ∀(x,y)∈E2,x(R1∘R2)y  ⟺  ∃z∈E,  (xR1z et zR2y)\forall (x, y) \in E^2, \quad x (\mathcal{R}_1 \circ \mathcal{R}_2) y \iff \exists z \in E, \; (x \mathcal{R}_1 z \text{ et } z \mathcal{R}_2 y)

Le problème se propose d’étudier certaines propriétés algébriques de l’ensemble des relations sur EE, en particulier les conditions sous lesquelles la composition de préordres ou d’équivalences engendre de nouvelles structures, avec une application particulière à la modélisation de priorités de calculs industriels.


  1. Rappels et définitions préliminaires Soit R\mathcal{R} une relation binaire sur EE. Rappeler les définitions formelles des propriétés suivantes :

    • (a) R\mathcal{R} est réflexive.
    • (b) R\mathcal{R} est antisymétrique.
    • (c) R\mathcal{R} est transitive.
    • (d) R\mathcal{R} est une relation d’ordre.
  2. Opérations sur les relations

    • (a) Montrer que si R\mathcal{R} est une relation d’ordre sur EE, alors sa relation réciproque R−1\mathcal{R}^{-1} est un ordre strict ou une relation d’ordre ? Préciser la nature de R−1\mathcal{R}^{-1} et démontrer l’assertion.
    • (b) Soit R1\mathcal{R}_1 et R2\mathcal{R}_2 deux relations d’équivalence sur EE. La relation R1∘R2\mathcal{R}_1 \circ \mathcal{R}_2 est-elle nécessairement une relation d’équivalence ? Fournir une démonstration ou un contre-exemple explicite.
  3. Caractérisation de la commutativité pour les équivalences

    • On suppose toujours que R1\mathcal{R}_1 et R2\mathcal{R}_2 sont deux relations d’équivalence sur EE. Démontrer que R1∘R2\mathcal{R}_1 \circ \mathcal{R}_2 est une relation d’équivalence sur EE si et seulement si R1∘R2=R2∘R1\mathcal{R}_1 \circ \mathcal{R}_2 = \mathcal{R}_2 \circ \mathcal{R}_1.
  4. Application aux systèmes d’ordonnancement et analyse critique Dans une usine de smart manufacturing, on cherche à ordonner un ensemble TT de N=105N = 10^5 tâches logicielles. On dispose de deux préordres (relations réflexives et transitives) :

    • P1\mathcal{P}_1 modélisant la dépendance des données (la tâche t1t_1 doit s’exécuter avant t2t_2).
    • P2\mathcal{P}_2 modélisant l’affinité matérielle (la tâche t1t_1 utilise le même cache processeur que t2t_2).

    Pour fusionner ces contraintes, un ingénieur propose d’utiliser la relation Rtotal=P1∪P2\mathcal{R}_{\text{total}} = \mathcal{P}_1 \cup \mathcal{P}_2.

    • (a) La relation Rtotal\mathcal{R}_{\text{total}} est-elle nécessairement un préordre ? Justifier rigoureusement.
    • (b) Analyse critique et limites du modèle : Si le nombre de tâches NN atteint 10510^5, quel est l’ordre de grandeur de la complexité algorithmique naïve pour vérifier la transitivité de Rtotal\mathcal{R}_{\text{total}} ? Discuter la pertinence de ce modèle mathématique dans un contexte industriel en temps réel où les contraintes énergétiques et de latence (≤10 ms\le 10 \text{ ms}) sont drastiques. Proposer une alternative de modélisation plus robuste.

  • Q2(b) : Pensez à tester avec un ensemble fini E={1,2,3}E = \{1, 2, 3\} et deux partitions bien choisies (par exemple, des classes d’équivalence qui s’intersectent de manière non triviale).
  • Q3 : Pour l’implication directe, utilisez la symétrie et la transitivité pour montrer que R1∘R2=(R1∘R2)−1=R2∘R1\mathcal{R}_1 \circ \mathcal{R}_2 = (\mathcal{R}_1 \circ \mathcal{R}_2)^{-1} = \mathcal{R}_2 \circ \mathcal{R}_1. Pour la réciproque, vérifiez les trois axiomes d’une équivalence (réflexivité, symétrie, transitivité) en exploitant l’hypothèse de commutativité.
  • Q4(b) : Pensez aux algorithmes de fermeture transitive (comme l’algorithme de Warshall, en O(N3)\mathcal{O}(N^3)) et évaluez si cela est compatible avec des contraintes de calcul en temps réel.

📋 Corrigé détaillé et analyse des résultats

Section titled “📋 Corrigé détaillé et analyse des résultats”

Soit R\mathcal{R} une relation binaire sur EE.

  • (a) R\mathcal{R} est réflexive si : ∀x∈E,  xRx\forall x \in E, \; x \mathcal{R} x.
  • (b) R\mathcal{R} est antisymétrique si : ∀(x,y)∈E2,  (xRy et yRx)  ⟹  x=y\forall (x, y) \in E^2, \; (x \mathcal{R} y \text{ et } y \mathcal{R} x) \implies x = y.
  • (c) R\mathcal{R} est transitive si : ∀(x,y,z)∈E3,  (xRy et yRz)  ⟹  xRz\forall (x, y, z) \in E^3, \; (x \mathcal{R} y \text{ et } y \mathcal{R} z) \implies x \mathcal{R} z.
  • (d) R\mathcal{R} est une relation d’ordre si elle est à la fois réflexive, antisymétrique et transitive.
  • (a) Soit R\mathcal{R} une relation d’ordre sur EE. Montrons que R−1\mathcal{R}^{-1} est une relation d’ordre :

    • Réflexivité : ∀x∈E\forall x \in E, comme R\mathcal{R} est réflexiva, xRxx \mathcal{R} x, donc par définition xR−1xx \mathcal{R}^{-1} x. R−1\mathcal{R}^{-1} est réflexive.
    • Antisymétrie : Soit (x,y)∈E2(x, y) \in E^2 tels que xR−1yx \mathcal{R}^{-1} y et yR−1xy \mathcal{R}^{-1} x. Par définition, cela signifie yRxy \mathcal{R} x et xRyx \mathcal{R} y. Comme R\mathcal{R} est antisymétrique, on en déduit x=yx = y. R−1\mathcal{R}^{-1} est antisymétrique.
    • Transitivité : Soit (x,y,z)∈E3(x, y, z) \in E^3 tels que xR−1yx \mathcal{R}^{-1} y et yR−1zy \mathcal{R}^{-1} z. Cela équivaut à yRxy \mathcal{R} x et zRyz \mathcal{R} y, soit zRyz \mathcal{R} y et yRxy \mathcal{R} x. Par transitivité de R\mathcal{R}, on obtient zRxz \mathcal{R} x, c’est-à-dire xR−1zx \mathcal{R}^{-1} z. R−1\mathcal{R}^{-1} est transitive.

    Ainsi, R−1\mathcal{R}^{-1} est une relation d’ordre (c’est l’ordre dual, souvent noté ⪯dual\preceq_{\text{dual}}).

  • (b) La relation R1∘R2\mathcal{R}_1 \circ \mathcal{R}_2 n’est pas nécessairement une relation d’équivalence.

    • Contre-exemple : Soit E={1,2,3}E = \{1, 2, 3\}. Considérons la partition Π1={{1,2},{3}}\Pi_1 = \{\{1, 2\}, \{3\}\} associée à l’équivalence R1\mathcal{R}_1, et Π2={{1},{2,3}}\Pi_2 = \{\{1\}, \{2, 3\}\} associée à R2\mathcal{R}_2.
      • 1R121 \mathcal{R}_1 2 et 2R232 \mathcal{R}_2 3, donc 1(R1∘R2)31 (\mathcal{R}_1 \circ \mathcal{R}_2) 3.
      • Testons la symétrie de R1∘R2\mathcal{R}_1 \circ \mathcal{R}_2 : a-t-on 3(R1∘R2)13 (\mathcal{R}_1 \circ \mathcal{R}_2) 1 ? S’il existait z∈Ez \in E tel que 3R1z3 \mathcal{R}_1 z et zR21z \mathcal{R}_2 1, comme la classe de 33 pour R1\mathcal{R}_1 est {3}\{3\}, on aurait z=3z = 3. Or 3R213 \mathcal{R}_2 1 est faux (car {2,3}\{2, 3\} et {1}\{1\} sont disjoints). Donc 3(R1∘R2)13 (\mathcal{R}_1 \circ \mathcal{R}_2) 1 est faux, alors que 1(R1∘R2)31 (\mathcal{R}_1 \circ \mathcal{R}_2) 3 est vrai. La relation n’est pas symétrique, ce n’est donc pas une relation d’équivalence.

3. Caractérisation de la commutativité pour les équivalences

Section titled “3. Caractérisation de la commutativité pour les équivalences”

Soit R1\mathcal{R}_1 et R2\mathcal{R}_2 deux relations d’équivalence sur EE.

  • (  ⟹  )(\implies) Supposons que R=R1∘R2\mathcal{R} = \mathcal{R}_1 \circ \mathcal{R}_2 soit une relation d’équivalence. Puisque R\mathcal{R} est une équivalence, elle est symétrique, donc R=R−1\mathcal{R} = \mathcal{R}^{-1}. Or, par les propriétés de la transposition des relations : (R1∘R2)−1=R2−1∘R1−1(\mathcal{R}_1 \circ \mathcal{R}_2)^{-1} = \mathcal{R}_2^{-1} \circ \mathcal{R}_1^{-1} Comme R1\mathcal{R}_1 et R2\mathcal{R}_2 sont des équivalences, elles sont symétriques, donc R1−1=R1\mathcal{R}_1^{-1} = \mathcal{R}_1 et R2−1=R2\mathcal{R}_2^{-1} = \mathcal{R}_2. Par conséquent, R−1=R2∘R1\mathcal{R}^{-1} = \mathcal{R}_2 \circ \mathcal{R}_1. Puisque R=R−1\mathcal{R} = \mathcal{R}^{-1}, on en conclut que R1∘R2=R2∘R1\mathcal{R}_1 \circ \mathcal{R}_2 = \mathcal{R}_2 \circ \mathcal{R}_1.

  • (\implique)(\implique) Supposons que R1∘R2=R2\oisR1\mathcal{R}_1 \circ \mathcal{R}_2 = \mathcal{R}_2 \ois \mathcal{R}_1 (correction typographique : R2∘R1\mathcal{R}_2 \circ \mathcal{R}_1). Montrons que R=R1∘R2\mathcal{R} = \mathcal{R}_1 \circ \mathcal{R}_2 est une équivalence :

    1. Réflexivité : Soit x∈Ex \in E. Comme R1\mathcal{R}_1 et R2\mathcal{R}_2 sont réflexives, xR1xx \mathcal{R}_1 x et xR2xx \mathcal{R}_2 x, donc x(R1∘R2)xx (\mathcal{R}_1 \circ \mathcal{R}_2) x (en prenant z=xz = x).
    2. Symétrie : Soit (x,y)∈E2(x, y) \in E^2 tel que x(R1∘R2)yx (\mathcal{R}_1 \circ \mathcal{R}_2) y. Alors y(R1∘R2)−1xy (\mathcal{R}_1 \circ \mathcal{R}_2)^{-1} x, soit y(R2−1∘R1−1)xy (\mathcal{R}_2^{-1} \circ \mathcal{R}_1^{-1}) x, c’est-à-dire y(R2∘R1)xy (\mathcal{R}_2 \circ \mathcal{R}_1) x. Par hypothèse de commutativité, y(R1∘R2)xy (\mathcal{R}_1 \circ \mathcal{R}_2) x. La relation est donc symétrique.
    3. Transitivité : Soit (x,y,z)∈E3(x, y, z) \in E^3 tels que x(R1∘R2)yx (\mathcal{R}_1 \circ \mathcal{R}_2) y et y(R1∘R2)zy (\mathcal{R}_1 \circ \mathcal{R}_2) z. Alors x(R1∘R2∘R1∘R2)zx (\mathcal{R}_1 \circ \mathcal{R}_2 \circ \mathcal{R}_1 \circ \mathcal{R}_2) z. En utilisant la commutativité R2∘R1=R1∘R2\mathcal{R}_2 \circ \mathcal{R}_1 = \mathcal{R}_1 \circ \mathcal{R}_2 et le fait que R2∘R2=R2\mathcal{R}_2 \circ \mathcal{R}_2 = \mathcal{R}_2 (car R2\mathcal{R}_2 est transitive et réflexive), on réarrange pour obtenir : x(R1∘R1∘R2∘R2)zx (\mathcal{R}_1 \circ \mathcal{R}_1 \circ \mathcal{R}_2 \circ \mathcal{R}_2) z, soit x(R1∘R2)zx (\mathcal{R}_1 \circ \mathcal{R}_2) z. La transitivité est établie.

4. Application aux systèmes d’ordonnancement et analyse critique

Section titled “4. Application aux systèmes d’ordonnancement et analyse critique”
  • (a) La relation Rtotal=P1∪P2\mathcal{R}_{\text{total}} = \mathcal{P}_1 \cup \mathcal{P}_2 n’est pas nécessairement un préordre.

    • Contre-exemple : La transitivité peut être mise en défaut. Supposons xP1yx \mathcal{P}_1 y et yP2zy \mathcal{P}_2 z sans qu’aucun autre lien n’existe. Alors xRtotalyx \mathcal{R}_{\text{total}} y et yRtotalzy \mathcal{R}_{\text{total}} z, mais rien ne garantit que xRtotalzx \mathcal{R}_{\text{total}} z (puisque xx et zz ne sont reliés ni par P1\mathcal{P}_1 ni par P2\mathcal{P}_2). La union de deux préordres n’est pas un préordre en général.
  • (b) Analyse critique et limites du modèle :

    • Complexité algorithmique : Pour transformer Rtotal\mathcal{R}_{\text{total}} en un préordre valide, il faut calculer sa fermeture réflexive, antisymétrique (ou quotienter par les cycles) et surtout sa fermeture transitive. Un algorithme classique de type Warshall ou des multiplications de matrices booléennes s’exécute en O(N3)\mathcal{O}(N^3). Pour N=105N = 10^5 tâches, N3=1015N^3 = 10^{15} opérations, ce qui est totalement inacceptable sur le plan informatique (plusieurs jours de calculs sur une architecture standard).
    • Réalité industrielle et limites physiques : Dans un système temps réel à faible latence (≤10 ms\le 10 \text{ ms}), le calcul d’ordonnancement doit être incrémental et s’exécuter en temps quasi-linéaire O(Nlog⁡N)\mathcal{O}(N \log N) ou O(N)\mathcal{O}(N) (par exemple via un tri topologique sur des graphes acycliques orientés clairsemés).
    • Alternative robuste : Au lieu d’une union naïve de relations, il convient de modéliser le système par un Graphe Acyclique Dirigé (DAG) où P1\mathcal{P}_1 constitue les arcs structurels obligatoires (contraintes dures) et P2\mathcal{P}_2 une métrique de coût ou de pondération sur les arêtes (contraintes souples), évitant ainsi le coût prohibitif de la fermeture transitive complète au profit d’heuristiques locales d’ordonnancement.