📚 الرئيسية

مسابقة دكتوراه 2016Université des Sciences et de la Technologie Houari Boumediène (USTHB) — الموضوع 08

مسابقة تخصص · Recherche Opérationnelle

Formation Doctorale ROM, Concours d'accès — Épreuve de Réseaux et Optimisation, U.S.T.H.B., Faculté de Mathématiques, Département de Recherche Opérationnelle — 2016.

التمرين 2

Exercice 2 — Arbre de poids maximum dans un graphe pondéré

#graph-theory#maximum-spanning-tree#greedy-algorithm#integer-programming

Soit G=(V,E)G=(V,E) un graphe simple et connexe, p:ERp:E\to \mathbb{R} une pondération, V=n|V|=n, E={e1,,em}E=\{e_1,\ldots,e_m\} avec p(ei)p(ei+1)p(e_i) \leq p(e_{i+1}). On définit la famille (Ti)(T_i) par : T0=ET_0=E, Ti=Ti1{ei}T_i=T_{i-1}\setminus\{e_i\} si i>0i\gt 0 et si (V,Ti1{ei})(V,T_{i-1}\setminus\{e_i\}) est connexe, sinon Ti=Ti1T_i=T_{i-1}.

  1. Donner au moins trois caractérisations des arbres et montrer leur équivalence.
  2. Montrer que si dans un graphe connexe, TT et TT' sont deux arbres distincts, alors TT contient une arête dont le rajout à TT' crée un unique cycle.
  3. Montrer que TmT_m est un arbre de poids maximum dans GG.
  4. Donner la complexité de l'algorithme donnant TmT_m.
  5. Comment modifier cet algorithme pour déterminer une forêt de poids maximum de GG ?
  6. Donner, dans le graphe fourni, un arbre et une forêt de poids maximums.
  7. Prouver que si p(e)p(e)p(e) \neq p(e') pour eee \neq e', alors l'arbre de poids maximum est unique.
  8. Montrer que si GG possède un cycle ayant une arête de poids inférieur à celui de toute autre arête de ce cycle, alors cette arête n'appartient à aucun arbre de poids maximum.
  9. Montrer que les PLNE (F1)(F_1) et (F2)(F_2) formulent le problème de l'arbre de poids minimum et que (F2)(F_2) est meilleure.
الحل

1.

Caractérisations classiques : graphe connexe sans cycle, graphe connexe à n1n-1 arêtes, graphe sans cycle à n1n-1 arêtes, existence d'un unique chemin entre deux sommets. Elles sont équivalentes par résultats standards.

2.

Si TTT \neq T', il existe une arête eTTe \in T \setminus T'. Comme TT' est un arbre, l'ajout de ee à TT' crée exactement un cycle.

3.

L'algorithme décrit est l'algorithme glouton inverse de Kruskal : on retire successivement les arêtes de plus petit poids qui ne déconnectent pas le graphe. Il produit un arbre couvrant de poids maximum.

4.

La complexité dépend des tests de connexité répétés : naïvement O(m(m+n))O(m(m+n)). Avec structure union-find et tri, on obtient l'équivalent de Kruskal en O(mlogm)O(m \log m).

5.

Pour une forêt de poids maximum, on supprime la contrainte de connexité globale et on applique l'algorithme composante par composante, en gardant simplement l'acyclicité.

6-8.

Application directe des propriétés des arbres couvrants maximums.

9.

(F1)(F_1) et (F2)(F_2) sont des formulations classiques du MST. (F2)(F_2), par contraintes de coupure, a en général un polyèdre plus fort.