Na teoria dos grafos e na ciência da computação teórica , o problema da cobertura mínima por vértices (ou problema da transversal mínima , Vertex Cover em inglês) é um problema algorítmico clássico. Consiste, dado um gráfico, em encontrar um conjunto mínimo de vértices para cobrir todas as arestas.
O problema de decisão associado a este problema de otimização é NP-completo e é um dos 21 problemas NP-completos de Karp . É frequentemente usado na teoria da complexidade para provar que outros problemas mais complicados são NP-completos.
Um vértice ou cobertura transversal de um grafo G é um conjunto C de vértices tal que cada aresta de G = ( V , E ) incide em pelo menos um vértice de C , ou seja, um subconjunto de vértices tal que para cada aresta de um tem ou . É que disse conjunto C abrange as bordas do G . A figura a seguir mostra exemplos de cobertura dos vértices de dois gráficos (o conjunto C é formado pelos vértices vermelhos).
Uma cobertura mínima de vértice é uma cobertura de tamanho mínimo de picos. A figura a seguir mostra exemplos de coberturas mínimas de vértices nos mesmos gráficos acima.
Se um conjunto de vértices é transversal, seu complemento é um conjunto estável (ou independente ). Portanto, um gráfico com n vértices tem um transversal de tamanho k se e somente se ele tem um estábulo de tamanho n - k . Deduzimos imediatamente o seguinte resultado:
Gallai 's teorema (1959) - De qualquer gráfico , α (G) + τ (L) = n.
onde α (G) denota o tamanho de um estábulo máximo , τ (G) denota o tamanho de um transversal mínimo e .
O problema de otimização, chamado de problema de cobertura mínima do vértice, é o seguinte:
Entrada: um gráfico G Pergunta: qual é o menor inteiro k , de forma que haja uma cobertura de vértice de G de tamanho k ?e o problema de decisão:
Entrada: um gráfico G e um inteiro k Pergunta: há uma cobertura por vértice de G de tamanho k ?O programa de otimização linear inteiro associado é:
minimizar | (minimizar o custo total) | |||
tal como | para tudo | (todas as bordas são cobertas) | ||
para tudo . | (cada vértice está no cobertor ou não) |
A relaxação linear deste sistema é o dual da relaxação do programa de otimização para o problema de acoplamento máximo .
O problema de decisão associado a este problema de otimização é NP-completo e é um dos 21 problemas NP-completos de Karp . Sua dureza NP é demonstrada por uma redução do problema de clique a ele. O problema da cobertura de vértices é freqüentemente usado na teoria da complexidade para provar que outros problemas mais complicados são NP-completos.
O problema ainda é NP-completo se nos restringirmos a grafos cúbicos ou a grafos planares de grau no máximo 3. Em grafos bipartidos, ele é resolvido em tempo polinomial com um algoritmo de acoplamento máximo, pela aplicação do teorema de Kőnig .
O seguinte algoritmo de aproximação dá uma solução no máximo duas vezes maior que a ótima: calcule um acoplamento máximo e coloque cada par de vértices na solução.
Se assumirmos que P é diferente de NP , o problema não pode ser abordado com uma razão melhor do que 1,3606. Supondo a conjectura de jogos únicos , o problema não pode ser abordado com uma proporção melhor do que 2.