En matemáticas y ciencias de la computación teórica, la compresión de entropía es un método de teoría de la información para demostrar que un proceso aleatorio termina, utilizado originalmente por Robin Moser para demostrar una versión algorítmica del lema local de Lovász . [ 1 ] [ 2 ]
Descripción
Para utilizar este método, se demuestra que el historial del proceso dado puede registrarse de manera eficiente, de modo que el estado del proceso en cualquier momento pasado pueda recuperarse a partir del estado actual y este registro, y de modo que la cantidad de información adicional registrada en cada paso del proceso sea (en promedio) menor que la cantidad de información nueva generada aleatoriamente en cada paso. La discrepancia creciente resultante en el contenido total de información nunca puede exceder la cantidad fija de información en el estado actual, de lo cual se deduce que el proceso debe terminar eventualmente. Este principio puede formalizarse y hacerse riguroso utilizando la complejidad de Kolmogorov . [ 3 ]
Ejemplo
Un ejemplo dado tanto por Fortnow [ 3 ] como por Tao [ 4 ] se refiere al problema de satisfacibilidad booleana para fórmulas booleanas en forma normal conjuntiva , con tamaño de cláusula uniforme. Estos problemas pueden ser parametrizados por dos númerosdóndees el número de variables por cláusula yes el número máximo de cláusulas diferentes en las que puede aparecer cualquier variable. Si las variables se asignan aleatoriamente como verdaderas o falsas, entonces el evento de que una cláusula no se cumpla ocurre con probabilidady cada evento es independiente de todos exceptootros eventos. Del lema local de Lovász se deduce que, sies lo suficientemente pequeño como para hacerlo(dóndees la base del logaritmo natural ) entonces siempre existe una solución. El siguiente algoritmo se puede mostrar utilizando compresión de entropía para encontrar dicha solución para entradas que cumplen una restricción ende forma similar.
- Elija una asignación de verdad al azar
- Mientras exista una cláusula insatisfecha, llamar a una subrutina recursiva
fixconcomo su argumento. Esta subrutina elige una nueva asignación de verdad aleatoria para las variables eny luego llama recursivamente a la misma subrutina en todas las cláusulas no satisfechas (posiblemente incluyendosí mismo) que comparten una variable con, hasta que no quede ninguno.
Este algoritmo no puede terminar a menos que la fórmula de entrada sea satisfacible, por lo que una prueba de que termina también es una prueba de que existe una solución. Cada iteración del bucle externo reduce el número de cláusulas insatisfechas (provocapara quedar satisfecho sin que ninguna otra cláusula quede insatisfecha), por lo que la pregunta clave es si la fixsubrutina termina o si puede entrar en una recursión infinita . [ 3 ]
Para responder a esta pregunta, consideremos por un lado el número de bits aleatorios generados en cada iteración de la fixsubrutina (bits por cláusula) y por otro lado el número de bits necesarios para registrar el historial de este algoritmo de tal manera que se pueda generar cualquier estado pasado. Para registrar este historial, podemos almacenar la asignación de verdad actual (bits), la secuencia de argumentos a las llamadas más externas a la fixsubrutina (como máximo)bits, dondees el número de cláusulas en la entrada), y luego una secuencia de registros que indican que una llamada recursiva devolvió fixo que realizó una llamada recursiva, y cuál de lasLas cláusulas que comparten una variable con la cláusula actual se pasaron como argumento a esa llamada recursiva. Hayposibles resultados por registro, por lo que el número de bits necesarios para almacenar un registro (utilizando un método de codificación compacto como la codificación aritmética que permite el almacenamiento utilizando un número fraccional de bits por registro) es. [ 3 ]
Esta información es suficiente para recuperar toda la secuencia de llamadas a fix, incluyendo la identidad de la cláusula dada como argumento a cada llamada. Para ello, avance a través de la secuencia de llamadas utilizando los argumentos de llamada más externos almacenados y los registros almacenados para inferir el argumento de cada llamada a su vez. Una vez recuperada la secuencia de llamadas recursivas y sus argumentos, las asignaciones de verdad en cada etapa de este proceso también pueden recuperarse a partir de la misma información. Para ello, comience desde la asignación de verdad final y luego avance hacia atrás a través de la secuencia de cláusulas reasignadas aleatoriamente, utilizando el hecho de que cada cláusula era previamente insatisfacible para determinar de forma única los valores de todas sus variables antes de su reasignación aleatoria. Por lo tanto, despuésllamadas a fix, el algoritmo habrá generadobits aleatorios pero todo su historial (incluidos esos bits generados) se puede recuperar de un registro que utiliza solobits. Esto solo es posible cuando el número de bits almacenados es al menos tan grande como el número de bits generados aleatoriamente. De ello se deduce que, cuandoes lo suficientemente pequeño como para hacerlo, es decir, cuando, la fixsubrutina solo puede realizarllamadas recursivas a lo largo de todo el algoritmo. [ 3 ]
Historia
El nombre "compresión de entropía" fue dado a este método en una publicación de blog por Terence Tao [ 4 ] y desde entonces ha sido utilizado para él por otros investigadores. [ 5 ] [ 6 ] [ 7 ]
La versión original de Moser del lema local algorítmico de Lovász , utilizando este método, obtuvo cotas más débiles que el lema local de Lovász original , que fue formulado originalmente como un teorema de existencia sin un método constructivo para encontrar el objeto cuya existencia demuestra. Posteriormente, Moser y Gábor Tardos utilizaron el mismo método para demostrar una versión del lema local algorítmico de Lovász que iguala las cotas del lema original. [ 8 ]
Desde el descubrimiento del método de compresión de entropía, también se ha utilizado para lograr límites más fuertes para algunos problemas que los que proporcionaría el lema local de Lovász. Por ejemplo, para el problema de la coloración acíclica de aristas de grafos con grado máximo, se demostró por primera vez utilizando el lema local que siempre existe una coloración concolores, y más tarde usando una versión más fuerte del lema local esto se mejoró aSin embargo, un argumento más directo que utiliza la compresión de entropía muestra que existe una coloración que utiliza únicamentecolores, y además esta coloración se puede encontrar en tiempo polinomial aleatorio. [ 6 ]
Referencias
- ↑ Moser, Robin A. (2009), "Una demostración constructiva del lema local de Lovász", STOC'09—Actas del Simposio Internacional ACM de 2009 sobre Teoría de la Computación , Nueva York: ACM, pp. 343–350 , arXiv : 0810.4812 , doi : 10.1145/1536414.1536462 , ISBN 978-1-60558-506-2, MR 2780080 .
- ↑ Lipton, RJ (2 de junio de 2009), "Método de Moser para acotar un bucle de programa" , La carta perdida de Gödel y P=NP.
- 1 2 3 4 5 Fortnow, Lance (2 de junio de 2009), "Una prueba de complejidad de Kolmogorov del lema local de Lovász" , Complejidad Computacional.
- 1 2 Tao, Terence (5 de agosto de 2009), "El argumento de compresión de entropía de Moser" , Novedades.
- ↑ Dujmović, Vida ; Joret, Gwenaël; Kozik, Jakub; Wood, David R. (2016), "Nonrepetitive Colouring via Entropy Compression", Combinatorica , 36 (6): 661–686 , arXiv : 1112.5524 , Bibcode : 2011arXiv1112.5524D , doi : 10.1007/s00493-015-3070-6.
- 1 2 Esperet, Louis; Parreau, Aline (2013), "Coloración de aristas acíclica mediante compresión de entropía", European Journal of Combinatorics , 34 (6): 1019– 1027, arXiv : 1206.1535 , doi : 10.1016/j.ejc.2013.02.007 , MR 3037985 .
- ↑ Ochem, Pascal; Pinlou, Alexandre (2014), "Aplicación de la compresión de entropía en la evitación de patrones" , Electronic Journal of Combinatorics , 21 (2), Artículo 2.7, arXiv : 1301.1873 , Bibcode : 2013arXiv1301.1873O , doi : 10.37236/3038 , MR 3210641 .
- ^ Moser, Robin A.; Tardos, Gábor (2010), "Una prueba constructiva del lema local general de Lovász", Revista de la ACM , 57 (2), art. 11, arXiv : 0903.0544 , doi : 10.1145/1667053.1667060 , SEÑOR 2606086 .
- Algoritmos aleatorios
- Análisis de algoritmos