Dado um gráfico , encontre vértices , cuja remoção resultaria em um gráfico com o menor componente maior.
Presumo quee grande o problema é difícil (NP-difícil), mas estou interessado em pequenos valores de k ( k \ in \ {1, 2, 3, 4 \} ).
Para , acho que é possível encontrar o melhor vértice para remover, executando a busca única em profundidade do gráfico (ou seja, verificando os pontos de articulação).
Para , seria possível encontrar os melhores vértices executando pesquisas em profundidade (cada uma delas no gráfico ). Uma abordagem semelhante pode ser aplicada no caso .
Gostaria de saber se existe alguma solução melhor do que isso.
(Relacionado: contando o número mínimo de vértices sem necessariamente enumerá-los )
Respostas:
O problema que você está descrevendo é conhecido como Conectividade da ordem dos componentes no campo de medidas de vulnerabilidade dos gráficos . A versão de decisão do problema é a seguinte:
O problema é obviamente NP-completo, pois generaliza a cobertura de vértices; o caso em que é a cobertura do vértice. Portanto, o problema não pode ser corrigido por um parâmetro tratável quando parametrizado por (a menos que ). O problema também é conhecido por ser -hard quando parametrizado por . Portanto, temos que recorrer a algoritmos com um tempo de execução exponencial emℓ=1 ℓ FPT=W[1] W[1] k k+ℓ .
Pergunta muito interessante. Para entradaG,k,ℓ , uma abordagem de força bruta seria:
O algoritmo é executado no tempo(ℓ+1)k⋅n2 .
Observe que qualquer instância yesG,k,ℓ do problema tem largura de árvore e, na verdade, largura de caminho, no máximo k+ℓ . Isso pode ser observado ao ver que a tomada de um conjunto de exclusõesX de tamanho no máximo produz um gráfico onde cada componente conectado tem tamanho no máximo . Portanto, uma decomposição de caminho válida é simplesmente construir uma bolsa para cada um dos componentes no e adicionar todo a cada bolsa. Daqui resulta que qualquer instância yes possui .k G−X ℓ G−X X |E(G)|≤n(k+ℓ)
Um problema relacionado foi estudado no passado sob o nome Graph Integrity ou Vertex Integrity para distinguir a versão de exclusão de vértice e a versão de exclusão de borda:
Ou seja, a soma do conjunto de exclusões e o tamanho do componente máximo devem ser minimizados. Esse problema também é difícil para o NP. Veja, por exemplo,
fonte