Разработка технологии генетического программирования для

реклама
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Разработка технологии генетического
программирования для генерации
автоматов управления системами со
сложным поведением
Руководитель проекта – А. А. Шалыто
Докладчик – Ф. Н. Царев
Санкт-Петербургский государственный университет
информационных технологий, механики и оптики
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ



Парадигма автоматного
программирования
Предложено в России в 1991
году
Программные системы
разрабатываются как системы
взаимодействующих
автоматизированных объектов
управления
Система управления является
системой взаимодействующих
конечных автоматов
E, X2
Система
управления





Z
Объект
управления
X1
Состояния
События и входные
переменные
Выходные воздействия
Конечный автомат
Система конечных
автоматов
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
2
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ




Решаемая проблема
Основная сложность в автоматном
программировании – построение автоматов
В большинстве случаев автоматы проектируются
вручную
Однако эвристическое построение автоматов
часто затруднено или невозможно
Решение – автоматическое построение конечных
автоматов с помощью генетического
программирования
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
3
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ






Рассматриваемая задача –
управление моделью беспилотного
летательного аппарата
Предлагаемые методы рассматриваются на
примере задачи управления моделью
беспилотного летательного аппарата
Соревнование на дальность полета
Две команды по восемь аппаратов
Ограничения: запас топлива, столкновения,
аэродинамическое взаимодействие
Цель – разработка управляющей программы
Была решена путем эвристического
построения автоматов
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
4
Аэродинамическое взаимодействие
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Области
повышенного
сопротивления
воздуха
Области
пониженного
сопротивления
воздуха
–
20°
+ +
–
20°
20°
20°
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
5
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
«Наивный» метод – полные
таблицы переходов
Естественный способ записи хромосомы состояния – табличное
представление функций переходов и действий
Полная таблица состояния
Значения
предикатов
(аргументов
функций
переходов и
действий)
x0
x1
s
z0
z1
z2
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
2
1
1
1
Значение функции
действий
(множество
действий)
Значение функции переходов
(номер целевого состояния)
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
6
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Предлагаемые методы
Метод сокращенных таблиц переходов
 Метод представления автоматов
деревьями решений
 Метод совместного применения конечных
автоматов и нейронных сетей

Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
7
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Метод сокращенных таблиц
переходов
Проблема полных таблиц – экспоненциальный рост размера
хромосомы с увеличением числа предикатов
В реальных задачах предикаты имеют «локальную природу»
Одно из решений: ограничить число предикатов, значимых в каждом
состоянии
x0
0
x1
1
x2
0
x3
1
x4
0
Множество значимых
предикатов
x1
x3
s
z0
z1
z2
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
1
2
1
1
1
x5
0
Сокращенная таблица
переходов
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
8
Операции мутации и скрещивания для
метода сокращенных таблиц
переходов
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
x0
x1
x2
x3
x4
x5
0
1
0
1
0
0
(1-p)
0
1
1
p
0
0
1
1
0
Мутация множества
значимых предикатов:
каждый значимый предикат
с некоторой вероятностью
заменяется незначимым
Мутация остальной
хромосомы происходит так
же, как для полных таблиц
1
1
1/2
1
1
1/2
1
1
Выбор значимых
предикатов детей
при скрещивании
сокращенных
таблиц
1
При заполнении таблиц детей
несколько ячеек родительских таблиц
голосуют за значение в одной ячейке
таблицы ребенка
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
9
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ


Метод представления автоматов
деревьями решений
Дерево решений –
способ представления
функции от логических
аргументов
Конечный автомат
представляется в виде
набора деревьев
решений – по одному на
каждое состояние
A
1
0
B
0
1, {1101}
5, {0101}
1
3, {0010}
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
10
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ

Операция мутации для метода
представления автоматов
деревьями решений
Мутация автомата:
с вероятностью 0.5 случайное
изменение стартового состояния;
 мутацию случайного состояния.


A
1
0
0

0
3, {0010}
1
2, {0110}
A
0
3, {1111}
B
1
2, {0110}
1
0
3, {1111}
B
Мутация дерева решений:
рекурсивный алгоритм;
 если текущий узел является
листом, то обязательно, а для
внутренних узлов с вероятностью
P, вернуть случайно
сгенерированное дерево
решений;
 иначе равновероятно перейти в
одно из поддеревьев.
A
C
1
1
0
1, {1000}
1, {0000}
A
1
2, {1110}
0
4, {0100}
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
11
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Операция скрещивания для метода
представления автоматов
деревьями решений
A

Выбирает два
поддерева: одно из
первого дерева
решений, второе из
второго, а затем
меняет их местами
B
2, {010}
C
2, {111}
C
4, {110}
A
3, {100}
1, {010}
6, {001}
2, {111}
C
5, {110}
3, {100}
C
1, {010}
A
2, {100}
C
A
2, {100}
B
5, {110}
2, {010}
C
4, {110}
6, {001}
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
12
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ




Алгоритм обрезки
недостижимых ветвей
Модификация алгоритма
обхода дерева в глубину
При рекурсивном спуске
запоминаются переменные, по
которым уже проводилось
расщепление
Если переменная встречается
второй раз, то текущий узел,
заменяется на корень
достижимого поддерева этого
узла
Решение о том, какое из
поддеревьев достижимо,
принимается на основании
запомненных значений
переменных
A
1
0
3, {1111}
B
0
1
2, {0110}
A
0
1
3, {0010}
C
0
1, {1000}
1
1, {1010}
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
13
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Пример работы алгоритма
A
1
0
3, {1111}
B
0
A
1
2, {0110}
1
0
A
0
0
1
3, {0010}
2, {0110}
C
0
1, {1000}
3, {1111}
B
1
3, {0010}
1
1, {1010}
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
14
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ


Метод совместного применения
конечных автоматов и
нейронных сетей
Система управления = нейронная сеть +
конечный автомат
Нейронная сеть преобразует вещественные
входные переменные в логические
Относительные координаты
«товарища» по команде
1
S
5
2
L
S
Относительные координаты
соперников
6
3
S
Летающая
тарелка
7
4
Угол с направлением «вперед»
Конечный
автомат
L
L
S
Время до столкновения
с ближайшей стеной
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
15
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ


Структура хромосомы
Особь = две системы
Особь
управления
беспилотным
Система управления
Система управления
летающей тарелкой
летающей тарелкой
объектом
Нейронная
Конечный
Нейронная
Конечный
Особь из двух
сеть
автомат
сеть
автомат
Состояние Нейрон
Состояние
Нейрон
систем – для учета номер
номер 1
номер 1
номер 1
1
...
...
...
...
взаимодействия
Нейрон
Состояние Нейрон
Состояние
объектов
номер 7
номер N
номер 7
номер N
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
16
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ

Мутация особи



Скрещивание и мутация для метода
совместного применения конечных
автоматов и нейронных сетей
Мутация нейронной сети
Мутация конечного автомата
Скрещивание особей


Скрещивание автоматов
Скрещивание нейронных сетей
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
17
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ



Особенности методов
Метод сокращенных таблиц переходов – в
каждом состоянии переход выбирается на основе
значений только небольшого числа входных
переменных
Метод представления деревьев решений – в
каждом состоянии переменные имеют разные
приоритеты
Метод совместного применения нейронных
сетей и конечных автоматов позволяет
автоматически строить входные переменные
логического типа на основе переменных
произвольного числового типа
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
18
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Результаты применения
генетического программирования
Построение Деревья Сокращенные Автоматы +
вручную
решений таблицы
нейронные
сети
Степень
автоматизации
построения
Высокая
Сложность
системы
управления
7 автоматов, 1 автомат,
24 состояния 6
Дальность
полета
От 200 до
225, в
среднем –
215
Средняя
состояний
Средняя
Низкая
1 автомат, 6
состояний
2 автомата по
6 состояний, 2
нейронных
сети
От 200 до От 210 до 310,в От 200 до
305,в
среднем – 240
250,в
среднем
среднем –
– 235
220
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
19
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ



Прототипы программных
средств
GAAP – поддерживает метод сокращенных
таблиц переходов
AutoAnt – поддерживает метод
представления автоматов деревьями
решений
3Genetic – поддерживает метод
совместного применения конечных
автоматов и нейронных сетей
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
20
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
GAAP
Cодержит набор
компонентов для
визуализации и анализа
работы генетического
алгоритма
 Содержит компоненты для
реализации
распределенных
вычислений функции
приспособленности, что
часто является наиболее
затратной по времени
частью генетического
алгоритма

Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
21
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ


AutoAnt
Поддерживает метод
представления автоматов
деревьями решений
Содержит набор классов
и интерфейсов,
позволяющих
использовать
генетические алгоритмы в
других приложениях,
написанных на Java
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ


3Genetic
Имеет модульную
архитектуру
Генетические
алгоритмы и способы
представления
хромосом реализованы
в виде подключаемых
модулей
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
23
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ



Результаты
Разработаны три метода генетического
программирования для генерации автоматов
управления системами со сложным поведением
Эффективность методов продемонстрирована
на задаче построения системы управления
моделью беспилотного летательного аппарата
Разработаны прототипы программных средств,
поддерживающих указанные методы
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
24
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Выполнение программных
индикаторов
Защищена одна диссертация на соискание
ученой степени кандидата технических
наук – Лобанов П. Г. Использование
генетических алгоритмов для генерации
конечных автоматов
 Опубликовано 12 статей в ведущих
научных журналах
 Получено одно свидетельство об
официальной регистрации программы для
ЭВМ

Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
25
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Спасибо за внимание
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Разработка технологии генетического программирования для генерации автоматов
управления системами со сложным поведением
26
Скачать