Страница 17 из 21
Поэтому логично считать продолжением этого процесса операцию репликации (перехода), во время которой звено копирования минимально и равно единице, т. е. операцию, в процессе которой происходит точное копирование «клаттер в клаттер», но с установкой копий носителей в новую в сеть. (Сам процесс построения копии сети из оригинала, а также их связь в ходе этого процесса – рассматривать здесь не будем.)
Операцию репликации можно считать последней, предельной операцией копирования сети данного ранга. Чисто теоретически она может состоять из некоторого количества циклов, в процессе которых итоговая СИС собирает одну, две или несколько собственных копий. Однако в дальнейшем всегда будем считать, что сеть, точно так же как живая клетка при делении, всегда создает лишь одну собственную копию.
Каждая из этих двух совершенных итоговых сетей, в рассмотренном нами примере, будет иметь 65536 свободных связей, две из которых пойдут на их соединение. Остальные понадобятся для дальнейшего роста сети четвертого ранга. В итоге сеть 256 увеличивает свой ранг на единицу и выходит на новый виток эволюции.
В заключение отметим следующее:
1. В математической модели клаттеры не обладают индивидуальностью, здесь не нужно рандомизировать их подачу на копирование для обеспечения эффективного кроссоверинга, достаточно только не копировать их дважды на первом витке.
2. При выборе алгоритма финализации звена и цикла на первом и на втором этапе роста важно, чтобы он обеспечивал прохождение всех гармонических стадий роста сети, т. е., чтобы сеть гармонического размера (с числом клаттеров, равным двойке в степени) собиралась в момент завершения цикла, а не где-то внутри него и, конечно же, этот алгоритм должен обеспечивать достижение сетью в финале совершенства.
Как показывает математическое моделирование, при выборе правила финализации звена и цикла, отдать предпочтение следует третьему варианту, т. к. в этом случае на втором этапе гармонические стадии роста сети достигаются в моменты завершения циклов. Кроме того, выясняется, что при заданном алгоритме и при всех прочих сценариях финализации звена и цикла гармонические стадии оказываются удивительно притягательными для растущей сети. Следует также отметить, что число циклов, которое проходит сеть, с рангом большим трех, от одной точки своего роста до другой практически не зависит ни от выбора правила финализации звена на первом и втором этапе роста, ни от правила финализации цикла — на втором.
Рост сети 256
Рассмотрим рост сети 256 на первом этапе от 2-х клаттеров до 16-ти. Приведем пример программы подсчета числа клаттеров за цикл в зависимости от номера цикла, реализованной в системе MathCAD:
Рис. 1. Алгоритм роста сети 256 от 2-х клаттеров до 16-ти.
Здесь ceil(X) – ближайшее целое, большее или равное X; ce(X) – ближайшее целое, меньшее или равное X; cel(X) – ближайшее целое, меньшее X. Функция U(C) – это число клаттеров, собранных сетью за С циклов. Например, если U(133) = 7, то за 133 цикла собрано 7 клаттеров. C(2k) – номера циклов, соответствующие гармоническим стадиям роста сети.
Всего получается 156 циклов. Из них пустых 156 – 14 = 142. Соответственно, за каждый из оставшихся 14 циклов собирается один клаттер. Заходить на второй виток ни разу не приходилось. Сеть проходит четыре гармонические стадии роста: в момент старта, а также на 93-м, 134-м и 156-м цикле с числом клаттеров 2, 4, 8 и 16, соответственно. Переходим ко второму этапу.
Рис. 2. Алгоритм роста сети 256 от 16-ти до 256-ти клаттеров.
На этом этапе пройдено 15 циклов. Его начало сопровождается бурным ростом числа клаттеров. Это связано с тем, что на втором этапе за цикл с нуля собирается один или большее число клаттеров. Для реализации прохода через гармонические сети необходимо было скорректировать рост, но только в четырех точках «близких» к гармоническим сетям.
Каждая коррекция представляла собой малое возмущение в один клаттер и была проведена на стадиях роста с числом клаттеров 20, 31, 65 и 127: (127 + 1)*2 = 256, (31 + 1)*8 = 256, (65-1)*4 = 256. Существует не одна такая четверка, но результат, функция U(C), – остается тем же.
Растущая сеть проходит через гармонические стадии с размером: 16, 32, 64, 128, 256 клаттеров. На последнем цикле число клаттеров удваивается: U(14) = 128, U(15) = 256. Это справедливо для сетей любого ранга. Отметим также, что результаты работы алгоритма практически полностью совпадают со значениями следующей функции:
Рис. 3. Теоретическая гипербола сети 256.
Назовем функцию U1(i) теоретической гиперболой сети 256. Этап заканчивается сборкой клаттера 65536. И, наконец, третий этап роста сети 256 – репликация. Здесь сеть собирает свою копию и прокладывает связь между ней и оригиналом. Сеть 65536 может стартовать.
Подведем итоги для сети 256: всего имеется 156 + 15 = 171 цикл (без учета репликации) и восемь гармонических стадий роста с числом клаттеров 2, 4, 8, 16, 32, 64, 128, 256. Последняя гармоническая сеть с числом клаттеров 256 является также совершенной.
Рост сети 65536
Продолжая процесс, переходим к сети 65536. Первый этап – рост от 2-х клаттеров до 256-ти.
Рис. 1. Рост сети 65536 от 2-х клаттеров до 256-ти.
Всего сеть проходит 42142 цикла. Из них пустых 42142 – 254 = 41888. В 254 циклах собиралось по одному клаттеру. На второй виток, в соответствии с алгоритмом, заходить не приходилось.
Имеется восемь гармонических стадий роста: на старте и на 23666-м, 33543-м, 38046-м, 40197-м, 41261-м, 41812-м, 42142-м циклах с числом 2, 4, 8, 16, 32, 64, 128 и 256 клаттеров, соответственно.
Второй этап – рост от 256-ти клаттеров до 65536-ти.
Рис. 2. Рост сети 65536 от 256-ти клаттеров до 65536-ти.
Коррекция роста проведена в 21 точке. Все значения размеров сети, для которых проводилась коррекция М <− М+1, являются (или «почти» являются) делителями числа 65536, если к ним добавить единицу; например, 65536/(13106+1) = 5,000076. Вот частные, которые получаются в результате:
3, 4, 5, 8, 19, 32, 56, 67, 94, 122, 212, 214, 217, 222, 225, 229, 234, 240.
Такие коррекции одни из многих возможных, подобных им, но все они дают практически один и тот же результат, если придерживаться правила: при небольшом отклонении от гиперболической сети добавить в цикл один клаттер, т. е. держать курс на ближайшую гиперболическую сеть. Гиперболическая сеть – это сеть, размер которой равен ce(65536/N), где N > 256 – натуральное число.
Причем при увеличении М на единицу процесс устойчив и через некоторое количество циклов «садится» на гиперболу. При уменьшении М на единицу наблюдается неустойчивость, и процесс роста необратимо уходит от гармонических сетей.
Понадобилась одна коррекция в сторону уменьшения размера сети М: 328 <− 327 (65536/328 = 199.8), если ее не провести процесс срывается с гиперболы (последние три цикла 25501, 43735, 65537). Результаты работы алгоритма «почти точно» ложатся на теоретическую гиперболу сети 65536: