Царев Ф.Н. (студ.).

advertisement
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Применение метода представления
функции переходов с помощью
абстрактных конечных автоматов в
генетическом программировании
Царев Ф. Н.
Научный руководитель – д.т.н., проф.
А. А. Шалыто
Санкт-Петербургский государственный университет
информационных технологий, механики и оптики
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ



Парадигма автоматного
программирования
Предложено в России в 1991
году
Программные системы
разрабатываются как системы
взаимодействующих
автоматизированных объектов
управления
Система управления является
системой взаимодействующих
конечных автоматов
E, X2
Система
управления





Z
Объект
управления
X1
Состояния
События и входные
переменные
Выходные воздействия
Конечный автомат
Система конечных
автоматов
Царев Ф. Н.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом
программировании
2
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ




Решаемая проблема
Основная сложность в автоматном
программировании – построение автоматов
В большинстве случаев автоматы проектируются
вручную
Однако эвристическое построение автоматов
часто затруднено или невозможно
Решение – автоматическое построение конечных
автоматов с помощью генетического
программирования
Царев Ф. Н.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом
программировании
3
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ





Задача «Умный муравей»
Тор – 32x32
89 клеток с едой
200 ходов
Расположение еды и
начальная позиция
муравья фиксированы
Цель – создать
муравья, который съест
всю еду
Царев Ф. Н.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом
программировании
4
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Что умеет муравей?
Определять находится ли
непосредственно перед ним еда
 За один игровой ход совершить одно из
четырех действий:





сделать шаг вперед, съедая еду, если она там
находится
повернуть налево
повернуть направо
ничего не делать
Царев Ф. Н.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом
программировании
5
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Задача «Умный муравей-3»
Расположение еды на поле случайно – в
каждой клетке еда есть с вероятностью μ
 Муравей видит восемь клеток
 Результат муравья – математическое
ожидание числа единиц еды
 Вычисляется приближенно –
моделированием поведения на 10000
случайных полей

Царев Ф. Н.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом
программировании
6
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Решение задачи без
применения автоматов
«Жадный» алгоритм
 На каждом шаге муравей выбирает
ближайшую клетку из области видимости,
в которой есть еда, и двигается к этой
клетке
 Может быть реализован с помощью
автомата с достаточно большим числом
состояний
 При μ=0.05 результат равен 25.861

Царев Ф. Н.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом
программировании
7
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ

Применение генетических
алгоритмов
Разные методы представления автоматов:



Полные таблицы переходов (простейший
метод)
Сокращенные таблицы переходов
(Поликарпова, Точилин)
Деревья решений (Данилов)
Царев Ф. Н.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом
программировании
8
Дерево решений
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
x1
1
!x1&!x2 | x1&x2/ z1
0
x1&!x2/ z1
0
1
x2
!x1&x2/ z2
0
2
0, z1
x2
0
1
2, z2
1
1, z1
Царев Ф. Н.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом
программировании
0, z1
9
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Предлагаемый метод
Функция переходов в каждом из состояний
задается с помощью абстрактного
конечного автомата
 На вход автомату подаются значения
входных переменных в некотором порядке
 Каждое из состояний абстрактного
автомата помечено новым состоянием
управляющего автомата и выходным
воздействием

Царев Ф. Н.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом
программировании
10
Абстрактный автомат
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
!x1&!x2 | x1&x2/ z1
x1&!x2/ z1
0
!x1&x2/ z2
2
0
1
0
[0, z1]
0
1
[1, z1]
1
1
0
2
[2, z2]
1
Царев Ф. Н.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом
программировании
11
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Генетический алгоритм
Параметры особи – число состояний
управляющего автомата и размер
абстрактного автомата
 Начальное поколение генерируется
случайным образом
 Для генерации очередного поколения
используется элитизм
 Для скрещивания применяется
однородный кроссовер

Царев Ф. Н.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом
программировании
12
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Результаты экспериментов
30
25
20
15
`
10
5
0
1
17 33 49 65 81 97 113 129 145 161 177 193 209 225 241 257 273 289 305 321 337 353 369 385 401 417 433 449 465 481 497
Размер поколения – 1000
В пятисотом поколении – 26.54 (при μ=0.05)
Царев Ф. Н.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом
программировании
13
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Выводы
Предложен метод представления функции
переходов структурного конечного автомата
с помощью набора абстрактных автоматов
 Проведено экспериментальное
исследование этого метода на задаче
“Умный муравей-3”

Царев Ф. Н.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом
программировании
14
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Спасибо за внимание
Спасибо за внимание!
Царев Ф. Н.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом
программировании
15
Download