Автор работы: Пользователь скрыл имя, 24 Декабря 2012 в 09:47, реферат
Генетический алгоритм — это алгоритм, который позволяет найти удовлетворительное решение к аналитически неразрешимым или сложно-решаемым проблемам через последовательный подбор и комбинирование искомых параметров с использованием механизмов, напоминающих биологическую эволюцию.
Генетические алгоритмы являются частью более общей группы методов, называемой эволюционными вычислениями, которые объединяют различные варианты использования эволюционных принципов для достижения поставленной цели.
1. Введение 2
1.1 Мягкие вычисления 2
1.2 Эволюционные вычисления 2
2. История 3
2.1 Несколько открытий в биологии 3
2.2 Ключевые работы 3
3. Классический ГА 4
3.1 Постановка задачи и функция приспособленности 4
3.2 Принцип работы ГА 5
3.3 Алгоритм работы 5
3.4 Отбор 6
3.5 Скрещивание 7
3.6 Мутация 7
3.7 Критерии останова 7
4. Теория 8
4.1 Шаблоны 8
4.2 Неявный параллелизм 9
4.3 Теорема шаблонов 9
5. Настройка ГА 10
6. Различные модификации ГА 11
6.1 Кодирование 11
6.2 Стратегии отбора 12
6.3 Кроссовер 12
6.4 Стратегии формирования нового поколения 12
7. Некоторые модели ГА 13
7.1 Genitor (Whitley) 13
7.2 CHC (Eshelman) 13
7.3 Hybrid algorithm (Davis) 13
7.4 Island Models 14
8. Факторы, создающие сложность для ГА 15
9. Выводы 16
10. Ссылки 17
ПОВОЛЖСКИЙ
ГОСУДАРСТВЕННЫЙ
«Генетические алгоритмы и их применение»
Выполнил: Афонин Андрей
ПИб-12
Руководитель: Бородин Андрей
Викторович.
г. Йошкар-Ола
2012г.
Генетические алгоритмы
Оглавление:
1. Введение 2
1.1 Мягкие вычисления 2
1.2 Эволюционные вычисления 2
2. История 3
2.1 Несколько открытий в биологии 3
2.2 Ключевые работы 3
3. Классический ГА 4
3.1 Постановка задачи и функция приспособленности 4
3.2 Принцип работы ГА 5
3.3 Алгоритм работы 5
3.4 Отбор 6
3.5 Скрещивание 7
3.6 Мутация 7
3.7 Критерии останова 7
4. Теория 8
4.1 Шаблоны 8
4.2 Неявный параллелизм 9
4.3 Теорема шаблонов 9
5. Настройка ГА 10
6. Различные модификации ГА 11
6.1 Кодирование 11
6.2 Стратегии отбора 12
6.3 Кроссовер 12
6.4 Стратегии формирования нового поколения 12
7. Некоторые модели ГА 13
7.1 Genitor (Whitley) 13
7.2 CHC (Eshelman) 13
7.3 Hybrid algorithm (Davis) 13
7.4 Island Models 14
8. Факторы, создающие сложность для ГА 15
9. Выводы 16
10. Ссылки 17
Генетический
алгоритм — это алгоритм, который
позволяет найти
Термин "мягкие вычисления" (Soft computing techniques) был введен Лофти Заде (основоположником нечёткой логики) в 1994 году. Это понятие объединяет такие области как:
Они дополняют друг друга и используются в различных комбинациях или самостоятельно для создания гибридных интеллектуальных систем.
Генетические алгоритмы являются частью более общей группы методов, называемой эволюционными вычислениями, которые объединяют различные варианты использования эволюционных принципов для достижения поставленной цели.
Также в ней выделяют следующие направления:
Генетические
алгоритмы применяются для
Подоплекой возникновения этих методов стали несколько открытий в биологии.
Сначала Чарльз Дарвин опубликовал в 1859 году свою знаменитую работу "Происхождение видов", где были провозглашены основные принципы эволюционной теории:
Тем самым было показано, какие принципы приводят к эволюционному развитию флоры и фауны под влиянием окружающей среды. Однако вопрос о том, как генетическая информация передается от родителей потомкам, долгое время оставался открытым.
В 1944 году Эйвери, Маклеод и Маккарти опубликовали результаты своих исследований, доказывавших, что за наследственные процессы ответственна "кислота дезоксирибозного типа". Однако о том, как работает ДНК, стало известно позднее.
В 1953 году в номере журнала "Nature" вышла статья Уотсона и Крика, которые впервые предложили модель двухцепочной спирали ДНК.
Таким образом, стали известны все необходимые компоненты для реализации эволюционной модели.
Первые публикация,
которые можно отнести к
В 1966 году Л.Дж. Фогель, А.Дж. Оуэнс, М.Дж. Уолш предложили и исследовали эволюцию простых автоматов, предсказывающих символы в цифровых последовательностях.
Родителем современной теории генетических алгоритмов считается Д.Х. Холланд. Однако сначала его интересовала, прежде всего, способность природных систем к адаптации, а его мечтой было создание такой системы, которая могла бы приспосабливаться к любым условиям окружающей среды.
В 1975 году Холланд публикует свою самую знаменитую работу «Adaptation in Natural and Artificial Systems». В ней он впервые ввёл термин «генетический алгоритм» и предложил схему классического генетического алгоритма (canonical GA). В дальнейшем понятие «генетические алгоритмы» стало очень широким, и зачастую к ним относятся алгоритмы, сильно отличающиеся от классического ГА.
Ученики Холланда – Кеннет Де Йонг и Дэвид Голдберг – внесли огромный вклад в развитие ГА. Наиболее известная работа Голдберга – «Genetic algorithms in search optimization and machine learning» (1989).
Пусть перед нами стоит задача оптимизации, например:
Ax = b
в случае, когда она переопределена (n > m), то иногда оказывается естественной задача о нахождении вектора x, который "удовлетворяет этой системе наилучшим образом", т. е. из всех "не решений" является лучшим.
Переформулируем задачу оптимизации как задачу нахождения максимума некоторой функции f(x1, x2, …, xn), называемой функцией приспособленности (fitness function). Она должна принимать неотрицательные значения на ограниченной области определения (для того, чтобы мы могли для каждой особи считать её приспособленность, которая не может быть отрицательной), при этом совершенно не требуются непрерывность и дифференцируемость.
Каждый параметр функции приспособленности кодируется строкой битов.
Особью
будет называться строка, являющаяся
конкатенацией строк
1010 10110 101 … 10101
| x1 | x2 | x3 | … | xn |
Универсальность ГА заключается в том, что от конкретной задачи зависят только такие параметры, как функция приспособленности и кодирование решений. Остальные шаги для всех задач производятся одинаково.
Генетические
алгоритмы оперируют
С помощью
функции приспособленности
Таким образом, приспособленность нового поколения в среднем выше предыдущего.
В классическом ГА:
На рисунке изображена схема работы любого генетического алгоритма:
Шаг алгоритма состоит из трех стадий:
Первые две стадии (отбор и скрещивание):
Промежуточная
популяция — это набор особей,
получивших право размножаться. Наиболее
приспособленные особи могут
быть записаны туда несколько раз, наименее
приспособленные с большой
В классическом ГА вероятность каждой особи попасть в промежуточную популяцию пропорциональна ее приспособленности, т.е. работает пропорциональный отбор (proportional selection).
Существует несколько способов реализации данного отбора:
Особи
промежуточной популяции
В классическом ГА применяется одноточечный оператор кроссовера (1-point crossover): для родительских строк случайным образом выбирается точка раздела, потомки получаются путём обмена отсечёнными частями.
011010.01010001101 -> 111100.01010001101
111100.10011101001 011010.10011101001
К полученному в результате отбора и скрещивания новому поколению применяется оператор мутации, необходимый для "выбивания" популяции из локального экстремума и способствующий защите от преждевременной сходимости.
Каждый бит каждой особи популяции с некоторой вероятностью инвертируется. Эта вероятность обычно очень мала, менее 1%.
1011001100101101 -> 1011001101101101