Стратегия шума

We use cookies. Read the Privacy and Cookie Policy

Мутации в сложных системах, независимо от того, преднамеренные они или нет, представляют собой «случайный процесс». Сначала возникает сама мутация, и лишь затем внешняя среда решает, будет ли данное изменение полезным. Таким образом, полезность мутаций можно назвать случайным результатом [Gell-Mann 1994: 67]. Они позволяют выяснить, что работает, а что нет. Следовательно, к ошибкам нужно относиться не как к безусловно нежелательному явлению, а как к механизму обучения [Weinberg 1992: 181].

В книге «Управление фабрикой дизайна» (Managing the Design Factory) Дональд Райнертсен убедительно показал, что невозможно максимизировать доступную нам информацию, если целиком ориентироваться на максимизацию успеха [Reinertsen 1997: 71–79]. Многие специалисты по теории сложности разделяют представление, что, если вы стараетесь не совершать ошибок вообще, многому вы не научитесь.

Преднамеренные или случайные ошибки должны стать неотъемлемой частью любого творческого процесса. Эволюцию можно воспринимать как систематическое управление ошибками[98].

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

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

Еще 6000 лет назад люди выяснили, что нагревание металлов с последующим охлаждением меняет их свойства, в частности повышает прочность и твердость (металлов, не металлургов!). Это процесс называется закалкой. При нагревании атомы металла приходят в движение, а когда металл быстро охлаждают, атомы образуют более регулярную структуру. Это своеобразная форма «снятия стресса», при которой намеренное воздействие помогает системе легче обрести новое равновесие, чем она могла бы сделать без вмешательства извне.

Исследователи полагают, что подобные явления происходят и в сложных системах. Ошибки и шум в системе, привносимые внешней средой, приводят систему в движение, позволяя ей отойти от субоптимальных результатов и относительно более легко перейти в лучшее состояние. Ученые называют этот процесс модельной закалкой; в нем случайность помогает системе найти глобальный оптимум [Miller, Page 2007: 24, Lissack 1999: 115–116].

Это выглядит как будто бы систему во время прогулки по адаптивному ландшафту подталкивают в том или ином направлении, заставляя скатиться с холма, на котором она могла застрять (рис. 15.5). После такого толчка система может внезапно оказаться в долине, а оттуда добраться до более высокого пика. Модельная закалка демонстрирует, как случайные процессы оказываются полезны при движении по адаптивному ландшафту [Miller, Page 2007: 108].

А разве все не наоборот?

Я рисую адаптивные ландшафты, как это обычно делают биологи – точкам максимальной приспособленности соответствуют пики. Это интуитивно понятнее, поскольку с совершенством обычно ассоциируются вершины.

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

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

При разработке ПО аналогичный подход позволяет командам не застрять в точке локального оптимума и найти способы повышения своей эффективности. Демарко и Листер призывают использовать политику «конструктивного привнесения дозированного беспорядка» [DeMarco, Lister 1999: 160]. Я иногда называю это «повышение эффективности через несовершенство».