Editar: consulte la respuesta de user20655 a continuación para obtener una referencia a un documento que ya demuestra la dureza de este problema. Dejaré mi publicación original en caso de que alguien quiera ver esta prueba alternativa.
===============
Considere una instancia de MIN-SAT, que es un problema NP-difícil , que consta de variables y cláusulas C = { c 1 , c 2 , c 3 , ⋯ } . Reduciremos esto a su problema de ruta.X= { x1, x2, ⋯Xnorte}C= { C1, c2, c3, ⋯ }
Tendremos dos vértices para cada (uno para la forma negada y otro para el innecesario) y un vértice para cada c i . Además, dejando m = 2 n + | C | , tendremos m vértices p 1 , p 2 , ⋯ , p m para el relleno.XyoCyom = 2 n + | CEl |metropag1, p2, ⋯ , pmetro
Hablando en términos generales, construiremos un gráfico donde la solución óptima será construir una ruta de a t utilizando x i sy ¯ x i s como nodos intermedios. El costo de esta ruta será exactamente el c j s que la ruta que elegimos satisfaría si la convirtiéramos en una tarea. Los p i s están ahí para evitar que la solución óptima pueda hacer trampa haciendo un atajo a través de cualquiera de los c j s.stXyoXyo¯CjpagyoCj
Conecte a cualquier cláusula c j en la que aparezca x i y ¯ x i a cualquier cláusula c j en la que aparezca ¯ x i . Para forzar una asignación de las variables, hacemos una estructura en forma de escalera de diamante, donde x i y ¯ x i están conectados a cada uno de x i + 1 y ¯ x i + 1 . s está conectado a x 1 y ¯XyoCjXyoXyo¯¯¯¯¯CjXyo¯¯¯¯¯XyoXyo¯¯¯¯¯Xi + 1Xi + 1¯¯¯¯¯¯¯¯¯sX1 ytestá conectado tanto axny ¯ x n . Finalmente, cadaciestá conectado a todas las variables de rellenopj. No tengo a mano mi software para dibujar gráficos, así que aquí hay un diagrama (extremadamente) crudamente dibujado de esta construcción:X1¯¯¯¯¯tXnorteXnorte¯¯¯¯¯Cyopagj
(Tenga en cuenta que la nube aquí es solo un gran conjunto de vértices, y cada borde grueso de c j a esta nube representa que c j está conectado a cada vértice de este conjunto).{ Pyo}CjCj
La afirmación es que en la solución óptima para el problema de la ruta de contacto mínimo, el número de vértices que tocarán la ruta es , donde Q es la solución óptima para la instancia MIN-SAT. Esto es porqueQ + 2 n + 2Q
- La ruta debe comenzar en terminar en t , y la mejor manera de hacerlo sin recopilar todos los vértices de relleno es continuar yendo de y i ∈ { x i , ¯ x i } a y i + 1 ∈ { x i + 1 , ¯ x i + 1 } sin recopilar nunca x i y ¯ x i para cualquier i ∈ 1 , ⋯ , nstyyo∈ { xyo, xyo¯¯¯¯¯}yi + 1∈ { xi + 1, xi + 1¯¯¯¯¯¯¯¯¯}XyoXyo¯¯¯¯¯i ∈ 1 , ⋯ , n(esto es intuitivo, ya que eliminar una de las dos opciones de cualquier variable elegida dos veces produce una ruta válida con un costo no mayor que si hubiéramos mantenido ambas).
- Hay una solución de costo a lo sumo que va s , x 1 , x 2 , ⋯ , x n , t , no recolectando nada fuera de s , t , { x i } , { ¯ x i } y { c i } . Dado que cualquier ruta s - t que obtenga algún relleno debe contener al menos s , t , alguna cm + 2s , x1, x2, ⋯ , xnorte, tst{ xyo}{ xyo¯¯¯¯¯}{ cyo} s -tst , algunos x i y x j , y todo { p } , tiene un costo de ≥ m + 5 , por lo que es subóptimo. Por lo tanto, la solución óptima no toca ninguno de los vértices de relleno, por lo que la ruta debe continuar como se describe en la parte (1).CyoXyoXj{ p }≥ m + 5
- stCjCjQQCj
- XyoXyo¯¯¯¯¯st2 n + 2CyoQ
≤ k≤ k + 2 n + 2