Алгебра и пакет Mathematica 5

         

Теория универсальности, или насколько сложным может быть поведение простой динамической системы



Возможно, заголовок кажется вам заумным. Может быть, это просто оттого, что вы никогда не слышали о динамических системах. Не беспокойтесь, все очень просто: в данном случае под динамической системой понимается любая система, в которой некоторый параметр определяется рекуррентным уравнением хn+1 =f(xn, r). В частности, под динамической системой можно понимать числовую последовательность, определяемую таким уравнением. Где встречаются такие последовательности? Да почти повсюду. Вот простейший пример.

Допустим, нас интересует изменение численности какого-либо вида животных в определенном районе. Один раз в год мы считаем их и получаем число х. По этим данным можно построить последовательность x1, х2 ..., хn, ... (n = 1 соответствует первому измерению). Логично предположить, что среди этих чисел есть какая-то закономерность. Естественно ожидать, что численность популяции в (n+1)-й год хn+1 зависит от того, сколько животных было год назад, т. е. от величины хn. Поэтому в простейшем случае хn+1 = f(xn, r).

Здесь f— непрерывная функция; r— некий параметр, который зависит от биологических особенностей рассматриваемого вида. В популяционной генетике часто предполагается, что хn+1 = rxn(N-xn).

Эта формула показывает, что численность вида быстро растет, пока она мала (xn<N), и начинает убывать, когда животных становится слишком много. Если сдeлать замену переменных хn = x'nN, r = r'/N, то в новых переменных наше уравнение будет иметь вид х'n+1 = г' х'n(1—х'n). Тем самым мы элиминировали параметр N и привели уравнение к более естественной для математиков форме. Теперь по самому смыслу задачи 0<х'n<1. Простоты ради опустим штрихи и займемся исследованием этой более простой динамической последовательности.

Что же будет происходить с различными видами (т.е. с последовательностями хn+1 = rхn(1— хn) с различными r) по прошествии достаточно долгого времени? Чтобы ответить на этот вопрос для нашей простейшей модели, достаточно выяснить, как будет вести себя последовательность {хn} при различных значениях г. Давайте проведем численный эксперимент. Сначала дадим нужные нам определения.

х[r_][0]=0.5;
 x[r_][n_]:=x[r1[n]=r х[r][n-1]<1-х[r][n-1])


Таким образом, мы задали начальный член последовательности х0 = 0,5. Теперь положим, r = 3,83, и вычислим первые пятьдесят членов последовательности.
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Вот как все это выглядит на графике.
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Вот теперь действительно есть чему удивиться! Численность популяции оказалась периодической функцией.

Конечно, здесь проведены вычисления только дляr = 3,83, а нам нужно провести вычисления для разных r. Давайте проведем их для 250 значений г, равномерно распределенных между r = 2,8 и r = 4,0.

t1=Table[{r,x[r][n]},{r,2.8,4,1.2/249},{n,101,300}]; 


Здесь для каждого из 250 значений г строится список хn для n- 101, ..., 300. Вот что получается (конец опущен).
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Чтобы построить график, этот список нужно сделать плоским:

toshow=Flatten[t1,1);

Теперь список будет иметь вид (конец опущен)

{{2.8,0.642857},{2.8,0.642857},{2.8,0.642857},{2.8,0.642857},
{2.8,0.64 2857},{2.8,0.642857},{2.8,0.642857},{2.8,0.642857},


и мы можем построить график, наглядно демонстрирующий поведение последовательности {*„} при различных значениях параметра г в отображении хn+1= rхn(1-хn).
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Из графика видно, насколько сложно зависит поведение популяции от r.

Еще раз обратим внимание на простенькую формулу хn+1 = rхn(1-хn). При небольших г (0<r<1) хn стремится к нулю независимо от выбора XQ. Судя по формуле хn+1= rxn(1-хn), вид, численность которого вначале равна XQ, выжить не может, сколько бы животных ни было вначале. Поведение последовательности в этом и в других случаях удобно представлять графически. Нарисуем кривую y=f(x) при заданном значении г и прямую у = х. Отложим х по оси абсцисс, проведем вертикаль до пересечения с кривой у —/(х) (точка А), а затем из точки пересечения горизонталь до пересечения с линией у = х (точка В). Теперь вновь проведем вертикаль до пересечения с кривой у = f(x), что даст нам точку С с координатой х2. Тогда х2 =f(х1). Взяв точку х2 за начальную и повторив все те же операции, получим х3, затем х4 и т.д.
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Теперь рисуем график, чтобы представить поведение последовательности хn при n->∞.
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Из рисунка видно, что хn->0 при n->∞.

Из формулы хn+1 = rхn(1-хn) следует, что функция f(x) переводит отрезок [0, 1] в отрезок [0, r/4]. Если r<4, то все значения х„ лежат на отрезке [0, 1] при условии, что 0<х<1. Так что формула хn+1 = rхn(1—хn) задает отображение отрезка [=, 1] в себя.

Пусть теперь r немного больше 1, например r = 2.
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Видим, что при этом значении г последовательность {хn} ведет себя по-другому: хn стремится к постоянному, отличному от нуля, значению хn при n—>∞. В применении к исходной биологической задаче это означает, что численность такого вида по прошествии нескольких лет стабилизируется и перестанет меняться со временем.

Значение х* может быть найдено из уравнения х* = f(x*).

Все точки, удовлетворяющие этому уравнению, являются неподвижными точками функции f, так как если х, = х', то и х2 = х', хn = х' при любом n.

При r<1 квадратное уравнение х=rх(1- х) имеет один неотрицательный корень х=*0. При t->1 неотрицательных корня два: х* = 0 nх* = (t-1)/r. При r= 1 происходит бифуркация: неподвижная точка х' = 0 теряет устойчивость, а вновь появившаяся точка становится устойчивой.

Можно довольно просто определить, будет ли устойчивой неподвижная точка х отображения f[x]. Пусть х„ = х + Δхn, где Δхn — малое число. Если точка устойчива, то с ростом n величина |Δхn| должна уменьшаться. Перепишем формулу хn+1 = f(xn, r) в  виде
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Если в последнем равенстве опустить член о(Δхn), то полученное приближенное равенство будет выполняться тем точнее, чем меньше Δхn (мы пренебрегли членами, пропорциональными (Δхn)2, (Δхn)3 и т.д.). Поскольку x* = f(x), то  Теория универсальности, или насколько сложным может быть поведение простой динамической системы

И для того чтобы Δхn+1->0 при n->∞, должно выполняться неравенство  Теория универсальности, или насколько сложным может быть поведение простой динамической системы

Это и есть условие устойчивости точки х*.

Будем дальше увеличивать параметр r. Поведение системы снова изменится: в последовательности {хn}, начиная с достаточно больших и, будут чередоваться числа, близкие к некоторым двум числам я, и а2. (Точнее говоря, последовательность устроена так, что x2n+1->a1, х2n+1->n2 при n->∞) Эти числа связаны соотношениями а1 = f(а2), а2 = f(а1). Иными словами, в этом случае отображение хn+1 = rхn(1—хn) имеет устойчивый цикл с периодом 2. Обозначим этот цикл 52. Наличие цикла S* в нашей модели означает, что численность популяции будет меняться с периодом в 2 года.

Выясним, как выглядят циклы на графике. Для этого определим программу cobwebPlot.
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Сначала протестируем эту программу.
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Теперь нарисуем картинку для случая г = 1.
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Теперь нарисуем картинку для случая г = 2.
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Наконец, выясним, как выглядит двойной цикл (цикл с периодом 2).
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Переход от неподвижной точки, которую можно считать циклом S1, к циклу 52 произошел в результате бифуркации, которая получила название бифуркации удвоения периода. Точка х при этом не исчезла и осталась неподвижной, однако величина  Теория универсальности, или насколько сложным может быть поведение простой динамической системы

При дальнейшем увеличении г поведение последовательности {хn} опять изменяется. Возникает цикл S4: х4n->а1, x4n+1->a2, х4n+1->a3> x4n+3->а4 ПРИ n->∞, причем а2 = f(a1), а3=f(a2), аn =f(an). Численность популяции начинает колебаться с периодом в 4 года.
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Но и это еще не все. Приведем еще несколько примеров поведения наших последовательностей.
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Последовательно увеличивая значение параметра, мы увидим циклы S8, S16, S32 и т.д. При этом каждый раз цикл S2 теряет устойчивость, и устойчивым становится цикл S2 . Наконец, при некотором значении г (его иногда обозначают г„) формула xn+1 = rхn(1-хn) дает уже непериодическую последовательность {xn}.

Полученная нами картина оказалась очень интересной. Во-первых, в поразительно простой модели хn+1 = rхn(1-хn) заложено очень сложное поведение. Во-вторых, в ней удается проследить большое количество бифуркаций, приводящих к усложнению решения. Сделать это в более сложных моделях гораздо труднее. Как это ни удивительно, но пока встречались только циклы, период которых равен степени 2.

Чтобы понять, чем это вызвано, и изучить поведение модели более подробно, наряду с функцией f(x) удобно рассмотреть отображение f(f(х)), обозначаемое далее через f2(х), и вообще положить fn+l(x) =f(fn(x)), считая, конечно, что f(n) =f(х).

Построим график f(x).

Вот нужные нам определения.

f[х_,r_]:=г*х*(1-х);
ff[x_,r_,n_]:=Module[{t=x},Do[{t=f[x,r],x=t},{n}];t] 


Сначала рассмотрим случай устойчивой неподвижной точки. Вот что получим для случая г = 3.
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
Теперь рассмотрим случай устойчивого цикла S2.
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
График функции f(x) пересекается с прямой у = х во всех неподвижных точках отображения / (ведь для любой неподвижной точки х отображения f имеем f2(х*) = f(f(x')) = f(x') = (х'), а также в точках, принадлежащих циклам 52 (потому что а2 = f(a1) = f(f(a2)) и а1 = f(a2) = f(f(f()))- Увеличивая параметр r, мы растягиваем функцию f(x) вдоль оси у. И если при некотором значении г линии у = х и у = fix) пересекаются в одной точке, то с увеличением г могут появиться еще две точки пересечения. Они-то и будут определять цикл S2.

Таким образом, переход от 51 к 52 в отображении f(x) обусловлен тем, что в отображении f (х) одна из неподвижных точек теряет устойчивость и в ее окрестности появляются две новые устойчивые неподвижные точки. Здесь вновь происходит бифуркация. Рассматривая функции f4(х), fn(x) и так далее, можно посмотреть, как происходят следующие удвоения.
Теория универсальности, или насколько сложным может быть поведение простой динамической системы
 Теория универсальности, или насколько сложным может быть поведение простой динамической системы

На примере модели хn+1 = rхn(1- хn) можно понять не только качественные, но и удивительные количественные закономерности. Чтобы проследить за ними, построим график х(r): по оси х будем откладывать х1, х2, ..., лежащие на устойчивом цикле, по оси г — значения параметра. Циклу S* будут соответствовать две точки на одной вертикали, циклу S1 — четыре и т.д. Тогда получим ранее приведенный график, отражающий усложнение устойчивых циклов в отображении хn+1 = rхn(1-хn), происходящее в результате бифуркаций удвоения периода.

Обозначим через R1, R2, R}, ... те значения параметра г, в которых происходили удвоения, а через r1, r2, г3, ... — значения параметра, при которых х= 1/2 является элементом цикла S2, S4, Ss и т. д. Введем также величины d1, d2, ..., dn, .., равные расстоянию между х = 1/2 и ближайшим к нему элементом цикла S2 при r = rn. Расчеты показали, что числа f(x) и rn при больших и ведут себя как геометрическая прогрессия со знаменателем a = 4,6692016... Другими словами,  Теория универсальности, или насколько сложным может быть поведение простой динамической системы

dn/dn+1 также имеет предел, равный некоторому числу а, причем а = 2,5029078...

Что будет, если вместо функции хn+1 = rхn(1—хn) взять любую другую симметричную функцию, которая имеет на отрезке [О, 1] один максимум и около вершины близка к квадратичной параболе. Пусть в ней также происходит бесконечная последовательность бифуркаций удвоения при изменении некоторого параметра. Оказалось, что в любой такой модели числа а и 5S будут одними и теми же! Более того, независимо от вида функции предел lim(-a)nf2n[(x-0,5)/(-a)n,rn] существует и будет одной и той же универсальной функцией, обозначаемой часто через g0(х).

Эти удивительные закономерности были обнаружены и поняты американским математиком М. Фейгенбаумом в 1978 году. В силу универсальности чисел а и 5 и функции g0(x), a также других функций такого типа эту теорию называют теорией универсальности.

Что же означают эти результаты?

В природе можно выделить два совершенно различных на первый взгляд типа явлений. Одни — регулярные и упорядоченные. Это большинство процессов, используемых в технике и технологии, процессы, в которых возникают структуры. Как правило, ход таких процессов можно предсказывать, зная управляющие ими законы.

Другие процессы — случайные, хаотические. К ним относится турбулентное движение жидкости, шумы в различных электронных системах и т.д. Они требуют другого, статистического описания, которое позволяет получить некоторые усредненные характеристики процессов. Такие явления также очень важны, но используются гораздо реже из-за их сложности и недостаточной изученности. В одних случаях турбулентное движение жидкости позволяет транспортировать уголь, руду и многое другое по трубам. В других — с турбулентными вихрями приходится бороться. Хорошо зная законы турбулентного движения, можно было бы строить более быстрые и экономичные суда и самолеты.

Теория Фейгенбаума приводит к парадоксальному выводу: между хаосом и порядком есть глубокая внутренняя связь. Непериодический, случайный процесс возникает как предел все более сложных структур (циклов S2n). Хаос возникает как сверхсложная организация (цикл S2 )! Этот вывод является очень общим: он может относиться к моделям экологии, гидродинамике — к любым системам, где есть последовательность бифуркаций удвоения периода.

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

Еще более сложная .картина может наблюдаться в многомерном (например, в двухмерном) случае. Если модель к тому еще и дискретная, то можно говорить о клеточных автоматах.
Содержание раздела