Comment produire un graphe aléatoire qui n'a pas de cycle hamiltonien?


28

Soit la classe A tous les graphes de taille qui ont un cycle hamiltonien. Il est facile de produire un graphe aléatoire à partir de cette classe - prenez n nœuds isolés, ajoutez un cycle hamiltonien aléatoire, puis ajoutez des bords au hasard.nn

Soit la classe B tous les graphes de taille qui n'ont pas de cycle hamiltonien. Comment pouvons-nous choisir un graphique aléatoire dans cette classe? (ou faites quelque chose de proche)n


3
Comment est-il clair que la première procédure produit des graphiques uniformément au hasard? Il est clair qu'il produit toujours des graphes hamiltoniens, mais comme vous ajoutez des arêtes au hasard plus tard, vous pouvez introduire plus de cycles hamiltoniens, faisant apparaître certains graphes plus fréquemment que d'autres.
Robin Kothari

C'est vrai, mais une distribution uniforme n'a pas été demandée (si cela est peut-être implicite).
Raphael

1
Oui, je me fiche de l'uniformité. Je voudrais donner à chaque graphique de la famille des graphiques non hamiltoniens une chance d'être sélectionné. Le problème de l'échantillonnage uniforme est assez basique: AFAIK, nous ne savons pas comment échantillonner uniformément à partir d'une famille de graphiques de taille n, sans parler de ceux avec des cycles hamiltoniens.
Jagadish

Réponses:


34

C'est impossible (sauf NP = coNP) car cela implique notamment une fonction poly-temps dont la plage est les graphes non hamiltoniens (la fonction va de la chaîne aléatoire au graphe de sortie), ce qui à son tour impliquera une NP-proof de non-hamiltonianicité (pour prouver que G n'a pas de circuit hamiltonien, montrez x qui lui correspond.)


3
Vous supposez qu'une telle fonction appartient à la classe des graphes non hamiltoniens. Ce n'est le cas que si nous voulons que la distribution soit uniforme. Voir aussi le commentaire d'Aaron ci-dessous: cstheory.stackexchange.com/questions/562/…
Ohad Kammar

5
Cela ne suppose rien sur les probabilités de choisir chaque graphique (comme s'il était uniforme), mais seulement que les graphiques qui peuvent être sortis par les algorithmes sont exactement ceux non hamiltoniens (sur). Si vous autorisez une erreur de chaque côté, cela peut en effet être possible.
Noam

1
Je suis d'accord, ce n'est pas l'uniformité de la distribution qui importe, mais plutôt le fait que tous les graphiques non hamiltoniens ont une probabilité non nulle. Si même l'un d'entre eux a une probabilité nulle, votre preuve ne s'applique pas (sans plus de connaissances sur le support de la distribution).
Ohad Kammar

1
@Ohad: si l'un d'eux est oublié, vous pouvez simplement l'ajouter à une table de recherche. Je pense que les problèmes ne commencent que si vous en manquez une fraction positive, mais vous n'échantillonnez pas uniformément.
Emil

3
1ϵϵϵ0

11

Gn,mmn

n


C'est une bonne idée, bien que nous puissions ignorer tout l'algorithme probabiliste pour trouver le cycle de Ham. La question ne demande pas que la procédure d'échantillonnage s'exécute dans le polytime attendu ou quoi que ce soit. Créez donc un graphique aléatoire à partir de votre distribution préférée, déterminez s'il s'agit d'un hamiltonien avec un algorithme exact, et s'il est hamiltonien, jetez-le et répétez le processus. Si la distribution utilisée était la distribution uniforme sur tous les graphiques étiquetés, cela produira en fait chaque graphique étiqueté non hamiltonien avec une probabilité uniforme.
JimN

1

La première tâche est facile car les graphiques hamiltoniens sont faciles à vérifier. Cependant, il n'existe aucune preuve courte connue qui puisse être efficacement vérifiée pour constater que le graphe donné n'est pas hamiltonien.


1
Je pense que la réponse de la Turquie soulève une question intéressante. En général, est-il possible d'échantillonner uniformément à partir d'une langue co-NP-complete?
Suresh Venkat

5
.... et Noam répond à cela par la négative.
Suresh Venkat
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.