Автомобиль, на котором я езжу сейчас, стоил мне в два раза больше, чем тот, на котором я начинал водить, и у него в десять раз больше опций. Сделало ли это меня счастливее? Боюсь, лишь ненадолго. Дело в том, что у него парковочный радар только сзади, а не со всех сторон, что для меня проблема. Обогрев сидений слишком медленно набирает нужную температуру. К тому же нельзя регулировать подсветку педалей… День за днем мой автомобиль все больше и больше отстает в Гонке Черной Королевы.
Можно ли измерить сложность?
Шестой закон Лемана гласит: «Если мы хотим, чтобы удовлетворенность пользователей не снижалась, в программных системах должна появляться новая функциональность». А согласно второму закону, если не предпринимать усилий по упрощению системы, то по мере своего развития она будет становиться все сложнее. Мой личный опыт это подтверждает. Когда-то я более пяти лет работал над интранет-приложением. Со временем оно стало жить своей жизнью, и даже я уже с трудом понимал его. Будет ли такое увеличение сложности тенденцией любых сложных систем? Нормально ли, что системы со временем становятся все более сложными?
Проблема возрастающей сложности не раз становилась предметом горячих дебатов среди ученых. Некоторые из них утверждают, что нет никакого внутреннего механизма, заставляющего системы в обязательном порядке становиться сложнее. Другие говорят, что развитие жизни на Земле, и в особенности человеческого общества, доказывает: все постоянно усложняется. Есть и третья группа, считающая, что мы не представляем себе, как измерить сложность, и поэтому не можем определить, будет ли одна система сложнее другой.
Давайте присоединимся к этой дискуссии с ее конца, а именно с измерения сложности. Действительно, нет единого мерила сложности, с которым были бы согласны все исследователи. Предлагалось много различных параметров, начиная от количества агентов и связей в системе до количества ее возможных состояний, от уровня энтропии в системе до ее вычислительной мощности, а также от количества уровней в ее иерархии до «фрактальной размерности» [Mitchell 2009: 94–111]. Как и в случае с моим интранет-приложением, во всех подходах были недостатки.
И тем не менее отсутствие единого метода измерения сложности вовсе не означает, что мы не можем сказать об одной системе, что она сложнее другой. Как сказал судья Верховного суда США Поттер Стюарт, говоря о жесткой порнографии, «я узнаю ее, когда увижу». По его словам, он не смог бы дать точного определения порнографии, но безошибочно определит, что это она, когда увидит ее. То же самое относится к сравнению мозга человека с мозгом, например, цыпленка. Или к сравнению моего интранет-приложения с Центром управления полетами НАСА. Я не знаю, как доказать, что одно сложнее другого. Но «я узнаю это, когда увижу».
Становятся ли программные продукты более сложными?
Вернемся к первоначальному утверждению: действительно ли системы имеют тенденцию к усложнению? Некоторые ученые отрицают это. Существует масса примеров, когда биологические виды со временем утрачивали некоторые свои характеристики. Например, предки морских звезд имели мозг. У современных морских звезд мозг отсутствует, и никто не знает почему [Le Page 2008: 29]. (Некоторые полагают, что то же самое относится к менеджерам.) Также известно, что приматы потеряли способность синтезировать витамин C примерно в то же самое время, когда начали питаться фруктами. И параллельно они вновь приобрели цветное зрение, которое ранее ими было утрачено [Corning 2003: 176]. Так что несмотря на то, что в настоящий момент на планете обитает множество более сложных видов, чем ранее, с точки зрения биомассы наиболее успешными оказались несколько видов бактерий.
Хорошо известна позиция, которой придерживался Стивен Джей Гулд, решительно отвергавший точку зрения, что биологическим видам присуща имманентная тенденция к «возрастающей сложности» [Gould 1997]. Чтобы проиллюстрировать свою мысль, что биологические виды не имеют встроенной тенденции к усложнению, он использовал в качестве метафоры «путь пьяницы», который может случайным образом отклоняться то вправо, то влево. Гулд указывает, что слева имеется «стена», поскольку размер, вес и сложность биологических организмов не могут принимать отрицательные значения (рис. 14.4). Следовательно, если сотни пьяниц начнут свой путь от двери, расположенной рядом со стеной (состояние, характеризующееся минимальной сложностью), то усредненным направлением их движения неизбежно будет вправо – несмотря на то, что любого из них в любой момент с одинаковой вероятностью может повести как вправо, так и влево.
Несмотря на использованную Гулдом прекрасную метафору, я считаю, что тенденция к усложнению систем реально существует. Все аргументы против этого утверждения основаны на недоразумениях.
Во-первых, возрастающая сложность еще не означает прогресса. Как мы отмечали ранее, увеличение сложности не всегда сопровождается ростом приспособленности. Увеличение сложности – просто один из способов не отстать в Гонке Черной Королевы. На протяжении всей своей истории люди верили в существование биологического «прогресса», то есть стремления видов к совершенству, кульминацией которого стало появление «самого развитого» из всех биологических видов – человека. Гулд и другие ученые правильно возражали против этой точки зрения. Но при этом они, по-видимому, напрасно игнорируют внутренне присущую системам тенденцию к усложнению. И здесь нет никакого противоречия.
Во-вторых, не существует единого мерила сложности. Размеры мозга и интеллект биологических видов – лишь один из аспектов. Но сложность бактериального и вирусного миров развивалась в течение геологических эпох, хотя отдельные виды относительно просты. Но мы знаем, что до сих пор доминирующая форма жизни – это микроорганизмы. Всего лишь вопрос горизонтального роста вместо вертикального. Возможно, микробиологические формы достигли уровня сложности, сравнимого с нашим, – только в другом измерении.
В-третьих, будет ли рост сложной системы столь же вероятным, как и уменьшение? Когда пьяница пересекает улицу, действительно ли его ведет влево с такой же вероятностью, как и вправо? Мне трудно судить об этом по своему опыту, но, если говорить об эволюции, шаг вправо более вероятен, чем шаг влево. Давайте подумаем вот о чем: откуда ученые узнали, что у морских звезд раньше был мозг? Или что раньше организм приматов мог синтезировать витамин C? Они узнали об этом, потому что следы этих признаков сохраняются в ДНК в виде псевдогенов. Функции утрачены, но код все еще доступен, хотя и находится в спящем состоянии. Но он может быть вновь активирован. Именно так в ходе эволюции некоторые виды «повторно» приобрели характеристики, которые ранее были утрачены. Просто происходит повторное включение генов, которые ранее были отключены! Поэтому утрата системой какой-либо функции не означает, что система стала менее сложной. Возможно, она даже усложнилась, поскольку добавилась новая функция отключения/включения определенных генов.