Прості моделі зі складною поведінкою, тобто хаос
Технології

Прості моделі зі складною поведінкою, тобто хаос

Комп'ютер - це інструмент, який все частіше використовується вченими для розкриття таємниць, які ретельно приховані природою. Моделювання, поряд з експериментом та теорією, стає третім способом вивчення світу.

Три роки тому у Сілезькому університеті ми розпочали програму інтеграції комп'ютерних методів до освіти. В результаті було створено безліч надзвичайно захоплюючих дидактичних матеріалів, що дозволяють легше та глибше вивчити багато тем. Як основний інструмент була обрана мова Python, яка разом з потужністю наукових бібліотек, ймовірно, є найкращим рішенням для «комп'ютерних експериментів» з рівняннями, зображеннями або даними. Однією із найцікавіших реалізацій повноцінного робочого середовища є Sage [2]. Це відкрита інтеграція системи комп'ютерної алгебри з мовою Python, а також дозволяє відразу почати грати, використовуючи веб-браузер і один з можливих варіантів доступу через хмарний сервіс [3] або єдиний обчислювальний сервер, на якому інтерактивна версія цієї статті заснована на [4] .

Хаос в екології

У 1-х роках в Оксфордському університеті австралійський учений Роберт Мей вивчав теоретичні аспекти демографічної динаміки. Він підсумував свою роботу в статті, що з'явилася в журналі Nature під провокаційною назвою "Прості математичні моделі з дуже складною динамікою" [XNUMX]. Через роки ця стаття стала однією з цитованих робіт з теоретичної екології. Що викликало такий інтерес до цієї роботи?

Класичне завдання популяційної динаміки у тому, щоб розрахувати майбутню популяцію певного виду, знаючи її справжній стан. Математично найпростішими були екосистеми, в яких життя одного покоління популяції триває один сезон. Гарним прикладом є популяція комах, які зазнають повного перетворення за один сезон, наприклад метеликів. Час природним чином ділиться на дискретні періоди2, що відповідають життєвим циклам населення. Таким чином, рівняння, що описують таку екосистему, природно мають т.зв. дискретний час, тобто. t = 1,2,3. Роберт Мей займався, зокрема, такою динамікою. У своїх міркуваннях він спростив екосистему до одного виду, населення якого була квадратичною функцією популяції в попередньому році. Звідки взялася ця модель?

Найпростішим дискретним рівнянням, що описує еволюцію популяції, є лінійна модель:

де Ni - чисельність в i-му сезоні, а Ni + 1 визначає популяцію в наступному сезоні. Легко бачити, що таке рівняння може призвести до трьох сценаріїв. При а = 1 еволюція не змінить чисельності популяції, а <1 веде до вимирання, а випадок а> 1 означає необмежене зростання популяції. Це призведе до дисбалансу у природі. Оскільки все у природі обмежено, має сенс скоригувати це рівняння з урахуванням обмеженої кількості ресурсів. Уявіть, що шкідники з'їдають зерно, якого щороку рівно стільки ж. Якщо комах мало порівняно з кількістю їжі, яку вони можуть відтворити, вони можуть розмножуватися з повною репродуктивною силою, що математично визначається константою а > 1. Однак у міру збільшення кількості шкідників корму не вистачатиме, а репродуктивна здатність знизиться. У разі можна уявити, що комах народжується так багато, що вони з'їдають все зерно, як встигають розмножуватися, і населення гине. Модель, яка враховує цей ефект обмеженого доступу до їжі, була запропонована Ферхюльстом в 1838 р. У цій моделі швидкість зростання не стала, а залежить стану популяції:

Зв'язок між швидкістю зростання а і Ni повинен мати таку властивість: якщо популяція збільшується, швидкість зростання повинна зменшуватися, тому що доступ до їжі утруднений. Звичайно, є багато функцій із цією властивістю: це низхідні функції. Ферхюльст запропонував таку залежність:

де а>0 і константа К>0 характеризують харчові ресурси та називають ємністю середовища. Як зміна К впливає швидкість зростання населення? Якщо K збільшується, Ni/K зменшується. У свою чергу це призводить до того, що 1-Ni/K росте, отже, росте. Це означає, що темпи зростання збільшуються, і населення зростає швидше. Отже, змінимо попередню модель (1), припускаючи, що швидкість зростання змінюється, як у рівнянні (3). Тоді ми отримаємо рівняння

Це рівняння можна записати як рекурсивного рівняння

де xi = Ni / K та xi + 1 = Ni + 1 / K позначають повторно масштабовані кількості населення в часі i та в часі i + 1. Рівняння (5) називається логістичним рівнянням.

Може здатися, що з такою маленькою модифікацією нашу модель просто аналізувати. Давайте перевіримо це. Розглянемо рівняння (5) параметра a = 0.5, починаючи з початкової популяції x0 = 0.45. Послідовні значення популяції можна отримати за допомогою рекурсивного рівняння (5):

x1= сокира0(1 стор0)

x2= сокира1(1 стор1)

x3= сокира2(1 стор2)

Для полегшення обчислень у (6) ми можемо використовувати наступну програму (вона написана на Python і може бути запущена, у тому числі, на платформі Sage. Ми рекомендуємо вам прочитати книгу http://icse.us.edu .pl/e-book . ), імітуючи нашу модель:

a = 0.5 х = 0.45 для i в діапазоні (10):      х = а * х * (1-х)      роздрукувати х

Обчислюємо послідовні значення xi і помічаємо, що вони прагнуть нуля. Поекспериментувавши з наведеним вище кодом, легко побачити, що це вірно незалежно від початкового значення x0. Це означає, що населення постійно вмирає.

На другому етапі аналізу ми збільшуємо значення параметра до будь-якого значення в діапазоні ae (1,3). Виходить, що тоді послідовність xi йде на кілька x * > 0. Інтерпретуючи це з погляду екології, можна сказати, що чисельність популяції фіксується певному рівні, який змінюється від сезону до сезону. Варто зазначити, що значення x * залежить від початкового стану x0. Це ефект прагнення екосистеми до стабілізації - населення підлаштовує свій розмір під можливість прогодувати себе. Математично говорять, що система прагне стійкої нерухомої точки, тобто. що відповідає рівності x = f(x) (це означає, що в наступний момент стан такий самий, як і в попередній момент). З допомогою Sage ми можемо візуалізувати цю еволюцію графічно, побудувавши графік залежності від часу.

Такий стабілізаційний ефект був очікуваний дослідниками, і логістичне рівняння (5) не привернуло б особливої ​​уваги, якби несподіваність. Виявилося, що з певних значеннях параметра модель (5) веде себе не передбачуваним чином. По-перше, існують періодичні та багатоперіодичні стани. По-друге, з кожним тимчасовим кроком популяція змінюється нерівномірно, подібно до випадкового руху. По-третє, існує велика чутливість до вихідних умов: два майже невиразні вихідні стани призводять до абсолютно різної еволюції популяції. Всі ці риси характерні для поведінки, що нагадує абсолютно випадковий рух і називається детермінованим хаосом.

Давайте досліджуємо цю властивість!

Спочатку встановимо значення параметра a = 3.2 і подивимося на еволюцію. Може здатися дивним, що цього разу населення досягає не одного значення, а двох, які відбуваються послідовно кожен другий сезон. Проте виявилось, що на цьому проблеми не закінчилися. При a = 4 система більше не передбачувана. Подивимося малюнок (2) чи самі згенеруємо послідовність чисел з допомогою комп'ютера. Результати виглядають суто випадковими і зовсім різними для різних стартових популяцій. Проте уважний читач має заперечити. Як система, що описується детермінованим рівнянням1, навіть дуже проста, може поводитися непередбачувано? Ну може бути.

Особливістю цієї системи є її чудова чутливість до початкових умов. Достатньо почати з двох початкових умов, що відрізняються на одну мільйонну, і всього через кілька кроків ми отримаємо різні значення популяції. Перевіримо на комп'ютері:

а = 4.0

х = 0.123 у = 0.123 + 0.000001 PCC = [] для i в діапазоні (25): х = а * х * (1-х) у = а * у * (1-у) надрукувати х, у

Ось проста модель детермінованої еволюції. Але цей детермінізм оманливий, це лише математичний детермінізм. З практичної точки зору система веде себе непередбачувано, тому що ми ніколи не можемо математично точно задати початкові умови. Насправді все визначається з певною точністю: кожен вимірювальний прилад має певну точність і це може викликати практичну непередбачуваність детермінованих системах, що мають властивість хаосу. Прикладом можуть бути моделі прогнозу погоди, які завжди демонструють властивість хаосу. Ось чому довгострокові прогнози погоди такі погані.

Аналіз хаотичних систем є надзвичайно складним. Однак ми можемо досить легко розкрити багато таємниць хаосу за допомогою комп'ютерного моделювання. Намалюємо так звану бифуркационную діаграму, де по осі абсцис розмістимо значення параметра а, а осі ординат – стійкі нерухомі точки логістичного відображення. Ми отримуємо стабільні точки, моделюючи одночасно велику кількість систем та малюючи значення після багатьох кроків розрахунку. Як ви могли здогадатися, для цього потрібно багато обчислень. Спробуємо «акуратно» обробити такі значення:

імпортувати numpy як np Nx = 300 Це = 500 х = np.linspace (0,1, Nx) х = х + np.нулі ((Na, Nx)) h = np.transpose (h) a = np.linspace (1,4, Na) a=a+np.нулі((Nx,Na)) для i в діапазоні (100): х = а * х * (1-х) pt = [[a_,x_] для a_,x_ в zip(a.flatten(),x.flatten())] точка (pt, розмір = 1, figsize = (7,5))

У нас має бути щось схоже на малюнок (3). Як інтерпретувати цей малюнок? Наприклад, за значення параметра а = 3.3 маємо 2 стійкі нерухомі точки (чисельність популяції однакова кожен другий сезон). Однак для параметра а = 3.5 маємо 4 постійні точки (кожен четвертий сезон популяція має однакову чисельність), а для параметра а = 3.56 маємо 8 постійних точок (кожен восьмий сезон популяція має однакову чисельність). Але для параметра a≈3.57 у нас є безліч фіксованих точок (розмір популяції ніколи не повторюється і змінюється непередбачуваним чином). Проте, маючи комп'ютерну програму, ми можемо змінити область дії параметра і своїми руками досліджувати нескінченну геометричну структуру цієї діаграми.

Це лише вершина айсбергу. Про це рівняння написано тисячі наукових праць, але воно й досі приховує свої секрети. За допомогою комп'ютерного моделювання ви зможете, навіть не вдаючись до вищої математики, пограти в першовідкривачі світу нелінійної динаміки. Ми запрошуємо вас прочитати онлайн-версію, що містить подробиці про багато цікавих властивостей логістичного рівняння та цікаві способи їх візуалізації.

1 Детермінований закон - це закон, у якому майбутнє однозначно визначається початковим станом. Антонім є ймовірнісний закон. 2 У математиці «дискретний» означає отримання значень із певної лічильної множини. Протилежне «безперервне».

Додати коментар або відгук