¿Puede algún problema finito estar en NP-Complete?


13

Mi profesor hizo la declaración

Cualquier problema finito no puede ser NP-Complete

Estaba hablando de Sudoku en ese momento diciendo algo similar a que para un Sudoku 8x8 hay un conjunto finito de soluciones, pero no puedo recordar exactamente lo que dijo. Escribí la nota que he citado pero que todavía no entiendo.

Los Sudoku son NP completos si no me equivoco. El problema de la camarilla también es NP-Complete y si tuviera un problema de 4-Clique, ¿no es este un problema finito que es NP-Complete?


¿Qué es el "problema finito"? Google y Wikipedia no están ayudando.
Anton Trunov

3
@AntonTrunov Un problema en el que la entrada tiene longitud limitada.
Yuval Filmus

@YuvalFilmus, ¿no es cierto para todos los pares de entrada válidos de la máquina Turing *? IIRC uno de los símbolos se designa como el símbolo en blanco y la entrada inicialmente tiene una región limitada fuera de la cual no pueden aparecer símbolos distintos del símbolo en blanco. El término "NP completado" generalmente no se usa en el contexto de operaciones en flujos que no se pueden modelar sin relajar esa suposición.
Mike Samuel

@MikeSamuel Cuando digo longitud acotada, me refiero a la entrada de tamaño como máximo 100. (O cualquier número que no sea 100.)
Yuval Filmus

@YuvalFilmus, está bien. Digo, el término "NP completado" solo se usa cuando no hay símbolos no en blanco en la entrada o existe un número entero que es el número de símbolos entre el símbolo no en blanco más a la izquierda y el símbolo no en blanco más a la derecha . 100 sería un buen ejemplo.
Mike Samuel

Respuestas:


15

Si un problema finito es NP-completo, entonces P = NP, ya que cada problema finito tiene un algoritmo de tiempo polinómico (incluso un algoritmo de tiempo constante).

Cuando decimos que Sudoku es NP-complete, queremos decir que una versión generalizada de Sudoku jugada en un tablero es NP-complete.norte2×norte2

Finalmente, el problema de las 4 camarillas, aunque no es un problema finito (el gráfico de entrada tiene un tamaño ilimitado), es un problema fácil que tiene un algoritmo de tiempo polinómico.


Entonces, ¿el problema de las 4 camarillas es P ya que tiene un algoritmo de tiempo polinómico?
TheRapture87

1
@ Aceboy1993 Correcto, esa es la definición de P.
Yuval Filmus

Pero entonces, ¿por qué se considera que K-clique está en NP-Complete? ¿K no solo representa un número como 4?
TheRapture87

kk

Además, podemos demostrar que Clique es NP-complete.
Yuval Filmus

5

La declaración de su maestro es incorrecta o probablemente no lo escuchó correctamente. La afirmación correcta es

LEl |LEl |1PAG=nortePAG

PAGnortePAGEl |LEl |>1PAG=nortePAGPAGnortePAG

El sudoku o el ajedrez no son NP completos (como Yuval ha señalado), porque su entrada es de tamaño finito de tablero 9x9 u 8x8 (estoy hablando de las versiones de decisión, si el sudoku tiene una solución o si el ajedrez tiene una estrategia ganadora). En ajedrez, supongo que si repites una posición, se considera un empate.


0

Recordemos: Un problema X es NP-completo si cumple dos criterios:

a) Está en NP: es decir, cualquier solución adivinada de X puede verificarse en tiempo polinómico.

b) Está completo para NP - Es decir, cada problema Y en NP tiene una reducción de tiempo polinomial que traduce una instancia de Y a una instancia de X (de modo que cualquier programa de tiempo polinomial que resuelva X también resolvería Y en tiempo polinómico )

Podemos aceptar que un Sudoku 9x9 satisface (a). Es (b) donde las cosas se caen. De manera más general: los problemas (en NP o no) suelen tener instancias de tamaño N para valores arbitrariamente grandes de N ; ciertamente esto es cierto para los problemas conocidos en NP. Una reducción de tal problema a uno que tenga un tamaño de problema máximo posible no podría ser una reducción de instancia a instancia válida, porque la primera siempre tiene (infinitamente) más instancias que la segunda. Es por eso que Sudoku debe generalizarse a las matrices NxN antes de que uno pueda considerar la completitud NP.


1
Esto no es correcto. Es perfectamente posible tener una reducción válida de un problema con infinitas instancias a un problema con infinitas instancias. Por ejemplo, aquí hay una reducción de SAT al problema de determinar si una cadena de longitud 1 es igual a "a": si la instancia de SAT es satisfactoria, correlacione con la cadena "a"; de lo contrario, asigne la cadena "b". Ahora, esa reducción (probablemente) no es computable en tiempo polinómico, pero es una reducción perfectamente válida.
David Richerby
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.