Algorithme FKT
L'algorithme FKT, nommĂ© ainsi d'aprĂšs Michael Fisher, Pieter Kasteleyn (en) et Harold N. Temperley, compte le nombre de couplages parfaits dans un graphe planaire, et ceci en temps polynomial. Le mĂȘme dĂ©nombrement est #P-complet pour les graphes gĂ©nĂ©raux. Pour les couplages qui ne sont pas nĂ©cessairement parfaits, leur dĂ©nombrement reste #P-complet mĂȘme pour les graphes planaires. L'idĂ©e clĂ© de l'algorithme FKT est de convertir le problĂšme en le calcul du pfaffien d'une matrice antisymĂ©trique obtenue Ă partir d'un plongement planaire du graphe. Le pfaffien de cette matrice est ensuite calculĂ© efficacement Ă l'aide d'algorithmes standards pour les dĂ©terminants .
Origines
Le problĂšme du dĂ©nombrement des couplages parfaits planaires a ses racines dans la mĂ©canique statistique et la chimie, oĂč la question initiale est la suivante : si des molĂ©cules diatomiques sont adsorbĂ©es par une surface en formant une seule couche, de combien de maniĂšres peuvent-elles ĂȘtre agencĂ©es[1]? La fonction de partition, qui code les propriĂ©tĂ©s statistiques d'un systĂšme Ă l'Ă©quilibre, peut ĂȘtre utilisĂ©e pour rĂ©pondre Ă cette question. Cependant, tenter de calculer la fonction de partition Ă partir de sa dĂ©finition n'est pas facile. Aussi, pour rĂ©soudre exactement un systĂšme physique, il faut trouver une autre formulation de la fonction de partition pour ce systĂšme physique particulier qui est suffisamment simple pour ĂȘtre calculĂ©e exactement[2]. Au dĂ©but des annĂ©es 1960, la dĂ©finition du terme « exactement soluble » n'Ă©tait pas prĂ©cise[3]. L'informatique a fourni une dĂ©finition rigoureuse avec l'introduction du temps polynomial, qui date de 1965. De mĂȘme, la notion de « exactement soluble » correspond Ă #P-dur, notion qui a Ă©tĂ© dĂ©finie en 1979.
Un autre type de systĂšme physique concernĂ© est composĂ© de dimĂšres, des polymĂšres Ă deux atomes. Le modĂšle dimĂšre compte le nombre de revĂȘtements dimĂšres d'un graphe[4]. Un autre systĂšme physique est la liaison des molĂ©cules d'eau sous forme de glace. Il peut ĂȘtre modĂ©lisĂ© comme un graphe 3-rĂ©gulier orientĂ© oĂč l'orientation des arĂȘtes Ă chaque sommet peut ne pas ĂȘtre la mĂȘme. La question posĂ©e est le nombre d'orientations d'arĂȘtes dans ce modĂšle ?
Motivés par des systÚmes physiques impliquant des dimÚres, en 1961, Kasteleyn[5] d'une part, et Temperley et Fisher[6] d'autre part ont indépendamment déterminé le nombre de pavages de dominos du rectangle de taille m x n. Cela équivaut à compter le nombre de couplages parfaits pour le graphe grille m par n. En 1967, Kasteleyn a généralisé ce résultat à tous les graphes planaires[7].
Algorithme
Explication
L'idée principale est que chaque terme non nul dans le pfaffien de la matrice d'adjacence d'un graphe G correspond à un couplage parfait. Ainsi, si l'on peut trouver une orientation de G pour aligner tous les signes des termes dans le pfaffien (soit à + soit à - ), alors la valeur absolue du pfaffien est exactement le nombre de couplages parfaits dans G. L'algorithme FKT effectue une telle tùche pour un graphe planaire G. L'orientation qu'il trouve s'appelle une orientation pfaffienne.
Soit G = ( V, E ) un graphe non orienté, et soit A sa matrice d'adjacence. On définit PM ( n ) comme étant l'ensemble des partitions de n éléments en paires. Le nombre de couplages parfaits dans G est donné par :
Le lien avec pfaffien d'une -matrice A est le suivant :
oĂč sgn( M ) est la signature de la permutation M. Une orientation pfaffienne de G est un graphe orientĂ© H avec une matrice d'adjacence B Ă coefficients (1, 0, -1) telle que pf( B ) = CP( G )[8]. En 1967, Kasteleyn a prouvĂ© que les graphes planaires ont une orientation pfaffienne calculable efficacement. Plus prĂ©cisĂ©ment, pour un graphe planaire G, soit H une version orientĂ©e de G oĂč un nombre impair d'arĂȘtes sont orientĂ©s dans le sens des aiguilles d'une montre pour chaque face dans un plongement planaire de G . Alors H est une orientation Pfaffienne de G .
Enfin, pour toute matrice antisymétrique A ,
- ,
oĂč det( A ) est le dĂ©terminant de A. Ce rĂ©sultat est dĂ» Ă Arthur Cayley[9]. Puisque les dĂ©terminants sont calculables efficacement, il en est de mĂȘme de CP( G ).
Description de l'algorithme
- Calculer un plongement planaire de G .
- Calculer un arbre couvrant T1 du graphe d'entrée G .
- Orienter de façon arbitraire chaque arĂȘte de G qui est dans T1 .
- Utiliser le plongement planaire pour crĂ©er un graphe (non orientĂ©) T2 avec le mĂȘme ensemble de sommets que le graphe dual de G .
- CrĂ©er une arĂȘte dans T2 entre deux sommets si leurs faces correspondantes dans G partagent une arĂȘte dans G qui n'est pas dans T1. (On observe que T2 est un arbre. )
- Pour chaque feuille v dans T2 qui n'est pas la racine faire :
- Soit e l'arĂȘte isolĂ©e de G dans la face qui correspond Ă v et qui n'a pas encore d'orientation.
- Donner Ă e une orientation telle que le nombre d'arĂȘtes orientĂ©es dans le sens des aiguilles d'une montre soit impair.
- Supprimer v de T2 .
- Retourner la valeur absolue du pfaffien de la matrice d'adjacence sur (-1,0,1) de G qui est la racine carrée du déterminant.
Généralisations
La somme des couplages parfaits pondĂ©rĂ©s peut Ă©galement ĂȘtre calculĂ©e en utilisant la matrice de Tutte Ă la place de la matrice d'adjacence Ă la derniĂšre Ă©tape.
Le thĂ©orĂšme de Kuratowski dit qu'un graphe fini est planaire si et seulement s'il ne contient pas de sous-graphe homĂ©omorphe Ă K5 (le graphe complet sur cinq sommets) ou K3,3 (le graphe biparti complet sur deux ensembles de taille trois). Vijay Vazirani a gĂ©nĂ©ralisĂ© l'algorithme FKT aux graphes qui ne contiennent pas de sous-graphe homĂ©omorphe Ă K3,3[10]. Ătant donnĂ© que compter le nombre de couplages parfaits dans un graphe gĂ©nĂ©ral est #P-complet, une certaine restriction sur le graphe d'entrĂ©e est nĂ©cessaire Ă moins que la classe de complexitĂ© FP, la version de fonction de la classe P, soit Ă©gale Ă #P . Le dĂ©nombrement des couplages, dont le nombre est connu sous le nom d'indice de Hosoya, est Ă©galement #P-complet, mĂȘme pour les graphes planaires[11].
Applications
L'algorithme FKT a Ă©tĂ© largement utilisĂ© dans les algorithmes holographiques sur des graphes planaires via des matchgates[3]. Par exemple, en considĂ©rant la version planaire du modĂšle de glace mentionnĂ© ci-dessus, qui porte le nom technique de « #PL-3-NAE » (oĂč NAE signifie "not all equal"), Valiant a trouvĂ© un algorithme en temps polynomial pour ce problĂšme qui utilise des matchgates[12].
Notes et références
- (en) Cet article est partiellement ou en totalitĂ© issu de lâarticle de WikipĂ©dia en anglais intitulĂ© « FKT algorithme » (voir la liste des auteurs).
- Brian Hayes, « Accidental Algorithms », American Scientist,â januaryâfebruary 2008 (lire en ligne).
- Rodney J. Baxter, Exactly Solved Models in Statistical Mechanics, Dover Publications, (1re Ă©d. 1982) (ISBN 978-0-486-46271-4, lire en ligne), p. 11.
- Jin-Yi Cai, Pinyan Lu et Mingji Xia « Holographic Algorithms with Matchgates Capture Precisely Tractable Planar #CSP » () (arXiv 1008.0683)
â51st Annual IEEE Symposium on Foundations of Computer Science (FOCS) 2010 (lire en ligne). - Richard Kenyon et Andrei Okounkov, « What is a Dimer? », AMS, vol. 52, no 3,â , p. 342â343 (lire en ligne).
- Pieter Kasteleyn, « The statistics of dimers on a lattice. I. The number of dimer arrangements on a quadratic lattice », Physica, vol. 27, no 12,â , p. 1209â1225 (DOI 10.1016/0031-8914(61)90063-5)
- H. N. V. Temperley et Michael E. Fisher, « Dimer problem in statistical mechanics-an exact result », Philosophical Magazine, vol. 6, no 68,â , p. 1061â1063 (DOI 10.1080/14786436108243366).
- Pieter Kasteleyn, « Dimer Statistics and Phase Transitions », Journal of Mathematical Physics, vol. 4, no 2,â , p. 287â293 (DOI 10.1063/1.1703953).
-
Robin Thomas « A survey of Pfaffian orientations of graphs » () (lire en ligne)
âInternational Congress of Mathematicians (lire en ligne). - Arthur Cayley, « Sur les determinants gauches », Crelle's Journal, vol. 38,â , p. 93â96.
- Vijay V. Vazirani, « NC algorithms for computing the number of perfect matchings in K3,3-free graphs and related problems », Information and Computation, vol. 80, no 2,â , p. 152â164 (ISSN 0890-5401, DOI 10.1016/0890-5401(89)90017-5).
- Mark Jerrum, « Two-dimensional monomer-dimer systems are computationally intractable », Journal of Statistical Physics, vol. 48, no 1,â , p. 121â134 (DOI 10.1007/BF01010403, Bibcode 1987JSP....48..121J).
- Leslie G. Valiant « Holographic Algorithms (Extended Abstract) » () (DOI 10.1109/FOCS.2004.34)
âFOCS'04 (lire en ligne)
â « (ibid.) », dans Proceedings of the 45th Annual IEEE Symposium on Foundations of Computer Science, Rome, Italy, IEEE Computer Society (ISBN 0-7695-2228-9), p. 306â315.
Lien externe
- D'autres informations et exemples peuvent ĂȘtre trouvĂ©s dans le chapitre 2 et la section 5.3.2 de la thĂšse de doctorat de Dmitry Kamenetsky
- Yann Strozecki, « Comptage des couplages parfaits dans un graphe planaire », (consultĂ© le ) (mĂȘme fichier aussi Comptage des couplages parfaits dans un graphe planaire sur studylibfr.com.