Читать книгу Население Земли как растущая иерархическая сеть - Анатолий Васильевич Молчанов - Страница 19
Математика
Подсчет числа циклов роста сети любого ранга от двух клаттеров до совершенной
ОглавлениеДля того, чтобы найти полное количество циклов, которое проходит сеть любого ранга в процессе своей эволюции, нужно сложить число этих циклов на трех этапах ее роста (считаем, что сеть любого ранга, став совершенной, создает единственную свою копию, на что уходит ровно два цикла[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
Два цикла характерного времени в приложении этой модели к явлению роста населения Земли, а не две операции самокопирования СИС.