Fácil reducción de 3SAT al problema de la ruta de Hamilton

19

Hay una reducción en el libro de Sipser "Introducción a la teoría de la computación" en la página 286 de 3SAT al problema del camino hamiltoniano.

¿Hay una reducción más simple?

Por simple quiero decir una reducción que sería más fácil de entender (para estudiantes).

¿Existe una reducción que use un número lineal de variables?

La reducción en Sipser utiliza variables donde k es el número de cláusulas yn es el número de variables. En otras palabras, es posible que la reducción sople el tamaño de s a O ( s 2 ) . ¿Existe una reducción simple donde el tamaño de la salida de la reducción es lineal en el tamaño de su entrada?O(kn)knsO(s2)

Si no es posible, ¿hay alguna razón? ¿Eso implicaría un resultado desconocido en la complejidad / algoritmos?

Kaveh
fuente
Para que quede claro: ¿Desea la función de reducción que asigna las instancias de 3SAT a las instancias de HP, o desea la prueba que reduce "3SAT en NPC?" a "HP en NPC?" (Supongo que el primero). ¿Podría por favor describir la prueba a la que se refiere? Es posible que algunos de nosotros no tengamos el libro a mano.
Raphael
@Raphael, quiero una reducción de 3SAT a HamPath.
Kaveh
La reducción en Sipser es gadgets de uso prolongado, prefiero no repetir la reducción aquí. Puede interpretar la primera pregunta como: ¿hay una reducción simple?
Kaveh
2
@Kaveh Encuentro que las diapositivas de la conferencia aquí son bastante fáciles de seguir: cbcb.umd.edu/~carlk/bioinfo-lectures/sat.pdf Reducen 3sat a Ham. Ciclo y jamón. Ciclo de jamón. Camino. Fueron convenientemente el primer éxito para "reducción de 3sat a ruta hamiltoniana", pero probablemente no respondan a su segunda pregunta.
Joe
1
@Kaveh: buena pregunta, especialmente "¿Eso implicaría un resultado desconocido en complejidad / algoritmos?" parte :-). No soy un experto, pero me gustaría ver que se pregunte por teoría.
Vor

Respuestas:

7

O(n+k)nk

kn4k4k3kO(n+k)

cc
fuente