stringtranslate.com

Algoritmo FKT

El algoritmo Fisher–Kasteleyn–Temperley ( FKT ) , llamado así por Michael Fisher , Pieter Kasteleyn y Neville Temperley , cuenta el número de emparejamientos perfectos en un grafo planar en tiempo polinomial. Esta misma tarea es #P-completa para grafos generales. Para los emparejamientos que no se requiere que sean perfectos, contarlos sigue siendo #P-completo incluso para grafos planares. La idea clave del algoritmo FKT es convertir el problema en un cálculo Pfaffiano de una matriz antisimétrica derivada de una incrustación planar del grafo. El Pfaffiano de esta matriz se calcula luego de manera eficiente utilizando algoritmos determinantes estándar .

Historia

El problema de contar emparejamientos perfectos planares tiene sus raíces en la mecánica estadística y la química , donde la pregunta original era: si las moléculas diatómicas se adsorben en una superficie, formando una sola capa, ¿de cuántas formas se pueden organizar? [1] La función de partición es una cantidad importante que codifica las propiedades estadísticas de un sistema en equilibrio y se puede utilizar para responder la pregunta anterior. Sin embargo, tratar de calcular la función de partición a partir de su definición no es práctico. Por lo tanto, resolver exactamente un sistema físico es encontrar una forma alternativa de la función de partición para ese sistema físico en particular que sea lo suficientemente simple como para calcularlo exactamente. [2] A principios de la década de 1960, la definición de exactamente solucionable no era rigurosa. [3] La ciencia de la computación proporcionó una definición rigurosa con la introducción del tiempo polinomial , que data de 1965. De manera similar, la notación de no exactamente solucionable , para un problema de conteo como este, debería corresponder a #P-dureza , que se definió en 1979.

Otro tipo de sistema físico a considerar está compuesto por dímeros , que es un polímero con dos átomos. El modelo de dímeros cuenta el número de recubrimientos de dímeros de un grafo. [4] Otro sistema físico a considerar es el enlace de moléculas de H 2 O en forma de hielo. Esto se puede modelar como un grafo regular dirigido, 3- donde la orientación de los bordes en cada vértice no puede ser la misma. ¿Cuántas orientaciones de borde tiene este modelo?

Motivados por los sistemas físicos que involucran dímeros, en 1961, Pieter Kasteleyn [5] y Neville Temperley y Michael Fisher [6] encontraron de forma independiente el número de teselas de dominó para el rectángulo m por n . Esto es equivalente a contar el número de coincidencias perfectas para el gráfico reticular m por n . En 1967, Kasteleyn había generalizado este resultado a todos los gráficos planares. [7] [8]

Algoritmo

Explicación

La idea principal es que cada término distinto de cero en el Pfaffian de la matriz de adyacencia de un grafo G corresponde a una correspondencia perfecta. Por lo tanto, si uno puede encontrar una orientación de G para alinear todos los signos de los términos en Pfaffian (sin importar + o - ), entonces el valor absoluto del Pfaffian es simplemente el número de correspondencias perfectas en G . El algoritmo FKT realiza tal tarea para un grafo plano G . La orientación que encuentra se llama orientación Pfaffian .

Sea G = ( V , E ) un grafo no dirigido con matriz de adyacencia A . Defina PM ( n ) como el conjunto de particiones de n elementos en pares, entonces el número de emparejamientos perfectos en G es

Estrechamente relacionado con esto está el Pfaffian para una matriz n por n A

donde sgn( M ) es el signo de la permutación M . Una orientación Pfaffiana de G es un grafo dirigido H con matriz de adyacencia B tal que pf( B ) = PerfMatch( G ). [9] En 1967, Kasteleyn demostró que los grafos planares tienen una orientación Pfaffiana computable de manera eficiente. Específicamente, para un grafo planar G , sea H una versión dirigida de G donde un número impar de aristas están orientadas en el sentido de las agujas del reloj para cada cara en una incrustación plana de G . Entonces H es una orientación Pfaffiana de G .

Finalmente, para cualquier matriz antisimétrica A ,

donde det( A ) es el determinante de A . Este resultado se debe a Arthur Cayley . [10] Dado que los determinantes son eficientemente computables, también lo es PerfMatch( G ).

Descripción de alto nivel

Un ejemplo que muestra cómo el algoritmo FKT encuentra una orientación Pfaffian.
  1. Calcular una incrustación planar de G .
  2. Calcular un árbol de expansión T 1 del gráfico de entrada G .
  3. Dar una orientación arbitraria a cada arista en G que también esté en T 1 .
  4. Utilice la incrustación planar para crear un gráfico (no dirigido) T 2 con el mismo conjunto de vértices que el gráfico dual de G .
  5. Crea una arista en T 2 entre dos vértices si sus caras correspondientes en G comparten una arista en G que no está en T 1 . (Ten en cuenta que T 2 es un árbol).
  6. Para cada hoja v en T 2 (que no sea también la raíz):
    1. Sea e el borde solitario de G en la cara correspondiente a v que aún no tiene una orientación.
    2. Dale a e una orientación tal que el número de aristas orientadas en el sentido de las agujas del reloj sea impar.
    3. Eliminar v de T 2 .
  7. Devuelve el valor absoluto del Pfaffian de la matriz de adyacencia de G , que es la raíz cuadrada del determinante.

Generalizaciones

La suma de las coincidencias perfectas ponderadas también se puede calcular utilizando la matriz de Tutte para la matriz de adyacencia en el último paso.

El teorema de Kuratowski establece que

Un grafo finito es planar si y sólo si no contiene ningún subgrafo homeomorfo a K 5 ( grafo completo en cinco vértices) o K 3,3 ( grafo bipartito completo en dos particiones de tamaño tres).

Vijay Vazirani generalizó el algoritmo FKT a los grafos que no contienen un subgrafo homeomorfo a K 3,3 . [11] De manera más general, la complejidad de contar emparejamientos perfectos se ha caracterizado completamente para familias de grafos que están cerrados bajo los menores de grafo . Existe una familia de grafos, las rejillas de vórtices poco profundos , de modo que para una familia cerrada con menores que no incluye todas las rejillas de vórtices poco profundos, este problema de conteo es polinomialmente solucionable. Pero para una familia cerrada con menores que incluye todas las rejillas de vórtices poco profundos, como los grafos sin menores, el problema de contar emparejamientos perfectos es #P-completo . [12] Dado que contar el número de emparejamientos perfectos en un grafo general también es #P-completo, se requiere alguna restricción en el grafo de entrada a menos que FP , la versión de función de P , sea igual a #P . El conteo de emparejamientos, que se conoce como el índice de Hosoya , también es #P-completo incluso para grafos planares. [13]

Aplicaciones

El algoritmo FKT se ha utilizado ampliamente en algoritmos holográficos en gráficos planares mediante puertas de coincidencia. [3] Por ejemplo, considere la versión plana del modelo de hielo mencionado anteriormente, que tiene el nombre técnico # PL -3-NAE- SAT (donde NAE significa "no todos iguales"). Valiant encontró un algoritmo de tiempo polinomial para este problema que utiliza puertas de coincidencia. [14]

Referencias

  1. ^ Hayes, Brian (enero-febrero de 2008). «Algoritmos accidentales». Científico estadounidense .
  2. ^ Baxter, RJ (2008) [1982]. Modelos resueltos con exactitud en mecánica estadística (tercera edición). Dover Publications. pág. 11. ISBN 978-0-486-46271-4.
  3. ^ ab Cai, Jin-Yi; Lu, Pinyan; Xia, Mingji (2010). Algoritmos holográficos con Matchgates capturan CSP planares manejables con precisión . Fundamentos de la ciencia informática (FOCS), 2010 51.º simposio anual IEEE sobre. Las Vegas, NV, EE. UU.: IEEE. arXiv : 1008.0683 . Código bibliográfico :2010arXiv1008.0683C.
  4. ^ Kenyon, Richard; Okounkov, Andrei (2005). "¿Qué es un dímero?" (PDF) . AMS . 52 (3): 342–343.
  5. ^ Kasteleyn, PW (1961). "Las estadísticas de los dímeros en una red. I. El número de disposiciones de dímeros en una red cuadrática". Physica . 27 (12): 1209–1225. doi :10.1016/0031-8914(61)90063-5 .
  6. ^ Temperley, HNV ; Fisher, Michael E. (1961). "El problema del dímero en mecánica estadística: un resultado exacto". Revista filosófica . 6 (68): 1061–1063. Código Bibliográfico :1961PMag....6.1061T. doi :10.1080/14786436108243366.
  7. ^ Kasteleyn, PW (1963). "Estadísticas de dímeros y transiciones de fase". Revista de física matemática . 4 (2): 287–293. Código Bibliográfico :1963JMP.....4..287K. doi :10.1063/1.1703953.
  8. ^ Kasteleyn, PW (1967). "Teoría de grafos y física de cristales". En Harary, F. (ed.). Graph Theory and Theoretical Physics . Nueva York: Academic Press. págs. 43–110.
  9. ^ Thomas, Robin (2006). Un estudio de las orientaciones pfaffianas de los grafos (PDF) . Congreso Internacional de Matemáticos. Vol. III. Zúrich: Sociedad Matemática Europea. pp. 963–984.
  10. ^ Cayley, Arturo (1847). "Sur les determinantes gauches" [Sobre los determinantes sesgados]. Diario de Crelle . 38 : 93–96.
  11. ^ Vazirani, Vijay V. (1989). "Algoritmos NC para calcular el número de emparejamientos perfectos en grafos libres de K3,3 y problemas relacionados". Información y computación . 80 (2): 152–164. doi : 10.1016/0890-5401(89)90017-5 . hdl : 1813/6700 . ISSN  0890-5401.
  12. ^ Thilikos, Dimitrios M.; Wiederrecht, Sebastián (2024). "Matar un vórtice". Revista de la ACM . 71 (4): 27:1–27:56. arXiv : 2207.04923 . doi :10.1145/3664648.
  13. ^ Jerrum, Mark (1987). "Los sistemas bidimensionales monómero-dímero son computacionalmente intratables". Journal of Statistical Physics . 48 (1): 121–134. Bibcode :1987JSP....48..121J. doi :10.1007/BF01010403. S2CID  189854401..
  14. ^ Valiant, Leslie G. (2008). "Algoritmos holográficos" (PDF) . Revista SIAM de Computación . 37 (5): 1565–1594. doi :10.1137/070682575. MR  2386281.

Enlaces externos