Применение методов решения задачи удовлетворения ограничениям для построения управляющих конечных автоматов по сценариям работы Владимир Ульянцев Научный.

Презентация:



Advertisements
Похожие презентации
Построение автоматов управления системами со сложным поведением на основе тестов с помощью генетического программирования Федор Николаевич Царев, СПбГУ.
Advertisements

Разработка методов совместного применения генетического и автоматного программирования Федор Николаевич Царев, гр Магистерская диссертация Научный.
Разработка методов машинного обучения на основе генетических алгоритмов и эволюционной стратегии для построения управляющих конечных автоматов Второй этап.
Разработка методов совместного применения генетического и автоматного программирования Федор Николаевич Царев, гр Магистерская диссертация Научный.
Разработка методов совместного применения генетического и автоматного программирования Федор Николаевич Царев, гр Магистерская диссертация Научный.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании Царев Ф. Н. Научный руководитель.
Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением Государственный контракт «Технология.
Разработка методов совместного применения генетического и автоматного программирования Федор Николаевич Царев, гр Магистерская диссертация Научный.
Разработка методов совместного применения генетического и автоматного программирования Федор Николаевич Царев, гр Магистерская диссертация Научный.
Совместное применение генетического программирования и верификации моделей для построения автоматов управления системами со сложным поведением К. В. Егоров,
Введение в автоматное программирование А. А. Шалыто Санкт-Петербургский государственный университет информационных технологий, механики и оптики 2009 г.
Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Царев Ф.Н., Шалыто А.А. IV Международная научно-практическая.
Автоматизированное формирование тестов при характеризации цифровых ячеек с использованием веб - доступа Лялинский Алексей Анатольевич ИППМ РАН Лялинский.
Методы автоматизации доказательства NP-полноты двумерных локально зависимых задач Дворкин М. Э. Научный руководитель: Корнеев Г. А., к. т. н., доцент КТ.
Автор: Вельдер С. Э., аспирант Руководитель: Шалыто А. А., доктор технических наук, профессор, заведующий кафедрой «Технологии программирования» Верификация.
Алгоритмы на графах Волновой метод. Постановка задачи Постановка задачи. Пусть G – неориентированный связный граф, а и b – две его вершины. Требуется.
Применение генетического программирования для реализации систем со сложным поведением Санкт-Петербургский Государственный Университет Информационных Технологий,
Автоматное программирование А. А. Шалыто Санкт-Петербургский государственный университет информационных технологий, механики и оптики 2009 г.
ОПТИМАЛЬНОЕ НЕПРЯМОЕ УПРАВЛЕНИЕ ЛИНЕЙНЫМИ ДИНАМИЧЕСКИМИ СИСТЕМАМИ Белорусский государственный университет Факультет прикладной математики и информатики.
АЛГОРИТМЫ НАХОЖДЕНИЯ КРАТЧАЙШИХ ПУТЕЙ НА ГРАФАХ..
Транксрипт:

Применение методов решения задачи удовлетворения ограничениям для построения управляющих конечных автоматов по сценариям работы Владимир Ульянцев Научный руководитель: Федор Царев I всероссийский конгресс молодых ученых НИУ ИТМО 11 апреля 2012

2 Управляющие автоматы и сценарии работы программы Управляющий автомат: – входные события – входные переменные – выходные воздействия Сценарий работы – последовательность троек – e – входное событие – f – охранное условие – Булева формула, зависящая от входных переменных – A – последовательность выходных воздействий Приведенный управляющий автомат: – Удовлетворяет – Не удовлетворяет 2

3 Пример управляющего автомата Часы с будильником Четыре события – H – кнопка H нажата – M – кнопка M нажата – A – кнопка A нажата – T – происходит каждый момент времени Две входные переменные Семь выходных воздействий

Требования, предъявляемые к автоматной программе Непротиворечивость – не должно быть двух переходов, исходящих из одного состояния автомата и одновременно выполнимых при некоторой комбинации события и входных переменных Полнота – любой комбинации события и входных переменных должен соответствовать переход в каждом состоянии 4

5 Постановка задачи Рассматриваются автоматные программы с единственным объектом управления Входные данные: – Набор сценариев работы программы (Sc) – Число состояний управляющего автомата (C) Необходимо найти управляющий автомат, состоящий из C состояний и удовлетворяющий всем сценариям работы

Предлагаемый метод Ulyantsev V., Tsarev F. Extended Finite-State Machine Induction using SAT-Solver / Proceedings of the Tenth International Conference on Machine Learning and Applications, ICMLA 2011, Honolulu, HI, USA, December IEEE Computer Society, Vol. 2. P. 346–349 – Не гарантируется полнота Выразить требование полноты в виде ограничений на целочисленные переменные (constraint satisfaction problem, CSP) 6

7 Основная идея Каждому сценарию работы соответствует «линейный» автомат «Раскраска» сценариев – Каждому «состоянию» каждого сценария работы необходимо поставить в соответствие состояние искомого управляющего автомата – Состояния управляющего автомата будем различать цветами 77

8 Этапы работы алгоритма 8 Построение дерева сценариев Построение графа совместимости Построение булевой КНФ-формулы – Набор ограничений на целочисленные переменные Запуск сторонней программы, находящей решение Построение искомого управляющего автомата

9 Предварительные вычисления Для каждой пары охранных условий, встречающихся в заданных сценариях: – Равны ли как булевы формулы – Имеют ли общую выполняющую подстановку Асимптотическая оценка: – O(n 2 2 2m ) где n – общий размер сценариев, m – наибольшее число переменных, встречающихся в охранном условии (на практике m не превышает пяти)

10 1. Построение дерева сценариев Аналогично построению бора Алгоритм прерывается, если найдено противоречие 10

11 2. Построение графа совместимости Вершины совпадают с вершинами дерева Вершины соединены ребром, если существует последовательность, различающая их Для каждой вершины, начиная с листьев, строится множество несовместимых с ней вершин Используется динамическое программирование 11

12 3. Используемые переменные Целочисленные переменные: – x v – цвет, в который покрашена вершина v (1x vC) – y i,e,f – номер состояния, в которое ведет переход из состояния i, помеченный событием e и охранным условием f (1y i,e,fC) 12

13 3. Построение ограничений для требования непротиворечивости Типы ограничений: – x v x u – цвета несовместимых вершин должны быть различны – (x v = i) (y i,e,f = x u ) – цвета вершин дерева не должны противоречить переходам автомата 13

3. Построение ограничений для требования полноты При условии непротиворечивости можно выразить условие полноты Сумма выполняющих подстановок S равна 2 m, где m – число переменных, используемых в переходах данного состояния и события 14

15 4. Использование программного средства, решающего задачу удовлетворения ограничениям Использовался пакет choco для нахождения выполняющей подстановки Пакет для языка Java, предназначенный, в том числе, для нахождения оптимальных расписаний 15

16 5. Построение управляющего автомата по выполняющей подстановке (1) Раскраска дерева сценариев Цвет вершины соответствует значениям x v 16

17 5. Построение управляющего автомата по выполняющей подстановке (2) Вершины одинаковых цветов сливаются 17

18 Экспериментальные исследования Управляющий автомат для часов с будильником : – 38 сценариев работы суммарной длины один сценарий Наборы случайных сценариев работы : – Генерируется случайный полный по переменным автомат – Сценарии – случайные пути в автомате – Найдены наборы сценариев, на которых проявляется преимущество разработанного метода 18

19 Результаты Разработан и реализован метод построения управляющих автоматов, основанный на сведении задачи к задаче удовлетворения ограничениям Экспериментальные исследования продемонстрировали существование задач, для которых метод находит качественно лучшее решение 19

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