Se você assumir que seu gráfico é plano, existe um procedimento de tempo polinomial para esse problema de amostragem.
Primeiro, o problema de contar o número de combinações perfeitas está em P para gráficos planares. ( https://en.wikipedia.org/wiki/FKT_algorithm ) (Uma boa exposição desse fato pode ser encontrada no primeiro capítulo do livro de Jerrum sobre Contagem, Amostragem e Integração.)
Em seguida, para cada aresta e de G , conte o número de combinações perfeitas de G ∖ e . Isso pode ser transformado na probabilidade de uma correspondência perfeita uniforme contém e - basta dividir pelo número de emparelhamentos perfeitos em G . Faça uma amostra de uma aresta de acordo com essa probabilidade e continue indutivamente.
(Isso está tirando vantagem do fato de as correspondências serem uma estrutura "auto-redutível", portanto, problemas de contagem e problemas de amostragem uniforme são essencialmente os mesmos. Você pode ver JVV "Geração aleatória de estruturas combinatórias a partir de uma distribuição uniforme" para obter mais informações sobre isso. ponto de vista.)
Uma prova simples de que isso fornece a distribuição correta:
c ( H)Hn !n = H/ 2
e1, ... , En
c ( G ∖ e1)c ( G )c ( L ∖ { e1, e2} )c ( G ∖ e1)... c ( G ∖ { e1, … , En - 1} )c ( L ∖ { e1, … , En - 2} )
c ( L ∖ { e1, … , En - 1} ) = 1G ∖ { e1, ... , En - 1}en1 / c ( G )