Articulo de referencia

Pruebas de propiedad

La comprobación de propiedades es un campo de la informática teórica que se ocupa del diseño de algoritmos ultrarrápidos para la toma de decisiones aproximadas, donde la decisió...

La comprobación de propiedades es un campo de la informática teórica que se ocupa del diseño de algoritmos ultrarrápidos para la toma de decisiones aproximadas, donde la decisión se refiere a propiedades o parámetros de objetos enormes. [ 1 ]

Un algoritmo de prueba de propiedades para un problema de decisión es un algoritmo cuya complejidad de consulta (el número de consultas realizadas a su entrada) es mucho menor que el tamaño de la instancia del problema. Típicamente, los algoritmos de prueba de propiedades se utilizan para determinar si alguna estructura combinatoria S (como un grafo o una función booleana ) satisface alguna propiedad P , o está "lejos" de tener esta propiedad (lo que significa que una fracción ε de la representación de S debe modificarse para que S satisfaga P ), utilizando solo un pequeño número de consultas "locales" al objeto. [ 2 ] [ 3 ]

Por ejemplo, el siguiente problema de promesa admite un algoritmo cuya complejidad de consulta es independiente del tamaño de la instancia (para una constante arbitraria ε > 0 ):

"Dado un grafo con n vértices, decide si es bipartito o si no puede convertirse en bipartito incluso después de eliminar un subconjunto arbitrario de como máximo ε n 2 aristas."

Los algoritmos de prueba de propiedades son fundamentales para la definición de pruebas verificables probabilísticamente , ya que una prueba verificable probabilísticamente es esencialmente una prueba que puede ser verificada mediante un algoritmo de prueba de propiedades.

Definición y variantes

Formalmente, un algoritmo de prueba de propiedades con complejidad de consulta q ( n ) y parámetro de proximidad ε para un problema de decisión L es un algoritmo aleatorio que, sobre la entrada x (una instancia de L ) realiza como máximo q ( | x | ) consultas a x y se comporta de la siguiente manera:

  • Si x está en L , entonces el algoritmo acepta x con una probabilidad de al menos 2/3.
  • Si x está a una distancia ε de L , entonces el algoritmo rechaza x con una probabilidad de al menos 2/3.

Aquí, " x está a ε-distancia de L " significa que la distancia de Hamming entre x y cualquier cadena en L es al menos ε | x | .

Se dice que un algoritmo de prueba de propiedades tiene un error unilateral si satisface la condición más fuerte de que la probabilidad de aceptación para instancias x L sea 1 en lugar de 2/3.

Se dice que un algoritmo de prueba de propiedades no es adaptativo si realiza todas sus consultas antes de "observar" las respuestas a consultas anteriores. Dicho algoritmo puede considerarse que opera de la siguiente manera: Primero, el algoritmo recibe su entrada. Antes de examinar la entrada, utilizando su aleatoriedad interna, el algoritmo decide qué símbolos de la entrada se consultarán. A continuación, el algoritmo observa estos símbolos. Finalmente, sin realizar consultas adicionales (pero posiblemente utilizando su aleatoriedad), el algoritmo decide si acepta o rechaza la entrada. [ 2 ]

Características y limitaciones

El principal parámetro de eficiencia de un algoritmo de prueba de propiedades es su complejidad de consulta, que es el número máximo de símbolos de entrada inspeccionados sobre todas las entradas de una longitud dada (y todas las elecciones aleatorias realizadas por el algoritmo). Los informáticos están interesados ​​en diseñar algoritmos cuya complejidad de consulta sea lo más pequeña posible. En muchos casos, el tiempo de ejecución de los algoritmos de prueba de propiedades es sublineal con respecto a la longitud de la instancia. Por lo general, el objetivo es primero hacer que la complejidad de consulta sea lo más pequeña posible en función del tamaño de la instancia n , y luego estudiar la dependencia del parámetro de proximidad ε .

A diferencia de otros entornos de teoría de la complejidad, la complejidad asintótica de las consultas de los algoritmos de prueba de propiedades se ve afectada drásticamente por la representación de las instancias. Por ejemplo, cuando ε = 0,01 , el problema de probar la bipartición de grafos densos (que se representan mediante su matriz de adyacencia ) admite un algoritmo de complejidad de consulta constante. En cambio, los grafos dispersos en n vértices (que se representan mediante su lista de adyacencia ) requieren algoritmos de prueba de propiedades con una complejidad de consulta Ω ( n 1/2 ) .

La complejidad de consulta de los algoritmos de prueba de propiedades crece a medida que el parámetro de proximidad ε se hace más pequeño para todas las propiedades no triviales. Esta dependencia de ε es necesaria, ya que un cambio de menos de ε símbolos en la entrada no se puede detectar con probabilidad constante usando menos de O (1/ ε ) consultas. Muchas propiedades interesantes de los grafos densos se pueden probar usando una complejidad de consulta que depende solo de ε y no del tamaño del grafo n . Sin embargo, la complejidad de consulta puede crecer enormemente rápido como función de ε . Por ejemplo, durante mucho tiempo, el mejor algoritmo conocido para probar si un grafo no contiene ningún triángulo tenía una complejidad de consulta que es una función torre de poli(1/ ε ) , y solo en 2010 se mejoró a una función torre de log(1/ ε ) . Una de las razones de este enorme aumento en los límites es que muchos de los resultados positivos para la verificación de propiedades de grafos se establecen utilizando el lema de regularidad de Szemerédi , que también incluye límites de tipo torre en sus conclusiones. La conexión entre la verificación de propiedades, el lema de regularidad de Szemerédi y los lemas relacionados de eliminación de grafos se explica con más detalle a continuación.

Prueba de las propiedades del gráfico

Para un grafo G con n vértices, la noción de distancia que utilizaremos es la distancia de edición . Es decir, decimos que la distancia entre dos grafos es la menor ε tal que se pueden añadir o eliminar ε n 2 aristas y pasar del primer grafo al segundo. Bajo una representación razonable de grafos, esto es equivalente a la definición anterior de distancia de Hamming (salvo un posible cambio de constantes).

Para precisar las nociones generales de prueba de propiedades en el contexto de grafos, decimos que un probador de la propiedad P de un grafo debe distinguir con al menos dos tercios de probabilidad entre los casos en que G satisface P y los casos en que G está a ε -distancia de edición de satisfacer P. El probador puede acceder a un oráculo para consultar si un par de vértices tiene una arista entre ellos en G o no. La complejidad de la consulta es el número de dichas consultas al oráculo. Decimos que el probador tiene un error unilateral si tiene falsos positivos y no falsos negativos, es decir, si G satisface P , el probador siempre produce la respuesta correcta. [ 4 ] [ 5 ]

Solo podemos diferenciar entre grafos que satisfacen P y aquellos que están lejos de P , en lugar de satisfacer P y no satisfacerla . En este último caso, consideremos dos grafos: G, que satisface P, y H, que no la satisface, modificando solo unas pocas aristas. Un ejemplo es comprobar si un grafo H tiene exactamente un triángulo y G tiene una de estas aristas eliminada. En ese caso, el evaluador no puede distinguirlos a menos que consulte cada arista, lo cual es imposible.

Breve historia

El campo de la comprobación de propiedades de grafos fue introducido por primera vez por Goldreich, Goldwasser y Ron. En su artículo fundamental publicado en 1998, se analiza un problema abstracto de partición de grafos y se proporcionan algunos comprobadores. Estos incluyen como casos especiales varias propiedades importantes de grafos, como la bipartición , la k -colorabilidad , tener una gran camarilla y tener un gran corte . [ 4 ] En particular, los algoritmos naturales que muestrean un subgrafo y comprueban si satisface la propiedad son todos correctos, aunque con complejidades de consulta posiblemente subóptimas.

Desde entonces se han realizado varios descubrimientos relacionados.

  • En 1992, Alon, Duke, Lefmann, Rödl y Yuster demostraron que para cada grafo H , la propiedad de no contener a H como subgrafo es comprobable. [ 6 ]
  • En 1999, Alon, Fischer, Krivelevich y Szegedy demostraron que para cada grafo H , la propiedad de no contener H como subgrafo inducido es comprobable. [ 7 ]
  • En 2005, Alon y Shapira demostraron que cualquier propiedad monótona de un grafo (una que se conserva bajo la eliminación de vértices y aristas) se puede comprobar con un error unilateral. [ 8 ]
  • En 2008, Alon y Shapira presentaron probadores con error unilateral para todas las propiedades hereditarias de grafos. También caracterizaron propiedades que son fáciles de probar. Es decir, estas propiedades naturales son semihereditarias . Estas afirmaciones se aclararán más adelante. [ 2 ]

Prueba de propiedades de grafos hereditarios

Una propiedad de un grafo es hereditaria si se conserva al eliminar vértices o, equivalentemente, si se conserva al tomar subgrafos inducidos . Algunas propiedades hereditarias importantes son la ausencia de H (para algún grafo H ), la k -colorabilidad y la planaridad . Todas las propiedades hereditarias son comprobables.

Teorema (Alon y Shapira 2008). Toda propiedad hereditaria de un grafo es comprobable con error unilateral. [ 2 ]

La demostración se basa en una versión del lema de eliminación de grafos para familias infinitas de subgrafos inducidos. La complejidad de la consulta utilizando este enfoque de regularidad es grande debido a la cota de la función torre en el lema de regularidad de Szemerédi .

Teorema (Lema de eliminación de grafos infinitos). Para cada conjunto (posiblemente infinito) de grafos H y ε > 0 , existen h 0 y δ > 0 tales que, si G es un grafo de n vértices con menos de δ n v ( H ) copias de H para cada H H con como máximo h 0 vértices, entonces G puede hacerse H -libre inducido añadiendo/eliminando menos de ε n 2 aristas. [ 9 ]

Evaluadores despistados

De manera informal, un probador despistado desconoce el tamaño de la entrada. Para una propiedad de grafo P , es un algoritmo que toma como entrada un parámetro ε y un grafo G , y luego se ejecuta como un algoritmo de prueba de propiedades en G para la propiedad P con parámetro de proximidad ε que realiza exactamente q ( ε ) consultas a G.

Definición. Un probador ciego es un algoritmo que toma como entrada un parámetro ε . Calcula un entero q ( ε ) y luego solicita a un oráculo un subgrafo inducido H con exactamente q ( ε ) vértices de G elegidos uniformemente al azar. Luego acepta o rechaza (posiblemente al azar) según ε y H. Decimos que prueba la propiedad P si acepta con una probabilidad de al menos 2/3 para G que tiene la propiedad P , y rechaza con una probabilidad de al menos 2/3 para G que está a ε -distancia de tener la propiedad P. [ 2 ] [ 1 ] [ 10 ]

Fundamentalmente, el número de consultas que realiza un evaluador desprevenido es una constante que depende únicamente de ε y no del tamaño del grafo de entrada G. En completa analogía con los algoritmos de prueba de propiedades, podemos hablar de evaluadores desprevenidos con error unilateral.

Prueba de propiedades de grafos semihereditarios

Podemos idear algunas propiedades del grafo para las cuales un evaluador debe acceder al número de vértices.

Ejemplo. Un grafo G satisface la propiedad P si es bipartito con un número par de vértices o perfecto con un número impar de vértices. [ 2 ]

En este caso, el evaluador ni siquiera puede diferenciar qué propiedad (bipartición o perfección) debe comprobar a menos que conozca el número de vértices. Existen numerosos ejemplos de propiedades tan inusuales. De hecho, la caracterización de las propiedades de grafos que puede comprobar un evaluador sin conocimiento previo del problema y con un error unilateral da lugar a una clase de propiedades naturales.

Definición. Una propiedad de grafo H es semihereditaria si existe una propiedad de grafo hereditaria H tal que cualquier grafo que satisfaga P satisface H , y para cada ε > 0 , existe un M ( ε ) tal que todo grafo de tamaño al menos M ( ε ) que esté a ε -distancia de satisfacer P contiene un subgrafo inducido que no satisface H. [ 2 ]

De manera trivial, las propiedades hereditarias también son semihereditarias. Esta caracterización responde parcialmente a la inversa del otro teorema de Alon y Shapira mencionado anteriormente: las propiedades que son fáciles de probar (que tienen evaluadores inconscientes con error unilateral) son casi hereditarias. En el mismo artículo, demostraron que

Teorema (Alon y Shapira 2008). Una propiedad gráfica P tiene un probador de errores unilateral ajeno si y solo si P es semihereditaria. [ 2 ]

Ejemplos: prueba de algunas propiedades de un gráfico

En esta sección, presentaremos algunos algoritmos de prueba naturales y ajenos a la lógica, con error unilateral, para la ausencia de triángulos , la bipartición y la k- colorabilidad . Son naturales en el sentido de que seguimos la idea natural de muestrear aleatoriamente un subconjunto X de vértices de G y comprobar si la propiedad del grafo se cumple en el subgrafo generado por X mediante una búsqueda exhaustiva . Tenemos un error unilateral, ya que estas propiedades son hereditarias: si G satisface la propiedad, también debe hacerlo el subgrafo generado por X , por lo que nuestro algoritmo de prueba siempre la acepta.

Para la ausencia de triángulos , el probador es una aplicación del lema de eliminación de triángulos . En particular, nos dice que si el grafo G está ε -lejos de estar libre de triángulos, entonces hay una constante (computable) δ = δ ( ε ) tal que G tiene al menos δ n 3 triángulos.

Ejemplo (Algoritmo de prueba de ausencia de triángulos).

  1. Dado el grafo G , elija un conjunto aleatorio X de q ( ε ) = 1/ δ tríos de vértices de forma independiente y aleatoria, donde δ es como se indicó anteriormente.
  2. Para cada triplete de vértices en X , consulte si los tres pares de vértices son adyacentes en G.
  3. El algoritmo acepta si ninguna tripleta de vértices induce un triángulo, y rechaza en caso contrario. [ 1 ]

Para la bipartición y la k- colorabilidad , sea δ el límite superior deseado para la probabilidad de error en los siguientes evaluadores. Cabe señalar que la complejidad de la consulta no debe confundirse con el tiempo de ejecución. Este último suele ser exponencial (como ocurre en ambos casos) debido a la falta de un algoritmo de decisión de tiempo polinomial para evaluar la propiedad en el subgrafo inducido. En su lugar, realizamos una búsqueda por fuerza bruta . [ 4 ]

Ejemplo (Algoritmo de prueba bipartita).

  1. Dado el grafo G , elija un conjunto aleatorio X de q ( ε ) = O (log(1/( ε δ ))/ ε 2 ) vértices.
  2. Para cada par de vértices en X , consulte si son adyacentes en G.
  3. Acepta si el subgrafo inducido de G en X es bipartito y rechaza en caso contrario. [ 4 ]

Ejemplo (algoritmo de prueba de k-colorabilidad).

  1. Dado el grafo G , elija un conjunto aleatorio X de q ( ε ) = O ( k 4 log 2 ( k / δ )/ ε 3 ) vértices.
  2. Para cada par de vértices en X , consulta si son adyacentes en G.
  3. Acepta si el subgrafo inducido de G en X es k-coloreable y rechaza en caso contrario. [ 4 ]

Referencias

  1. 1 2 3 Goldreich, Oded (2017). Introducción a las pruebas de propiedades . Cambridge University Press. ISBN 9781107194052.
  2. 1 2 3 4 5 6 7 8 Alon, Noga ; Shapira, Asaf (2008). "Una caracterización de las propiedades de los grafos (naturales) comprobables con error unilateral" (PDF) . SIAM Journal on Computing . 37 (6): 1703– 1727. doi : 10.1137/06064888X .
  3. Goldreich, Oded (1999). "Prueba de propiedades combinatorias (Una revisión)". Métodos de aleatorización en el diseño de algoritmos . Serie DIMACS en matemáticas discretas e informática teórica. Vol. 43. págs. 45–59 . doi : 10.1090/dimacs/043/04 . ISBN   0821870874.
  4. 1 2 3 4 5 Goldreich, Oded; Goldwasser, Shafi; Ron, Dana (1 de julio de 1998). "Prueba de propiedades y su conexión con el aprendizaje y la aproximación" . Journal of the ACM . 45 (4): 653– 750. doi : 10.1145/285055.285060 .
  5. Rubinfeld, Ronitt; Shapira, Asaf (2011). "Algoritmos de tiempo sublineal". SIAM Journal on Discrete Mathematics . 25 (4): 1562– 1588. CiteSeerX 10.1.1.221.1797 . doi : 10.1137/100791075 . S2CID 1319122 .  
  6. Alon, N.; Duke, RA; Lefmann, H.; Rodl, V.; Yuster, R. (1 de enero de 1994). "Los aspectos algorítmicos del lema de regularidad". Journal of Algorithms . 16 (1): 80– 109. doi : 10.1006/jagm.1994.1005 .
  7. ^ Alón, Noga; Fischer, Eldar; Krivelevich, Michael ; Szegedy, Mario (1 de abril de 2000). "Pruebas eficientes de gráficos grandes". Combinatoria . 20 (4): 451– 476. doi : 10.1007/s004930070001 .
  8. Alon, Noga; Shapira, Asaf (22 de mayo de 2005). "Toda propiedad de grafo monótona es comprobable". Actas del trigésimo séptimo simposio anual de la ACM sobre Teoría de la Computación . págs. 128–137 . doi : 10.1145/1060590.1060611 . ISBN  1581139608. S2CID 14096855 . 
  9. Fox, Jacob (2010). "Una nueva demostración del lema de eliminación de grafos". arXiv : 1006.1300 [ math.CO ].
  10. Ron, Dana (2000). Pruebas de propiedades (Informe técnico).