Ensemble intersectant

Un article de Wikipédia, l'encyclopédie libre.

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 | modifier le code]

É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 | modifier le code]

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 | modifier le code]

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 | modifier le code]

É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 | modifier le code]

  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 | modifier le code]

Lien externe[modifier | modifier le code]

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