التمرين 1
Exercice 1 — Forêt de poids maximum et arbre de poids minimum
Soit un réseau connexe, avec .
Question 1. a) Décrire un algorithme de recherche d'une forêt de poids maximum, en précisant sa taille et sa complexité. b) Donner une formulation de ce problème sous forme d'un programme linéaire en 0-1. c) En déduire que ce problème est polynomial. d) Montrer que si tous les poids sont positifs, alors la forêt de poids maximum est un arbre. e) Comment modifier cet algorithme pour la recherche d'un arbre de poids maximum ?
Question 2. On suppose les distances positives. a) Donner une formulation du problème de recherche d'un arbre de poids minimum sous forme d'un programme linéaire en 0-1. b) Formuler une adaptation de l'algorithme décrit à la question 1 pour résoudre ce problème. c) En déduire que ce problème est polynomial. d) Sachant que le problème du voyageur de commerce est NP-Complet, montrer que le problème de recherche d'un arbre dont tous les sommets sont de degré au plus égal à 2 est NP-Complet.
◀الحل
1.
Algorithme glouton : trier les arêtes par poids décroissant, ajouter une arête si elle ne crée pas de cycle. Complexité avec structure union-find.
Formulation 0-1 : maximiser sous contraintes d'acyclicité pour tout , .
Si tous les poids sont positifs, une forêt maximum doit être connexe sinon on peut toujours ajouter une arête positive entre composantes.
2.
Même formulation avec minimisation et adaptation gloutonne : algorithme de Kruskal / Prim. Polynomial.
Le problème d'arbre de degré au plus 2 est équivalent à chercher un chemin hamiltonien ou un cycle hamiltonien selon les variantes, donc NP-Complet par réduction du TSP / Hamiltonien.