Менеджер проектов компании Innova (разрабатывает игровую платформу 4game.ru и онлайн-кинотеатр ayyo.ru), ведущий блога Exploring the weird Искандер Хабибрахманов написал для рубрики «Рынок игр» материал о теории систем, принципах поведения в них, взаимосвязях и примерах самоорганизации.
Мы живем в сложном мире и не всегда понимаем, что происходит вокруг. Мы видим людей которые становятся успешными не заслужив этого и тех, кто действительно достоин успеха, но остается в безвестности. Мы не уверены в завтрашнем дне, мы все больше закрываемся.
Чтобы объяснить непонятные нам вещи, мы придумывали шаманов и гадалок, легенды и мифы, университеты, школы и онлайн-курсы, но это, кажется, не помогло. Когда мы учились в школе, нам показывали картинку ниже и спрашивали, что случится, если потянуть за нитку.
Со временем большинство из нас научались давать правильный ответ на этот вопрос. Однако затем мы выходили в открытый мир, и наши задачи начинали выглядеть так:
Это вело к фрустрации и апатии. Мы стали похожими на мудрецов из притче о слоне, каждый из которых видит лишь маленькую часть картины и не может сделать правильный вывод об объекте. У каждого из нас свое непонимание мира, нам сложно коммуницировать его друг с другом, и это делает нас еще более одинокими.
Дело в том, что мы живем в век двойного сдвига парадигмы. С одной стороны, мы отходим от механистической парадигмы общества, доставшейся нам от индустриального века. Мы понимаем, что входы, выходы и мощности не объясняют всего разнообразия мира вокруг нас, и зачастую на него гораздо сильнее влияют социокультурные аспекты общества.
С другой стороны, огромное количество информации и глобализация ведут к тому, что вместо аналитического анализа независимых величин мы должны изучать взаимозависимые объекты, неделимые на отдельные составляющие.
Кажется, что от умения работать с этими парадигмами зависит наше выживание, и для этого нам нужен инструмент, как когда-то нужны были инструменты для охоты и обработки земли.
Одним из таких инструментов является теория систем. Ниже будут примеры из теории систем и ее общие положения, будет больше вопросов чем ответов и, надеюсь, будет немного вдохновения узнать об этом больше.
Теория систем
Теория систем — это довольно молодая наука на стыке большого количества фундаментальных и прикладных наук. Это своего рода биология от математики, которая занимается описанием и объяснением поведения тех или иных систем и общего между этим поведением.
Существует множество определений понятия системы, вот одно их них. Система — множество элементов, находящихся в отношениях, которое образует определенную целостность структуры, функции и процессов.
В зависимости от целей исследований, системы классифицируют:
- по наличию взаимодействия с внешним миром — открытые и закрытые;
- по количество элементов и сложности взаимодействия между ними — простые и сложные;
- по возможности наблюдения всей системы полностью – малые и большие;
- по наличию элемента случайности — детерминированные и недетерминированные;
- по наличию у системы цели — казуальные и целенаправленные;
- по уровню организации — диффузные (случайные блуждания), организованные (наличие структуры) и адаптивные (структура подстраивается под изменения вовне).
Также у систем существуют особые состояния, изучение которых дает понимание о поведении системы.
- Устойчивый фокус. При небольших отклонениях, система снова возвращается в исходное состояния. Пример — маятник.
- Неустойчивый фокус. Небольшое отклонение выводит систему из равновесия. Пример — конус, поставленный острием на стол.
- Цикл. Некоторые состояния системы циклически повторяются. Пример — история разных стран.
- Сложное поведение. Поведение системы обладает структурой, но она настолько сложна, что предсказать будущее состояние системы не представляется возможным. Пример — цены на акции на бирже.
- Хаос. Система полностью хаотична, в ее поведении полностью отсутствует структура.
Зачастую при работе с системами, мы хотим сделать их лучше. Поэтому нужно задавать себе вопрос, в какое особое состояние мы хотим ее привести. Идеально, если интересующее нас новое состояние является устойчивым фокусом, тогда мы можем быть спокойны, что если мы достигнем успеха, то он не исчезнет на следующий день.
Сложные системы
Мы все чаще встречаем вокруг нас сложные системы. Здесь я не нашел звучащих терминов в русском языке, поэтому придется говорить на английском. Существует два принципиально разных понятия сложности.
Первый (complicatedness) — означает некоторую сложность устройства, которая применяется к навороченным механизмам. Такой вид сложности зачастую порождает неустойчивость системы к малейшим изменениям в окружающей среде. Так, если на заводе остановится один из станков, он может вывести из строя весь процесс.
Второй (complexity) — означает сложность поведения, например, биологических и экономических систем (либо их эмуляций). Такое поведение напротив сохраняется даже при некоторых изменениях окружающей среды или состояния самой системы. Так, при уходе крупного игрока с рынка, игроки меньше поделят его долю между собой, и ситуация стабилизируется.
Дальше понятие сложность используется именно во втором смысле.
Зачастую сложные системы обладают свойствами, которые способны ввергнуть непосвященного в апатию, и сделать работу с ними трудной и интуитивно непонятной. Такими свойства являются:
- простые правила сложного поведения,
- эффект бабочки или детерминированный хаос,
- эмерджентность.
Простые правила сложного поведения
Мы привыкли, что если нечто демонстрирует сложное поведение, то оно, скорее всего, сложно устроено внутри. Поэтому мы видим закономерности в случайных событиях и пытаемся объяснить непонятные нам вещи происками злых сил.
Однако это не всегда так. Классическим примером простого внутреннего устройства и сложно внешнего поведения является игра «Жизнь». Она состоит из нескольких простых правил:
- вселенная — клетчатая плоскость, есть начальное расположение живых клеток.
- в следующий момент времени живая клетка живет, если у нее два или три соседа;
- иначе она умирает от одиночества или перенаселения;
- в пустой клетке, рядом с которой ровно три живые клетки, зарождается жизнь.
В целом, для написания программы, которая будет реализовывать эти правила, потребуется пять-шесть строчек кода.
При этом данная система может производить довольно сложные и красивые шаблоны поведения, так что не видя самих правил их сложно угадать. И уж точно сложно поверить, что это имплементируется несколькими строчками кода. Возможно, реальный мир также построен на нескольких простых законах, которые мы еще не вывели, а все безграничное многообразие порождается этим набором аксиом.
Эффект бабочки
В 1814 году Пьер-Симон Лаплас предложил мысленный эксперимент, заключающийся в существовании разумного существа, способного воспринять положение и скорость каждой частицы вселенной и знающего все законы мира. Вопрос заключался в теоретической способности такого существа предсказывать будущее вселенной.
Данный эксперимент вызвал множество споров в научных кругах. Ученые, вдохновленные прогрессом в вычислительной математике, склонялись к положительному ответу на данный вопрос.
Да, мы знаем, что принцип квантовой неопределенности исключает существование такого демона даже в теории, и предсказание положения всех частиц в мире принципиально невозможно. Но возможно ли оно в более простых детерминированных системах?
Действительно, если мы знаем состояние системы и правила, по которым они изменяются, что мешает нам вычислить следующее состояние? Нашей единственной проблемой может стать ограниченное количество памяти (мы можем хранить числа с ограниченной точностью), но все вычисления в мире так и работают, поэтому это не должно стать проблемой.
На самом деле нет.
В 1960 году Эдвард Лоренц создал упрощенную модель погоды, состоящую из нескольких параметров (температура, скорость ветра, давление) и законов, по которым из текущего состояния получается состояние в следующий момент времени, представляющих набор дифференциальных уравнений.
a = 10
b = 28
c = 8/3
dt = 0,001
x0 = 3,051522
y0 = 1,582542
z 0 = 15,623880
xn+1 = xn + a(-xn + yn)dt
yn+1 = yn + (bxn — yn — znxn)dt
zn+1 = zn + (-czn + xnyn)dt
Он вычислял значения параметров, выводил их на монитор и строил графики. Получалось что-то вроде этого (график для одной переменной):
После этого Лоренц решил перестроить график, взяв некоторую промежуточную точку. Логично, что график получился бы абсолютно таким же, так как начальное состояние и правила перехода никак не изменились. Однако когда он это сделал, получилось нечто неожиданное. На графике ниже синяя линия отвечает за новый набор параметров.
То есть вначале оба графика идут очень близко, различий почти нет, но затем новая траектория все более отдаляется от старой, начиная вести себя по-другому.
Как выяснилось, причина парадокса крылась в том, что в памяти компьютера все данные хранились с точностью до шестого знака после запятой, а выводились с точностью до третьего. То есть микроскопическое изменение параметра привело к огромному различию в траекториях системы.
Это была первая детерминированная система, обладающая таким свойством. Эдвард Лоренц дал ей название «Эффект бабочки».
Этот пример показывает нам, что иногда события, кажущиеся нам неважными, в конечном итоге имеют огромное воздействие на исходы. Поведение таких систем невозможно предсказать, но они и не являются хаотическим в прямом смысле этого слова, ведь они детерминированы.
Более того, траектории данной системы обладают структурой. В трехмерном пространстве множество всех траекторий выглядит так:
Что символично, оно похоже на бабочку.
Эмерджентность
Томас Шеллинг, американский экономист, рассматривал карты распределения расовых классов в различных городах Америки, и наблюдал следующую картину:
Это карта Чикаго и здесь разными цветами изображены места проживания людей различных национальностей. То есть в Чикаго, как и в других городах Америки, присутствует довольно сильная расовая сегрегация.
Какие выводы мы можем из этого сделать? Первыми в голову приходят: люди нетолерантны, люди не принимают и не хотят жить с людьми, которые отличаются от них. Но так ли это?
Томас Шеллинг предложил следующую модель. Представим город в виде клетчатого квадрата, в клетках живут люди двух цветов (красные и синие).
Тогда почти у каждого человека из этого города есть 8 соседей. Выглядит это как-то так:
При этом если у человека меньше 25% соседей того же цвета, то он случайным образом переезжает в другую клетку. И так продолжается до тех пор, пока каждого жителя не устраивает его положение. Жителей этого города совсем нельзя назвать нетолерантными, ведь им нужно всего лишь 25% людей таких же как они. В нашем мире их назвали бы святыми, настоящим примером терпимости.
Однако если запустить процесс переездов, то из случайного расположения жителей выше, мы получим следующую картину:
То есть мы получим расово сегрегированный город. Если же вместо 25%, каждый житель будет хотеть хотя бы половину соседей таких же как он, то мы получим практически полную сегрегацию.
При этом данная модель не учитывает такие вещи, как наличие локальных храмов, магазинов с национальной утварью и так далее, которые также увеличивают сегрегацию.
Мы привыкли объяснять свойства системы свойствами ее элементов и наоборот. Однако для сложных систем это зачастую приводит нас к неверным выводам, ведь, как мы видели, поведение системы на микро и макро уровнях может быть противоположным. Поэтому зачастую спустившись на микро уровень, мы стараемся сделать как лучше, а получается как всегда.
Такое свойство системы, когда целое не может быть объяснено суммой элементов, называется эмерджентностью.
Самоорганизация и адаптивные системы
Пожалуй, самым интересным подклассом сложных систем являются адаптивные системы, или системы, способные к самоорганизации.
Самоорганизация означает, что система меняет свое поведение и состояние, в зависимости от изменений во внешнем мире, она адаптируется к изменениям, постоянное преображаясь. Такие системы повсюду, практически любая социально-экономическая или биологическая, ровно как комьюнити любого продукта, являются примерами адаптивных систем.
А вот видео с щенками.
Сначала система находится в хаосе, но при добавлении внешнего стимула она упорядочивается и появляется довольно милое поведение.
Поведение муравьиного роя
Поведение муравьиного роя при поиске еды является прекрасным примером адаптивной системы, построенной на простых правилах. При поиске еды, каждый муравей блуждает случайным образом, пока не найдет еду. Найдя еду насекомое возвращается домой, отмечая пройденный путь феромонами.
При этом вероятность выбора направления при блуждании пропорциональна количеству феромона (силе запаха) на данном пути, а со временем феромон испаряется.
Эффективность муравьиного роя настолько высока, что похожий алгоритм используется для нахождения оптимального пути в графах в реальном времени.
При этом поведение системы, описывается простыми правилами, каждое из которых критически важно. Так случайность блуждания позволяет находить новые источники питания, а испаряемость феромона и привлекательность пути, пропорциональное силе запаха, позволяет оптимизировать длину маршрута (на коротком пути, феромон будет испаряться медленнее, поскольку новые муравьи будут добавлять свой феромон).
Адаптивное поведение всегда находится где-то между хаосом и порядком. Если хаоса слишком много, то система реагирует на любое, даже незначимое, изменение и не может адаптироваться. Если же хаоса слишком мало, то в поведении системы наблюдается стагнация.
Я наблюдал это явление во многих командах, когда наличие четких должностных инструкций и жестко регламентированных процессов делало команду беззубой, и любой шум вовне выбивал ее из колеи. С другой стороны, отсутствие процессов приводил к тому, что команда действовала неосознанно, не накапливала знания и поэтому все ее несинхронизированные усилия не вели к результату. Поэтому построение такой системы, а именно в этом задача большинства профессионалов в любой динамической сфере, является своего рода искусством.
Для того, чтобы система была способна к адаптивному поведения необходимо (но не достаточно):
- Открытость. Закрытая система не может адаптироваться по определению, поскольку она ничего не знает о внешнем мире.
- Наличие положительных и отрицательных обратных связей. Отрицательные обратные связи позволяют системе оставаться в выгодном состоянии, так как они уменьшают реакцию на внешний шум. Однако, адаптация невозможно и без положительных обратных связей, которые помогают системе переходить в новое лучшее состояние. Если говорить об организациях, то за отрицательные обратные связи отвечают процессы, тогда как за положительные — новые проекты.
- Разнообразие элементов и связей между ними. Эмпирически, увеличение разнообразия элементов и количества связей увеличивает количество хаоса в системе, поэтому любая адаптивная система должна обладать необходимым количеством и того и другого. Также разнообразие позволяет более гладко реагировать на изменения.
Напоследок, хочется привести пример модели, подчеркивающей необходимость разнообразия элементов.
Для колонии пчел очень важно поддерживать постоянную температуру улья. При этом если температуру улья опускается ниже желаемой для данной пчелы, она начинает махать крыльями, чтобы согреть улей. У пчел нет координации и желаемая температура заложена в ДНК пчелы.
Если у всех пчел будет одинаковая желаемая температура, то при ее опускании ниже, все пчелы начнут одновременно махать крыльями, быстро согреют улей, а затем он также быстро остынет. График температуры будет выглядеть так:
А вот другой график, где желаемая температура для каждой пчелы сгенерирована случайно.
Температура улья держится на постоянном уровне, потому что пчелы подключаются к согреванию улья по очереди начиная с самых «мерзнущих».
На этом все, напоследок хочется повторить некоторые идеи, которые обсуждались выше:
- Иногда вещи не совсем такие, какими они кажутся.
- Отрицательный фидбек помогает оставаться на месте, положительный — двигаться вперед.
- Иногда, чтобы сделать лучше нужно добавить хаоса.
- Иногда для сложного поведения достаточно простых правил.
- Цените разнообразие, даже если вы не пчела.
Почитать про это подробнее можно, например, вот в этой классной книжке: Complex Adaptive Systems: An Introduction to Computational Models of Social Life (John H. Miller, Scott E. Page).
About the author