Задача «Летающие тарелки

advertisement
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Разработка метода совместного
применения генетического
программирования и конечных автоматов
Царев Федор Николаевич, гр. 4538
Научный руководитель – докт. техн. наук
Шалыто Анатолий Абрамович
2007 год
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Решаемая проблема
Автоматное программирование
 Часто эвристическое построение
автоматов затруднено
 Построенные вручную автоматы зачастую
не оптимальны
 Одно из решений – автоматизированное
построение конечных автоматов с
помощью генетического
программирования

Царев Ф.Н.
Разработка метода совместного применения генетического программирования и конечных автоматов
2
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ






Задача об «Умном муравье»
Тор – 32x32
89 клеток с едой
200 ходов
Расположение еды и
начальная позиция
муравья фиксированы
Цель – создать
муравья, который
съест всю еду
Муравей = конечный
автомат
Царев Ф.Н.
Разработка метода совместного применения генетического программирования и конечных автоматов
3
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ




Решение задачи
Известные решения –
автоматы с 8 и более
состояниями
Известные подходы –
кодирование битовыми
строками + генетический
алгоритм
Предлагаемый подход –
генетическое
программирование
Построен автомат с 7
состояниями
!F / M
!F / M
F/M
2
7
!F / L
!F / M
3
F/M
!F / R
1
!F / R
F/M
!F / R
F/M
5
F/M
4
6
F/M
F/M
Царев Ф.Н.
Разработка метода совместного применения генетического программирования и конечных автоматов
4
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ





Задача «Летающие
тарелки»
Соревнование летающих тарелок на
дальность полета
Две команды по восемь тарелок
Ограничения: запас топлива, столкновения,
аэродинамическое взаимодействие
Цель – разработка управляющей программы
Задача заочного тура VI Открытой
Всесибирской олимпиады по
программированию (2005 год)
Царев Ф.Н.
Разработка метода совместного применения генетического программирования и конечных автоматов
5
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ


Проблемы
Существующие генетические алгоритмы не
работают, если входные переменные
автомата не логические (в рассматриваемой
задаче они вещественны)
Слишком большой размер особи
генетического алгоритма, если в ней хранить
управляющие системы для всех восьми
тарелок
Царев Ф.Н.
Разработка метода совместного применения генетического программирования и конечных автоматов
6
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ


Решение – 1
Совместное использование нейронной сети и
конечного автомата
Нейронная сеть преобразует вещественные
входные переменные в логические
Относительные координаты
«товарища» по команде
1
S
5
2
L
S
Относительные координаты
соперников
6
3
S
Летающая
тарелка
7
4
Угол с направлением «вперед»
Конечный
автомат
L
L
S
Время до столкновения
с ближайшей стеной
Царев Ф.Н.
Разработка метода совместного применения генетического программирования и конечных автоматов
7
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ


Решение – 2
Особь = две системы
Особь
управления
летающей тарелкой
Система управления
Система управления
летающей тарелкой
летающей тарелкой
При управлении
Нейронная
Конечный
Нейронная
Конечный
тарелкой в команде
сеть
автомат
сеть
автомат
Состояние Нейрон
Состояние
Нейрон
из восьми
номер 1
номер 1
номер 1
номер 1
...
...
...
...
используются
Нейрон
Состояние Нейрон
Состояние
данные о трех
номер 7
номер N
номер 7
номер N
ближайших тарелках
Царев Ф.Н.
Разработка метода совместного применения генетического программирования и конечных автоматов
8
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Решение – 3
Генетическое программирование
 Структурированное представление особи
 Адаптированы генетические операторы
скрещивания и мутации
 Стратегия отбора – элитизм
 Функция приспособленности вычисляется
с помощью соревнований с заданными
заранее системами управления
летающими тарелками

Царев Ф.Н.
Разработка метода совместного применения генетического программирования и конечных автоматов
9
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ

Результаты применения
генетического программирования
За сутки была построена управляющая система,
которая по ряду параметров оказалась лучше
построенной вручную
Среднее
Минимум
Максимум
Построенная с
помощью ГП
система
216,55
203,05
241,11
Построенная
вручную система
212,59
203,44
225,09
Царев Ф.Н.
Разработка метода совместного применения генетического программирования и конечных автоматов
10
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ




Результаты работы
Разработан алгоритм генетического программирования,
позволяющий в ряде задач автоматически строить
конечные автоматы
Разработан метод, позволяющий использовать в
качестве входных переменных вещественные числа
С помощью разработанного алгоритма построено
решение задачи об «Умном муравье» (автомат из семи
состояний)
С помощью разработанного метода и алгоритма
построено решение задачи «Летающие тарелки», по ряду
критериев лучшее, чем построенное вручную
Царев Ф.Н.
Разработка метода совместного применения генетического программирования и конечных автоматов
11
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Спасибо за внимание!
Спасибо за внимание!
Царев Ф.Н.
Разработка метода совместного применения генетического программирования и конечных автоматов
12
Download