Слайд 2Управляющие автоматы и сценарии работы программы
Управляющий автомат:
входные события
входные переменные
выходные воздействия
Сценарий работы –
![Управляющие автоматы и сценарии работы программы Управляющий автомат: входные события входные переменные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-1.jpg)
последовательность троек
e – входное событие
f – охранное условие – Булева формула, зависящая от входных переменных
A – последовательность выходных воздействий
Приведенный управляющий автомат:
Удовлетворяет
Не удовлетворяет
Слайд 3Пример управляющего автомата
Часы с будильником
Четыре события
H – кнопка “H” нажата
M – кнопка
![Пример управляющего автомата Часы с будильником Четыре события H – кнопка “H”](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-2.jpg)
“M” нажата
A – кнопка “A” нажата
T – происходит каждый момент времени
Две входные переменные
Семь выходных воздействий
Слайд 4Требования, предъявляемые к автоматной программе
Непротиворечивость – не должно быть двух переходов, исходящих
![Требования, предъявляемые к автоматной программе Непротиворечивость – не должно быть двух переходов,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-3.jpg)
из одного состояния автомата и одновременно выполнимых при некоторой комбинации события и входных переменных
Полнота – любой комбинации события и входных переменных должен соответствовать переход в каждом состоянии
Слайд 5Постановка задачи
Рассматриваются автоматные программы с единственным объектом управления
Входные данные:
Набор сценариев работы программы
![Постановка задачи Рассматриваются автоматные программы с единственным объектом управления Входные данные: Набор](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-4.jpg)
(Sc)
Число состояний управляющего автомата (C)
Необходимо найти управляющий автомат, состоящий из C состояний и удовлетворяющий всем сценариям работы
Слайд 6Предлагаемый метод
Ulyantsev V., Tsarev F. Extended Finite-State Machine Induction using SAT-Solver /
![Предлагаемый метод Ulyantsev V., Tsarev F. Extended Finite-State Machine Induction using SAT-Solver](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-5.jpg)
Proceedings of the Tenth International Conference on Machine Learning and Applications, ICMLA 2011, Honolulu, HI, USA, 18-21 December 2011. IEEE Computer Society, 2011. Vol. 2. P. 346–349
Не гарантируется полнота
Выразить требование полноты в виде ограничений на целочисленные переменные (constraint satisfaction problem, CSP)
Слайд 7Основная идея
Каждому сценарию работы соответствует «линейный» автомат
«Раскраска» сценариев
Каждому «состоянию» каждого сценария работы
![Основная идея Каждому сценарию работы соответствует «линейный» автомат «Раскраска» сценариев Каждому «состоянию»](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-6.jpg)
необходимо поставить в соответствие состояние искомого управляющего автомата
Состояния управляющего автомата будем различать цветами
Слайд 8Этапы работы алгоритма
Построение дерева сценариев
Построение графа совместимости
Построение булевой КНФ-формулы
Набор ограничений на целочисленные
![Этапы работы алгоритма Построение дерева сценариев Построение графа совместимости Построение булевой КНФ-формулы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-7.jpg)
переменные
Запуск сторонней программы, находящей решение
Построение искомого управляющего автомата
Слайд 9Предварительные вычисления
Для каждой пары охранных условий, встречающихся в заданных сценариях:
Равны ли как
![Предварительные вычисления Для каждой пары охранных условий, встречающихся в заданных сценариях: Равны](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-8.jpg)
булевы формулы
Имеют ли общую выполняющую подстановку
Асимптотическая оценка:
O(n222m) где n – общий размер сценариев, m – наибольшее число переменных, встречающихся в охранном условии (на практике m не превышает пяти)
Слайд 101. Построение дерева сценариев
Аналогично построению бора
Алгоритм прерывается, если найдено противоречие
![1. Построение дерева сценариев Аналогично построению бора Алгоритм прерывается, если найдено противоречие](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-9.jpg)
Слайд 112. Построение графа совместимости
Вершины совпадают с вершинами дерева
Вершины соединены ребром, если существует
![2. Построение графа совместимости Вершины совпадают с вершинами дерева Вершины соединены ребром,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-10.jpg)
последовательность, различающая их
Для каждой вершины, начиная с листьев, строится множество несовместимых с ней вершин
Используется динамическое программирование
Слайд 123. Используемые переменные
Целочисленные переменные:
xv – цвет, в который покрашена вершина v (1≤xv≤C)
yi,e,f
![3. Используемые переменные Целочисленные переменные: xv – цвет, в который покрашена вершина](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-11.jpg)
– номер состояния, в которое ведет переход из состояния i, помеченный событием e и охранным условием f (1≤yi,e,f ≤C)
Слайд 133. Построение ограничений для требования непротиворечивости
Типы ограничений:
xv ≠ xu – цвета несовместимых
![3. Построение ограничений для требования непротиворечивости Типы ограничений: xv ≠ xu –](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-12.jpg)
вершин должны быть различны
(xv = i) ⇒ (yi,e,f = xu) – цвета вершин дерева не должны противоречить переходам автомата
Слайд 143. Построение ограничений для требования полноты
При условии непротиворечивости можно выразить условие полноты
Сумма
![3. Построение ограничений для требования полноты При условии непротиворечивости можно выразить условие](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-13.jpg)
выполняющих подстановок S равна 2m, где m – число переменных, используемых в переходах данного состояния и события
Слайд 154. Использование программного средства, решающего задачу удовлетворения ограничениям
Использовался пакет choco для нахождения
![4. Использование программного средства, решающего задачу удовлетворения ограничениям Использовался пакет choco для](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-14.jpg)
выполняющей подстановки
Пакет для языка Java, предназначенный, в том числе, для нахождения оптимальных расписаний
Слайд 165. Построение управляющего автомата по выполняющей подстановке (1)
Раскраска дерева сценариев
Цвет вершины соответствует
![5. Построение управляющего автомата по выполняющей подстановке (1) Раскраска дерева сценариев Цвет вершины соответствует значениям xv](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-15.jpg)
значениям xv
Слайд 175. Построение управляющего автомата по выполняющей подстановке (2)
Вершины одинаковых цветов сливаются
![5. Построение управляющего автомата по выполняющей подстановке (2) Вершины одинаковых цветов сливаются](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-16.jpg)
Слайд 18Экспериментальные исследования
Управляющий автомат для часов с будильником:
38 сценариев работы суммарной длины 242
![Экспериментальные исследования Управляющий автомат для часов с будильником: 38 сценариев работы суммарной](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-17.jpg)
+ один сценарий
Наборы случайных сценариев работы:
Генерируется случайный полный по переменным автомат
Сценарии – случайные пути в автомате
Найдены наборы сценариев, на которых проявляется преимущество разработанного метода
Слайд 19Результаты
Разработан и реализован метод построения управляющих автоматов, основанный на сведении задачи к
![Результаты Разработан и реализован метод построения управляющих автоматов, основанный на сведении задачи](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/449700/slide-18.jpg)
задаче удовлетворения ограничениям
Экспериментальные исследования продемонстрировали существование задач, для которых метод находит качественно лучшее решение