Имеется восемь гармонических стадий роста: на старте и на 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:
Рис. 3. Теоретическая гипербола сети 65536.
Гиперболический рост сети на первом и втором этапе представляет собой ускоряющийся неустойчивый процесс, требующий от управляющей системы двадцать пять коррекций. Неустойчивость роста понятна и из того факта, что уравнение Капицы, как асимптотический закон роста сети, устойчивых решений не имеет.
Составим таблицу зависимости числа клаттеров растущей сети от номера цикла для алгоритма и теоретической гиперболы. Значения почти совпадают: максимальное отличие в три клаттера. В таблице выделены гармонические размеры сети.
Таблица 1. Зависимость числа клаттеров растущей сети от номера цикла для алгоритма и теоретической гиперболы.
Третий этап – операция репликации. Собираются копия сети, прокладывается связь между ней и оригиналом. Сеть 4 294 967 296 может стартовать.
Гармонические стадии роста сети 65536
Всего имеется 42142 + 255 = 42397 циклов (без учета репликации) и 16 гармонических стадий роста сети 65536. Сведем все данные в таблицы:
Таблица 2А. Подсчет номера цикла и числа клаттеров для гармонических сетей с размером, принадлежащем интервалу [257, 65536].
Таблица 2В. Зависимость числа клаттеров от номера цикла для гармонических размеров сети 65536.
Подсчет числа циклов роста сети любого ранга от двух клаттеров до совершенной
Для того, чтобы найти полное количество циклов, которое проходит сеть любого ранга в процессе своей эволюции, нужно сложить число этих циклов на трех этапах ее роста (считаем, что сеть любого ранга, став совершенной, создает единственную свою копию, на что уходит ровно два цикла[8 - Два цикла характерного времени в приложении этой модели к явлению роста населения Земли, а не две операции самокопирования СИС.] и рост сети следующего ранга всегда начинается с двух клаттеров.)
На втором и третьем этапе число циклов вычисляется с полной определенностью: корень квадратный из веса клаттера минус единица плюс два. Минус единица, т. к. алгоритм восьми шагов прекращает свою работу за шаг до сингулярности. И далее два цикла на переход. Получаем корень квадратный из веса клаттера плюс единица.
Наибольший вклад в количество циклов, пройденных сетью за время ее роста, дает первый этап. Причем для сетей, с рангом большим трех, число циклов на втором этапе гораздо меньше, чем на первом и им обычно можно пренебречь. Следовательно, наиболее важным представляется подсчет числа циклов на первом этапе.
И здесь нас подстерегает неоднозначность. Действительно, в приложении этой математики к процессу роста населения Земли время эволюции Сети человека на всех этапах ее роста должно исчисляться целым числом циклов. Поскольку на первом этапе копирование происходит звеньями проблема возникает с последним циклом звена, если вес клаттера не делится нацело на квадрат размера сети. Рассмотрим, например, рост сети четвертого ранга от трех клаттеров до четырех. Для сборки четвертого клаттера потребуется 65536/3
= 7281 и 7/9 цикла. Т. к. 7:3 = 2·3+1, четвертый клаттер будет собран после копирования первой позиции последнего, из стоящих в очередь на копирование, клаттера 7282-го цикла.
Т. к. звено замыкается здесь не в в момент завершения цикла, а у него внутри, то непонятно как округлять частное от деления веса клаттера на число носителей, которое копируется за цикл: с избытком, с недостатком или вообще не округлять? Возможны четыре варианта финализации звена на первом этапе:
1) Отдаем остаток последнему полному циклу или распределяем его по каким-то из предыдущих, при этом на некоторых из них будет скопировано число носителей больше планового (звено состоит из 7281 цикла в нашем примере).
2) Добавляем еще один цикл и переносим в него остаток (7 – в нашем примере) плюс некоторое число позиций, которые не будем копировать в текущем цикле (2 – в нашем примере); при этом носителей на последнем цикле будет скопировано меньше планового (звено состоит из 7282 циклов в нашем примере).
3) Этот вариант среднее между первым и вторым: если остаток меньше или равен половине квадрата размера сети идем по первому варианту, в противном случае – по второму (7281 или 7282 цикла в звене в нашем примере).
4) Есть еще один сценарий финализации звена, а именно: с перехлестом (без округления), когда следующее звено начинается внутри последнего цикла предыдущего звена с копирования его нескопированных носителей. Последний цикл текущего звена будет завершен здесь в начале следующего звена. В нашем примере сразу после копировании первой позиции последнего клаттера 7282-го цикла собираем четвертый клаттер и подключаем его к остальным. Начинаем следующее звено с копирования трех (2+1) позиций третьего клаттера и только тогда завершаем 7282-й цикл. Новоиспеченный четвертый клаттер в 7282-м цикле не копируем, а сразу начинаем новый цикл. Заметим, что последний цикл звена в этом случае не является (в любом из вариантов) формально циклом по определению, поскольку число скопированных позиций здесь либо больше, либо меньше квадрата размера сети.
Третий и четвертый вариант рассматривать не будем, т. к. результаты вычислений здесь практически не отличаются от результатов по первому и второму. На рис. 1 представлены формулы для подсчета полного числа циклов роста сети по первому и второму варианту работы с остатком, а также приближенная формула. Отрицательная добавка к сумме в виде логарифма от корня при подсчете по второму варианту учитывает то, что при делении К
на степень двойки результат получается целым, без остатка, но лишняя единица (цикл) все равно добавляется.
Рис. 1. Подсчет числа циклов роста сети ранга «n» от двух клаттеров до совершенной плюс два цикла (характерного времени) на переход.
Составим таблицу зависимости количества циклов роста сети от ее ранга (n = 0, 1…7).
Таблица 1. Число циклов роста ИС от двух клаттеров ранга «n» до двух клаттеров ранга «n+1» по первому и второму варианту, а также по приближенной формуле.
Число циклов каждого следующего этапа можно оценить, если число циклов предыдущего возвести в квадрат и результат умножить на 1,55. Для сетей с рангом n > 5 результаты подсчета по трем вариантам c точностью до семи значащих цифр – не отличаются. При подсчете полного числа циклов роста сетей четвертого и пятого ранга, которые рассматриваются в этой книге, выбираем второй вариант работы с остатком. (Если выбрать первый – на результат это практически не повлияет.)
Выводы по растущим иерархическим сетям
Клаттер – это структурная единица растущей ИС (иерархической сети); представляет собой СИС (совершенную ИС) на единицу меньшего ранга, чем ранг собираемой СИС.
Носитель представляет самый нижний уровень иерархии. Это бесструктурный сетеобразующий клаттер сети ранга нуль – сети, образованной двумя носителями, соединенными одной связью. Носитель не имеет в данной упрощенной модели своего ранга. (В приложении этой модели к мировой демографии под носителем будет пониматься также человек, к нему прикрепленный.)
Вес клаттера P – это число носителей, которое он содержит.
Размер сети – это число клаттеров, которое она содержит.
Узел клаттера (совершенной сети) – это центр, к которому сходятся связи от узлов клаттеров на единицу меньшего ранга, образующих данный клаттер. Узел носителя, изображаемого точкой в гра?фе СИС, совпадает с этой точкой.
Узел растущей сети – это коммутатор, к которому проложены связи от каждого из узлов сетеобразующих клаттеров. Позволяет устанавливать соединение между носителями сети.
Связи сети. Каждую связь, соединяющую любые два клаттера сети, считаем проходящей через узел клаттера и узел растущей сети, с которым в приложении данной математической модели к мировому демографическому процессу связана ее «индивидуальность». И каждую такую связь можно рассматривать как гиперсвязь, состоящую из Р связей, позволяющих соединять любые пары носителей растущей ИС, в каком бы клаттере они ни находились.
Рост ИС любого ранга всегда начинается с двух клаттеров и представляет собой процесс самокопирования сети, которое происходит последовательно (клаттер за клаттером) по правилу: один носитель с узла и по одному носителю с каждой связи, входящей в копируемый клаттер. Или по другому: на каждом клаттере копируется число носителей, равное текущему размеру сети[9 - В приложении этой математической модели к росту населения Земли можно предположить, что на каждом клаттере копируются некоторые «продвинутые» клаттеры-носители, т. е. «продвинутые» СИС-ы в данной упрощенной модели не имеющие ранга и являющиеся сетеобразующими клаттерами сети ранга нуль. К этим СИС-ам прикрепляются дозревшие (дети) или по какой-либо причине открепленные ранее (кома, клиническая смерть…), но восстановившиеся материальные носители из растущей мировой демографической системы.].
Ранг R такой растущей ИС считается равным рангу сетеобразующего клаттера (при R ? 2). Число связей, которыми каждый клаттер может быть соединен с другими, не превышает его веса Р, т. е. числа носителей, в нем содержащихся.
Цикл – это такой этап роста ИС, на котором в произвольном порядке копируются все клаттеры (плюс-минус…), из имеющихся в ИС к моменту входа в этот цикл.
Звено – это последовательность материнских клаттеров, в процессе копирования которых полностью собирается очередной дочерний клаттер. На первом этапе роста сети звено состоит из циклов, на втором этапе – цикл состоит из звеньев. Собранный клаттер устанавливается в ИС, т. е. его узел соединяется с узлом растущей сети, и ее размер увеличивается на единицу. В очередь на копирование в текущем цикле такой новоиспеченный клаттер уже не ставится. (Чего не скажешь о связях, исходящих из него и входящих через узел растущей сети в другие клаттеры. Подключение этих связей в процессе цикла на втором этапе придает росту сети дополнительное ускорение.)
Длина звена (число клаттеров в звене) за время роста сети уменьшается от половины веса клаттера (Р/2) до единицы.
Если в процессе цикла на первом этапе роста не удается собрать ни одного клаттера (с учетом носителей, собранных на всех предыдущих циклах звена), то такой цикл называется пустым и заканчивается последним клаттером, из имеющихся в сети в момент входа в цикл (за исключением, возможно, последнего цикла звена). Все носители, скопированные в процессе пустого цикла, пойдут в дальнейшем на сборку нового клаттера. Правило финализации звена на первом этапе выбираем следующим:
Если число циклов звена не является целым и его дробная часть больше или равна ?, то это число возрастает на единицу; если меньше – число циклов округляется до целого отбрасыванием дробной части, а избыточные носители отдаются последнему клаттеру звена или распределяются по каким-то из предыдущих. (Возможен также сценарий, при котором звено копирования замыкается не в момент завершения цикла, а где-то у него внутри. После установки клаттера в сеть и прокладки дополнительных связей следующее звено, завершающее цикл, начинается с нескопированных носителей предыдущего, плюс один носитель.)
Каждое следующее звено на втором этапе роста начинается с копирования нескопированных носителей последнего клаттера предыдущего звена (сценарий с «перехлестом»). Если суммы носителей последнего звена цикла на втором этапе недостаточно для сборки нового клаттера, но эта сумма больше/равна половины/е веса клаттера, то цикл продолжается: процесс копирования заходит на второй виток и копируются клаттеры, уже скопированные в данном цикле.