Эссе о разработке игр, мышлении и книгах

Ремонт сложных систем

Пример сложной системы, вид из космоса.

Пример сложной системы, вид из космоса.

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

Деление на сети и периферию свойственно всем действительно сложным системам: живым организмам, городам, организациям, государствам, автомобилям, компьютерам, etc.

Дуализм сетей и периферии важно учитывать при возникновении проблем в системе.

Управляющие сети & периферия

Сети

Без сетей существование сложной системы невозможно — она не сможет поддерживать гомеостаз — не будет успевать реагировать на изменение внешней и внутренней среды.

Все сети чем-то схожи между собой, но по природе сильно зависят от типа системы. У животного есть нервная и кровеносная системы. В городе это канализация, водопровод, электрические сети, дороги.

Возникновение управляющих сетей и их свойства, по-видимому, определяются базовыми параметрами нашей вселенной, в частности структурой пространства. Исследования в этой области сейчас находятся на зачаточном уровне, но могу порекомендовать книгу Масштаб — хорошее и доступное введение в проблематику.

Периферия

Система не может состоять только из управляющих сетей. Утрируя, сети передают информацию или её аналоги, но действует система с помощью других элементов. Назовём их периферией.

У животного к периферии можно отнести мясо, органы, кости, хрящи, кожу и так далее. В городе это здания и зелёные зоны.

Периферия самостоятельно действует только в оперативном контексте (например, рука сама отдёрнется от горячего предмета). Действовать тактически или стратегически периферия не может, так как для подобных активностей необходимо задействовать ресурсы всей системы, что предполагает обмен информацией и ресурсами с помощью сетей.

За организацию сложного поведения системы отвечают сети, но все непосредственные действия выполняются периферией.

Одно без другого существовать не может.

Поломки системы

Часто системы ломаются. Иногда ломается периферия, иногда управляющие сети. Бывает, что и то и другое выходит из строя одновременно.

Рассмотрим поломки разных масштабов на примере биологических систем.

Локальные поломки

Локальную поломку как сети так и периферии обычно можно исправить.

Например, у меня недавно случился парез малоберцового нерва — сломалась часть нервной системы в ноге. Из-за чего ступня (периферия) начала хуже двигаться. Однако на мою дееспособность в целом это слабо повлияло — стал немного ковылять и на этом всё. Через неделю я уже ходил нормально — таблетки сделали своё дело и нерв заработал.

Небольшие поломки периферии тоже обычно можно исправить: воспаления, заражения, переломы успешно лечатся.

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

Глобальные поломки

Глобальные поломки сказываются на работоспособности системы куда серьёзнее.

Полный отказ любой управляющей сети или всей периферии приведёт к моментальному необратимому разрушению системы.

К счастью, моментальный отказ случается редко, в основном из-за форс-мажора, например, если человека сбила машина и тот сломал позвоночник. Куда чаще встречается постепенная деградация.

При деградации нарушается способность системы поддерживать гомеостаз. А нарушение гомеостаза ускоряет деградацию, что в итоге приходит к разрушению, если не устранить первопричину проблем.

Известным примером глобальной поломки периферии можно назвать рак.

К глобальным поломкам сетей можно отнести Гемофилию, ДВС-синдром, нейродегенеративные заболевания.

Ремонт системы

Чтобы починить систему необходимо сделать две вещи:

  • Исправить сломанные части сети и / или периферии.
  • Восстановить гомеостаз — даже правильно работающая система может не справиться с регуляцией, если её состояние сильно отличается от нормы.

Про гомеостаз часто забывают, но его восстановление очень важно. Без восстановления гомеостаза, починка самой системы не имеет смысла — она снова сломается, может быть в других местах.

Как правило, восстанавливать гомеостаз приходится внешним воздействием. Например, приёмом витаминов после болезни.

Способов исправить сами подсистемы не так много, их можно:

  • Удалить— сложные системы способны существовать без некоторых своих частей.
  • Восстановить, если подсистема поддаётся восстановлению.
  • Заменить, если восстановить подсистему дорого или невозможно.
  • Компенсировать — добавить новую подсистему, которая будет нивелировать ошибки существующей.

Исправить локальную поломку этими способами не составляет труда. Аппендицит можно удалить, кусок кожи — нарастить, зуб — заменить, ритм сердца исправить электрокардиостимулятором.

С глобальными поломками всё намного сложнее.

Полностью удалить ни сеть ни периферию нельзя по определению: сети появляются для регулирования периферии, периферия обеспечивает работу сетей. Друг без друга они не смогут существовать.

Компенсация сети или периферии в случае глобальной поломки эквивалентна замене.

Остаётся восстановление и замена.

Если необходима полная замены сети или периферии, то системы как таковой уже нет и проще создать новую. Поэтому обычно эти два способа используются одновременно: что-то восстанавливают, что-то заменяют.

Системы сильно отличаются по возможности восстановления и замены периферии и сетей.

У человека и то и другое чинить сложно. Причём глобальную замену периферии пока сделать невозможно. Замена сетей: пересадка нервов, кровеносных сосудов — возможна, но слабо развита.

В случае города, исправить сети значительно проще, чем перестроить все здания.

А для автомобиля, на сколько я понимаю, наоборот, заменить периферию проще (или сравнимо) чем заменить электронику.

Как же чинить?

Универсального плана ремонта или переделки сложной системы быть не может. Он сильно зависит от типа целевой системы так и от её уникальных черт. И то и другое редко известно полностью.

Однако можно выделить несколько эвристик, которые очень желательно учитывать:

  1. Перед внесением изменений следует хотя бы примерно решить вопрос с восстановлением гомеостаза после применения изменений, иначе система разрушится.
  2. После изменений целевая система должна остаться со всеми сетями и с периферией, иначе система разрушится.
  3. В любой момент изменений в целевой системе должны работать все необходимые сети и минимально необходимая периферия, иначе система разрушится.
  4. Полная замена как сетей так и периферии обычно невозможна или дорога настолько, что может разрушить систему.