Выбрать главу

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

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. Для сетей с рангом, большим пяти, результаты подсчета по трем вариантам не отличаются при точности до семи значащих цифр. При подсчете полного числа циклов роста сетей четвертого и пятого ранга, которые рассматриваются в этой книге, выбираем второй вариант работы с остатком. (Если выбрать первый – на результат это практически не повлияет.)

Выводы по растущим иерархическим сетям

Клаттер – это структурная единица растущей ИС (иерархической сети); представляет собой СИС (совершенную ИС) на единицу меньшего ранга, чем ранг собираемой СИС.

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

Вес клаттера P – это число носителей, которое он содержит.

Размер сети – это число клаттеров, которое она содержит.