Un colega mío y yo acabamos de tocar algunas notas de uno de nuestros profesores. Las notas indican que hay tareas que son posibles de resolver en tiempo polinomial (están en la clase de PF) pero que NO son verificables en tiempo polinomial (NO están en la clase de NPF).
Para elaborar sobre estas clases: obtenemos algo de entrada X y producimos algo de salida Y de tal manera que (X, Y) están en relación con R que representan nuestra tarea. Si es posible obtener Y para X en tiempo polinómico, la tarea pertenece a la clase de PF. Si es posible verificar el certificado de longitud polinómica Z que demuestra que una tupla (X, Y) está en relación con R en tiempo polinómico, la tarea pertenece a la clase de NPF.
No estamos hablando de problemas de decisión, donde la respuesta es simplemente SÍ o NO (más formalmente si alguna cadena pertenece a algún idioma). Para problemas de decisión, parece que PF es un subconjunto adecuado de NPF. Sin embargo, para otras tareas puede ser diferente.
¿Conoces una tarea que pueda resolverse en tiempo polinómico pero no verificada en tiempo polinómico?
fuente
Respuestas:
Esto solo es posible si hay muchas salidas admisibles para una entrada dada. Es decir, cuando la relación no es una función porque viola la unicidad.R
Por ejemplo, considere este problema:
Resolver esto es trivial: continúe agregando algunos estados redundantes al TM , posiblemente con algunas transiciones ficticias entre ellos, hasta que su codificación exceda n . Esta es una aplicación básica repetida de Padding Lemma en TMs. Esto requerirá n rellenos, cada uno de los cuales puede agregar un estado, por lo tanto, se puede hacer en tiempo polinómico.M n n
Por otra parte, dado es undecidable para comprobar si N es una salida correcta para las entradas de n , M . De hecho, verificar L ( M ) = L ( N ) es indecidible (aplicar el teorema de Rice), y la restricción # N > n solo descarta finitamente muchos N s de esos. Como eliminamos una cantidad finita de elementos de un problema indecidible, aún obtenemos un problema indecidible.n,M,N N n,M L(M)=L(N) #N>n N
También puede reemplazar la propiedad indecidible para obtener variaciones que todavía son computables pero NP duras / completas. Por ejemplo, dado n (en unario) es trivial calcular una gráfica G que tiene una n -clique dentro. Pero dado n , G es difícil verificar si existe una n -clique.L(M)=L(N) n G n n,G n
fuente
Esto es simplemente una elaboración de la primera oración de la respuesta de @ chi, ya que no lo encontré obvio.
La idea es que si tiene un algoritmo que encuentra la respuesta a algún problema en tiempo polinómico, entonces hay dos posibilidades:
Anteriormente ha demostrado (matemáticamente) que la salida del algoritmo es una solución al problema, en cuyo caso, los pasos del algoritmo en sí mismos constituyen la prueba de corrección.
Tiene un algoritmo diferente para verificar que la salida es realmente una solución, en cuyo caso debe estar ejecutando este algoritmo (de lo contrario, estaría en el caso n. ° 1), lo que implica que lo está haciendo en tiempo polinómico.
Por lo tanto, no puede haber tal problema.
fuente