Давыдов А.А., Поликарпова Н.И., Соколов Д.О., Царев Ф.Н

advertisement
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Разработка программного средства
3Genetic для генерации автоматов
управления системами со сложным
поведением
Государственный контракт № 02.514.11.4044 «Технология
генетического программирования для генерации
автоматов управления системами со сложным
поведением»
Руководитель проекта – А. А. Шалыто
Авторы доклада: А. А. Давыдов, Н. И. Поликарпова,
Д. О. Соколов, Ф. Н. Царев
XXXVIII научная и учебно-методическая конференция
СПбГУ ИТМО
4 февраля 2009 г.
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ



Парадигма автоматного
программирования
Предложено в России в 1991
году
Программные системы
разрабатываются как системы
взаимодействующих
автоматизированных объектов
управления
Система управления является
системой взаимодействующих
конечных автоматов
E, X2
Система
управления





Z
Объект
управления
X1
Состояния
События и входные
переменные
Выходные воздействия
Конечный автомат
Система конечных
автоматов
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
2
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ




Решаемая проблема
Основная сложность в автоматном
программировании – построение автоматов
В большинстве случаев автоматы проектируются
вручную
Однако эвристическое построение автоматов
часто затруднено или невозможно
Решение – автоматическое построение конечных
автоматов с помощью генетического
программирования
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
3
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ






Рассматриваемая задача –
управление моделью беспилотного
летательного аппарата
Предлагаемые методы рассматриваются на примере
задачи управления моделью беспилотного
летательного аппарата
Соревнование на дальность полета
Две команды по восемь аппаратов
Ограничения: запас топлива, столкновения,
аэродинамическое взаимодействие
Цель – разработка управляющей программы
Была решена путем эвристического построения
автоматов (http://is.ifmo.ru/unimod-projects/plates/)
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
4
Аэродинамическое взаимодействие
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Области
повышенного
сопротивления
воздуха
Области
пониженного
сопротивления
воздуха
–
20°
+ +
–
20°
20°
20°
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
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
Значение функции
действий
(множество
действий)
Значение функции переходов
(номер целевого состояния)
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
6
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Предлагаемые методы
Метод сокращенных таблиц переходов
 Метод представления автоматов
деревьями решений
 Метод совместного применения
конечных автоматов и нейронных сетей

Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
7
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ

Представление автоматов
деревьями решений
Представлен Даниловым В. Р. на этом же
заседании конференции.
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
8
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Метод сокращенных таблиц
переходов (1)
Проблема полных таблиц – экспоненциальный рост размера
хромосомы с увеличением числа предикатов
В реальных задачах предикаты имеют «локальную природу»
Одно из решений: ограничить число предикатов, значимых в каждом
состоянии
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
Сокращенная таблица
переходов
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
9
Метод сокращенных таблиц переходов (2).
Операции мутации и скрещивания
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
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
При заполнении таблиц детей
несколько ячеек родительских таблиц
голосуют за значение в одной ячейке
таблицы ребенка
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
10
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ


Метод совместного применения
конечных автоматов и
нейронных сетей (1)
Система управления = нейронная сеть +
конечный автомат
Нейронная сеть преобразует вещественные
входные переменные в логические
Относительные координаты
«товарища» по команде
1
S
5
2
L
S
Относительные координаты
соперников
6
3
S
Летающая
тарелка
7
4
Угол с направлением «вперед»
Конечный
автомат
L
L
S
Время до столкновения
с ближайшей стеной
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
11
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ


Метод совместного применения конечных
автоматов и нейронных сетей (2).
Структура хромосомы
Особь = две системы
Особь
управления
беспилотным
Система управления
Система управления
летающей тарелкой
летающей тарелкой
объектом
Нейронная
Конечный
Нейронная
Конечный
Особь из двух
сеть
автомат
сеть
автомат
Состояние Нейрон
Состояние
Нейрон
систем – для учета номер
номер 1
номер 1
номер 1
1
...
...
...
...
взаимодействия
Нейрон
Состояние Нейрон
Состояние
объектов
номер 7
номер N
номер 7
номер N
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
12
Метод совместного применения конечных
автоматов и нейронных сетей (3).
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ

Мутация особи



Скрещивание и мутация
Мутация нейронной сети
Мутация конечного автомата
Скрещивание особей


Скрещивание автоматов
Скрещивание нейронных сетей
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
13
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ



Особенности методов
Метод сокращенных таблиц переходов – в
каждом состоянии переход выбирается на основе
значений только небольшого числа входных
переменных.
Метод представления деревьев решений – в
каждом состоянии переменные имеют разные
приоритеты.
Метод совместного применения нейронных
сетей и конечных автоматов позволяет
автоматически строить входные переменные
логического типа на основе переменных
произвольного числового типа.
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
14
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Результаты применения
генетического программирования
Построение Деревья Сокращенные Автоматы +
вручную
решений таблицы
нейронные
сети
Степень
автоматизации
построения
Низкая
Сложность
системы
управления
7 автоматов, один
24 состояния автомат,
Дальность
полета
От 200 до
225, в
среднем –
215
Средняя
шесть
состояний
Средняя
Высокая
один автомат,
шесть состояний
2 автомата по
6 состояний,
две нейронных
сети
От 200 до От 210 до 310,в От 200 до
305,в
среднем – 240
250,в
среднем
среднем –
– 235
220
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
15
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ


Программное средство
3Genetic
3Genetic – поддерживает перечисленные
методы
Состоит из ядра и подключаемых модулей:






ядро обеспечивает взаимосвязь между модулями и
визуализацию
модуль «Задача»
модуль «Особь»
модуль «Генетический алгоритм»
модуль «Визуализатор»
модуль «Функтор»
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
16
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ

3Genetic
Генетические
алгоритмы и способы
представления
хромосом реализованы
в виде подключаемых
модулей
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
17
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ



Результаты
Разработаны три метода генетического
программирования для генерации автоматов
управления системами со сложным поведением
Эффективность методов продемонстрирована
на задаче построения системы управления
моделью беспилотного летательного аппарата
Разработан прототип программного средства,
поддерживающего указанные методы
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
18
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Спасибо за внимание
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Разработка программного средства 3Genetic для генерации автоматов управления
системами со сложным поведением
19
Download