Автор работы: Пользователь скрыл имя, 04 Декабря 2009 в 18:15, Не определен
Курсовая работа
Содержание.
Введение…………………………………………………………
Описание Генетического Алгоритма……………………………………3
Результаты тестирования…………………
Заключение……………………………………………………
Список литературы…………………………………
Приложение……………………………………………………
Введение.
В наше время перед человечеством каждый день возникает огромное множество проблем. И человечество нашло большое количество разных способов их решения. Одним из способов оптимизации, который хорошо себя зарекомендовал, является Эволюционный Алгоритм, и как его частный случай Генетический Алгоритм. Этот алгоритм основан на принципах биологической эволюции. Он способен отыскивать решения практически при полном отсутствии предположений о характере исследуемой функции. На сегодняшний день генетические алгоритмы доказали свою конкурентноспособность при решении многих NP-трудных задач и особенно в практических приложениях, где математические модели имеют сложную структуру и применение стандартных методов динамического или линейного программирования крайне затруднено.
Основной
механизм эволюции - это естественный
отбор. Его суть состоит в том,
что более приспособленные
Меня
очень заинтересовали генетические
алгоритмы, т.к. ранее я не встречалась
с алгоритмами решающими практически
любую оптимизационную задачу. Целью моей
работы было рассмотреть различные модификации
алгоритма на тестовых функциях и проанализировать,
при какой модификации алгоритм для всех
тестовых функций показывает хорошие
результаты.
Описание Генетического Алгоритма.
Генетический
алгоритм- это метод поиска решений
практически любой
Генетический алгоритм состоит из нескольких этапов:
Рассмотрим каждый из этих этапов подробно.
На первом этапе (Инициализация
Выращивание
- это второй шаг алгоритма, который подразумевает
восстановление индивида (фенотипа) по
известному генотипу, например - перевод
из двоичной системы в десятичную систему
исчисления. Выращивание может проводиться,
как для целых, так и для вещественных
чисел.
Следующий
этап это Оценивание. Он подразумевает
вычисление значений функции пригодности
индивидов (качества решений-кандидатов).
Селекция - во время этого шага выбираются особи из текущей популяции и заносятся в популяцию родителей, из которых в свою очередь отбирается пара индивидов, которые, в конце концов, будут скрещиваться (важно заметить, что всё это происходит случайным образом). Для имитации естественной селекции индивиды с более высокой пригодностью должны выбираться с большей вероятностью. Существует большое число различных видов селекции.
Пятый этап называется Скрещивание. Оно также бывает нескольких видов.
И последний этап это Мутация. Мутация состоит из выполнения(обычно небольших) изменений в значениях одного или нескольких генов в хромосоме. В двоичных хромосомах мутация состоит в инвертировании случайным образом выбранного бита генотипа, например 1010101010 --> 1011101010.В генетических алгоритмах мутация рассматривается как метод восстановления потерянного генетического материала (а не как поиск лучшего решения). В генетических алгоритмах мутация применяется к генам с низкой вероятностью. Можно выбирать вероятность в зависимости от длины хромосомы pm = , где M - число бит в хромосоме.
Генетический
алгоритм- это итерационный процесс.
После мутации алгоритм снова
возвращается ко второму шагу (Выращивание).
Так повторяется некоторое
Результаты тестирования.
Функция 1.
-65
,
50 индивидов
10 поколений
100 прогонов
Описание: Решение функции находили в целых числах.
Селекция | Мутация | Скрещивание | ||
1-точечное | 2-точечное | равномерное | ||
турнирная |
Высокая | 0,45 | 0,45 | 0,44 |
Средняя | 0,51 | 0,59 | 0,64 | |
Низкая | 0,55 | 0,53 | 0,68 | |
пропорциональная |
Высокая | 0,84 | 0,78 | 0,75 |
Средняя | 0,63 | 0,8 | 0,77 | |
Низкая | 0,39 | 0,57 | 0,42 |
Таблица 1.
Функция 2. Функция Растригина.
,
Точность=0,1
50 индивидов
100 поколений
100 прогонов
Описание: Вокруг глобального
минимума находится еще несколько
локальных минимумов. Поэтому для
улучшения результатов поиска, приходится
увеличивать ресурсы (количество поколений).
Селекция | Мутация | Скрещивание | ||
1-точечное | 2-точечное | равномерное | ||
турнирная |
Высокая | 0,12 | 0,09 | 0,03 |
Средняя | 0,27 | 0,19 | 0,11 | |
Низкая | 0,36 | 0,42 | 0,3 | |
пропорциональная |
Высокая | 0,58 | 0,48 | 0,37 |
Средняя | 0,63 | 0,64 | 0,56 | |
Низкая | 0,41 | 0,45 | 0,4 |
Таблица 2.
Функция 3. Функция Розенброка.
,
Точность=0,1
50 индивидов
10 поколений
100 прогонов
Описание: Вокруг глобального минимума, находится область, на которой значения функции достаточно близки к значению минимума, но т.к. явных локальных минимумов нет, алгоритм работает достаточно хорошо и при меньших ресурсах.
Селекция | Мутация | Скрещивание | ||
1-точечное | 2-точечное | равномерное | ||
турнирная |
Высокая | 0,2 | 0,36 | 0,29 |
Средняя | 0,29 | 0,33 | 0,25 | |
Низкая | 0,3 | 0,23 | 0,26 | |
пропорциональная |
Высокая | 0,29 | 0,34 | 0,4 |
Средняя | 0,15 | 0,25 | 0,32 | |
Низкая | 0,14 | 0,19 | 0,35 |