19
ГОСУДАРСТВЕННЫ Й УНИВЕРСИТЕТ Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением Государственный контракт № 02.514.11.4044 «Технология генетического программирования для генерации автоматов управления системами со сложным поведением» Руководитель проекта – А. А. Шалыто Авторы доклада: А. А. Давыдов, Н. И. Поликарпова, Д. О. Соколов, Ф. Н. Царев XXXVIII научная и учебно-методическая конференция СПбГУ ИТМО 4 февраля 2009 г.

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

  • View
    240

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Разработка программного средства 3Genetic для генерации автоматов

управления системами со сложным поведением

Государственный контракт № 02.514.11.4044 «Технология генетического программирования для генерации автоматов

управления системами со сложным поведением»Руководитель проекта – А. А. Шалыто

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

XXXVIII научная и учебно-методическая конференция СПбГУ ИТМО

4 февраля 2009 г.

Page 2: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

2

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Парадигма автоматного программирования

Предложено в России в 1991 году

Программные системы разрабатываются как системы взаимодействующих автоматизированных объектов управления

Система управления является системой взаимодействующих конечных автоматов

Система управления

Объект управления

E, X2

Z X1

Состояния События и входные

переменные Выходные воздействия Конечный автомат Система конечных

автоматов

Page 3: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

3

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Решаемая проблема

Основная сложность в автоматном программировании – построение автоматов

В большинстве случаев автоматы проектируются вручную

Однако эвристическое построение автоматов часто затруднено или невозможно

Решение – автоматическое построение конечных автоматов с помощью генетического программирования

Page 4: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

4

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Рассматриваемая задача – управление моделью беспилотного летательного аппарата

Предлагаемые методы рассматриваются на примере задачи управления моделью беспилотного летательного аппарата

Соревнование на дальность полета Две команды по восемь аппаратов Ограничения: запас топлива, столкновения,

аэродинамическое взаимодействие Цель – разработка управляющей программы Была решена путем эвристического построения

автоматов (http://is.ifmo.ru/unimod-projects/plates/)

Page 5: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

5

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Аэродинамическое взаимодействие

Области пониженного

сопротивления воздуха

Области повышенного

сопротивления воздуха

20°

20°20°

20°

– –+ +

Page 6: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

6

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Значение функции переходов (номер целевого состояния)

x0 x1

0 0

0 1

1 0

1 1

s

0

1

0

2

0

z0 z1 z2

0 1

1 0 1

0 1 0

1 1 1

Естественный способ записи хромосомы состояния – табличное представление функций переходов и действий

Полная таблица состояния

Значения предикатов (аргументов

функций переходов и

действий)

Значение функции действий

(множество действий)

Известный метод – полные таблицы переходов

Page 7: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

7

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Предлагаемые методы

Метод сокращенных таблиц переходовМетод представления автоматов

деревьями решенийМетод совместного применения

конечных автоматов и нейронных сетей

Page 8: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

8

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Представление автоматов деревьями решений

Представлен Даниловым В. Р. на этом же заседании конференции.

Page 9: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

9

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Проблема полных таблиц – экспоненциальный рост размера хромосомы с увеличением числа предикатов

В реальных задачах предикаты имеют «локальную природу»

Одно из решений: ограничить число предикатов, значимых в каждом состоянии

x1 x3

0 0

0 1

1 0

1 1

s

0

1

0

2

0

z0 z1 z2

0 1

1 0 1

0 1 0

1 1 1

x0 x1 x2 x3 x4 x5

0 1 0 1 0 0

Множество значимых предикатов

Метод сокращенных таблиц переходов (1)

Сокращенная таблица переходов

Page 10: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

10

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

x0 x1 x2 x3 x4 x5

0 1 0 1 0 0

0 1 0 0 1 0

p(1-p)

Мутация множества значимых предикатов:

каждый значимый предикат с некоторой вероятностью заменяется незначимым

Мутация остальной хромосомы происходит так же, как для полных таблиц

1 1

1 1

11

11

11/2 1/2

Выбор значимых предикатов детей при скрещивании

сокращенных таблиц

При заполнении таблиц детей несколько ячеек родительских таблиц голосуют за значение в одной ячейке

таблицы ребенка

Метод сокращенных таблиц переходов (2). Операции мутации и скрещивания

Page 11: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

11

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Метод совместного применения конечных автоматов и нейронных сетей (1)

Система управления = нейронная сеть + конечный автомат

Нейронная сеть преобразует вещественные входные переменные в логические

S

S

S

S

L

L

L

Относительные координаты«товарища» по команде

Относительные координатысоперников

Угол с направлением «вперед»

Время до столкновенияс ближайшей стеной

1

4

3

2

5

6

7

Конечныйавтомат

Летающаятарелка

Page 12: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

12

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Метод совместного применения конечных автоматов и нейронных сетей (2). Структура хромосомы

Особь = две системы управления беспилотным объектом

Особь из двух систем – для учета взаимодействия объектов

Особь

Система управлениялетающей тарелкой

Система управлениялетающей тарелкой

Нейронномер 1

Нейронномер 7

...

Состояниеномер 1

Состояниеномер N

...

Нейронномер 1

Нейронномер 7

...

Состояниеномер 1

Состояниеномер N

...

Нейроннаясеть

Конечныйавтомат

Нейроннаясеть

Конечныйавтомат

Page 13: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

13

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Метод совместного применения конечных автоматов и нейронных сетей (3).Скрещивание и мутация

Мутация особи Мутация нейронной сети Мутация конечного автомата

Скрещивание особей Скрещивание автоматов Скрещивание нейронных сетей

Page 14: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

14

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Особенности методов

Метод сокращенных таблиц переходов – в каждом состоянии переход выбирается на основе значений только небольшого числа входных переменных.

Метод представления деревьев решений – в каждом состоянии переменные имеют разные приоритеты.

Метод совместного применения нейронных сетей и конечных автоматов позволяет автоматически строить входные переменные логического типа на основе переменных произвольного числового типа.

Page 15: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

15

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Результаты применения генетического программирования

Построение вручную

Деревья решений

Сокращенные таблицы

Автоматы + нейронные сети

Степень автоматизации построения

Низкая Средняя Средняя Высокая

Сложность системы управления

7 автоматов, 24 состояния

один автомат, шесть состояний

один автомат, шесть состояний

2 автомата по 6 состояний, две нейронных сети

Дальность полета

От 200 до 225, в среднем – 215

От 200 до 305,в среднем – 235

От 210 до 310,в среднем – 240

От 200 до 250,в среднем – 220

Page 16: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

16

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Программное средство 3Genetic

3Genetic – поддерживает перечисленные методы

Состоит из ядра и подключаемых модулей: ядро обеспечивает взаимосвязь между модулями и

визуализацию модуль «Задача» модуль «Особь» модуль «Генетический алгоритм» модуль «Визуализатор» модуль «Функтор»

Page 17: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

17

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

3Genetic

Генетические алгоритмы и способы представления хромосом реализованы в виде подключаемых модулей

Page 18: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

18

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Результаты

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

Эффективность методов продемонстрирована на задаче построения системы управления моделью беспилотного летательного аппарата

Разработан прототип программного средства, поддерживающего указанные методы

Page 19: Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением

19

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Спасибо за внимание

ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ