Download presentation
Presentation is loading. Please wait.
1
Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Родиков Д.Е., Соколов Д.О. VI Всероссийская межвузовская конференция молодых ученых 14 – 17 апреля 2009 г., Санкт-Петербург
2
2 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» План доклада 1. Постановка задачи 2. Предлагаемый метод решения 3. Результаты
3
3 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» План доклада 1. Постановка задачи 2. Предлагаемый метод решения 3. Результаты
4
4 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Игровое поле Тор – 32x32 Вероятность существования еды в клетке μ 200 ходов Начальная позиция муравья фиксирована Цель – создать муравья, для которого математическое ожидание числа съеденных яблок максимально
5
5 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Что умеет муравей? Муравей видит восемь клеток За один игровой ход совершить одно из четырех действий: сделать шаг вперед, съедая еду, если она там находится повернуть налево повернуть направо ничего не делать
6
6 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Как задаётся муравей? Муравей задаётся конечным автоматом с действиями на переходах (автомат Мили) В качестве входного воздействия даётся массив из 8 значений типа boolean, каждое из которых означает наличие или отсутствие еды в соответствующей клетке
7
7 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» План доклада 1. Постановка задачи 2. Предлагаемый метод решения 3. Результаты
8
8 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Предлагаемый подход Генетический алгоритм Несколько функций приспособленности (Num_Fitness) Поколение разбито на несколько групп по числу используемых функций приспособленности Муравей задаётся конечным автоматом Мили = начальное состояние + описание состояний Состояние = 256 переходов в зависимости от расположения еды в 8 видимых клетках Переход = номер состояния + действие
9
9 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Создание начального поколения Случайно генерируется заданное количество автоматов Все автоматы содержат одинаковое количество состояний Автоматы разбиты на Num_Fitness равных групп В каждой группе своя функция приспособленности
10
10 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Формирование следующего поколения В каждой группе независимо от других реализуется генетический алгоритм Элитизм: фиксированная доля особей переходит напрямую в следующее поколение Остальные особи получаются скрещиванием: выбираются две особи из одной группы текущего поколения и скрещиваются С некоторой вероятностью происходит мутация полученных скрещиванием особей
11
11 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Обмен и мутации поколений Через фиксированное число шагов происходит обмен особями между группами. Каждая вторая особь группы переходит в следующую группу «Большая» мутация поколения – все особи, кроме одной лучшей в каждой группе, заменяются на случайно сгенерированную особь
12
12 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Мутация автомата Изменение начального состояния Изменение перехода состояния
13
13 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Скрещивание На входе две особи, на выходе – две особи В особях для скрещивания выбирается по одному состоянию В выбранных состояниях выбирается по одному переходу Выбранные состояния обмениваются выбранными переходами
14
14 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Функции приспособленности fitness1 = apples + (200 – steps)/200 fitness2 = apples / 2 + 100 * usedStates / statesNumber apples – число съеденных яблок steps – номер хода, на котором съедено последнее яблоко statesNumber – число состояний автомата usedStates – число состояний автомата, использованных при работе алгоритма
15
15 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Функции приспособленности fitness3 = apples * 8 + 200 * reachableStates / statesNumber fitness4 = forwardSteps + apples + (200 – steps)/200 apples – число съеденных яблок steps – номер хода, на котором съедено последнее яблоко statesNumber – число состояний автомата reachableStates – число состояний автомата, достижимых из начального forwardSteps – число шагов прямо
16
16 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Функции приспособленности В процессе работы программы для получения значения iой функции приспособленности fitness[i] рассчитывается на 10 произвольно сгенерированных полях и берётся их среднее значение При обмене особями между группами значения функций приспособленности вычисляются заново на 100 произвольных полях Для вывода результатов пересчёт функций приспособленности производится на 1000 произвольных полей
17
17 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Настраиваемые параметры Размер поколения Доля особей, переходящих в следующее поколение без изменений Доля особей для скрещивания Количество состояний Вероятность мутации Время до обмена особями поколения Время до «большой» мутации поколения
18
18 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» План доклада 1. Постановка задачи 2. Предлагаемый метод решения 3. Результаты
19
19 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Сравнение наборов функций приспособленности №ФП\μ0,010,020,030,04 1,2,3,44,418,3912,117,6 1,3,43,716,9014,719,7 1,23,167,5113,619,4 1,33,539,0013,916,9 1,43,678,2714,119,7 13,668,5913,015,9 число особей в популяции 300 число поколений 100
20
20 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Сравнение с известными результатами μРабота [1]Данная работа Разница, % 0,013,744,4118 0,027,959,0013 0,0313,814,76,5 0,0418,619,76,0 1. Данилов В. Р. Технология генетического программирования для генерации автоматов управления системами со сложным поведением http://is.ifmo.ru/download/danilov_bachelor.pdfhttp://is.ifmo.ru/download/danilov_bachelor.pdf
21
21 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Динамика изменения приспособленности 102030405060708090100 1,3,415,618,218,819,5 19,719,920,0 1,313,215,516,717,717,818,219,5 19,820,0 115,517,517,918,2 18,518,3 18,418,7 μ = 0,04 число особей в популяции 1500 число поколений 100
22
22 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Выводы Метод даёт улучшение: результат + более стабильный прирост от поколения к поколению Нужно правильно выбирать комбинации функций приспособленности Сложно создавать содержательные функции приспособленности Не эффективен при малых размерах поколений
23
23 Родиков Д.Е., Соколов Д.О. Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3» Спасибо за внимание!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.