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

Math

Graphentheorie

Kürzeste Wege, Spannbäume und Flüsse auf einem Graphen, gezeichnet während sie berechnet werden: Dijkstras Welle, Kruskals Inseln, die Pfade von Edmonds-Karp und der Schnitt, der dem Fluss gleicht.

Graphentheorie — Bild aus der Anwendung
Bild aus der Anwendung

Was passiert

Vierzig leuchtende Knoten, zufällig verstreut, jeder mit seinen vier nächsten verbunden und mit dem, was nötig ist, damit der Graph ein Stück bleibt - hundert Kanten, ihre Längen die Gewichte und je eine Kapazität von eins bis neun. Drei Fragen, jede vor deinen Augen Schritt für Schritt beantwortet. Kürzeste Wege: Dijkstra schließt Knoten in der Reihenfolge ihres Abstands von der Quelle S ab, und die abgeschlossene Menge breitet sich von S wie eine Welle aus - ein Knoten ist fertig, sobald sein Abstand nicht mehr besser werden kann - bis die Senke T erreicht ist und ihr Weg mit den Abständen entlang aufleuchtet. Bellman-Ford, ein Verfahren ganz ohne Prioritätswarteschlange, stimmt Knoten für Knoten zu, und die Dreiecksungleichung gilt auf jeder Kante. Spannbaum: Kruskal nimmt die Kanten von leicht nach schwer, behält eine, die zwei Inseln verbindet (grün), verwirft eine, die eine Schleife schließen würde (rot), und der Baum ist bei N − 1 Kanten fertig; jede verworfene Kante ist die schwerste auf der Schleife, die sie geschlossen hätte - darum ist die gierige Wahl die billigste Verdrahtung. Fluss: Edmonds-Karp findet den kürzesten Weg mit Restkapazität von S nach T, schiebt den Engpass hindurch und wiederholt das, die Kanten füllen sich bis zu ihren Kapazitäten, bis kein Weg mehr da ist - und dann leuchtet der Schnitt zwischen dem, was S noch erreicht, und dem Rest, und seine Kapazität gleicht dem Fluss: max-flow = min-cut. Klick auf einen Knoten macht ihn zur Quelle, Rechtsklick zur Senke, zieh einen Knoten und jede Antwort wird für die neuen Längen neu berechnet.

Gleichungen des Moduls
Gleichungen
Graph:  N Punkte in [−1, 1]² aus dem gemeinsamen Würfel (Seed 3, N = 40);  jeder verbunden mit seinen k = 4 nächsten Nachbarn, dazu der euklidische minimale Spannbaum, damit der Graph zusammenhängend ist;  100 Kanten, Gewicht = Länge, Kapazität 1 … 9 vom selben Würfel;  S = Knoten ganz links (29), T = Knoten ganz rechts (39)
Dijkstra:  d(S) = 0, die anderen ∞;  den unerledigten Knoten mit kleinstem d festsetzen, d(v) = min(d(v), d(u) + w(u, v)) für seine Nachbarn relaxieren;  festgesetzte Knoten verbessern sich nie;  d(T) = 2.0906 über 6 Kanten;  Bellman–Ford (N − 1 Runden über alle Kanten) stimmt bis auf 10^−12 überein;  d(v) ≤ d(u) + w(u, v) auf jeder Kante
Kruskal:  Kanten nach Gewicht, e behalten, wenn seine Enden in verschiedenen Komponenten liegen (Union-Find);  N − 1 = 39 behalten, 61 übersprungen, Gewicht 8.4480;  die erste übersprungene Kante ist die 12. betrachtete;  Kreiseigenschaft: eine übersprungene Kante ist mindestens so schwer wie jede Kante auf dem Baumpfad zwischen ihren Enden - also ist der gierige Baum minimal
Edmonds–Karp:  Restkapazität c(u, v) − f(u, v);  Breitensuche von S nach T über Kanten mit Restkapazität, den Engpass b entlang des Weges schieben, f(u, v) += b, f(v, u) −= b;  wiederholen, bis kein Weg mehr existiert;  13 Wege mit Engpässen 2 1 2 1 1 1 1 1 2 1 1 1 1, Fluss 16;  der Schnitt (Knoten, die S noch erreicht | der Rest) hat Kapazität 16, 35 Knoten auf der Quellenseite;  Erhaltung: Nettofluss 0 an jedem Knoten außer S und T
einfacher Graph:  keine Schleifen, keine parallelen Kanten;  Σ deg(v) = 2E;  Eulerkreis genau dann, wenn zusammenhängend und jeder Grad gerade, Eulerweg genau dann, wenn genau zwei Grade ungerade sind;  bei c Komponenten behält Kruskal N − c Kanten

Weitere Experimente

Zum Katalog
Voronoi und Delaunay — Bild aus der Anwendung

Math

Voronoi und Delaunay

Nächste-Nachbar-Zellen, die sich umformen, während man ihre Punkte zieht, die dazu duale Delaunay-Triangulation mit ihren leeren Kreisen, Scheiben, die in die Zellen hineinwachsen, und Lloyds Relaxation, die sie zu Sechsecken macht.

Handlungsreisender — Bild aus der Anwendung

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.

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.