Was ist der einfachste Polynomalgorithmus für PLANARITÄT?


28

Es gibt verschiedene Algorithmen, die in Polynomialzeit entscheiden, ob ein Graph in der Ebene gezeichnet werden kann oder nicht, sogar viele mit einer linearen Laufzeit. Ich konnte jedoch keinen sehr einfachen Algorithmus finden, den man im Unterricht leicht und schnell erklären und der zeigen würde, dass PLANARITÄT in P ist. Kennen Sie einen?

Bei Bedarf können Sie den Satz von Kuratowski oder Fary verwenden, aber keine tiefen Dinge, wie den Satz von Graph Minor. Beachte auch, dass mir die Laufzeit egal ist, ich will nur etwas Polynomisches.

Im Folgenden sind die bisher 3 besten Algorithmen aufgeführt, die einen Kompromiss zwischen Einfachheit und nicht tiefgreifender Theorie zeigen.

Algorithmus 1: Damit können wir überprüfen, ob ein Graph ein oder ein K 3 , 3 als Minor in der Polynomzeit enthält. Wir erhalten einen sehr einfachen Algorithmus unter Verwendung der tiefen Theorie. (Beachten Sie, dass in dieser Theorie bereits Graph-Einbettungen verwendet werden, wie von Saeed angedeutet. Dies ist also kein wirklicher algorithmischer Ansatz, sondern nur eine einfache Erklärung für Schüler, die den Graph-Minor-Satz bereits kannten / akzeptierten.)K5K3,3

Algorithmus 2 [basierend auf einer Antwort von jemandem]: Es ist leicht zu erkennen, dass es ausreicht, sich mit 3-zusammenhängenden Graphen zu befassen. Suchen Sie für diese ein Gesicht und wenden Sie dann den Tutte-Frühlingssatz an.

Algorithmus 3 [von Juho empfohlen]: Demoucron-, Malgrange- und Pertuiset-Algorithmus (DMP). Zeichnen Sie einen Zyklus, Komponenten des verbleibenden Graphen werden Fragmente genannt, wir betten sie auf geeignete Weise ein (währenddessen erzeugen wir neue Fragmente). Dieser Ansatz verwendet keine anderen Theoreme.


1
Ich denke, viele sind sich einig, dass der einfachste polynomielle Zeitalgorithmus der Demoucron-, Malgrange- und Pertuiset-Algorithmus (DMP) ist. Es ist ein Algorithmus, der in der Regel in Lehrbüchern behandelt wird (siehe z. B. Gibbons 1985 oder Bondy & Murty 1976). Reicht es aus, nur die Planarität zu bestimmen, oder sollte der Algorithmus auch eine planare Einbettung ausgeben? IIRC Das SODA'99-Papier von Boyer und Myrvold @joro verweist wahrscheinlich auf fehlende Details, insbesondere in Bezug auf die zeitliche Komplexität.
Juho

2
Wenn Sie nur das Entscheidungsproblem IS PLANAR haben wollen, sind das nicht zwei verbotene Minderjährige, deren Existenz in polynomieller Zeit überprüft werden kann ?
Joro

2
@joro: Ja, das wäre natürlich eine einfache Lösung, aber ich würde es vorziehen, einen so starken Satz nicht zu verwenden.
Domotorp

1
Der Algorithmus, den ich erwähnte, war im Grunde ein Auslander-Parter-Algorithmus. Das Problem in meinem Algorithmus war Teil 7, als ich sagte, dass wir einen zweigliedrigen Graphen von Komponenten erstellen können. Wir können im ursprünglichen Algorithmus, aber im Algorithmus, von dem ich sagte, dass wir genauere Definitionen von Komponenten benötigen, und ich wollte es nicht im Detail erklären. Der rekursive Teil war eindeutig wahr (wenn wir Schritt 7 machen können, dann sind wir fertig), wo Sie an seiner Richtigkeit zweifeln. Ich habe meine Antwort nicht aktualisiert, weil ich gesehen habe, dass sie ungefähr zwei Seiten umfassen wird, und ich kann sie nicht weiter abkürzen und es ist nicht gut, sie einfach zu nennen.
Saeed

3
Die Reduzierung auf 3-zusammenhängende Fälle ist konzeptionell einfach und sollte auf jeden Fall erklärt werden. Wenn wir nicht zu sehr an Effizienz interessiert sind, kann die Reduzierung auf den 3-fach-Fall leicht erfolgen. Überprüfen Sie alle 2-Knoten-Schnitte.
Chandra Chekuri

Antworten:


6

Ich werde einen Algorithmus beschreiben. Ich bin mir nicht sicher, ob es "einfach" ist, und einige der Beweise sind nicht so einfach.

Zuerst zerlegen wir den Graphen in 3 zusammenhängende Komponenten, wie von Chandra Chekuri erwähnt.

  1. Teilen Sie den Graphen in verbundene Komponenten auf.
  2. vGiGiv
  3. v,uGiGi{v,u}

G

  1. CG
  2. CD
  3. D
  4. UGV(C)DG[UV(C)]GFDG[UV(C)]CFGCCC
  5. GG

Bemerkungen:

  • Es ist nicht einfach zu argumentieren, dass die Federeinbettung von Tutte eine planare Einbettung ergibt. Mir hat die Präsentation im Buch von Edelsbrunner und Harer, Computational Topology, gefallen, aber sie ist nur für Triangulationen gedacht. Colin de Verdiere diskutiert die Einbettung des Frühlings in http://www.di.ens.fr/~colin/cours/algo-graphs-surfaces.pdf , Abschnitt 1.4. Eine allgemeine Referenz ist Linial, Lovász, Wigderson: Gummibänder, konvexe Einbettungen und grafische Konnektivität. Combinatorica 8 (1): 91 & ndash; 102 (1988).
  • Das Lösen eines linearen Gleichungssystems in einer Polyomialzahl von arithmetischen Operationen ist durch Gaußsche Eliminierung einfach. Das Lösen mit einer polyonomialen Anzahl von Bits ist nicht so einfach.

Ich habe die Antwort bearbeitet, um Brücken und das Überlappungsdiagramm zu vermeiden.
Jemand

Angenommen, jede Komponente mit drei Anschlüssen kann eingebettet werden. Was können wir dann aus dem ursprünglichen Diagramm ableiten? Wenn Sie diese 3-zusammenhängenden Graphen verwenden, haben Sie (höchstens) eine Einbettung, wahrscheinlich können wir von hier aus fertig werden, aber dieser Schritt muss auch ausgeführt werden.
Domotorp

Was ist am Ende in Schritt 4 ein Gesicht in einer nicht ebenen Zeichnung? Ich denke, dies kann immer noch auf natürliche Weise definiert werden. Und ganz am Ende scheint "Else G ist nicht planar" tatsächlich nicht trivial zu sein.
Domotorp

DG[UV(C)]G

Darin sind wir uns einig, aber ich verstehe nicht, wie das hilft.
Domotorp

3

Der Algorithmus von Boyer und Myrvold gehört zum Stand der Technik der Planaritätstest-Algorithmen

Auf dem neuesten Stand: Vereinfachte O (n) -Planarität durch Kantenaddition von Boyer und Myrvold.

Dieses Buchkapitel gibt einen Überblick über viele Planaritätstestalgorithmen und hoffentlich finden Sie einen ausreichend einfachen Algorithmus.


Ich bin nicht an den neuesten Planaritätsalgorithmen interessiert, ich möchte, dass etwas einfach zu erklären ist. Ich konnte auch nichts Einfacheres als den Demoucron-, Malgrange- und Pertuiset-Algorithmus (DMP) in dem Buch finden.
Domotorp

0

Was ist mit Hopcroft und Tarjans 1974er Algorithmus {1} ?


{1} Hopcroft, John und Robert Tarjan. "Effiziente Planaritätstests." Journal of the ACM (JACM) 21.4 (1974): 549 & ndash; 568.


Es ist ein schneller und kein einfacher Algorithmus.
Domotorp

0

Zwei Algorithmen, beide in LogSpace

  1. Eric Allender und Meena Mahajan - Die Komplexität von Planaritätstests
  2. Samir Datta und Gautam Prakriya - Überprüfung der Planarität

Der zweite ist viel einfacher als der erste.


Gar nicht so einfach.
Domotorp
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.