En la teoría de la complejidad computacional , la clase IP (que significa Interactive Proof ) es la clase de problemas que se pueden resolver mediante un sistema de pruebas interactivas . Es igual a la clase PSPACE . El resultado se estableció en una serie de artículos: el primero de Lund, Karloff, Fortnow y Nisan mostró que el co-NP tenía múltiples pruebas interactivas con probadores; [1] y el segundo, de Shamir, empleó su técnica para establecer que IP=PSPACE. [2] El resultado es un ejemplo famoso en el que la prueba no relativiza . [3]
El concepto de un sistema de prueba interactivo fue introducido por primera vez por Shafi Goldwasser , Silvio Micali y Charles Rackoff en 1985. Un sistema de prueba interactivo consta de dos máquinas, un probador, P , que presenta una prueba de que una cadena dada n es miembro de algún lenguaje , y un verificador, V , que verifica que la prueba presentada sea correcta. Se supone que el probador es infinito en computación y almacenamiento, mientras que el verificador es una máquina de tiempo polinomial probabilística con acceso a una cadena de bits aleatoria cuya longitud es polinomial en el tamaño de n . Estas dos máquinas intercambian un número polinomial, p ( n ), de mensajes y una vez que se completa la interacción, el verificador debe decidir si n está o no en el lenguaje, con solo una probabilidad de error de 1/3. (Por lo tanto, cualquier lenguaje en BPP está en IP , ya que entonces el verificador podría simplemente ignorar al probador y tomar la decisión por su cuenta).
Un lenguaje L pertenece a IP si existen V , P tales que para todo Q , w :
El protocolo Arthur-Merlin , introducido por László Babai , es de naturaleza similar, excepto que el número de rondas de interacción está limitado por una constante en lugar de un polinomio.
Goldwasser et al. han demostrado que los protocolos de moneda pública , en los que los números aleatorios utilizados por el verificador se proporcionan al probador junto con los desafíos, no son menos poderosos que los protocolos de moneda privada. Se requieren como máximo dos rondas adicionales de interacción para replicar el efecto de un protocolo de moneda privada. La inclusión opuesta es sencilla, porque el verificador siempre puede enviar al probador los resultados de sus lanzamientos de moneda privados, lo que demuestra que los dos tipos de protocolos son equivalentes.
En la siguiente sección demostramos que IP = PSPACE , un teorema importante en complejidad computacional, que demuestra que se puede utilizar un sistema de prueba interactivo para decidir si una cadena es miembro de un lenguaje en tiempo polinomial, aunque la prueba PSPACE tradicional pueda ser exponencialmente larga.
La prueba se puede dividir en dos partes, mostramos que IP ⊆ PSPACE y PSPACE ⊆ IP .
Para demostrar que IP ⊆ PSPACE , presentamos una simulación de un sistema de prueba interactivo mediante una máquina espacial polinómica. Ahora, podemos definir:
y para cada 0 ≤ j ≤ p y cada historial de mensajes M j , definimos inductivamente la función N M j :
dónde:
donde Pr r es la probabilidad tomada sobre la cadena aleatoria r de longitud p . Esta expresión es el promedio de N M j+1 , ponderado por la probabilidad de que el verificador haya enviado el mensaje m j+1 .
Tome M 0 como la secuencia de mensajes vacía, aquí demostraremos que N M 0 se puede calcular en el espacio polinomial, y que N M 0 = Pr[ V acepta w ]. Primero, para calcular N M 0 , un algoritmo puede calcular recursivamente los valores N M j para cada j y M j . Dado que la profundidad de la recursión es p , solo es necesario el espacio polinomial. El segundo requisito es que necesitamos N M 0 = Pr[ V acepta w ], el valor necesario para determinar si w está en A. Usamos inducción para probar esto de la siguiente manera.
Debemos demostrar que para cada 0 ≤ j ≤ p y cada M j , N M j = Pr[ V acepta w a partir de M j ], y lo haremos mediante inducción sobre j . El caso base es demostrar para j = p . Luego, utilizaremos la inducción para ir desde p hasta 0.
El caso base de j = p es bastante simple. Dado que m p es aceptado o rechazado, si m p es aceptado, N M p se define como 1 y Pr[ V acepta w a partir de M j ] = 1, ya que el flujo de mensajes indica aceptación, por lo que la afirmación es verdadera. Si m p es rechazado, el argumento es muy similar.
Para la hipótesis inductiva, suponemos que para algún j +1 ≤ p y cualquier secuencia de mensajes M j+1 , N M j+1 = Pr[ V acepta w a partir de M j+1 ] y luego demostramos la hipótesis para j y cualquier secuencia de mensajes M j .
Si j es par, m j+1 es un mensaje de V a P . Por la definición de N M j ,
Entonces, por la hipótesis inductiva, podemos decir que esto es igual a
Finalmente, por definición, podemos ver que esto es igual a Pr[ V acepta w comenzando en M j ].
Si j es impar, m j+1 es un mensaje de P a V. Por definición,
Entonces, por la hipótesis inductiva, esto es igual a
Esto es igual a Pr[ V acepta w a partir de M j ] ya que:
porque el demostrador del lado derecho podría enviar el mensaje m j+1 para maximizar la expresión del lado izquierdo. Y:
Dado que el mismo Probador no puede hacer nada mejor que enviar el mismo mensaje, esto se cumple independientemente de que i sea par o impar y la prueba de que IP ⊆ PSPACE está completa.
Aquí hemos construido una máquina de espacio polinomial que utiliza el mejor demostrador P para una cadena particular w en el lenguaje A. Utilizamos este mejor demostrador en lugar de un demostrador con bits de entrada aleatorios porque podemos probar cada conjunto de bits de entrada aleatorios en el espacio polinomial. Como hemos simulado un sistema de prueba interactivo con una máquina de espacio polinomial, hemos demostrado que IP ⊆ PSPACE , como se deseaba.
Para ilustrar la técnica que se utilizará para demostrar que PSPACE ⊆ IP , primero demostraremos un teorema más débil, que fue demostrado por Lund, et al.: #SAT ∈ IP . Luego, utilizando los conceptos de esta prueba, lo ampliaremos para mostrar que TQBF ∈ IP . Dado que TQBF ∈ PSPACE -completo y TQBF ∈ IP , entonces PSPACE ⊆ IP .
Comenzamos mostrando que #SAT está en IP , donde:
Tenga en cuenta que esto es diferente de la definición normal de #SAT , ya que es un problema de decisión, en lugar de una función.
Primero usamos aritmetización para mapear la fórmula booleana con n variables, φ( b 1 , ..., b n ) a un polinomio p φ ( x 1 , ..., x n ), donde p φ imita a φ en que p φ es 1 si φ es verdadero y 0 en caso contrario siempre que a las variables de p φ se les asignen valores booleanos. Las operaciones booleanas ∨, ∧ y ¬ utilizadas en φ se simulan en p φ reemplazando los operadores en φ como se muestra en la tabla a continuación.
A modo de ejemplo, se convertiría en un polinomio de la siguiente manera:
Las operaciones ab y a ∗ b dan como resultado cada una un polinomio con un grado limitado por la suma de los grados de los polinomios para a y b y, por lo tanto, el grado de cualquier variable es como máximo la longitud de φ.
Sea ahora F un cuerpo finito con orden q > 2 n ; exija también que q sea al menos 1000. Para cada 0 ≤ i ≤ n , defina una función f i en F , que tenga parámetros , y una única variable : Para 0 ≤ i ≤ n y para sea
Tenga en cuenta que el valor de f 0 es el número de asignaciones satisfactorias de φ. f 0 es una función vacía, sin variables.
Ahora el protocolo para #SAT funciona de la siguiente manera:
Tenga en cuenta que este es un algoritmo de moneda pública.
Si φ tiene k asignaciones satisfactorias, claramente V lo aceptará. Si φ no tiene k asignaciones satisfactorias, suponemos que hay un probador que intenta convencer a V de que φ sí tiene k asignaciones satisfactorias. Demostramos que esto solo se puede hacer con baja probabilidad.
Para evitar que V rechace en la fase 0, debe enviar un valor incorrecto a P . Luego, en la fase 1, debe enviar un polinomio incorrecto con la propiedad de que . Cuando V elige un r 1 aleatorio para enviar a P ,
Esto se debe a que un polinomio en una sola variable de grado d como máximo no puede tener más de d raíces (a menos que siempre evalúe a 0). Por lo tanto, dos polinomios cualesquiera en una sola variable de grado d como máximo pueden ser iguales solo en d lugares. Como | F | > 2 n las probabilidades de que r 1 sea uno de estos valores son como máximo si n > 10, o como máximo ( n /1000) ≤ ( n / n 3 ) si n ≤ 10.
Generalizando esta idea para las demás fases tenemos para cada 1 ≤ i ≤ n si
entonces para r i elegido aleatoriamente de F ,
Existen n fases, por lo que la probabilidad de que sea afortunada porque V selecciona en alguna etapa un r i conveniente es como máximo 1/ n . Por lo tanto, ningún demostrador puede hacer que el verificador acepte con una probabilidad mayor que 1/ n . También podemos ver a partir de la definición que el verificador V opera en tiempo polinomial probabilístico. Por lo tanto, #SAT ∈ IP .
Para demostrar que PSPACE es un subconjunto de IP , debemos elegir un problema PSPACE-completo y demostrar que está en IP . Una vez que demostremos esto, queda claro que PSPACE ⊆ IP . La técnica de prueba que se muestra aquí se atribuye a Adi Shamir .
Sabemos que TQBF está en PSPACE-Complete . Por lo tanto, sea ψ una expresión booleana cuantificada:
donde φ es una fórmula CNF. Entonces Q i es un cuantificador, ya sea ∃ o ∀. Ahora f i es lo mismo que en la prueba anterior, pero ahora también incluye cuantificadores.
Aquí, φ( a 1 , ..., a i ) es φ con a 1 a a i sustituido por x 1 a x i . Por lo tanto, f 0 es el valor de verdad de ψ. Para aritmetizar ψ debemos utilizar las siguientes reglas:
donde como antes definimos x ∗ y = 1 − (1 − x )(1 − y ).
Al utilizar el método descrito en #SAT, nos enfrentamos a un problema en el que, para cualquier f i, el grado del polinomio resultante puede duplicarse con cada cuantificador. Para evitarlo, debemos introducir un nuevo operador de reducción R que reducirá los grados del polinomio sin cambiar su comportamiento en las entradas booleanas.
Ahora bien, antes de realizar la aritmética, introducimos una nueva expresión:
o dicho de otra manera:
Ahora, para cada i ≤ k, definimos la función f i . También la definimos como el polinomio p ( x 1 , ..., x m ) que se obtiene al aritmetizar φ. Ahora, para mantener bajo el grado del polinomio, definimos f i en términos de f i+1 :
Ahora podemos ver que la operación de reducción R no cambia el grado del polinomio. También es importante ver que la operación R x no cambia el valor de la función en entradas booleanas. Por lo tanto, f 0 sigue siendo el valor de verdad de ψ, pero el valor R x produce un resultado que es lineal en x . Además, después de cualquier sumamos ψ′ para reducir el grado a 1 después de aritmetizar .
Ahora describamos el protocolo. Si n es la longitud de ψ, todas las operaciones aritméticas del protocolo se realizan sobre un campo de tamaño al menos n 4 , donde n es la longitud de ψ.
V utiliza coeficientes para evaluar y . Luego verifica que el grado del polinomio sea como máximo n y que las siguientes identidades sean verdaderas:
Si alguno falla, rechácelo.
V → P : V elige un r aleatorio en F y lo envía a P. (Si entonces este r reemplaza al r anterior ).
Pasamos a la fase i + 1 donde P debe convencer a V de que tiene razón.
Este es el final de la descripción del protocolo.
Si ψ es verdadero, entonces V aceptará cuando P siga el protocolo. Del mismo modo, si es un demostrador malicioso que miente, y si ψ es falso, entonces necesitará mentir en la fase 0 y enviar algún valor para f 0 . Si en la fase i , V tiene un valor incorrecto para entonces y probablemente también será incorrecto, y así sucesivamente. La probabilidad de tener suerte en algún r aleatorio es como máximo el grado del polinomio dividido por el tamaño del campo: . El protocolo se ejecuta a través de O ( n 2 ) fases, por lo que la probabilidad de que tenga suerte en alguna fase es ≤ 1/ n . Si nunca tiene suerte, entonces V rechazará en la fase k +1.
Como hemos demostrado que tanto IP ⊆ PSPACE como PSPACE ⊆ IP , podemos concluir que IP = PSPACE como se deseaba. Además, hemos demostrado que cualquier algoritmo IP puede considerarse moneda pública, ya que la reducción de PSPACE a IP tiene esta propiedad.
Existen diversas variantes de IP que modifican ligeramente la definición del sistema de prueba interactivo. Aquí resumimos algunas de las más conocidas.
Un subconjunto de IP es la clase determinista Interactive Proof , que es similar a IP pero tiene un verificador determinista (es decir, sin aleatoriedad). Esta clase es igual a NP .
Una definición equivalente de IP reemplaza la condición de que la interacción tenga éxito con alta probabilidad en las cadenas del lenguaje con el requisito de que siempre tenga éxito:
Este criterio aparentemente más fuerte de "completitud perfecta" no cambia la clase de complejidad IP , ya que a cualquier lenguaje con un sistema de prueba interactivo se le puede dar un sistema de prueba interactivo con completitud perfecta. [4]
En 1988, Goldwasser et al. crearon un sistema de prueba interactivo aún más poderoso basado en IP llamado MIP en el que hay dos probadores independientes. Los dos probadores no pueden comunicarse una vez que el verificador ha comenzado a enviarles mensajes. Así como es más fácil saber si un criminal está mintiendo si él y su compañero son interrogados en habitaciones separadas, es considerablemente más fácil detectar a un probador malicioso que intenta engañar al verificador si hay otro probador con el que puede verificar. De hecho, esto es tan útil que Babai, Fortnow y Lund pudieron demostrar que MIP = NEXPTIME , la clase de todos los problemas que puede resolver una máquina no determinista en tiempo exponencial , una clase muy grande. Además, todos los lenguajes en NP tienen pruebas de conocimiento cero en un sistema MIP , sin ningún supuesto adicional; esto solo se conoce para IP asumiendo la existencia de funciones unidireccionales.
IPP ( IP sin límites ) es una variante de IP en la que reemplazamos el verificador BPP por un verificador PP . Más precisamente, modificamos las condiciones de integridad y solidez de la siguiente manera:
Aunque IPP también es igual a PSPACE , los protocolos IPP se comportan de manera bastante diferente a IP con respecto a los oráculos : IPP = PSPACE con respecto a todos los oráculos, mientras que IP ≠ PSPACE con respecto a casi todos los oráculos. [5]
QIP es una versión de IP que reemplaza al verificador BPP por un verificador BQP , donde BQP es la clase de problemas que pueden resolver los ordenadores cuánticos en tiempo polinomial. Los mensajes están compuestos por qubits. [6] En 2009, Jain, Ji, Upadhyay y Watrous demostraron que QIP también es igual a PSPACE , [7] lo que implica que este cambio no otorga potencia adicional al protocolo. Esto subsume un resultado previo de Kitaev y Watrous de que QIP está contenido en EXPTIME porque QIP = QIP [3], por lo que nunca son necesarias más de tres rondas. [8]
Mientras que IPP y QIP otorgan más poder al verificador, un sistema compIP ( sistema de prueba de IP competitivo ) debilita la condición de completitud de una manera que debilita al probador:
Básicamente, esto convierte al probador en una máquina BPP con acceso a un oráculo para el lenguaje, pero solo en el caso de completitud, no en el caso de solidez. El concepto es que si un lenguaje está en compIP , entonces probarlo interactivamente es en cierto sentido tan fácil como decidirlo. Con el oráculo, el probador puede resolver fácilmente el problema, pero su poder limitado hace que sea mucho más difícil convencer al verificador de algo. De hecho, ni siquiera se sabe o se cree que compIP contenga NP .
Por otra parte, un sistema de este tipo puede resolver algunos problemas que se consideran difíciles. Resulta un tanto paradójico que, aunque no se crea que un sistema de este tipo pueda resolver todos los problemas NP , pueda resolver fácilmente todos los problemas NP-completos debido a la autorreducibilidad. Esto se debe al hecho de que si el lenguaje L no es NP -duro, el demostrador tiene un poder sustancialmente limitado (ya que ya no puede decidir todos los problemas NP con su oráculo).
Además, el problema de no isomorfismo de grafos (que es un problema clásico en IP ) también está en compIP , ya que la única operación difícil que el probador tiene que hacer es la prueba de isomorfismo, que puede usar el oráculo para resolver. La no-residuosidad cuadrática y el isomorfismo de grafos también están en compIP . [9] Nótese que la no-residuosidad cuadrática (QNR) es probablemente un problema más fácil que el isomorfismo de grafos ya que QNR está en UP intersect co-UP . [10]
{{cite journal}}
: CS1 maint: multiple names: authors list (link)