Лем Станислав

Генетические алгоритмы

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

При десяти городах для решения задачи компьютеру требуется около пяти секунд, но для двадцати городов требуется уже около 100 000 лет, так как это так называемая «NP-проблема» (не полиномиальная, по-английски «nopolynomial»), и решение требует N! шагов. Время, необходимое для решения проблем типа «P», растет вместе с размерами проблем приблизительно в том же самом темпе (10 единиц времени для 10 элементов проблемы и т. д.). А решения проблем типа «NP» растут по времени, как сказано выше, быстро, и вскоре уже возможно ожидание у компьютера МИЛЛИОНОВ лет на их решение. Те худшие NP-проблемы математики называют «твердыми», так как даже при наибольшей вычислительной мощности проблема компьютером практически не берется, ибо здесь любая «brute force» [«грубая сила» — здесь и далее в квадратных скобках примечания переводчика], особенно как в давних алгоритмах игры в шахматы, ничем не поможет. На сцену выходят более новые алгоритмы, называемые генетическими потому, что подобные использует Мать Природа в сфере биологии и биологической эволюции. Sensu stricto atque proprio [в строгом смысле и собственно] не являются они такими же, как классические алгоритмы, так как не заключают в себе рецепт на единственное оптимальное решение, такое, лучше которого уже быть не может. Оно скорее не тождественно оптимальному, а является хорошей аппроксимацией оптимального решения. Как такие алгоритмы функционируют, не очень просто представить, и особенно для действительно «твердых» NP-проблем, так как принципиально представление этого процесса выходит за границы человеческого воображения. Но можно осуществить своего рода упрощение такого представления, причем разными способами. Что-то подобное происходит, когда для получения какого-либо наглядного представления грани многомерного пространства проецируем в пространство меньшего количества измерений. Манфред Эйген (Manfred Eigen) изобразил это элементарное эволюционное движение генетических систем на модели, в качестве которой выступает так называемый «измеряемый пейзаж» («Wertlandschaft» — «Stufen zum Leben», Piper, 1987). «Пейзаж» выглядит как заполненная холмистыми возвышенностями равнина, при этом «псевдоорганизмы», которые борются за выживание по правилам естественного отбора, окружая их вершины, могут с низких перескакивать на более высокие. В этом также заключен их «биологический прогресс» как «survival of the fittest» [выживание при прохождении теста]. Те, которые так перемещаться не могут, погибают, так как процесс осуществляется во время их репликации [от replication — копирование], а если репликация плохо происходит, то наступает что-то, что очень напоминает фазовый переход (как, например, вода превращается в лед, или НАОБОРОТ: происходит изменение состояния).

Здесь нить рассказа, позаимствованного у Манфреда Эйгена, прерываю, а вспомнил о нем прежде всего затем, чтобы показать, какой в наше время дорогой идет и движется вперед мысль исследователя, чтобы как-то жизненные процессы выбора и отбора смоделировать, так как в слишком сложном «оригинале» представлять их пока не умеем («организмы», кружащие над измеряемым пейзажем Эйгена, даже с точки зрения бактерий или простейших вирусов, являются примитивными моделями, НО ОСНОВЫ ИХ ДИНАМИКИ можно уже распознать и на модели).

Для решения проблем «NP», или тех, которые полиномиально попробовать или разгрызть не удается, эксперты организовали другой «пейзаж». «Пейзаж» (landscape) по сути как бы взят у Эйгена, но перевернут, ибо где у Эйгена возвышенности — здесь долины. Он «измерим», хотя ценности, которые приписываются глубине этих «долин», радикально отличаются от величин Эйгена. Зато для решения таких проблем, как уже упоминавшееся путешествие коммивояжера по кратчайшему пути между городами (или для установления, какое количество самолетов на заданном количестве аэродромов нужно держать в готовности для минимизации затрат, вызванных произвольным действием, которое какое-то количество самолетов, готовых к старту, задержит на земле; количество таких заданий может быть разнообразно большим), глубина «долины» устанавливается ценой (затратами), которую нужно заплатить для покрытия затрат, связанных с путешествиями (или поддержанием самолетов в стартовой готовности: как видно, эти «генетические ландшафты» при своей стереометрической тождественности могут служить для решения абсолютно различных задач). Чем глубже долина, тем МЕНЬШЕ затраты (внимание: между затратами и «глубиной» обратная зависимость!). Ищется тогда долина поглубже, потому что она обозначает минимум затрат, и именно это является плодом реализации квази-генетического алгоритма для решения проблемы поиска, который, проведенный вслепую, или непосредственными («человеческими») действиями, или при помощи «brute force» компьютера, продолжаться может миллионы лет. В какого вида отношении то, что здесь кратко представлено, стоит с реальными «алгоритмически генетическими проблемами» в биологии (в биологической эволюции), точно не известно, что видно хотя бы из того, что позиции «истинных» генетиков, т. е. действующих в области биологии, принципиально взаимно различаются. Нужно сказать, что на этом поле скрыты мощные загадки. Применяя методики, основанные на эволюционной мысли Дарвина и других, Д. Эпплгейт (D. Applegate) из лаборатории Bell в прошлом году поставил рекорд в поиске оптимальной дороги для коммивояжера между 7 397 городами: этот вдохновленный генетикой поиск продолжался 3,5 года, но действие вслепую (brute force) требовало бы анализа 102547 дорог, что продолжалось бы дольше, чем СУЩЕСТВОВАНИЕ ВСЕЛЕННОЙ!

Таким образом, первоначально и в общих чертах представленная концепция «генетических алгоритмов» способна скрывать в себе парадокс, который мы до сих пор раскусить не могли. Во-первых, начну с наиболее простого, оказывается, что эти алгоритмы по самой своей сути (и уже именно поэтому подобны работающим в живой материи) «абсолютных» или также «окончательных» результатов дать не способны. В экономической практике это не является каким-нибудь несчастьем, так как получение решения, аппроксимирующего оптимум или минимум в границах 95 %, - это уже достаточно полезно. Смотря же с биологической стороны, видим, что такие алгоритмы наверняка наполняют эволюционную жизнь, так как и в ней «абсолютно совершенных» эволюционных решений никогда, как правило, нет. Есть только быстрые успехи и еще более быстрые неудачи.

Во-вторых, недавно открыты группы, «командующие» генетичным багажом каждого вида. Назвали их «HOX» [homeo box-containing genes] и есть этих HOX'ов от одного до пяти, а может быть и до восьми. Это они дирижируют развитием так, что определяют, где у оплодотворенной яйцеклетки должна развиться голова, где туловище, где конечности и КАКИЕ. Некоторые биологи говорят даже о том, что будто бы можно энергично воздействовать на HOX'ы — возвращать эволюционное развитие современных нам видов в прошлое на 200 и даже 400 миллионов лет. Пока практические достижения были скромными, но подождем с выводом о скромности еще какое-нибудь десятилетие.

Удивительным кажется то, что представления, которые появляются для NP-проблем благодаря созданию «измеряемых ландшафтов», кажутся спорными и противоречащими представлениям, возникающим благодаря HOX'ам. Действительно, каждый HOX постоянно устанавливает архитектонику строения в соответствии с видовой нормой, а отклонения внутри HOX'а (это не ген, а как бы малый локальный генеральный штаб) вызывают тяжелейшие, летальные дефекты (двухголовость и другие уродства у людей, и не только у людей). Похоже на то, что совершенство в быстроте решений наверняка НЕ было чрезвычайно большой эволюционной ценностью и каким-то образом было сдержано в пользу «больших симфонических концертов» под управлением серии HOX'ов, благодаря чему после около 800 миллионов лет эволюции многоклеточных (после так называемой кембрийской катастрофы) и мы смогли возникнуть и заселить Землю, а для пользы или нет — это скажется в XXI веке.

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

Экономическую удовлетворительность, радующую Великий Капитал, считаю при этом микроскопическим явлением на фоне нового, только появляющегося взгляда на эволюционные процессы, которые начинают проявлять сейчас свой удивительный потенциал и не менее примечательный строгий порядок. Гены являются своеобразным алфавитом, а из них строящиеся организмы создают конструкции, по-различному архитектонично функционирующие, пожалуй лишь с одним постоянным параметром — смертью, без которой развитие вообще не было бы возможно как прогресс (по крайней мере тот прогресс, который мы способны увидеть в размахе, отделяющем одноклеточных типа PARAMECIUM CAUDATUM EHRENBERG от HOMO SAPIENS SAPIENS).

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

Не следует считать, что проблемы типа «NP», разламываемые при помощи генетических алгоритмов, — это уже ВСЕ в сущности проблемы, с которыми можно еще встретиться. Существуют, естественно, и такие задачи, в которых генетической алгеброй, генетическими алгоритмами добраться к цели не удастся. И также никто не должен считать, что мы благодаря представленным выше открытиям уже достигли вершины знаний и что тем самым уже все трудности теоретически-практические на будущих наших дорогах будем способны преодолеть. Считаю открытия, сделанные благодаря генетике, так же как и открытия дирижерских генов (HOX), важнейшими шагами, которые были сделаны в области биологии в двадцатом веке. Технологии, рожденные жизнью и имеющие вне биологическую применимость, я всегда считал совершенными SUI GENERIS [в своем роде], и поэтому в глуши шестидесятых годов тщетно писал о том, как много пользы (и как ужасно много опасностей) станет нашим трофеем, когда выйдем из области жизни, применяя подсмотренные у жизни инструменты и стратегии, в человеческий мир [в книге «Summa technologiae», 1964; перевод на русский язык: «С. Лем. Сумма технологии». — Москва, «Мир», 1968]. Думал и о том, что эффекты, рожденные этим, может быть, окажутся и нечеловеческими, но чрезмерно и не предостерегал, успокоенный тем, что когда я или добро, или зло вещал, никто меня не слушал. Что, впрочем, является естественным ходом вещей и делом не особенно существенного значения.

Content

Лем Станислав
Генетические алгоритмы