En théorie des graphes, un ensemble dominant (ou dominating set en anglais) d'un graphe G = ( S, A ) est un sous-ensembleD de l'ensemble S des sommets tel que tout sommet qui n'appartient pas à D possède au moins une arête d'extrémité un sommet de D. Le problème de l'ensemble dominant est de déterminer, étant donné G et un entier naturelk, si G possède un ensemble dominant d'au plus k sommets. Ce problème est NP-complet.
Définitions
Un ensemble dominant (ou dominating set en anglais) d'un graphe G = ( S, A ) est un sous-ensembleD de l'ensemble S des sommets tel que tout sommet qui n'appartient pas à D possède au moins une arête commune avec un sommet de D.
Le problème de l'ensemble dominant est de déterminer si étant donné G et un entier naturelk, G possède un ensemble dominant d'au plus k sommets. Ce problème est NP-complet.
Exemple, remarques et propriétés combinatoires
L'ensemble S de tous les sommets est dominant.
Code identifiant
Un code identifiant d'un graphe est un sous-ensemble C de sommets de G qui est à la fois un code couvrant et un code séparateur. Ce sous-ensemble C est appelé un code identifiant de G. Tous les sommets du graphe G sont donc couverts et séparés. On appelle pour chaque sommet v ensemble identifiant l’ensemble . On notera cet ensemble
ou .
On a donc C qui est un code identifiant de G si et seulement si l’application :
est une injection dont l’image ne contient pas l’ensemble vide.
Complexité du problème
Le problème de décision de l'ensemble dominant a été prouvé NP-complet par réduction avec le problème de couverture par sommets. Les deux problèmes sont similaires, la différence étant que le premier concerne des arcs alors que le second concerne les sommets.
Le problème de l'ensemble dominant est utilisé lui-même pour montrer la difficulté d'autres problèmes, comme le problème k-centre métrique[1].
Couverture par sommets vers ensemble dominant
Soit <G, k> une instance du problème de couverture de sommets. On construit (cf figure ci-contre) un nouveau graphe G' , en ajoutant à G de nouveaux sommets, pour représenter les arcs du graphe initial G. Précisément, pour tout arc <v, w> de G, ajoutons un sommet vw et les arcs <v, vw> et <w,vw>.
Montrons qu'alors, G' a un ensemble dominant D de taille k si et seulement si G a une couverture de sommets C de taille k.
() D est un ensemble dominant de G' de taille k. On peut alors construire un ensemble D' de taille k en remplaçant tous les sommets de D qui ne figurent pas dans le graphe de départ G par l'un de leurs 2 voisins qui eux sont des sommets de G et de G' . Ainsi, tout arc de G concerne un sommet de D' . D' est donc une couverture des sommets de G de taille k.
() C est une couverture par sommets de G de taille k, donc les nouveaux et les anciens sommets sont dominés par k sommets.
Algorithmes
Résolution exacte
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?
Approximation
La version « optimisation » du problème, qui consiste à trouver un ensemble dominant D tel que soit minimum, est approximable. Pour être plus précis, il est approximable avec un facteur , comme cas particulier du problème de couverture par ensembles[2]. Cependant, il n'est pas approximable à une distance pour un [2].
(en) S. Mitchell et S. Hedetniemi, Edge domination in trees, Proceedings of the 8th Southeastern Conference on Combinatorics, Graph Theory, and Computing (1977) Utilitas Mathematica Publishing, Winnipeg, 489-509
(en) M. Yannakakis et F. Gavril, Edge dominating sets in graphs (1978) manuscrit non publié.
(en) Minimum dominating set, une page du Compendium of NP optimization problems de P. Crescenzi et V. Kann