ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Разработка метода совместного применения генетического программирования и конечных автоматов Царев Федор Николаевич, гр. 4538 Научный руководитель – докт. техн. наук Шалыто Анатолий Абрамович 2007 год ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Решаемая проблема Автоматное программирование Часто эвристическое построение автоматов затруднено Построенные вручную автоматы зачастую не оптимальны Одно из решений – автоматизированное построение конечных автоматов с помощью генетического программирования Царев Ф.Н. Разработка метода совместного применения генетического программирования и конечных автоматов 2 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Задача об «Умном муравье» Тор – 32x32 89 клеток с едой 200 ходов Расположение еды и начальная позиция муравья фиксированы Цель – создать муравья, который съест всю еду Муравей = конечный автомат Царев Ф.Н. Разработка метода совместного применения генетического программирования и конечных автоматов 3 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Решение задачи Известные решения – автоматы с 8 и более состояниями Известные подходы – кодирование битовыми строками + генетический алгоритм Предлагаемый подход – генетическое программирование Построен автомат с 7 состояниями !F / M !F / M F/M 2 7 !F / L !F / M 3 F/M !F / R 1 !F / R F/M !F / R F/M 5 F/M 4 6 F/M F/M Царев Ф.Н. Разработка метода совместного применения генетического программирования и конечных автоматов 4 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Задача «Летающие тарелки» Соревнование летающих тарелок на дальность полета Две команды по восемь тарелок Ограничения: запас топлива, столкновения, аэродинамическое взаимодействие Цель – разработка управляющей программы Задача заочного тура VI Открытой Всесибирской олимпиады по программированию (2005 год) Царев Ф.Н. Разработка метода совместного применения генетического программирования и конечных автоматов 5 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Проблемы Существующие генетические алгоритмы не работают, если входные переменные автомата не логические (в рассматриваемой задаче они вещественны) Слишком большой размер особи генетического алгоритма, если в ней хранить управляющие системы для всех восьми тарелок Царев Ф.Н. Разработка метода совместного применения генетического программирования и конечных автоматов 6 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Решение – 1 Совместное использование нейронной сети и конечного автомата Нейронная сеть преобразует вещественные входные переменные в логические Относительные координаты «товарища» по команде 1 S 5 2 L S Относительные координаты соперников 6 3 S Летающая тарелка 7 4 Угол с направлением «вперед» Конечный автомат L L S Время до столкновения с ближайшей стеной Царев Ф.Н. Разработка метода совместного применения генетического программирования и конечных автоматов 7 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Решение – 2 Особь = две системы Особь управления летающей тарелкой Система управления Система управления летающей тарелкой летающей тарелкой При управлении Нейронная Конечный Нейронная Конечный тарелкой в команде сеть автомат сеть автомат Состояние Нейрон Состояние Нейрон из восьми номер 1 номер 1 номер 1 номер 1 ... ... ... ... используются Нейрон Состояние Нейрон Состояние данные о трех номер 7 номер N номер 7 номер N ближайших тарелках Царев Ф.Н. Разработка метода совместного применения генетического программирования и конечных автоматов 8 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Решение – 3 Генетическое программирование Структурированное представление особи Адаптированы генетические операторы скрещивания и мутации Стратегия отбора – элитизм Функция приспособленности вычисляется с помощью соревнований с заданными заранее системами управления летающими тарелками Царев Ф.Н. Разработка метода совместного применения генетического программирования и конечных автоматов 9 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Результаты применения генетического программирования За сутки была построена управляющая система, которая по ряду параметров оказалась лучше построенной вручную Среднее Минимум Максимум Построенная с помощью ГП система 216,55 203,05 241,11 Построенная вручную система 212,59 203,44 225,09 Царев Ф.Н. Разработка метода совместного применения генетического программирования и конечных автоматов 10 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Результаты работы Разработан алгоритм генетического программирования, позволяющий в ряде задач автоматически строить конечные автоматы Разработан метод, позволяющий использовать в качестве входных переменных вещественные числа С помощью разработанного алгоритма построено решение задачи об «Умном муравье» (автомат из семи состояний) С помощью разработанного метода и алгоритма построено решение задачи «Летающие тарелки», по ряду критериев лучшее, чем построенное вручную Царев Ф.Н. Разработка метода совместного применения генетического программирования и конечных автоматов 11 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Спасибо за внимание! Спасибо за внимание! Царев Ф.Н. Разработка метода совместного применения генетического программирования и конечных автоматов 12