Il s'agit d'une réduction de Clique à votre problème.
Nous commençons par une instance de Clique: un graphe et un entier k , laissez V = { v 1 , v 2 , . . . , v n }GkV={v1,v2,...,vn} .
La clique reste un PNJ même sous la contrainte que (esquisse de preuve: si m a x ( d e g ( v i ) > 2 ( k - 1 ) puis ajoutez un K t où t = 2 ( k - 1 ) - m a xmax(deg(vi))≤2(k−1)max(deg(vi)>2(k−1)Kt et le connecter à tous les nœuds de G et demander une clique de taille k ′ = k + t dans le nouveau graphe).t=2(k−1)−max(deg(vi))Gk′=k+t
Nous supposons donc que dans , m a x ( d e g ( v i ) ) ≤ 2 ( k - 1 ) . Pour chaque nœud v i pour lequel d e g ( v i ) < 2 ( k - 1 ) on crée une clique "externe" C i de taille 2 ( k + 1 ) + 1 (chaque nœud de iGmax(deg(vi))≤2(k−1)videg(vi)<2(k−1)Ci2(k+1)+1Ci clique a au moins voisins).2(k+1)
Si est le degré de v i , nous connectons v i à 2 ( k - 1 ) - d e g ( v i ) nœuds de C i .deg(vi)vivi2(k−1)−deg(vi)Ci
Dans le résultant , chaque v i a le degré 2 ( k - 1 ) ; donc | A | ≥ k car au moins un sommet doit être sélectionné.G′vi2(k−1)|A|≥k
Il est clair que si l'un des sommets de est inclus dans A, alors au moins 2 ( k + 1 ) / 2 = k + 1 nœuds doivent également y être insérés. Notez que si un nœud d'origine a d e g ( v i ) < k - 1, alors au moins un nœud du C i lié doit être inclus, conduisant à | A | > k .CiA2(k+1)/2=k+1deg(vi)<k−1Ci|A|>k
Nous pouvons donc construire un ensemble de taille minimale | A | = k si et seulement si G contient une clique de taille k .A|A|=kGk
Un exemple de la réduction dans laquelle nous demandons si le graphe représenté par les nœuds jaunes et les bords gras contient une clique de taille k = 3 (un triangle).Gk=3
Les nœuds bleus (regroupés pour une meilleure lisibilité) sont , les bords rouges sont les liens entre les nœuds de G avec d e g ( v i ) < 2 ( k - 1 ) .K9Gdeg(vi)<2(k−1)