Ich interessiere mich für die Selbstreduzierbarkeit des Graph 3-Coloralibity-Problems.
Definition des Graph 3-Coloralibity-Problems.
Gibt es bei einem ungerichteten Graphen eine Möglichkeit, die Knoten rot, grün und blau zu färben, sodass keine benachbarten Knoten dieselbe Farbe haben?
Definition der Selbstreduzierbarkeit.
Eine Sprache ist selbst reduzierbar , wenn eine Oracle Turingmaschine TM existiert , so dass und für jede Eingabe der Länge , höchstens die Oracle für Wörter der Länge abfragt .L = L ( T L ) x n T L ( x ) n - 1
Ich möchte sehr streng und formal zeigen, dass die Färbbarkeit von Graph 3 selbstreduzierbar ist.
Als Beispiel kann der Nachweis der Selbstreduzierbarkeit von SAT herangezogen werden ( Selbstreduzierbarkeit von SAT ).
Meiner Meinung nach unterscheidet sich die allgemeine Idee des Nachweises der Selbstreduzierbarkeit der Färbbarkeit von Graph 3 in einigen Aspekten vom Nachweis der SAT-Selbstreduzierbarkeit.
- SAT hat zwei Möglichkeiten für jedes Literal (wahr oder falsch) und die Farbbarkeit von Grafik 3 hat drei Möglichkeiten (nämlich rot grün blau).
- Die Auswahl des SAT-Literal ist unabhängig voneinander und die Auswahl der Farben für die Färbbarkeit von Grafik 3 ist streng abhängig. Jeder benachbarte Knoten muss eine andere Farbe haben. Diese Eigenschaft kann möglicherweise dazu beitragen, dass alle Farben weniger iteriert werden.
Die allgemeine Idee des Beweises .
Bezeichnen wir mit die Farbe des Scheitelpunkts , der einen der folgenden Werte annehmen kann (rot, grün, blau). Definieren Sie den Graphen aus einem gegebenen Graphen indem Sie den beliebigen Scheitelpunkt färben , ' rot ' zuweisen und den Graphen mit dem farbigen Scheitelpunkt an den Eingang des Orakels setzen. Wenn Oracle mit 1 antwortet, was bedeutet, dass das geänderte Diagramm immer noch dreifarbig ist, speichern Sie die aktuellen Zuweisungen und starten Sie eine neue Iteration, wobei der unterschiedliche Scheitelpunkt willkürlich ausgewählt wird, Farbscheitelpunkt v i G ' G v 0 c v 0 G ' v 0 v 1 v 1entsprechend den Farben der benachbarten Eckpunkte. Wenn Orakel mit 0 antwortet, was bedeutet, dass die vorherige Zuordnung die Färbbarkeit von 3 unterbrochen hat, wählen Sie eine andere Farbe aus dem Satz von drei Farben aus, jedoch immer noch entsprechend den Farben benachbarter Scheitelpunkte.
Der vorherige Beweis ist nicht mathematisch robust, die Frage ist, wie er verbessert und formaler und mathematisch strenger gestaltet werden kann. Es sieht so aus, als müsste ich die Fälle genauer unterscheiden, in denen ein neuer Scheitelpunkt keine Kanten mit bereits farbigen Scheitelpunkten hat und wenn der neue Scheitelpunkt an bereits farbige Scheitelpunkte angrenzt.
Außerdem möchte ich beweisen, dass die Färbbarkeit von Graph 3 nach unten selbstreduzierbar ist.
Definition der nach unten reduzierbaren Sprache.
Die Sprache wird als nach unten selbstreduzierbar bezeichnet, wenn es möglich ist, in Polynomzeit anhand der Ergebnisse kürzester Abfragen zu bestimmen, ob .x ∈ A.
Die Idee scheint einfach und intuitiv zu sein: Beginnen Sie mit dem Färben eines beliebigen Scheitelpunkts und fügen Sie bei jeder Iteration einen weiteren farbigen Scheitelpunkt hinzu und prüfen Sie per Orakel, ob der Graph noch dreifarbig ist, wenn nicht, kehren Sie die vorherige Färbung um und überprüfen Sie eine andere Farbe.
Aber wie man den Beweis streng schreibt und was noch wichtiger ist, wie man eine geeignete Kodierung eines Graphen findet.
Kurz gesagt, ich möchte zeigen, dass die Färbbarkeit von Graph 3 auf strenge und formale Weise selbstreduzierbar und nach unten selbstreduzierbar ist.
Ich werde es begrüßen, Ihre Gedanken mit uns zu teilen.
Aktualisieren:
Selbstreduzierbarkeit nach unten
Die Selbstreduzierbarkeit nach unten wird auf das Entscheidungsproblem angewendet, und das Orakel beantwortet das gleiche Entscheidungsproblem mit kürzeren Eingaben. Am Ende des Prozesses der Selbstreduzierung nach unten sollten wir die richtigen Farbzuweisungen haben.
Jeder dreifarbige Graph mit mehr als drei Eckpunkten hat zwei Eckpunkte mit derselben Farbe. Anscheinend gibt es nur drei Farben und mehr als drei Scheitelpunkte, sodass einige nicht benachbarte Scheitelpunkte möglicherweise dieselbe Farbe haben. Wenn wir fusionieren und mit der gleichen Farbe wie das Ergebnis haben wir noch 3 - einfärbbar Graph, gerade weil, wenn Graph 3 - einfärbbar, dann gibt es existiert richtige Zuordnung aller Scheitelpunkte, die neben sind und nach dem gleiche Farbe von , also durch Zusammenführen vonx , y x y x y x , y x , y x , y G x y G ' G ' G 'Wir müssen keine Farbe von Scheitelpunkten ändern, wir müssen nur mehr Kanten zwischen bereits korrekt gefärbten Scheitelpunkten hinzufügen (ich weiß, dass dies nicht die beste Erklärung ist, ich würde es begrüßen, wenn jemand es besser erklären könnte). Bei jeder Iteration nehmen wir zwei nicht benachbarte Eckpunkte des Graphen , führen und und erhalten den Graphen der unsere kürzere Eingabe für das Orakel ist. Oracle antwortet, ob es dreifarbig ist oder nicht. Jetzt ist das Problem, bevor ich auf die Eingabe von Orakel setze, sollte ich den zusammengeführten Scheitelpunkt färben und die Färbbarkeit von testen. Wenn es nicht dreifarbig ist, ändere die Farbe, aber wie man es richtig implementiert, brauche ich die richtige Codierung dafür.
Selbstreduzierbarkeit
Zuerst sollten wir prüfen, ob ein gegebener Graph dreifarbig ist. Stellen Sie ihn also auf die Eingabe von Orakel ein. Orakel antwortet, wenn er dreifarbig ist. Wenn ja, starten Sie den Vorgang. Zwei beliebige nicht benachbarte Scheitelpunkte können in einem dreifarbigen Diagramm dieselbe Farbe haben. Der Prozess der Selbstreduzierbarkeit sollte in Iterationen ausgeführt werden. Ich denke, wir können von einem kleinen Teilgraphen eines gegebenen Graphen und bei jeder Iteration einen weiteren Eckpunkt von nach hinzufügen . Parallel dazu sollten wir die Zuordnung bereits farbiger Eckpunkte beibehalten. Leider verstehe ich die Idee immer noch nicht ganz. Würde mich über Hilfe und Hinweise freuen.G ' G G G '