# Problème de couverture par sommets

En théorie des graphes et informatique théorique, le problème de couverture minimum par sommets (ou problème du transversal minimum, Vertex Cover en anglais) est un problème algorithmique classique. Il consiste, étant donné un graphe à trouver un ensemble minimum de sommets pour couvrir toutes les arêtes.
Le problème de décision associé à ce problème d'optimisation est NP-complet, et fait partie des 21 problèmes NP-complets de Karp. Il est souvent utilisé en théorie de la complexité pour prouver que d'autres problèmes plus compliqués sont NP-complets.

## Couverture par sommets
### Définition

Une couverture par sommets ou transversal d'un graphe G est un ensemble C de sommets tel que chaque arête de G = (V, E) est incidente à au moins un sommet de C, ie un sous-ensemble de sommets $S\subseteq V$ tel que pour chaque arête $(u,v)$ de $G$ on a $u\in S$ ou $v\in S$. On dit que l'ensemble C couvre les arêtes de G. La figure suivante montre des exemples de couvertures des sommets de deux graphes (l'ensemble C est formé des sommets rouges).
Une couverture minimale par sommets est une couverture des sommets de taille minimale. La figure suivante montre des exemples de couvertures minimales des sommets dans les mêmes graphes que ci-dessus.

### Propriétés combinatoires

Si un ensemble de sommets $S$ est un transversal, son complément ${\bar {S}}=V\setminus S$ est un stable (ou ensemble indépendant). Donc un graphe à n sommets a un transversal de taille k si et seulement s'il a un stable de taille n - k. On en déduit immédiatement le résultat suivant :
Théorème de Gallai (1959) — Dans tout graphe $G$, α(G) + τ(G) = n.
où α(G) désigne la taille d'un stable maximum, τ(G) désigne la taille d'un transversal minimum et $n=|V|$.

## Problème algorithmique
### Description

Le problème d'optimisation, appelé problème de la couverture minimum par sommets, est le suivant :
    Entrée : un graphe G
    Question : quel est le plus petit entier k, tel qu'il existe une couverture par sommets de G de taille k ?
et le problème de décision :
    Entrée : un graphe G et un entier k
    Question : existe-t-il une couverture par sommet de G de taille k ?

### Programme linéaire

Le programme d'optimisation linéaire en nombres entiers associé est :
    minimiser $\sum _{v\in V}x_{v}$   (minimiser le coût total) tel que $x_{u}+x_{v}\geq 1$ pour tout $\{u,v\}\in E$ (toutes les arêtes sont couvertes) $x_{v}\in \{0,1\}$ pour tout $v\in V$. (chaque sommet est dans la couverture ou non)
La relaxation linéaire de ce système est le dual de la relaxation du programme d'optimisation pour le problème du couplage maximum.

## Complexité

Le problème de décision associé à ce problème d'optimisation est NP-complet, et fait partie des 21 problèmes NP-complets de Karp. Sa NP-dureté est démontrée par une réduction du problème de la clique à celui-ci. Le problème de couverture de sommets est souvent utilisé en théorie de la complexité pour prouver que d'autres problèmes plus compliqués sont NP-complets.
Le problème est encore NP-complet si l'on se restreint à des graphes cubiques ou à des graphes planaires de degré au plus 3. Sur les graphes bipartis, il est résolu en temps polynomial avec un algorithme de couplage maximum, par application du théorème de Kőnig.

## Approximation

L'algorithme d'approximation suivant donne une solution au plus deux fois plus grande que l'optimal : calculer un couplage maximal et mettre chaque paire de sommets dans la solution.
Si l'on suppose que P différent de NP, le problème ne peut pas être approché avec un meilleur ratio que 1,3606. Si l'on suppose la conjecture des jeux uniques, le problème ne peut pas être approché avec un meilleur ratio que 2.