# Ensemble intersectant

En informatique théorique, le problème de l'ensemble intersectant (en anglais Hitting Set Problem) est un problème NP-complet de la théorie combinatoire des ensembles. Il fait partie des 21 problèmes NP-complets décrits par Richard M. Karp, en 1972, dans son célèbre article Reducibility Among Combinatorial Problems.

## Description

Étant donné une famille S de sous-ensembles d'un « univers » U, on cherche un sous-ensemble H de U (le hitting set) qui contient au moins un élément de chaque sous-ensemble de la famille S. De plus, il est demandé que le nombre d'éléments de H n'excède pas une valeur k donnée.

## Définition formelle

On se donne
* une collection d'ensembles $\{S_{1},S_{2},\ldots ,S_{n}\}$ dont chaque $S_{i}$ est un sous-ensemble d'un ensemble donné $U$ et
* un entier positif $k\leq \vert U\vert$.
Le problème consiste à déterminer s'il existe un sous-ensemble $H$ de $U$ tel que $|H|\leq k$ et $H\cap S_{i}\neq \emptyset$ pour $i\in \{1,2,\dots n\}$.

## Complexité

On peut démontrer que le problème de l'ensemble intersectant est NP-difficile, par réduction du problème de couverture par sommets (Vertex cover).
Preuve: Soit $\langle G,k\rangle$ une instance du problème de couverture par sommets et soit $G=(V,E)$. On pose $U=V$ et on définit $S$ comme la famille des ensembles $\{u,v\}$ pour toute arête $\{u,v\}\in E$. On montre que S admet un ensemble intersectant H de taille k si et seulement si G possède une couverture par sommets C de taille k :
($\Rightarrow$) Si S admet un ensemble intersectant H de taille k, alors comme H contient une extrémité de chaque arête, l'ensemble C = H est une couverture par sommets de taille k.
($\Leftarrow$) Si G possède une couverture par sommets C de taille k, alors pour chaque arête $\{u,v\}$ on a $u\in C$ ou $v\in C$ (ou les deux). En posant H = C, on obtient un ensemble intersectant de taille k.
On peut aussi montrer que le problème de l'ensemble intersectant est équivalent au problème de couverture par ensembles. Pour s'en convaincre, on observe qu'une instance du problème de couverture par ensembles peut être vue comme un graphe biparti, où les ensembles sont représentés par les sommets de la colonne gauche, et les éléments de l'univers par les sommets de la colonne droite. Une arête représente l'appartenance de l'élément (à droite) à l'ensemble (à gauche). L'objectif est de trouver une famille de taille minimale de sommets de gauche qui couvre tous les sommets de droite. Dans le problème de l'ensemble intersectant, l'objectif est au contraire de couvrir les sommets de gauche en utilisant un ensemble de sommets de droite de taille minimale. La conversion de l'un des problèmes en l'autre se fait donc en échangeant les deux ensembles de sommets.

## Propriétés

Étant donné la similitude entre le problème de l’ensemble intersectant d'une part, le problème de la couverture par sommets et le problème de la couverture par ensembles, toutes les propriétés de ces deuxièmes problèmes se traduisent directement en des propriétés analogues du premier. C'est pourquoi la littérature abondante concernant les problèmes de la couverture par sommets et la couverture par ensembles concerne également le problème de l'ensemble intersectant.