Si vous supposez que votre graphique est planaire, il existe une procédure temporelle polynomiale pour ce problème d'échantillonnage.
Tout d'abord, le problème du comptage du nombre de correspondances parfaites est dans P pour les graphes planaires. ( https://en.wikipedia.org/wiki/FKT_algorithm ) (Une bonne exposition de ce fait peut être trouvée dans le premier chapitre du livre de Jerrum sur le comptage, l'échantillonnage et l'intégration.)
eGG∖eeG
(Cela profite du fait que les appariements sont une structure "auto-réductible", donc les problèmes de comptage et les problèmes d'échantillonnage uniforme sont essentiellement les mêmes. Vous pouvez voir JVV "Génération aléatoire de structures combinatoires à partir d'une distribution uniforme" pour plus d'informations à ce sujet. point de vue.)
Une simple preuve que cela donne la bonne distribution:
c(H)Hn!n=H/2
e1,…,en
c(G∖e1)c(G)c(G∖{e1,e2})c(G∖e1)…c(G∖{e1,…,en−1})c(G∖{e1,…,en−2})
c(G∖{e1,…,en−1})=1, since G∖{e1,…,en−1} is just the edge en. So this product telescopes and leaves 1/c(G).