Я решил заняться разбором статей Марка Пераха, посвященных критике концепции
неуменьшаемой сложности Бихи по многим причинам. Эти статьи довольно популярны в
рунете среди эволюционистов и атеистов, они как бы «закрывают вопросы»
поставленные Майклом Бихи в его книге «Черный ящик Дарвина» и ставятся на одну
полку с другими «символами» эволюционизма. Статьи написаны живым языком, Перах –
мастер парадоксов и софизмов, и поэтому многие люди, не замечая логических
натяжек, приходят к убеждению в ошибочности рассуждений Бихи. Не последнюю роль
в моем решении сыграла та легкость, с которой Марк Перах обвиняет в дилетантизме
своих оппонентов. Таким образом, я решил оформить мои замечания в виде отдельной
статьи, за что высказывался и сам Перах1. У меня, в отличие
от профессора Пераха, нет литературного таланта, и профессиональным математиком
я не являюсь (я биохимик), но я могу найти нестыковки в его аргументации и без
специальных математических символов (что так не любит Перах у математика
Дембски) доказать ошибочность его тезисов.
Хотя я сконцентрируюсь на труде Пераха, опубликованном на русском языке в
журнале «Континент», я буду обращаться также к двум другим его работам,
размещенным на сайте . Цель: рассмотреть аргументацию автора в
возможно большей полноте и обратить внимание на противоречия между отдельными
статьями. Вот их список:
МП1999 [1] – «Irreducible contradiction» («Неуменьшаемое противоречие», впервые
опубликована в Интернете в 1999 году, последний раз обновлялась в 2002 г.)
МП2001 [2] – «Разумный замысел или слепая случайность», переработанная/сокращенная версия
МП1999, опубликована в журнале «Континент» 2001, №7.
МП2002 [3] – «A Free Lunch in a Mousetrap» («Бесплатный ленч в мышеловке»)
В дальнейшем все цитаты по умолчанию будут относиться к МП2001.
Вкратце, главная логическая цепочка Пераха, приводящая к «опровержению» Бихи,
основана на посылках, совершенно не связанных с самой сутью идей Бихи. Перах
своеобразно понимает понятия «вероятность», «система», «сложность системы», «хаотичность»,
«упорядоченность» и, главное, «неуменьшаемая сложность системы».
Смысл этого ясного термина заменяется на совершенно другой, неясный и
противоречивый, связанный с алгоритмической вероятностью. Отталкиваясь от этого
понятия Перах использует неакдекватные аналогии и примеры, и, совершая
многочисленные логические натяжки, приходит к двум потрясающим выводам:
1. Если система неупрощаемо сложна, то она хаотична, и,
следовательно, не является результатом разумного замысла.
2. Если система избыточно сложна, то это… также свидетельствует
против разумного замысла!
В принципе, на перечислении этих двух ложных тезисов, из которых к тому же
следует, что почти любая система не может быть результатом разумного
замысла, можно было и закончить обзор, но моя задача – не только разобрать
тезисы Марка Пераха, но и подготовить основу для исследования самих идей Бихи. Я
прошу прощения у читателей за пространность изложения, но самым нетерпеливым я
предлагаю ознакомиться со сводной таблицей – выводами Пераха и моими краткими
комментариями: «Анти-Перах:
Заключение».
В последующих двух главках я вкратце излагаю суть позиций Бихи и Пераха
соответственно. Знакомство с первоисточниками желательно, но необязательно.
Затем я исследую понятия «вероятность», «система», «сложность системы», «неуменьшаемая сложность системы», попутно
разбирая аргументацию Пераха.
1. БИХИ
В своей книге «Черный ящик Дарвина. Биохимический вызов эволюционной теории»,
вышедшей в 1996 году [4], Майкл Бихи, профессор
биохимии, рассматривает на молекулярном уровне множество биологических систем
(жгутики и реснички бактерий, система регистрации фотонов в органе зрения,
система свертывания и др.). Книга предназначена для неспециалистов, ее цель –
показать чрезвычайную сложность этих систем и подвести читателя к осознанию того
факта, что такие сложные системы не могут эволюционировать за счет случайных
мутаций и естественного отбора.
Для обоснования этого тезиса Бихи вводит понятие «неуменьшаемой сложности
системы» (irreducible complexity). Система неуменьшаемо сложна, если удаление
любого из компонентов системы делает систему нефункционирующей. В этом случае
образование такой системы возможно только сразу, «в лоб», а становление путем
постепенного образования ее компонентов (сначала одного, потом второго, и т.д.),
невозможно, так как любое подмножество системы нефункционально и не отбирается
естественным отбором. Эволюционирование же системы из каких-то блоков, уже
существующих в организме, крайне маловероятно, так как требует синхронизации
многих случайных процессов (мутирования и изменения как рецепторов, так и их
лигандов, как ферментов, так и их субстратов/модуляторов, и т.п.), при этом
естественный отбор должен обеспечивать направленный отбор в сторону полноценной
функции будущей системы на всем пути превращений.
Признавая адекватность дарвиновской модели в объяснении «малой» эволюции
(адаптации существующих систем к изменяющимся условиям внешней среды путем
случайных мутаций и естественного отбора), Бихи утверждает, эта модель бессильна
объяснить «большую» эволюцию – образование новых структур, новых биохимических
систем2.
Вывод: система, которая не может образоваться случайно, и которую бессилен
создать естественный отбор, является результатом разумного замысла (intellectual
design). Бихи ничего не говорит о том, кто или что осуществляет этот замысел,
его цель: методом от противного подвести читателя лишь к этому, наиболее общему,
выводу.
2. ПЕРАХ
Марк Перах, профессор физики Калифорнийского университета, не отрицает
чрезвычайную сложность биохимических систем, продемонстрированную Бихи, но
оспаривает все, что связано с понятиями «вероятность» и «неуменьшаемая
сложность». Для начала он выступает против попыток использования ссылок на малую
или ничтожную вероятность процессов в качестве доказательств того, что эти
процессы невозможны. Окружающий нас мир сплошь состоит из невероятных событий,
считает Перах, поэтому, применяя логику Бихи, мы должны были бы сделать вывод:
то, что происходит, не может происходить, – что абсурдно.
Далее Перах укоряет Бихи за то, что тот не определил в своей книге понятий
«сложность» и «неуменьшаемая сложность», в результате чего использовал эти
понятия не по назначению. По Пераху, наиболее адекватно и точно «сложность»
выражается через алгоритмическую сложность Колмогорова-Хаитина (размер
минимальной программы, описывающей систему), а «неуменьшаемая сложность» системы
соответствует случаю, когда «размер минимальной программы» равен «размеру самой
системы».
Следующим шагом в рассуждениях Пераха является вывод о том, что если система
неуменьшаемо сложна, то она необходимо хаотична (как хаотичен и несжимаем
случайный шум), а хаотичная система не может быть продуктом разумного замысла! С
другой стороны, биологические системы никогда не бывают неупрощаемо сложны в
терминах алгоритмической сложности: «в самом деле, маленький желудь содержит всю
программу, определяющую рост гигантского дуба. Сложность структуры дуба
упрощаема до программы намного меньшего размера, заключенной в желуде».
И вообще, о разумном замысле свидетельствует не сложность решения, а
максимальная простота системы, выполняющей определенную функцию. Так
что утверждения Бихи нужно ставить с ног на голову.
Но и в обычном, интуитивном смысле сложности биологические системы упрощаемы.
– у них есть дополнительные дублирующие элементы, подсистемы аутокомпенсации.
Отсутствие таких «избыточных» компонентов делает систему очень уязвимой, что
заставляет сомневаться в разумности предполагаемого творца. Кроме того,
Перах приводит пример явной избыточной сложности, когда удаление
двух ключевых компонентов системы гемостаза
(свертывания-противосвертывания крови) практически не отражается на
функционировании системы. Избыточная сложность, по Пераху, также свидетельствует
против разумного замысла и за эволюционное становление систем методом проб и
ошибок.
3. ВЕРОЯТНОСТЬ
Свой критический разбор книги Бихи Марк Перах начинает с обвинения его в
«искаженном истолковании самого понятия вероятность» и неоправданной апелляции к
невероятно низким рассчитанным вероятностям отдельных эволюционных событий. «Неоспоримый факт состоит
в том, что события, чья рассчитанная вероятность
исчезающе мала, происходят повседневно», заключает Перах.
Поскольку вопрос с вероятностями лежит на периферии обсуждаемых вопросов, я
вынес его обсуждение в отдельную заметку [ссылка]. Здесь же я лишь
вкратце перечислю ошибочные тезисы М. Пераха.
1. Перах подводит читателя к выводу о том, что чем больше мы узнаем о каком-то событии, тем выше мы оценим вероятность его осуществления. На самом
деле, приближаясь к полной информации о конкретном событии, мы получаем
вероятности, приближающиеся либо к единице (событие достоверно), либо к нулю
(событие не происходит).
2. Для иллюстрации невероятных событий, проходящих постоянно, Перах
использует т.н. «схему случаев», когда имеются N равновероятных
элементарных событий (пример: бросание жребия), а также «схему Бернулли», когда осуществляется последовательность случайных событий, независящих друг от
друга (пример: бросание монетки 100 раз). Эволюционные же события – случайные
мутации ДНК и естественный отбор – описываются прямо противоположными
моделями: элементарные события имеют вероятности, отличающиеся друг от друга
на 1–10 порядков, а последовательность событий описывается моделью марковских
цепей, в которой каждое событие зависит от предыдущего состояния.
Таким образом, классический эволюционистский пример выпадении ста шестерок
подряд или Британской Энциклопедии из рассыпанных букв – не работает в
качестве модели или хотя бы аналогии эволюции.
3. Эти тезисы, защищаемые Перахом, противоречат его другим, не менее
ошибочным тезисам из области алгоритмической теории вероятности. Если в главе
«Бихи вычисляет вероятность» Перах утверждает, что любой
исход бросания ста костей (и, «аналогично», эволюционных случайных событий)
является равновероятным, то далее в статье, он «доказывает», что нерегулярные
последовательности типа «11625413» обязательно хаотичны, а
регулярные, типа «66666666», обязательно неслучайны!
Затем Марк Перах переходит к ключевому понятию книги Бихи – неуменьшаемой
сложности. «Мы обсудим все три элемента теории Бэхэ, а именно а) сложность, б)
неупрощаемость, и в) отнесение их к разумному замыслу», – пишет он.
4. «СИСТЕМА»
Профессор Перах критикует Бихи за отсутствие определений в его книге,
«претендующей на наукообразность», но сам начинает разбор терминов со «сложности
системы», оставляя базовое понятие «система» неопределенным. Но еще удивительнее
прочитать в МП2002 разгромную критику определений, данных Бихи и Дембски «(функциональным) системам с неуменьшаемой сложностью»! Они, дескать, не дают
определения исходным общим понятиям – «базовой функции» и «системе»!
Что есть «базовая функция»? Чем она отличается от «небазовой»? Более того,
что такое «система»? Как определить границы системы, отделив ее от всего, что
находится вне системы? ... Не существует общего согласия относительно точного
значения этих терминов.
Первая часть определения Бихи-Дембски была бы законной и осмысленной, если
бы концепции «системы» и «базовой функции» были бы определены заранее. В этом
заключается логическая ошибка: общая концепция не имеет общепринятого
определения, что делает определение бессмысленным».
Однако если мы распространим такую строгую критику на всю литературу по
теории эволюции, то в разряд «бессмысленных» попадут 99% произведений, и труды
Марка Пераха в первую очередь. Более того, в отличие от Бихи Перах, на мой
взгляд, имеет весьма нечеткое представление о том, что же такое «система», и чем
она отличается от «несистем»3.
На самом деле «общее согласие» относительно того, что такое «система» все же
существует! Обратимся к обзору автора общей теории систем (ОТС), Ю.А. Урманцева
[5]
«Из 34 рассматриваемых В. Н. Садовским и далее анализируемых А. И.
Уемовым определений системы вообще 27 из них (т. е. подавляющее большинство)
фактически совпадают с представлением о системе как особом «единстве», «целостности»,
«целостном единстве«. Таковы определения Л. Берталанфи, К.
Черри, Дж. Клира, А. Раппопорта, В. И. Вернадского, О. Ланге, П. К. Анохина,
Л. А. Блюменфельда, И. В. Блауберга, В. Н. Садовского и Э. Г. Юдина».
Вообще, слово «система» (от греч. sy-, syn- «вместе» и ste- «стоять») используется в русском языке как для обозначения любого множества объектов
(напр., «система из солнца, компьютера и яблока»), так и совокупности
взаимодействующих объектов, обладающих определенной целостностью. Второе
определение ближе к интуитивному пониманию системы, но оно заменяет одно понятие («система») другим («целостность»).
Так какое же определение взять за основу? Может быть, начать и ограничиться
наиболее обобщенным определением Урманцева?
Объект-система (OS) – это композиция, или единство, построенное по
отношениям r множества {Ros} и ограничивающим эти
отношения условиям z множества {Zos} из «первичных» элементов m множества
{Мos(0)}, выделенного по основаниям а
множества {Aos(0)} из универсума
{U}.
Однако это определение не устроит нас по двум причинам. Во-первых, если бы Бихи или Дембски использовали его в своих работах, то они неизбежно попали бы
под огонь критики Пераха в связи с избыточным использованием математической
символики4.
Но главное в том, что это определение слишком общо, и поэтому в вопросах
эволюции сложных систем способно дать лишь наиболее общие, тривиальные
утверждения5.
Наиболее узки и конкретны те определения, которые определяют понятие
целостности как «наличие интегративного / эмерджентного
свойства системы, отсутствующего у компонентов системы и не являющегося
суммой или средним свойств компонентов». Например, у системы «жгутик бактерий» есть интегративное свойство
– функция передвижения клетки в пространстве. Ни
один из белков – компонентов жгутика – этим свойством не обладает. Данное выше
определение – первое приближение, которое мы будем в дальнейшем уточнять. Первым
делом сузим «интегративное свойство» до «интегративной функции» – и придем к
функциональным системам П.К. Анохина (который, правда, говорил о «цели» системы, а не функции). Необходимо подчеркнуть, функциональные системы
– являются также и системами в смысле ОТС Урманцева, с особенным условием R
– «выполнение системой интегративной функции», так что на них распространяются все
общие выводы ОТС(У)6.
Почему я начал с самого фундамента? Потому что через слишком общие понятия
как сквозь сито проходят, не улавливаясь, происходящие в живых системах явления.
Этот метод – расширения понятий – активно используется в эволюционной
схоластике, и «система» не исключение. Действительно, если жизнь – это «саморегуляция», эволюция
– это
«изменение во времени», информация – «сумма
логарифмов частот символов», «устраненная неопределенность» и т.д., то все на
свете живое, все в мире эволюционирует, любой объект содержит и передает
информацию, ну и в нашем случае любые «системы» способны спонтанно возникнуть,
тем более, что «система» как синоним «множества» является голой абстракцией,
игрой ума.
Что делать, если кто-нибудь не согласится с тем смыслом, который я, вслед за
большинством «системщиков», вкладываю в понятие «система»? Очень просто:
необходимо заменить по всему тексту слово «система» на любое другое
неиспользуемое, например, на «ИС-система» («система с интегративным свойством»).
Точно так же, избегая битв за «свое» понимание терминов, нужно разбираться с
другими понятиями («живые системы», «макроэволюция», «информация» и т.д.).
В качестве еще одного важного понятия, которое мы зачастую неосознанно
используем, хотел бы привести понятие «класс систем». Все мы, делая общие
заключения о млекопитающих, людях, автомобилях, рассматриваем наиболее общую
абстракцию для множества различных млекопитающих, компьютерах, и т.д., мы не
наделяем класс млекопитающих рогами, класс людей – лысинами или шрамами на
виске, класс автомобилей – мигалками или вмятинами от столкновений, т.е., теми
компонентами или свойствами, которые присутствуют только у отдельных подклассов
или индивидуальных объектов. Перах же в доброй половине своих примеров
сравнивает абстрактные математические объекты (символьные строки) или идеальные
физические (металлический шар с идеальными формой и микроструктурой) с реальными
конкретными системами – деревьями, горными хребтами и т.д. В результате
получаются абсурдные выводы, которые, тем не менее, его устраивают.
К понятиям «система» и «класс систем» мы будем неоднократно возвращаться при
рассмотрении сложности системы и ее «неупрощаемой сложности».
5. СЛОЖНОСТЬ СИСТЕМЫ
М. Перах пишет:
«К сожалению, сам Бэхэ не предлагает четко сформулированного
определения сложности». И далее приводит определение сложности...
задачи у Дембского, философа и математика, приверженца идеи
разумного замысла! Внеся путаницу в вопрос сложности (объединяя сложность
системы со сложностью задачи), Перах затем разбирает созданный им самим завал,
признавая, что «на самом деле мы имеем дело с двумя различными понятиями
сложности,.. сложность, подразумеваемая Бэхэ, состоит в структуре биохимической
системы. Она определяется количеством компонентов системы и количеством связей и
взаимодействий между этими компонентами. Указанные два понятия сложности
существенно различны».
Не указав, согласен ли он с этим пониманием сложности, и не предложив ничего
взамен, Перах в четырех последующих главах обсуждает вопросы, так или иначе со
сложностью связанные: (не)эквивалентность сложности и вероятности, отделение
случайности от разумного замысла и т.д. Мне придется предложить читателю самому
решить многочисленные занимательные парадоксы и софизмы, придуманные Марком
Перахом в этих главах7.
Ну, а мы перейдем к тому, что же предлагает Перах в качестве определения
сложности. К этому вопросу Перах приступает лишь в седьмой главе, когда позади
уже больше половины статьи. Перах использует концепцию алгоритмической сложности
Колмогорова-Хаитина: алгоритм тем сложнее, чем больше размер кодирующей его
программы, и его сложность можно измерить по размеру минимальной программы,
кодирующей этот алгоритм. В МП1999 Перах признает, что минимальный размер
программы можно определить лишь с точностью до «fudge-factor», но прибавляет,
что «это не важно». Для нас же это важно, так как говорит о том, что «алгоритмическая сложность»
– это не средство абсолютного измерения сложности, а
способ сравнения сложности нескольких алгоритмов «с точностью до константы».
Если мы обобщим понятие алгоритма до любых символьных строк, то
алгоритмическая сложность строки будет равна минимальному размеру программы,
кодирующей данную строку. Например, строку «АБАБАБАБАБАБАБАБАБАБ» можно записать
сокращенно «АБ{10}», используя язык регулярных выражений, а строку «ВСЕМ СРОЧНО ПОКИНУТЬ КАФЕ!» сжать не удастся, и, таким образом, ее
«алгоритмическая сложность» будет равна исходной длине строки8.
Если мы обратимся к справочным материалам, то, например, в энциклопедии по
теории вероятности [6, стр. 13], мы прочитаем такое определение алгоритмической сложности:
«Алгоритмическая энтропия (Kolmogorov complexity
entropy), энтропия конечных объектов, сложность конечных объектов, введенная
Колмогоровым мера количества информации, необходимого для описания данного
объекта. Способом описания называется вычисляемое
(некоторым алгоритмом) частичное отображение множества двоичных слов в себя.
Сложностью KG(x) слова x относительно способа описания
G называется длина самого короткого из тех слов p, для которых
G(p)=x. Существует оптимальный способ описания F, при
котором KF(x) = KG(x)+O(1) для любых
G. Сложность слова относительно оптимального способа описания,
определенная с точностью до ограниченного слагаемого, называется
алгоритмической энтропией слова и обозначается K(x). А.э. –
невычисляемая функция. Не существует способа эффективного нахождения
алгоритмической энтропии слов, для которых А.э. больше заданной».
Из этого определения следуют два важных вывода, касающихся ограничений
алгоритмической сложности :
1. Она не определена на объектах, несводимых к дискретным объектам типа
двоичных/символьных строк.
2. Алгоритмическая сложность – невычисляемая мера, мы знаем ее верхний предел
(исходная длина строки), можем найти какое-то приближение к ней, используя
определенные способы описания или алгоритмы, но сам минимум в целом
неизвестен.
Однако Перах игнорирует эти ограничения алгоритмической сложности. От
алгоритмов и символьных строк Перах переходит к системам, и здесь начинаются проблемы.
«Сложность системы определяется в АТВ [алгоритмической теории
вероятности] как минимальный размер программы (или алгоритма),
способный9 представить систему в бинарном коде».
«Чем система сложнее, тем больше минимальный возможный размер
программы (алгоритма), представляющей систему в бинарном коде».
Заменив «двоичные строки» на «системы» Перах, видимо, считает, что
представление любой реальной, физической системы в двоичном коде – это
тривиальная операция. Ну, а чтобы найти минимальный размер этого кода нужно
только самую малость поднапрячься.
Представим, что у нас есть чудо-сканер, способный мгновенно просканировать
любой объект и записать информацию о всех его компонентах10. Тогда что
будет представлять из себя, скажем, описание медведя в двоичном
коде, используя следующий способ описания: для каждой молекулы
сохраняется ее тип, положение в пространстве, параметры движения и вращения.
В результате мы получим двоичный код размером порядка 1030 байт,
то есть миллиард миллиардов терабайт. Совершенно очевидно, что эта запись не
будет сжиматься архиваторами типа WinZip, т.е. ее «сложность» будет
приблизительно равна тем же самым 1030 байт. Много это или мало? Не
знаю. Ведь триста килограммов грязи после описания нашим чудо-сканером, будут
иметь приблизительно ту же (если не большую) алгоритмическую сложность, что и
медведь!
Конечно, мне ответят, что значительную часть этих данных можно отбросить, но
ведь этот процесс лежит в зоне системного анализа и
моделирования, вне сферы действия алгоритмической теории вероятности:
мы сначала анализируем систему, затем решаем, какие элементы, связи и
параметры учитывать, а какие нет, а затем уже вычисляем сложность полученной модели!
Чтобы доказать, что я не одинок в своем скепсисе относительно полезности
концепции алгоритмической сложности в нашем случае, сошлюсь на нобелевского
лауреата Илью Пригожина.
6. ПРИГОЖИН ОБ АЛГОРИТМИЧЕСКОЙ СЛОЖНОСТИ
Николис и Пригожин написали целый труд [7], посвященный проблеме
сложности систем. Вот что они пишут (стр.10–12):
«Сложность представляет собой понятие, принадлежащее нашему каждодневному
словарю. С детства мы пользовались этим словом в самых разнообразных
контекстах, хотя всегда существовало инстинктивное ощущение, что сложность
представляет собой нечто, относящееся к разнообразным проявлениям жизни. Таким
образом, для большинства из нас явления, рассматриваемые в руководствах по
физике, типа свободного падения тела под действием силы тяжести или колебания
маятника являются в своей основе «простыми». Напротив, мы все готовы
доказывать, что наша экономическая система, язык, на котором мы разговариваем,
мозг млекопитающих или даже простейшая из бактерий являются «сложными
системами».
А что мы можем сказать об 1 см3 газа или жидкости, скажем, воды?
Как и в предыдущих примерах, здесь мы имеем дела с системами, в которых
содержится огромное число взаимодействующих элементов – молекул. Огромность
этого числа не поддается воображению. Из элементарной физической химии
известно, что при давлении 760 мм рт.ст. и температуре 0°С в одном
моле любого газа содержится количество молекул, равное числу Авогадро (6,023 × 1023).
Это означает, что в 1 см3 скопилось около
1019, или 10 миллиардов миллиардов молекул, движущихся во
всевозможных направлениях и непрерывно сталкивающихся друг с другом.
Достаточно ли этого, чтобы считать такую систему «сложной»? Несмотря на
вышеупомянутые впечатляющие числа, интуиция все-таки подсказывает
отрицательный ответ на этот вопрос, поскольку здесь нет каких-либо
координированных активности, формы или динамики. По существу такая система
выглядит как прототип неупорядоченного, неправильного движения, которое физики
часто называют молекулярным хаосом, – при этом молекулы движутся
несогласованно, поскольку они не распознают друг друга на расстояниях,
превышающих несколько ангстрем, т.е. несколько стомиллионных сантиметра. В
свою очередь этот факт следует отнести на счет основного свойства
межмолекулярных сил взаимодействия в данной и многих других встречающихся в
природе явлений, а именно короткодействующего характера сил.
Представим теперь, что мы поместили 1 см3 воды в условия,
характерные для зимней погоды во время снегопада. Тогда могла бы получиться
великолепная снежинка с ее характерной дендритной формой. Теперь, созерцая это
созданное природой неповторимое произведение искусства, мы смогли бы
поговорить о сложности. Мы видим, что одна и та же система в разных условиях
может выглядеть совершенно по-разному, что поочередно вызывает у нас
впечатление «простоты» и «сложности».
Из этого примера следует важный урок: естественнее или по меньшей мере
менее двусмысленно говорить о сложном поведении, нежели о сложных
системах. Можно надеяться, что изучение такого поведения позволит установить
то общее, что имеется между различными классами систем, и даст нам лучшее
понимание сложного».
...Рассмотрев далее несколько примеров синергетических систем (ячейки Бенара,
реакции Жаботинского), авторы обращаются к концепции алгоритмической сложности
(с. 37):
«Равносильна ли … алгоритмическая сложность сложности, наблюдаемой в
физических науках и биологии? … Большинство случайных последовательностей
будет несжимаемыми. В соответствии с определением это означает максимальную
алгоритмическую сложность, по существу равную длине последовательности N…
Такой тип сложности реализуется в типичном эксперименте по подбрасыванию
монеты, разумеется, при условии соблюдения должных мер предосторожностей по
устранению возможных корреляций между последовательным подбрасыванием, т.е.
при условии «честной» игры.
Все это пока еще далеко от интуитивного представления, вытекающего из
экспериментальных результатов разд. 1.3 и 1.4, где была показана связь
сложного с крупномасштабной когерентностью и согласованным поведением. В самом
деле, полная упорядоченность в виде полного отсутствия изменчивости
представляет собой предельный случай когерентности, когда поведение объекта
настолько примитивно, что едва ли можно говорить о сложном. С другой стороны,
сильная изменчивость, представляемая случайным шумом, и сопутствующее такой
изменчивости отсутствие корреляций является другой, столь же
непредставительной формой организации. Сложность реальных
физико-химических систем должна находиться где-то между этими двумя
пределами и, следовательно, не должна полностью отождествляться с
алгоритмической сложностью».
...Итак, мы видим, что Пригожин не видит в алгоритмической сложности пути к
решению проблемы сложных систем. Он движется в правильном направлении:
исследование поведения системы (что в значительной степени
совпадает с ее интегративным свойством) даст больше, чем полная опись всех
объектов, находящихся в ее объеме. Дополню его точку зрения мнением
отечественных физиков, Ю.И. Алимова и Ю.А. Кравцова [8]:
«Во-первых, эта концепция [алгоритмической сложности Колмогорова] имеет
дело с пределом и требует осуществления бесконечно удлиняющихся тестов на
выявление сначала простых, а потом все более и более сложных алгоритмов.
<…> Ясно, что такая операция тестирования на все мыслимые и немыслимые
алгоритмы практически неосуществима, тогда как сама концепция алгоритмической
сложности принципиально требует перехода к пределу.
<…>[второе замечание авторов будет рассмотрено ниже. – К.В.]
В-третьих, имеется едва ли преодолимая трудность, связанная с наличием
шумов при измерениях. При физических измерениях, как правило, производится
фильтрация (дискриминация) шумов, иначе объектом измерения будут шумы, а не
исследуемый процесс. При алгоритмическом подходе, если его приложить к
измерениям, различие между шумом и измеряемым процессом не производится, во
всяком случае, нам такие попытки не известны. В итоге даже при относительно
простом алгоритме самого исследуемого процесса смесь «сигнал + шум»
приобретает сложность шума.
Таким образом, логика физического эксперимента в существенном едва
ли совместима с концепцией алгоритмической сложности».
7. ХАИТИН ОБ АЛГОРИТМИЧЕСКОЙ СЛОЖНОСТИ
Пытаясь выяснить истину в отношении «алгоритмической сложности систем», я
написал свои соображения и сомнения одному из основателей АТВ, Грегори Хаитину.
Вот его ответ (оригинал на английском языке можно прочитать здесь )
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From: Gregory J Chaitin
<chaitin@xx.xx.xxx> To: Wablenica <wablenica@mail.ru> Date:
Tuesday, December 16, 2003, 11:35:15 PM Subject: Algorithmic complexity in
biological systems? Files:
message.htm --====----====----====----====----====----
«Я не хочу детально анализировать Ваш e-mail; это потребует слишком много
времени. Тем не менее, я бы скорее согласился с общей посылкой Вашего письма,
заключающейся в том, что в областях, в которых Вы заинтересованы,
алгоритмическая сложность («program-size») – концепция бесполезная.
Действительно, я полагаю, что алгоритмическая сложность («program-size
complexity») очень ценна в связи с теоремой Гёделя о неполноте, в границах
формальных математических теорий и родственных эпистемологических вопросов. И,
как я всегда говорю, моя теория совершенно непрактична: действительно, самый
главный результат теории заключается в том, чтобы показать, что она полностью
непрактична, потому что мы никогда не можем вычислить алгоритмическую
сложность индивидуального объекта, и это доказывает, что существуют серьезные
ограничения у познавательных возможностей математики.
Так что суммируя, я согласен с Вами не во всех деталях, но конечно в Вашем
общем заключении о том, что моя теория не полезна в областях, в которых Вы
работаете. Тем не менее, моя теория никогда не была направлена на практическую
полезность. Ее цели, по крайней мере, в направлении, в котором я ее развивал,
всегда были предельно теоретическими и философскими, а не практическими.
Позвольте мне оставить
Вас с одной мыслью относительно уровня абстракции
моей теории. Моя точка зрения на самом деле не такая уж небиологическая,
потому что основная мысль биологии заключается в том, что ДНК – это
программное обеспечение для построения и «прогонки» организма. Моя теория
абстрагирует вот что: ДНК становится компьютерной программой, и организм
моделируется на выходе программы, т.е. на том, что она вычисляет. Затем моя
мера сложности, размер программы в битах, это то же самое, что и миллионы
оснований ДНК, использующиеся как мера сложности ДНК. Конечно, Вы скажите мне,
что у ДНК есть 9 месяцев (у людей), чтобы построить организм, и что ДНК
чрезвычайно избыточна, например, потому что некоторые гены повторяются. Да,
да, я согласен: моя теоретическая модель – игрушечная модель, упрощенная
ситуация, без всех усложнений реального мира.
Так что забудьте о моей теории, пожалуйста! С наилучшими
пожеланиями,
GJC».
8. СЛОЖНОСТЬ МОДЕЛЕЙ
Все же, если мы не хотим просто забраковать концепцию «алгоритмической
сложности систем», мы должны ее значительно модифицировать. Во-первых, вместо
самих систем мы будем строить и исследовать их модели, а
во-вторых, вместо невычисляемой алгоритмической сложности мы будем искать
достаточно компактные способы описания этих моделей, оценивая
«сложность относительно данного способа описания». Подчеркну также, что когда мы
переходим от описания индивидуальных объектов к описанию класса
объектов, то это всегда связано с моделированием!
Возьмем объект попроще, чем медведь – систему свертывания крови. Допустим,
эта система состоит из 12 компонентов – белков, факторов свертывания (вопрос, из
скольких компонентов действительно состоит система свертывания, мы будем решать
позже). Обозначим факторы свертывания на бумаге в виде «вершин», а
взаимодействия между ними – в виде «дуг», стрелок. Мы получим графическое
изображение математического объекта – ориентированного графа с
p вершинами и q дугами.
Каково наиболее компактное кодирование графа?
Сокращу промежуточные рассуждения. Мы придем к выводу о том, что, если
рассматривать факторы свертывания в качестве простых, элементарных объектов, то
для кодирования графа достаточно только списка q дуг (или кодирующих их
пар вершин), т.е. сложность модели будет равна O(q). Эта запись
читается «одного порядка с q», т.е., в зависимости от конкретной
системы, это может быть, например, 2q ячеек памяти: каждая дуга
описывается номером исходящей и входящей вершины (компактность записи будет
варьировать в зависимости от системы в диапазоне между O(3q) и
O(q*), где q* – количество различных связей).
Если же рассматривать и сами факторы свертывания как сложные подсистемы (а
это так и есть), то тогда мы сконцентрируемся на способах описания модели,
имеющих сложность порядка
O(p1+p2+…+q1+q2+…), где
pi и qi – число (различных) компонентов и взаимодействий
на i-м подуровне иерархии системы. Важный вывод из этого способа записи
заключается в том, что общая сложность системы складывается из
сложностей на всех уровнях детализации. Пример: сложная биомолекула состоит из
ста атомов, относящихся всего лишь к пяти элементам: C, H, N, O и S. Допустим,
сложность самой молекулы описывается 1000 байтами, а сложность каждого из пяти
элементов – 100 байтами. Тогда суммарная сложность системы будет равна не 1000
* 100 = ста тысячам байт, а всего лишь 1000 + 5*100 = 1500 байт!
Развивая этот вывод мы можем отметить, что при сравнении двух биологических
или технических систем, имеющих общую «элементную базу», нам не важно, до какого
уровня мы будем спускаться в оценке их сложности – до уровня аминокислотных
остатков (транзисторов), атомов или кварков: ведь сложность всех моделей будут
включать (или не включать) сложности на уровне атомов (кварков, и т.д.) в виде
постоянных слагаемых, которые не влияют на результаты сравнения!
Таким образом, в первом приближении сложность модели системы пропорциональна
количеству элементов и взаимодействий внутри системы. Но ведь, как признает
Перах, «сложность, подразумеваемая Бэхэ, … определяется количеством компонентов
системы и количеством связей и взаимодействий между этими компонентами»! Мы
видим, что на этом этапе нашего исследования сложность по Бихи в значительной
мере совпадает с нашим приближением к АТВ-сложности. Замечает ли это Перах? Нет,
ведь он совершенно не рассматривает АТВ-сложность с практической точки зрения.
Он отмечает лишь то, что «легко видеть, что определение сложности в АТВ
существенно отличается от предложенного Дембским». Странное замечание, если
учесть, что выше автор признает, что сложность задачи Дембски не имеет никакого
отношения к рассматриваемому вопросу11.
Прежде чем перейти к вопросу о неуменьшаемо сложных системах, мы должны
рассмотреть еще один важный вопрос из АТВ, на котором спотыкается Перах:
проблему «хаотичности» и «упорядоченности» систем.
9. СЛОЖНЫЕ СИСТЕМЫ: ПОРЯДОК ИЛИ ХАОС?
Профессор Перах очень увлекся предложением Колмогорова называть те строки, у
которых сложность приблизительно равна длине строки, случайными. Он развивает
этот тезис, доводя его до полного абсурда. Перед тем как процитировать его
рассуждения, завершу цитирование мнения физиков Ю.И. Алимова, Ю.А. Кравцова
[8]:
«Во-вторых, концепция случайности как алгоритмической сложности
противоречит тому взгляду на природу явлений, который развивает физика.
Естествоиспытателю трудно признать последовательность (процесс) случайной,
если ее алгоритм известен, хотя и сложен».
А вот что утверждает Перах:
Вообразим следующую последовательность:
001101100001011001111010011110100001..... и т.д.
Подобная последовательность может быть получена, например, многократным
подбрасыванием монеты, записывая 0 каждый раз, когда выпадает орел, и 1, когда
выпадает решка.
Рассматривая эту последовательность, мы не обнаруживаем в ней никакой
упорядоченности. Эта последовательность отвечает интуитивному представлению о
хаотическом наборе чисел. Как можно запрограммировать компьютер, чтобы он
воспроизвел такую неупорядоченную последовательность чисел? Поскольку мы не
видим никакого правила, которое бы позволило определить, какая цифра, 0 или 1,
следует за любой уже известной цифрой, для воспроизведения этой цепочки цифр
мы должны ввести в компьютер всю эту последовательность целиком. Иначе говоря,
размер программы, воспроизводящей хаотическую, неупорядоченную
последовательность, должен быть равен размеру самой последовательности. (Мы
можем также обсуждать этот вопрос, используя вместо термина программа более
общий термин алгоритм).
Итак, хаотическая последовательность не может быть закодирована с помощью
программы уменьшенного размера. С другой стороны, упорядоченная
последовательность может быть закодирована (по крайней мере, в принципе) с
помощью программы (алгоритма) более короткой, чем сама последовательность.
Следовательно, упорядоченная последовательность упрощаема».
Я утверждаю, что интуиция подводит здесь автора. «На глазок» никто
упорядоченность не оценивает.
Строка 9.1: «члпъхвлтлплсквцъ», например, вполне упорядочена
– в контексте одного из языков народов мира. Профессор Перах смешивает три пары категорий:
1. Нерегулярность – регулярность.
2. Неупорядоченность – упорядоченность, и
3. Хаотичность/случайность – закономерность (и, в качестве третьего варианта, искусственность / результат разумного замысла)
Рассмотрим подробнее приведенные выше категории.
1. (Не)регулярность
Строку можно закодировать более коротким способом, если в ней есть
регулярности, повторы. Именно их ищут алгоритмы сжатия типа
LZW. Однако строки могут быть (не)хаотичными, (не)упорядоченными и
(не)регулярными в любых комбинациях! Приведу несколько
примеров:
9.2. «John eats bread» – строка нехаотична, упорядочена и в
то же время нерегулярна, несжимаема.
9.3. «Полили ли лилии?» – строка неслучайна, упорядочена,
имеет повторы.
9.5. «авававававафывывыфвыафвы» – строка скорее всего
хаотична, имеет регулярности (повторы).
2. (Не)упорядоченность
Во-первых, строго говоря, все строки упорядочены по определению.
Неупорядоченными являются элементы множеств («sets», «bags»). Далее, строка
может быть упорядочена без явных регулярностей. Так, строка 9.2 упорядочена
многочисленными правилами грамматики английского языка – начиная от фонетики и
орфографии и кончая синтаксисом. Мы не можем поменять порядок любых букв в
предложении, мы не можем поменять порядок слов (ср. bread eats
John). В то же время строка 9.3 является как упорядоченной, так и
содержащей повторы.
Генетические тексты также упорядочены в соответствии с генетическим кодом, и
последовательностями, кодирующие начало и конец трансляции, сплайсинга,
транскрипции. При этом они также могут содержать (или не содержать) повторы.
Обобщая эти примеры, можно сказать, что если вопрос регулярности решается
непосредственным анализом строки, то вопрос упорядоченности не решаем без знания
о свойствах информационной системы, в контексте которой рассматривается данный
текст.
3.
Хаотичность/случайность
О том, что строка хаотична, мы можем сказать лишь если знаем, что она
появилась в результате случайного процесса. Таким образом, хаотичность строки
следует из ее происхождения, а не структуры! Мы можем лишь
утверждать, что большинство случайных строк нерегулярны, но это утверждение
носит вероятностный характер. Поразительно: в главе «Бихи вычисляет вероятности»
Перах с жаром укоряет креационистов за их чрезмерное упование на теорию
вероятности: событие-де не может произойти случайно, так как вероятность его
чрезвычайно низка. – Может!, – утверждает Перах, – и вероятность случайного
выпадения ста шестерок подряд при подбрасывании костей такая же, как и
вероятность любого другого исхода!
...И вот теперь вектор убежденности меняется на противоположный: строка
«ъъъъъъъъъ…» – не случайна, так как она может компактно кодироваться, а вот
строки типа «В начале сотворил Бог небо и землю» – обязательно
хаотичны!
Эти утверждения абсурдны при любом рассмотрении. Во-первых, получается, что
осмысленный текст на русском или английском языке признается хаотичным в
зависимости от наличия или отсутствия повторов (ср. 9.2 и 9.3). Во-вторых,
записав «хаотичный» текст в формате с избыточным кодированием, например
Unicode-16, мы получим «двоичную последовательность», легко сжимаемую в два
раза, и, следовательно, «не хаотичную». Наконец, сжав «упорядоченный» текст с
помощью WinZip, мы получим «случайный» несжимаемый архив!
Пример, до чего могут довести такие игры с «хаотичностью», мы видим в книге
Дэна Гасфилда «Строки, деревья и последовательности в алгоритмах» [9, стр.212–213]:
КОД МИНИМАЛЬНОЙ ДЛИНЫ ДЛЯ ДНК
Недавно несколько исследовательских групп в области молекулярной биологии и
информатики использовали метод Зива-Лемпеля для сжатия строк ДНК не в целях их
эффективного хранения, а в целях вычисления меры «сложности» или
«информационного содержания» строк. Не определяя полностью основные
технические термины «сложность», «информация», «энтропия» и т.п., мы отметим
основную идею: подстроки наибольшей биологической значимости должны
быть более сжимаемы, чем подстроки, которые в основном случайны
[здесь и далее выделение мое. – К.В.]. Можно ожидать, что случайные строки
будут иметь слишком мало структур, чтобы допустить сильное сжатие, так как
сильное сжатие основано на нахождении в строке повторяющихся элементов. Таким
образом, поиском подстрок, которые сжимаются лучше, чем случайные строки,
можно найти строки, которые несут определенные биологические функции.
(С другой стороны, наиболее часто повторяющиеся ДНК встречаются вне
экзонов)
[кодирующих участков ДНК. – К.В.]…
Другое биологичесое использование
алгоритмов типа Зива-Лемпеля оценивало «энтропию» коротких строк для того, чтобы установить различие между экзонами и
интронами
[некодирующими участками генов. – К.В.] в эукариотических ДНК.
Согласно Фараху и др., нет существенных различий в среднем сжатии
интронов и экзонов, и следовательно, по сжатию их друг от друга не
отличить. Однако эти авторы сообщают также о следующем обобщении подхода,
которое делает различение экзонов от интронов эффективным.
Главный эмпирический результат работа Фараха и др. заключается в том, что
экзон-среднее ZL меньше, чем интрон-среднее, на статистически значимую
величину. Этот результат противоречит высказанному выше ожиданию, что
биологически существенные подстроки (в данном случае экзоны) должны быть более
сжимаемы, чем более случайные подстроки (каковыми принято считать интроны).
Следовательно, вопрос о полной биологической значимости сжимаемости
строк остается открытым».
...Итак, мы видим, что в генетических текстах ситуация противоположна той,
которую предсказывает Перах: «ДНК-мусор» (короткие и длинные повторы с
неизвестной функцией, занимающие не менее половины всего человеческого генома)
очень хорошо сжимается, некодирующие участки генов – плохо, а кодирующие – так
же или еще хуже. Остается только ожидать, что вектор убежденности у Пераха еще
раз повернется на 180 градусов, и он воскликнет: «Вот видите, а я как раз
доказываю, что биологические системы произошли в результате случайных
процессов!».
Справедливости ради следует признать, что развитие идеи тождественности
несжимаемости строк и их случайности (хаотичности) не является заслугой одного
Марка Пераха. Профессор прислал мне цитаты Грегори Хаитина из его работы по АТВ «Randomness and Mathematical Proof»
(From Complexity to Life, ed. N.H. Gregersen, Oxford University Press, 2003):
Стр 21: «.... зародышем нового определения является случайность. Оно
строится на том наблюдении, что информация, заключенная в случайной
последовательности чисел не может быть «сжата» или уменьшена до более
компактной формы».
Стр. 22: «несжимаемость – это свойство всех случайных чисел».
Стр. 24: «любая минимальная программа необходимо случайна, независимо от
того, случайна ли последовательность, которая генерирует эту программу».
...Однако от этого мои тезисы относительно понятий «регулярность»,
«упорядоченность» и «случайность» никак не меняются. Единственно, что можно
сказать «в оправдание» Хаитина, так это то, что он сам признает, что его теория
непрактична и абстрактна. Вероятность содержать повторы и сжиматься для истинно
случайных строк стремится к нулю при приближении длин строк к бесконечности, но
достаточно короткие квазислучайные строки, а тем более тексты, содержащие
неслучайную информацию (например, наша речь), могут сжиматься, а могут и не
сжиматься, оставаясь при этом неслучайными.
10. «ЧТО ОЗНАЧАЕТ НЕУПРОЩАЕМОСТЬ?»
Главка с этим названием у М. Пераха – содержит основной стержень критики
концепции неуменьшаемой сложности Бихи (irreducible complexity, IC). К
сожалению, эта часть является одновременно и средоточием его главных логических
и фактических натяжек. Начать следует с определения. Перах сетует на
неопределенность термина у Бихи:
(1а) «Вводя концепцию неупрощаемой сложности, Бэхэ не дал определения этого
понятия, ограничившись описанием ряда систем, которые, по его мнению, неупрощаемо сложны. Отсутствие определения означает отсутствие критерия,
позволяющего установить, является ли система действительно неупрощаемо
сложной, или только кажется таковой.
Давайте попробуем заполнить лакуну в работе Бэхэ, обсудив определение неупрощаемой сложности»/
Тем не менее, в самом начале своей статьи Перах сам объясняет термин «неупрощаемая сложность»:
(2) «Чтобы проложить путь к утверждению о разумном замысле,
ответственном за возникновение биохимических машин, Бэхэ, как уже сказано,
утверждает, что их сложность неупрощаема. Этот термин означает, что удаление
хотя бы одного белка из сложной цепи взаимодействий между ними остановит
деятельность всей «машины». Например, отсутствие хотя бы одного из десятков
белков, участвующих в механизме сворачивания крови, приведет либо к
невозможности сворачивания, так что организм истечет кровью, либо, наоборот, к
полному сворачиванию всей крови в организме, и, следовательно, также к смерти».
Однако в действительности Бихи дает определение неупрощаемой
сложности в своей книге, вот оно (стр. 39):
(3) «Под неупрощаемо сложной я подразумеваю отдельную (single)
систему, состоящую из нескольких хорошо подогнанных друг ко другу
(well-matched), взаимодействующих частей, которые вносят свой вклад в базовую
функцию, причем удаление любой из частей эффективно вызывает прекращение
функционирования системы».
Странно видеть, как Перах сначала описывает концепцию, приближаясь к
определению Бихи, а затем отказывает Бихи в определении! Еще более странно было
увидеть в обновленной английской версии (МП1999) следующий параграф вместо
(1а):
(1б) «Бихи определяет неуменьшаемую сложность как тесную
взаимозависимость компонентов системы, такую что удаление даже одного из ее
частей делает систему нерабочей. Тем не менее, он, похоже, не предлагает
критерия, который давал бы возможность определить, действительно ли
удовлетворяет рассматриваемая система этому определению. Его определение
абстрактно, не дает никаких объяснений тому, как именно показать то, что
удаление части системы действительно нарушит ее функцию. Более того, он не
привел доказательств того, что системы, которые он рассматривал, действительно
неупрощаемо сложны в этом смысле».
Я предположил, что Перах нашел-таки определение IC у Бихи, и заменил абзац
1а) на 1б). Еще до публикации моей статьи я привел этот факт в