NP prova de completude de um problema de spanning tree

23

Estou procurando algumas dicas em uma pergunta feita pelo meu instrutor.

Então, acabei de descobrir que esse problema de decisão é :NP-complete

Em um gráfico , existe uma árvore de abrangência em que contém um conjunto exato de como folhas. Eu descobri que podemos provar que está reduzindo o caminho hamiltoniano para esse problema de decisão.GGS={x1,x2,,xn}NP-complete

Mas meu instrutor também nos perguntou na aula:

também seria se, em vez de "conjunto exato de S ", fizermosNP-completeS

"inclua todo o conjunto de e possivelmente outras folhas" ou "subconjunto de S "SS

Eu acho que "subconjunto de S" seria , mas simplesmente não posso provar isso, não sei que problema posso reduzi-lo a isso. Quanto a "incluir o conjunto de ...", acho que pode ser resolvido em tempo polinomial.NP-completeS

inicializar
fonte
Você pode explicar por que você acha que a única versão pode ser resolvida em tempo polinomial?
Raphael
@pad: "Meu instrutor perguntou em sala de aula" não é uma tarefa, mas um quebra-cabeça. Além disso, consulte esta meta-discussão na tag de lição de casa.
Raphael

Respostas:

13

Em suma, suas suposições estão corretas. Para os fins desta resposta, vamos chamar os três problemas em questão da seguinte maneira:

  • Igualdade versão: Dado um gráfico e um conjunto S V , decidir se L tem uma árvore de expansão T de tal forma que o conjunto de folhas em T é igual a S . Como você afirmou, isso é NP-completo por uma redução do problema do caminho hamiltoniano.G=(V,E)SVGTTS
  • Versão subconjunto: Dado e S como acima, decidir se G tem uma árvore geradora T tal que o conjunto de folhas em T é um subconjunto de S .GSGTTS
  • Superset versão: Dado e S como acima, decidir se G tem uma árvore geradora T tal que o conjunto de folhas em T é um super- S .GSGTTS

Para provar que a versão do subconjunto é NP-completa, você ainda pode reduzir o problema do caminho hamitoniano. Tente modificar a prova da completude do NP da versão da igualdade.

Para provar que a versão do superconjunto pode ser resolvida em tempo polinomial, tente encontrar uma condição necessária e suficiente para que uma árvore exista.T

Ambas as versões (assim como alguns outros problemas sobre árvores de extensão) são estudadas em [SK05]. Mas acho que é melhor tentar resolver os problemas sozinho antes de examinar as provas no papel, porque olhar para o papel pode ser um grande spoiler. Infelizmente, eu tinha olhado o artigo antes de tentar encontrar um algoritmo de tempo polinomial para a versão superconjunto!


[SK05] Mohammad Sohel Rahman e Mohammad Kaykobad. Complexidades de alguns problemas interessantes em estender árvores. Information Processing Letters , 94 (2): 93–97, abril de 2005. [ doi ] [ cópia do autor ]

Tsuyoshi Ito
fonte
Bom te ver aqui! Observe que também temos o MathJax aqui.
Raphael
1
Obrigado pela orientação !! Eu gostaria de ler isso antes de ir para a aula, porém, ele estragou tudo hoje haha. No caso de alguém interessado no algoritmo polinomial da versão do superconjunto, outra dica é construir um novo gráfico com V \ L.
inicialize
0

Essas dicas não foram suficientes para chegar a uma solução para o superconjunto do problema S - embora as dicas sejam úteis e corretas. Esta é a minha linha de pensamento que me levou a uma solução.

O que acontece se você remover todos os vértices em S de G, (VS) e encontrar uma árvore de abrangência T com DFS? Se houver vértices ainda não conectados em G, diga v1; o que isso diz sobre o papel de pelo menos um dos vértices em S que foi removido? Que está no caminho para a v1 de algum vértice que está atualmente na árvore de abrangência. Assim, não pode ser uma folha (pois as folhas não têm filhos). Se não houver nós desconectados, isso significa que todo vértice em S pode ser uma folha, desde que tenha uma aresta que conduz à árvore de abrangência. Os vértices em S que se conectam apenas a outros vértices em S, é claro, não terão uma conexão com a árvore de abrangência e violariam a condição. Portanto, há dois casos para verificar:

  1. Se todos os nós que não estão em S estiverem conectados após remover S de G e encontrar uma árvore de abrangência
  2. Se cada nó em S puder ser conectado diretamente à árvore de expansão.
DanGoodrick
fonte