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 ?
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:
- ,
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?
quelle
Antworten:
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).
quelle
quelle
Heute Nachmittag las ich Stringology - die "echte" Stringtheorie .
quelle
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.)
quelle
quelle
Ich denke, das Aushängeschild für diese Kategorie ist, zumindest was die Schwierigkeitsanalyse betrifft, das folgende Problem:
Das Vier-Farben-Theorem vereinfacht den Algorithmus
return true
.quelle
quelle
Ein weiteres Beispiel: Hat ein ungerichteter Graph einen minimalen Schnitt, bei dem alle Kanten nicht zusammenfallen? Wenn ja, finden Sie eine.
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.)
quelle
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.
quelle
Ein etwas komplizierteres Beispiel: Nichtnegative Matrixfaktorisierung , wenn der nichtnegative Rang konstant ist.
quelle
Entscheidung Diffie Hellman
Unter den Standardannahmen der Härte des Problems des diskreten Protokolls kann dieses Problem auch schwierig erscheinen.
Mehr dazu unter Das entscheidende Diffie-Hellman-Problem , Boneh'98 oder ein Google-Lookup zu Pairings
quelle
(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.
quelle
quelle
Hier ist ein weiteres Beispiel: Entscheide bei einem ungerichteten einfachen Graphen, ob es zwei vertex-disjunkte Kreise gibt.
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.
quelle
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.
quelle
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.
quelle