Die Klasse A bezeichne alle Graphen der Größe , die einen Hamilton-Zyklus haben. Es ist einfach, einen zufälligen Graphen aus dieser Klasse zu erstellen - n isolierte Knoten nehmen, einen zufälligen Hamilton-Zyklus hinzufügen und dann Kanten zufällig hinzufügen.
Die Klasse B bezeichne alle Graphen der Größe die keinen Hamilton-Zyklus haben. Wie können wir einen zufälligen Graphen aus dieser Klasse auswählen? (oder etwas in der Nähe tun)
ds.algorithms
graph-theory
Jagadisch
quelle
quelle
Antworten:
Dies ist unmöglich (es sei denn, NP = coNP), da dies insbesondere eine Polyzeitfunktion impliziert, deren Bereich die Nicht-Hamilton-Graphen sind (die Funktion geht von der Zufallszeichenfolge zum Ausgabegraphen), was wiederum einen NP-Beweis impliziert von Nicht-Hamiltonianität (um zu beweisen, dass G keinen Hamilton-Schaltkreis hat, zeigen Sie x, das diesem zugeordnet ist.)
quelle
Bollobas, Fenner und Frieze (http://portal.acm.org/citation.cfm?id=22145.22193) geben einen polynomiellen Zeitalgorithmus zum Auffinden von Hamilton-Zyklen in Zufallsgraphen an, dessen Fehlerrate asymptotisch gegen 0 tendiert des Graphen. Wenn Sie n Scheitelpunktgraphen erzeugen möchten, die nicht Hamiltonsch sind, können Sie einen Zufallsgraphen auswählenGn , m m n
quelle
Die erste Aufgabe ist einfach, da Hamilton-Graphen leicht zu überprüfen sind. Es ist jedoch kein kurzer Beweis bekannt, der effizient verifiziert werden kann, um zu bezeugen, dass ein gegebener Graph kein Hamilton-Graph ist.
quelle