Strona głównaArtykułyChaos

Lorencowy Atrakter: Trzy Równania, Które Złamały Prognozę

Skurcz objętości, niestabilne punkty stacjonarne, próg Hopf przy ρ ≈ 24.74, wycentrowania Liunga i powód, dla którego prognozy pogody mają ograniczony horyzont.

mysimulator teamZaktualizowano — czerwiec 2026≈ 12 min czytania▶ Otwórz symulację

Trzy równania, jeden wypadek

W 1963 roku Edward Lorenz, meteorolog z MIT, opublikował Przepływ Nieokresowy o Podobieństwie Deterministycznym — artykuł dotyczący drastycznie uproszczonego modelu konwekcji w warstwie płynu podgrzewanego od dołu. Przycinając równania rządzące do trzech najważniejszych trybów, otrzymuje się system tak mały, że mieści się na jednej linii, a mimo to robi coś, czego nikt nie oczekiwał:

dx/dt = σ (y − x) dy/dt = x (ρ − z) − y dz/dt = x y − β z

σ = 10 liczba Prandtla ρ = 28 liczba Rayleigha (względem jej wartości krytycznej) β = 8/3 stosunek geometryczny Tutaj x jest proporcjonalny do natężenia ruchu konwekcyjnego, y do różnicy temperatur między rosnącymi a opadającymi prądami, a z do zniekształcenia pionowego profilu temperatury. System jest deterministyczny — brak szumu, braku losowości, trzy zwykłe równania różniczkowe — a mimo to jego rozwiązania nigdy się nie powtarzają i nigdy się nie ustabilizują.

Słynny początekowy wątek jest prawdziwy: Lorenz uruchomił ponownie symulację z wydruku, w którym zaokrąglono 0.506127 do 0.506, spodziewając się niewielkiego odchylenia, i obserwował, jak dwie symulacje rozdzielały się na zupełnie różne warunki pogodowe. To efekt motyla, a kształt śladu trajektorii — dwa łobuzgi połączone jak skrzydła — to właśnie ten kształt sprawia, że ​​nazwa doskonale pasuje.

dx/dt = σ (y − x)
dy/dt = x (ρ − z) − y
dz/dt = x y − β z

σ = 10      Prandtl number
ρ = 28      Rayleigh number (relative to its critical value)
β = 8/3     geometric aspect ratio
demo na żywo · powiązana symulacja● LIVE

Dlaczego nie może być okresowy i uciekać z tego systemu

Dwie cechy definiują zachowanie układu. Po pierwsze, system jest dyspercyjny. Stała wartość dywergencji pola wektorowego wynosi:

∇·F = ∂/∂x[σ(y−x)] + ∂/∂y[x(ρ−z)−y] + ∂/∂z[xy−βz] = −σ − 1 − β = −(10 + 1 + 8/3) ≈ −13.67 Stała ujemna dywergencja oznacza, że każdy wolumen początkowych warunków kurczy się wykładniczo, w tempie e^(−13.67 t). Wszystkie trajektorie są więc zasysane do zbioru o zerowym wolumenie. Po drugie, ruch jest ograniczony: daleko od początku, terminy −z i −x dominują i przyciągają wszystko z powrotem. Zatem trajektorie są ścisłane w zbiór o zerowym wolumenie, z którego nigdy nie mogą uciec, a mimo to — dla tych wartości parametrów — nie mogą również osiągnąć stanu spoczynku.

Ustalone punkty wyjaśniają ostatni fragment. Istnieją trzy: punkt początkowy oraz symetryczny parę punktów:

C± = ( ±sqrt(β(ρ−1)), ±sqrt(β(ρ−1)), ρ−1 ) = ( ±8.485, ±8.485, 27 ) dla σ=10, ρ=28, β=8/3 C± to dwa centra, wokół których trajektoria spiraluje — jedno na skrzydle, drugie na drugim. Są stabilne dla małych wartości ρ, ale tracą stabilność w subkrytycznym bifurcationie Hopf przy krytycznej wartości wynikającej z parametrów:

ρ_H = σ (σ + β + 3) / (σ − β − 1) = 10 · (10 + 8/3 + 3) / (10 − 8/3 − 1) ≈ 24.74 Przy ρ = 28 przekraczamy ten próg, więc wszystkie trzy punkty stałe są niestabilne. Trajektoria jest przyciągana do punktu stałego, spiraluje na zewnątrz od niego w miarę wzrostu niestabilności, zostaje wyrzucona na drugi łuk, spiraluje na zewnątrz tam i wraca — na zawsze, bez powtarzania się. Ściskamy wolumen do zera, zabraniamy ucieczki, zabraniamy odpoczynku: co pozostaje to dziwaczny atrakktor, zbiór struktury fraktalnej o szacowanej wymiarze Kaplana-Yorka około 2.06 — bardziej niż powierzchnia, mniej niż ciało.

∇·F = ∂/∂x[σ(y−x)] + ∂/∂y[x(ρ−z)−y] + ∂/∂z[xy−βz]
    = −σ − 1 − β = −(10 + 1 + 8/3) ≈ −13.67

Wrażliwa zależność, ilościowo zmierzona

„Chaos” ma tu precyzyjne znaczenie: bliskie trajektorie oddalają się wykładniczo. Tempo to największa wielkość wyzbiorczego Lyapunova λ, a dla klasycznych parametrów wynosi w przybliżeniu 0,9 na jednostkę czasu. Początkowy błąd ε rośnie jak ε·e^(λt), co oznacza, że błąd wzrasta o czynnik e co około 1,1 jednostki czasu i o czynnik 10 co około 2,6.

Praktyczny skutek jest brutalny i jest to powód, dla którego prognozy pogody mają horyzont. Każdy czynnik dziesiętny, którym udoskonalasz swoją początkową pomiarową precyzję, zapewnia stałą, niewielką przedłużenie okresu przewidywalności – nie proporcjonalnie. Aby przewidzieć dwa razy dalej, musisz podnieść do kwadratu dokładność wszystkiego, co wiesz. Nie jest to porażka modelu ani komputera: jest to właściwość dynamiki.

Oznacza to również, że każda numeryczna trajektoria układu Lorenz jest błędna. Zaokrąglenia zmiennoprzecinkowe na 16 cyfr to błąd początkowy rzędu 10⁻¹⁶, a przy λ ≈ 0,9 ten błąd osiąga porządek 1 po około 40 jednostkach czasu. To, co jest niezwykłe – i co sprawia, że obrazy są wiarygodne – to fakt, że obliczona trajektoria, choć nie jest trajektorią przez Twój początkowy punkt, pozostaje blisko jakiejś prawdziwej trajektorii układu (właściwość cienia). Kształt, wymiar i statystyki atraktora są odtwarzane nawet wtedy, gdy indywidualna ścieżka nie jest.

Zatem, choć chaos wydaje się chaotyczny, to w rzeczywistości wynika z fundamentalnych ograniczeń precyzji pomiarowej i obliczeniowej.

Integracja bez kłamstw

System Lorenca nie jest hamiltonowski – nie posiada zachowanej energii – dlatego argument symplastyczny, który faworyzuje Verlet dla trajektorii, tutaj nie ma zastosowania. Ważna jest lokalna dokładność na krótkim horyzoncie, co dokładnie dostarcza klasyczny RK4: cztery obliczenia pochodnej na krok, globalny błąd O(h⁴).

funkcja deriv([x, y, z]) { return [SIGMA * (y - x), x * (RHO - z) - y, x * y - BETA * z]; } // Krok RK4 k1 = deriv(s); const k2 = deriv(add(s, scale(k1, h / 2))); const k3 = deriv(add(s, scale(k2, h / 2))); const k4 = deriv(add(s, scale(k3, h))); s = add(s, scale(add4(k1, scale(k2, 2), scale(k3, 2), k4), h / 6)); Krok o długości h ≈ 0.005–0.01 utrzymuje trajektorię wizualnie czystą. Wyraźny Euler w tym samym kroku nie zadziała: odchyla się od powierzchni przyciągacza i skrzydła rozmazują się. Nie należy się również martwić, gdy dwa uruchomienia tego samego kodu na różnych maszynach odbiegają – różne kolejności sortowania liczb zmiennoprzecinkowych to różne początkowe błędy, a dzięki konstrukcji ten system je wzmacnia.

function deriv([x, y, z]) {
  return [SIGMA * (y - x),
          x * (RHO - z) - y,
          x * y - BETA * z];
}
// RK4 step
const k1 = deriv(s);
const k2 = deriv(add(s, scale(k1, h / 2)));
const k3 = deriv(add(s, scale(k2, h / 2)));
const k4 = deriv(add(s, scale(k3, h)));
s = add(s, scale(add4(k1, scale(k2, 2), scale(k3, 2), k4), h / 6));

Co to robi i czego nie mówi o pogodzie

System Lorenz jest karykaturą konwekcji, a nie modelem pogody; nikt z niego nie prognozuje. Jego znaczenie jest konceptualne i było ogromne. Pokazał, że prosty, deterministyczny, bezszumowy system może być prawdziwie nieprzewidywalny – że nieprzewidywalność nie wymaga złożoności ani losowości. To zniweczyło założenie, że wystarczająco dobry model plus wystarczająca dokładność pomiarów daje arbitralnie długą prognozę, a dlatego nowoczesne prognozowanie odbywa się z wykorzystaniem ensemble’ów: uruchamia się model wielokrotnie z lekko zaburzonych stanów początkowych i raportuje się rozrzut jako prawdopodobieństwo zamiast pojedynczej trajektorii traktowanej jako fakt.

Notatka o rygorze: przez forty lata dziwaczny atraktor był obserwacją numeryczną, a nie twierdzeniem. W 2002 roku Warwick Tucker przedstawił komputerowo wspomaganą dowód, że równania Lorenz w klasycznych parametrach rzeczywiście posiadają dziwaczny atraktor – rozwiązując jedno z list Stephena Smale’a problemów na wiek XXI.

Frequently asked questions

Co właściwie oznacza efekt motyla?

Wrażliwa zależność od warunków początkowych: dwie trajektorie, które rozpoczynają się w pobliżu siebie, rozchodzą się wykładniczo, z szybkością określaną przez największy wyżarznik Lyapunov (około 0.9 na jednostkę czasu dla klasycznych parametrów Lorenz). Każda pomyłka w stanie początkowym – w tym błąd zaokrąglenia – ostatecznie rośnie do rozmiarów atraktora, co sprawia, że długoterminowe przewidywanie trajektorii pojedynczego obiektu jest niemożliwe.

Czy układ Lorenz jest losowy?

Nie. Jest to trzy deterministyczne równania różniczkowe bez żadnego członu szumu: ten sam stan początkowy zawsze daje tę samą trajektorię. Jest nieprzewidywalny, a nie losowy – błędy w stanie początkowym są wzmacniane wykładniczo, więc w praktyce przyszłość nie może być poznana, choć jest ona całkowicie określona.

Dlaczego moja trajektoria Lorenz różni się od tej innej osoby z identycznym kodem?

Ponieważ arytmetyka zmiennoprzecinkowa nie jest łącza, a różne kompilatory, procesory lub poziomy optymalizacji zaokrąglają inaczej. Jest to początkowy błąd rzędu około 10⁻¹⁶, który ten system wzmacnia do rzędu 1 po kilkadziesiąt jednostek czasu. Trajektoria oddziela się od siebie; kształt i statystyki atraktora nie ulegają zmianie.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Lorenz Attractor i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.

▶ Otwórz symulację Lorenz Attractor

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)