Ejemplo de testigo de longitud logarítmica que es más fácil de verificar que encontrar

12

Una observación fácil es que si un problema es decidible por un programa de no determinista en tiempo polinómico utilizando O ( log n ) bits de no deterministas (es decir, todos los testigos son logarítmicas de longitud), entonces A P .AO(logn)AP

Si uno hace la pregunta, "¿Es más fácil verificar un testigo que encontrar uno?" para tales problemas, y uno considera que todos los tiempos de ejecución polinomiales son equivalentes, entonces la respuesta es no, ya que uno puede encontrar tales testigos en tiempo polinomial buscando a través de todos los testigos potenciales.

Pero, ¿qué pasa si consideramos las distinciones detalladas entre tiempos de ejecución polinomiales? Me pregunto si hay un ejemplo concreto de un problema natural en que tenga testigos de longitud logarítmica que sean más fáciles de verificar que de encontrar, donde "más fácil" significa un menor tiempo de ejecución polinomial.P

Por ejemplo, los algoritmos conocidos para la coincidencia perfecta en gráficos toman tiempo polinómico, pero más de tiempo en un gráfico con n nodos. Pero dado un conjunto de n / 2 pares de nodos (un testigo), es fácil verificar a tiempo O ( n ) que es una coincidencia. Sin embargo, la coincidencia en sí misma requiere de Ω ( n ) bits para codificar.O(n)nn/2O(n)Ω(n)

¿Hay algún problema natural que logre una aceleración similar (aparente) en la verificación versus el hallazgo, en el que el testigo tiene una longitud logarítmica ?

Dave Doty
fuente
3
nΘ(n)logn1
O(logn)

Respuestas:

14

xn

O(n2)

log(n)iixixinO(nlogn)

Mikhail Rudoy
fuente
1
Bueno, básicamente estás "elevando" la diferencia entre la complejidad de comunicación no determinista y determinista (para la igualdad de dos cadenas) a una separación de TM de una cinta no determinista y determinista.
Ryan Williams el