Estoy buscando algunas pistas en una pregunta que me hizo mi instructor.
Así que descubrí que este problema de decisión es :
En un gráfico , ¿hay un árbol de expansión en G que contenga un conjunto exacto de S = { x 1 , x 2 , ... , x n } como hojas. Me di cuenta de que podamos probar que es N P - c o m p l e t e reduciendo camino de Hamilton a este problema decisiones.
Pero mi instructor también nos preguntó en clase:
también sería si en lugar de "conjunto exacto de S ", hacemos
"incluye todo el conjunto de y posiblemente otras hojas" o "subconjunto de S "
Creo que "subconjunto de S" sería , pero no puedo probarlo, no sé qué problema puedo reducir a esto. En cuanto a "incluir el conjunto de S ...", creo que se puede resolver en tiempo polinómico.
fuente
Respuestas:
En resumen, sus conjeturas son correctas. Para el propósito de esta respuesta, llamemos a los tres problemas en cuestión de la siguiente manera:
Para demostrar que la versión del subconjunto es NP-complete, aún puede reducir el problema de la ruta de Hamitonian. Intente modificar la prueba de la integridad de NP de la versión de igualdad.
Para probar que la versión de superconjunto se puede resolver en tiempo polinómico, intente encontrar una condición necesaria y suficiente para que exista dicho árbolT
Ambas versiones (así como algunos otros problemas sobre la expansión de los árboles) se estudian en [SK05]. Pero supongo que es mejor si intentas resolver los problemas por tu cuenta antes de mirar las pruebas en el papel, porque mirar el papel puede ser un gran spoiler. ¡Desafortunadamente, había mirado el documento antes de tratar de encontrar un algoritmo de tiempo polinómico para la versión de superconjunto!
[SK05] Mohammad Sohel Rahman y Mohammad Kaykobad. Complejidades de algunos problemas interesantes en la expansión de los árboles. Information Processing Letters , 94 (2): 93–97, abril de 2005. [ doi ] [ copia del autor ]
fuente
Estas sugerencias no fueron suficientes para llevarme a una solución para el superconjunto del problema S, aunque las sugerencias son útiles y correctas. Este es mi tren de pensamiento que me llevó a una solución.
¿Qué sucede si elimina todos los vértices en S de G, (VS) y luego encuentra un árbol de expansión T con DFS? Si hay vértices aún no conectados en G, diga v1; ¿Qué dice eso sobre el papel de al menos uno de los vértices en S que se eliminó? Que se encuentra en la ruta a v1 desde algún vértice que se encuentra actualmente en el árbol de expansión. Por lo tanto, no puede ser una hoja (ya que las hojas no tienen hijos). Si no hay nodos no conectados, eso significa que cada vértice en S puede ser una hoja, siempre que tenga un borde que conduzca al árbol de expansión. Los vértices en S que solo se conectan a otros vértices en S, por supuesto, no tendrán una conexión con el árbol de expansión y violarían la condición. Entonces, hay dos casos para verificar:
fuente