Schwer aussehende algorithmische Probleme, leicht gemacht durch Theoreme


28

Ich suche nette Beispiele, bei denen das folgende Phänomen auftritt: (1) Ein algorithmisches Problem sieht schwierig aus, wenn Sie es anhand der Definitionen und nur unter Verwendung von Standardergebnissen lösen möchten. (2) Andererseits wird es einfach, wenn Sie einige (nicht so Standard-) Theoreme kennen.

Das Ziel ist es, den Schülern zu veranschaulichen, dass das Erlernen weiterer Theoreme nützlich sein kann, auch für diejenigen, die sich außerhalb des theoretischen Bereichs befinden (wie Software-Ingenieure, Computer-Ingenieure usw.). Hier ist ein Beispiel:

Frage: Gibt es bei gegebenen ganzen Zahlen einen n- Vertex-Graphen (und wenn ja, finden Sie einen), so dass seine Vertex-Konnektivität k ist , seine Kanten-Konnektivität l ist und sein minimaler Grad d ist ?n,k,l,dnkld

Beachten Sie, dass die Parameter genau den angegebenen Zahlen entsprechen müssen und nicht nur Grenzen sind. Wenn Sie dies von Grund auf lösen möchten, scheint es ziemlich schwierig zu sein. Wenn Sie andererseits mit dem folgenden Theorem vertraut sind (siehe Extremal Graph Theory von B. Bollobas), sieht die Situation ganz anders aus.

Satz: Sei ganze Zahlen. Es existiert ein n- Vertex-Graph mit Vertex-Konnektivität k , Kanten-Konnektivität l und minimalem Grad d , wenn und nur wenn eine der folgenden Bedingungen erfüllt ist:n,k,l,dnkld

  • , 0kld<n/2
  • 12d+2nkl=d<n1
  • k=l=d=n1.

Diese Bedingungen sind sehr einfach zu überprüfen, da es sich um einfache Ungleichungen zwischen den Eingabeparametern handelt, sodass die Existenzfrage mühelos beantwortet werden kann. Darüber hinaus ist der Beweis des Theorems konstruktiv und löst auch das Konstruktionsproblem. Auf der anderen Seite erscheint dieses Ergebnis nicht standardmässig genug, so dass Sie erwarten können, dass jeder davon erfährt.

Können Sie in diesem Sinne weitere Beispiele nennen, bei denen die Kenntnis eines (nicht ganz so gängigen) Theorems eine Aufgabe erheblich vereinfacht?


1
Ich bin nicht sicher, ob ich Ihre Fragen vollständig verstehe. Das Beispiel, das Sie angeben, ist ein nicht triviales Problem, für das Bollobas einen Algorithmus angegeben hat (der eine Charakterisierung impliziert). Mein Eindruck bei Ihrem Beispiel ist also, dass jeder nicht-triviale Algorithmus eine Antwort sein wird ...
Bruno

3
Primalität und der AKS-Satz.
Lamine

@Bruno: Was ich meine ist, dass die algorithmische Aufgabe viel einfacher wird, wenn Sie einen Satz kennen, der nicht gut bekannt ist, so dass man vielleicht noch nie davon gehört hat. Das vorgestellte Beispiel ist nicht perfekt in dem Sinne, dass der Satz hier nicht nur hilft, sondern das Problem tatsächlich löst. Was ich wirklich suche, ist, wenn ein Theorem hilft, eine nützliche Abkürzung bietet, aber das Problem an sich nicht vollständig löst.
Andras Farago

3
Community-Wiki?
Joshua Grochow

1
Robertson-Seymour-Theorem, auch Vermutungen, die das deterministische Auffinden von Primzahlen erleichtern.
Kaveh

Antworten:


31

Entscheidender Isomorphismus einfacher Gruppen, gegeben durch ihre Multiplikationstabellen. Die Tatsache, dass dies in Polynomzeit erfolgen kann, ergibt sich direkt aus der Tatsache, dass alle endlichen einfachen Gruppen durch höchstens 2 Elemente erzeugt werden können, und der derzeit einzige bekannte Beweis für diese Tatsache verwendet die Klassifikation der endlichen einfachen Gruppen (möglicherweise das größte Theorem) - in Bezug auf Autoren, Artikel und Seiten - jemals bewiesen).


3
Dies ist ein großartiges Beispiel! Übrigens behaupten die Kommentare zu dieser Antwort, dass dieses Theorem in gewissem Sinne ungefähr so ​​schwer ist wie die Klassifikation: mathoverflow.net/a/59216/35733
Sasho Nikolov



9

Ermitteln der Anzahl (verschiedener) reeller Wurzeln eines reellen Polynoms, entweder in ganz all oder in einem bestimmten Intervall. Der Satz von Sturm besagt, dass eine Folge von Polynomen, die eine kleine Anzahl von Anforderungen erfüllt, verwendet werden kann, um die Anzahl der reellen Wurzeln eines Polynoms mit reellen Koeffizienten zu zählen.

Dann müssen Sie nur noch eine solche Sequenz konstruieren (was nicht sehr schwierig ist, aber einige Randfälle und die Behandlung des Falls nicht trennbarer Polynome erfordert), und Bob ist Ihr Onkel.

Überraschenderweise wissen nur wenige Menschen über dieses Ergebnis Bescheid, obwohl es ziemlich alt ist (1829). Es wird in vielen Computeralgebrasystemen verwendet, aber alle Mathematikprofessoren an meiner Universität, die ich befragt habe, kannten das Sturmsche Theorem entweder gar nicht oder sie kannten es nur mit dem Namen und es hat etwas mit den Wurzeln von Polynomen zu tun.

Die meisten Menschen sind überrascht recht , wenn Sie ihnen sagen , dass so etwas wie das Zählen reale Wurzeln genau das ist einfach und erfordert keine Annäherung unter Berücksichtigung, dass die Suche nach Wurzeln viel schwieriger ist. (Denken Sie daran, dass es für Polynome des Grades ≥ 5 nicht einmal eine „richtige“ Formel für Wurzeln gibt.)


9

Satz: Jeder planare Graph hat einen Scheitelpunkt mit höchstens 5 Grad.

O(n)(u,v)O(1)

5nuvvu10


5
Mit etwas mehr Sorgfalt können Sie die Größe der Liste, die an jedem Eckpunkt gespeichert ist, auf 3 und die Anzahl der Schritte zum Überprüfen der Nachbarschaft auf 6 reduzieren. Siehe: Planare Ausrichtungen mit geringem Grad an Abweichung und Verdichtung von Nachbarschaftsmatrizen. M. Chrobak und D. Eppstein. Theor. Comp. Sci. 86 (2): 243–266, 1991. ics.uci.edu/~eppstein/pubs/ChrEpp-TCS-91.pdf
David Eppstein

7

Ich denke, das Aushängeschild für diese Kategorie ist, zumindest was die Schwierigkeitsanalyse betrifft, das folgende Problem:

GG

Das Vier-Farben-Theorem vereinfacht den Algorithmus return true.



5

Ein weiteres Beispiel: Hat ein ungerichteter Graph einen minimalen Schnitt, bei dem alle Kanten nicht zusammenfallen? Wenn ja, finden Sie eine.

nn(n1)/2

Es kann auf nahezu minimale Schnitte erweitert werden, die größer als der minimale Schnitt sind, jedoch höchstens um einen konstanten Faktor. Ihre Anzahl ist immer noch durch ein Polynom begrenzt.

(Ich habe nicht nach einer Referenz gesucht. Ich erinnere mich, dass diese Ergebnisse auf D. Karger zurückzuführen sind.)


4

Problem: Satifsiability einer MSO-Formel (monadic second order logic) über endliche Wörter.

Theorem: MSO ist äquivalent zu endlichen Automaten über endlichen Wörtern.

Das Obige kann auf unendliche Worte, endliche Bäume, unendliche Bäume angehoben werden.


4

Ein etwas komplizierteres Beispiel: Nichtnegative Matrixfaktorisierung , wenn der nichtnegative Rang konstant ist.

AMm×nUMm×kVMk×nA=UVA

O(r2)r

(mn)O(r2)UV(mn)o(r)


4

Entscheidung Diffie Hellman

(g,ga,gb,gc)gGgc=gab

Unter den Standardannahmen der Härte des Problems des diskreten Protokolls kann dieses Problem auch schwierig erscheinen.

e(g,gc)=?e(ga,gb)

e:G×GGT

Mehr dazu unter Das entscheidende Diffie-Hellman-Problem , Boneh'98 oder ein Google-Lookup zu Pairings


3

(Trivial) die Existenz eines Nash-Gleichgewichts in einem endlichen Spiel, eine gerade Anzahl von Hamilton-Pfaden in einem kubischen Graphen, verschiedene Arten von Fixpunkten, anständig ausgeglichene Vergleiche in Teilordnungen und viele andere PPAD-Probleme.


Die Existenz von Nash Equilibrium - und viele andere Beweise der Existenz, die PPAD charakterisierten - scheinen keines dieser Probleme algorithmisch leichter zu lösen ...
Joshua Grochow

1
Ich bezog mich auf die Entscheidungsversion dieser Probleme.
Yonatan N

2

((V,E),s,t)EEst(V,E)E

st(V,E)st


1
Man kann sagen, dass Flow einfach ist, wenn man weiß, dass LP einfach ist. Somit erlauben uns zwei große Theoreme (LP in Poly Time und Maxflow-Mincut), Min-Cuts zu berechnen.
Chandra Chekuri

@ChandraChekuri, mein persönliches Gefühl ist, dass das nicht ganz zu der Frage passt: Der Satz, dass LP in polytime lösbar ist, hilft uns nicht, einen Algorithmus für Min-Schnitte zu konstruieren. Wir brauchen den eigentlichen LP-Algorithmus.
Max

Nicht wirklich. Wenn Sie den Min-Cut-Wert in einem gegebenen Diagramm effizient finden können, können Sie einen solchen Algorithmus verwenden, um den tatsächlichen Cut selbst zu finden.
Chandra Chekuri

2

Hier ist ein weiteres Beispiel: Entscheide bei einem ungerichteten einfachen Graphen, ob es zwei vertex-disjunkte Kreise gibt.

23

3K5K3,n3

Da es einfach ist zu überprüfen, ob ein Graph einer der vom Theorem zugelassenen Graphen ist, liefert dies uns einen Polynom-Zeit-Algorithmus für das Entscheidungsproblem.

Anmerkungen: (1) Der Beweis des Theorems ist überhaupt nicht einfach. (2) Sobald wir entschieden haben, dass zwei getrennte Schaltkreise existieren, scheint es weniger klar zu sein, wie das zugehörige Suchproblem zu lösen ist, dh wie solche Schaltkreise tatsächlich zu finden sind. Der Satz gibt dazu keine direkten Hinweise.


1

weniger komplexe Beispiele: Es gibt einige theoremartige Eigenschaften, die zeigen, dass gierige Algorithmen für einige Probleme optimal sind. es ist nicht so offensichtlich, dass ein nicht initiierter Minimum-Spanning-Tree von einem gierigen Algorithmus gefunden werden kann. Etwas ähnlich ist konzeptionell der Algorithmus von Dijkstra , um einen kürzesten Weg in einem Graphen zu finden. Tatsächlich sind in beiden Fällen die zugehörigen "Theoreme" fast die gleichen wie die Algorithmen.


Ich denke, dies ist eine bessere Antwort, wenn Sie zum Beispiel eine Anweisung der cut-Eigenschaft von MST einfügen und erwähnen, wie dies die Korrektheit einer ganzen Klasse von gierigen MST-Algorithmen impliziert.
Sasho Nikolov

Die MST-Schnitteigenschaft ist auf der Wikipedia-Seite aufgeführt. Vielleicht können Sie andere Verallgemeinerungen verweisen, die dort nicht behandelt werden. Übrigens fragte der Fragesteller nach Beispielen, die "jenen außerhalb des theoretischen Feldes" dienen (andere nette Beispiele könnten für Außenstehende zu fortgeschritten sein)
vzn

TeTeABeE(A,B)

1

Finden Sie die Folge von Fibonacci-Zahlen, die das Produkt anderer Fibonacci-Zahlen sind. Zum Beispiel ist die Fibonacci-Zahl 8 in der Folge, weil 8 = 2 * 2 * 2 und 2 eine Fibonacci-Zahl ungleich 8 ist. Die Fibonacci-Zahl 144 ist in der Folge, weil 144 = 3 * 3 * 2 * 2 * 2 * 2 und 2 und 3 sind Fibonacci-Zahlen, die nicht gleich 144 sind.

Der Satz von Carmichael impliziert, dass 8 und 144 die einzigen Ausdrücke dieser Sequenz sind.

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.