Adloun

Probleme – Le théorème de König

Exercice · niveau 3 (difficile) · informatique (MP2I/MPI), chapitre 24 — Composantes fortement connexes et couplages

Énoncé

Une couverture par sommets est un ensemble de sommets touchant toutes les arêtes. On note le cardinal minimal d'une couverture et celui d'un couplage maximum.

Corrigé

1. Soit un couplage et une couverture. Chaque arête de doit être touchée par au moins un sommet de . Deux arêtes distinctes de n'ayant aucune extrémité commune, elles sont touchées par des sommets distincts. L'application « arête de un sommet de qui la touche » est donc injective, d'où . En passant au maximum à gauche et au minimum à droite : .

2. Sur le triangle , — deux arêtes quelconques partagent un sommet — et — un seul sommet laisse une arête découverte. L'inégalité est stricte. C'est le cycle impair qui la rend stricte, et un graphe biparti n'en a pas.

3. La construction. Soit biparti de parties et , et un couplage maximum. Notons l'ensemble des sommets de non saturés par , et l'ensemble des sommets atteignables depuis par des chemins alternants (arête hors , puis arête de , etc.). Posons

est une couverture. Soit une arête avec , . Si , alors et c'est fini. Si , montrons que . Si , alors le chemin alternant qui atteint se prolonge par — il arrive en soit depuis directement ( non saturé), soit par une arête de —, donc . Si , alors est saturé, donc , donc a été atteint par une arête de , qui est justement : . Dans les deux cas .

. Deux observations. Premièrement, tout sommet de est saturé, puisque . Deuxièmement, tout sommet de est saturé : sinon le chemin alternant qui l'atteint serait un chemin augmentant, ce que le théorème de Berge interdit pour un couplage maximum. Chaque sommet de est donc l'extrémité d'une arête de . Enfin, aucune arête de n'a ses deux extrémités dans : si avec , on a vu que est alors atteint depuis par cette même arête de , donc , donc . L'application « sommet de son arête de » est donc injective : .

En combinant avec la question 1 : . Tout est égal.

Vérification : sur graphes bipartis aléatoires, le cardinal du couplage maximum et celui de la plus petite couverture (calculée par énumération de tous les sous-ensembles de sommets) coïncident sans un seul écart.

4. La conséquence algorithmique. Le couplage maximum est calculable en ; König donne donc, dans un graphe biparti, la couverture minimale en temps polynomial — et la construction ci-dessus l'exhibe, elle ne fait pas qu'annoncer son cardinal.

C'est remarquable, car la couverture minimale dans un graphe quelconque est np-difficile : c'est le problème que le chapitre chap:gloutons n'approchait qu'à un facteur . La bipartition fait passer un problème d'approximation à un problème exact, et le pont entre les deux est le couplage.

Et l'on retrouve la -approximation sous un autre jour : l'algorithme glouton du chapitre chap:gloutons prend les deux extrémités de chaque arête d'un couplage maximal ; dans un graphe biparti, König dit qu'une seule extrémité bien choisie par arête d'un couplage maximum suffit. Le facteur est exactement le prix de ne pas savoir laquelle.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.