Программирование
On-line приложения
Почитать
Web-сервер Apache
Печать и форматирование
MySQL
Разные рецепты
Сборка/установка
Справки
Философия
Мой опыт
Скачать
Программы на Tcl/Tk (GUI)
Программы на Python/Tk (GUI)
Программы (CLI)
Help
Хобби
Фракталы
on-line
Язык для рисования фракталов
Гиперкуб
Теория относительности
Ампуллярии
Преподавание
Студенту/абитуриенту
Мой опыт
Автора!

Фрактальная размерность

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

Где-то в 1996 меня заинтересовало, что же такое дробная размерность и каков её смысл. Каково же было моё удивление, когда я узнал, что это не такая уж сложная вещь, и понять её может любой школьник.

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

Измерение тел

Сперва небольшое введение, чтобы привести наши бытовые представления об измерении тел в некоторый порядок.

Не стремясь к математической точности формулировок, давайте разберёмся, что же такое размер, мера и размерность.

Размер

Размер объекта можно померить линейкой. В большинстве случаев размер получается малоинформативен. Какая куча крупы больше?

Если сравнивать высоты, то больше красная, если ширины — зелёная.

Сравнение размеров может быть информативным если предметы подобны друг другу:

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

Далее мы будем говорить о подобных объектах, поэтому «размер» нам пригодится.

Мера

Мера тоже служит для измерения объектов, но она измеряется не линейкой. О том, как именно она измеряется мы ещё поговорим, а пока отметим её главное свойство — мера аддитивна.

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

Для одномерных объектов мера пропорциональна размеру. Если вы возьмёте отрезки длиной 1см и 3см, «сложите» их, то «суммарный» отрезок будет иметь длину 4см (1+3).

Для не одномерных тел, мера вычисляется по некоторым правилам, которые подбираются так, чтобы мера сохраняла аддитивность. Например, если вы возьмёте квадраты со сторонами 3см и 4см и «сложите» их, то сложатся площади (9+16=25), то есть сторона (размер) результата будет 5см.

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

Как же связаны мера и размер?

Размерность

Как раз размерность и позволяет связать меру и размер.

Давайте обозначим размерность — D, меру — M, размер — L. Тогда формула, связывающая эти три величины будет имеют вид:

M = LD

Для привычных на мер эта формула приобретает всем знакомые обличия. Для двухмерных тел (D=2) мерой (M) является площадь (S), для трёхмерных тел (D=3) — объём (V):

S = L2, V = L3

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

И да и нет. Вы можете заменить равенства на пропорциональности и ввести коэффициенты, а можете считать, что мы вводим размеры тел именно так, чтобы формула работала. Например для круга мы будем называть размером длину дуги равной корень из «пи» радиан. А почему нет?

В любом случае, наличие или отсутствие коэффициентов не изменит суть дальнейших рассуждений. Для простоты, я не буду вводить коэффициенты; если хотите, вы можете их добавить самостоятельно, повторить все рассуждения и убедиться, что они (рассуждения) не утратили своей справедливости.

Итого

Из всего сказанного нам следует сделать один вывод, что если фигуру уменьшить в N раз (отмасштабировать), то она будет укладываться в исходной ND раз.

Действительно, если уменьшить отрезок (D=1) в 5 раз, то он поместится в исходном ровно пять раз (51=5); Если треугольник (D=2) уменьшить в 3 раза, то он уложится в исходном 9 раз (32=9).

Если куб (D=3) уменьшить в 2 раза, то он уложится в исходном 8 раз (23=8).

Верно и обратное: если при уменьшении размера фигуры в N раз, оказалось, что она укладывается в исходной n раз (то есть мера её уменьшилась в n раз), то размерность можно вычислить по формуле:

D = ln(n)/ln(N)

Не очень строго и опуская многие важные детали, мы всё же получили формулу для размерности.

Дробная размерность

Простейший пример

Про дробную размерность обычно рассказывают на примерах различных ломаных. Я не буду изобретать велосипед и обращусь к звезде Коха.

Процедура её построения показана на рисунке (снизу вверх):

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

На втором шаге действия повторятся с каждым из четырёх отрезков и получается ломаная из 16 отрезков.

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

Это и есть звезда Коха.

Строго говоря, полученное множество точек уже нельзя называть ломаной. По определению, ломаная должна состоять из конечного числа отрезков. Но я буду использовать слово «ломаная» в «нестрогом» понимании.

Давайте теперь воспользуемся нашим приёмом, чтобы определить её размерность.

Из построения и рисунка видно, что звезду можно разбить на четыре равные части, при этом размер (скажем, дина исходного отрезка) каждой части будет равен трети размера исходной фигуры. То есть будучи уменьшена в три раза, она уложится в себе четыре раза:

По аналогии с нашими предыдущими рассуждениями получаем, что размерность равна

D = ln(4)/ln(3) ≈ 1.26185950714291487419

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

Если мы слегка модифицируем алгоритм построения и будем извлекать не 1/3 отрезка, а 1/9, то ломаная получится более плотной:

Какова же её размерность? Теперь фигура уложится сама в себе четыре раза после уменьшения в 9/4 раза, то есть размерность можно вычислить по той же формуле:

D = ln(4)/ln(9/4) ≈ 1.70951129135145477696

Как видите, «плотность» покрытия сразу отразилась на размерности.

Чуть сложнее

Давайте теперь получим более общую формулу для вычисления размерности. Для этого снова рассмотрим пример:

Итерации снова начинаются с одного отрезка. На каждом шаге итерации количество отрезков удваивается. Каждый порождает два новых: один в 0.88 раз меньше (или, вернее больше) родителя, второй — в 0.41 раз. В пределе получается следующее множество:

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

Если принять, что размер полного фрактала 1, то размер зелёной части (полученной и большего отрезка) будет 0.88, а размер красной (полученной из меньшего) — 0.41.

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

M0 = M1 + M2

И сам фрактал, и его части имеют одинаковую размерность (D) и мы можем выразить меры, через размеры:

L0D = L1D + L2D

А размеры мы знаем. То есть для размерности нашего фрактала мы можем написать уравнение:

1D = 0.88D + 0.41D

или просто

1 = 0.88D + 0.41D

Решить это уравнение аналитически невозможно, но «приблизительный» ответ можно «подобрать». Для этого вы можете воспользоваться моим on-line-калькулятором размерностей. В нашем случае

D ≈ 1.7835828288192

Можете проверить.

Таким образом, если фрактал образован из N подобных элементов, с коэффициентами подобия k1, k2 ... kN, то его размерность можно найти из уравнения:

1 = k1D + k2D + ... + kND

По этой формуле уже можно рассчитать размерность многих итерационных систем.

Обратите внимание, что, если все коэффициенты равны, то наша формула превращается в уже известную простую формулу:

1 = kD + kD + ... + kD = N * kD

1/N = kD

D = ln(1/N)/ln(k)

или

D = ln(N)/ln(1/k)

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

В заключение

В этом рассказе (именно рассказе) о размерности даже не упомянуты многие важные аспекты. Он ни сколько не претендует на полноту, точность или строгость. Но, надеюсь, что он будет понятен любому старшекласснику и развеет многие непонимания и мистификации.

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

Если вы ожидаете получить от меня ответ или разъяснение, пожалуйста укажите e-mail, ICQ или другую контактную информацию.
Ваше сообщение не появится на странице, а просто отправится мне.

© 1999 − 2008 Мичурин Алексей — http://www.michurin.com.ru/