Эта форма записи удобна для описания функции:
f
(x) = x² + 1.Это значит, что функция превращает число x
в число x² + 1.Вот еще один пример. Определим новую функцию g
таким образом:g
(x) = 1 + x + x².Чему равно g
(3)? Мы подставляем число 3 в формулу и получаем:g
(3) = 1 + 3 + 3² = 13.Функции можно комбинировать, чтобы одна операция следовала за другой. Подумаем, чему равно f
(g(2)).Это выражение вынуждает нас вычислить функцию f
от какой-то величины. От какой? Она зависит от того, чему равно g(2). А чему оно равно? g(2) = 1 + 2 + 2² = 7. А теперь посчитаем f(7) = 7² + 1 = 50. Если уложить всё в одну строчку, получится:f
(g(2)) = f(7) = 50.Давайте проверим, хорошо ли вы усвоили материал. Посчитайте g
(f(2)). Это не 50! Верный ответ – в конце главы.Вернемся к определению итерации. Как я уже сказал, итерация
означает просто повторение одной и той же операции снова и снова. Еще раз: итерация означает просто повторение одной и той же операции снова и снова. Еще раз: итерация означает просто повторение… (Окей, надеюсь, вы уловили юмор.)Подумаем о функции f
(x) = x² + 1. Запись f(f(x)) означает, что мы применяем операцию f дважды: берем число x, закидываем его в функцию f, а потом снова закидываем то, что получилось, в функцию f. Вот пример:f
(f(2)) = f(2² + 1) = f(5) = 5² + 1 = 26.Можно проводить итерацию сколько угодно раз. Например, трижды:
f
(f(f(2))) = f(f(5)) = f(26) = 26² + 1 = 677.Когда мы выходим на четвертую итерацию, запись становится громоздкой. Поэтому вместо f
(f(f(f(x)))) мы будем записывать f⁴(x), подразумевая, что верхний индекс означает не возведение в степень, а последовательное применение функции. Для положительного целого числа n выражение f n(x) означает:
Итерация логистического отображения
Сейчас мы проитерируем функции вида f
(x) = mх(1 – х), где m – некое число. Это семейство функций называется логистическим отображением[209]. Во всех случаях мы будем начинать с числа x = 0,1, итерировать функцию и наблюдать за происходящим. Мы начнем с функции:f
(x) = 2,5x (1 – x).Начнем с x
= 0,1 и на первом шаге посчитаем:f
(0,1) = 2,5 × 0,1 × (1–0,1) = 2,5 × 0,1 × 0,9 = 0,225.Применим f
снова:f
²(0,1) = f(0,225) = 2,5 × 0,225 × (1–0,225) = 2,5 × 0,225 × 0,775 = 0,4359375.Прибегнем к помощи компьютера. Программа, итерирующая f
, даст такие результаты:
Заметим, что успешное итерирование все больше и больше приближает нас к 0,6. Есть хороший способ продемонстрировать это наглядно. Отметим на графике величины f
(0,1), f(f(0,1)), f(f(f(0,1))) и т. д. На оси абсцисс нанесем номера итераций, n. На каждом шаге будем отмечать значение f n(x) («нулевая» итерация – это наше начальное число 0,1). Соединим все точки отрезками. Вот что получится:
Мы видим, что итерации f
(x) сходятся к числу 0,6.А что, собственно, особенного в числе 0,6? Заметим, что
f
(0,6) = 2,5 × 0,6 × (1–0,6) = 2,5 × 0,6 × 0,4 = 0,6.Число 0,6 называют неподвижной точкой
функции f, поскольку применение функции к этому числу не меняет его: f(0,6) = 0,6.Продублируем эксперимент с другой функцией того же семейства; на сей раз возьмем множитель m
= 2,8; таким образом, функция приобретает вид f(x) = 2,8 x (1 – x). Как и в предыдущем случае, мы начнем итерирование с x = 0,1. Вот первые 10 значений:
Похоже, итерации выплясывают вокруг 0,64. Продолжим итерировать и построим график:
В пределах первых 10 итераций значения функции слегка колеблются вверх и вниз, но уже на 30-й они выравниваются. На какой величине? Это число между 0 и 1, такое, что f
(x) = x. Нам остается решить незамысловатое уравнение:
Итерации f
(x) = 2,8 x (1 – x) сходятся к числу 0,642857.Итерирование логистического отображения f
(x) = m x (1 – x) можно рассматривать в качестве простой эволюционирующей системы. Число x показывает состояние системы, а функция f диктует, как система эволюционирует при смещении на один шаг[210]. В двух рассмотренных нами случаях (m = 2,5 и m = 2,8) долгосрочное поведение системы приводит к «равновесию» в неподвижной точке функции.Мы продолжим исследование итераций логистического отображения в случае m
= 3,2. Как и в предыдущих случаях, мы начнем с х = 0,1. Вот первые десять значений:
Что происходит? Итерации не сходятся к одной величине. Значения на четных шагах становятся меньше (это примерно 0,66; 0,64; 0,62; 0,6; 0,57), а на нечетных – растут (примерно 0,72; 0,74; 0,75; 0,77). Значения расходятся, а не сходятся!
Начертим график первых 30 итераций, чтобы изобразить наглядно проведение системы:
Посмотрите! Она не выравнивается к одному числу, а осциллирует[211]
между двумя величинами. Доведем вычисления до 50-й итерации. Вот последние строчки таблицы: