En informática , un algoritmo holográfico es un algoritmo que utiliza una reducción holográfica. Una reducción holográfica es una reducción de tiempo constante que mapea fragmentos de solución de muchos a muchos, de manera que la suma de los fragmentos de solución permanece inalterada. Estos conceptos fueron introducidos por Leslie Valiant , quien los denominó holográficos porque "su efecto puede considerarse como la producción de patrones de interferencia entre los fragmentos de solución". [ 1 ] Los algoritmos no guardan relación con la holografía láser , salvo metafóricamente. Su poder reside en la cancelación mutua de múltiples contribuciones a una suma, análoga a los patrones de interferencia en un holograma. [ 2 ]
Los algoritmos holográficos se han utilizado para encontrar soluciones de tiempo polinomial a problemas sin soluciones previamente conocidas para casos especiales de satisfacibilidad , cobertura de vértices y otros problemas de grafos . [ 3 ] Han recibido una cobertura notable debido a la especulación de que son relevantes para el problema P versus NP [ 2 ] y su impacto en la teoría de la complejidad computacional . Aunque algunos de los problemas generales son problemas #P-difíciles , los casos especiales resueltos no son en sí mismos #P-difíciles y, por lo tanto, no prueban FP = #P.
Los algoritmos holográficos tienen algunas similitudes con la computación cuántica , pero son completamente clásicos. [ 4 ]
Problemas de Holant
Los algoritmos holográficos existen en el contexto de los problemas de Holant, que generalizan los problemas de satisfacción de restricciones de conteo (#CSP). Una instancia de #CSP es un hipergrafo G = ( V , E ) llamado grafo de restricciones . Cada hiperarista representa una variable y cada vérticese le asigna una restricciónUn vértice está conectado a una hiperarista si la restricción sobre el vértice involucra la variable en la hiperarista. El problema de conteo consiste en calcular
que es una suma sobre todas las asignaciones de variables, el producto de cada restricción, donde las entradas a la restricciónson las variables en los hiperbordes incidentes de.
Un problema de Holant es como un #CSP excepto que la entrada debe ser un grafo, no un hipergrafo. Restringir la clase de grafos de entrada de esta manera es, de hecho, una generalización. Dada una instancia de #CSP, reemplazamos cada hiperarista e de tamaño s con un vértice v de grado s con aristas incidentes a los vértices contenidos en e . La restricción sobre v es la función de igualdad de aridad s . Esto identifica todas las variables en las aristas incidentes a v , lo que tiene el mismo efecto que la variable única en la hiperarista e .
En el contexto de los problemas de Holant, la expresión en (1) se llama Holant en honor a una suma exponencial relacionada introducida por Valiant. [ 5 ]
Reducción holográfica
Una técnica estándar en la teoría de la complejidad es la reducción muchos-uno , donde una instancia de un problema se reduce a una instancia de otro problema (preferiblemente más simple). Sin embargo, las reducciones holográficas entre dos problemas computacionales conservan la suma de las soluciones sin necesariamente conservar las correspondencias entre ellas. [ 1 ] Por ejemplo, se puede conservar el número total de soluciones en ambos conjuntos, incluso si los problemas individuales no tienen soluciones coincidentes. La suma también puede ponderarse, en lugar de simplemente contar el número de soluciones, utilizando vectores base lineales . [ 3 ]
Ejemplo general
Resulta conveniente considerar las reducciones holográficas en grafos bipartitos. Un grafo general siempre puede transformarse en un grafo bipartito conservando el valor de Holant. Esto se logra reemplazando cada arista del grafo por un camino de longitud 2, también conocido como el estiramiento 2 del grafo. Para mantener el mismo valor de Holant, a cada nuevo vértice se le asigna la restricción de igualdad binaria.
Consideremos un grafo bipartito G = ( U , V , E ) donde la restricción asignada a cada vérticeesy la restricción asignada a cada vérticeesDenotemos este problema de conteo porSi los vértices en U se consideran como un único vértice grande de grado | E |, entonces la restricción de este vértice es el producto tensorial decon sí mismo | U | veces, lo cual se denota porAsimismo, si los vértices en V se consideran como un único vértice grande de grado | E |, entonces la restricción de este vértice esSea la restricciónestar representado por su tabla de verdad ponderada como un vector fila y la restricciónestar representado por su tabla de verdad ponderada como un vector columna. Entonces, el Holant de este grafo de restricciones es simplemente
Ahora bien, para cualquier matriz invertible compleja de 2x2 T (cuyas columnas son los vectores base lineales mencionados anteriormente), existe una reducción holográfica entreyPara ver esto, inserte la matriz identidad.entreLlegar
De este modo,yTienen exactamente el mismo valor de Holant para cada grafo de restricciones. En esencia, definen el mismo problema de conteo.
Ejemplos específicos
Recubrimientos de vértices y conjuntos independientes
Sea G un grafo. Existe una correspondencia biunívoca entre las cubiertas de vértices de G y los conjuntos independientes de G. Para cualquier conjunto S de vértices de G , S es una cubierta de vértices en G si y solo si el complemento de S es un conjunto independiente en G. Por lo tanto, el número de cubiertas de vértices en G es exactamente igual al número de conjuntos independientes en G.
La equivalencia de estos dos problemas de conteo también se puede demostrar utilizando una reducción holográfica. Para simplificar, sea G un grafo 3-regular . El estiramiento 2 de G da un grafo bipartito H = ( U , V , E ), donde U corresponde a las aristas en G y V corresponde a los vértices en G. El problema de Holant que corresponde naturalmente a contar el número de cubiertas de vértices en G esLa tabla de verdad de OR 2 como vector fila es (0,1,1,1). La tabla de verdad de EQUAL 3 como vector columna esLuego, bajo una transformación holográfica por
que esel problema de Holant que corresponde naturalmente a contar el número de conjuntos independientes en G.
Historia
Como ocurre con cualquier tipo de reducción, una reducción holográfica no produce, por sí sola, un algoritmo de tiempo polinomial. Para obtener un algoritmo de tiempo polinomial, el problema al que se reduce también debe tener un algoritmo de tiempo polinomial. La aplicación original de Valiant de los algoritmos holográficos utilizó una reducción holográfica a un problema donde cada restricción es realizable por matchgates , [ 1 ] que acababa de demostrar que es tratable mediante una reducción adicional al conteo del número de emparejamientos perfectos en un grafo planar . [ 6 ] Este último problema es tratable mediante el algoritmo FKT , que data de la década de 1960.
Poco después, Valiant encontró algoritmos holográficos con reducciones a matchgates para # 7 Pl -Rtw- Mon -3 CNF y # 7 Pl-3/2 Bip - VC . [ 7 ] Estos problemas pueden parecer algo artificiales, especialmente con respecto al módulo . Ya se sabía que ambos problemas eran #P-difíciles cuando se ignoraba el módulo y Valiant proporcionó pruebas de #P-dificultad módulo 2, que también utilizaban reducciones holográficas. Valiant encontró estos dos problemas mediante una búsqueda computarizada que buscaba problemas con reducciones holográficas a matchgates. Llamó a sus algoritmos algoritmos accidentales , diciendo "cuando aplicamos el término accidental a un algoritmo pretendemos señalar que el algoritmo surge de satisfacer un conjunto de restricciones aparentemente onerosas". El conjunto de restricciones "onerosas" en cuestión son ecuaciones polinómicas que, si se satisfacen, implican la existencia de una reducción holográfica a restricciones realizables de matchgate.
Después de varios años de desarrollar (lo que se conoce como) teoría de firmas de matchgate, Jin-Yi Cai y Pinyan Lu pudieron explicar la existencia de los dos algoritmos accidentales de Valiant. [ 3 ] Estos dos problemas son solo casos especiales de dos familias de problemas mucho más grandes: # 2 k -1 Pl-Rtw-Mon-kCNF y # 2 k -1 Pl-k/2Bip-VC para cualquier entero positivo k . El módulo 7 es solo el tercer número de Mersenne y Cai y Lu demostraron que este tipo de problemas con parámetro k se pueden resolver en tiempo polinomial exactamente cuando el módulo es el k th número de Mersenne usando reducciones holográficas a matchgates y el teorema chino del resto .
Casi al mismo tiempo, Jin-Yi Cai, Pinyan Lu y Mingji Xia presentaron el primer algoritmo holográfico que no se redujo a un problema tratable mediante compuertas de coincidencia. [ 5 ] En cambio, lo redujeron a un problema tratable mediante compuertas de Fibonacci, que son restricciones simétricas cuyas tablas de verdad satisfacen una relación de recurrencia similar a la que define los números de Fibonacci . También utilizaron reducciones holográficas para demostrar que ciertos problemas de conteo son #P-difíciles. Desde entonces, las reducciones holográficas se han utilizado ampliamente como ingredientes tanto en algoritmos de tiempo polinomial como en demostraciones de #P-dificultad.
Referencias
- 1 2 3 Valiant, Leslie (17–19 de octubre de 2004). Algoritmos holográficos (Resumen extendido) . FOCS 2004. Roma, Italia: IEEE Computer Society. págs. 306–315 . doi : 10.1109/FOCS.2004.34 . ISBN 0-7695-2228-9Archivado del original el 13 de marzo de 2012. Consultado el 27 de febrero de 2011 .
- 1 2 Hayes, Brian (enero-febrero de 2008). "Algoritmos accidentales" . American Scientist .
- 1 2 3 Cai, Jin-Yi; Lu, Pinyan (2011). "Algoritmos holográficos: Del arte a la ciencia" . J. Comput. Syst. Sci . 77 (1): 41– 61. doi : 10.1016/j.jcss.2010.06.005 .
- ^ Cai, Jin-Yi (junio de 2008). "Algoritmos holográficos: columna de invitados". Noticias SIGACT . 39 (2). Nueva York, NY, EE. UU.: ACM: 51– 81. doi : 10.1145/1388240.1388254 . ISSN 0163-5700 . S2CID 2298274 .
- 1 2 Cai, Jin-Yi; Lu, Pinyan; Xia, Mingji (2008). Algoritmos holográficos por puertas de Fibonacci y reducciones holográficas para dureza . FOCS . Sociedad de Computación IEEE. págs. 644– 653. doi : 10.1109/FOCS.2008.34 . ISBN 978-0-7695-3436-7.
- ↑ Valiant, Leslie (2002). "Circuitos cuánticos que pueden simularse clásicamente en tiempo polinomial". SIAM Journal on Computing . 31 (4): 1229– 1254. doi : 10.1137/S0097539700377025 .
- ↑ Leslie G. Valiant (2006). Algoritmos accidentales [ Algoritmos accidentales ] . Fundamentos de la informática, Simposio anual del IEEE sobre. Sociedad de Computación del IEEE. págs. 509–517 . doi : 10.1109/FOCS.2006.7 . ISBN 0-7695-2720-5.
- Algoritmos