10 votos

¿Cómo se interpretan afirmaciones como: "El problema del viajante de comercio es NP-completo".

El mundo abunda en afirmaciones como:

El problema del viajante de comercio es NP-completo.

Pero cuando intento seguir los enlaces de Internet "por la madriguera del conejo", no consigo una explicación verdaderamente sensata de lo que significan realmente este tipo de afirmaciones. Intentaré reducir esto exactamente a la parte en la que se produce el "agujero negro de la comprensión" para mí.

Por ejemplo, el problema del viajante de comercio. Cuando leo sobre esto, todo lo que veo es una función. Explícitamente, hay una función que mapea cada gráfico ponderado $G$ al conjunto de todos los ciclos hamiltonianos en $G$ de longitud mínima. También podríamos denotar esta función $\mathrm{TSF}$ y llamarlo función de vendedor ambulante.

Ahora cambiemos un poco de tema. Cuando sigo los enlaces relacionados con la completitud NP, consigo conjeturar que la completitud NP puede definirse formalmente como una colección de subconjuntos de $\mathbb{N}$ .

$$\mathrm{NPCOMP} \subseteq 2^\mathbb{N}$$

Con más detalle, supongo que

$$\mathrm{NPCOMP} = \mathrm{NP} \cap \mathrm{NPHARD}$$

Bien. Intentemos juntarlas. Por conveniencia, por un blurgle me refiero a una función que (como $\mathrm{TSF})$ asigna a cada gráfico ponderado $G$ un conjunto de ciclos en $G$ . Así que lo que sucede, presumiblemente, es que podemos asignar a cada burbuja $\mathrm{FOO}$ una colección correspondiente de subconjuntos de $\mathbb{N}$ Llama a esto $\underline{\mathrm{FOO}}$ . Por lo tanto, podemos definir que un borrón $\mathrm{FOO}$ es NP-completo si $\underline{\mathrm{FOO}} \subseteq \mathrm{NPCOMP}.$

Por lo tanto, ya que $\mathrm{TSF}$ es un borrón, podemos reinterpretar la declaración inicial como que $$\underline{\mathrm{TSF}} \subseteq \mathrm{NPCOMP}$$

Además, parece razonable definir que el problema del vendedor viajero es igual a $\underline{\mathrm{TSF}}.$

El problema que estoy teniendo (y este es el "agujero negro de la comprensión") es que no entiendo cómo llegar desde un blurgle $\mathrm{FOO}$ a $\underline{\mathrm{FOO}}$ que pretende ser una colección de subconjuntos de $\mathbb{N}$ . Por lo tanto, aunque puedo describir $\mathrm{TSF}$ en términos completamente precisos, no tengo ni idea de lo que $\underline{\mathrm{TSF}}$ es, excepto que es una colección de subconjuntos de $\mathbb{N}$ .

Pero es mucho peor que eso. Hablando en términos muy generales, y olvidando todo lo relacionado con la teoría de los grafos y los borrones y demás, y limitándose a tratar las cosas al mayor nivel de abstracción posible, parece que la gente suele tratar con un objeto $\mathrm{FOO}$ y luego comienzan a hablar de la "complejidad" del foo, lo que implícitamente significa que están estudiando $\underline{\mathrm{FOO}},$ pero parece que, en general, nadie te dice realmente cómo llegar desde $\mathrm{FOO}$ a $\underline{\mathrm{FOO}}.$

Entonces, mi pregunta es:

Pregunta. ¿Cómo se interpretan afirmaciones como: "El problema del viajante de comercio es NP-completo" cuando en realidad el escritor no te ha dado un problema en absoluto, lo que te ha dado es un objeto $\mathrm{FOO}$ (como la función del viajante de comercio), pero lo siguiente es que hacen afirmaciones sobre el problema correspondiente $\underline{\mathrm{FOO}}$ sin decir precisamente qué subconjuntos de $\mathbb{N}$ ¿a qué se refiere esto?

Supongo que sólo hay que hacer una conjetura: pero, si es así, ¿cómo se supone que debemos hacer esta conjetura, y por qué la conjetura del lector coincidiría con lo que el escritor está pensando realmente?

3voto

mdxn Puntos 121

El conjunto de $NP-complete$ es específico de los problemas de decisión. Cuando se dice que el problema del viajante de comercio es NP-completo, se hace referencia al decisión variante de la misma:

¿Existe un recorrido de longitud inferior a $k$ ?

Lo anterior es diferente de la variante del TSP en la que el objetivo es producir el recorrido de peso mínimo (el que preguntas).

Esta variante es una problema de funcionamiento no es un problema de decisión. Hay clases de complejidad de funciones que son análogas a las de decisión, pero que permiten que la salida sea algo más que ACCEPT o REJECT. Por ejemplo, la salida podría ser la codificación binaria de un recorrido TSP o simplemente un número entero. La función análoga a la clase de complejidad de decisión, $P$ (tiempo polinómico), se conoce como $FP$ que es el conjunto de funciones computables en tiempo polinómico en una máquina de Turing determinista con una cinta de salida. Asimismo, existen otras clases de funciones como $FNP$ y $FEXP$ .

El problema del viajante de comercio que está considerando es completo para la clase de complejidad de las funciones $FP^{NP}$ que es de tiempo polinómico funcional con acceso a un $NP$ oráculo (caja negra).

0 votos

Cómo se demuestra que el problema que considera el duende es FP $^{NP}$ -¿Duro?

0 votos

Por lo demás, tu penúltima frase es equivalente a NP = coNP , ya que el problema de esa frase está trivialmente en coNP: Hay un más corto si y sólo si T es no óptimo.

0 votos

@RickyDemer Creo que, en el momento de escribirlo, quise especificar restricciones adicionales a la palabra "óptimo" (como la unicidad o algo así), pero nunca encontré una buena manera de redactarlo. En cualquier caso, eso también sería un error teniendo en cuenta que no conozco de inmediato una reducción de un problema NP-completo a él. Lo quitaré para evitar confusiones.

2voto

mrseaman Puntos 161

Tienes un buen punto de vista: La completitud NP es una propiedad de los problemas de decisión, es decir, las pruebas de pertenencia a conjuntos, y no una propiedad de los problemas para calcular funciones más generales (como encontrar un ciclo hamiltoniano óptimo en un gráfico dado). Así que te has equivocado en tu búsqueda en Internet si "todo lo que ves es una función": el problema de decisión asociado al problema del viajante de comercio es si un grafo ponderado dado tiene un ciclo hamiltoniano de una longitud determinada. Este problema de decisión es NP-completo si se utilizan representaciones estándar eficientes del grafo ponderado y de la longitud del ciclo.

0 votos

¿Podría haber otras representaciones menos eficientes de los grafos ponderados de forma que el problema de decisión deje de ser NP-duro?

0 votos

Claro: si tienes un procedimiento de decisión que se ejecuta en el tiempo $f(n)$ utilizando una representación eficiente, requieren una instancia del problema de tamaño $n$ (con la representación eficiente), para ser representado por $f(n)$ símbolos ficticios seguidos de la representación eficiente. Con esta representación, el procedimiento de decisión tiene una complejidad de tiempo $O(n)$ en el tamaño de la entrada.

1voto

Matt Dawdy Puntos 5479

Para pasar del "problema del viajante de comercio" a un subconjunto de $\mathbb{N}$ hay que elegir una codificación razonable de los grafos ponderados como números naturales (para poder escribir el subconjunto de grafos ponderados con un ciclo hamiltoniano de menos de cierta longitud como un subconjunto de los números naturales). Estas codificaciones no son únicas, y la completitud NP podría depender de la codificación (por ejemplo, una codificación muy mala sería empezar con una codificación razonable, y luego recodificar cada número natural $n$ como la cadena formada por $2^n$ consecutivos $1$ s, entonces a $2$ ).

Por eso hay que elegir una codificación razonable. En la práctica creo que todo el mundo está de acuerdo en lo que son las codificaciones razonables, y todas las codificaciones razonables deberían devolver la misma respuesta (en el sentido de que todas deberían dar un problema NP-completo o no) porque todas deberían ser recodificables en términos de cada una en tiempo polinómico. No es "invariante de isomorfismo" preocuparse por codificaciones particulares.

0 votos

¿Significa esto que tenemos que hacer algo como tratar con $\mathbb{Q}_{\geq 0}$ -ponderados, porque de lo contrario, si estamos tratando con $\mathbb{R}_{\geq 0}$ -de los gráficos finitos ponderados, entonces de repente hay un número incontable de ellos y fundamentalmente no podemos codificarlos como números naturales?

0 votos

@goblin: sí, pero en la práctica esto no es un problema porque, de todas formas, sólo almacenarás los pesos de un gráfico real que te interese con una precisión finita.

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