Сравнительный анализ генетических алгоритмов поиска оптимального решения

Развитие интегрированных, гибридных и синергетических систем в современной информатике. Особенности алгоритма поиска гармонии (HS), его преимущества по сравнению с известными алгоритмами оптимизации. Сравнение комбинированных генетических алгоритмов.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 19.01.2018
Размер файла 20,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

СРАВНИТЕЛЬНЫЙ АНАЛИЗ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ ПОИСКА ОПТИМАЛЬНОГО РЕШЕНИЯ

Д.С. Кадников (dskadnikov@yandex.ru)

МГТУ им. Н.Э. Баумана (Калужский филиал), Калуга

Л.Г. Комарцова (lkomartsova@yandex.ru)

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

Введение

алгоритм гармония комбинированный генетический

Опыт последних лет показал, что применение одного метода для решения сложных задач и проблем далеко не всегда приводит к успеху. В гибридной архитектуре, объединяющей несколько парадигм, эффективность одного подхода может компенсировать слабость другого. Комбинируя различные подходы, можно обойти недостатки, присущие каждому из них в отдельности. Поэтому одной из ведущих тенденций в современной информатике стало развитие интегрированных, гибридных и синергетических систем. Подобные системы состоят из различных элементов (компонентов), объединённых в интересах достижения поставленных целей. Интеграция и гибридизация различных методов и технологий позволяет решать сложные задачи, которые невозможно решить на основе каких-либо отдельных методов или технологий [Chia Feng et al., 2004], [Комарцова, 2009], [Курейчик и др., 2000].

Одним из перспективных направлений создания гибридных систем является совместное использование таких технологий как искусственные нейронные сети, генетические алгоритмы (ГА), нечеткие системы, различные модификации алгоритмов оптимизации роя частиц, муравьиных колоний, поиска гармоний и т.д. Последний из названных алгоритмов является мало исследованным, поэтому в докладе проводится его анализ и создание на его базе гибридного ГА, эффективность которого в сравнении с другими подобными ГА показывается на примере решения известных тестовых задач распознавания ирисов и вин [http://www.ics.uci.edu/~mlearn/databases/].

1. Особенности алгоритма поиска гармонии (HS)

Поиск гармонии Harmony Search (HS) - это метаэвристический алгоритм оптимизации [Geem, 2009], основанный на подражании процедуре импровизации музыканта. В ходе процедуры исполнения музыкального произведения каждый музыкант (= переменная возможного решения) берет (= генерирует) ноту (= значение) для нахождения наилучшего звучания с целью достижения определенной гармонии (= глобального оптимума). Основная цель сочинения или исполнения музыкального произведения - достижение гармонии, при которой отдельные звуки воспринимаются как единое целое.

Таким образом, реализация процедуры достижения гармонии в музыке аналогична поиску оптимума в процессе оптимизации. Другими словами, процесс импровизации музыканта соответствует процедуре поиска лучшего решения. С одной стороны, идеальная гармония, как указывается в [Geem, 2009], определяется стандартами звуковой эстетики: музыкант всегда старается выполнить некоторый отрывок музыкального произведения в соответствии со своим пониманием идеальной гармонии. С другой стороны, оптимальное решение некоторой проблемы должно являться наилучшим с учётом заданных целей и ограничений. Оба процесса: и работа музыканта, и решение некоторой оптимизационной проблемы имеют много общего: подразумевают нахождение наилучшего значения или оптимума.

Подобные сходства между двумя процессами были использованы для разработки нового алгоритма. Поиск гармонии можно рассматривать как успешный пример преобразования качественного процесса импровизации (на основе некоторых случайных возмущений) в количественный процесс оптимизации по некоторым идеализированным правилам [Geem, 2009].

Алгоритм поиска гармонии имеет некоторые преимущества по сравнению с известными алгоритмами оптимизации, основанными на использовании, например, градиентного спуска:

HS не требует сложных вычислений;

HS не требует настройки начальных значений параметров, используемых в процедуре оптимизации, что позволяет выходить из локального экстремума;

HS может работать как с дискретными, так и с непрерывными параметрами, в то время как градиентные методы работают только с непрерывными переменными.

Алгоритм поиска гармонии сводится к выполнению следующих шагов [Geem, 2009]:

Инициализация памяти гармоний: взять k случайных векторов .

Создание нового вектора X': для каждой компоненты этого вектора:

с вероятностью взять элемент из памяти гармоний: ;

с вероятностью взять новое случайное значение из допустимого диапазона.

Пошаговая настройка: только для компоненты , которая выбрана из памяти гармоний:

с вероятностью изменить на число, задаваемое следующим образом:

для дискретных переменных, или для непрерывных переменных

с вероятностью ничего не делать.

Если x' лучше, чем худший вектор в памяти, тогда заменить на x'.

Повторить шаги, начиная со 2-го, заданное число раз.

Оптимальное решение - это лучший вектор, полученный в результате работы алгоритма.

Параметры алгоритма:

· k- размер памяти, обычно берётся в пределах от 1 до 50.

- частота выбора из памяти. Типичные значения от 0.7 до 0.99;

· , частота пошаговой настройки. Типичные значения от 0.1 до 0.5;

· д - расстояние между двумя соседними значениями для дискретного набора данных;

· bw - величина шага для изменения непрерывных переменных в процессе оптимизации.

На основе алгоритма HS разработан комбинированный генетический алгоритм, в котором выбор различных генетических операторов при выполнении процедуры оптимизации зависит в различные моменты времени от знака приращения функции фитнесса. Этот алгоритм может быть использован для повышения эффективности обучения нейронных сетей (НС) в смысле уменьшения ошибки обучения или сложности топологии НС [Комарцова и др., 2004].

2. Сравнение комбинированных генетических алгоритмов

Ранее авторами в работе [Комарцова и др., 2004] были созданы и исследованы комбинированные генетические алгоритмы НGAPSO (Hibrid of Genetic Algorithm and Particle Swarm Optimization - гибридный генетический алгоритм оптимизации роя частиц) и Island GA - (параллельный генетический алгоритм островного типа), которые показали свою эффективность по сравнению с простым ГА (GA) при решении задачи обучения многослойной нейронной сети (НС). Ошибка распознавания НC, обученной с помощью НGAPSO и Island GA при решении широко распространенных тестовых задач распознавания ирисов и вин [http://www.ics.uci.edu/~mlearn/databases/], была значительно ниже, чем для GA.

Сравнение предложенного комбинированного HS c созданными ранее алгоритмами НGAPSO, Island GA и GA проведено на тех же тестовых функциях.

Для получения достоверных результатов работы НС и снижения влияния вероятностных параметров рассматриваемых алгоритмов осуществлялось по 50 запусков каждого алгоритма и полученные значения ошибок обучения (Еоб) и времени обучения НС усреднялись. Найденное по окончании работы каждого из алгоритмов наилучшее решение затем проверялось на тестовой выборке, при этом вычислялась ошибка обобщения (Еобобщ), соответствующая ошибке распознавания НС при решении определенной тестовой задачи.

Полученные результаты сравнительного анализ четырех исследуемых алгоритмов: классического ГА - GA, гибридного - HGAPSO, параллельного - Island GA и алгоритма HS показывают динамику изменения наилучшего (усредненного по всем запускам) значения функции качества (процента распознавания НС) в течение всех поколений работы алгоритмов. Приведенные ниже значения ошибок и времени обучения (в секундах-с) НС являются усредненными (по 50 запускам):

1) Задача распознавания ирисов:

для GA - время обучения 42с, Еобуч=19.98%, Еобобщ=25.32%;

для HGAPSO - время обучения 287с, Еобуч=6.04%, Еобобщ=8.92%;

для Island GA - время 221с, Еобуч=3.02%, Еобобщ=5.44%;

для HS - время обучения 242с, Еобуч=2.03%, Еобобщ=3.82%.

2) Задача распознавания вин.

для GA - время обучения 67с, Еобуч=27.22%, Еобобщ=33.28%;

для HGAPSO - время обучения 365с, Еобуч=14.9%, Еобобщ=22.8%;

для Island GA - время обучения 469с, Еобуч=5.42%, Еобобщ=12.97%;

для HS - время обучения 304с, Еобуч=4.14%, Еобобщ=6.72%.

Лучшие найденные решения:

1) Задача распознавания ирисов: для GA - Еобуч=2%, Еобобщ = 6%; для HGAPSO - Еобуч = 2%, Еобобщ = 6%; для Island GA - Еобуч = 1%, Еобобщ = 4%; HS - Еобуч = 0.83% Еобобщ = 2.52%.

2) Задача распознавания вин: для GA - Еобуч = 6%, Еобобщ = 15.4%; для HGAPSO - Еобуч = 4%, Еобобщ = 11.5%; для Island GA - Еобуч = 2%, Еобобщ = 3.8%; HS - Еобуч = 1.8%; Еобобщ = 3.1%.

Заключение

При решении рассматриваемых задач весьма эффективным является параллельный генетический алгоритм, показавший хорошую динамику получения лучшего решения и имеющий лучшие временные показатели по сравнению с HGAPSO. Однако гибридный алгоритм требует довольно существенных временных затрат.

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

Таким образом, наилучшими в экспериментах оказались гибридные алгоритмы на основе HS и параллельные ГА, хотя они и требуют больших вычислительных затрат.

Список литературы

[Комарцова и др., 2004] Комарцова Л.Г., Максимов А.В. Нейрокомпьютеры. - М.: МГТУ им. Н.Э. Баумана. 2004.

[Комарцова, 2009] Комарцова Л.Г. Проблемы интеграции интеллектуальных технологий в гибридных системах. // Сб. статей Третьей Всерос. Н-т конф. «Нечеткие системы и мягкие вычисления» (НСМВ-2009). -Т.1.-Волгоград. 2009.[http://www.ics.uci.edu/~mlearn/databases/], http://www.ics.uci.edu/~mlearn/databases/

[Курейчик и др., 2000] Курейчик В.М. Курейчик В.В. Эволюционные, синергетические и гомеостатические стратегии в искусственном интеллекте: состояние и перспективы // Новости искусственного интеллекта. 2000. №3.

[Chia-Feng and al., 2004] Chia-Feng J., Yuan-Chang L. On the hybrid of genetic algorithm and particle swarm optimization for evolving recurrent neural network, IEEE Proc. of Neural Networks International Joint Conference, Vol.3., July 2004.

[Geem, 2009] Geem Z.W. Music-inspired harmony search algorithm: theory and applications. - Berlin.: Springer. 2009.

Размещено на Allbest.ru

...

Подобные документы

  • Комплексное исследование истории развития, основных понятий, области применения и особенностей генетических алгоритмов. Анализ преимуществ генетических алгоритмов. Построение генетического алгоритма, позволяющего находить максимум целочисленной функции.

    курсовая работа [27,9 K], добавлен 23.07.2011

  • История появления эволюционных алгоритмов. Нейрокомпьютерные исследования в России. Реализация генетических алгоритмов. Расчет эффективности процедур поиска конкурирующей процедуры. Schema и теорема шим. Примеры использования нейросетевых технологий.

    курсовая работа [43,0 K], добавлен 20.10.2008

  • Описание генетических алгоритмов. Применение генетического алгоритма для решения задачи коммивояжера. Постановка задачи безусловной оптимизации. Изучение распространения генетических алгоритмов на модель с несколькими взаимодействующими популяциями.

    дипломная работа [979,1 K], добавлен 30.05.2015

  • Основные особенности эволюционных алгоритмов. Описание алгоритмов селекции, мутации, скрещивания, применяемых для реализации генетических алгоритмов. Вычисление функции приспособленности. Программная реализация. Тестирование и руководство пользователя.

    курсовая работа [1,3 M], добавлен 11.03.2014

  • Обзор алгоритмов распознания объектов на двумерных изображениях. Выбор языка программирования. Обнаружение устойчивых признаков изображения. Исследование алгоритмов поиска объектов на плоскости. Модификация алгоритма поиска максимума дискретной функции.

    дипломная работа [1,0 M], добавлен 16.06.2013

  • Методы реализации алгоритмов сортировки и алгоритмов поиска на языках программирования высокого уровня. Программирование алгоритмов сортировки и поиска в рамках создаваемого программного средства на языке Delphi. Создание руководства пользователя.

    курсовая работа [1,7 M], добавлен 16.04.2012

  • Трудности использования эволюционных алгоритмов. Построение вычислительных систем, основанных на принципах естественного отбора. Недостатки генетических алгоритмов. Примеры эволюционных алгоритмов. Направления и разделы эволюционного моделирования.

    реферат [187,4 K], добавлен 21.01.2014

  • Реализация комплекса программ поиска подстроки в тексте алгоритмом прямого поиска и алгоритмом Кнута-Морриса-Пратта. Сравнительный анализ теоретических и экспериментальных оценок эффективности алгоритмов. Разработка структуры программы, ее листинг.

    курсовая работа [2,8 M], добавлен 22.01.2015

  • Составление и программная реализация в среде Borland Delphi 7.0 алгоритмов итерационного и рекурсивного вариантов решения задачи поиска с возвращением. Исследование асимптотической временной сложности решения в зависимости от количества ячеек на плате.

    курсовая работа [57,5 K], добавлен 25.06.2013

  • Характеристика методов нечеткого моделирования и изучение системы кластеризации в пакетах прикладных программ. Разработка и реализация алгоритма для оптимизации базы правил нечеткого классификатора с помощью генетического алгоритма аппроксимации функции.

    дипломная работа [1,9 M], добавлен 21.06.2014

  • Исследование проблемы сравнения звуковых файлов и определение степени их схожести. Сравнение файлов с использованием метода нечеткого поиска, основанного на метрике (расстоянии) Левенштейна. Сравнение MIDI-файлов и реализация алгоритмов считывания.

    курсовая работа [2,0 M], добавлен 14.07.2012

  • Основные генетические операторы. Схема функционирования генетического алгоритма. Задачи, решаемые с помощью генетических алгоритмов. Математическая постановка задачи оптимизации. Решение Диофантова уравнения. Программная реализация. Создание пособия.

    курсовая работа [391,4 K], добавлен 20.02.2008

  • Первые работы по симуляции эволюции. Основные понятия генетических алгоритмов. Постановка задачи и функция приспособленности. Инициализация, формирование исходной популяции. Выбор исходной популяции для генетического алгоритма, решение задач оптимизации.

    курсовая работа [714,1 K], добавлен 31.03.2015

  • Оптимизация показателей эффективности функционирования технологического контура системы управления космическим аппаратом, исследование свойств его показателей. Настройка нейронной сети, гибридизация генетического алгоритма с алгоритмами локального поиска.

    дипломная работа [4,5 M], добавлен 02.06.2011

  • Переход от словесной неформальной постановки к математической формулировке данной задачи. Оценка различных вариантов с целью выбора наиболее эффективных структур данных и алгоритмов обработки. Реализация алгоритмов на одном из языков программирования.

    курсовая работа [35,0 K], добавлен 25.06.2013

  • Теоретические сведения об алгоритмах поиска подстроки в строке. Глобализация информации в сети Internet. Интеллектуальный поиск. Алгоритм последовательного (прямого) поиска, Рабина и их применение. Анализ алгоритмов. Реализация программного кода.

    курсовая работа [230,8 K], добавлен 12.02.2009

  • Основные этапы создания алгоритмов, представление в виде программы. Рассмотрение методов решения задач. Метод поэтапных уточнений. Различие между численными и логическими алгоритмами. Реализация цикла со счетчиком. Процесс разработки сложного алгоритма.

    презентация [1,3 M], добавлен 22.10.2013

  • Основные определения поиска подстроки в строке. Простейшие алгоритмы поиска подстроки в строке. Алгоритмы последовательного поиска и Рабина-Карпа, создание и описание программы, реализующей их. Порядок работы с приложением. Тестирование алгоритмов.

    курсовая работа [2,7 M], добавлен 24.05.2012

  • Алгоритм сортировки Шейкер: математическое описание задачи и описание алгоритма. Алгоритм покрытия: построение одного кратчайшего покрытия. Описание схемы и работы алгоритма на графах: нахождение кратчайшего пути. Контрольные примеры работы алгоритмов.

    курсовая работа [43,8 K], добавлен 19.10.2010

  • Функциональная схема объекта заданной структуры. Выбор алгоритма диагностирования. Построение принципиальной схемы дешифратора технического объекта. Выбор элементной базы и построение принципиальной схемы устройства автоматического поиска неисправностей.

    контрольная работа [196,9 K], добавлен 28.01.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.