Загадочные процессы роста населения
21 февраля 2005
Рубрика: Обзоры и мнения.
Автор: .
pic
Умными мы считаем деятелей,
высказывающих приятные нам
мысли

Есть простейшие формулы, приводящие к необычным результатам и заставляющие снова задаваться вопросом — математика живет сама по себе или описывает события реального мира? Подумайте. А мы пока движемся дальше. Для начала рассмотрим удивительную формулу Хнов=k*Хстар*(1-Хстар). У серьезных математиков она называется «отображением Ферхюльста» и на первый взгляд ничем не примечательна — ну подумаешь, новое число последовательности зависит от старого по простейшей формуле. Да еще одна переменная, даже не на плоскости…

Но здесь таится необъяснимый сюрприз — все зависит от коэффициента k. Если мы, начав с какого-нибудь малого X, будем исследовать всю получаемую последовательность значений, то при k=1 и k=2 последовательность вырождается: график ее (по горизонтальной оси пустим счетчик цикла, по вертикальной оси — значения чисел нашей последовательности, масштаб подбирается за пару секунд) будет прямой линией. Но при приближении величины k к трем и увеличении его до четырех картина меняется — последовательность «оживает» и непредсказуемым образом «располагается» в пределах некоторого коридора!
Не поленитесь, наберите несколько строк в Бейсике (или в любом любимом вами языке)

k = 4
x = 0.8
For i = 0 To 20
x = k * x * (1 — x)
Print y, x
Next i

И попробуйте менять значение k. При значении k меньше двух значения нашей функции быстро успокаиваются на каком-либо значении, но при увеличении k начинают «скакать», а при k=4.051 вообще появляются астрономические значения нашего малюсенького в начале значения х.

0 0,64816
1 0,9238249369344
2 0,285078684894667
3 0,825629563497559
4 0,583203784261752
5 0,984705454782606
6 6,10105801432506E-02
7 0,232074859767284
8 0,721953499005913
9 0,81318414597436
10 0,615410463067469
11 0,958792401733951
12 0,160053114582441
13 0,544600702249445
14 1,00469165908073
15 -0,019095080190656
16 -7,88312539287597E-02
17 -0,344519808745723
18 -1,87647872853121
19 -21,8658847971505
20 -2025,43033397835

На приведенном рисунке внизу нарисован график изменения значения функции во времени, а сверху, для наглядности, прорисованы значения — эти значения в осях «старое значение» — «новое значение» (как и следовало ожидать, это самая обыкновенная парабола).

pic

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

Public a, x, ss, v As Integer
Private Sub Form_Load()
Randomize (Timer)
ss = 2
v = 1#
a = 4#
x = 0.1
End Sub Private
Sub Form_KeyPress(keyascii As Integer)
If keyascii = 32 Then End
End Sub
Private Sub Часы1_Timer()
v = v + 1
x1 = a * x * (1 — x)
red = Int(v) Mod 255
green = (v / 3) Mod 255
blue = Abs(255 — v / 2) ‘Mod 255
Coll = RGB(red, green, blue)
Line (100 + x * 200, x1 * 200 + 10)-Step(ss, ss), Coll, BF ‘ Рисует параболу
Line (v / 2, x1 * 100 + 250)-Step(ss, ss), Coll, BF ‘ Рисует график последовательности
x = x1
End Sub
Примечание: на Форму в VB6 надо «кинуть» таймер, задав в его свойствах минимальный цикл.

Интересную модель рассмотренной функции можно найти на страничке профессора математики университета Айовы Александра Богомольного (http://www.cut-the-knot/blue/chaos.html). Он пишет, что с последовательностью Хнов=К*Хстар*(1-Хстар) впервые столкнулся австралийский математик Роберт Мей, изучая ежегодный прирост городского населения. С одной стороны, этот прирост прямо пропорционален количеству жителей, но, с другой стороны, из-за ограниченности ресурсов обратно пропорционален тому же количеству жителей, что и отражено в формуле. Для отслеживания процесса Богомольный предлагает построить график f(х)=k*x*(1-x) и провести линию через начало координат f(x)=x (или под 45 градусов при равенстве осевых масштабов). Выбрав любое начальное значение х, мы проводим вертикальную линию до пересечения с параболой, потом из точки пересечения проводим горизонтальную линию до пересечения с графиком прямой линии. Так как х новой точки равен f(x) предыдущей, то мы можем повторять эту операцию многократно, отслеживая процесс графически.

И мы увидим, как в зависимости от вида параболы (то есть коэффициента k) проводимые нами линии или затухают, или идут вразнос, или пульсируют в некоторых пределах, отражаясь от параболы и от линии. На страничке выложен Java-аплет, позволяющий проследить все отражения выбранных вами начальных точек.
Интересный материал об этой же зависимости расположен также на http://www.ghcube.com/fractals/feigenbaum.html под названием теперь уже «Дерево Фейгенбаума». Кто бы уточнил, как же все-таки эта формула называется?

Orphus system
Подписывайтесь на канал infoCOM.UZ в Telegram, чтобы первыми узнавать об ИКТ новостях Узбекистана
В Telegram
В WhatsApp
В Одноклассники
ВКонтакте