MakarovSuites
Deutsch
EnglishDeutschРусскийУкраїнськаFrançaisEspañolItalianoPolski
Kontakt & Lizenzen

Math

Handlungsreisender

Eine Rundreise, die kürzer wird, während man zusieht - gierig, 2-opt entkreuzt Kante für Kante, Ausglühen klettert über die Mauer - gegen das exakte Optimum für dreizehn Städte und rohe Gewalt über jede Tour für acht.

Handlungsreisender — Bild aus der Anwendung
Bild aus der Anwendung

Was passiert

Vergleichen Sie den Bau des nächsten Nachbarn, die 2-opt-Verbesserung und das simulierte Glühen in denselben Städten. A 2-opt lokales Optimum hat keinen verbessernden Zwei-Kanten-Austausch; Es muss nicht die weltweit kürzeste Tour sein. Das Glühen akzeptiert manchmal längere Touren, um lokale Minimum zu entkommen, ohne das Optimum in einem endlichen Lauf zu garantieren.
Der minimale Spannbaum ist eine untere Grenze auf jeder Tour. Für diese euklidischen Distanzen beweist die Verdoppelung eines Spannbaums und die Abkürzung wiederholter Besuche, dass die optimale Tour höchstens doppelt so groß ist wie der minimale Spannbaum. Diese Begrenzung betrifft das Optimum und eine geeignete baumbasierte Konstruktion; Es beschränkt nicht jede gierige oder mittlere Tour.
Die kleine exakte Szene verwendet dynamische Held-Karp-Programmierung über Teilmengen, mit O(N²·2^N)-Zeit, anstatt jede Permutation aufzuzählen. Die Acht-Städte-Szene kann jede einzelne Tour aufzählen. Exakte Algorithmen müssen die meisten Permutationen nicht inspizieren, aber es ist kein polynomialzeitgenauer Algorithmus für das allgemeine Reiseverkäufer-Problem bekannt. Vergleichen Sie die gemessenen heuristischen Touren mit der exakten Referenz, sofern verfügbar.

Gleichungen des Moduls
Gleichungen
Städte:  N Punkte in [−1, 1]² aus dem gemeinsamen Würfel (Seed 3);  Tourlänge L = Σ |c_k − c_{k+1}| entlang des Zyklus;  (N − 1)!/2 verschiedene Touren: 2520 für 8, 2.4·10^8 für 13, 1.0·10^46 für 40
gierig:  von Stadt 0 aus immer die nächste unbesuchte (bei Gleichstand nach Index);  12.8105 für vierzig Städte
2-opt:  Kanten (a, b) und (c, d) mit a vor c auf der Tour; Δ = |ac| + |bd| − |ab| − |cd|;  das erste Paar in Durchlaufreihenfolge mit Δ < 0 wird durch Umkehren des Abschnitts b … c entkreuzt;  wiederholen, bis keines mehr übrig ist: 16 Entkreuzungen, 10.5850 - die Wand (ein lokales Optimum)
Simuliertes Abkühlen:  ein zufälliges Paar (i, j), i < j, j − i ≥ 2;  akzeptiert, wenn Δ ≤ 0, sonst mit Wahrscheinlichkeit exp(−Δ/T);  T₀ = 0.3, T ← 0.9997 T in jedem Schritt, 20 000 Schritte;  Seed 6: beste 10.4954, 462 akzeptiert, 231 bergauf;  2-opt darauf: 10.2673
Schranke:  MST ≤ L für jede Tour (eine Tour ohne eine Kante ist ein aufspannender Baum), und die Tour eines verdoppelten Baums zeigt L_opt ≤ 2·MST;  MST = 8.4480 für die vierzig (der Baum von GraphTheory, derselbe Würfelwurf);  10.2673 / 8.4480 = 1.215
Held–Karp:  dp[S, k] = kürzester Weg von 0 durch die Menge S, der in k endet;  dp[S + k, k] = min über j in S von dp[S, j] + |jk|;  2^N·N² Schritte;  13 Städte, Startwert 8: Optimum 7.4710, Rundreise 0 7 1 3 12 6 8 10 5 4 11 2 9;  2-Opt von 50 zufälligen Rundreisen (Fisher–Yates mit Startwerten 100 …): 7 erreichen es, schlechteste 1.0789 ×, Mittel 1.0678 ×
vollständige Aufzählung:  jede Permutation von 1 … N − 1 in lexikografischer Reihenfolge, jede Rundreise einmal (erste < letzte);  8 Städte, Startwert 3: 2520 Rundreisen, beste 5.2175 = Held–Karp, längste 11.9462, Mittel 9.1055

Weitere Experimente

Zum Katalog
Collatz-Vermutung — Bild aus der Anwendung

Math

Collatz-Vermutung

Halbieren, wenn gerade, verdreifachen und eins addieren, wenn ungerade: jeder Start fällt auf eins, und niemand weiß warum - der Flug einer Zahl, die Landschaft der Stoppzeiten bis 4096 und dieselbe Regel mit 3n − 1 und 5n + 1, die kreisen und entkommen.

Primzahlspiralen — Bild aus der Anwendung

Math

Primzahlspiralen

Die Zahlen auf eine quadratische Spirale gelegt, die Primzahlen beleuchtet: Diagonalen erscheinen, die nicht da sein dürften, viermal so dicht wie das Quadrat, und mit 41 in der Mitte läuft Eulers n² + n + 41 eine davon hinab; die Sacks-Spirale, und π(N) gegen N/ln N, während die Spirale wächst.

Sonnenblume — Bild aus der Anwendung

Math

Sonnenblume

Vogels Sonnenblume, Korn für Korn gewachsen, r = √n und θ = n·α: Ziehen Sie über die Scheibe, der Winkel gleitet, die Spiralen wickeln sich ab, fallen auf Strahlen zusammen und rasten beim goldenen Winkel 137,508° ein, wo das engste Paar bei jeder Größe 1,602 ist und die Familien Fibonacci-Zahlen sind - die Packung live gemessen, eine Aufgabe zum Winkel und das Diagramm Packung gegen Winkel.