ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании Царев Ф. Н. Научный руководитель – д.т.н., проф. А. А. Шалыто Санкт-Петербургский государственный университет информационных технологий, механики и оптики ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Парадигма автоматного программирования Предложено в России в 1991 году Программные системы разрабатываются как системы взаимодействующих автоматизированных объектов управления Система управления является системой взаимодействующих конечных автоматов E, X2 Система управления Z Объект управления X1 Состояния События и входные переменные Выходные воздействия Конечный автомат Система конечных автоматов Царев Ф. Н. Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании 2 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Решаемая проблема Основная сложность в автоматном программировании – построение автоматов В большинстве случаев автоматы проектируются вручную Однако эвристическое построение автоматов часто затруднено или невозможно Решение – автоматическое построение конечных автоматов с помощью генетического программирования Царев Ф. Н. Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании 3 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Задача «Умный муравей» Тор – 32x32 89 клеток с едой 200 ходов Расположение еды и начальная позиция муравья фиксированы Цель – создать муравья, который съест всю еду Царев Ф. Н. Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании 4 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Что умеет муравей? Определять находится ли непосредственно перед ним еда За один игровой ход совершить одно из четырех действий: сделать шаг вперед, съедая еду, если она там находится повернуть налево повернуть направо ничего не делать Царев Ф. Н. Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании 5 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Задача «Умный муравей-3» Расположение еды на поле случайно – в каждой клетке еда есть с вероятностью μ Муравей видит восемь клеток Результат муравья – математическое ожидание числа единиц еды Вычисляется приближенно – моделированием поведения на 10000 случайных полей Царев Ф. Н. Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании 6 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Решение задачи без применения автоматов «Жадный» алгоритм На каждом шаге муравей выбирает ближайшую клетку из области видимости, в которой есть еда, и двигается к этой клетке Может быть реализован с помощью автомата с достаточно большим числом состояний При μ=0.05 результат равен 25.861 Царев Ф. Н. Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании 7 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Применение генетических алгоритмов Разные методы представления автоматов: Полные таблицы переходов (простейший метод) Сокращенные таблицы переходов (Поликарпова, Точилин) Деревья решений (Данилов) Царев Ф. Н. Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании 8 Дерево решений ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ x1 1 !x1&!x2 | x1&x2/ z1 0 x1&!x2/ z1 0 1 x2 !x1&x2/ z2 0 2 0, z1 x2 0 1 2, z2 1 1, z1 Царев Ф. Н. Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании 0, z1 9 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Предлагаемый метод Функция переходов в каждом из состояний задается с помощью абстрактного конечного автомата На вход автомату подаются значения входных переменных в некотором порядке Каждое из состояний абстрактного автомата помечено новым состоянием управляющего автомата и выходным воздействием Царев Ф. Н. Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании 10 Абстрактный автомат ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ !x1&!x2 | x1&x2/ z1 x1&!x2/ z1 0 !x1&x2/ z2 2 0 1 0 [0, z1] 0 1 [1, z1] 1 1 0 2 [2, z2] 1 Царев Ф. Н. Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании 11 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Генетический алгоритм Параметры особи – число состояний управляющего автомата и размер абстрактного автомата Начальное поколение генерируется случайным образом Для генерации очередного поколения используется элитизм Для скрещивания применяется однородный кроссовер Царев Ф. Н. Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании 12 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Результаты экспериментов 30 25 20 15 ` 10 5 0 1 17 33 49 65 81 97 113 129 145 161 177 193 209 225 241 257 273 289 305 321 337 353 369 385 401 417 433 449 465 481 497 Размер поколения – 1000 В пятисотом поколении – 26.54 (при μ=0.05) Царев Ф. Н. Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании 13 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Выводы Предложен метод представления функции переходов структурного конечного автомата с помощью набора абстрактных автоматов Проведено экспериментальное исследование этого метода на задаче “Умный муравей-3” Царев Ф. Н. Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании 14 ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Спасибо за внимание Спасибо за внимание! Царев Ф. Н. Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании 15