Étant donné un simple graphe non orienté , trouver un sous-ensemble de sommets, tel que
pour tout sommet au moins la moitié des voisins de sont également dans , et
la taille de est minimale.
Autrement dit, nous recherchons un cluster, dans lequel au moins la moitié du voisinage de chaque sommet interne reste interne. La simple existence d'un tel cluster est évidente, car l'ensemble des sommets toujours la propriété 1. Mais est-il difficile de trouver le plus petit (non vide) un tel cluster?
Existe-t-il un nom standard pour ce problème? Que sait-on de sa complexité?
graph-theory
graph-algorithms
np-hardness
Andras Farago
la source
la source
Réponses:
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 }G k V={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)) G k′=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 iG max(deg(vi))≤2(k−1) vi deg(vi)<2(k−1) Ci 2(k+1)+1 Ci 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) vi vi 2(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′ vi 2(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 .Ci A 2(k+1)/2=k+1 deg(vi)<k−1 Ci |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|=k G k
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).G k=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 ) .K9 G deg(vi)<2(k−1)
la source