Czy możemy mieć chaotyczny ruch dzięki skończonej precyzji naszych obliczeń? [duplikować]

Nov 29 2020

Ruch chaotyczny rozumiem jako oznaczający, że bardzo małe perturbacje w początkowym stanie mogą prowadzić do bardzo różnych trajektorii w przestrzeni fazowej. Z tego powodu nigdy nie możemy dokładnie przewidzieć ruchu, ponieważ nigdy nie możemy mieć w 100% dokładnych warunków początkowych.

Czy możemy spojrzeć na niemożność przewidywania przyszłych stanów w inny sposób, związany z precyzją naszych obliczeń (wykonywanych na komputerze)? Czy są sytuacje, w których możemy znać warunki początkowe ze 100% dokładnością, ale nadal nie możemy ufać żadnemu z przewidywanych ruchów, ponieważ ruch zależy od dokładności obliczeń pośrednich, które wykonywane na komputerze są skończone, a zatem nie są idealnie precyzyjny?

Na przykład, gdybym potrzebował obliczyć całkę liczbową jako krok w kierunku ostatecznej odpowiedzi, gdyby moja całka była komputerowa z dokładnością 16 zmiennoprzecinkową vs 32 zmiennoprzecinkową, odpowiadałoby to różnicy na szesnastej cyfrze znaczącej, która mogłaby wtedy być wystarczające do wywołania szalenie różnych zachowań w kolejnych trajektoriach.

Moglibyśmy wyobrazić sobie przypadek, w którym bez względu na to, jak dokładne byłyby twoje obliczenia, dodatkowa dokładność obliczeń spowodowałaby chaotyczne rozchodzenie się trajektorii. Czy wiadomo, że to zjawisko istnieje i czy istnieją jego przykłady?

Odpowiedzi

3 stafusa Nov 30 2020 at 05:14

Tytułowe pytanie nieco różni się od tego w treści postu, więc spójrzmy na nie osobno:

  1. Czy możemy mieć chaotyczny ruch dzięki skończonej precyzji naszych obliczeń?

Tak, sam Lorenz opisał to zjawisko, nazywając je chaosem obliczeniowym [Lorenz 1989]:

Kiedy szuka się przybliżonych rozwiązań układu równań różniczkowych przez stopniowe całkowanie numeryczne, wybór przyrostu czasu $\tau$ [...] może przynosić chaotyczne rozwiązania, nawet jeśli prawdziwe rozwiązania zbliżają się do limitu cykli lub stałych punktów.

  1. nie może ufać żadnemu z przewidywanych ruchów [?]

Przynajmniej w przypadku systemów hiperbolicznych rzeczywiście tak, możesz im ufać. To, co cię obejmuje, to tak zwane twierdzenie shadowing , które gwarantuje, że nawet jeśli rzeczywiście nie symulujesz prawdziwej trajektorii wybranego stanu początkowego, istnieje nieco inny punkt początkowy, którego trajektoria pozostaje arbitralnie zbliżona do wygenerowanej komputerowo trajektoria. Sprawdź również tę odpowiedź .

[Lorenz 1989] Chaos obliczeniowy - preludium do niestabilności obliczeniowej , Physica D 35 (3), 1989, strony 299-317.

2 gandalf61 Nov 29 2020 at 23:52

Tak, jest całkowicie możliwe, że zaokrąglanie błędów wynikających z arytmetyki o skończonej precyzji może radykalnie wpłynąć na wynik symulacji komputerowych systemów nieliniowych. W rzeczywistości jeden z pionierów współczesnej teorii chaosu, Edward Lorenz , zainspirował się do zbadania systemów chaotycznych, gdy doświadczył tego problemu. Lorenz przeprowadzał symulację pogodową obejmującą nieliniowe równania różniczkowe na wczesnym komputerze cyfrowym. Kiedy próbował odtworzyć scenariusz, wprowadzając wartości początkowe z dokładnością do trzech miejsc po przecinku, stwierdził, że powtórka bardzo szybko odbiegała od pierwotnego wyniku. Badanie przyczyny tego zaskakującego zachowania, które Lorenz opisał później jako efekt motyla , doprowadziło do odkrycia atraktora Lorenza .