190 likes | 429 Views
Разработка методов совместного применения генетического и автоматного программирования. Федор Николаевич Царев, гр. 6538 Магистерская диссертация Научный руководитель – докт. техн. наук , профессор, зав. каф. технологий программирования Анатолий Абрамович Шалыто 2009 год.
E N D
Разработка методов совместного применения генетического и автоматного программирования Федор Николаевич Царев, гр. 6538 Магистерская диссертация Научный руководитель – докт. техн. наук, профессор, зав. каф. технологий программирования Анатолий Абрамович Шалыто 2009 год
Автоматное программирование Часто эвристическое построение автоматов затруднено Построенные вручную автоматы зачастую не оптимальны Автоматизированное построение конечных автоматов с помощью генетического программирования Решаемая проблема Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Необходимо отдельно реализовывать для каждой задачи Моделирование, как правило, требует достаточно больших вычислительных ресурсов Автоматное и генетическое программирование – традиционный метод Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Задача «Умный муравей–3» • Игровое поле – тор 32x32 • В каждой клетке еда есть с вероятностью μ • 200 ходов • Функция приспособленности вычисляется с помощью моделирования работы на 10000 случайных полях Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Решение задачи без применения автоматов • «Жадный» алгоритм • На каждом шаге муравей выбирает ближайшую клетку из области видимости, в которой есть еда, и двигается к этой клетке • Может быть реализован с помощью автомата с достаточно большим числом состояний Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Метод представления автоматов Предлагаемый Известный Дерево решений Конечный распознаватель Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Сравнение с методом деревьев решений Предлагаемый метод Существующий метод 100 поколений, размер поколения – 200 особей Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Метод на основе тестов Каждый тест: входная последовательность событий Input соответствующая ей последовательность выходных воздействий Answer Для новой задачи необходимо подготовить только новые тесты Автоматное и генетическое программирование – предлагаемый метод Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Функция приспособленности Основана на вычислении редакционного расстояния между последовательностью выходных воздействий и «правильным ответом» ED – редакционное расстояние transitionsN – число переходов в автомате Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Особь алгоритма генетического программирования • Списки переходов для каждого состояния + номер начального состояния • Для каждого перехода хранится событие, по которому он выполняется, и число выходных воздействий, но не хранятся выходные воздействия Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Алгоритм расстановки пометок • Каждый переход помечается теми выходными воздействиями, которые чаще всего встречаются на нем в тестах • Ранее применялся только при построении конечных распознавателей Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Операция скрещивания • Два варианта – обычное и с учетом тестов • Обычное – для каждого номера состояния проводятся следующие операции: • Переходы автоматов-родителей объединяются в общий список • Элементы списка переставляются случайным образом • Элементы списка распределяются по автоматам-потомкам • С учетом тестов – переходы, которые используются при обработке нескольких тестов, которые автоматы проходят лучше всего, не затрагиваются Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Операция мутации Каждое из следующих действий производится с вероятностью 5%: Изменение начального состояния Изменение каждого из переходов Изменение на единицу числа переходов для каждого из состояний (уменьшение или увеличение с вероятностью по 0.5) Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Часы с будильником • Четыре события: H, M, A, T • Две входные переменные: x1, x2 • Семь выходных воздействий: z1, z2, z3, z4, z5, z6, z7 • Пример системы со сложным поведением из книги Н. И. Поликарповой и А. А. Шалыто «Автоматное программирование» Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Система тестов • События, используемые в тестах: H, M, A, T, T [x1], T[x2], T [!x1 & !x2] • 38 тестов, описывающих поведение часов в различных режимах работы • Размер входных последовательностей – от трех до 12 событий • Размер выходных последовательностей – от одного до 12 выходных воздействий Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Построенный автомат • Задача – построить автомат из четырех состояний, содержащий 14 переходов – значение функции приспособленности 20.86 • Размер поколения – 2000 • В 1482 поколении построен автомат из трех состояний, содержащий 14 переходов, полностью совпадающий с построенным вручную Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Результаты работы • Разработан метод представления конечных автоматов управления системами со сложным поведением с помощью конечных распознавателей • Проведена апробация этого метода на задаче «Умный муравей–3» • Разработан метод построения конечных автоматов управления системами со сложным поведением с помощью генетического программирования на основе тестов • Разработан способ представления автомата в виде особи алгоритма генетического программирования • Предложен алгоритм расстановки пометок • Предложен метод скрещивания особей с учетом тестов • Проведена апробация этого метода на примере построения системы управления часами с будильником Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Спасибо за внимание! Спасибо за внимание! Ф. Н. Царев Разработка методов совместного применениягенетического и автоматного программирования
Разработка методов совместного применения генетического и автоматного программирования Федор Николаевич Царев, гр. 6538 Магистерская диссертация Научный руководитель – докт. техн. наук, профессор, зав. каф. технологий программирования Анатолий Абрамович Шалыто 2009 год