Станислав Лем - Генетические алгоритмы
Обзор книги Станислав Лем - Генетические алгоритмы
Лем Станислав
Генетические алгоритмы
Станислав Лем
Генетические алгоритмы
Существует ряд проблем, которые практически при помощи обычного компьютера, хотя бы даже и наибольшей вычислительной мощности, решить невозможно. К простейшим, таким, с которых обычно начинается и для сравнения объясняется суть применения генетических алгоритмов, относится так называемая проблема путешествующего коммивояжера, который должен поочередно посетить определенное количество городов, причем кратчайшим путем.
При десяти городах для решения задачи компьютеру требуется около пяти секунд, но для двадцати городов требуется уже около 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%, - это уже достаточно полезно. Смотря же с биологической стороны, видим, что такие алгоритмы наверняка наполняют эволюционную жизнь, так как и в ней "абсолютно совершенных" эволюционных решений никогда, как правило, нет. Есть только быстрые успехи и еще более быстрые неудачи.