Дискретная математика:
логика, группы, графы, фракталы

Акимов О.Е.

4.2. Прямое произведение и фракталы

На рис. 4.1 изображены: деление единичного отрезка на 3 части (а), единичной квадратной площадки на 9 частей (б), единичного куба на 27 частей (в) и на 64 части (г). Если число частей обозначить через n, коэффициент масштабирования или подобия — через k, а размерность пространства — через d, то в соответствии с приведенными рисунками имеем следующие соотношения: n = kd, где

если n = 3, k = 3, то d = 1; если n = 9, k = 3, то d = 2; если n = 27, k = 3, то d = 3.

а     б     в     г

Рис. 4.1

При уменьшении линейных размеров в 4 раза согласно приведенному соотношению, имеем: если n = 4, k = 4, то d = 1; если n = 16, k = 4, то d = 2; если n = 64, k = 4, то d = 3. Во всех случаях размерность пространства выражается целыми числами: d = 1, 2, 3; в самом деле, для n = 64 (рис. 4.1г), величина d равна

На рис. 4.2 показано пять шагов построения ломаной Коха: первоначально берется отрезок единичной длины (а), делится на три части (k = 3) и из четырех частей (n = 4) составляется ломаная (б); затем каждый прямой отрезок вновь делится на три части (k2 = 9) и из 16 частей (n2 = 16) составляется ломаная (в); процедура повторяется для k3 = 27 и n3 = 64, в результате получается ломаная (г); наконец, при k5 = 243 и n5 = 1024 получаем ломаную (д).

а     б     в     г     д

Рис. 4.2

Если следовать вышеприведенному соотношению для размерности пространства, то получим следующий ряд отношений:

Таким образом, здесь мы можем говорить о дробной, или фрактальной размерности, пространства, которая на всех шагах оставалась одной и той же, как если бы мы разделили квадрат на 9 частей, затем каждый маленький квадрат снова разделили на 9 частей, получив общее число квадратиков, равным 81, и т.д. Такая процедура не влияет на размерность пространства. Число пройденных шагов или показатели степени, в которые возводятся числа k и n, обозначим через m (у нас показано m = 0, 1, 2, 3 и 5). Ломаная Коха, предложенная Гельгом фон Кохом в 1904 г., выступает сейчас в роли фрактала, который прекрасно подходит для моделирования изрезанности береговой линии. Мандельброт в алгоритм построения береговой линии внес элемент случайности, который, однако, не повлиял на основной вывод в отношении длины береговой линии. Поскольку предел

,

длина береговой линии за счет бесконечной изрезанности берега стремится к бесконечности. Процедура сглаживания береговой линии при переходе от более детального масштаба к менее детальному, т.е. согласно рис.4.2 переходы от (д) к (г), от (г) к (в), от (в) к (б), дает одну и ту же величину: на три части длины — одну «бухту», а длина стремится к единичному значению.

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

а     б     в     г     д

Рис. 4.3

На рис. 4.4 показаны две векторные диаграммы; числа, стоящие над стрелками, видимо, вызовут вопрос: что бы они значили? Вектор 0 совпадает с положительным направлением оси абсцисс, так как его фазовый множитель exp (il/6) при l = 0 сохраняет его направление. Вектор 1 повернут относительно вектора 0 на угол 2π/6, когда l = 1. Вектор 5 имеет фазовый множитель exp (i2π5/6), l = 5. Последний вектор имеет тот же фазовый множитель, что и первый (l = 0). Таким образом, целые числа l характеризуют угол фазового множителя единичного вектора.

Рис. 4.4

Итак, мы рассмотрели первый шаг (рис. 4.4а), который задает рекурсивную процедуру для всех последующих шагов и, в частности, для второго шага (рис. 4.4б). Ставится вопрос, как перейти от набора чисел φ1 = {0 1 5 0} к φ2 = {0 1 5 0 1 2 0 1 5 0 4 5 0 1 5 0}? Ответ: через прямое перемножение матриц, когда каждый элемент одной матрицы умножается на исходную матрицу. Поскольку в данном случае мы имеем дело с одномерным массивом, т.е. матрицы представляют собой векторы, то здесь производится умножение каждого элемента одной матрицы-вектора на все элементы другой матрицы-вектора. Кроме того, элементы матрицы-вектора φ1 состоят из показательных функций exp (il/6), следовательно, при перемножении числа h нужно будет складывать по mod (6), а не умножать. После этих разъяснений становится понятна следующая запись:

φ2 = φ1 × φ1 = {0 1 5 0} × {0 1 5 0} =

= {[(0 1 5 0) + 0] [(0 1 5 0) + 1] [(0 1 5 0) + 5] [(0 1 5 0) + 0]} =

= {[0 1 5 0] [1 2 0 1] [5 0 4 5] [0 1 5 0]} = {0 1 5 0 1 2 0 1 5 0 4 5 0 1 5 0};

φ3 = φ2 × φ1, ..., φm = φm – 1 × φ1.

Итак, для задания фрактала Коха нам требуется три числа и один вектор, а именно: k = 3 — коэффициент подобия; n = 4 — число частей, образующих паттерн; h = 6 — число, определяющее фазовый множитель exp (il/h) и фигурирующее в основании mod (h), по которому производится сложение показателей экспоненты, и базовый вектор или, собственно, сам паттерн φ1 = {0 1 5 0}. Заметим, слово паттерн часто заменяют словосочетанием затравочная схема, структура, матрица или генератор фрактала. Однако вряд ли есть смысл искать другие русские эквиваленты этому английскому слову, уже прочно вошедшему в русский лексикон. Если факт заимствования термина налицо, то и нужно его принимать со всеми теми семантическими оттенками, которые существуют в английском языке. Прямой перевод слова pattern означает пример для подражания, образец, образцовая модель, система, стиль, выкройка, орнамент, узор, рисунок. Невозможно подыскать такой же емкий и точный термин в русском языке, передающий этот же самый смысл.

Приведем еще четыре фрактала и их краткое описание через векторную диаграмму. Читателю не составит большого труда самому придумать сотни аналогичных фракталов. Затем можно заставить компьютер производить прямое перемножение векторов, а результат отображать на экране дисплея, как на рис. 4.5.

Приведем еще четыре фрактала и их краткое описание через векторную диаграмму. Читателю не составит большого труда самому придумать сотни аналогичных фракталов. Затем можно заставить компьютер производить прямое перемножение векторов, а результат отображать на экране дисплея, как на рис. 4.5.

а)

k = 3, n = 8, h = 5, φ = {0 0 1 2 3 4 0 0};

б)

k = 3, n = 8, h = 5, φ = {0 0 2 4 1 3 0 0};

в)

k = 3, n = 5, h = 4, φ = {0 1 0 3 0};

г)

k = 3, n = 7, h = 6, φ = {0 1 5 3 5 1 0}.

Рис. 4.5

Эта необыкновенная легкость, с которой можно получить красивейшие узоры с помощью самой незатейливой математики и элементарного программирования, привлекла к теме фракталов огромное число любителей. Однако все приведенные фракталы одномерные, т.е. их графические изображения представляют собой линии, а в прямом умножении участвуют векторы. А нет ли таких фракталов, когда бы в прямом произведении участвовали полноценные матрицы? Да, есть; на рис. 4.6 в трехмерном пространстве изображена губка Менгера (а), и двумерный эквивалент (б). Она также является фракталом, для которого процедуру рекурсии можно отразить с помощью матриц. Для трехмерной губки пришлось бы иметь дело с трехмерными матрицами — такие существуют, действия с ними хорошо известны, но они слишком громоздки, чтобы использовать их сейчас для анализа. Пусть ими занимаются компьютеры, мы же обратимся к двумерному случаю. Поставим темным участкам квадрата в соответствие 1, а светлым — 0 (рис. 4.6б). В этом случае паттерн плоской губки φ1 с единственной дыркой внутри выглядит в виде матрицы 3 × 3. Перемножая ее прямым образом саму на себя или возводя ее последовательно в степень 2, 3 и т.д., мы получим фракталы φ2, φ3 и т.д. В частности, φ2 = φ1 × φ1 равно прямому произведению двух матриц:

 

а     б

Рис. 4.6

Фрактальной структуре подчинены коэффициенты бинома

(1 + x)n = 1 + nx + n(n – 1)x2/2! + n(n – 1)(n – 2)x3/3! + ... + n!xk/(nk)!k! + ... 

Если коэффициенты бинома выстроить рядами, как это показано в табл. 4.1 (в центре), то получим так называемый треугольник Паскаля. Беря все числа в треугольнике Паскаля последовательно по mod (2), mod (3), mod (4), mod (5) и т.д., мы будем получать треугольные матрицы, верхняя часть которых состоит из нулей. Эти треугольные матрицы можно уже перемножать прямым образом. Например, прямое перемножение двух треугольных матриц 3 × 3 по mod (3) дает в результате треугольную матрицу 9 × 9, которая в точности совпадает с треугольником Паскаля, записанным по mod (3) этого же размера: φ2 = φ1 × φ1 равно прямому произведению двух матриц следующего вида:

 

Таблица 4.1

1               1              
1 1             1 1            
1   1           1 2 1          
1 1 1 1         1 3 3 1        
1       1       1 4 6 4 1      
1 1     1 1     1 5 10 10 5 1    
1   1   1   1   1 6 15 20 15 6 1  
1 1 1 1 1 1 1 1 1 7 21 35 35 21 7 1
1               1              
1 1             1 1            
1   1           1   1          
1 1 1 1         1 1 1 1        
1       1       1       1      
1 1     1 1     1 1     1 1    
1   1   1   1   1   1   1   1  
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Такое перемножение справедливо для случая mod (4), mod (5) и т.д. В случае же, когда треугольник Паскаля составляется по mod (2), его внешний вид напоминает губку Менгера, но только треугольной формы (рис. 4.7).

Вообще, губки Менгера треугольной, квадратной, кубической, пирамидальной и любой другой формы приковали к себе внимание ученых потому, что они обладают одним замечательным свойством: чем шире их габаритные границы (рис. 4.6), тем больший внутренний объем в них образуется. Иначе говоря, при разрастании губки отношение ее внешнего объема к внутреннему стремится к единице. Это свойство является самым важным для губок, живых и искусственных, например, тех, которыми мы моемся. За счет множественных внутренних пустот губка способна удерживать большое количество влаги, т.е. она работает в качестве своеобразного сосуда, который состоит не из одной открытой камеры, а из огромного числа соединенных друг с другом полостей. Губку можно рассматривать как древовидную структуру. В природе встречаются такие виды растений и животных, в частности, обитающие в морских глубинах, у которых густые ветви, расположенные ближе к корневому телу, срастаются так, что образуют одну губчатую поверхность, хотя внешние ветви могут сильно вытягиваться в виде усов, щупальцев или палпусов для захвата пищи. Более того, если на биологическое вещество смотреть с точки зрения его структурно-пространственной организации, то окажется, что оно сплошь выстроено по губчатому принципу. Это касается в большей мере, скажем, дыхательной системы, хотя аналогично устроены и системы кровообращения, пищеварения и прочие системы жизнеобеспечения.


 
  


Hosted by uCoz