Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Царев Ф.Н., Шалыто А.А. IV Международная научно-практическая.

Презентация:



Advertisements
Похожие презентации
Применение генетических алгоритмов для генерации автоматов Мура и систем взаимодействующих автоматов Мили в задаче об «Умном муравье» А. А. Давыдов, Д.
Advertisements

Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании Царев Ф. Н. Научный руководитель.
Применение генетического программирования в задаче поиска усердных бобров Д. О. Соколов, П.В. Федотов, Ф. Н. Царев Научный руководитель – А. А. Шалыто.
Разработка методов совместного применения генетического и автоматного программирования Федор Николаевич Царев, гр Магистерская диссертация Научный.
Разработка методов совместного применения генетического и автоматного программирования Федор Николаевич Царев, гр Магистерская диссертация Научный.
Разработка методов машинного обучения на основе генетических алгоритмов и эволюционной стратегии для построения управляющих конечных автоматов Второй этап.
Разработка метода совместного применения генетического программирования и конечных автоматов Царев Федор Николаевич, гр Научный руководитель – докт.
Разработка методов совместного применения генетического и автоматного программирования Федор Николаевич Царев, гр Магистерская диссертация Научный.
Разработка методов совместного применения генетического и автоматного программирования Федор Николаевич Царев, гр Магистерская диссертация Научный.
Разработка методов совместного применения генетического и автоматного программирования Федор Николаевич Царев, гр Магистерская диссертация Научный.
Построение автоматов управления системами со сложным поведением на основе тестов с помощью генетического программирования Федор Николаевич Царев, СПбГУ.
Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением Ф. Н. Царев, А. А. Шалыто 2007 год.
Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота Ю.К.
Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением Государственный контракт «Технология.
Применение генетического программирования для построения автоматов А. А. Шалыто Г. А. Корнеев Санкт-Петербургский государственный университет информационных.
Применение генетического программирования для реализации систем со сложным поведением Санкт-Петербургский Государственный Университет Информационных Технологий,
Применение методов решения задачи удовлетворения ограничениям для построения управляющих конечных автоматов по сценариям работы Владимир Ульянцев Научный.
Тренировочное тестирование-2008 Ответы к заданиям КИМ Часть I.
Маршрутный лист «Числа до 100» ? ? ?
Тема 11 Медицинская помощь и лечение (схема 1). Тема 11 Медицинская помощь и лечение (схема 2)
Транксрипт:

Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Царев Ф.Н., Шалыто А.А. IV Международная научно-практическая конференция «Интегрированные модели и мягкие вычисления в искусственном интеллекте» мая 2007 г., Коломна

2 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» План доклада 1. Постановка задачи 2. Известные решения 3. Предлагаемый метод решения 4. Результаты

3 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» План доклада 1. Постановка задачи 2. Известные решения 3. Предлагаемый метод решения 4. Результаты

4 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Игровое поле Тор – 32x32 89 клеток с едой 200 ходов Расположение еды и начальная позиция муравья фиксированы Цель – создать муравья, который съест всю еду

5 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Что умеет муравей? Определять находится ли непосредственно перед ним еда За один игровой ход совершить одно из четырех действий: сделать шаг вперед, съедая еду, если она там находится повернуть налево повернуть направо ничего не делать

6 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Конечный автомат – способ описания муравья Автомат с действиями на переходах (автомат Мили) Придумать автомат с большим числом состояний – просто С небольшим – сложно На рисунке – 5 состояний, за 200 ходов – 81 единица еды

7 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» План доклада 1. Постановка задачи 2. Известные решения 3. Предлагаемый метод решения 4. Результаты

8 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Генетические алгоритмы–1 Jefferson D., Collins R., Cooper C., Dyer M., Flowers M., Korf R., Taylor C., Wang A. The Genesys System Кодирование автоматов битовыми строками Построен автомат из 13 состояний, позволяющий съесть всю еду за 200 ходов

9 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Генетические алгоритмы–2 Angeline P. J., Pollack J. Evolutionary Module Acquisition // Proceedings of the Second Annual Conference on Evolutionary Programming Кодирование автоматов битовыми строками + «замораживание» Построен автомат из 11 состояний, позволяющий съесть всю еду за 193 хода

10 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Генетические алгоритмы–3 Chambers L. D. Practical Handbook of Genetic Algorithms, Volume 3, Chapter 26, 6 – Algorithms to Improve the Convergence of a Genetic Algorithm with a Finite State Machine Genome. CRC Press, Кодирование автоматов битовыми строками + приведение автоматов к каноническому виду Построен автомат из 8 состояний, позволяющий съесть всю еду за 193 хода

11 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» План доклада 1. Постановка задачи 2. Известные решения 3. Предлагаемый метод решения 4. Результаты

12 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Предлагаемый подход – 1 Генетическое программирование Автомат = начальное состояние + описание состояний Состояние = два перехода Переход = номер состояния + действие public class Automaton { public Transition[][] transitions; public int initialState; public int stateCount; }

13 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Создание начального поколения Случайно генерируется заданное количество автоматов Все автоматы содержат одинаковое количество состояний

14 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Формирование следующего поколения Элитизм Фиксированная доля особей переходят напрямую Остальные – выбираются две особи из текущего поколения, и они с некоторой вероятностью скрещиваются или мутируют

15 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Мутации поколений Если за некоторое число поколений не произошло улучшений – надо что-то делать «Малая» мутация поколения – все, кроме 10% лучших «Большая» мутация поколения – все либо мутируют, либо заменяются на случайно сгенерированную особь

16 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Мутация автомата Изменение начального состояния Изменение действия на переходе Изменение состояния, в которое ведет переход Изменение условия на переходе

17 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Скрещивание На входе две особи, на выходе – две особи Родители – P1 и P2 Потомки – S1 и S2 Начальное состояние: S1.is = P1.is и S2.is = P2.is, либо S1.is = P2.is и S2.is = P1.is Переходы – есть два варианта

18 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Скрещивание переходов – первый вариант Рассмотрим состояние номер i «Перед муравьем нет еды» P1(i, 0) «Перед муравьем есть еда» P1(i, 1) Аналогично: P2(i, 0), P2(i, 1), S1(i, 0), S1(i,1), S2(i, 0), S2(i, 1) Есть 4 варианта для S1(i, 0), S1(i,1), S2(i, 0), S2(i, 1)

19 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» 4 варианта

20 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Скрещивание переходов – второй вариант В автоматах P1 и P2 найдем переходы, которые они выполняют в течение первых сорока ходов по игровому полю – TF(P1) и TF(P2) T(A) – множество переходов автомата A 2 варианта

21 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» 2 варианта

22 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Функция приспособленности F – количество еды, которое съедает за 200 ходов муравей T – номер хода, на котором муравей съедает последнюю единицу еды

23 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Настраиваемые параметры Размер поколения Доля особей, переходящих в следующее поколение Количество состояний Вероятность мутации Время до «малой» мутации поколения Время до «большой» мутации поколения

24 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» План доклада 1. Постановка задачи 2. Известные решения 3. Предлагаемый метод решения 4. Результаты

25 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Автомат из семи состояний Позволяет муравью съесть всю еду за 190 ходов Получен после генерации 160 млн. автоматов Время вычислений ~4 часа

26 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Автоматы из 8 состояний Размер поколения Доля особей, переходящих в следующее поколение Время до «малой» мутации поколения Время до «большой» мутации поколения Количество вычислений фитнес- функции

27 Царев Ф.Н., Шалыто А.А. Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Спасибо за внимание!