La PizarraMatemática.

Máster y doctorado

Complejidad y demostraciones interactivas

Comprobar una solución puede ser mucho más sencillo que encontrarla. Una prueba interactiva añade otra posibilidad: hacer preguntas aleatorias a quien afirma conocer la respuesta. Veremos qué garantiza ese diálogo, frente a cualquier intento de engaño, y por qué importa ocultar la pregunta correcta.

1. El tamaño de entrada cuenta símbolos, no el valor que representan

Si una entrada binaria tiene longitud n, un algoritmo polinómico usa a lo sumo Cnᵏ pasos para constantes C,k independientes de la instancia. Enumerar hasta el valor del entero puede ser exponencial en su longitud.

La codificación de grafos también cuenta: una matriz de adyacencia tiene orden N² entradas para N vértices; una lista de aristas usa otra longitud. El coste de operar con enteros debe considerar sus bits si el modelo no los trata como palabras de tamaño fijo.

Un entero corto puede pedir una enumeración enorme

N=2²⁰.

  1. Valor

    Es 1.048.576.

  2. Escritura binaria

    Un uno seguido de veinte ceros: 21 bits.

  3. Bucle

    Hacer N iteraciones no es lineal en esos 21 bits; para N=2ᵐ escala exponencialmente con m.

Resultado

Se mide respecto de la longitud, no del valor numérico sin aclararlo.

Lo comprobamos

Un ejemplo finito no decide complejidad; la familia N=2ᵐ muestra la escala.

Cuadrático puede seguir siendo polinómico

Grafo de N vértices como matriz binaria N×N.

  1. Entrada

    Hay N² posiciones.

  2. Recorrer

    Leer la matriz cuesta orden N² operaciones de acceso.

  3. Respecto al tamaño

    Es lineal en el número de entradas de esa representación.

Resultado

La representación da sentido a la cuenta de recursos.

Lo comprobamos

No se cambia silenciosamente de N vértices a n bits en una cota.

2. Decisión, búsqueda y verificación son tareas diferentes

Una pregunta de decisión tiene respuesta sí o no: «¿existe una clique de tamaño k?». Búsqueda pide producirla. Verificación recibe una candidata y comprueba que cumple las condiciones. Una clique es un grupo de vértices distintos todos conectados entre sí.

P contiene decisiones resueltas por algoritmos deterministas polinómicos. NP permite certificar respuestas afirmativas con certificados de longitud polinómica y un verificador determinista polinómico.

P⊆NP; no se conoce si P=NP.

NP no significa «no polinómico».

Qué demuestra una lista candidata

Nos entregan vértices 1,3,4 y pedimos clique de tamaño tres.

  1. Decisión

    La pregunta era si existe alguna.

  2. Verificación

    Revisar esta lista puede confirmar una respuesta afirmativa.

  3. Búsqueda

    No se ha explicado cómo encontrar esa lista a partir del grafo.

Resultado

Un certificado sirve para comprobar una afirmación positiva.

Lo comprobamos

No encontrar rápidamente uno no demuestra que no exista.

Una negación cambia los cuantificadores

«No hay clique de tamaño tres».

  1. Afirmativa original

    Existe una terna cuyas tres aristas están presentes.

  2. Negación

    Para toda terna, al menos una arista falta.

  3. Consecuencia

    La lista de una terna concreta no certifica por sí sola esa afirmación universal.

Resultado

El tipo de certificado depende de lo que se afirma.

Lo comprobamos

No se concluye que toda negación sea imposible de verificar eficientemente.

3. El certificado debe cumplir pertenencia, distinción y aristas

Para k vértices se comprueba que cada etiqueta pertenezca al grafo, que no haya repeticiones y que cada par tenga arista. Hay k(k−1)/2 pares. Con matriz de adyacencia, cada consulta es directa; con otras representaciones se incluye su coste.

La lista usa orden k log N bits, con una convención estándar para etiquetas de N vértices. Primero se descartan k>N y formatos inválidos; no se concede una clique mayor repitiendo etiquetas.

Verificar una clique pequeña

En cuatro vértices, aristas {12,13,23,34}; candidata {1,2,3}.

  1. Etiquetas

    Son tres vértices distintos del grafo.

  2. Pares

    Se consultan 12,13 y 23: los tres están.

  3. Aceptar

    La candidata sí demuestra una clique de tamaño tres.

Resultado

Se han comprobado todas las condiciones de esa candidata.

Lo comprobamos

La arista 34 no afecta a esta terna.

Dos certificados que deben rechazarse

En ese grafo, candidatas {1,3,4} y {1,2,2}.

  1. Primera

    Le falta la arista 14.

  2. Segunda

    Repite el vértice 2; no tiene tres vértices distintos.

  3. Resultado

    Ninguna certifica una clique de tamaño tres.

Resultado

Comprobar solo algunas aristas puede dar una aceptación incorrecta.

Lo comprobamos

Para k=6 se requieren quince pares, además de validar las etiquetas.

4. Completitud y solidez tienen cuantificadores diferentes

Un probador envía mensajes a un verificador aleatorio de tiempo polinómico. En el marco clásico IP el probador puede tener cómputo ilimitado; el verificador, rondas y comunicación están acotados polinómicamente. El verificador puede usar bits privados.

Completitud: en entradas verdaderas existe un probador honesto que consigue alta aceptación. Solidez: en entradas falsas, cualquier probador, incluso adaptativo, tiene aceptación acotada. No basta que el diálogo funcione con un colaborador que siempre diga la verdad.

Distinguir quién está limitado

El verificador pregunta de qué grafo procede un mensaje oculto.

  1. Probador

    Puede investigar exhaustivamente todos los isomorfismos si hace falta.

  2. Verificador

    Solo genera el reto y comprueba la respuesta contra su bit privado.

  3. Recursos

    La eficiencia del probador no viene garantizada por este marco.

Resultado

Comprobar con ayuda no es dar un algoritmo rápido autónomo para toda tarea.

Lo comprobamos

Si se exigiera también probador eficiente habría que decirlo.

Por qué una prueba con un amigo no certifica solidez

Un protocolo acepta siempre lo que el probador responda.

  1. Verdad

    Un amigo honesto obtiene aceptación segura.

  2. Falsedad

    Un probador mentiroso también obtiene aceptación segura.

  3. Diagnóstico

    Hay completitud, pero falla la solidez.

Resultado

La garantía debe resistir a cualquier estrategia para entradas falsas.

Lo comprobamos

Una alta tasa de aceptación por sí sola no define una prueba fiable.

5. Un reto privado ilustra una prueba de no isomorfismo

Dos grafos son isomorfos si se convierten uno en otro renombrando vértices y conservando aristas. Para probar que G₀ y G₁ no son isomorfos, el verificador elige un bit b uniforme y una permutación π uniforme, y envía solo H=π(G_{b}). Guarda b y π en privado.

El reto oculta el bit, no la definición de los grafos
¿De qué grafo procede H?G₀: caminoG₁: estrellaVerificador guarda b y π.Solo H, el grafo renombradoVPRespuesta b′Aceptar si b′=b.No se envía el bit secreto.
Dos grafos de cuatro vértices y tres aristas: camino de grados dos dos uno uno y estrella de grados tres uno uno uno. Como los grados son invariantes bajo renombrado, sus copias son disjuntas y en este ejemplo es sencillo identificarlas. Abajo, el verificador V elige un bit uniforme y una permutación uniforme y los guarda; envía únicamente el grafo H renombrado al probador P. Este devuelve un bit y V lo compara con su secreto. El bit no se incluye en el mensaje. El protocolo general tiene solidez un medio cuando los dos grafos sí son isomorfos; no se asume dificultad computacional para este dibujo pequeño.

El probador contesta un bit b′.

Se acepta si b′=b.

Si los grafos no son isomorfos, sus conjuntos de copias etiquetadas son disjuntos y un probador sin límite puede identificar de cuál procede H: completitud perfecta.

Dos grafos no isomorfos con el mismo número de aristas

G₀ es el camino 1–2–3–4; G₁ tiene aristas 12,13,14.

  1. Grados

    El camino tiene grados 2,2,1,1; la estrella 3,1,1,1.

  2. Renombrar

    La secuencia de grados no cambia al renombrar.

  3. Responder

    Un probador distingue siempre sus copias por los grados.

Resultado

Aquí el reto se resuelve con una propiedad muy sencilla.

Lo comprobamos

El ejemplo pequeño no pretende ser difícil para el propio verificador.

Qué se envía y qué se oculta

Elegimos en privado b=1 y renombramos la estrella.

  1. Mensaje

    Solo el grafo renombrado H.

  2. Respuesta

    El probador devuelve b′, sin recibir b.

  3. Comprobación

    El verificador compara b′ con el bit que guardó.

Resultado

La distribución del mensaje es lo que analizaremos.

Lo comprobamos

Enviar también b haría que cualquiera acertase, incluso con una afirmación falsa.

6. Si los grafos son isomorfos, el mensaje no contiene el bit secreto

Para grafos isomorfos existe un renombrado fijo entre G₀ y G₁. Componer una permutación uniforme con ese renombrado conserva uniformidad. Por eso H tiene exactamente la misma distribución para b=0 y b=1.

Con el bit uniforme, observar H deja ambas posibilidades equiprobables. Ningún probador puede adivinarlo con probabilidad superior a 1/2. El razonamiento no presupone una heurística del adversario ni que le resulte costoso calcular: es una igualdad de distribuciones.

Contar copias de un camino de cuatro vértices

G₀ y G₁ son dos etiquetados del mismo camino.

  1. Permutaciones

    Hay 4!=24; invertir el camino conserva el grafo.
  2. Copias

    Hay doce grafos etiquetados distintos, cada uno producido por dos permutaciones.

  3. Comparar bits

    Cada copia tiene probabilidad 2/24=1/12 desde cualquiera de los dos originales.

Resultado

El mensaje H no permite distinguir cuál se eligió.

Lo comprobamos

Las copias no se cuentan como veinticuatro mensajes distintos si coinciden sus aristas.

La mejor regla tampoco supera una mitad

Para cada mensaje H, un probador responde un bit, quizá al azar.

  1. Condicionar

    P(b=0|H)=P(b=1|H)=1/2.
  2. Responder

    Si responde cero con probabilidad p, acierta (1/2)p+(1/2)(1−p)=1/2.
  3. Promediar

    La probabilidad total sigue siendo 1/2.

Resultado

La cota incluye cualquier cálculo o aleatoriedad del probador.

Lo comprobamos

Se usa que el reto no revela el bit ni la permutación privada.

7. La repetición necesita retos nuevos y una cota tras cada historial

Repetimos k veces con bits y permutaciones nuevos independientes y aceptamos solo si todas las rondas pasan. En una entrada falsa, incluso dado el historial y las respuestas anteriores, el siguiente bit sigue oculto por el mismo argumento.

La cota de cada ronda sigue valiendo dado el historial
Cada reto debe ser nuevoRonda 1: b₁ nuevo≤1/2Ronda 2: b₂ nuevo≤1/2Ronda 3: b₃ nuevoPasar todas: ≤(1/2)ᵏDiez rondas: ≤1/1024Repetir un mismo reto no basta.
Tres rondas de un protocolo para una entrada falsa, cada una con un nuevo bit y una nueva permutación privados independientes. Las flechas etiquetan la cota condicional de pasar la ronda siguiente, dado que se han superado las anteriores y cualquier historial del probador. Aceptar solo si todas pasan produce cota dos elevado a menos k, incluso si el probador adapta sus respuestas al pasado. Para diez rondas la cota es un mil veinticuatroavo. Si se reutilizan el mismo bit y reto, un probador que responde siempre cero supera todas con probabilidad un medio; las cotas marginales no se pueden multiplicar sin esa propiedad condicional.

Si cada aceptación falsa condicional es como máximo 1/2, la probabilidad de pasar todas es como máximo 2⁻ᵏ, por multiplicación de probabilidades condicionales. La respuesta del probador sí puede adaptarse al pasado; lo necesario es mantener la cota condicional.

Elegir el número de rondas

Queremos aceptación falsa como máximo 1/1000.

  1. Nueve

    2⁻⁹=1/512, todavía demasiado grande.
  2. Diez

    2⁻¹⁰=1/1024≤1/1000.
  3. Verdad

    El probador correcto sigue pasando todas las rondas del ejemplo no isomorfo.

Resultado

Diez rondas frescas bastan para esa cota.

Lo comprobamos

No se informa error cero ni certeza absoluta.

Repetir el mismo reto no multiplica garantías

Se usa diez veces el mismo bit oculto y el mismo H; el probador responde siempre cero.

  1. Una ronda

    Acierta con probabilidad 1/2.

  2. Diez juntas

    Todas aciertan si el único bit elegido fue cero: probabilidad 1/2.

  3. Condicionar

    Dado que pasó la primera, todas las siguientes pasan con probabilidad uno.

Resultado

Las cotas marginales 1/2 no autorizan concluir 1/1024.

Lo comprobamos

La frescura del reto sostiene el argumento, no solo contar mensajes repetidos.

8. El ejemplo no demuestra por sí solo toda la teoría de IP

El teorema clásico IP=PSPACE identifica estas pruebas interactivas de recursos polinómicos con decisiones realizables en espacio polinómico. Su demostración usa construcciones mucho más generales que el reto de grafos. No se deduce del pequeño ejemplo.

Solidez probabilística, argumentos basados en límites de cómputo y conocimiento cero son propiedades distintas. Tampoco una cota de aceptar una falsedad se convierte automáticamente en la probabilidad posterior de que una afirmación aceptada sea verdadera.

Distinguir espacio de tiempo

Un procedimiento usa n² celdas, pero puede volver a utilizarlas durante muchos pasos.

  1. Memoria

    La cota de espacio puede ser polinómica.

  2. Tiempo

    No se concluye que el número total de pasos sea polinómico.

  3. Teorema

    IP=PSPACE no dice que P=PSPACE ni que el probador sea eficiente.

Resultado

La igualdad de clases tiene recursos y modelos concretos.

Lo comprobamos

La teoría del ejemplo no elimina esas distinciones.

Una aceptación no trae una probabilidad posterior universal

En una población hipotética hay una afirmación verdadera y 999 falsas; completitud uno y aceptación falsa exactamente 1/1024.

  1. Pesos de aceptación

    Verdadera aporta 1; falsas aportan 999/1024 en unidades relativas iguales.

  2. Condicionar

    Entre aceptaciones, probabilidad de verdad=1/(1+999/1024)=1024/2023≈0,5062.
  3. Alcance

    El ejemplo usa esa población y esa tasa exacta; sin ellas solo teníamos una cota condicional.

Resultado

Solidez y probabilidad de verdad tras aceptar son preguntas diferentes.

Lo comprobamos

El cálculo no afirma que esa sea la distribución de problemas de un protocolo real.

Ahora lo resolvemos de principio a fin.

EJEMPLO RESUELTO 1

Tamaño de un certificado

En un grafo de n vértices, un certificado lista k vértices de una clique. ¿Cómo se verifica?

  1. Certificado

    Lista de k etiquetas de vértices.

  2. Validar

    Cada una debe pertenecer al grafo y las k deben ser distintas.

  3. Pares

    Revisar las k(k−1)/2 parejas.

  4. Aristas

    Cada pareja debe estar conectada; si falta una, se rechaza.

  5. Coste

    Con representación estándar, longitud de lista y estas consultas son polinómicas en la entrada válida.

  6. Comprobar

    Aceptar la lista no explica cómo encontrarla eficientemente.

Resultado

La verificación es polinómica para una representación estándar del grafo.

Lo comprobamos

Encontrar la clique no está resuelto por el hecho de poder comprobar una lista.

EJEMPLO RESUELTO 2

Reducir el error del protocolo

La probabilidad de engaño por ronda queda acotada por 1/2 y usamos diez rondas frescas aceptando solo si todas pasan. Calcula la cota.

  1. Hipótesis

    En cada ronda fresca, aceptación falsa condicional como máximo 1/2.

  2. Regla

    Se acepta solo si pasan todas.

  3. Multiplicar

    Diez factores de 1/2 dan (1/2)¹⁰.

  4. Potencia

    2¹⁰=1024.
  5. Cota

    Probabilidad de aceptación falsa≤1/1024.
  6. Comprobar

    El margen es positivo; repetir el mismo reto no justificaría esta cuenta.

Resultado

Probabilidad de aceptación falsa ≤1/1024.

Lo comprobamos

La cota no es cero y no debe describirse como certeza absoluta.

Los símbolos que hemos usado

Longitud de entrada
Número de símbolos de una codificación fijada.
P
Problemas de decisión resolubles en tiempo determinista polinómico.
NP
Problemas con certificados afirmativos de longitud polinómica verificables en tiempo polinómico.
Probador / verificador
Parte que intenta convencer / algoritmo eficiente que decide aceptar o rechazar.
Completitud
Una afirmación verdadera puede hacer aceptar al verificador con alta probabilidad mediante un probador apropiado.
Solidez
Una afirmación falsa tiene aceptación acotada frente a cualquier estrategia del probador.
IP
Clase definida por pruebas interactivas con verificador probabilístico y recursos polinómicos.

Ahora te toca a ti.

Tienes cinco ejercicios. Inténtalos; las pistas te ayudan si te atascas.

Practicar este tema →

Para ampliar