Читать книгу Население Земли как растущая иерархическая сеть - Анатолий Васильевич Молчанов - Страница 16
Математика
Растущая иерархическая сеть
ОглавлениеРастущая ИС – это сеть, число клаттеров которой растет согласно некоторому алгоритму. Этот рост будем связывать с операцией самокопирования ИС, которая происходит циклически. Цикл самокопирования ИС определим как такой этап ее роста, на котором копируются все клаттеры, имеющиеся в ней к моменту входа в этот цикл.
Операция самокопирования заключается в следующем: ИС последовательно (клаттер за клаттером) копирует носителями по определенному правилу текущее число клаттеров, собирает новый, устанавливает его в себя, прокладывает связи и увеличивает свой размер на единицу. Правило самокопирования выберем таким:
Новый клаттер собирается в процессе копирования носителями связей каждого клаттера и его узла. Т. е. копируется каждый узел сетеобразующего клаттера и каждая входящая в него связь. Можно сформулировать иначе: с каждого сетеобразующего клаттера в текущем цикле копируется и устанавливается в собираемый клаттер число носителей, равное текущему размеру сети. Что может быть интерпретировано следующим образом: в каждом клаттере имеется некоторое количество наиболее перспективных, «продвинутых» носителей, число которых равно текущему размеру сети. Из копий этих носителей и собирается очередной дочерний клаттер.
Почему выбирается именно такой алгоритм? В соответствии с системным подходом сложность, эволюционная зрелость любой развивающейся системы определяется, прежде всего, ее связями. Если связи растущей системы однородны, то скорость ее эволюции (в простейшем случае роста) зависит только от их числа. Чем больше связей – тем быстрее эволюционирует, развивается, растет система.
Поэтому логично постулировать, что прирост клаттеров-носителей с каждого сетеобразующего клаттера, получаемый в процессе его копирования, должен быть пропорционален, а в простейшем случае просто равен числу его связей с другими клаттерами. И в этом простейшем случае оказывается, что алгоритм хорошо описывает рост сети на втором этапе (см. ниже) и, соответственно, гиперболический рост населения мира после неолита.
Но если применить его при описании роста сети на первом этапе (см. далее) и, соответственно, роста численности первых архантропов, то получим, что положение циклов эволюции на оси времени и время появления рода Homo, рассчитанные теоретически, не согласуются с данными палеодемографии.
Однако, если слегка модифицировать алгоритм так, чтобы при подсчете прироста носителей с каждого клаттера добавлять к числу его связей единицу, формально полагая, что копируются не только входящие в клаттер связи, но и его узел (т. е., если считать, что число копий клаттеров-носителей, снимаемых с каждого сетеобразующего клаттера за цикл, равно текущему размеру сети), что совершенно несущественно на втором этапе, когда таких клаттеров и, соответственно, подключенных к ним связей сотни, тысячи и даже десятки тысяч – то вот такой алгоритм будет правильно описывать эволюцию, историю и рост населения мира на всех этапах[9].
Дополнительно хотелось бы отметить, что выбранный алгоритм при учете правила финализации цикла и звена, которое, хотя и может быть сформулировано по разному, но не оказывает никакого влияния на результат, хорош уже тем, что чрезвычайно прост и эстетичен.
Даже если бы оказалось, что он не имеет никакого отношения к реальному росту населения Земли, модель все равно заслуживала бы внимания уже только потому, что при минимальных предпосылках позволяет правильно описывать как количественно, так и качественно динамику роста (начало роста, неолит, переход), а также цикличность глобального развития: сокращающиеся по закону прогрессии циклы эволюции, глобальные исторические и экономические циклы. В таком случае модель можно было бы рассматривать как простую и эффективную схему, позволяющую систематизировать многочисленные демографические и исторические данные.
* * *
Применим данный алгоритм к биниальной иерархической сети ранга R. Будем считать, что рост сети начинается с двух клаттеров. Рост ИС любого ранга, подчиняющийся принятому алгоритму, условно можно разбить на три этапа:
Первый этап – рост от двух до √P клаттеров (P – это вес клаттера или число носителей, которое он содержит).
Второй этап – рост от √P до Р клаттеров.
Третий этап – операция репликации: создание одной копии полученной совершенной сети. Рост сети ранга R, и это логично, следует считать законченным, когда будет построена совершенная сеть ранга R+1. Тем не менее поскольку операция репликации ИСС ранга R+1 не может считаться по принятому здесь алгоритму началом ее роста – ее следует определить как третий, завершающий этап роста сети ранга R.
Введем дополнительно понятие звена роста сети. Определим его как последовательность материнских клаттеров, в процессе копирования которых полностью собирается очередной дочерний клаттер. Число таких клаттеров, составляющих звено, назовем его длиной. На первом этапе звено включает ряд повторяющихся циклов, причем каждое последующее звено короче предыдущего; на втором этапе – цикл состоит из некоторого числа укорачивающихся звеньев. Длина звена за весь период роста уменьшается от P/2 до единицы.
* * *
Рассмотрим теперь все этапы роста ИС на примере сети ранга 3. Вес клаттера Р = 28 = 256, т. е. число носителей в клаттере равно 256. Корень из веса √Р = 16. Стартовый размер сети считаем равным двум.
Первый этап роста сети
Рис. 1. Старт роста сети 256.
Алгоритм копирования следующий: на каждую связь и на каждый узел копируемого клаттера (формально узел – это точка внутри клаттера, в которой сходятся подведенные к нему связи) устанавливается носитель. В данном случае связь одна, узел всегда один. Всего на клаттере копируем два носителя. Нужно собрать 256 носителей, поэтому переходим к следующему клаттеру и копируем еще два носителя.
Собрали четыре носителя. Цикл закончился, он оказался пустым, т. к. все имеющиеся на момент входа в цикл клаттеры скопированы, а новый собрать не удалось. Всего имеем 63 пустых цикла. На 64-м цикле и 128-ой по счету операции копирования (длина звена составила 128 клаттеров) получаем 256 носителей. Сборка третьего клаттера завершена; устанавливаем его в сеть, прокладываем связи.
Рис. 2. Собран первый клаттер.
Теперь каждый клаттер имеет уже две входящие в него связи, поэтому копируем по три носителя на клаттере или 32 = 9 девять за цикл. Число 256 не делится нацело на 9, как в предыдущем случае: 256/9 = 28 целых и 4/9, поэтому последний 29-й цикл будет неполным, т. к. первый клаттер на нем будет скопирован полностью (3 носителя), второй – частично (один носитель), а третий – останется нескопированным. И здесь возникает неопределенность в вопросе как начинать следующее звено: с продолжения предыдущего неполного цикла или с начала нового?
Непонятно также следует ли учитывать неполный цикл, когда копируются не все носители сети, при подсчете общего числа циклов звена. Ведь в приложении этой математической модели к росту населения Земли наиболее важными законами роста являются закон постоянства времени цикла и синхронности (синфазности) роста и развития. Неясно, правда, должна ли такая синхронность (синфазность) роста строго выполняться для каждого цикла или только для моментов гармонического достижения; а может быть синхронно должен завершаться только последний цикл роста сети данного ранга, на момент окончания которого она становится совершенной? (Учитывая факт гиперболического роста населения мира, этот вариант вряд ли следует принимать во внимание.)
Если считать, что каждое следующее звено начинается с нового цикла, что представляется наиболее логичным, то время роста сети в приложении этой математики к процессу эволюции может быть выражено только целым числом циклов. В таком случае определение цикла как операции самокопирования сети, при которой копируются все клаттеры, имеющиеся в наличии в момент входа в цикл, должно быть расширено. А именно: некоторые такие операции первого этапа, завершающие звено (или находящиеся внутри него), могут быть неполными или избыточными и тем не менее такие операции будут считаться циклами.
Возвратимся теперь к нашему примеру, сколько все-таки следует взять циклов: 28 или 29?
Здесь возможны четыре варианта: 1) По минимуму: отдаем остаток 4 носителя 28-му циклу или распределяем его по каким-то предыдущим, при этом получаем 28 циклов, на некоторых из которых будет скопировано более девяти носителей; т. е. носители некоторых клаттеров в процессе цикла будут скопированы дважды. 2) По максимуму: добавляем еще один 29-й цикл и переносим в него весь остаток, при этом некоторые носители оказываются в данном цикле нескопированными. 3) Этот вариант среднее между первым и вторым: если остаток меньше или равен половине квадрата размера сети (32/2 = 4,5) выбирается первый вариант, в противном случае – второй. 4) Возможен также сценарий «с перехлестом», при котором звено копирования замыкается не в момент завершения цикла, а где-то у него внутри. После прокладки дополнительной связи следующее звено начинается с нескопированных носителей предыдущего (плюс один носитель).
При подсчете полного числа циклов (и числа циклов роста сети до ее гармонического размера) все рассмотренные сценарии финализации звена дают практически одинаковые результаты. Для определенности выбираем второй вариант, получаем 29 циклов. Собираем второй клаттер, устанавливаем в сеть, прокладываем связи.
Рис. 3. Собран второй клаттер.
Далее, на каждом клаттере копируем по 4 носителя; за цикл их набирается 16. Третий клаттер собираем за 16 циклов, т. к. 16*16 = 256. Длина звена 16*4 = 64 клаттера.
Рис. 4. Собран третий клаттер.
Пять носителей на клаттер, 25 – с цикла; всего потребуется 11 циклов по второму варианту и т. д.
На 13-ом звене роста сети для сборки нового клаттера потребуется два цикла, поскольку первый цикл будет пустым: 15*15 = 225 < 256. С 14-го звена начинается второй этап роста сети. Теперь клаттер можно собрать не выходя за пределы одного цикла: 16*16 = 256.
Второй этап роста сети
Рис. 5. Собрано 16 клаттеров.
Рис. 6. Звено копирования фрагмента сети 256 по первому варианту.
Прирост клаттеров за цикл с этого момента при постоянстве времени цикла идет уже по другой, как мы покажем далее, гораздо более быстрой гиперболе. Т. е. процесс роста сети претерпевает качественный скачок. Допустим, что сеть выросла до размера 71, т. е. содержит 71 клаттер. Для фрагмента сети, изображенного на рисунке, имеем следующее: после копирования четырех клаттеров (длина звена = 4) получаем (70 + 1)*4 = 284 носителя. Здесь, также как на первом этапе роста, возможны первые три варианта финализации звена: по минимуму, по максимуму и средний между первым и вторым. Длина звена равна четырем (по первому варианту).
Звено – это такой этап роста сети, на котором собирается и устанавливается в сеть еще один новый клаттер. В результате чего число связей возрастает и в процессе эволюции сети происходит качественный скачок. Поскольку длительность звена, в отличие от длительности цикла, в приложении этой модели к явлению роста населения Земли, не является предзаданной, процесс ее уменьшения может идти с небольшими отклонениями. В таком случае должен быть рассмотрен еще один, четвертый вариант сценария финализации звена, а именно: с перехлестом, когда следующее звено начинается с копирования неоткопированных носителей последнего клаттера предыдущего звена.
Рис. 7. Звено копирования фрагмента сети 256 с перехлестом.
Выбираем один из рассмотренных вариантов, собираем новый клаттер, устанавливаем в сеть, увеличиваем число связей на единицу (71). Алгоритм роста на втором этапе необходимо дополнить правилом финализации цикла, сходным с правилом финализации звена:
1. Копируются клаттеры, которые имеются в сети, по одному из рассмотренных вариантов. Как только новый клаттер из оставшихся на копирование в завершающем звене цикла по сумме позиций собрать не удается – цикл завершается. При этом остаются нескопированные клаттеры из тех, что стояли в очередь на копирование при входе в цикл.
2. Все то же самое, но как только новый клаттер из остатка собрать не получается, сеть заходит на следующий виток[5] и финализирует цикл. При этом некоторые клаттеры оказываются скопированными в данном цикле дважды.
3. Этот вариант среднее между первым и вторым. Копируются клаттеры, устанавливаются в сеть, число связей растет. Если новый клаттер, из оставшихся на копирование в последнем звене цикла собрать невозможно, но общее число неоткопированных позиций превосходит половину веса клаттера, то сеть заходит на новый виток. В противном случае – нет. Цикл на втором этапе может состоять из одного или двух витков.
4. Возможен также сценарий, при котором цикл самокопирования сети завершается в тот момент, когда из оставшихся на копирования клаттеров новый собрать невозможно, а следующий цикл начинается с нескопированных носителей этих клаттеров. Здесь, так же как в первом варианте финализации цикла, остаются нескопированные клаттеры из тех, что стояли в очередь на копирование при входе в цикл.
Все рассмотренные сценарии замыкания звена и финализации цикла как на первом, так и на втором этапе роста дают для полного числа циклов (и числа циклов роста сети до ее гармонического размера) практически одинаковые результаты. Для определенности рассмотрим в качестве примера рост сети 256 на втором этапе по четвертому варианту замыкания звена (с перехлестом) и третьему сценарию финализации цикла.
Пусть сеть 256, размер которой составляет 20 клаттеров, входит в цикл. Копирование идет с 13 клаттеров, составляющих одно звено: 13*20 = 260 > 256 (20-й клаттер скопирован не полностью, с него начнется следующее звено); собираем дочерний клаттер, устанавливаем в сеть, прокладываем связи; остается 7 нескопированных клаттеров (плюс нескопированные носители 20-го клаттера). Т. к. 4+1+7*21 = 152 > 128, копируем эти 7 клаттеров, заходим на второй виток и собираем еще один клаттер. На этом цикл завершается. На втором витке в процесс копирования будут вовлечены клаттеры, уже скопированные в данном цикле. В следующем цикле клаттеры, скопированные в предыдущем цикле дважды, копируются так же, как клаттеры скопированные единожды.
Третий этап роста сети
Формально модель третьего этапа проста: создается копия совершенной финальной сети, прокладывается связь меду узлами оригинала и копии и запускает рост сети следующего ранга. Попробуем тем не менее без всякого ущерба для этого формализма создать наглядный образ (ни на что, впрочем, не претендующий) завершающего этапа роста сети и операции ее репликации.
Когда сеть 256 достигает совершенства – ее размер (число клаттеров в сети) становится равным весу клаттера Р (числу носителей в клаттере). Рассмотренный здесь алгоритм роста не может больше работать, т. к. все носители (кроме носителя, связанного с узлом клаттера) каждого клаттера сети оказываются задействованными на поддержание внутрисетевых связей. (Число связей клаттера совершенной сети не может быть увеличено, поэтому она и не может расти дальше.)
Приступаем к заключительному этапу. Прежде всего, добавляем по одной свободной связи узлу каждого клаттера, т. е. число связей клаттера становится равным числу носителей, в нем содержащихся. (Будем считать (постулируем), что максимально возможное число связей клаттера равно его весу.)
Но, что такое связь? Можно создать наглядный образ связи, который следует понимать только как метафору. Будем считать, что связь от носителя каждого клаттера через узлы всех клаттеров более низкого ранга, в порядке иерархии составляющих сетеобразующий клаттер, идет к его узлу, который соединяется связями через узел растущей сети с узлами других клаттеров. При этом узел клаттера и узел сети выступают в качестве «коммутаторов», обеспечивающих независимый обмен информацией между носителями сети.
Здесь предполагается, что каждый носитель может быть связан в данный момент времени только с каким-то одним носителем в своем и любом другом клаттере сети. Для сети 256 добавочная связь на каждый клаттер, даст дополнительно 256 связей более низкого уровня, а т. к. клаттеров всего 256, то получается 65536 связей. (Все эти 65536 связей пойдут на создание гиперсвязи, которая будет соединять клаттеры растущей сети четвертого ранга.)
И, наконец, СИС переходит в режим репликации. Рассмотрим его более подробно. На завершающем этапе роста длина звена, с которого собирается клаттер, становится равной двум. В процессе роста сети это число уменьшалось от 128 до 2. На последнем цикле дочерний клаттер копировался с двух, а в его конце – практически с одного материнского.
Поэтому логично считать продолжением этого процесса операцию репликации (перехода), во время которой звено копирования минимально и равно единице, т. е. операцию, в процессе которой происходит точное копирование «клаттер в клаттер», но с установкой копий носителей в новую в сеть. (Сам процесс построения копии сети из оригинала, а также их связь в ходе этого процесса – рассматривать здесь не будем.)
Операцию репликации можно считать последней, предельной операцией копирования сети данного ранга. Чисто теоретически она может состоять из некоторого количества циклов, в процессе которых итоговая СИС собирает одну, две или несколько собственных копий. Однако в дальнейшем всегда будем считать, что сеть, точно так же как живая клетка при делении, всегда создает лишь одну собственную копию.
Каждая из этих двух совершенных итоговых сетей, в рассмотренном нами примере, будет иметь 65536 свободных связей, две из которых пойдут на их соединение. Остальные понадобятся для дальнейшего роста сети четвертого ранга. В итоге сеть 256 увеличивает свой ранг на единицу и выходит на новый виток эволюции.
В заключение отметим следующее:
1. В математической модели клаттеры не обладают индивидуальностью, здесь не нужно рандомизировать их подачу на копирование для обеспечения эффективного кроссоверинга, достаточно только не копировать их дважды на первом витке.
2. При выборе алгоритма финализации звена и цикла на первом и на втором этапе роста важно, чтобы он обеспечивал прохождение всех гармонических стадий роста сети, т. е., чтобы сеть гармонического размера (с числом клаттеров, равным двойке в степени) собиралась в момент завершения цикла, а не где-то внутри него и, конечно же, этот алгоритм должен обеспечивать достижение сетью в финале совершенства.
Как показывает математическое моделирование, при выборе правила финализации звена и цикла, отдать предпочтение следует третьему варианту, т. к. в этом случае на втором этапе гармонические стадии роста сети достигаются в моменты завершения циклов. Кроме того, выясняется, что при заданном алгоритме и при всех прочих сценариях финализации звена и цикла гармонические стадии оказываются удивительно притягательными для растущей сети. Следует также отметить, что число циклов, которое проходит сеть, с рангом большим трех, от одной точки своего роста до другой практически не зависит ни от выбора правила финализации звена на первом и втором этапе роста, ни от правила финализации цикла — на втором.
9
В приложении этой математической модели к росту населения Земли можно предположить, что на каждом клаттере копируются некоторые «продвинутые» клаттеры-носители, т. е. «продвинутые» СИС-ы в данной упрощенной модели не имеющие ранга и являющиеся сетеобразующими клаттерами сети ранга нуль. К этим СИС-ам прикрепляются дозревшие (дети) или по какой-либо причине открепленные (кома, клиническая смерть…) материальные носители из растущей мировой демографической системы.
5
Т. е. начинает копировать клаттеры уже скопированные в этом цикле.