Biorąc pod uwagę prosty niekierowany wykres , znajdź podzbiór wierzchołków, taki jak
dla dowolnego wierzchołka co najmniej połowa sąsiadów również znajduje się w i
rozmiar jest minimalny.
Oznacza to, że szukamy gromady, w której co najmniej połowa sąsiedztwa każdego wewnętrznego wierzchołka pozostaje wewnętrzna. Samo istnienie takiego klastra jest oczywiste, ponieważ cały zestaw wierzchołków zawsze ma właściwość 1. Ale jak trudno jest znaleźć najmniejszą (niepustą) taką grupę?
Czy istnieje standardowa nazwa tego problemu? Co wiadomo o jego złożoności?
graph-theory
graph-algorithms
np-hardness
Andras Farago
źródło
źródło
Odpowiedzi:
To redukcja z Clique do twojego problemu.
Rozpoczynamy z instancją Clique: wykres i całkowita K , niech V = { v 1 , V, 2 , . . . , v n } .G k V={v1,v2,...,vn}
Klika pozostaje NPC nawet pod warunkiem, że (szkic próbny: jeśli m a x ( d e g ( v i ) > 2 ( k - 1 ) następnie dodaj K t, gdzie t = 2 ( k - 1 ) - m a xmax(deg(vi))≤2(k−1) max(deg(vi)>2(k−1) Kt i podłącz go do wszystkich węzłów G i poproś o klikę o rozmiarze k ′ = k + t na nowym wykresie).t=2(k−1)−max(deg(vi)) G k′=k+t
Zakładamy więc, że w , m a x ( d e g ( v i ) ) ≤ 2 ( k - 1 ) . Dla każdego węzła v i dla którego d e g ( v i ) < 2 ( k - 1 ) tworzymy „zewnętrzną” klikę C i o rozmiarze 2 ( k + 1 ) + 1 (każdy węzeł CG max(deg(vi))≤2(k−1) vi deg(vi)<2(k−1) Ci 2(k+1)+1 sąsiadów).Ci klika ma co najmniej 2(k+1)
Jeśli jest stopniem v i , łączymy v i z 2 ( k - 1 ) - d e g ( v i ) węzłami C ideg(vi) vi vi 2(k−1)−deg(vi) Ci .
W otrzymanym , każde v i ma stopień 2 ( k - 1 ) ; więc | A | ≥ k, ponieważ należy wybrać co najmniej jeden wierzchołek.G′ vi 2(k−1) |A|≥k
Oczywiste jest, że jeśli jeden z wierzchołków jest zawarty w A, to należy w nim również wstawić co najmniej 2 ( k + 1 ) / 2 = k + 1 węzłów. Należy zauważyć, że jeśli oryginalny węzeł ma d e g ( v i ) < k - 1, to należy uwzględnić co najmniej jeden węzeł połączonego C i , co prowadzi do | A | > k .Ci A 2(k+1)/2=k+1 deg(vi)<k−1 Ci |A|>k
Więc możemy zbudować zestaw o minimalnym rozmiarze | A | = k wtedy i tylko wtedy, gdy G zawiera klikę o rozmiarze k .A |A|=k G k
Przykład zmniejszenia, w którym pytamy, czy wykres reprezentowany przez żółte węzły i pogrubione krawędzie zawiera klikę o rozmiarze k = 3 (trójkąt).G k=3
Niebieskie węzły (pogrupowane dla lepszej czytelności) to , czerwone krawędzie to połączenia między węzłami G o d e g ( v i ) < 2 ( k - 1 ) .K9 G deg(vi)<2(k−1)
źródło