# Polynôme de Tutte

Le polynôme de Tutte, aussi appelé polynôme dichromatique ou polynôme de Tutte–Whitney, est un polynôme invariant de graphes dont les valeurs expriment des propriétés d'un graphe. C'est un polynôme en deux variables qui joue un rôle important en théorie des graphes et en combinatoire. Il est défini pour tout graphe non orienté $G$ et contient des informations liées à ses propriétés de connexité.
L'importance de ce polynôme provient des informations qu'il contient sur le graphe $G$. Étudié au départ dans le cadre de la théorie algébrique des graphes comme une généralisation des problèmes d'énumération liés à la coloration de graphes, il contient diverses spécialisations à d'autres disciplines, comme le polynôme de Jones en théorie des nœuds, les fonctions de partitions liées au modèle de Potts (en) en physique statistique, le polynôme énumérateur des poids en théorie des codes, le polynôme de fiabilité en théorie des réseaux. Tous peuvent être exprimés comme des spécialisations du polynôme de Tutte. Il est aussi à la source de divers problèmes algorithmiques en informatique théorique. L'interprétation combinatoire des polynômes de Tutte est en étroite relation avec l’énumération d'objets combinatoires par des méthodes de langages formels et séries formelles non commutatives
Les polynômes de Tutte ont plusieurs nom et définitions équivalents. Un polynôme de Tutte est équivalent au rang polynomial de Whitney, au polynôme dichromatique de Tutte et au random cluster model de Fortuin–Kasteleyn par des transformations simples. C'est essentiellement une série génératrice comptant les ensembles d'arêtes d'une taille de composantes connexes donnés, avec une généralisation naturelle aux matroïdes. C'est également l'invariant de graphes le plus général définissable par une récurrence de type suppression-contraction. Plusieurs livres de théorie des graphes ou de matroïdes consacrent des chapitres entiers aux polynômes de Tutte$^,$$^,$.

## Définitions et exemples
### Définitions équivalentes

Soit $G=(V,E)$ un graphe non orienté, avec ensemble de sommets $V$ et ensemble d'arêtes $E$. Pour $A\subseteq E$, on note $(V,A)$ le graphe partiel qui a les mêmes sommets que $G$, et ses arêtes dans $A$.
Definition.- Le polynôme de Tutte d'un graphe $G=(V,E)$ est le polynôme $T_{G}(x,y)$ défini par :
    $T_{G}(x,y)=\sum \nolimits _{A\subseteq E}(x-1)^{k(A)-k(E)}(y-1)^{k(A)+|A|-|V|}$,
où $k(A)$ est le nombre de composantes connexes du graphe $(V,A)$. L'exposant $k(A)+|A|-|V|$ du deuxième facteur est le nombre cyclomatique de $(V,A)$.
On peut donner une formulation légèrement différente de la même définition en posant
    $r(A)=|V|-k(A)$,
où $r(A)$ est le rang de Whitney du graphe $(V,A)$. La fonction génératrice des rangs de Whitney est définie par :
    $R_{G}(u,v)=\sum \nolimits _{A\subseteq E}u^{r(E)-r(A)}v^{|A|-r(A)}$.
Les deux fonctions sont équivalentes par un simple changement de variables. On a en effet :
    $T_{G}(x,y)=R_{G}(x-1,y-1)$.
Le polynôme dichromatique $Q_{G}$ de Tutte résulte d'une autre transformation simple. On a :
    $T_{G}(x,y)=(x-1)^{-k(G)}Q_{G}(x-1,y-1)$.
Définition originale.- La définition originale de $T_{G}$ de Tutte est équivalente, mais moins facile à formuler. Pour un graphe connexe $G$, on a
    $T_{G}(x,y)=\sum \nolimits _{i,j}t_{ij}x^{i}y^{j},$
où $t_{ij}$ est le nombre d'arbres couvrants d'« activité interne » $i$ et d' « activité interne » $j$.
Contraction-suppression.- Une troisième définition est par récurrence sur la suppression d'arêtes. La contraction d'arête $uv$ d'un graphe $G$ produit le graphe $G/uv$ obtenu en fusionnant les sommets $u$ et $v$ et en supprimant l'arête $uv$. On note $G-uv$ le graphe où l'on a seulement supprimé l'arête $uv$, sans fusionner ses deux extrémités. Le polynôme de Tutte est défini par récurrence par
    $T_{G}(x,y)={\begin{cases}xT_{G/e}(x,y)&{\text{si }}\ e\ {\text{ est un isthme}},\\yT_{G-e}(x,y)&{\text{si }}\ e\ {\text{ est une boucle}},\\T_{G-e}(x,y)+T_{G/e}(x,y)&{\text{sinon}}.\end{cases}}$
selon que $e$ est boucle un isthme, ou ni l'un ni l'autre, avec la condition initiale
    $T_{G}=1$ si $G$ ne contient pas d'arête.
Le « random cluster model » de la mécanique statistique dû à Fortuin et Kasteleyn 1972 fournit encore une autre définition équivalente : Le polynôme
    $Z_{G}(q,w)=\sum \nolimits _{F\subseteq E}q^{k(F)}w^{|F|}$
est lié à $T_{G}$ par la transformation :
    $T_{G}(x,y)=(x-1)^{-k(E)}(y-1)^{-|V|}\cdot Z_{G}{\Big(x-1)(y-1),\;y-1{\Big )}.$

### Propriétés

Le polynôme de Tutte se factorise pour les composantes connexes : Si $G$ est l'union disjointe de graphes $H$ et $H'$, alors
    $T_{G}=T_{H}\cdot T_{H'}$.
Si $G$ est un graphe planaire et si $G^{*}$ dénote son graphe dual, alors
    $T_{G}(x,y)=T_{G^{*}}(y,x)$.
En particulier, le polynôme chromatique d'un graphe planaire est le polynôme de flot de son dual.

### Exemples

Deux graphes isomorphes ont même polynôme de Tutte, mais la réciproque est fausse. Par exemple, le polynôme de Tutte de tout arbre ayant $m$ arêtes est $x^{m}$.
Un polynôme de Tutte peut être donné sous forme de table, en présentant dans un tableau le coefficient $t_{ij}$ de $x^{i}y^{j}$ en ligne $i$ et colonne $j$. Par exemple, le polynôme de Tutte du graphe de Petersen, qui est :
    ${\begin{aligned}36x&+120x^{2}+180x^{3}+170x^{4}+114x^{5}+56x^{6}+21x^{7}+6x^{8}+x^{9}\\&+36y+84y^{2}+75y^{3}+35y^{4}+9y^{5}+y^{6}\\&+168xy+240x^{2}y+170x^{3}y+70x^{4}y+12x^{5}y\\&+171xy^{2}+105x^{2}y^{2}+30x^{3}y^{2}\\&+65xy^{3}+15x^{2}y^{3}\\&+10xy^{4},\end{aligned}}$
est donné par la table suivante :
    03684753591 361681716510 12024010515 18017030 17070 11412 56 21 6 1
Un autre exemple, est le polynôme de Tutte du graphe octaédrique et :
    ${\begin{aligned}&12\,{y}^{2}{x}^{2}+11\,x+11\,y+40\,{y}^{3}+32\,{y}^{2}+46\,yx+24\,x{y}^{3}+52\,x{y}^{2}\\&+25\,{x}^{2}+29\,{y}^{4}+15\,{y}^{5}+5\,{y}^{6}+6\,{y}^{4}x\\&+39\,y{x}^{2}+20\,{x}^{3}+{y}^{7}+8\,y{x}^{3}+7\,{x}^{4}+{x}^{5}\end{aligned}}$

## Note historique

L'intérêt de W. T. Tutte pour la formule de contraction-suppression remonte à ses études undergraduate au Trinity College de Cambridge, motivé par les rectangles parfaits (en) et les arbres couvrants. Il a utilisé souvent la formule dans ses recherches et se demandait « s'il existait d'autres invariants de graphes intéressants, aussi invariants par isomorphisme, avec des formules semblables ». Ronald M. Foster avait déjà observé que le polynôme chromatique était de cette nature, et Tutte commençait à en découvrir d'autres. Il appelait au début W-function, et V-function dans le cas de fonctions multiplicatives sur les composantes connexes, les invariants de graphes vérifiant la formule de contraction-suppression. Tutte écrit : « En jouant avec mes W-functions j'ai obtenu un polynôme en deux variables dont on peut déduire soit le polynôme chromatique, soit le polynôme de flots, en annulant l'une ou l'autre des variables et en ajustant les signes » Tutte appelle cette fonction la dichromate, parce qu'il la concevait comme une généralisation du polynôme chromatique à deux variables mais elle est maintenant appelée polynôme de Tutte. Comme dit Tutte : « Ce n'est pas correct envers Hassler Whitney qui connaissait et utilisait ces coefficients analogues sans leur accoler deux variables ». Il y a une « confusion notable » entre les termes « dichromate » et « dichromatic polynomial », introduit par Tutte dans un autre article, et qui n'en diffère que légèrement. La généralisation des polynômes de Tutte aux matroïdes a été publié en premier par Crapo, même si elle figure déjà dans la thèse de Tutte.
Indépendamment des recherches en théorie algébrique des graphes, Potts a commencé l'étude des fonctions de partition de certains modèles de mécanique statistique en 1952. Le travail de Fortuin et Kasteleyn sur les random cluster model (en), est une généralisation du modèle de Potts, et fournit une expression unifiée qui montre leur relation avec les polynômes de Tutte.

## Spécialisations

En faisant varier les valeurs de $(x,y)$, les polynômes de Tutte prennent des formes qui ont déjà été étudiées pour elles-mêmes dans divers domaines des mathématiques ou de physique. L'un des attraits des polynômes de Tutte réside dans leur propriété à fournir un cadre unifié pour l'analyse de ces quantités.

### Polynôme chromatique

Pour $y=0$, le polynôme de Tutte se spécialises en le polynôme chromatique :
    $\chi _{G}(\lambda )=(-1)^{|V|-k(G)}\lambda ^{k(G)}T_{G}(1-\lambda ,0),$
où $k(G)$ est le nombre de composantes connexes de $G$.
Pour des valeurs entières de $\lambda$, la valeur du polynôme chromatique $\chi _{G}(\lambda )$ est égale au nombre de colorations du graphe $G$ en utilisant $\lambda$ couleurs. Clairement $\chi _{G}(\lambda )$ ne dépend pas de l’ensemble de couleurs. Ce qui est moins clair, c'est que c'est la valeur en $\lambda$ d'un polynôme à coefficients entiers. Pour voir cela, on observe que :
* si G a n sommets et pas d'arêtes, alors $\chi _{G}(\lambda )=\lambda ^{n}$.
* si G contient une boucle, alors $\chi _{G}(\lambda )=0$.
* si e est une arête qui n'est pas une boucle, alors
       $\chi _{G}(\lambda )=\chi _{G\setminus e}(\lambda )-\chi _{G/e}(\lambda ).$
Ces trois conditions permettent de calculer $\chi _{G}(\lambda )$ en appliquant une suite de contractions-suppressions, mais elles ne garantissent pas que des séquences différentes de suppressions et contractions conduisent au même résultat ; ceci provient du fait que $\chi _{G}(\lambda )$ compte des propriétés combinatoires, indépendamment de la récurrence. En particulier,
    $T_{G}(2,0)=(-1)^{|V|}\chi _{G}(-1)$
donne le nombre d'orientations acycliques du graphe.

### Polynôme de Jones

Sur l'hyperbole $xy=1$, le polynôme de Tutte d'un graphe planaire se spécialise en le polynôme de Jones d'un nœud alternant associé.

### Valeur en des points particuliers
#### (2,1)

$T_{G}(2,1)$ compte le nombre de forêts, c'est-à-dire le nombre des sous-ensembles d'arêtes sans cycle.

#### (1,1)

$T_{G}(1,1)$ compte le nombre de forêts couvrantes (c'est le nombre d'ensembles d'arêtes sans cycle et qui ont même nombre de composants connexes que G). Si le graphe est connexe, $T_{G}(1,1)$ compte le nombre d'arbres couvrants.

#### (1,2)

$T_{G}(1,2)$ compte le nombre de sous-graphes couvrants (ensemble d'arêtes qui ont même nombre de composantes connexes que G).

#### (2,0 )

$T_{G}(2,0)$ compte le nombre d'orientations acycliques (en) de G$^,$.

#### (0,2)

$T_{G}(0,2)$ compte le nombre d'orientations fortement connexes de G.

#### (0,−2)

Si G est un graphe 4-régulier, alors
    $(-1)^{|V|+k(G)}T_{G}(0,-2)$
compte le nombre d'orientations eulériennes de G. Ici, $k(G)$ est le nombre de composantes connexes de G.

#### (3,3)

Si G est un graphe grille de paramètres $m\times n$, alors $2T_{G}(3,3)$ compte le nombre de manière de paver un rectangle de largeur 4m et de hauteur 4n avec des tétrominos$^,$.
Si G est un graphe planaire, alors $2T_{G}(3,3)$ est égal à la somme des partitions eulériennes pondérées du graphe médial de G, où le poids d'une orientation est 2 à la puissance le nombre de points selle de cette orientation (c'est-à-dire le nombre de sommets où l'orientation des arêtes incidentes est cycliquement « in, out, in out »).

### Modèles de Potts et d'Ising

On considère l'hyperbole $H_{2}$ définie par :
    $H_{2}:\quad (x-1)(y-1)=2$.
Sur cette hyperbole, le polynôme de Tutte se spécialise en la fonction de partition $Z(\cdot ),$ du modèle d'Ising étudiée en physique statistique. Plus précisément, le long de l'hyperbole $H_{2}$ ces deux fonctions sont liées par l'équation :
    $Z(G)=2\left(e^{-\alpha }\right)^{|E|-r(E)}\left(4\sinh \alpha \right)^{r(E)}T_{G}\left(\coth \alpha ,e^{2\alpha }\right).$
Le lien avec l'hyperbole vient de ce que
    $(\coth \alpha -1)\left(e^{2\alpha }-1\right)=2$
pour tout nombre complexe $\alpha$.
Plus généralement, si on définit, pour tout entier q, l'hyperbole :
    $H_{q}:\quad (x-1)(y-1)=q$,
le polynôme de Tutte se spécialise en la fonction de partition du modèle de Potts (en) à q états. Diverses quantités physiques analysées dans le contexte du modèle de Potts se transposent en des parties spécifiques de $H_{q}$.
Correspondances entre le modèle de Potts et le plan de Tutte :
| modèle de Potts | polynôme de Tutte |
| Ferromagnétisme | Branche positive de $H_{q}$ |
| Antiferromagnétisme | Branche négative de $H_{q}$ avec $y>0$ |
| Haute température | Asymptote de $H_{q}$ pour $y=1$ |
| Basse temperature ferromagnétique | Branche positive de $H_{q}$ asymptotique en $x=1$ |
| Température nulle antiferromagnetique | q-coloration du graphe, c'est-à-dire $x=1-q,y=0$. |

### Polynôme de flot

Au point $x=0$, le polynôme de Tutte se spécialise en un polynôme appelé polynôme de flot et étudié en combinatoire. Pour un graphe non orienté connexe G et un entier k, un k-flot qui ne s'annule pas (« nowhere-zero flow ») est une affectations de valeurs de « flot » $1,2,\dots ,k-1$ aux arcs d'une orientation arbitraire de G telle que le flot total entrant et le flot total sortant de chaque sommet sont égaux modulo k. Le polynôme de flot $C_{G}(k)$ compte le nombre de ces k-flots. Cette valeur est étroitement liée au polynôme chromatique : en fait, si G est un graphe planaire, le polynôme chromatique de G est équivalent au polynôme de flot de son graphe dual $G^{*}$ par le théorème de Tutte suivant :
    $C_{G}(k)=k^{-1}\chi _{G^{*}}(k)$.
La connexion avec le polynôme de Tutte est donnée par :
    $C_{G}(k)=(-1)^{|E|+|V|+k(G)}T_{G}(0,1-k)$.

### Polynôme de fiabilité

Pour $x=1$, le polynôme de Tutte se spécialise en le polynôme de fiabilité entre tous points étudié en théorie des réseaux. Pour un graphe connexe G, on affecte une probabilité p à la suppression d'une arête, pour modéliser un réseau sujet à des pannes aléatoires d'arêtes. Le polynôme de fiabilité est le polynôme $R_{G}(p)$ en p qui donne la probabilité qu'un couple de sommets de G reste connecté après des pannes sur les arêtes. Le lien avec le polynôme de Tutte est donné par :
    $R_{G}(p)=(1-p)^{|V|-k(G)}p^{|E|-|V|+k(G)}T_{G}(1,1/p)$.

### Polynôme dichromatique

Tutte a aussi défini une généralisation en deux variables des polynômes chromatiques voisine de ces derniers ; il les appelle polynômes dichromatiques. Pour un graphe $G=(V,E)$, c'est le polynôme
    $Q_{G}(u,v)=\sum \nolimits _{A\subseteq E}u^{k(A)}v^{|A|-|V|+k(A)},$
où $k(A)$ est le nombre de composantes connexes du graphe partiel $(V,A)$. Ce polynôme est relié au « corank-nullity polynomial » par
    $Q_{G}(u,v)=u^{k(G)}\,R_{G}(u,v).$
Le polynôme dichromatique ne se généralise pas aux matroïdes parce $k(A)$ n'est pas une propriété de matroïdes : des graphes avec même matroïde peuvent avoir un nombre différent de composantes connexes.

### Polynôme de Martin

Le polynôme de Martin $m_{\vec {G}}(x)$ d'un graphe orienté 4-régulier ${\vec {G}}$ a été défini par Pierre Martin in 1977. Il a prouvé que si $G$ est un graphe planaire et si ${\vec {G}}_{m}$ est son graphe médial orienté, alors
    $T_{G}(x,x)=m_{{\vec {G}}_{m}}(x).$

## Algorithmes
### Suppression–contraction

La formule de récurrence de suppression–contraction pour le polynôme de Tutte s'écrit :
    $T_{G}(x,y)=T_{G-e}(x,y)+T_{G/e}(x,y)$,
lorsque $e$ n'est ni une boucle ni un isthme. Ceci donne immédiatement un algorithme récursif pour le calcul du polynôme : choisir une arête quelconque e et appliquer la formule jusqu'à ce que toutes les arêtes restantes sont soit des boucles, soit des isthmes. Les cas restants sont alors faciles à évaluer.
À un facteur polynomial près, le temps de calcul t de cet algorithme peut être exprimé en fonction du nombre n de sommets et du nombre m d'arêtes du graphe,
    $t(n+m)=t(n+m-1)+t(n+m-2)$ ;
cette relation est similaire à celle des nombres de Fibonacci avec pour solution :
    $t(n+m)=\left({\frac {1+{\sqrt {5}}}{2}}\right)^{n+m}=O(1.6180^{n+m}).$
L'analyse peut être améliorée par un facteur polynomial en le nombre $\tau (G)$ d'arbre couvrants du graphe donné. Pour des graphes creux, avec $m=O(n)$ ce temps de calcul est en $O(\exp(n))$. Pour les graphes réguliers de degré k, le nombre d'arbres couvrants peut être borné par
    $\tau (G)=O\left(\nu _{k}^{n}n^{-1}\log n\right),$ avec $\nu _{k}={\frac {(k-1)^{k-1}}{(k^{2}-2k)^{k/2-1}}}$,
de sorte que l'algorithme de suppression–contraction s'exécute avec un facteur polynomial de cette borne. On a par exemple : $\nu _{5}\approx 4.4066.$
En pratique, un test d'isomorphisme de graphes est utilisé pour éviter des appels récursifs. Cette approche fonctionne bien pour des graphes que sont creux et qui présentent beaucoup de symétries ; l'efficacité dépend alors de l'heuristique utilisé pour choisir l'arête e$^,$$^,$. Le choix de l'arête à supprimer s'avère primordial.

### Élimination de Gauss-Jordan

Dans certains cas particuliers, le polynôme de Tutte peut être calculé en temps polynomial parce que l'élimination de Gauss-Jordan permet un calcul efficace des opérations matricielles comme le déterminant et le pfaffien. Ces algorithmes constituent eux-mêmes des résultats importants en théorie algébrique des graphes et en mécanique statistique .
$T_{G}(1,1)$ est égal au nombre $\tau (G)$ d'arbres couvrants d'un graphe connexe. Cette valeur peut se calculer en temps polynomial en tant que déterminant de la sous-matrice principale maximale de la matrice laplacienne de G, un résultat ancien de la théorie algébrique des graphes connu sous le nom de théorème de Kirchhoff. De façon similaire, la dimension de l'espace à deux cycles de $T_{G}(-1,-1)$ peut être calculé par élimination de Gauss en temps polynomial.
Pour les graphes planaires, la fonction de partition du modèle d'Ising, c'est-à-dire le polynôme de Tutte sur l'hyperbole $H_{2}$, peut être exprimée comme un pfaffian et calculé de façon efficace au moyen de l'algorithme FKT. Cette idée a été développée par Fisher, Kasteleyn et Temperley pour calculer le nombre de pavages par des dominos pour paver un modèle en treillis plan.

### Méthode de Monte-Carlo

En utilisant une méthode de Monte-Carlo par chaînes de Markov, le polynôme de Tutte peut être approximé d'arbitrairement près sur la branche positive de $H_{2}$, qui est aussi la fonction de partition du modèle d'Ising ferromagnétique. Elle exploite le lien étroit entre le modèle d'Ising et le problème du comptage des couplages dans un graphe. L'idée derrière ce célèbre résultat de Jerrum et Sinclair est de définir une chaîne de Markov dont les états sont les couplages du graphe donné. Les transitions sont définies en choisissant aléatoirement des arêtes et en modifiant le couplage en conséquence. La chaîne de Markov obtenue est rapidement mélangeante et conduit à des couplages « suffisamment aléatoires » qui peuvent être utilisées pour récupérer la fonction de partition par un échantillonnage aléatoire. L'algorithme obtenu est un schéma d'approximation en temps polynomial (FPRAS).

## Complexité algorithmique

Plusieurs problèmes algorithmiques sont associés aux polynômes de Tutte. Le plus direct est le calcul des coefficients du polynôme de Tutte $T_{G}$ pour un graphe $G$ donné.
Ceci permet l’évaluation du polynôme de Tutte en tout point ; par exemple l'évaluation de $T_{G}(-2,0)$ équivaut au calcul du nombre de 3-coloriages de G. Ce problème est #P-complet, même restreint à la famille des graphes planaires, de sorte que le calcul des coefficients d'un polynôme de Tutte d'un graphe est #P-difficile même pour les graphes complets.
Un ensemble de problèmes appelés de manière abrégée « Tutte$(x,y)$ » a été étudié ; il s'agit, étant donné un graphe $G$ de calculer, pour un couple de nombres complexes $(x,y)$, la valeur $T_{G}(x,y)$. La difficulté du problème varie avec les coordonnées $(x,y)$.

### Calcul exact

Si x et y sont tous deux des entiers positifs ou nuls, le problème du calcul de $T_{G}(x,y)$ est dans la classe #P. Pour des entiers relatifs, le polynôme de Tutte contient des termes négatifs, ce qui place le problème dans la classe de complexité GapP (en), qui est la fermeture par soustraction de la classe #P. Pour prendre en compte des coordonnées $(x,y)$ rationnelles, on peut définir une classe correspondant à #P.
La complexité algorithmique du calcul exact de $T_{G}(x,y)$ se partage en deux classes selon la valeur de $x,y\in \mathbb {C}$. Le problème est #P-difficile sauf si $(x,y)$ est un point de l'hyperbole $H_{1}$ ou est l’un des points de l'ensemble suivant (avec $j=e^{2i\pi /3}$) :
    $\{(1,1),(-1,-1),(0,-1),(-1,0),(i,-i),(-i,i),(j,j^{2}),(j^{2},j)\}$,
auquel cas le calcul est en temps polynomial. Pour les graphes planaires, le problème devient polynomial aussi pour les points sur l'hyperbole $H_{2}$, mais reste #P-difficile pour les autres points, même pour les graphes planaires bipartis. Dans la conclusion de son article sur la dichotomie pour les graphes planaires, Vertigan note que le même résultat reste valable même pour la restriction supplémentaire aux graphes de degré au plus trois, à l'exception du point $T_{G}(0,-2)$, qui compte les flots « nowhere-zero » $Z_{3}$ pour lequel le polynôme se calcul en temps polynomial.
Ces résultats admettent divers cas particuliers intéressants. Par exemple, le problème du calcul de la fonction de partition du modèle d'Ising est #P-difficile en général, même avec l'algorithme d'Onsager et Fisher de résolution dans les treillis planaires. De même, les polynômes de Jones sont #P-difficiles à évaluer. Enfin, le calcul du nombre de 4-coloriages d'un graphe planaire est #P-complet, alors que le problème de décision est trivial par le théorème des quatre couleurs. En revanche, compter le nombre de 3-coloriages d'un graphe planaire est #P-complet parce que le problème de décision est connu pour être NP-complet.

### Approximation

Les points qui possèdent un bon algorithme d'approximation sont peu connus. En dehors des points pour lequel le calcul exact peut être fait en temps polynomial, le seul algorithme d'approximation connu pour $T_{G}(x,y)$ est l'algorithme FPRAS de Jerrum et Sinclair, qui est valable pour les points sur l'hyperbole d'Ising $H_{2}$ pour y > 0. Si le graphe donné est restreint aux instances denses, avec degré $\Omega (n)$, alors il existe un FPRAS pour x ≥ 1, y ≥ 1. Même si les résultats sont moins complets que pour le calcul exact, on sait que de larges portions du plan sont difficiles à approximer.