Фракталы: фигуры с дробной размерностью
Сколько измерений у береговой линии? Не одно и не два, а что-то между — например, 1,25. Фракталы — это фигуры, которые выглядят одинаково на любом масштабе, а их «размерность» оказывается дробным числом. Звучит как абсурд, но именно так устроена природа.
У береговой линии размерность не 1 и не 2, а где-то посередине — и это не парадокс, а новый способ измерять сложность формы.
«Облака — не сферы, горы — не конусы, береговые линии — не окружности», — писал Бенуа Мандельброт. Природа неровная, и для её описания понадобилась новая геометрия.
Что такое самоподобие
Главная черта фрактала — самоподобие: часть фигуры выглядит так же, как целое. Приблизьте кусочек — и увидите уменьшенную копию всей фигуры. Приблизьте ещё — снова копия. И так до бесконечности, без «дна», на котором картинка становилась бы гладкой.
Это не выдумка чистой математики. Посмотрите на ветку дерева — она напоминает всё дерево в миниатюре. Маленький залив на берегу повторяет форму большого. Снежинка, кровеносные сосуды, молния, цветная капуста сорта романеско — всюду одна и та же структура повторяется на разных масштабах.
Снежинка, у которой бесконечный периметр
Классический фрактал — снежинка Коха. Строится она так: берём отрезок, делим на три части, среднюю заменяем «домиком» из двух сторон (получается уголок). Теперь то же самое проделываем с каждым из новых отрезков. И повторяем бесконечно.
На каждом шаге длина границы умножается на $\frac{4}{3}$ — отрезков становится больше, и они мельче. Повторяя бесконечно, мы получаем фигуру, у которой периметр бесконечен, хотя она целиком помещается на ладони и ограничивает конечную площадь. Бесконечная линия, упакованная в крошечный кусочек плоскости.
Загадка береговой линии
Отсюда знаменитый вопрос Мандельброта: какова длина береговой линии Великобритании? Ответ обескураживает: зависит от длины линейки.
| Шаг измерения | Что учитываем | Измеренная длина |
| 100 км | только крупные изгибы | меньше |
| 10 км | заливы и мысы | больше |
| 1 км | каждую бухточку | ещё больше |
| 1 м | каждый камень | огромная |
Чем мельче линейка, тем больше мелких изгибов попадает в счёт и тем длиннее берег. Длина не стремится к какому-то пределу, а растёт без остановки. У идеального фрактального берега длины как единого числа просто не существует. Нужна другая мера сложности — и ей стала дробная размерность.
Откуда берётся дробное число измерений
Привычная размерность — целая: линия одномерна, квадрат двумерен, куб трёхмерен. Откуда взять дробь?
Зайдём через масштабирование. Увеличим фигуру в 2 раза и посмотрим, во сколько раз выросло «количество материала»:
- отрезок (1D): растягиваем вдвое — копий ровно 2, то есть $2^1$;
- квадрат (2D): увеличиваем сторону вдвое — в нём помещается 4 маленьких, $2^2$;
- куб (3D): сторона вдвое — 8 кубиков, $2^3$.
Видно правило: показатель степени и есть размерность. Запишем её формулой через число копий $N$ и коэффициент увеличения $k$:
$$D = \frac{\log N}{\log k}$$
Теперь применим к фракталу. У снежинки Коха при увеличении в 3 раза появляется 4 копии. Подставляем:
$$D = \frac{\log 4}{\log 3} \approx 1{,}262$$
Размерность между прямой и плоскостью! Снежинка Коха «толще» обычной линии, потому что бесконечно извивается и плотнее заполняет плоскость, но до настоящей двумерной фигуры не дотягивает. Дробная размерность — это честная мера того, насколько изломана линия.
import math
def fractal_dim(N, k):
return math.log(N) / math.log(k)
print("Отрезок: ", fractal_dim(2, 2)) # 1.0
print("Квадрат: ", fractal_dim(4, 2)) # 2.0
print("Снежинка Коха: ", round(fractal_dim(4, 3), 3)) # ~1.262
print("Треуг. Серпинского:", round(fractal_dim(3, 2), 3)) # ~1.585Множество Мандельброта
Самый знаменитый фрактал назван в честь Бенуа Мандельброта, который и придумал термин «фрактал» в 1975 году. Множество Мандельброта задаётся обескураживающе короткой формулой на комплексных числах: для каждой точки $c$ повторяем $z \to z^2 + c$ и смотрим, улетает ли $z$ в бесконечность. Точки, остающиеся «прирученными», и образуют множество.
Из этого простого правила рождается, возможно, самый сложный объект математики. Сколько ни увеличивай его границу, открываются всё новые узоры — спирали, «морские коньки», крошечные копии всего множества, и так без конца. Бесконечная сложность из одной строчки — наглядный девиз фрактальной геометрии.
Зачем фракталы нужны
Фрактальная геометрия — не только красивые картинки.
- Компьютерная графика. Реалистичные горы, облака, деревья и береговые линии в фильмах и играх генерируют именно фрактальными алгоритмами — так дёшево получить природную сложность.
- Сжатие и антенны. Существует фрактальное сжатие изображений, а компактные антенны в телефонах делают фрактальной формы, чтобы уместить большую «длину» в малый размер.
- Природа и медицина. Лёгкие, сосуды, нейроны имеют фрактальное ветвление; дробная размерность помогает измерять сложность природных структур и диагностировать болезни.
Вывод
Фракталы заставили математику признать: целых измерений не всегда хватает, чтобы описать мир. Береговая линия, облако и снежинка живут в зазоре между измерениями, и дробная размерность — точный инструмент, чтобы поймать их изломанность числом. Мандельброт показал, что неровность и шероховатость — не дефект, который надо сгладить, а самостоятельная геометрия со своими законами. И эта геометрия описывает реальный мир куда вернее идеальных линий и окружностей.