Глава 17
Фракталы
Фигуры, о которых нам рассказывали на уроках геометрии в школе, просты и понятны. Их границы четко очерчены. Все отрезки прямые, а окружности ровные. Из космоса Земля похожа на гладкую-прегладкую жемчужину, но вблизи все оказывается несколько сложнее. Крутые горные вершины возвышаются над волнистыми песчаными дюнами и бушующим океаном. Реки извиваются, леса заполнены ветвистыми деревьями. Если мы закажем художнику изобразить поверхность Земли с помощью прямых линий и дуг окружности, получится дичайший абстракционизм.
Геометрические фигуры, порожденные природой, имеют неровные границы, плохо выражаемые с помощью уравнений. Какова форма облака или пламени костра? «Начала» Евклида становятся бесполезны. Совершенно иные фигуры наполняют наш смутный изменчивый мир.
Треугольник Серпинского
Начнем с рецепта.
Нам понадобится кусок теста и несколько чрезвычайно острых ножей. Кроме того, придется нанять побольше поваров.
Аккуратно вырежем из теста равносторонний треугольник.
Шеф-повар должен безошибочно вырезать (и выбросить) треугольник, вершины которого лежат в серединах сторон большого треугольника. Процесс изображен на рисунке.
Остаются три равносторонних треугольника. Они соприкасаются вершинами. Их площади в четыре раза меньше сторон большого треугольника.
Дальше шеф-повар вызывает трех помощников и велит им проделать такую же процедуру с треугольниками поменьше. Получится девять треугольников в 16 раз меньше большого.
Разумеется, помощники шеф-повара сами метят в шеф-повара. Каждый вызывает трех своих помощников и просит их проделать эту процедуру с маленькими треугольниками.
Процесс продолжается и продолжается. Каждый, кто участвует в нем, вызывает трех своих помощников и велит рассечь треугольники по тому же принципу. И вот что получается:
Бессчетные подручные орудуют ножами. Их становится все больше и больше, их число стремится к бесконечности. В конце концов – когда бы ни наступил этот конец – мы получим треугольник Серпинского.
Треугольник Серпинского, как и всякий фрактал, обладает двумя особенностями: он самоподобен и имеет дробную размерность.
Легко понять, что такое самоподобие. Треугольник Серпинского состоит из трех маленьких копий самого себя, а каждая из этих копий состоит из трех других копий. Когда вы вооружитесь мощнейшим микроскопом, обнаружится, что мельчайшие треугольники собраны из собственных копий. Все составные части подобны друг другу.
Но что такое дробная размерность?
Между измерениями
Объекты в евклидовой геометрии можно рассортировать по количеству измерений.
Отрезки, дуги окружностей, границы квадратов и все такое прочее имеет одно измерение. У них есть длина, но нет толщины. Винтовая линия тоже одномерна, хотя закручивается в трехмерном пространстве.
Четырехугольники, пятиугольники, шестиугольники (на сей раз мы учитываем области внутри), круги и другие фигуры подобного рода имеют два измерения: у них есть площадь, но нет объема. Поверхность цилиндра имеет два измерения, хоти и не лежит на ровной плоскости.
Шары, кубы и другие фигуры того же класса имеют три измерения: у них есть объем.
А как насчет треугольника Серпинского? Мы начали с обычного равностороннего треугольника; видимо, у треугольника Серпинского два измерения. Но как узнать его площадь?
Для простоты будем считать, что площадь исходного треугольного куска теста равна 1 условной единице площади (например, одному квадратному сантиметру). Шеф-повар рассек треугольник на четыре одинаковых куска. Площадь выброшенного куска равна 1/4 изначальной площади; таким образом, на первом шаге площадь нашей фигуры равна 3/4 квадратного сантиметра.
Три помощника шеф-повара вырезали еще 1/4 площади, осталось 3/4 от 3/4 площади самого большого треугольника. Помощники помощников шеф-повара вырезали еще 1/4… Иными словами, на этапе
n остается
начальной площади.
После 16 этапов около 99 % площади исчезнет. Если устремить n к бесконечности, вся площадь уничтожится; останутся лишь границы треугольников, у которых нет никакой площади.
Получается, у треугольника Серпинского одно измерение? Если так, то попробуем вычислить его длину.
Начнем сразу с пустого треугольника. Дальше добавляются три отрезка, соединяющих середины сторон треугольника. Повторим эту процедуру с тремя треугольниками по краям, не трогая треугольник по центру. Мы будем множить треугольники снова и снова следующим образом:
Для удобства расчетов будем считать, что длина стороны большого треугольника равна 1 условной единице. Таким образом, сумма длин его сторон составляет 3.
Новый треугольник внутри большого добавляет три отрезка, длина каждого равна 1/2. То есть на первом этапе общая длина возрастает на 3/2.
На втором этапе появляется еще девять отрезков (по три внутри каждого из трех треугольников по краям). Длина каждого маленького отрезка равна 1/4, и нам нужно прибавить к общей длине еще 9/4.
На третьем этапе возникают еще 27 отрезков (по три внутри девяти треугольников). Длина каждого равна 1/8, поэтому мы прибавляем 27/8 к итоговой длине.
Следующий этап прибавляет 81/16, и т. д. На этапе
n мы прибавляем
Чем больше
n, тем больше общая длина.
Вывод: сумма длин всех отрезков, составляющих треугольник Серпинского, бесконечна!
Треугольник Серпинского имеет нулевую площадь и бесконечную длину. Неужели у этой фигуры больше одного измерения и меньше двух? Умозаключение кажется туманным, можно выразиться поточнее. Сейчас мы покажем, что треугольник Серпинского имеет измерение 1,5849625007… Честное слово!
Подсчитываем клеточки
Количество измерений геометрической фигуры характеризует ее «толщину». Объект с одним измерением (например, отрезок) «тоньше», чем область внутри треугольника, а она, в свою очередь, «тоньше», чем шар. Посмотрим, как выразить эту расплывчатую идею «толщины» и «тонкости» на строгом математическом языке.
Идея состоит в том, чтобы начертить фигуру на миллиметровке. Мы будем рисовать одну и ту же фигуру снова и снова на бумаге со все более и более мелкой сеткой.
Проиллюстрируем эту идею с помощью незамысловатой загогулины. Изобразим одну и ту же загогулину на бумаге, размеченной клеточками 1 × 1, затем 1/2 × 1/2, затем 1/4 × 1/4 и т. д. Вот результат:
Мы закрасили клеточки, затронутые нашей кривой. Посчитаем их количество:
Заметим, что при уменьшении стороны клеточки вдвое мы, грубо говоря, удваиваем количество клеточек, необходимых для покрытия кривой. Почему так? Каждая клеточка покрывает часть длины кривой. Когда мы уменьшаем длину клеточки в два раза, нам нужно где-то в два раза больше клеточек. Это соотношение можно выразить уравнением:
Здесь N – количество клеточек, затронутых кривой, а g – длина стороны одной клеточки. Символ означает «пропорционально» и подразумевает неточность соотношения. Если бы наша кривая была обычным отрезком прямой линии, мы бы вывели точное уравнение. Но стоит ненамного скрутить прямую линию, и соотношение становится несовершенным.
Продолжим подсчитывать клеточки, на сей раз затронутые двумерной фигурой – кругом с радиусом 1.
Будем снова и снова вычерчивать наш круг на бумаге с клеточками 1 × 1, 1/2 × 1/2, 1/4 × 1/4 и т. д. Всякий раз мы станем закрашивать клеточки, затронутые кругом, то есть те, что расположены внутри круга, и те, которые пересекает окружность.
На бумаге, расчерченной 1 × 1, разместим центр круга на перекрестье клеточек; легко заметить, что он затрагивает ровно четыре клеточки. Изобразим развитие ситуации на следующих этапах:
На втором этапе круг затрагивает все 16 клеточек, затем все клеточки, кроме 4, то есть 60. Считать дальше скучно, поэтому доверим процесс компьютеру. Вот результат:
Сразу видно, что уменьшение стороны клеточки в 2 раза приводит к увеличению числа закрашенных клеточек примерно в 4 раза. Вот точные соотношения:
Грубо говоря, число закрашенных клеточек действительно возрастает в четыре раза. Но это приближение становится не таким грубым, когда число клеточек увеличивается. Почему?
Когда площадь клеточек мала, подавляющее большинство закрашенных клеточек лежит внутри круга. Кое-какие можно увидеть на периферии, но их ничтожно мало по сравнению с другими. Когда мы уменьшаем сторону клеточки вдвое, клеточек внутри круга становится больше в четыре раза, а вот количество клеточек на периферии увеличивается на меньшее число, потому что часть из них окружность не пересекает.
Рассуждая таким образом, мы поймем, что уменьшение стороны клеточки в 10 раз приводит к росту числа закрашенных клеточек примерно в 100 раз. Внутри круга клеточек становится ровно в 100 раз больше, но применительно к границе это утверждение не совсем верно.
Мы можем выразить соотношение между количеством клеточек, затронутых кругом, и длиной стороны клеточки следующим образом:
Вот еще один способ убедиться в том, что формула (B) верна. Площадь круга равна πr². Если радиус круга равен 1, его площадь равна π.
Нарисуем круг на бумаге с клеточками g × g и посчитаем, сколько клеточек он затронул; обозначим их количество буквой N. Каждая клеточка имеет площадь g². Общая площадь закрашенных клеточек почти совпадает с площадью круга. Таким образом,
π ≈ Ng².
Следовательно,
В упрощенном виде это приводит к соотношению
Мы нашли способ подсчитывать длины одномерных фигур и площади двумерных.
Соотношение (A) верно не только для нашей загогулины, но и для любого одномерного объекта. Когда мы делаем сетку мельче в 10 раз, количество клеточек, затронутых линией, вырастает примерно в 10 раз.
Соотношение (B) тоже выполняется не только для круга, но и для любой двумерной фигуры. Делаем сетку мельче в 10 раз – и количество клеточек, затронутых кругом, увеличивается примерно в 100 раз, потому что внутри одной большой клеточки теперь располагается 100 маленьких.
Итак:
Размерность треугольника Серпинского
Мы теперь умеем уверенно отличать одномерные объекты от двумерных. Вычерчиваем объект на миллиметровке, делаем сетку все более мелкой и на каждом этапе подсчитываем затронутые им клеточки. Если выполняется соотношение (A), объект одномерный; если соотношение (B), объект двумерный.
Посмотрим, что произойдет с треугольником Серпинского на клетчатой бумаге. Уместим его в клеточку 1 × 1. На рисунке показано, что будет при уменьшении размера клеточек до 1/2, 1/4, 1/8 и 1/16:
В первом случае затронуты все 4 клеточки. Во втором случае не затронуты 2 клеточки слева сверху и 2 клеточки справа сверху, а всего клеточек 16 штук. Вот таблица целиком:
Вопрос: когда мы уменьшаем сторону клеточки вдвое, количество клеточек, затронутых нашей фигурой, увеличивается в два раза (случай одномерного объекта) или в четыре раза (случай двумерного объекта)?
Разумеется, вся соль в том, что ни один из двух вариантов не подходит. На новом этапе количество клеточек вырастает ровно в три раза. Их число растет быстрее, чем в случае одномерных объектов, но медленнее, чем в случае двумерных. Таким образом, размерность треугольника Серпинского лежит между двумя целыми величинами.
Мы можем в точности вычислить размерность треугольника Серпинского, но это потребует базовых знаний о логарифмах и некоторых алгебраических выкладок. Если вам все это в тягость, можете спокойно пропустить следующие абзацы.
Итак, цель состоит в том, чтобы найти формулу вроде (A) или (B):
Число
d в ней и будет количеством измерений нашей фигуры.
Если сторона клеточки равна
(где
k – натуральное число), то
Вот проверка:
Формула
дает в точности те же числа, что и в предыдущей таблице.
Задача состоит в том, чтобы найти такое число
d, что
Прологарифмируем обе части:
Мы знаем
Подстановка в предыдущую формулу дает:
Наряду с треугольником Серпинского существует ковер Серпинского. Вот этапы его построения:
Устремляясь к бесконечности, мы получим такую картинку:
Как вы думаете, какова размерность этого фрактала? Ответ вы найдете в конце главы.
Серпинский и Паскаль
Студенты на факультетах математики до потери пульса разлагают на множители полиномы, в первую очередь степени x + y. Восстановим в памяти, о чем идет речь:
Мы можем расположить коэффициенты данных полиномов в таблице. Ее называют треугольником Паскаля:
Мы расположили эти числа по квадратам, а теперь давайте раскрасим некоторые из них черным цветом. Пусть квадраты с нечетными числами станут черными, а квадраты с четными останутся белыми:
Продолжим вплоть до 64 ряда. Как вы думаете, что получится?
Разве это не великолепно?
Снежинка Коха
Я хочу завершить главу, посвященную фракталам, рассказом о неотразимой фигуре, придуманной Хельге фон Кохом. Алгоритм ее построения чрезвычайно прост. Мы начинаем с прямого отрезка, делим его на три части и строим равносторонний треугольник на основе среднего из трех новых отрезков. Затем мы удаляем центральный отрезок. Теперь у нас есть четыре отрезка, каждый из которых в три раза меньше исходного. Мы повторяем процедуру с каждым из этих отрезков.
Чтобы получить снежинку целиком, начнем с равностороннего треугольника и проделаем описанную процедуру с каждой из его сторон. Это выглядит следующим образом:
Устремляясь к бесконечности, мы получим снежинку Коха.