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[1].

Description modifier

É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 modifier

On se donne

  • une collection d'ensembles   dont chacun   est un sous-ensemble d'un ensemble donné   et
  • un entier positif  .

Le problème consiste à déterminer s'il existe un sous-ensemble   de   tel que   et   pour  .

Complexité modifier

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   une instance du problème de couverture par sommets et soit  . On pose   et on définit   comme la famille des ensembles   pour toute arête  . 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 :

( ) 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.

( ) Si G possède une couverture par sommets C de taille k, alors pour chaque arête   on a   ou   (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 modifier

É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.

Notes et références modifier

  1. (en) Richard M. Karp, « Reducibility Among Combinatorial Problems », dans Raymond E. Miller et James W. Thatcher, Complexity of Computer Computations, Plenum, (ISBN 978-1-4684-2003-6, DOI 10.1007/978-1-4684-2001-2_9, lire en ligne), p. 85-103

Bibliographie modifier

Lien externe modifier

  • (en) Viggo Kann, « Minimum Hitting Set », sur A compendium of NP optimization problems, (consulté le )