Скачать презентацию Применение генетического программирования для построения автоматов А А Скачать презентацию Применение генетического программирования для построения автоматов А А

c3ca7c0cb2745bed5e5ab47fd975dc45.ppt

  • Количество слайдов: 28

Применение генетического программирования для построения автоматов А. А. Шалыто Г. А. Корнеев Санкт-Петербургский государственный Применение генетического программирования для построения автоматов А. А. Шалыто Г. А. Корнеев Санкт-Петербургский государственный университет информационных технологий, механики и оптики

Парадигма автоматного программирования Предложено в России в 1991 году l Программные системы разрабатываются как Парадигма автоматного программирования Предложено в России в 1991 году l Программные системы разрабатываются как системы взаимодействующих автоматизированных объектов управления l Система управления является системой взаимодействующих конечных автоматов l l l Состояния События и входные переменные Выходные воздействия Конечный автомат Система конечных автоматов Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 2

Преимущества автоматного подхода Обладает наибольшей эффективностью для систем со сложным поведением l Формальное и Преимущества автоматного подхода Обладает наибольшей эффективностью для систем со сложным поведением l Формальное и понятное описание поведения l Автоматическая генерация кода по диаграммам переходов l Возможность верификации программ l Проектная документация l Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 3

Инструментальное средство Uni. Mod (1) Инструментальное средство для поддержки автоматного программирования l Создано в Инструментальное средство Uni. Mod (1) Инструментальное средство для поддержки автоматного программирования l Создано в рамках ФЦНТП «Исследования и разработки по приоритетным направлениям развития науки и техники» на 2002 -2006 годы по приоритетному направлению «Информационнотелекоммуникационные системы» l Критическая технология – «Технологии производства программного обеспечения» l Вошел в число 15 наиболее инновационно перспективных и социально значимых проектов Федерального агентства по науке и инновациям l Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 4

Инструментальное средство Uni. Mod (2) Вручную Семь автоматов Автоматическая генерация Вручную Применение генетического программирования Инструментальное средство Uni. Mod (2) Вручную Семь автоматов Автоматическая генерация Вручную Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 5

Инструментальное средство Uni. Mod (3) Один из автоматов – AL Применение генетического программирования для Инструментальное средство Uni. Mod (3) Один из автоматов – AL Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 6

Решаемая проблема Основная сложность в автоматном программировании – построение автоматов l В большинстве случаев Решаемая проблема Основная сложность в автоматном программировании – построение автоматов l В большинстве случаев автоматы проектируются вручную l Однако эвристическое построение автоматов часто затруднено или невозможно l Решение – автоматическое построение конечных автоматов с помощью генетического программирования l Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 7

Три рассматриваемые задачи «Простая» задача – задача об «Умном муравье» l «Сложная» задача – Три рассматриваемые задачи «Простая» задача – задача об «Умном муравье» l «Сложная» задача – задача «Беспилотные летательные объекты» l «Народная» задача – «Разливочная линия» l Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 8

 «Простая» задача – задача об «Умном муравье» l l l Тор – 32 «Простая» задача – задача об «Умном муравье» l l l Тор – 32 x 32 89 клеток с едой 200 ходов Расположение еды и начальная позиция муравья фиксированы Цель – создать муравья, который съест всю еду Муравей = конечный автомат Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 9

Эвристическое построение задачу не решает l Пять состояний, за 200 ходов съедается 81 единица Эвристическое построение задачу не решает l Пять состояний, за 200 ходов съедается 81 единица еды или все 89 единиц еды за 314 ходов Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 10

Решение «простой» задачи l Известные решения: 13 состояний (1992) l 11 состояний (1993) l Решение «простой» задачи l Известные решения: 13 состояний (1992) l 11 состояний (1993) l 8 состояний (1999) l Известные подходы – кодирование битовыми строками + генетический алгоритм l Предлагаемый подход – генетическое программирование l Построены два автомата с 7 состояниями каждый после перебора 160 и 230 млн. автоматов l Полный перебор ~3· 1018 автоматов l Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 11

Максимальное число яблок Число состояний 1 2 3 4 5 6 7 Число яблок Максимальное число яблок Число состояний 1 2 3 4 5 6 7 Число яблок 42 42 58 77 83 (1, 5 часа, перебор) 85 (6 суток, перебор) 89 (6 часов, генетическое программирование Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 12

 «Сложная» задача – задача «Беспилотные летательные объекты» l l l Соревнование на дальность «Сложная» задача – задача «Беспилотные летательные объекты» l l l Соревнование на дальность полета Две команды по восемь объектов Ограничения: запас топлива, столкновения, аэродинамическое взаимодействие Цель – разработка управляющей программы Задача заочного тура VI Открытой Всесибирской олимпиады по программированию (2005 год) Была решена при участии автора путем эвристического построения автоматов http: //is. ifmo. ru/unimod-projects/plates/ Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 13

Беспилотный летательный объект Двигатель Бортовой компьютер Аэродинамические рули Бак с топливом Применение генетического программирования Беспилотный летательный объект Двигатель Бортовой компьютер Аэродинамические рули Бак с топливом Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 14

Аэродинамическое взаимодействие Области повышенного сопротивления воздуха Области пониженного сопротивления воздуха – 20° + + Аэродинамическое взаимодействие Области повышенного сопротивления воздуха Области пониженного сопротивления воздуха – 20° + + 20° – 20° Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 15

Решение (1) Система управления = нейронная сеть + конечный автомат l Нейронная сеть преобразует Решение (1) Система управления = нейронная сеть + конечный автомат l Нейронная сеть преобразует вещественные входные переменные в логические l Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 16

Решение (2) Особь = две системы управления беспилотным объектом l Особь из двух систем Решение (2) Особь = две системы управления беспилотным объектом l Особь из двух систем – для учета взаимодействия объектов l Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 17

Решение (3) l Мутация особи l Мутация системы управления летательным объектом l Мутация нейронной Решение (3) l Мутация особи l Мутация системы управления летательным объектом l Мутация нейронной сети § l Мутация конечного автомата § § l Мутация элемента сети Изменение начального состояния Мутация перехода Скрещивание особей l Скрещивание систем управления летающей тарелкой l Скрещивание автоматов l Скрещивание нейронных сетей Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 18

Результаты применения генетического программирования l За сутки была построена управляющая система, содержащая нейронную сеть Результаты применения генетического программирования l За сутки была построена управляющая система, содержащая нейронную сеть и один автомат с шестью состояниями (вместо семи автоматов с 21 состоянием) Построенная с помощью ГП система Построенная вручную система Среднее 216, 55 212, 59 Минимум Максимум 203, 05 241, 11 203, 44 225, 09 Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 19

 «Народная» задача – «Разливочная линия» Задача: налить как можно больше бутылок за заданный «Народная» задача – «Разливочная линия» Задача: налить как можно больше бутылок за заданный промежуток времени Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 20

Решения задачи Построен вручную Построен автоматически Применение генетического программирования для построения автоматов, управляющих системами Решения задачи Построен вручную Построен автоматически Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 21

Результаты Разработан подход к генерации автоматов для систем со сложным поведением, позволяющий повысить уровень Результаты Разработан подход к генерации автоматов для систем со сложным поведением, позволяющий повысить уровень автоматизации программирования систем этого класса l Эффективность метода продемонстрирована на трех типах примеров l Требуется дальнейшее совершенствование методов генетического программирования автоматов и разработка программного продукта – библиотеки для поддержки предлагаемого подхода l Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 22

Публикации по теме (1) Лобанов П. Г. , Шалыто А. А. Использование генетических алгоритмов Публикации по теме (1) Лобанов П. Г. , Шалыто А. А. Использование генетических алгоритмов для автоматического построения конечных автоматов в задаче о флибах //Известия РАН. Теория и системы управления. 2007. № 5. 2. Мандриков Е. А. , Кулев В. А. , Шалыто А. А. Применение генетических алгоритмов для создания управляющих автоматов в задаче о «флибах» //Информационные технологии. 2007. № 12. 3. Бедный Ю. Д. , Данилов В. Р. , Кулев В. А. , Мандриков Е. А. Разработка методов построения автоматов с помощью генетических алгоритмов /Сборник тезисов IV межвузовский конференции молодых ученых. СПб. : СПб. ГУ ИТМО. 2007. 4. Лобанов П. Г. Использование генетических алгоритмов для решения задачи об «Умном муравье» /Сборник тезисов IV межвузовский конференции молодых ученых. СПб. : СПб. ГУ ИТМО. 2007. 1. Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 23

Публикации по теме (2) 5. 6. 7. 8. Царев Ф. Н. , Шалыто А. Публикации по теме (2) 5. 6. 7. 8. Царев Ф. Н. , Шалыто А. А. Применение генетического программирования для генерации автоматов в задаче об «умном муравье» /Сборник научных трудов. IV-я Международная научнопрактическая конференция «Интегрированные модели и мягкие вычисления в искусственном интеллекте» . М. : Физматлит. 2007. Поликарпова Н. И. , Точилин В. Н. , Шалыто А. А. Применение генетического программирования для реализации систем со сложным поведением /Сборник научных трудов. IV-я Международная научно-практическая конференция «Интегрированные модели и мягкие вычисления в искусственном интеллекте» . М. : Физматлит. 2007. Лобанов П. Г. , Шалыто А. А. Использование генетических алгоритмов для решения задачи об «умном муравье» /XIV Всероссийская научно-методическая конференция «Телематика 2007» . СПб. : СПб. ГУ ИТМО. 2007. Т. 2. Царев Ф. Н. , Шалыто А. А. О построении автоматов с минимальным числом состояний для задачи об «умном муравье» //Сборник докладов X международной конференции по мягким вычислениям и измерениям. СПб. ГЭТУ «ЛЭТИ» . Т. 2, 2007. Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 24

Публикации по теме (3) Поликарпова Н. И. , Точилин В. Н. , Шалыто А. Публикации по теме (3) Поликарпова Н. И. , Точилин В. Н. , Шалыто А. А. Разработка библиотеки для генерации управляющих автоматов методом генетического программирования //Сборник докладов X международной конференции по мягким вычислениям и измерениям. СПб. ГЭТУ «ЛЭТИ» . Т. 2, 2007. 10. Мандриков Е. А. , Кулев В. А. , Шалыто А. А. Построение автоматов с помощью генетических алгоритмов для решения задачи о «флибах» //Сборник докладов X международной конференции по мягким вычислениям и измерениям. СПб. ГЭТУ «ЛЭТИ» . Т. 1, 2007. 11. Царев Ф. Н. , Шалыто А. А. Применение генетического программирования для построения мультиагентной системы одного класса /Материалы международной научно-технической конференции «Многопроцессорные вычислительные и управляющие системы» (МВУС`2007). Таганрог: НИИМВС. Т. 2. 12. Гунич И. С. , Иринев А. В. , Шалыто А. А. Автоматный подход к моделированию микроорганизмов с использованием генетических алгоритмов /Материалы международной научно-технической конференции «Многопроцессорные вычислительные и управляющие системы» (МВУС`2007). Таганрог: НИИМВС. Т. 2. Применение генетического программирования для построения автоматов, 9. управляющих системами со сложным поведением 25

Направление дальнейших исследований Разработка и анализ примера системы со сложным поведением l Проведение экспериментальных Направление дальнейших исследований Разработка и анализ примера системы со сложным поведением l Проведение экспериментальных исследований примера системы l Разработка предложений и рекомендаций по использованию результатов НИР l Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 26

Дополнительная информация l Раздел «Верификация» сайта кафедры «Технологии программирования» СПб. ГУ ИТМО по автоматному Дополнительная информация l Раздел «Верификация» сайта кафедры «Технологии программирования» СПб. ГУ ИТМО по автоматному программированию http: //is. ifmo. ru/verification/ Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 27

Спасибо за внимание Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением Спасибо за внимание Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением 28