5.2. Сравнительный анализ эволюционных алгоритмов
Высокий потенциал, которым обладают различные формы ЭА для решения трудных оптимизационных задач, известен давно. Диверсификация ЭА привела к значительному разнообразию их форм. Актуальной становится проблема сравнительного анализа, систематизация их особенностей и выработка рекомендаций для решения оптимизационных задач (табл. 5.1), [89]. Джон Фон Нейман опубликовал теорию самовоспроизводящихся автоматов [90].
Критерий сравнения Таблица 5.1.
Вид ЭА | Критерий сравнения | ||||||||
Представление решения | целевая функция | Селекция | Мутация | Рекомбинация | Самоадаптивность | ||||
ГА | Двоичное вещественное | Скаляр
| Стохастическая, недискриминационная | Вспомогательный оператор | Основной оператор поиска | Малоисследована | |||
ГП | Программное | - | То же | Применяется неоднозначно | То же | - | |||
ЭС | Вещественное | вектор | Детерминированная, дискриминационная | Основной оператор поиска | Важна для самоадаптивности | Среднеквадратичное отклонение | |||
ЭП | - | - | То же | Единственный оператор поиска | Не применяется | - |
Различные формы ЭА имитируют эволюционный процесс на различном уровне
абстракции. ГА (генетический алгоритм) и ГП (генетическое программирование) делает акцент на генетический механизм наследственности на уровне хромосом. ЭС, напротив, рассматривают ход эволюции на уровне фенотипа. Алгоритмы ЭП анализируют эволюцию на уровне популяции в целом. Один стринг (хромосома) в ГА кодирует одно решение, т.е. пропорция между генотипом и фенотипом равна 1:1, что соответствует в биологическом смысле одному гаплоиду, т.е. особь с одинарным набором непарных хромосом.
Открытия в генетике (60-е годы), так называемые интроны (гены, не содержащие генетической информации) свидетельствуют о некоторой ограниченности подобного рода подхода к моделированию эволюции. В алгоритмах ЭС и ЭП оператор мутации применяется с частотой, соответствующей нормальному закону распределения, что оправдано для выбранного уровня моделирования в отличие от мутации на генном уровне, где она проявляется как редкое событие и практически не влияет на фенотип.
В ГА вероятность мутации отдельных генов и хромосом (называется инверсией) близка к природной. В алгоритмах ЭП мутация вообще является единственным оператором поиска, а оператор дискретной рекомбинации в ЭС соответствует природному механизму доминирования родительских хромосом в отличие от так называемой промежуточной рекомбинации, которая аналогична природной передаче некоторых признаков по наследству, что соответствует некоторому компромиссу между родительскими хромосомами. Наконец, оператор кроссинговера, который не применяется в алгоритмах ЭП, т.е. является основным алгоритмом для ГА и ГП. Эти и многие другие методологические различия между разными формами ЭА позволяют говорить о базовых постулатах, таких, как универсальность и фундаментальность, присущих эволюции независимо от формы и уровня абстракции модели. Указанная общность может быть выражена в следующей схеме абстрактного ЭА [89-92]:
установка параметров эволюции;
инициализация начальной популяции P(0);
;
оценка решений, входящих в популяцию;
;
селекция (отбор);
репликация (повторение, копирование, аутосинтез)
вариация (видоизменение);
оценка решений – потомков;
образование новой популяции ;
выполнение алгоритма до тех пор, пока параметр t не достигнет заданного значения, либо не будут выполняться другие условия останова;
вывод результатов и останов.
Контроверзу Ч. Дарвина (1859 г.) о том, что в ходе естественного отбора побеждает сильнейший, необходимо дополнить: материал для эволюции дают побеждённые.
Между тем в ЭА чаще всего применяются статические fitness – функции, что не позволяет учесть механизм коэволюции в живой природе. Популяция в природе, как объясняет правило, состоит из отдельных, более или менее изолированных локальных подпопуляций, допускающих миграцию отдельных индивидуумов. Большинством ЭА это обстоятельство игнорируется, алгоритмы работают с одной большой, неструктурированной популяцией. Тем не менее решающим обстоятельством для оценки практической пригодности ЭА является прежде всего то, насколько успешно с помощью ЭА может быть решена та или иная оптимизационная задача с точки зрения качества решения и вычислительной сложности. Результаты сравнительного анализа ГА, ГП, ЭС и ЭП представлены выше в таблице 5.1 [81].
В литературе была предпринята попытка сравнительного анализа конкурирующих алгоритмов оптимизации с точки зрения их результативности.
Пустьконкурирующие алгоритмы, F – целевая функция задачи оптимизации, H– гистограмма значений количество полученных решений. Обозначим черезвероятность получения с помощью А алгоритма поискаm различных решений, имеющих вид гистограммы H.
Английские учёные Вольперти Макрид сформулировали и доказали следующую теорему NFL (No-Free-Lunch).
Теорема NFL: для любой пары эвристических алгоритмов поисковой оптимизации справедливо следующее соотношение:
=. (5.1)
Иными словами, все алгоритмы поиска оптимума целевой функции имеют одинаковую результативность, если сравнение производится по всем возможными представлениям F. Таким образом, если алгоритм при оптимизации некоторой целевой функции позволяет получить лучшие результаты, нежели алгоритм, то существуют оптимизационные задачи с другой целевой функцией, для которой лучшие результаты дает алгоритм.
Несмотря на очевидную ограниченность NFL- теоремы (не учитывается время решения оптимизационной задачи конкурирующими алгоритмами), она позволяет подходить к оценке алгоритмов оптимизации с единых методологических позиций и имеет практически важные следствия:
Поиск эвристического алгоритма оптимизации, который превосходит все конкурирующие с ним алгоритмы, не имеет смысла без точного описания конкретных задач и целевых функций, при оптимизации которых разрабатываемый алгоритм имеет преимущество перед другими алгоритмами. Нельзя рассчитывать найти один алгоритм, который будет результативнее других для любых целевых функций оптимизации.
Чтобы найти хорошее решение для заданного класса задач оптимизации, необходимо, в начале, идентифицировать характеристические особенности классов задач и затем на их основе искать подходящий алгоритм (самый простой алгоритм – задача линейного программирования и симплекс-метод).
В связи с появлением эвристических алгоритмов появилась возможность решения проблемы быстрого достижения цели и решения целевой функции оптимизации.
Достоинства ЭА:
а) широкая область применения [92];
б) возможность проблемно-ориентированного кодирования решений, подбора начальной популяции, комбинирования эволюционных алгоритмов с не эволюционными алгоритмами, продолжение процесса эволюции до тех пор, пока имеются необходимые ресурсы;
в) пригодность для поиска в сложном пространстве решений большой размерности;
г) отсутствие ограничений на вид целевой функции;
д) ясность схемы и базовых принципов ЭА;
е) интегрируемость ЭА с другими классическими парадигмами ИИ, такими как, искусственные нейросети и нечеткая логика.
Недостатки ЭА:
а) эвристический характер ЭА не гарантирует оптимальности полученного решения (на практике важно за заданное время получить одно или несколько субоптимальных альтернативных решений, тем более что исходные данные в задаче могут динамически меняться, быть неточными или неполными);
б) относительно высокая вычислительная трудоемкость, причинами которой является то обстоятельство, что в ходе моделирования эволюции многие решения отбрасываются как не перспективные (однако на практике считается, что временная сложность эвристических алгоритмов в среднем ниже чем у лучших конкурирующих алгоритмов, но не более чем на один порядок);
в) невысокая эффективность ЭА на исключительных фазах моделирования эволюции (в особенности для ГА), объясняется тем, что операторы поиска в ЭА не ориентированы на быстрое попадание в локальный оптимум;
г) нерешенными остаются вопросы самоадаптации ЭА.
Преодоление перечисленных выше трудностей тесно связано с понятием параллелизма ЭА, что позволяет реалистично моделировать эволюцию с помощью параллельных вычислительных систем и использовать для эволюции популяции большой размерности.
Параллелизм ЭА.
Различают следующие типы параллелизма ЭА [81, 89]:
1. глобальный;
2. миграционная модель;
3. диффузионная модель.
В первом случае выполняется параллельное вычисление целевой функции и параллельное выполнение операторов ЭА. Целевая функция отдельного индивидуума в популяции, как правило, не зависит от других индивидуумов, поэтому вычисление целевых функций допускает распараллеливание. При этом популяция хранится в общей памяти, а отдельный процессор считывает хромосому из памяти и возвращает результат после вычислений целевой функции в виде fitness-значения. Процедура синхронизации здесь проводится лишь при формировании новой популяции. В случае, если вычислительная система имеет распределенную память, то популяция и fitness-значения отдельных индивидуумов хранятся в «мастер-процессоре», а расчеты производятся на вспомогательных процессорах. Некоторую трудность для распараллеливания представляет процедура селекции. Здесь преимущество в смысле распараллеливания получают те форы селекции, которые не используют глобальную статистику о популяции, например, «соревновательные» способы селекции. Легко распараллеливаемыми являются операторы мутации и кроссинговера, так как они выполняются независимо друг от друга и в основном случайным образом.
Другой тип параллелизма – миграционная модель - наиболее эффективно реализуется в вычислительных системах с MIMD – архитектурой путем разделения общей популяции на отдельные подпопуляции, имитационное моделирование которых осуществляются на отдельных процессорах. Если между отдельными подпопуляциями установить правила миграции отдельных индивидуумов, то получится миграционная модель. Для этого требуется задать количество и размеры подпопуляций, топологию связей между ними, частоту и интервал миграции, а также стратегию эмиграции и иммиграции. Размеры и число подпопуляций определяются числом и быстродействием используемых процессов или транспьютеров, а так же сложностью решаемой оптимизационной проблемы. Что касается топологии связей в миграционной модели, то здесь различаются два варианта: «островная» модель, предусматривающая миграцию между любыми подпопуляциями, и миграционная модель, предусматривающая обмен между соседними подпопуляциями. Применение того или иного варианта миграционной модели зависит от архитектуры параллельного вычислителя (сетевая или кольцевая). Частота миграции определяется размерами подпопуляций. При высокой частоте подпопуляция может быстро потерять гетерогенность. Наоборот, при слабой интенсивности миграции и большом числе подпопуляций возрастает вероятность получения нескольких хороших решений, однако сходимость ЭА замедляется [92].
Третья разновидность параллелизм ЭА – диффузионная модель – наиболее эффективно реализуется в вычислительных системах с SIMD-архитектурой. В этом случает общая популяция разделяется на большое количество немногочисленных подпопуляций, а операторы кроссинговера и селекции применяются лишь в ограниченной области, определяемой отношением соседства. Это приводит к тому, что хорошие решения очень медленно распространяются в популяции (диффузия) и проблема попадания в «локальную яму» становится менее острой.
Выводы. Эволюционные алгоритмы наименее подходят для решения оптимизационных проблем, если:
требуется найти глобальный оптимум;
имеется эффективный не эволюционный алгоритм оптимизации;
переменные, от которых зависит решение, можно оптимизировать независимо;
для задачи характерна высокая степень эпистазии, т. е. взаимозависимость между переменными оптимизации такова, что одна переменная подавляет другую;
значения целевой функции во всех точках, за исключением оптимума, приблизительно одинаковы.
Принципиально подходящими для решения с помощью ЭА являются следующие оптимизационные проблемы:
задачи многомерной оптимизации с мультимодальными целевыми функциями, для которых, по существу, нет подходящих неэволюционных методов решения;
стохастические задачи;
динамические задачи с блуждающим оптимумом;
задачи комбинаторной оптимизации;
задачи прогнозирования и распознавания образов.
- Предисловие
- Список использованных сокращений
- Часть 1.
- Глава 1. Математические основы формализации и методов описания
- Часть 2.
- Глава 2. Методы представления знаний с использованием
- Часть 3.
- Глава 3. Интеллектуальные технологии создания информационных систем. Способы получения информации и ее реализации для оценивания состояния агрегатов
- Часть 4.
- Глава 4. Источники информации и причины возникновения ее неопределенности
- 4.1. Переработка и использование информации в реальных условиях функционирования агрегатов
- Часть 5.
- Список использованных сокращений и обозначений
- Введение:
- Часть 1.
- Глава 1. Математические основы формализации и методов описания
- Формализация объекта и парадигмы
- 1.3. Множества и перечень базовых операций над множествами
- Перечень базовых операций над множествами
- Области определения функций
- Обратная функция
- Теорема
- Мера и нечеткая мера
- Задача построения нечетких мер
- Нечеткие множества: определение и формы записи в операциях и
- 1.7.Функции доверия и правило Демпстера а.Р.,[23]
- 1.8. Нормировка функций в теории нечётких множеств
- 1.9. Нечёткие отношения: прямая и обратная задачи
- Глава 2. Методы представления знаний с использованием приближенных и нечетких множеств
- 2.1.Нечеткие вычислительные технологии
- 2.2.Семантика объекта: определение и типизация
- 2.3.Создание Базы знаний: постановка, семантика, прагматика
- 2.4. Сопоставление объектов: постановка, семантика, прагматика
- 2.5.Распознавание объектов: постановка, семантика, прагматика
- 2.6. Управление процессом представления знаний
- Нечёткие множества: субъективность и неточность
- 2.8.Нечеткая алгебра
- 2.9.Нечеткие иерархические отношения
- 2.10.Естественность операций max и min
- 2.11.Нечеткая статистика
- 2.12. Совместимость и нечеткое ожидание
- Глава 3. Нечеткие технологии создания информационных систем. Способы получения информации и ее реализации для оценивания состояния агрегатов
- 3.2. Обработка нечетких данных как неопределенных чисел
- Методология представления агрегата в виде комплексного механизма
- 3.2.2. Описание исходной информации на языке размытых множеств
- Размытость интервалов, ограничений, критериев и целей управления в эксплуатации и диагностике
- 3.3.3. Размытые ограничения, цели и оптимизация работы агрегата в условиях нечеткой информации о состоянии
- Анализ информации для диагностики и оценивания состояния механизмов
- 3.5. Оценки погрешностей измерений и наблюдений за состоянием агрегатов
- Влияние погрешностей исходных данных на погрешности диагноза
- Глава 4. Источники информации и причины возникновения ее неопределенности
- 4. 2. Управление и идентификация на объекте в условиях неопределенности информации на основе знаний, получаемых при функциональной диагностике
- Тогда множество диагностических признаков g также будет нечетким
- 4.3.Представление и использование чётких и «размытых» знаний в математических моделях оценивания состояния агрегатов, на основе функциональной диагностики
- 4.3.1.Формализация решения задачи оценивания состояния
- 4.3.2. Особенности решения задач контроля и функционирования агрегата
- Глава 5. Введение в генетическое программирование
- 5.1. Введение в генетические и эволюционные алгоритмы
- 5.2. Сравнительный анализ эволюционных алгоритмов
- 5.3. Генетическое программирование
- 5.4. Перспективные направления развития гп
- Глава 6. Введение в нейронные сети
- 6.1. Алгоритмы их обучение и эластичные нейро-нечеткие системы
- 6.2. Имитация нервных клеток
- 6.3. Математическая модель нейрона
- 6.4. Обучение нейронных сетей
- 6.5. Метод обратного распространения ошибки
- 6.6. Алгоритм настройки нейронной сети
- Глава 7. Другие методы нечетких технологий для построения
- 7.1. Введение в теорию возможностей и смысла
- 7.1.1. Неопределенность и неточность
- 7.1.2. Традиционные модели неточности и неопределенности
- 7.1.3. Меры неопределенности
- 7.1.4. Меры возможности и необходимости
- 7.1.5. Возможность и вероятность
- 7.2. Языки и технологии логического программирования prolog, lisp
- Глава 8. Послесловие
- 8.1. Эволюция искусственного интеллекта для развития интеллектуальных
- 8.2.Экспертные системы нового уровня
- 8.3. Роботика
- 8.4. Преобразование речи искусственного языка
- 8.5. Интеллект муравьёв и его использование
- 8.6. Искусственная жизнь, мозг, познание, разум, память и мышление
- 8.7. Боты
- Optimizator подсистемы диагностики состояния энергоустановок, skais, для решения задач технического обслуживания
- Заключение
- Заключение
- Литература