Qual é a complexidade desse problema gráfico?

16

Dado um gráfico simples e não direcionado , encontre um subconjunto A de vértices, de modo queGA

  1. para qualquer vértice pelo menos metade dos vizinhos de x também estão em A , exAxA

  2. o tamanho de é mínimo.A

Ou seja, estamos procurando um cluster, no qual pelo menos metade da vizinhança de cada vértice interno permaneça interna. A mera existência de um cluster desse tipo é óbvia, pois todo o conjunto de vértices sempre possui a propriedade 1. Mas quão difícil é encontrar o menor (não vazio) cluster desse tipo?V(G)

Existe um nome padrão para esse problema? O que se sabe sobre sua complexidade?

Andras Farago
fonte
2
Parece uma variante do problema de Partição Satisfatória . Não sei se sua variante é conhecida e foi provada ser NPC; mas, provavelmente, uma redução de k-clique deve funcionar: ligação cada nó do gráfico original para k + 1 nodos de um C i "clique externo" de tamanho 2 ( k + 1 ) (cada nó tem a sua pequena associação externo). Então você pode encontrar um conjunto não trivial A de tamanho k se e somente se a kvik+1Ci2(k+1)Akk-clique existe no gráfico original (você deve escolher pelo menos um nó, mas deve evitar qualquer clique externo). Mas é apenas uma ideia; se tiver tempo suficiente, tentarei ver se a redução está correta.
Marzio De Biasi
@MarzioDeBiasi Obrigado, depois de algumas pesquisas, descobri que o Problema de Partição Satisfatória está realmente relacionado. No entanto, em todas as variantes que pude encontrar, elas procuram por uma partição, e não por um único conjunto. Não está claro como eles estão relacionados. Na sua redução, a menos que eu tenha entendido algo errado , uma -ique do gráfico original não satisfaz a definição, já que cada nó terá k - 1 vizinhos internos, mas pelo menos k + 1 vizinhos externos, devido à adição externa adicionada panelinhas. kk1k+1
Andras Farago
2
Eu acho que este problema é conhecido como “aliança defensiva”
Daniello
11
@daniello: ótimo, procurei na pesquisa IG Yero, JA Rodriguez-Velazquez, "Alianças defensivas em gráficos: uma pesquisa", 2013, mas não encontrei a palavra "metade"; quando tiver tempo suficiente, lerei com atenção; é provável que o problema do OP já seja conhecido!
Marzio De Biasi
2
Parece ser formulado como "cada vértice tem pelo menos tantos vizinhos dentro como fora", que é o mesmo que na pergunta-se ao arredondamento, e, possivelmente incluindo / não incluindo o próprio vértice na contagem
Daniello

Respostas:

6

Esta é uma redução do Clique para o seu problema.

Começamos com um exemplo de Click: um gráfico que e um número inteiro k , deixar V = { v 1 , v 2 , . . . , v n } .GkV={v1,v2,...,vn}

Clique permanece NPC mesmo sob a restrição de que (esboço de prova: se m a x ( d e g ( v i ) > 2 ( k - 1 ) em seguida, adicione um K t onde t = 2 ( k - 1 ) - m a xmax(deg(vi))2(k1)max(deg(vi)>2(k1)Kt e conecte-o a todos os nós de G e solicite um clique do tamanho k = k + t no novo gráfico).t=2(k1)max(deg(vi))Gk=k+t

Portanto, assumimos que em , m a x ( d e g ( v i ) ) 2 ( k - 1 ) . Para cada nó v i para o qual d e g ( v i ) < 2 ( k - 1 ) é criada uma "externo" clique C i de tamanho 2 ( k + 1 ) + 1 (cada nó de CGmax(deg(vi))2(k1)videg(vi)<2(k1)Ci2(k+1)+1 clique tem pelo menos 2 ( k + 1 ) vizinhos).Ci2(k+1)

Se é o grau de v i , conectamos v i a 2 ( k - 1 ) - d e g ( v i ) nós de C i .deg(vi)vivi2(k1)deg(vi)Ci

No resultante , cada v i possui grau 2 ( k - 1 ) ; so | Um | k porque pelo menos um vértice deve ser selecionado.Gvi2(k1)|A|k

É claro que, se um dos vértices de é incluído em uma , em seguida, pelo menos duas ( k + 1 ) / 2 = k + 1 nós também deve ser inserido na mesma. Note-se que, se um nó original tem d e g ( v i ) < k - 1 então pelo menos um nó do ligadas C i deve ser incluído, levando a | Um | > k .CiA2(k+1)/2=k+1deg(vi)<k1Ci|A|>k

Para que possamos construir um conjunto de tamanho mínimo | Um | = k se e somente se G contiver um clique do tamanho k .A|A|=kGk

Um exemplo da redução em que perguntamos se o gráfico representado pelos nós amarelos e arestas em negrito contém uma clique do tamanho k = 3 (um triângulo).Gk=3

variante de problema satisfatório 30CC0991E0BCCCD16E41CBD9CD3EEECC

Os nós azuis (agrupados para melhor legibilidade) são , as bordas vermelhas são os elos entre os nós de G com d e g ( v i ) < 2 ( k - 1 ) .K9Gdeg(vi)<2(k1)

Marzio De Biasi
fonte
@WillardZhan: como todo vértice de tem grau 2 ( k - 1 ) por construção, portanto, se A contém um vértice, ele deve conter pelo menos 2 ( k - 1 ) / 2 = k - 1 vizinhos (e o mesmo aplica-se a todos os vértices de A ), então | Um | k . O "tamanho mínimo" k pode ser alcançado apenas se A for um clique do tamanho k . G2(k1)A2(k1)/2=k1A|A|kkAk
Marzio De Biasi
@WillardZhan: Adicionei outra condição ao problema de camarilha inicial (mas ele deve permanecer como NPC) ... ainda estou verificando (não estou totalmente convencido de que está correto).
Marzio De Biasi
11
Sim, agora funciona perfeitamente (embora deva ser na expressão de t ). Talvez eu deva excluir meus comentários? kt
Willard Zhan
@WillardZhan: Acho que está correto, porque nesse parágrafo estou me referindo à redução de Clique [instância ] para Clique + restrição m a x ( d e g ( v i ) ) 2 ( k - 1 ) [instância ( G , k ) ]. t é o número de nós (clique) a serem adicionados ao G para obter a nova instância do Clique que stastisfies a restrição. (G,k)max(deg(vi))2(k1)(G,k)t
Marzio De Biasi