Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Форма вещей: фазовое пространство

Поиск

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

Я построил объект, изображенный на рис. 14.5, переместив обычный куб в воображаемом четырехмерном пространстве и соединив шестнадцать углов линиями, точно так же, как мы можем построить обычный куб, сдвинув квадрат в трехмерном пространстве и соединив линиями восемь углов. Я был упоен тем, что так просто нарисовать 2D-проекцию 3D-проекции 4D-объекта. В то время данная фигура мне нравилась больше всего. Но когда я показал свой рисунок учителю физики, тот сказал мне, что все нарисовано неправильно. Мне казалось, что меня не поняли. Годы спустя я узнал, что объект, который я «изобрел», называется гиперкуб и что учитель физики упустил прекрасную возможность чему-то научиться у одного из своих учеников.

Но гиперкуб — ничто в сравнении с «формой улучшения» сложной системы. Оценивая разные состояния динамической системы, исследователи представляют каждую переменную систему как ось многомерной Вселенной. Небольшая система с тремя переменными отображается в виде фазового пространства с тремя измерениями; у системы с двадцатью переменными фазовое пространство имеет не менее двадцати измерений. Боюсь, что даже я не смогу нарисовать такой объект. И это еще не предел. Многие сложные системы содержат тысячи и более переменных и соответствующее ошеломляюще сложное фазовое пространство.

Например, у водорослей порядка 1000 генов. Предположим ради простоты, что каждый из этих генов отвечает за два признака: листья могут быть зелеными или коричневыми, маленькими или большими, плоскими или морщинистыми и так далее. В этом случае число возможных состояний конкретного растения будет составлять 21000, или тысячу измерений по два возможных значения в каждом из них [Waldrop 1992: 167]. (ДНК человека состоит примерно из 25 000 генов — и более чем двух вариантов каждого. Можете себе представить гиперкуб, нарисованный в таком фазовом пространстве?)

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

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

Аттракторы и конвергенция

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

Когда сложные системы изменяются, их путешествие в соответствующем обширном фазовом пространстве обычно попадает в одну из нескольких категорий. Вспомните пример с игрой «Жизнь», описанной в главе 8. Независимо от исходной конфигурации, через несколько этапов система в большинстве случаев приходит в устойчивое состояние, которое будет либо стационарным («натюрморт»), либо бесконечно повторяющимся циклом небольшого числа состояний. Мы говорим, что устойчивое состояние — это аттрактор для всех других состояний, которые к нему приводят. Набор всех траекторий, которые приводят к данному аттрактору, называется областью притяжения аттрактора (рис. 14.6). Поскольку каждая система обычно следует по траекториям, которые ведут к аттракторам, аттракторы затягивают систему в один небольшой регион ее фазового состояния. Несмотря на огромное число возможных состояний системы, она в конечном итоге оказывается лишь в одном из немногих упорядоченных состояний.

Вы все еще со мной? Отлично. Конкретизируем все это на том же примере с водорослями.

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

Некоторые ученые полагают, что конвергенция, заключающаяся в том, что такие биологические решения, как глаза и крылья, в ходе эволюции были полностью независимо «изобретены» несколько раз, это хорошая иллюстрация аттракторов [Lewin 1999: 73]. С точки зрения биологической морфологии существуют аттракторы «четырехногого существа», «существа с двумя крыльями» и так далее. Формы с пятью ногами или одним крылом имеют право на существование, но они неустойчивы (за исключением, пожалуй, района вокруг АЭС с неустойчивым реактором).

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

Устойчивость и возмущения

Ниже приведены три типа аттракторов, существующих в сложных системах [Gleick 1987: 269]:

  • Фиксированные точки. Система сохраняет одно определенное состояние. Хорошим примером такого аттрактора служит организационная иерархия. Почти все компании принимают структуру такого типа, а затем остаются в этом состоянии навечно [Waldrop 1992: 169].
  • Замкнутые циклические. Система постоянно повторяет одну и ту же последовательность состояний. Одним из примеров будет динамика развития групп, проходящая стадии формирования, конфликта, нормализации, исполнения работы и расформирования [Arrow 2000: 152].
  • Хаотические, или «странные», аттракторы. Примером странного аттрактора служит ведущий себя хаотически стартап, перескакивающий от одной бизнес-возможности к другой и не останавливающийся ни на одной из них, пока среда, в которой он функционирует, не позволит ему сделать окончательный выбор.

Как правило, аттрактор имеет обширную область притяжения. Теперь предположим, что на устойчивую систему начинает воздействовать какое-либо возмущение. Внезапно одна из ее переменных произвольно перескакивает с одного значения на другое. (Например, один метод развития сменяется другим.) На рис. 14.6 показано, что большинство таких пертурбаций не оказывает значительного воздействия на систему. Она или остается притянутой к аттрактору (S1), или же, если ее оттянуло от аттрактора, но при этом она осталась в его области притяжения (S2), она все равно возвращается в свое конечное состояние. Только когда значение переменных в системе изменилось достаточно сильно, систему может вытолкнуть из области притяжения одного аттрактора в другую область (S3).

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

Как и любые другие сложные системы, группа людей может стать пленницей какого-либо аттрактора. Это может быть хорошо или плохо. Прекрасно, если для данного устойчивого состояния характерна высокая производительность. Хуже, если другие факторы, например организационная культура, удерживают группу возле «плохого» аттрактора и повысить ее производительность никак не удается. Насильственное внедрение «улучшений» лишь в редких случаях дает желаемый результат. Даже если вы сможете отодвинуть группу от ее аттрактора, обширная область притяжения вокруг него все равно заставит ее вернуться в прежнее состояние.

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

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

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

Адаптивный ландшафт

Сейчас я попытаюсь еще сильнее напрячь ваше воображение. Представьте себе еще одно измерение, которое мы добавим к фазовому пространству. Это дополнительное измерение будет соответствовать степени «приспособленности» системы к определенной среде. (Естественно, абсолютной шкалы, которая позволяла бы измерить этот параметр, не существует [Waldrop 1992: 259]. Но, как уже бывало ранее, мы вполне в состоянии определить, что одна система лучше приспособлена к определенной среде, чем другая. «Я узнаю ее, когда увижу!»)

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

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

Форма адаптивного ландшафта зависит как от системы, так и от окружающей ее среды. По этой причине стратегии выживания одной системы не очень легко переносятся на другие. Консультанты со стороны, привыкшие полагаться на решения, которые сработали для одних групп и организаций, могут ошибаться, пытаясь перенести те же самые подходы на группу с совершенно иным адаптивным ландшафтом [Arrow 2000: 182].

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

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

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

Мы должны понимать, что из-за изменчивости среды обитания и систем, эволюция которых протекает бок о бок, адаптивные ландшафты никогда не бывают статичными. Они как будто бы сделаны из резины [Waldrop 1992: 310]. Пока вы совершаете свою адаптивную прогулку по этому пейзажу, вы видите, как некоторые вершины исчезают и возникают другие, долины могут передвинуться в другое место, а у каждого вашего шага возможны непредвиденные последствия — например, перед вами вдруг вырастет стена, а скалы позади исчезнут. В этом и состоит основная причина, почему необходимо постоянно подвергать свою стратегию переоценке.

Похоже ли это на Швейцарские Альпы? Не очень. Если, конечно, вы не употребили слишком много вина со своим фондю.

Формируем ландшафт

Легко ли передвигаться по адаптивному ландшафту? Трудно ли найти вершину? Что взять с собой из инструментов — палки для скандинавской ходьбы или швейцарские армейские ножи?

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

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

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

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



Поделиться:


Последнее изменение этой страницы: 2021-01-14; просмотров: 181; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.218.219 (0.011 с.)