Jaka jest złożoność tego problemu z grafem?

16

Biorąc pod uwagę prosty niekierowany wykres G , znajdź podzbiór A wierzchołków, taki jak

  1. dla dowolnego wierzchołka xA co najmniej połowa sąsiadów x również znajduje się w A i

  2. rozmiar A 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 V(G) 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?

Andras Farago
źródło
2
Wygląda na wariant problemu z zadowalającą partycją . Nie wiem, czy twój wariant jest znany i udowodniono, że jest NPC; ale prawdopodobnie powinna działać redukcja z k-kliki: połącz każdy węzeł pierwotnego wykresu z k + 1 węzłami C i „kliki zewnętrznej” o rozmiarze 2 ( k + 1 ) (każdy węzeł ma swoją zewnętrzną klikę). Wtedy możesz znaleźć nietrywialny zestaw A o rozmiarze k wtedy i tylko wtedy, gdy kvik+1Ci2(k+1)Akk-klika istnieje na oryginalnym wykresie (musisz wybrać przynajmniej węzeł, ale musisz unikać jakiejkolwiek zewnętrznej kliki). Ale to tylko pomysł; jeśli mam wystarczająco dużo czasu, postaram się sprawdzić, czy redukcja jest prawidłowa.
Marzio De Biasi,
@MarzioDeBiasi Dziękuję, po kilku poszukiwaniach dowiedziałem się, że problem zadowalającej partycji jest rzeczywiście powiązany. Jednak w każdym wariancie, który udało mi się znaleźć, szukają raczej partycji niż pojedynczego zestawu. Nie jest jasne, w jaki sposób są one powiązane. W twojej redukcji, chyba że coś źle zrozumiałem, klika oryginalnego wykresu nie spełnia definicji, ponieważ każdy węzeł w nim będzie miał k - 1 wewnętrznych sąsiadów, ale co najmniej k + 1 zewnętrznych sąsiadów, ze względu na dodane zewnętrzne kliki. kk1k+1
Andras Farago,
2
Myślę, że ten problem jest znany jako „sojusz obronny”
daniello,
1
@daniello: świetnie, szukałem w ankiecie IG Yero, JA Rodriguez-Velazquez, „Defensywne sojusze na wykresach: ankieta”, 2013, ale nie znalazłem słowa „połowa”; kiedy będę miał wystarczająco dużo czasu, przeczytam go uważnie; prawdopodobnie problem OP jest już znany!
Marzio De Biasi
2
Wygląda na to, że sformułowano, że „każdy wierzchołek ma co najmniej tyle sąsiadów w środku, co na zewnątrz”, co jest takie samo jak w pytaniu do zaokrąglenia i możliwe, że uwzględnia / nie uwzględnia samego wierzchołka w liczbie
daniello

Odpowiedzi:

6

To redukcja z Clique do twojego problemu.

Rozpoczynamy z instancją Clique: wykres i całkowita K , niech V = { v 1 , V, 2 , . . . , v n } .GkV={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(k1)max(deg(vi)>2(k1)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(k1)max(deg(vi))Gk=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ł CGmax(deg(vi))2(k1)videg(vi)<2(k1)Ci2(k+1)+1sąsiadów).Ciklika 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)vivi2(k1)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.Gvi2(k1)|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 .CiA2(k+1)/2=k+1deg(vi)<k1Ci|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|=kGk

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).Gk=3

satisfactory problem variant 30CC0991E0BCCCD16E41CBD9CD3EEECC

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 ) .K9Gdeg(vi)<2(k1)

Marzio De Biasi
źródło
@WillardZhan: ponieważ każdy wierzchołek ma stopień 2 ( k - 1 ) pod względem konstrukcji, więc jeśli A zawiera jeden wierzchołek, musi zawierać co najmniej 2 ( k - 1 ) / 2 = k - 1 sąsiadów (i to samo dotyczy wszystkich wierzchołków A ), więc | A | k . „Minimalny rozmiar” k można osiągnąć tylko wtedy, gdy A jest kliką o rozmiarze k . G2(k1)A2(k1)/2=k1A|A|kkAk
Marzio De Biasi
@WillardZhan: Dodałem inny warunek do początkowego problemu kliki (ale powinien pozostać NPC) ... Nadal go sprawdzam (nie do końca przekonany, że jest poprawny).
Marzio De Biasi,
1
Tak, teraz działa idealnie (choć powinno być k w wyrażeniu t). Może powinienem usunąć moje komentarze?
Willard Zhan
@WillardZhan: Myślę, że to prawda, ponieważ w tym akapicie odnoszę się do redukcji z Clique [instancja (sol,k)] do ograniczenia Clique + max(deg(vi))2(k1) [instance (G,k)]. t is the number of the nodes (clique) to add to G to get the new instance of Clique that stastisfies the constraint.
Marzio De Biasi