Главная
Новости
Строительство
Ремонт
Дизайн и интерьер

















Яндекс.Метрика





Множество Мандельброта

Множество Мандельброта — это множество таких точек c на комплексной плоскости, для которых рекуррентное соотношение z n + 1 = z n 2 + c {displaystyle z_{n+1}={z_{n}}^{2}+c} при z 0 = 0 {displaystyle z_{0}=0} задаёт ограниченную последовательность. То есть, это множество таких c, для которых существует такое действительное R, что неравенство | z n | < R {displaystyle |z_{n}|<R} выполняется при всех натуральных n. Определение и название принадлежат Дуади, в честь математика Бенуа Мандельброта.

Множество Мандельброта является одним из самых известных фракталов, в том числе за пределами математики, благодаря своим цветным визуализациям. Его фрагменты не строго подобны исходному множеству, но при многократном увеличении определённые части всё больше похожи друг на друга.

Точное значение площади множества Мандельброта неизвестно. На 2012 год она оценивалась как 1,506 591 884 9 ± 2,8×10−9. Точная координата центра масс (расположенного на оси абсцисс) тоже неизвестна и оценивается как −0,286 768 420 48 ± 3,35×10−9.

Расширенное определение

Вышеуказанная последовательность может быть раскрыта для каждой точки c {displaystyle c} на комплексной плоскости следующим образом:

c = x + i ⋅ y , Z 0 = 0 , Z 1 = Z 0 2 + c = = x + i y Z 2 = Z 1 2 + c = = ( x + i y ) 2 + x + i y = = x 2 + 2 i x y − y 2 + x + i y = = x 2 − y 2 + x + ( 2 x y + y ) i , Z 3 = Z 2 2 + c = … {displaystyle {egin{aligned}c&=x+icdot y,Z_{0}&=0,Z_{1}&=Z_{0}^{2}+c=&=x+iyZ_{2}&=Z_{1}^{2}+c=&=(x+iy)^{2}+x+iy=&=x^{2}+2ixy-y^{2}+x+iy=&=x^{2}-y^{2}+x+(2xy+y)i,Z_{3}&=Z_{2}^{2}+c=ldots end{aligned}}}

и так далее.

Если переформулировать эти выражения в виде итеративной последовательности значений координат комплексной плоскости ( x , y ) {displaystyle (x,y)} , то есть заменив z n {displaystyle z_{n}} на x n + i ⋅ y n {displaystyle x_{n}+icdot y_{n}} , а c {displaystyle c} на x 0 + i ⋅ y 0 {displaystyle x_{0}+icdot y_{0}} , мы получим:

x n + 1 = x n 2 − y n 2 + x 0 , {displaystyle x_{n+1}={x_{n}}^{2}-{y_{n}}^{2}+x_{0},} y n + 1 = 2 x n y n + y 0 . {displaystyle y_{n+1}=2{x_{n}}{y_{n}}+y_{0}.}

Визуально, внутри множества Мандельброта можно выделить бесконечное количество элементарных фигур, причём самая большая в центре представляет собой кардиоиду. Также есть набор овалов, касающихся кардиоиды, размер которых постепенно уменьшается, стремясь к нулю. Каждый из этих овалов имеет свой набор меньших овалов, диаметр которых также стремится к нулю и т. д. Этот процесс продолжается бесконечно, образуя фрактал. Также важно, что эти процессы ветвления фигур не исчерпывают полностью множество Мандельброта: если рассмотреть с увеличением дополнительные «ветки», то в них можно увидеть свои кардиоиды и круги, не связанные с главной фигурой. Самая большая фигура (видимая при рассматривании основного множества) из них находится в области от −1,78 до −1,75 на отрицательной оси действительных значений.

История множества Мандельброта

Впервые множество Мандельброта было описано в 1905 году Пьером Фату (фр. Pierre Fatou), французским математиком, работавшим в области аналитической динамики комплексных чисел. Фату изучал рекурсивные процессы вида

z → z 2 + c . {displaystyle z o z^{2}+c.}

Начав с точки z 0 {displaystyle z_{0}} на комплексной плоскости, можно получить новые точки, последовательно применяя к ним эту формулу. Такая последовательность точек называется орбитой z 0 {displaystyle z_{0}} при преобразовании z → z 2 + c {displaystyle z o z^{2}+c} .

Фату нашел, что орбита для начального условия z 0 = 0 {displaystyle z_{0}=0} при этом преобразовании показывает достаточно сложное и интересное поведение. Существует бесконечное множество таких преобразований — своё для каждого значения c. В те времена компьютеров ещё не было, и Фату, конечно, не мог построить орбиты всех точек плоскости, ему приходилось всё делать вручную. Основываясь на своих расчётах, он доказал, что орбита точки, лежащей на расстоянии больше 2 от начала координат, всегда уходит в бесконечность.

Фату никогда не видел изображений, которые мы сейчас знаем как изображения множества Мандельброта, потому что необходимое количество вычислений невозможно провести вручную. Профессор Бенуа Мандельброт был первым, кто использовал компьютер для визуализации множества.

Фракталы были описаны Мандельбротом в 1975 году в его книге «Les Objets Fractals: Forme, Hasard et Dimension» («Фрактальные объекты: форма, случайность и размерность»). В этой книге Мандельброт впервые использовал термин «фрактал» для обозначения математического феномена, демонстрирующего столь непредсказуемое и удивительное поведение. Эти феномены рождались при использовании рекурсивного алгоритма для получения какой-либо кривой или множества. Множество Мандельброта — один из таких феноменов, названный по имени своего исследователя.

В 1978 году фрактал был определён и нарисован Робертом У. Бруксом и Питером Мательским как часть исследования групп Клейна. 1 марта 1980 года Бенуа Мандельброт первым увидел визуализации множества. Математическое исследование множества Мандельброта началось с работы математиков Адриена Дуади (Adrien Douady) и Джона Х. Хаббарда (John H. Hubbard), которые установили многие из его фундаментальных свойств.

Множество Мандельброта стало известно в середине 1980-х годов при демонстрации компьютерной графики, когда персональные компьютеры стали достаточно мощными, чтобы построить и отобразить множество в высоком разрешении.

Построение множества

Несложно доказать, что как только модуль z n {displaystyle z_{n}} окажется больше 2 (или, в терминах действительной и мнимой частей, x n 2 + y n 2 > 2 {displaystyle {sqrt {x_{n}^{2}+y_{n}^{2}}}>2} ), все последующие модули последовательности станут стремиться к бесконечности. В случае |c| > 2 это можно доказать с помощью метода математической индукции. При |c| > 2 точка c заведомо не принадлежит множеству Мандельброта, что можно вывести методом математической индукции, используя равенство z 0 = 0 {displaystyle z_{0}=0} (хотя в этом случае может существовать другое z 0 {displaystyle z_{0}} , для которого соответствующая последовательность ограничена по модулю, и при этом для некоторого n выполняется неравенство | z n | > 2 {displaystyle |z_{n}|>2} ).

Сравнение | z n | {displaystyle |z_{n}|} с этим числом (в англоязычной литературе его называют «bail-out») позволяет выделять точки, не попадающие внутрь множества. Для точек, лежащих внутри множества, последовательность итераций не будет формировать тенденцию расстояния от новой точки до | z 0 | {displaystyle |z_{0}|} к бесконечности для любого числа итераций, поэтому после определённого числа итераций расчёт можно завершить. Максимальное число итераций, после которых число считается попавшим внутрь множества, просто задаётся как начальное условие построения.

Изображение, полученное таким способом, является лишь приближением к реальному множеству Мандельброта. Более качественные результаты можно получать, увеличивая максимальное количество итераций, однако при этом пропорционально вырастает и время расчётов.

Цветные варианты

Строго математически, изображения множеств Мандельброта и Жюлиа должны быть чёрно-белыми — точка либо принадлежит множеству, либо нет. Но были предложены варианты сделать изображения цветными. Самым распространённым способом является окрашивание точек около внешней границы множества в зависимости от количества итераций, за которое становится очевидным, что точка не принадлежит множеству (за которое начинает выполняться критерий | z n | > 2 {displaystyle |z_{n}|>2} ).

Порядок определения, принадлежит ли точка z 0 {displaystyle z_{0}} множеству (традиционно закрашиваемого чёрным цветом) или нет (закрашивается цветом, зависящим от «скорости удаления») следующий: на каждой итерации вычисляется текущее расстояние — значение модуля | z n | = x n 2 + y n 2 {displaystyle |z_{n}|={sqrt {x_{n}^{2}+y_{n}^{2}}}} , которое затем сравнивается с «критерием бесконечности» (обычно берётся значение, равное 2). Значительно уменьшить количество вычислений можно за счёт отказа от вычисления квадратного корня — проверять не x n 2 + y n 2 > 2 {displaystyle {sqrt {x_{n}^{2}+y_{n}^{2}}}>2} , а x n 2 + y n 2 > 4 {displaystyle x_{n}^{2}+y_{n}^{2}>4} .

Таким образом, если | z n | 2 ⩾ 4 {displaystyle |z_{n}|^{2}geqslant 4} , то точка z 0 {displaystyle z_{0}} окрашивается в цвет, который предварительно был выбран для n {displaystyle n} — номера итерации, на которой выполнился критерий (может служить индексом в таблице цветов или использоваться как параметр в более сложном алгоритме). Если при максимальном для данного построения числе итераций критерий не достигнут, тогда точка считается принадлежащий множеству и её цвет чёрный.

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

Оптимизация

Одним из способов уменьшения объёма вычислений при построении общей картины множества может служить проверка, попадает ли точка в область главной кардиоиды. Формула кардиоиды в полярных координатах выглядит следующим образом:

ρ c = 1 2 − 1 2 cos ⁡ θ . {displaystyle ho _{c}={frac {1}{2}}-{frac {1}{2}}cos heta .}

Таким образом, для точки ( x , y ) {displaystyle (x,y)} необходимо вычислить

ρ = ( x − 1 4 ) 2 + y 2 , {displaystyle ho ={sqrt {left(x-{frac {1}{4}} ight)^{2}+y^{2}}},} θ = atn 2 ⁡ ( y , x − 1 4 ) , {displaystyle heta =operatorname {atn} _{2}left(y,x-{frac {1}{4}} ight),} ρ c = 1 2 − 1 2 cos ⁡ θ . {displaystyle ho _{c}={frac {1}{2}}-{frac {1}{2}}cos heta .}

Если ρ ⩽ ρ c {displaystyle ho leqslant ho _{c}} , то точка ( x , y ) {displaystyle (x,y)} попадает внутрь множества и закрашивается чёрным цветом, и тогда итеративные вычисления можно не делать.

На практике наибольшее уменьшение объёма вычислений даёт трассировка границы: если есть некоторая замкнутая кривая, не пересекающая ось абсцисс, каждая точка которой уходит за предел bail-out за одинаковое число итераций или, наоборот, принадлежит множеству Мандельброта, то любая точка внутри этой кривой будет обладать тем же свойством, и следовательно вся область внутри границы закрашивается одинаковым цветом.

Связь с множеством Жюлиа

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

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

Множество Мандельброта и само содержит структуры, напоминающие множество Жюлиа: для любого c область множества Мандельброта около c напоминает центр множества Жюлиа с параметром c. Если сильно увеличить множество Мандельброта в граничной точке c и то же самое проделать с множеством Жюлиа для этого же значения c и в этой же точке, то картины будут асимптотически стремиться друг к другу при всё больших увеличениях.

Вариации множества Мандельброта

Зачастую под названием «Множество Мандельброта» понимается только множество, описанное выше. Однако любая функция комплексной переменной имеет соответствующее множество Мандельброта, которое также характеризуется наличием или отсутствием связного множества Жюлиа. Например, можно положить fc(z) = z3 + c. Тогда для каждого значения c проверяется связность множества Жюлиа функции fc и при наличии связности считается, что c принадлежит множеству Мандельброта. В описанном случае связность можно проверить тем же способом, что и для fc(z) = z2 + c.

Эти утверждения можно обобщить и на множества Жюлиа, определяемые больше, чем двумя числами. Например, множество Жюлиа, определяемое тремя действительными числами, имеет соответствующее трёхмерное множество Мандельброта.

Рассматриваются и многомерные вариации множества Мандельброта. Так, трёхмерный аналог получил название лампочка Мандельброта, хотя классические аналоги на комплексных числах существуют только в размерности, равной степени 2.

Применение множества Мандельброта

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

Применение в искусстве

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

  • Координаты центра:
    −1,7433419053321,
    0,0000907687489,
    ширина 0,00000000374

  • Координаты центра:
    −1,88488933694469,
    0,00000000081387,
    ширина 0,00000000000024

  • Координаты центра:
    −0,777807810193171,
    0,131645108003206,
    ширина 0,0000000000000032

  • Координаты центра:
    −0,56267837374,
    0,65679461735,
    ширина 0,000000064

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

  • Координаты центра:
    −0,56267837374,
    0,65679461735,
    ширина 0,000000064

  • Координаты центра:
    −1,96680095,
    0,00000478,
    ширина 0,00000014

  • Координаты центра:
    −1,7433419053321,
    0,0000907687489,
    ширина 0,00000000374

Математические факты о множестве Мандельброта

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

Однако неизвестно, является ли оно локально связным. Эта известная гипотеза в комплексной динамике получила название MLC (англ. Mandelbrot locally connected). Многие математики прилагают усилия к её доказательству. Жан-Кристоф Иокко (Jean-Christophe Yoccoz) доказал, что гипотеза верна во всех точках с конечной ренормализацией, затем многие другие математики доказывали справедливость гипотезы во многих отдельных точках множества Мандельброта, но общая гипотеза остается недоказанной.

Мицухиро Шишикура (Mitsuhiro Shishikura) доказал, что размерность Хаусдорфа границы множества Мандельброта равна 2. Но остается неизвестным ответ на вопрос, имеет ли граница множества Мандельброта положительную меру Лебега на плоскости.

Число итераций для любой точки в построении множества очень близко к логарифму электрического потенциала, который возникает, если зарядить множество Мандельброта. Точнее, предел ln ⁡ ( ln ⁡ ( | z n | ) / 2 n ) + const {displaystyle ln {ig (}ln(|z_{n}|)/2^{n}{ig )}+{ ext{const}}} совпадает с этим потенциалом.