Насколько сложно менять(ся)

Насколько сложно менять(ся)

ReverendBayes

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

За основу этой статьи я взял 5 раздел брошюры В.И. Арнольда «”Жесткие” и “мягкие” математические модели». Помимо простого пересказа основных выводов, указанных в этом разделе, я добавлю пояснения, из каких именно предположений и каким образом эти выводы следуют.

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

Система сопротивляется перестройке

Итак, почему же - на качественном уровне - нельзя просто заменить что-то, что плохо работает, на то, что работает получше (все такие штуки - от повседневных привычек одного человека или процессов в одной компании до процессов масштаба отрасли, страны и мира - мы будем называть далее “системой”)?

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

Так, допустим, что мы осознали, что в “пространстве состояний” относительно недалеко находится состояние получше (немного по-другому настроенная конфигурация системы, значение функции полезности в которой будет выше, чем в текущей). Тогда чтобы в нее попасть, нам придется сначала пройти через гораздо менее оптимальную область. По сути, нам нужно будет сломать одну схему работы системы, и построить другую. В какой-то момент у нас будет чудовище Франкенштейна из двух недосистем - такая химера будет работать очень плохо.

Чтобы было понятнее, рассмотрим пару примеров. Представим человека, которому очень не нравится его работа. Казалось бы, найдя работу получше, он захочет ее сменить. Но на самом деле за пару лет на эту работу могло оказаться завязано много довольно важных вещей, и отказываться от них может быть сложно.

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

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

Другой пример - Магическая Британия из книг Роулинг. Необходимость чем-то занять множество волшебников (учитывая, что значительная часть работ выполняется с помощью магии, а что-то отдается на откуп маглам) приводит к раздуванию штата Министерства Магии (не удивлюсь, если там есть Отдел Контроля за Контролирующими Органами или отдельные вице-президенты по общению с гоблинами, кентаврами, домовыми эльфами, гномами, троллями и т.п.).

Естественно, всё это сжирает кучу бесполезных волшебникочасов, генерирует прорву бесполезной бумажной работы и тратит впустую гигантское количество галлеонов. Однако попробуйте-ка оптимизировать всю эту бюрократию, разогнав всех дармоедов - и куда вы денете полстраны свежих безработных? А что делать с опустевшими кабинетами и простаивающими министерскими каминами? А не придется ли серьезно перерабатывать учебную программу в Хогвартсе?

Опять же, все эти проблемы вполне решаемы - но когда вы будете стоять прямо посреди этого хаоса, уже сломав старую схему, но еще не построив новую, вы будете с тоской вспоминать старинную (не самую, впрочем, мудрую) пословицу “работает - не трогай”.

Основные постулаты о перестройке системы

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

  • Функция полезности является функцией одной переменной;
  • Функция является непрерывной и гладкой (непрерывно дифференцируемой);
  • Функция имеет два локальных максимума; система в данный момент находится в меньшем из них (с меньшим значением ФП), а мы хотим перейти в больший.
Приблизительный вид подобной функции полезности

Здесь стоит сделать несколько пояснений.

Во-первых, что вообще значит, что ФП является функцией хоть скольки-то переменных? Ну, некоторые примеры привести можно: “насколько много всего полезного я смогу сделать за день, в зависимости от времени подъема”, “насколько хорошо отдел компании будет справляться со своими обязанностями, в зависимости от числа сотрудников”, “насколько продуктивной будет экономика в зависимости от параметров экономических интервенций” и т.п.

В других случаях описывать всё в терминах численных параметров будет сложнее. Обычно конфигурация системы может быть похожа на “мы делаем вот так и вот так”, однако при желании даже схемы вида “с утра я просматриваю почту, потом делаю задачу X, затем Y, после этого полчаса обедаю…” можно описать, скажем, в виде точки в пространстве конфигураций системы вида (x1, y1, z1, x2, y2, z2,…) где xi - мои затраты когнитивных ресурсов во временной интервал i, yi - насколько задача, выполняемая в этот интервал, является “производительной” сама по себе, zi - насколько задача является полезной с точки зрения меты и организации процессов и т.п. Ну а уж задать в такой точке функцию полезности - более простая задача.

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

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

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

Описав основные предположения, перейдем наконец к выводам, которые из них следуют.

Любое изменение в первый момент является ухудшением

Мы, конечно, помним мудрую мысль “не каждое изменение - улучшение, но каждое улучшение - изменение”. Но в данном случае мы рассматриваем не конечный результат, а сам процесс этого изменения, и здесь неизбежно появляются свои особенности.

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

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

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

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

Это следует из того, что вблизи точки максимума [гладкая непрерывная] функция выпукла вверх ⇒ первая производная (имеющая отрицательное значение) убывает ⇒ абсолютное значение производной (скорость ухудшения состояния) возрастает.

Неформально это можно выразить так: чем больше мы вынимаем старых костылей, тем дороже нам обходится вынимание каждого следующего (от старой мало-мальски отлаженной системы остается всё меньше).

По мере перестройки сопротивление изменениям растет

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

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

Отметим, однако, что речь не идет о “ретроградном” сопротивлении, когда вообще любое отклонение от старого состояния - даже несущее благо в кратчайшей перспективе - воспринимается в штыки. Напротив, мы говорим о “логически обоснованном” (хоть и близоруком) сопротивлении изменениям, при котором чем хуже прогноз о результате локального шага, тем сильнее сопротивление ему.

Максимум сопротивления случается даже раньше достижения наихудшего состояния

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

Если таких точек перегиба (локальных максимумов “сопротивления изменениям”) будет несколько, то один из таких максимумов будет наибольшим (ну или в принципе несколько максимумов могут иметь одинаковое значение). Какой конкретно из них это будет - не так уж принципиально.

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

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

После прохождения худшего состояния система начнет притягиваться к лучшему

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

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

Чем совершеннее система, тем глубже падение по дороге к улучшению

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

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

С практической же точки зрения это можно обосновать тем, что “хороший результат” обеспечивается достаточно совершенной схемой работы системы, когда ее подсистемы тщательно подогнаны друг к другу и могут взаимно усиливаться. При этом новая, еще более хорошая конфигурация, явно во многих аспектах будет устроена сильно по-другому (все лучшие практики в рамках текущей идеологии мы за прошедшее время наверняка уже применили, поэтому если где-то есть вариант еще лучше, то он базируется на какой-то иной идеологии).

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

Если систему как следует “пнуть”, то можно обойтись без сопротивления

Иными словами, если мы смогли переместить систему не непрерывно (”маленькими шагами”), а “скачком” достаточно близко к новому оптимуму, проскочив точку промежуточного минимума, то мы сразу перейдем в область, где система начнет сама притягиваться к лучшему состоянию.

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

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

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

То есть слева от локального минимума нас будет притягивать старая конфигурация, а справа - новая. Грубо говоря, какая из полуразобранных конфигураций находится в более работоспособном состоянии, собирать ту и выглядит более привлекательным.

Ограничения

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

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

Кроме того, мы не учитываем инерцию движения в пространстве состояний. А ведь, разогнавшись в процессе перестройки системы, мы можем пропустить лучший момент для остановки (локальный максимум) и продолжить всё менять. И в итоге мы можем даже докатиться до какого-то локального максимума похуже (по другую сторону от того, который в начале считали целевым), и так там и застрять (или укатиться вовсе неведомо куда).

Итоги

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

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


Эта статья в моем телеграм-канале: https://t.me/bayesian_little_list/35

Report Page