Estou procurando algumas dicas em uma pergunta feita pelo meu instrutor.
Então, acabei de descobrir que esse problema de decisão é :
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.
Mas meu instrutor também nos perguntou na aula:
também seria se, em vez de "conjunto exato de S ", fizermos
"inclua todo o conjunto de e possivelmente outras folhas" ou "subconjunto de S "
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.
complexity-theory
graphs
np-complete
inicializar
fonte
fonte
Respostas:
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:
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 ]
fonte
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:
fonte