informatique (MP2I/MPI) · Chapitre 16 · Exercice de TD
La 2-approximation est-elle serrée ? et le glouton « degré maximal » a-t-il une garantie ?
Algorithmes gloutons · niveau 2
Énoncé
La couverture des sommets par couplage est démontrée -approchée. Le rapport est-il atteint ? Et le glouton apparemment plus fin — prendre le sommet de plus haut degré — fait-il mieux ?
Corrigé
Le rapport est atteint, et sur des graphes triviaux. Mesuré :
| Graphe | par couplage | par degré maximal | optimum | rapport du couplage |
|---|---|---|---|---|
| une arête | 2 | 1 | 1 | 2,00 |
| trois arêtes disjointes | 6 | 3 | 3 | 2,00 |
| étoile à branches | 2 | 1 | 1 | 2,00 |
| chemin à sommets | 6 | 3 | 3 | 2,00 |
| triangle | 2 | 2 | 2 | 1,00 |
| 4 | 3 | 3 | 1,33 |
Sur un couplage parfait, l'algorithme prend tous les sommets alors que la moitié suffit : le facteur est donc serré, on ne peut pas améliorer la garantie sans changer d'algorithme.
Et le glouton par degré maximal ? Il gagne sur tous ces petits cas — et c'est exactement ce qui le rend dangereux. Il n'a aucune garantie constante. Sur la famille d'instances bipartites classique — sommets à gauche, et pour chaque de à un groupe de sommets à droite reliés chacun à sommets de gauche —, le côté gauche est une couverture, et c'est la plus petite : le graphe étant biparti, le théorème de König donne taille d'un couplage maximum, calculée exactement ici par chemins augmentants (chapitre chap:graphes-avances), et l'on trouve .
| sommets | par couplage (rapport) | par degré (rapport) | ||
|---|---|---|---|---|
| 8 | 20 | 8 | 14 \;\; () | 12 \;\; () |
| 12 | 35 | 12 | 22 \;\; () | 23 \;\; () |
| 16 | 50 | 16 | 30 \;\; () | 34 \;\; () |
| 24 | 84 | 24 | 46 \;\; () | 60 \;\; () |
| 32 | 119 | 32 | 62 \;\; () | 87 \;\; () |
À , le glouton « intelligent » prend sommets là où suffisent : il dépasse largement le facteur , tandis que le glouton « stupide » par couplage reste à , comme sa démonstration l'y oblige. On établit que le rapport de cette famille croît comme : il n'est borné par aucune constante, et la colonne le montre déjà.
Ce que cette comparaison enseigne, et c'est le cœur du chapitre. Le glouton par degré maximal est meilleur en pratique sur presque toutes les instances, et il n'a aucune garantie. Le glouton par couplage est souvent moins bon, et il a une garantie prouvée. Ce sont deux qualités différentes, et l'une ne s'achète pas avec l'autre.
Le cours le disait déjà : « un glouton d'approximation aussi se démontre ; sans preuve, on ignore s'il vaut ou ». On vient de voir un cas où l'intuition dit et où la vérité est .
Exercices semblables
- Un glouton exact que le cours ne traite pas : minimiser la somme des temps d'attente corrigé
- Le sac à dos fractionnaire : le même glouton, mais exact corrigé
- Pourquoi « au plus tard » et non « au plus tôt » corrigé
- Une parade qui vaut 2, et pourquoi elle vaut 2 corrigé
- Problème — La couverture par ensembles : un glouton qui perd un facteur logarithmique corrigé