MakarovSuites
Polski
EnglishDeutschРусскийУкраїнськаFrançaisEspañolItalianoPolski
Kontakt i licencje

Math

Teoria grafów

Najkrótsze ścieżki, drzewa rozpinające i przepływy na jednym grafie, rysowane w trakcie obliczeń: fala Dijkstry, wyspy Kruskala, ścieżki Edmondsa-Karpa i przekrój równy przepływowi.

Teoria grafów — Obraz z aplikacji
Obraz z aplikacji

Co się dzieje

Czterdzieści świecących węzłów rozrzuconych losowo, każdy połączony z czterema najbliższymi i z tym, czego trzeba, by graf był jedną całością - sto krawędzi, ich długości to wagi, a każda ma przepustowość od jednego do dziewięciu. Trzy pytania, każde rozwiązywane na twoich oczach krok po kroku. Najkrótsze ścieżki: Dijkstra zamyka węzły w kolejności odległości od źródła S, a zbiór zamkniętych rozchodzi się od S jak fala - węzeł jest gotowy w chwili, gdy jego odległości nie da się już poprawić - aż osiągnięty zostanie ujście T i jego ścieżka rozświetli się z odległościami wzdłuż niej. Bellman-Ford, metoda bez żadnej kolejki priorytetowej, zgadza się węzeł w węzeł, a nierówność trójkąta zachodzi na każdej krawędzi. Drzewo rozpinające: Kruskal bierze krawędzie od najlżejszej, zachowuje tę, która łączy dwie wyspy (zieloną), odrzuca tę, która zamknęłaby pętlę (czerwoną), a drzewo jest gotowe przy N − 1 krawędziach; każda odrzucona krawędź jest najcięższa na pętli, którą by zamknęła, dlatego wybór zachłanny to najtańsze okablowanie. Przepływ: Edmonds-Karp znajduje najkrótszą ścieżkę z wolną przepustowością z S do T, przepycha nią wąskie gardło i powtarza, krawędzie wypełniają się do swoich przepustowości, aż ścieżek zabraknie - i wtedy rozświetla się przekrój między tym, do czego S wciąż sięga, a resztą, a jego przepustowość równa się przepływowi: max-flow = min-cut. Kliknięcie węzła czyni go źródłem, prawy klik ujściem; przeciągnij węzeł, a każda odpowiedź zostanie przeliczona dla nowych długości.

Równania modułu
Równania
graf:  N punktów w [−1, 1]² ze wspólnej kostki (ziarno 3, N = 40);  każdy połączony ze swoimi k = 4 najbliższymi, plus euklidesowe minimalne drzewo rozpinające, aby graf był spójny;  100 krawędzi, waga = długość, przepustowość 1 … 9 z tej samej kostki;  S = skrajnie lewy wierzchołek (29), T = skrajnie prawy (39)
Dijkstra:  d(S) = 0, pozostałe ∞;  zatwierdź niezatwierdzony wierzchołek o najmniejszym d, zrelaksuj d(v) = min(d(v), d(u) + w(u, v)) dla jego sąsiadów;  zatwierdzone wierzchołki już się nie poprawiają;  d(T) = 2.0906 po 6 krawędziach;  Bellman–Ford (N − 1 rund po wszystkich krawędziach) zgadza się z dokładnością 10^−12;  d(v) ≤ d(u) + w(u, v) na każdej krawędzi
Kruskal:  krawędzie według wagi, zachowaj e, gdy jej końce leżą w różnych składowych (struktura zbiorów rozłącznych);  N − 1 = 39 zachowanych, 61 pominiętych, waga 8.4480;  pierwsza pominięta krawędź jest 12. rozważaną;  własność cyklu: pominięta krawędź jest co najmniej tak ciężka jak każda krawędź na ścieżce w drzewie między jej końcami - więc zachłanne drzewo jest minimalne
Edmonds–Karp:  przepustowość rezydualna c(u, v) − f(u, v);  przeszukiwanie wszerz od S do T po krawędziach z przepustowością rezydualną, przepchnij wąskie gardło b wzdłuż ścieżki, f(u, v) += b, f(v, u) −= b;  powtarzaj, aż nie będzie ścieżki;  13 ścieżek z wąskimi gardłami 2 1 2 1 1 1 1 1 2 1 1 1 1, przepływ 16;  przekrój (wierzchołki, do których S wciąż dociera | reszta) ma przepustowość 16, a po stronie źródła jest 35 wierzchołków;  zachowanie: przepływ netto 0 w każdym wierzchołku oprócz S i T
graf prosty:  bez pętli, bez krawędzi wielokrotnych;  Σ deg(v) = 2E;  cykl Eulera istnieje wtedy i tylko wtedy, gdy graf jest spójny i każdy stopień jest parzysty, ścieżka Eulera wtedy i tylko wtedy, gdy dokładnie dwa stopnie są nieparzyste;  przy c składowych Kruskal zachowuje N − c krawędzi

Inne eksperymenty

Wróć do katalogu
Woronoj i Delaunay — Obraz z aplikacji

Math

Woronoj i Delaunay

Komórki najbliższego sąsiada, które przebudowują się, gdy przeciągasz ich punkty, dualna do nich triangulacja Delaunaya z pustymi okręgami, dyski rosnące w komórki i relaksacja Lloyda, która zamienia je w sześciokąty.

Komiwojażer — Obraz z aplikacji

Math

Komiwojażer

Trasa, która skraca się na twoich oczach - zachłanna, 2-opt rozplątujący krawędź po krawędzi, wyżarzanie przełażące przez mur - wobec dokładnego optimum dla trzynastu miast i brutalnej siły po każdej trasie dla ośmiu.

Hipoteza Collatza — Obraz z aplikacji

Math

Hipoteza Collatza

Parzyste na pół, nieparzyste potrój i dodaj jeden: każdy start spada do jedynki i nikt nie wie dlaczego - lot jednej liczby, krajobraz czasów zatrzymania do 4096 i ta sama reguła z 3n − 1 i 5n + 1, które zapętlają się i uciekają.