Bei einer einfachen ungerichteten Graphen , finden sie eine Teilmenge von Eckpunkten, so dass
für jeden Knoten mindestens die Hälfte der Nachbarn von ebenfalls in und
Die Größe von ist minimal.
Das heißt, wir suchen nach einem Cluster, in dem mindestens die Hälfte der Nachbarschaft jedes internen Scheitelpunkts intern bleibt. Die bloße Existenz eines solchen Clusters ist offensichtlich, da die gesamte Scheitelmenge immer die Eigenschaft 1 hat. Aber wie schwer ist es, den kleinsten (nicht leeren) solchen Cluster zu finden?
Gibt es einen Standardnamen für dieses Problem? Was ist über seine Komplexität bekannt?
graph-theory
graph-algorithms
np-hardness
Andras Farago
quelle
quelle
Antworten:
Dies ist eine Reduktion von Clique zu Ihrem Problem.
Wir beginnen mit einer Instanz von Clique: ein Graph und eine ganze Zahl k , lassen V = { v 1 , v 2 , . . . , v n } .G k V={v1,v2,...,vn}
Clique bleibt NPC auch unter der Einschränkung , dass (Nachweis Skizze: wenn m a x ( d e g ( v i ) > 2 ( k - 1 ) dann addiere ein K t mit t = 2 ( k - 1 ) - m a xmax(deg(vi))≤2(k−1) max(deg(vi)>2(k−1) Kt und verbinde es mit allen Knoten von G und frage nach einer Clique der Größe k ′ = k + t im neuen Graphen).t=2(k−1)−max(deg(vi)) G k′=k+t
Wir nehmen also an , dass in m a x ( d e g ( v i ) ) ≤ 2 ( k - 1 ) ist . Für jeden Knoten v i , für die d e g ( v i ) < 2 ( k - 1 ) wir eine "externe" Clique erstellen C i der Größe 2 ( k + 1 ) + 1 (jeder Knoten von CG max(deg(vi))≤2(k−1) vi deg(vi)<2(k−1) Ci 2(k+1)+1 clique hat mindestens 2 ( k + 1 ) Nachbarn.Ci 2(k+1)
Wenn ist der Grad der v i verbinden wir v i zu 2 ( k - 1 ) - d e g ( v i ) Knoten C i .deg(vi) vi vi 2(k−1)−deg(vi) Ci
Im resultierenden hat jedes v i Grad 2 ( k - 1 ) ; so | A | ≥ k, weil mindestens ein Eckpunkt ausgewählt werden muss.G′ vi 2(k−1) |A|≥k
Es ist klar, dass, wenn einer der Eckpunkte von in A enthalten ist, mindestens 2 ( k + 1 ) / 2 = k + 1 Knoten darin ebenfalls eingefügt werden müssen. Beachten Sie, dass , wenn ein ursprünglicher Knoten d e g ( v i ) < k - 1 dann wenigstens einen Knoten der verknüpften C i enthalten sein müssen, was zu | A | > k .Ci A 2(k+1)/2=k+1 deg(vi)<k−1 Ci |A|>k
Wir können also eine Menge der Mindestgröße | erstellen A | = k genau dann, wenn G eine Clique der Größe k enthält .A |A|=k G k
Ein Beispiel für die Reduktion, bei der wir fragen, ob der Graph der durch die gelben Knoten und die fetten Kanten dargestellt wird, eine Clique der Größe k = 3 (ein Dreieck) enthält.G k=3
Die blauen Knoten (zur besseren Lesbarkeit gruppiert) sind werden die roten Kanten die Verbindungen zwischen den Knoten von G mit d e g ( v i ) < 2 ( k - 1 ) .K9 G deg(vi)<2(k−1)
quelle