Devlog #79 – Fala 59: dziwne atraktory, wilk-owca i Kuramoto

Fala 59 obejmuje teorię chaosu, ekologię i neuronaukę — z wizualizatorem dziwnych atraktorów 3D obracanym przeciągnięciem, obejmującym cztery klasyczne układy chaotyczne, przestrzenną agentową symulacją drapieżnik-ofiara generującą emergentne cykle populacji, oraz modelem sprzężonych oscylatorów Kuramoto pokazującym przejście fazowe od niekoherencji do synchronizacji. Biblioteka liczy teraz 553 symulacje.

Fala 59 — dodano 3 symulacje
553
Symulacji łącznie
3
Nowych w tej fali
59
Numer fali
79
Numer devlogu

Nowe symulacje

🌀

Dziwne atraktory — Lorenz, Rössler, Thomas, Halvorsen

Wizualizacja 3D czterech chaotycznych dziwnych atraktorów z obracaniem przeciągnięciem. Całkowanie RK4, trzy tryby kolorystyczne (prędkość / czas / głębokość), regulowane ślady i parametry. Wykonuje z góry 2000 kroków, aby ustabilizować się na atraktorze przed wyświetleniem.

🐺

Drapieżnictwo wilk-owca — ekologia agentowa

Przestrzenna siatka 50×50, na której owce jedzą trawę, wilki polują na owce z użyciem zasięgu wzroku, a owce uciekają przed pobliskimi wilkami. Wykres szeregu czasowego populacji pokazuje cykle w stylu Lotki-Volterry wyłaniające się z lokalnych reguł.

🔄

Synchronizacja Kuramoto — sprzężone oscylatory fazowe

N oscylatorów rządzonych równaniem dφᵢ/dt = ωᵢ + (K/N)Σsin(φⱼ−φᵢ). Szereg czasowy parametru porządku r(t) oraz żywy histogram fazy pokazują ciągłe przejście fazowe synchronizacji przy K_c ≈ 2σ_ω.

🌀 Dziwne atraktory — trójwymiarowa topologia chaosu

Co czyni atraktor „dziwnym"?

Dziwny atraktor to zbiór, ku któremu ewoluuje układ dynamiczny, ale w którym sąsiadujące trajektorie rozbiegają się wykładniczo — znak rozpoznawczy chaosu deterministycznego. Kluczowe własności to: (1) ograniczony ruch, (2) wrażliwość na warunki początkowe (dodatni wykładnik Lapunowa) oraz (3) struktura fraktalna (niecałkowity wymiar Hausdorffa).

Symulacja implementuje cztery klasyczne układy przy użyciu całkowania metodą Rungego-Kutty 4. rzędu (RK4). Punkty przechowywane są w cyklicznym buforze śladu i renderowane jako odcinki z przezroczystością alfa. Prosta projekcja perspektywiczna z dwoma kątami obrotu (rotX, rotY) pozwala na pełną eksplorację 3D poprzez przeciąganie myszą lub dotyk.

Cztery atraktory

Tryby kolorystyczne

Trzy tryby ujawniają różną geometrię atraktora:

🐺 Drapieżnictwo wilk-owca — przestrzenna ekologia agentowa

Od równań różniczkowych do pojedynczych agentów

Klasyczne równania Lotki-Volterry opisują dynamikę drapieżnik-ofiara za pomocą gładkich równań różniczkowych. Ta symulacja zastępuje je pojedynczymi agentami na siatce 50×50, gdzie każda owca i wilk podejmują własne, lokalne decyzje w każdym takcie. Cykle w skali globalnej wyłaniają się z czysto lokalnych interakcji — żadne równanie nie koduje oscylacji wprost.

Reguły agentów

Wykres szeregu czasowego populacji zapisuje historię przez 350 taktów. Typowe zachowanie: owce przekraczają liczebność, gdy trawy jest pod dostatkiem → populacja wilków rośnie z opóźnieniem → populacja owiec się załamuje → wilki głodują → owce się odbudowują. Struktura przestrzenna tworzy ostoje — obszary, w których owce przetrwają fale wilków — co podtrzymuje cykle zamiast prowadzić do wymarcia.

🔄 Synchronizacja Kuramoto — przejście fazowe w sprzężonych oscylatorach

Model

Yoshiki Kuramoto (1975) zaproponował jeden z najbardziej eleganckich modeli w nauce o układach nieliniowych. Każdy oscylator i ma fazę φᵢ ∈ [0, 2π), która ewoluuje jako:

dφᵢ/dt = ωᵢ + (K/N) Σⱼ sin(φⱼ − φᵢ)

gdzie ωᵢ pochodzi z rozkładu Gaussa o rozrzucie σ, a K jest globalną siłą sprzężenia. Częstości własne są zamrożone (nieporządek wygaszony), więc bez sprzężenia każdy oscylator porusza się po prostu z częstością ωᵢ. Człon sprzężenia sin przyciąga każdy oscylator do faz jego sąsiadów.

Parametr porządku i przejście fazowe

Stopień synchronizacji mierzony jest zespolonym parametrem porządku:

r e^(iψ) = (1/N) Σⱼ e^(iφⱼ)     →     r ∈ [0, 1]

r = 0 oznacza, że fazy są rozłożone jednorodnie (niekoherentne); r = 1 oznacza, że wszystkie fazy są identyczne (pełna synchronizacja). Dokładne rozwiązanie Kuramoto dla lorentzowskiego rozkładu częstości daje krytyczne sprzężenie:

K_c = 2γ   (Lorentzian)    K_c ≈ 2σ√(2/π)  (Gaussian)

Poniżej K_c: r → 0 przy N → ∞ (faza niekoherentna). Powyżej K_c: r wzrasta w sposób ciągły od zera — przejście fazowe drugiego rodzaju. Symulacja wykorzystuje rozkład Gaussa i szacuje K_c ≈ 2σ jako szybki punkt odniesienia.

Spróbuj tego

Zastosowania w świecie rzeczywistym

Synchronizacja typu Kuramoto występuje w biologii i inżynierii: komórki rozrusznika serca w węźle zatokowo-przedsionkowym, neuronalne oscylacje gamma w korze mózgowej, komórki zegara dobowego w jądrze nadskrzyżowaniowym, migające świetliki oraz stabilność sieci energetycznych prądu przemiennego. Uniwersalność tego modelu jest jednym z najbardziej uderzających faktów w nauce o układach złożonych.

Co dalej

Kandydaci do fali 60 obejmują: system reakcji-dyfuzji Turinga (odmienny od maszyny Turinga), solver płynu lepkosprężystego, zespół podwójnego wahadła pokazujący powstawanie chaosu oraz wizualizator nauki o sieciach dla grafów losowych/bezskalowych/małych światów. Rozważamy również dodanie funkcji „kolekcji", pozwalającej odwiedzającym zapisywać w zakładkach i udostępniać wyselekcjonowane zestawy symulacji.

← Devlog #78 — Fala 58 Wszystkie wpisy →