Якщо ви припускаєте, що ваш графік є площинним, то для цієї проблеми вибірки існує поліноміальна процедура часу.
По-перше, проблема підрахунку кількості досконалих відповідностей знаходиться в P для плоских графіків. ( https://en.wikipedia.org/wiki/FKT_algorithm ) (Хороший виклад цього факту можна знайти в першій главі книги Джеррума про підрахунок, відбір проб та інтеграцію.)
Далі, для кожного ребра з , підраховують кількість зроблене паросполучення . Це може бути перетворено в ймовірність того, що рівномірний зроблене паросполучення містить - просто розділіть на кількість скоєних паросочетание . Зробіть кромку краю відповідно до цієї ймовірності та продовжте індуктивно.eGG∖eeG
(Це скориставшись тим, що відповідність є "самовідновлюваною" структурою, тому підрахунок проблем та однакові проблеми вибірки по суті однакові. Ви можете побачити JVV "Випадкове покоління комбінаторних структур з рівномірного розподілу" для більш детальної інформації про це точка зору.)
Простий доказ того, що це дає правильний розподіл:
Нехай позначає кількість упорядкованих ідеальних відповідностей у графіку як упорядковані послідовності. (Що в Разів перевищує кількість не упорядкованих ідеальних відповідностей, )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})=1G∖{e1,…,en−1}en1/c(G)