Se trata de una reducción del Ciclo de Hamilton no dirigido al Camino de Hamilton no dirigido. Toma un gráfico $G$ y devuelve un gráfico $f(G)$ tal que $G$ tiene un ciclo de Hamilton si $f(G)$ tiene un camino de Hamilton.
Dado un gráfico $G = (V,E)$ construimos un gráfico $f(G)$ de la siguiente manera.
Dejemos que $v \in V$ sea un vértice de G, y sea $v',s,t \notin V$ .
Queremos hacer $v'$ una "copia" de $v$ y añadir vértices de grado uno; $s,t$ conectado a $v,v'$ respectivamente. (Véase la figura 1.)
Eso es, $f(G)$ tiene vértices $V\cup \{v',s,t\}$ y bordes $E\cup\{(v',w)|(v,w)\in E\}\cup\{(s,v),(v',t),(v,v')\}$ .
Ahora bien, si $G$ tiene un Ciclo de Hamilton, podemos escribirlo en la forma $(v,u),edges,(u',v)$ , donde $edges$ es una lista de aristas que deben formar un camino simple $u\ldots u'$ visitando todos los vértices menos $v$ . Pero entonces, $(s,v),(v,u),edges,(u',v'),(v',t)$ es un camino de Hamilton entre $s$ y $t$ en $f(G)$ .
Si por el contrario $f(G)$ tiene un Camino de Hamilton, entonces debe tener $s$ y $t$ como puntos finales, ya que tienen grado 1. En cuyo caso debe (hasta la inversión) ser de la forma $(s,v),(v,y),edges',(y',v'),(v',t)$ . Pero entonces, $G$ tiene un ciclo de Hamilton $(v,y),edges',(y',v)$ .
0 votos
Abaco, mi respuesta, que has aceptado, es errónea. Aryabhata ha dado una solución correcta.
1 votos
@user96758: Creo que tienes razón. Dado un vértice, entre todas las aristas unidas a él, al menos 2 están en un HC (si es que existe). De hecho, cuando una de estas 2 aristas, digamos $e$ (sin pérdida de generalidad, $e = \{u,v\}$ de $u$ a $v$ ), el nuevo gráfico tendrá un HP a partir de $v$ y terminando en $u$ . Así que no necesitamos vértices adicionales para reducir el problema HC a HP. Por otro lado, como el coste de reducción es polinómico en todos los métodos mencionados aquí y por otros usuarios, acabamos de demostrar lo mismo.
0 votos
Aquí encontré una solución mucho más compacta: aduni.org/courses/algorithms/courseware/psets/