Знакомство с фракталами

Ампилова Наталья Борисовна

ЗНАКОМСТВО С ФРАКТАЛАМИ

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

Мы познакомимся с простейшими фрактальными множествами, возникающими в математике, и рассмотрим их свойства.

МНОЖЕСТВО КАНТОРА

Пусть Е0 обозначает отрезок [0,1]. Поделим его на 3 равные части и удалим среднюю треть. Получим множество 1 2

Ех = [0,3] и ["3,1]. Теперь к каждой из частей множества Е1 применим ту же процедуру, то есть удалим средние трети из отрезков, составляющих данное множество. В результате получим множество 1 2 3 6 7 8

Е2 = [0,9] и и [-^ и [9Д]. Продолжая процесс, мы будем получать на шаге

с номером п множество Еп, состоящее из Т п

2 сегментов, длина каждого из которых равна ~. Пересечение всех множеств Еп , получаемых в этом бесконечном процессе, называется стандартным множеством Кантора. Обозначим его через Р. ¥

Таким образом, Р = I Еп . (Знак I означает пересечение множеств).

Построенное множество обладает рядом интересных свойств. Прежде всего, оно не пусто. Однако оно не содержит в себе ни одного интервала. Сосчитаем «длину» I множества Р. Запишем процесс последовательного удаления интервалов:

1112 4 .1^24

I = 1----------= 1 —

3 9 27 3 3 9

Легко заметить, что сумма, входящая в полученное выражение, представляет собой сумму бесконечно убывающей геометричес-

2

кой прогрессии со знаменателем Ц = 3 . Указанная сумма вычисляется по формуле

$ = 1 Ц . Следовательно, она равна 3, и тогда I = 0. Рассмотренное нами канторо-во множество обладает так называемой фрактальной структурой, то есть любая его часть повторяет структуру всего множества.

Мы рассмотрим способ построения канторова множества, основанный на

свойствах уже известного нам логистического отображения. Напомним, что это отображение задается формулой /(х) = 1х(1 - х), где х принимает значения из отрезка [0,1], а 1 - вещественный параметр. При значениях этого параметра, лежащих в интервале [0,4], отображение / переводит единичный отрезок в себя. Сейчас мы рассмотрим это отображение при 1 >4, но предварительно познакомимся с весьма полезным инструментом при изучении итераций одномерных отображений, а именно диаграммой Кенигса-Ламерея.

ГРАФИЧЕСКИЙ МЕТОД ПОСТРОЕНИЯ ТРАЕКТОРИЙ

Для одномерных отображений существует простой и наглядный способ построения траектории точки, то есть последовательных итераций отображений точки (в дальнейшем просто итераций точки). Этот метод называется диаграммой Кенигса-Ламерея. Мы проиллюстрируем его на примере логистического отображения. Рассмотрим график функции / (х) = 1х(1 - х) при некотором фиксированном значении параметра 1. Построим также график прямой у = х .

.У

X

х п х 1

х 2 х з х

3 л4

Рисунок 1. Диаграмма Кенигса-Ламерея.

Возьмем на оси ОХ точку хп и будем строить ее итерации под действием /(х). Проведем перпендикуляр из хп до пересечения с графиком /(х). Проекция полученной точки графика на ось ОУ даст нам значение /(хп). Чтобы построить / 2(хп) = /(/(хп)), нужно отложить на оси ОХ величину, равную / (хп), и для этой точки найти соответствующее значение на графике. Самый простой способ отложить на оси ОХ требуемую величину - провести через точку (хп, / (хп)) прямую, параллельную оси ОХ, до пересечения с прямой у = х и из полученной точки опустить перпендикуляр на ось ОХ.

Таким образом, получается следующая схема движения: из исходной точки (хп) до пересечения с графиком; горизонталь до пересечения с прямой у = х ; вертикаль до пересечения с графиком; снова горизонталь до пересечения с прямой у = х и т.д. Описанная схема показана на рисунке 1. Последовательность (хп, х1, х2,...), показанная на оси ОХ, представляет собой траекторию точки хп под действием отображения /(х) . Здесь полезно обратить внимание на тот факт, что множество Х лежит на оси ОХ, а множество У - на оси ОУ. Они представляют собой два экземпляра одного и того же множества: интервала вещественной прямой. Поэтому, когда мы откладываем на оси ОХ значение уп = / (хп) для построения дальнейших итераций, мы пользуемся тем, что число это одно и то же на различных экземплярах нашего интервала.

ПОСТРОЕНИЕ КАНТОРОВА МНОЖЕСТВА С ИСПОЛЬЗОВАНИЕМ ЛОГИСТИЧЕСКОГО ОТОБРАЖЕНИЯ

Вернемся к логистическому отображению и рассмотрим его поведение при значениях параметра 1 > 4 .

В этом случае отрезок [0,1] не отображается в себя. Нетрудно понять (ис-

пользуя, например, диаграмму Кенигса-Ламерея), что те точки отрезка [0,1], которым соответствует часть графика, лежащая вне единичного квадрата, при последующих итерациях / покинут отрезок [0,1]. Обозначим это множество /0. А какие точки единичного отрезка могут попасть в /0? Для этого нужно построить его прообраз, то есть множество точек Р0 = /_1(/0) , таких, что /(Р0) = /(/_1(10)) = 10 . Процесс этот можно продолжить и построить множества

Р = /_1(Р0) = /_Ч/_Ч10)) = /"2(10),

_з

Р = / (/0) и так далее. Это означает, что для точек из Р1 нужно две итерации, чтобы попасть в /0, для точек из Р2 таких итераций нужно 3 и т.д. Эти множества образуют набор интервалов, которые будут удаляться из отрезка за определенное число итераций, и процесс этого удаления аналогичен процессу построения кан-торова множества. Чтобы убедиться в этом, давайте проделаем один шаг этого процесса (он показан на рисунке 2).

Пусть /0 = [а0,Ь0] . Построим его прообраз. Отложим этот отрезок на оси ОУ, так чтобы его концы имели координаты (0,а0),(0,Ь0). Мы знаем, что для построения прообраза отрезка нам достаточно построить прообразы концов, поэтому проделаем следующее.

Проведем прямые, параллельные оси ОХ через точки с координатами (а0, а0) и (Ь0, Ь0). Обозначим эти прямые М1 и М2 соответственно. Из точек пересечения этих прямых с графиком функции у = /(х) (точки А1, В1, А2, В2 ) опускаем перпендикуляры на ось ОХ. Помечаем основания этих перпендикуляров а1, а2, Ь1, Ь2. Тогда объединение отрезков [а1,а2] и

[Ь2,Ь1] есть множество Р0 = /_1

Чтобы получить Р1 , нужно для каждого из отрезков [а1, а2], [Ь2, Ь1] аналогичным способом построить их прообра-

а! а 2

Ь 0

Ь 2 Ь 1

X

Рисунок 2. Логистическое отображение при 1> 4. Построение множества Р0.

зы. Мы получим множество, которое будет состоять из объединения четырех отрезков. Продолжая этот процесс, мы будем получать множества Рк . Их объединение - это и есть те точки отрезка [0,1], которые покидают его при к последовательных итерациях /. Что же остается на нашем отрезке? Остается канторово множество.

Заметим, что получающееся канто-рово множество не обязательно является стандартным - длина удаляемой части зависит от выбора параметра 1. Нетрудно подобрать его так, чтобы длина отрезка

/0 равнялась

1

03

Алгоритм построения канторова множества с использованием свойств логистического отображения достаточно прост. Выбираем произвольное разбиение отрезка [0,1] (допустим N точек) и строим итерации каждой точки. На каждом шаге проверяем, выходит ли результат за границы единичного отрезка. Точки, для которых результаты их последовательных итераций остаются внутри отрезка, отмечаем одним цветом, те же, для которых это условие нарушается, отмечаем другим цветом.

На рисунке 3 показан результат построения канторова множества с помощью логистического отображения. На верти-

г

а

0

Негайопв: 6 1ат=4.70000

Рисунок 3. Процесс построения канторова множества.

кальной оси отмечены номера итераций. Для удобства отслеживания процесса построения результат каждой итерации рисуется на новом экземпляре отрезка.

Пример программы, реализующей это построение, приведен в приложении.

РАЗМЕРНОСТЬ

ФРАКТАЛЬНЫХ МНОЖЕСТВ

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

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

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

Рассмотрим следующую процедуру. Пусть в пространстве размерности р задано некоторое множество М. (Мы сейчас имеем в виду наше обычное представление о размерности: пространство размерности 0 - это точка, размерности 1 - прямая, 2 - плоскость и т.д.) Рассмотрим также кубики с заданным ребром, например е, в этом пространстве. Кубик в пространстве размерности 0 - точка, в пространстве размерности 1 - отрезок длины е , на плоскости это квадрат с такой стороной и т.д. Обозначим такой кубик С(е). Теперь возьмем некоторое количество этих кубиков и перенумеруем их. Кубик с номером г обозначим С1 (е).

Будем говорить, что множество кубиков образует покрытие множества М, если каждая точка из М лежит в одном из

кубиков. Пример покрытия изображен на следующем рисунке. Здесь множество М представляет собой окружность, а объединение всех квадратиков является покрытием М.

Покроем наше множество кубиками со стороной е. Обозначим число необходимых элементов для такого покрытия через М

1п(1/е) ' Теперь будем последовательно уменьшать величину е (выбирать более мелкое покрытие). Пусть эти выбираемые величины образуют последовательность е1,е2,.... Для каждого £1 будем вычислять отношение

= 1пN е) о

** = МТ/е^ . Определим предел последовательности

, то есть вычислим выра-

, ,. 1п N (е) жение и = 11т . Полу-

е 0 1п(1/е) ченное число называют хаус-

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

Давайте посмотрим, как выглядит введенная характеристика для хорошо известных множеств - точки, отрезка и квадрата.

Пример 1. Для того, чтобы покрыть точку на плоскости, потребуется один элемент покрытия. Следовательно ^е) = 1 и и = 0. Это согла-

суется с определением обычной размерности для точки.

Пример 2. Рассмотрим отрезок прямой, соединяющий точки 0 и 1. Разобьем его на части длины е. Таких частей нужно N (e) =(длина отрезка)/(длина одной ча-сти)=1/е. Тогда размерность d равна

lim ММ =,

е 0ln

Пример 3. Рассмотрим единичный' квадрат. Разобьем каждую из сторон на e частей.

Тогда N(е) = е*е = е 2 . Например при стороне элемента покрытия, равной 1/10, нам потребуется 100 квадратиков для покрытия исходного единичного квадрата. Нетрудно сосчитать, что в этом слу-

, Г ln(e~2) _

чае d = lim-= 2

е0 ln

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

Попробуем теперь вычислить хаусдорфову размерность множества Кантора.

На первом шаге построения мы выбрасывали среднюю треть отрезка. Таким образом, для того, чтобы покрыть оставшиеся две трети, нужно два отрезка длиной 1/3.

На втором шаге для покрытия оставшейся части отрезка нам потребуется 4 отрезка длины 1/9.

На шаге с номером p длина покрытия равна ~, а число

элементов покрытия равно 2 p . Тогда

ln(2p) = ln2 = ln3'

d = lim -

e0 ln

Понятно, что полученное число будет дробным. Таким образом, введенная характеристика в определенном смысле измеряет емкость мно-

жеств, подобных канторову. В нашем случае она меньше 1, так как канторово множество не содержит интервалов. Для фрактальных множеств на плоскости хаусдорфова размерность будет меньше 2.

Рассмотрим еще один пример. Посчитаем хаусдорфову размерность для кривой Коха.

Эта кривая получается с помощью следующего алгоритма.

Рассмотрим правильный треугольник со стороной 1. Делим каждую из сторон на 3 равные части, на средней трети строим, как на основании, правильный треугольник, а затем удаляем среднюю треть. На полученной фигуре снова повторяем этот процесс и т.д. Множество, полученное в результате бесконечного числа повторений этой операции, называется кривой Коха (рисунок 4).

1 шаг. Убираем 3 отрезка по 1/3 и добавляем 6 отрезков длины 1/3. Таким образом, длина кривой, первоначально равная 3, после первого шага становится равной

3-3x1/3+2x3x1/3=4. Длина увеличилась в 4/3 раза.

2 шаг. Теперь наша кривая состоит из 12 отрезков длины 1/3. На каждом из них повторяем описанную процедуру. Удаляем часть с длиной 12x1/9, добавляем длину 12x2x1/9.

Новая длина равна

4-12/9+24/9=16/3=4x4/3. Мы видим, что на каждом шаге длина умножается на 4/3.

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

На первом шаге нам потребовалось 12=4x3 отрезков длины 1/3.

На втором шаге нужно 48=4x4x3 отрезков длины 1/9.

На шаге с номером р нужно 2 1

2 р 3 отрезков длины

3p

Рисунок 4.

В этом случае e = ^p ' а

N(e) = 22p3 . Понятно, что при p величина e  0 . Поэтому можно считать искомый предел при p .

Тогда величина

„ = lim^ =

p¥ 1n

,. 2 p ln 2 ,. ln 3 = lim--+ lim-=

p¥ p ln3 p¥ p ln3

ln2 n ln2

= 2-+ 0 = 2-.

ln3 ln3

Интересно отметить, что это число больше 1, но меньше 2. Заметим также, что нам пришлось считать предел только в последнем примере, так как в предыдущих примерах под знаком предела получалась постоянная величина.

В рассмотренных нами примерах мы смогли посчитать хаусдорфову размерность с помощью явных формул. К сожалению, для большинства фрактальных множеств такие характеристики можно получить только с помощью приближенных методов. На рисунке 5 показаны примеры фрактальных множеств на плоскости. Первые три картинки относятся к так называемому отображению Гардини. На них изображено множество, которое остается в квадрате после нескольких итераций. Остальные точки уходят на бесконечность. Видно, что оставшееся в квадрате множество имеет фрактальный характер. Вторая группа картинок относится к изучению итераций отображения z  z + c , где z, c - комплексные числа.

а: и. [.Шйй.

с- о

НАШИ АВТОРЫ

Ампилова Наталья Борисовна, доцент кафедры дифференциальных уравнений мат.-мех. факультета СПбГУ.