Простые модели со сложным поведением, то есть хаос
Технологии

Простые модели со сложным поведением, то есть хаос

Компьютер — это инструмент, который все чаще используется учеными для раскрытия тайн, тщательно скрытых природой. Моделирование, наряду с экспериментом и теорией, становится третьим способом изучения мира.

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

Chaos w ekologii

В 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. Это означает, что население постоянно умирает.

На втором этапе анализа мы увеличиваем значение параметра a до любого значения в диапазоне 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 ПКЦ = [] для i в диапазоне (25): х = а*х*(1-х) у = а*у*(1-у) напечатать х, у

Вот простая модель детерминированной эволюции. Но этот детерминизм обманчив, это всего лишь математический детерминизм. С практической точки зрения система ведет себя непредсказуемо, потому что мы никогда не можем математически точно задать начальные условия. На самом деле все определяется с определенной точностью: каждый измерительный прибор имеет определенную точность и это может вызвать практическую непредсказуемость в детерминированных системах, обладающих свойством хаоса. Примером могут служить модели прогноза погоды, которые всегда демонстрируют свойство хаоса. Вот почему долгосрочные прогнозы погоды так плохи.

Анализ хаотических систем чрезвычайно сложен. Однако мы можем довольно легко раскрыть многие тайны хаоса с помощью компьютерного моделирования. Нарисуем так называемую бифуркационную диаграмму, на которой по оси абсцисс разместим значения параметра а, а по оси ординат – устойчивые неподвижные точки логистического отображения. Мы получаем стабильные точки, моделируя одновременно большое количество систем и рисуя значения после многих шагов расчета. Как вы могли догадаться, для этого требуется много вычислений. Попробуем «аккуратно» обработать следующие значения:

импортировать numpy как np Nx = 300 Na = 500 х = np.linspace (0,1, Nx) х = х + np.zeros ((Na, Nx)) х = np.transpose (х) a=np.linspace(1,4,Na) a=a+np.zeros((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 В математике «дискретный» означает получение значений из определенного счетного множества. Противоположное «непрерывное».

Добавить комментарий