Während ich über die Komplexität des Testens der Isomorphie asymmetrischer Graphen nachdachte (siehe meine verwandte Frage zur Theorie), kam mir eine ergänzende Frage in den Sinn.
Angenommen, wir haben eine Polynomzeit-Turing-Maschine , die am Eingang 1 n einen Graphen G M , n mit n Knoten erzeugt.
Wir können das Problem :
("Winziger" GI): Gegeben ein Graph , ist G isomorph zu G M , | V | ?
Mit anderen Worten, wir müssen ein gegebenes Diagramm mit einem "Referenz" -Diagramm gleicher Größe vergleichen, das von einer Turingmaschine fester Polynomzeit erzeugt wird .
Für alle Polynomzeit Turingmaschinen , haben wir Π M ∈ N P , und für viele von ihnen haben wir Π M ∈ P . Aber ist es wahr für alle M ? Ist das Problem bekannt?
Auf den ersten Blick dachte ich, dass jedes viel einfacher sein sollte als G I , weil es für jedes n nur einen "Referenz" -Graphen dieser Größe gibt und vielleicht die Symmetrien / Asymmetrien der von M erzeugten Graphen ausgenutzt werden können Es kann ein effizienter Ad-hoc-Isomorphismus-Tester gebaut werden ... aber es ist nicht wahr: M kann eine Art polynomisch getaktete Universal-Turing-Maschine enthalten, die die (unäre) Eingabe 1 n verwendet , um völlig andere (in der Struktur) Referenzgraphen als n zu erzeugen steigt.
quelle
Antworten:
[Dies sind eher ein paar erweiterte Kommentare als eine Antwort.]
1) Wenn , dann gibt es keine festpolynomielle Grenze für die Zeitkomplexität von allen Π M , auch für M , die nur Zeit brauchen , sagen wir n 3 : Wenn für alle Zeit n 3 M , Π M ∈ D T I M E ( n k ) , dann ist das Folgende ein Mehrfachzeitalgorithmus für GI. Konstruiere am Eingang ( G , H ) eine Turingmaschine M G mit einer Uhr, die dafür sorgt, dass M GGI∉P ΠM M n3 n3 M ΠM∈DTIME(nk) (G,H) MG MG Läuft bei Eingaben der Größe n nie länger als Schritte , und zwar so, dass M G ( 1 | V ( G ) | ) = G ist , und löst dann Π M G ( H ) in der Zeit O ( n k ) .n3 n MG(1|V(G)|)=G ΠMG(H) O(nk)
2) Da für jeden , Π M nicht schwerer als GI ist, denke man könnte , dass das beste Ergebnis entlang der Linien von „ Π M in nicht zu sein scheint P “ konnte man hofft ein GI-Vollständigkeit Ergebnis. Es scheint mir jedoch unwahrscheinlich, dass ein Π M vollständig sein könnte, zumindest aus den folgenden Gründen:M ΠM ΠM P ΠM
Alle mir bekannten GI-Vollständigkeitsergebnisse beziehen sich auf relativ große Klassen von Diagrammen, statt auf ein einzelnes Diagramm jeder Größe. Auch wenn Sie die Effizienzanforderung vollständig fallen lassen, sind mir keine Diagrammlisten so dass | V ( G n ) | = N (oder sogar p o l y ( n ) ) , so dass die Prüfung auf Isomorphismus G n GI-abgeschlossen ist.G1,G2,… |V(Gn)|=n poly(n) Gn
In einem verwandten Punkt sind die meisten (alle?) GI-Vollständigkeitsergebnisse nicht nur Viel-Eins-Reduktionen, sondern haben die folgende Form: Es gibt eine Funktion so dass bei gegebener Instanz ( G , H ) von GI ( f ( G ) , f ( H ) ) ist eine Instanz des anderen GI-vollständigen Problems. (Dies sind nur polyzeitliche Morphismen von Äquivalenzrelationen oder das, was Fortnow und ich "Kernelreduktionen" nannten.) Wir können ohne weiteres bedingungslos zeigen, dass es keine solche Reduktion von GI auf Π M gibt (selbst wenn Sie die Definition so ändern, dass M zulässig istf (G,H) (f(G),f(H)) ΠM M um mehrere Graphen auszugeben). Hinweis: Verschaffen Sie sich einen Widerspruch, indem Sie zeigen, dass das Bild eines solchen vollständig in { G M , n } n ≥ 0 enthalten sein muss .f {GM,n}n≥0
3) Auch wenn man basierend auf einem universellen TM konstruieren könnte, wie in der Frage vorgeschlagen, kann man vielleicht immer noch einen effizienten Tester konstruieren, nur nicht effizient. Das heißt, vielleicht für jeden M , Π M ist in P / p o l y ?M M ΠM P/poly
quelle
Ich habe keine Antwort auf Ihre Frage, schlage aber vor, eine eingeschränktere Version von in Betracht zu ziehen, für die wir zeigen können, dass sie in P liegt.ΠM
Betrachten wir nur Graphenfamilien, bei denen die Anzahl der Kanten logarithmisch zunimmt. Ich werde dies formalisieren, indem ich Ihre Problemformulierung umformuliere, auch um zu sehen, ob ich es richtig verstanden habe.
Ein ungerichteter Graph mit n Kanten kann durch ein n 2 - n beschrieben werdenG n lange Bitfolge, verketten Sie einfach die Einträge der Adjazenzmatrix vonGim oberen Dreieck. Daher gibt es2 n 2 - nn2−n2 G mögliche Graphen aufnEckpunkten. Daraus folgt, dass jede Funktionf:N→N ist,so dass0≤f(n)<2n2-n ist2n2−n2 n f:N→N für allenbeschreibt eine Familie von Graphen. Für jede effizient berechenbare solche Funktionfdefinieren wirΠfals
G∈Πf0≤f(n)<2n2−n2 n f Πf
quelle