Хрупкий шар
Мне виделось, что значительно менее популярный в ту эпоху, нежели теперь, Python имеет огромные потенции. В первую очередь тогда мною двигала простая предусмотрительность коммерческого разработчика. Я стремился поглубже узнать упомянутый любопытный язык, пока он не стал языком первого выбора для известного поля задач, и пока конкуренция в нём не выросла до обычной на рынке плотности.
В частности мне было интересно посмотреть, как Python работает с масштабными графами. Я установил NetworkX, открыл PyCharm и стал пробовать.
Тратя на проект по два-четыре часа в день, я за несколько недель построил более менее сносную программную модель всей той ерунды о которой я рассказал раньше. Моя модель, несомненно в крайней степени упрощала действительную картинку. Но это была конструкция, обладающая большинством базовых свойств актуальной социальной системы.
Наверное нужно сказать пару слов о том, как оно всё было устроено. Модель представляла собой шарообразную поверхность, состоящую из запутанного множества связей. Каждая связь обладала “массой”. Эта “масса” стремилась связь разорвать. “Масса” зависела только от длины связи через константный коэффициент. То есть связь “хотела” упасть в центр шара. Туда были направлены векторы “масс” связей.
От того чтобы провалиться во внутрь себя поверхность удерживалась “упругостью” составляющих её связей. То есть каждая связь вела себя наподобие протяженной упругой соломинки, тем более хрупкой, чем более длинной.
Упругость определялась “входным числом” связи. Смысл “входного числа” проще понять, если думать, что это приходящие в связь деньги. Связь обладала “жадностью”. “Жадность” определяла разницу между входным и выходным числом связи. Жадность могла быть, как положительной, так и отрицательной. То есть связь могла отдавать как больше, так и меньше денег, чем получила. Деньги “текли” по связям, как по трубам, сообщая связям “упругость”.
“Жадность” зависела от лютой прорвы параметров. Например от длинны связи (чем связь длиннее, тем “жадность” её больше), от “входных чисел” и “жадностей” окружающих связей. От близости к корню ветвления графа и от прочего разного. Однако, среди параметров формирующих “жадность” связи был и случайный компонент. То есть каждая составлявшая шарообразную сеть веточка несла в себе маленькую “бомбу неопределённости”, которая могла как повысить, так и понизить её “жадность”. Естественно, что повышение жадности было много вероятнее.
Если масса связи оказывалась больше “упругости”, которая получалась при перемножение некоторой константы и “входного числа” связи, связь разрывалась. “Деньги текли туда где дешевле”. То есть новые связи возникали в случае если разница между выходным числом “донорской” связи и входным “акцепторной” была достаточно большой, а связанная с длинной масса связи достаточно маленькой. “Открытые” связи на внешних концах графа продолжали ветвиться, пока не натыкались на другой граф. Если такая, близкая к нулю по выходному числу, связь оказывалась вблизи “богатой” связи другого графа, они соединялись. Недавно “нулевая” связь становилась “богатой” и превращалась в новый источник ветвления. Это явление я назвал для себя “коммерческой удачей”.
Модель состояла всего из шести графов. Источники ветвления двух располагались на полюсах шара, остальные четыре я равномерно распределил по экватору. Входное число на источниках ветвления я сделал постоянным. Это упрощение позволило легко решить проблему “иссякания денег” в системе. Деньги иссякать были не должны. Ведь в реальном мире они никогда не иссякают... Точнее как… Деньги могут иссякнуть в нашем кармане, но не во всей экономической машине.
Ребра графов могли проходить только по поверхности шара. Внутрь сферы их не пускало правило. То есть связь, которая отрывалась от поверхности на определённое расстояние просто исчезала. Я намеренно напихал в модель множество константных
коэффициентов, чтобы её можно было легко балансировать вручную.
Собственно эта модель уже реализовывала большинство экономических эффектов, о которых я рассказывал раньше. Скажем любая рекурсивная связь, то есть образовавшееся кольцо из граней, в котором “деньги” бежали по кругу, достаточно быстро разрывалось, поскольку запертые в нём деньги быстро выпивались “жадностью” связей. Однако, кое-что, например эффект повышения хрупкости, который создавали сложные продукты, необходимые для производства простых пришлось специально реализовать, используя дополнительные свойства и правила.
Вся эта система висела на таймере. Она итеративно изменялась, раз во сколько-то там миллисекунд. Стартовая модель представляла собой простую симметричную сеть, С каждой итерацией сеть становилась причудливее и асимметричнее.
В общем я сделал программный шар с очень сложной и постоянно изменяющейся поверхностью. Гипотетически эта поверхность могла "треснуть". То есть в какой-то локальной области поверхности связи могли резко и лавинообразно разорваться. Первая "трещина" по логике должна была вызвать дальнейшее быстрое разрушение поверхности. То есть, в случае разрыва некоторого критического количества связей начиналась цепная реакция, которая разрушала сферическую сеть. Именно возникновение на поверхности критичной для стабильности системы трещины и соответствовало "порогу хрупкости” из моих предыдущих рассуждений.
Содержание книги
- Юноша - невеста
- Хироко или тропический пильгримаж проповедницы-пентекостала
-
Бенефициары Батыгина
-
Эпиграфы и благодарности
Блистающий мир
Лагуна и пляж
Первый абориген
В посёлке
Blue Banana & Cura Annonae
Порог хрупкости
Чипы для мешков
Интеграция и смерть
Налоги и сертификации
Хрупкий шар
Охотник
Звонок
Кисть
Что это было?
Поэты и менеджеры
Ангелическая синергия
Мошонка для яйцеголовых
Убежище для людоеда
Экскурсия по посёлку
Пляж, кибуц и метавселенная
Deity in youth
Зять Олокуна
Robinson Party
- Полуденные сны