Explore
Also Available in:

Генетические алгоритмы – показывают ли они, что эволюция работает?


Перевод: Алексей Калько (creationist.in.ua)

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

Однако генетические алгоритмы не имитируют и не моделируют биологическую эволюцию, потому что в случае генетических алгоритмов:

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

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

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

  • Часто применяется идеальный отбор (коэффициент отбора, s = 1,0) то есть в каждом поколении только лучшее выживает и «размножается», производя следующее поколение. В настоящем мире реалистичными считаются коэффициенты отбора менее 0,01, и в этом случае потребуется много поколений, чтобы мутации, увеличившие количество информации, распространились по всей популяции. Другими словами, игнорируется стоимость замещения. Подробный разбор этого вопроса, полностью игнорируемого в генетических алгоритмах см. в книге Уолтера РеМайна «Биотическое сообщение» (The Biotic Message), обзор книги см. Популяционная генетика, дилемма Холдейна, и т.д.

  • Обратной стороной этого является то, что «используются» высокие темпы воспроизводства. Бактерии могут только удвоить своё число за поколение. Многие «высшие» организмы могут размножаться немного быстрее, но генетические алгоритмы обычно производят от 100 до 1000 «потомков» за поколение. Например, если из популяции в 1000 бактерий выживет только одна (999 погибнет), то потребуется 10 поколений, чтобы вернуться к прежнему размеру популяции (1000 бактерий).

  • Время поколения игнорируется. Поколение может пройти в компьютере за микросекунды, в то время как деление даже самой «быстрой» бактерии займёт около 20 минут. Многоклеточные организмы имеют гораздо более долгий период поколения.

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

  • «Геном» является неестественно маленьким и выполняет только одну задачу. Наименьший реальный геном состоит из более 0,5 млн пар оснований (и это – облигатный паразит, который зависит от своего хозяина, обеспечивающего его многими необходимыми субстратами), которые кодируют несколько сотен белков. Это эквивалентно более чем миллиону бит информации. Даже если генетический алгоритм может сгенерировать 1800 бит реальной информации, как в одном из наиболее часто рекламируемых примеров, это соответствует, возможно, одному небольшому ферменту – и это было достигнуто при совершенно нереалистичной частоте мутаций, временем жизни поколения, коэффициентами отбора, и т.д., и т.п. На самом деле, эти искусственно созданные условия больше похожи на то, как иммунная система организма развивает специфические антитела, в особенных условиях, совершенно иных, чем для любого целого организм. Более подробно это показал биофизик доктор Ли Спетнер, опровергая утверждения скептика.

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

  • В случае генетических алгоритмов нет проблем с неупрощаемой сложностью (см. книгу Майкла Бихи «Чёрный ящик Дарвина». Многие биологические признаки требуют присутствия многих различных компонентов, функционирующих вместе, чтобы признак вообще существовал (например, синтез белка, репликация ДНК, воспроизведение клетки, свёртывание крови, любой метаболический путь и т.д.).

  • Полигенность (когда признак определяется совместным действием более чем одного гена) и плейотропия (когда один ген может влиять на несколько различных признаков) игнорируются. Более того, игнорируются рецессивные гены (рецессивные гены не могут быть отобраны, если они не в паре, то есть гомозиготны), что во много раз увеличивает количество поколений, необходимых для того, чтобы получить новый признак, закреплённый в популяции. Проблема рецессивных генов приводит к одному из аспектов дилеммы Холдейна. Известный эволюционист Джон Холдейн показал, исходя из теорем популяционной генетики, что у организмов с половым размножением, низким репродуктивным уровнем и длительным временем поколения не было достаточно времени, чтобы эволюционировать. См. обзор анализа Уолтером РеМайном дилеммы Холдейна.

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

  • Исход в случае генетических алгоритмов является «предопределённым» («запланированным»). Эволюция по определению бесцельна, поэтому ни одна компьютерная программа, которая имеет заранее установленную цель, не может её имитировать – точка. Это наиболее очевидно в случае с программой Докинза под названием Weasel, в которой выбор каждой буквы последовательности определяется исключительно по её совпадению с заложенной изначально целевой последовательностью (см. статью ниже). То, что генетические алгоритмы не являются адекватным симулированием эволюции из-за этой фундаментальной проблемы, было признано – см. эту цитату от 2009 года. Возможно, если бы программист мог разработать программу, которая позволяла бы происходить любому случайному изменению, а затем измеряла живучесть «организмов», это было бы всё-таки ближе к тому, что должна делать эволюция! Но, конечно, это невозможно (как и сама эволюция).

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

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

Ещё один тип «моделирования» предложил антитеист Т.Д. Шнайдер.1 Шнайдер утверждает, что его программа имитирует натуралистическое образование на ДНК участков связывания для генетического регулирования. Некоторые эволюционисты уверены, что эта работа якобы доказывает, что креационисты ошибаются. Однако многие из проблем, изложенных выше, также относятся и к этому упражнению в программировании. Например, коэффициент отбора чрезвычайно высок, геном чрезвычайно мал, частота мутаций высока, возможность исчезновения не допускается, и т.д. Многие другие проблемы рассмотрены в критическом анализе доктором Роялом Труманом.

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

Ссылки и примечания

  1. Schneider, T.D., Evolution of biological information, Nucleic Acids Research 28(14):2794–2799, 2000 г. В этой статье Шнайдер признаёт влияние соратника-атеиста Ричарда Докинза. Назад к тексту.

Helpful Resources