Прогулки по фракталам О.В. Русаков1 Idem per idem То же самое через то же самое (лат.) Multum in parvo Многое в малом (лат.) Понятие фрактал было введено Бенуа Мандельбротом в 1975 году [1]. Книга, содержащая его ранние статьи по фракталам и исследования фракталов в финансах, недавно переведена на русский язык [2]. В настоящее время происходит интенсивное изучение моделей финансовой математики, которые основываются на фракталах. В последнее время фракталы стали использовать в задачах компьютерной обработки графической информации, а также для описания работы крупных серверов. Фрактал — объект, обладающий свойством самоподобия (автомодельности). Это объект, который можно дробить бесконечное число раз, и при этом каждая часть наследует геометрические свойства всего объекта. Достаточно подробную историю фракталов и многие детерминистические алгоритмы их построения можно найти в [5]. Наиболее полной и математически строгой книгой то геометрии и математическому анализу фракталов является [6]. Одни из самых распространенных фракталов — это, так называемые, фракталы вырезающего типа (cut-off). Для их построения берется некоторая геометрическая фигура, из которой вырезаются подобые куски уменьшающего размера. Наиболее известный из таких фракталов, по-видимому, канторово множество. Построение его широко известно, тем не менее, мы напомним это построение. На нулевом шаге построения берется отрезок 0,1 . Первым шагом отрезок делится на три равные части и средняя часть (интервал 1/ 3, 2 / 3 с открытыми концами) вырезается. Вторым шагом каждый из оставшихся крайних отрезков делится опять на три равные части и каждая из серединок удаляется. Каждый из полученных на n -ом шаге отрезков в свою очередь делится на три части и середина (с открытыми концами) удаляется. Так мы получаем отрезки n 1 -го шага. 1 Работа поддержана грантом НШ-2258.2003.1 1 Такой процесс повторяется потенциально до бесконечности. Точки, принадлежащие, невырезанным отрезкам образуют канторово множество. Упражнение 1. Докажите, что канторово множество представляет собой точки отрезка 0,1 следующего вида: в троичном разложении по цифрам 0,1,2 отсутствуют единицы. Упражнение 2. Докажите, что канторово множество — замкнуто. Многие геометрические фракталы имеют дробную размерность, так называемую, хаусдорфову размерность. Формулы, определяющие размерность Хаусдорфа, не представляют собой сложных выражений, но применение их к конкретным фракталам зачастую весьма непросто. Определение и примеры вычисления хаусдорфовой размерности можно найти в [3]. Обычно, построение геометрических фракталов основывается на детерминированных алгоритмах. Однако существуют и, так называемые, стохастические источники возникновения фракталов, основа которых исходит из случайности. В книге Р.Кроновера [3] приведены несколько основанных на случайности алгоритмов порождающих фракталы, — рандомизированные алгоритмы. Некоторые известные фракталы могут порождаться специальными случайными блужданиями аффинного типа. Пример — треугольник Серпинского дан в книге А.Н.Ширяева [4] с.274. Треугольник Серпинского также относится к фракталам вырезающего типа. Он устроен аналогично канторову множеству. На нулевом шаге берется правильный треугольник (например, с центром в начале координат, все вершины лежат на единичной окружности, основание параллельно оси абсцисс). Затем треугольник средними линиями делится на четыре равные части, и средняя часть (с открытой границей) вырезается. Получаем три замкнутых треугольника первого уровня. Подобно построению канторова множества, каждый из оставшихся треугольников делится на четыре равные части своими средними линиями и оставшийся в середине треугольник выбрасывается. Получаем треугольники второго уровня. Процесс вырезания средних треугольников повторяется до потенциальной бесконечности. Полученная в результате такого процесса фигура как раз и носит название треугольника Серпинского. Известно, что хаусдорфова размерность треугольника Серпинского равна ln 3 / ln 2 . 2 С любопытной теорией математического анализа на треугольнике Серпинского можно познакомиться в [7]. Там же приведен пример шестиугольной снежинки — фрактала вырезающего типа. Если мы введем на исходном треугольнике следующую «одномерную» четверичную систему координат, то мы получим факт, аналогичный канторову множеству. А именно, треугольник Серпинского состоит из точек, в разложении которых по цифрам 0,1,2,3 отсутствуют нули. Система координат устроена посредством следующей «триангуляризации». Деление исходного треугольника на четыре равных дает значение первой цифры любой точки x внутри треугольника. Мы среднему треугольнику присваиваем номер ноль, а оставшимся трем, начиная с верхнего по часовой стрелке присваиваем последовательно цифры 1,2,3. Так, например, если точка x лежит в верхнем треугольнике после первого деления исходного треугольника, то у нее первая цифра — единица. Затем мы получаем следующую цифру для разложения x , деля треугольник первого уровня на четыре равные части, и нумеруя каждую из частей цифрами 0,1,2,3 в том же порядке. Принадлежность треугольнику второго уровня с данным номером определяет вторую цифру и так далее: принадлежность треугольнику второго уровня с данным номером определяет вторую цифру и так далее. Так, например, если x имеет евклидовы координаты 0, 1 3 / 2n , то первые n 1 цифры в таком четверичном разложении точки x равны единицам. Упражнение 3. Докажите, построенная система координат однозначно определяет всякую точку x , находящуюся внутри или на границе треугольника. Естественным образом построение треугольника Серпинского можно перенести на трехмерный случай. За основу следует взять правильный тетраэдр, делить его серединными секущими плоскостями на 5 равных тетраэдров, и вырезать средний. Полученную фигуру логично назвать тетраэдром Серпинского. Здесь, по аналогии с треугольником Серпинского, можно построить «одномерную» пятеричную систему координат, приписывая цифру 0 каждому тетраэдру, который вырезается. Тетраэдр Серпинского представляет собой трехмерный фрактал, самоподобие которого сохраняется вдоль всех направлений, на которых лежат вершины тетраэдра. Особый интерес представляет тот факт, что канторово множество, треугольник Серпинского, тетраэдр Серпинского, а также ряд других фракталов может возникнуть как 3 предел некоторой стохастической процедуры с дискретным временем, — специального случайного блуждания. Описание этой процедуры для треугольника Серпинского приведено в [4]. Мы дадим некоторые обобщения этой процедуры. Итак. Рассмотрим сначала двумерный случай. Пусть имеется правильный m -угольник M на плоскости. Центр многоугольника совмещен с началом координат. Расстояние от центра многоугольника до каждой вершины равно единице. Обозначим координаты вершин правильного многоугольника M через v1 x1 , y1 ,, v m x m , y m . Последовательность точек нашего блуждания обозначим z0 , z1 ,. Пусть в начальный момент времени t 0 мы находимся в одной из точек внутри M . В действительности, не существенно, в какой из точек мы находимся в начальный момент: это может быть, например, центр многоугольника, либо случайная точка из M . Под случайной точкой мы будем понимать точку z , равномерно распределенную внутри M , то есть вероятность, что точка окажется внутри некоторого множества A M , имеющего площадь S A , равна z A S A / SM . Положение точки в z1 следующий момент времени t 1 определяется результатом движения точки к случайно выбранной вершине таким образом, что точка проходит долю расстояния до выбранной вершины и останавливается. Затем, независимо от того, где остановилась точка и независимо от того, какая вершина была выбрана на предыдущем шаге, опять выбирается вершина, по направлению к которой осуществляется движение. Точка снова проходит расстояние до выбранной вершины, равное доле , и останавливается. И так далее. Данный рекуррентный алгоритм для нашей случайной последовательности zn записывается в следующей форме: zn 1 zn1 n , n 0,1, , (1) где последовательность n представляет собой случайный «шум» и состоит из независимых случайных двумерных векторов, имеющих одинаковые распределения вероятностей. Каждый вектор из последовательности n принимает значения на вершинах нашего многоугольника M , с равными вероятностями 1 / m на каждой вершине. 4 Уравнение (1) представляет собой, так называемое, уравнение авторегрессии 1-го порядка. Вообще, уравнение авторегрессии q -го порядка для случайной последовательности устанавливает линейную зависимость каждого последующего члена последовательности от q предыдущих, плюс текущее значение шума (представляющего последовательность независимых одинаково распределенных случайных элементов). Из общей теории уравнений авторегрессии 1-го порядка следует, что при условии 1 1 существует предельное распределение вероятностей положения точки, которое не зависит от начального положения точки. В зависимости от того 0 1 или 1 2 мы будем иметь предельное положение точки сосредоточенное только внутри M или как внутри, так и вне M , соответственно. Для случая, когда M есть правильный треугольник, а доля 1/ 2 , блуждающая точка в пределе окажется в треугольнике Серпинского, независимо от ее начального положения. Более того, если начальное положение точки принадлежит треугольнику Серпинского, то точка все время будет находится в треугольнике Серпинского. Случай, когда 1/ 2 дает ситуацию, когда множество предельного положения точки разбивается на компоненты, которые не связны и обладают свойством самоподобия. Этот случай в определенной мере изучен методами фрактальной геометрии. Случай, когда 1/ 2 дает практически не изученную картину. Здесь предельное множество связно, хотя и обладает определенными свойствами самоподобия. В случае, когда M есть правильный шестиугольник, а доля 2 / 3 , или 4 / 3 мы получим снежинку из [7]. Алгоритм получения предельного множества с оценкой предельного вероятностного распределения на нем может быть построен неслучайным, детерминистическим способом. Рассмотрим такой алгоритм для случая 0 1 . На нулевом шаге возьмем внутренность многоугольника M вместе с границей — множество нулевого уровня . Следующим шагом сожмем в 1 /(1 ) раз, сохранив ориентацию вершин относительно координатных осей. Полученный многоугольник мысленно продублируем m раз. Получим m множеств 11 , 1m . Первую копию 11 сдвинем к первой вершине многоугольника M так, чтобы стороны 11 смежные с первой вершиной, совпали со сторонами M , смежными с вершиной v1 . Вторую копию сдвинем ко второй вершине, чтобы стороны 12 смежные с первой вершиной, совпали со сторонами M , смежными с вершиной v 2 . Аналогичную процедуру проделаем для всех множеств 11 , 1m , сдвигая 5 k -ое множество к k -ой вершине, k 1,, m . Множества, полученные из сжатием и сдвигом обозначим теми же символами 11 , 1m и назовем множествами первого уровня. Объединение множеств из 11 , 1m представляет собой множество, где может оказаться блуждающая точка после первого шага, если начальное распределение ее равномерно. Каждая точка будет иметь следующий индекс пересечений на первом шаге J 1 . В случае, если не принадлежит ни одному из 11 , 1m индекс пересечений для положим нулевым. Если принадлежит ровно l -кратному пересечению множеств из , , то индекс пересечений равен J l . 1 1 1 m 1 Следующим шагом построим множества второго уровня 2kj , k , j 1,, m . Каждое из множеств первого уровня 11 , 1m сжимается в 1/1 раз, копируется m раз, и каждая копия сдвигается к соответствующей вершине на долю расстояния каждой точки копии до соответствующей вершины. Множества каждого следующего уровня n определяются через множества предыдущего уровня посредством следующей формулы: nk1kn1 j 1 nk11 kn1 v j , j 1,, m . (2) Объединение множеств n -го уровня есть множество возможного положения блуждающей точки после n -го шага. Индекс пересечений J n произвольной точки после n -го шага определяется аналогично: он равен количеству множеств n -го уровня, которые накрывают . Индекс пересечений J n определяет плотность распределения вероятностей после n -го шага pn в случае, когда начальное положение блуждающей точки равномерно распределено в , pn J n / mn 1 2n . В одномерном случае рассмотрим в качестве M отрезок 1,1 . Блуждание точки определим в соответствии с формулой (1), с той разницей, что теперь случайные величины n независимы и одинаково распределены: принимают значения 1 и 1 с вероятностью 1 / 2 . Можно убедиться, что доля пути 2 / 3 дает предельное множество состояний блуждающей точки — множество Кантора. В трехмерном случае в качестве M возьмем правильный тетраэдр с центром в начале координат и единичным расстоянием от центра до каждой из вершин. Блуждание точки 6 определим аналогично, посредством (1). При коэффициенте 1/ 2 предельным множеством состояний блуждающей точки будет тетраэдр Серпинского. Алгоритм стохастической процедуры специального случайного блуждания на плоскости реализован в программе I. В правом верхнем окне стоит по умолчанию 0,5 * x . Здесь x означает расстояние до выбранной вершины, а коэффициент 0,5 показывает какую долю пути до вершины проходит блуждающая точка (для 0,5 — половину пути до выбранной вершины). Поставив, например, коэффициент 0,666 мы получим снежинку. Нажав кнопку плотность зритель видит эмпирическую плотность распределения вероятностей блуждающей точки. Правым рычажком эту плотность можно сглаживать. Плотность представляется видом в цветовой гамме: чем больше значение плотности — тем краснее (палитра в правом нижнем углу). Левый рычажок позволяет регулировать размер многоугольника. Особый интерес представляет нелинейный случай, когда каждое следующее положение блуждающей точки определяется нелинейной функцией, например exp x . Такие случаи совершенно не изучены. Автор реализации программы I и идеи рассматривать нелинейный случай — Михаил Плискин. Алгоритм стохастической процедуры нашего специального случайного блуждания внутри правильного октаэдра реализован в программе II. Здесь устанавливается процент доли пути, который проходит блуждающая точка. Программа рисует томограммы (условные плотности вероятностного распределения) при сечении октаэдра как плоскостями параллельными главной плоскости симметрии октаэдра, так и плоскостями параллельными одной из граней октаэдра. Программа реализована детерминистическим алгоритмом приближения предельного множества состояний блуждающей точки. Описание такого алгоритма было дано для двумерного случая (2). В трехмерном случае все происходит аналогично. Автор реализации программы Константин.Зильбербург. Литература. [1] Mandelbrot B.B. Les Objects fractals. Paris: Flammarion, 1975. [2] Б.Мандельброт Фракталы, случай и финансы. Москва-Ижевск: R and C Dynamics, 2004. [3] Р.М. Кроновер Фракталы и хаос в динамических системах. Москва: Постмаркет, 2000. 7 [4] А.Н.Ширяев Основы стохастической финансовой математики. Факты. Модели. Москва: Фазис, 1998. [5] Х.-О. Пайтген, Н.Х.Рихтер Красота фракталов. Образы комплексных динамических систем. Москва: Мир, 1993 [6] Falconer K. Fractal Geometry: Mathematical Foundation and Applications. John Willey and Sons, New York, 1990. [7] Strichartz R.S. Analysis on Fractals Notices of AMS, Nov.1999, 1199-1208. 8