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