1626434812-e667f6b6e7e69d3a0798830a58e9075b (844135), страница 45
Текст из файла (страница 45)
И может оказаться„что алгоритм, успешно решающий одну задачу, совершенно не подходит для решения другой. В настоящее время существует отдельная область исследований, целью которых является создание генетических алгоритмов, эффективно решающих как мсокно боль- 333 Глава 8. Генетические алгоритмы шее число задач.
Результатом этих исследований являются значения характеристик генетических алгоритмов. Кроме создания новых алгоритмов, идет работа по усовершенствованию уже созданных. Также ведутся исследования по сокращению времени работы генетических алгоритмов за счет распараллеливания вычислений и применения ряда новых подходов. Об этих средствах повышения эффективности и качества генетических алгоритмов речь пойдет в следующем параграфе.
8.4 Эффективность применения генетических алгоритмов и средства ее повышения Эффективность генетического алгоритма при решении конкретной задачи зависит от многих факторов и, в частности, от таких, как генетические операторы и выбор соответствующих значений параметров, а также способа представления задачи на хромосоме. Оптимизация этих факторов приводит к повышению скорости и устойчивости поиска, что сушественно для применения генетических алгоритмов. Скорость генетического алгоритма оценивается временем, необходимым для выполнения заданного пользователем числа итераций. Если критерием оста- нова является качество популяции или ее сходимость, то скорость оценивается временем достижения генетическим алгоритмом одного из этих событий.
Устойчивость поиска оценивается степенью устойчивости алгоритма к попаданию в точки локальных экстремумов и способностью постоянно увеличивать качество популяции от поколения к поколению. Два этих фактора: скорость и устойчивость — и определяют эффективность генетического алгоритма для решения каждой конкретной задачи. Основным способом повышения скорости работы генетических алгоритмов является распараллеливание [52]. Причем этот процесс можно рассматривать с двух позиций.
Распараллеливание может осуществляться па уровне организации работы генетического алгоритма и на уровне его непосредственной реализации на вычислительной машине. Во втором случае используется следующая особенность генетических алгоритмов. В процессе работы многократно приходится вычислять значения целевой функции для каждой особи, осуществлять преобразования оператора скрещивания и мутации для нескольких пар родителей и т.д. Все эти процессы могут быть реализованы одновременно на нескольких параллельных системах или процессорах, что пропорционально повысит скорость работы алгоритма. В первом же случае применяется структурирование популяции решений на основе одного из двух подходов: 1.
Популяция разделяется на несколько различных подпопуляций (демосов), которые впоследствии развиваются параллельно и независимо. То есть Базы данных. Инныллокгпуальнан обработка информации скрещивание происходит только между членами одного демоса, На каком-то этапе работы происходит обмен частью особей между подпопуляциями на основе случайной выборки. И так может продолжаться до завершения работы алгоритма. Данный подход получил название концепции островов. 2.
Для каждой особи устанавливается ее пространственное положение в популяции. Скрещивание в процессе работы происходит между ближайшими особями. Такой подход получил название концепции скрещивания в локальной области. Оба подхода, очевидно, также могут эффективно реализовываться на параллельных вычислительных машинах. Кроме того, практика показала, что структурирование популяции приводит к повышению эффективности генетического алгоритма даже при использовании традиционных вычислительных средств.
Еще одним средством повышения скорости работы является кластеризация. Суть ее состоит, как правило, в двухэтапной работе генетического алгоритма. На первом этапе генетический алгоритм работает традиционным образом с целью получения популяции более "хороших" решений. После завершения работы алгоритма из итоговой популяции выбираются группы наиболее близких решений. Эти группы в качестве единого целого образуют исходную популяцию для работы генетического алгоритма па втором этапе.
Размер такой популяции будет, естественно, значительно меньше, и, соответственно, алгоритм будет далее осуществлять поиск значительно быстрее. Сужения пространства поиска в данном случае не происходит, потому что применяется исключение из рассмотрения только ряда очень похожих особей, существенно не влияющих на получение новых видов решений, Рассмотрим теперь влияние генетических операторов ~операторов отбора, скрещивания, мутации и редукции) на устойчивость поиска.
Как правило, диапазон такого влияния можно оценить, рассматривая вырожденные случаи указанных операторов. Вырожденными формами операторов скрещивания являются, с одной стороны, точное копирование потомками своих родителей, а с другой, порождение потомков, в наибольшей степени отличающихся от них. Преимуществом первого варианта является скорейшее нахождение лучшего решения, а недостатком, в свою очередь, тот факт, что алгоритм не сможет найти решения лучше, чем уже содержится в исходной популяции, поскольку в данном случае алгоритм не порождает принципиально новых особей, а лишь копирует уже имеющиеся.
Чтобы все-таки использовать достоинства этой формы операторов скрещивания в реальных генетических алгоритмах, применяют элитизм, речь о котором шла выше. Глава 8. Генетические алгпритмы гз5 Во втором случае алгоритм рассматривает наибольшее число различных особей, расширяя область поиска, что, естественно, приводит к получению более качсствепного результата. Недостатком в данном случае являстся значительное замедление поиска. Одной из причин этого, в частности, является то, что потомки, значительно отличаясь от родителей, не наследуют их полезных свойств.
В качестве реальных операторов скрещивания используются промежуточные варианты. В частности, родительское воспроизводство с мутацией и родительское воспроизводство с рекомбинацией и мутацией. Родительское воспроизводство означает копирование строк родительских особей в строки потомков. В первом случае после этого потомки подвергаются воздействию мутации. Во втором случае после копирования особи-потомки обмениваются подстроками. этот процесс называется рекомбинацией и был описан в предыдущих параграфах. После рекомбинации потомки также подвергаются воздействию мутации.
Последний подход получил наибольшее распространение в области генетических алгоритмов. Наиболее распространенными при этом являются одноточечный, двухточечный и равномерный операторы скрещивания. Свои названия они получили от принципа разбиения кодовой строки на подстроки. Строка может, соответственно, разбиваться на подстроки в одном или двух местах. Или строки могут образовывать особи-потомки, чередуя свои элементы. Основным параметром оператора мутации является вероятность его воздействия.
Обычно она выбирастся достаточно малой, чтобы, с одной стороны, обеспечивать расширение области поиска, а с другой, нс привести к чересчур серьезным изменениям потомков, нарушающим наследование полезных параметров родителей. Сама же суть воздействия мутации обычно определяется фенотипом и на эффективность алгоритма особого воздействия не оказывает. Существует также дополнительная стратегия расширения поискового пространства, называемая стратегией разнообразия. Если генетический алгоритм использует данную стратегию, то каждый порожденный потомок подвергается незначительному случайному изменению. Отличие разнообразия и мутации в том, что оператор мутации вносит в хромосому достаточно значительные изменения, а оператор разнообразия — наоборот.
В этом заключается основная причина стопроцентной вероятности применения разнообразия. Ведь если часто вносить в хромосомы потомков незначительные изменения, то они могут быть полезны, с точки зрения как расширения пространства поиска, так и наследования полезных свойств. Отметим, что стратегия разнообразия применяется далеко не во всех генетических алгоритмах, поскольку является лишь средством повышения эффективности. Еще одним важнейшим фактором, влияющим на эффективность генетического алгоритма, является оператор отбора.
Слепое следование принципу "вы- Базы данньис. Интеллектуальная обработка информации живает сильнейший" может привести к сужению области поиска и попаданию найденного решения в область локального экстремума целевой функции. С другой стороны, слишком слабый оператор отбора может привести к замедлению роста качества популяции, а значит, и к замедлению поиска. Кроме того, популяция при этом может не только не улучшаться, но и ухудшаться. Самыми распространенными операторами отбора родителей являются: ° случайный равновероятный отбор; ° рангово-пропорциональный отбор; ° отбор пропорционально значению целевой функции.