1 votos

Complejidad temporal de la DFS

Según tengo entendido:
1) dado un gráfico G con n vértices y m aristas, DFS es O(n + m)
2) La DFS puede utilizarse para producir una lista de todos los caminos simples entre 2 vértices u y v

Esto significaría que DFS puede producir una lista de todos los caminos simples entre u y v en tiempo polinómico.

Sin embargo, si pudiéramos enumerar todos los caminos simples entre u y v en tiempo polinómico, deberíamos ser capaces de decidir si G tiene un camino de Hamilton entre u y v en tiempo polinómico.

Dado que determinar si G tiene un Camino de Hamilton es NP-Completo, mi entendimiento debe ser incorrecto. Espero que alguien pueda aclarar lo que se me escapa.

0 votos

Tu (2) no me parece cierta. ¿Puede detallar más en qué sentido podría ser cierta esa afirmación?

0 votos

@HenningMakholm Error mío en (2). DFS tarda (n+m) en recorrer un grafo con n vértices y m aristas. Sin embargo, si lo modificamos para que imprima todos los caminos posibles entre todos los pares de vértices, tardaría mucho más.

1voto

Kyle Jones Puntos 779

Lo que te falta es que podría haber un número exponencial de caminos que no llegan a conectarse $u$ y $v$ . Descubrir estos callejones sin salida utilizando la búsqueda en profundidad y el backtracking es lo que hace que el DFS requiera en el peor de los casos un tiempo exponencial para encontrar un camino hamiltoniano.

-1voto

Abhijit Puntos 865

Para recorrer todos los nodos, sólo visitará cada punto una vez, por lo que el tiempo de recorrido es lineal.

Para encontrar todos los caminos, es posible que haya que visitar cada nodo muchas veces (por ejemplo, hay que volver a un nodo muchas veces), y el número de caminos posibles es exponencial, por lo que el tiempo para encontrar todos los caminos es exponencial.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X