Verification of 800 Automata-Based Programs Built by means of Genetic Programming
-
Upload
iosif-itkin -
Category
Science
-
view
111 -
download
3
description
Transcript of Verification of 800 Automata-Based Programs Built by means of Genetic Programming
![Page 1: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/1.jpg)
1
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Верификация 800 автоматных
программ при помощи
генетического программирования
Лукин М.А., Буздалов М.В., Шалыто А.А.
Университет ИТМО
TMPA, Кострома, 2014
![Page 2: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/2.jpg)
2
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Автоматные программы
Автоматизированные объекты управления
Автоматы
Объекты управления
Удобство верификации
![Page 3: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/3.jpg)
3
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Model Checking
Модель: структура Крипке – конечный
автомат
Спецификация: темпоральная логика
Автоматическая проверка соответствия
модели спецификации.
![Page 4: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/4.jpg)
4
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Формулировка задачи
Задача поиска пути
Неполная информация
Агент
O(1) памяти
Сенсор определяет только контакт с препятствием
Препятствия конечного размера
Агент должен найти цель
![Page 5: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/5.jpg)
5
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Формулировка задачи:
дискретная версия (1)
Неограниченное клетчатое поле
Каждая клетка либо свободна, либо
содержит препятствие, занимающее
всю клетку
Каждая диагонально-связная группа
препятствий конечна
Агент занимает всю клетку
Одна из свободных клеток объявляется
целью
![Page 6: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/6.jpg)
6
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Формулировка задачи:
дискретная версия (2)
![Page 7: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/7.jpg)
7
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Решение
В работе1 при помощи генетических алгоритмов
построено 800 решений в виде автоматных
программ
Каждое решение работает верно на более, чем
104 тестах
Формального доказательства корректности нет
Будем строить доказательство методом
Проверки моделей (Model Checking)
1. Buzdalov, M., Sokolov, A.: Evolving EFSMs Solving a Path-Planning
Problem by Genetic Programming. In: Proceedings of Genetic and
Evolutionary Computation Conference Companion. pp. 591–594 (2012)
![Page 8: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/8.jpg)
8
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Входные данные
“can move forward” – может ли агент двигаться вперёд
“is move forward cool” – приближает ли движение вперёд к цели
“is at finish” – достиг ли агент цели
“is at saved” находится ли агент в сохранённой клетке
“is better than saved” – ближе ли агент к цели, чем сохранённая позиция
![Page 9: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/9.jpg)
9
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Выходные воздействия
“move forward” – сделать шаг вперёд на соседнюю клетку
“rotate positive” – повернуться по часовой стрелке на 90
“rotate negative” – повернуться против часовой стрелки на 90
“report reached” – вернуть ответ, что цель достигнута, и завершить работу
“report unreachable” – вернуть ответ, что цель недостижима, и завершить работу
“save position” – сохранить текущую позицию
“do nothing” – ничего не делать
![Page 10: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/10.jpg)
10
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Пример построенного
автомата
“can move forward”
“is move forward cool”
“is at finish”
“is at saved”
“is better than saved”
![Page 11: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/11.jpg)
11
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Проблемы верификации
Неограниченное клетчатое поле
Неограниченные координаты агента
Неограниченное расстояние до цели
![Page 12: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/12.jpg)
12
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Предложенный подход к
верификации
1. Построить гипотезу об алгоритме, который реализует
программа.
2. Построить модель программы и аппроксимации внешней
среды и множество формул, которые вместе с моделью
будут использованы верификатором для доказательства,
что данная программа соответствует гипотезе.
3. Доказать как теорему, что если программа соответствует
спецификации, то она корректна.
4. Запустить верификатор на всех автоматах, используя
модель и формулы из шага 2. Программа, которая
успешно прошла верификацию, корректна.
![Page 13: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/13.jpg)
13
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Шаг 1. Гипотеза
Автоматы реализуют модификацию
алгоритма поиска пути BUG-22, которая
учитывает, что поле клетчатое
2. http://www.stepanovpapers.com/PathPlanningStrategies.pdf
![Page 14: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/14.jpg)
14
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Алгоритм BUG-2
Агенты двигаются по кратчайшей линии к цели, пока это возможно.
Когда агент упирается в препятствие, есть две возможности. если возможно повернуть и продолжить двигаться по
кратчайшей линии к цели (не натыкаясь на препятствия), то агент может это сделать.
он может перейти в режим обхода препятствия
Когда можно оторваться от препятствия, агент это делает
Условие отрыва: агент ближе к цели, чем точка соприкосновения с препятствием и можно идти в сторону цели
![Page 15: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/15.jpg)
15
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Шаг 2. Модель
Модель на языке Promela.
Составные части модели:
1. Аппроксимация поля
2. Пересчёт состояния
3. Модель управляющего автомата
![Page 16: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/16.jpg)
16
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Аппроксимация поля
Информация о наличии препятствий в
восьми соседних клетках;
Направление агента (вверх, вниз, вправо
или влево).
Пеленг на цель
Относительное положение текущего
состояния агента по отношению к
сохранённому состоянию
![Page 17: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/17.jpg)
17
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Пересчёт состояния
То, что можно пересчитать, исходя из
имеющейся информации,
пересчитывается
Остальное недетерминированно
генерируется
![Page 18: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/18.jpg)
18
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Модель управляющего
автомата
При помощи инструмента Stater, для
каждого автомата была сгенерирована
модель на Promela
![Page 19: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/19.jpg)
19
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Недостатки модели
«Проблемное» действие: движение вперёд. Информация о клетках позади агента забывается
Информация о клетках впереди агента генерируется
Направление на цель генерируется частично
Недостатки модели Изменяющееся поле
Бесконечно большие препятствия
Бесконечно далёкая цель
«Блуждающая цель»
«Блуждающая сохранённая клетка»
![Page 20: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/20.jpg)
20
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
LTL спецификация
Два набора формул: формулы,
описывающие обход препятствия по
часовой стрелке и против
Формулы можно посмотреть на GitHub:
https://github.com/mbuzdalov/papers/blob/ma
ster/2014-hvc-bugs/formulae.ltl
![Page 21: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/21.jpg)
21
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Шаг 3. Доказательство (1)
Необходимо доказать четыре теоремы:
1. Каждый агент (который удовлетворяет спецификации) никогда не заходит внутрь препятствия
2. Если существует путь к цели, то агент когда-нибудь её достигнет
3. Если пути к цели не существует, то агент когда-нибудь сообщит об этом
4. Каждый агент заканчивает работу за конечное время
![Page 22: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/22.jpg)
22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Шаг 3. Доказательство (2)
Идея доказательства теоремы 2.
Лемма. Если существует путь к цели, то всегда верно, что агент когда-нибудь достигнет цели или когда-нибудь сохранит позицию ближе к цели, чем последнее сохранение.
Д-во. Агент стартует из сохранённой позиции. Пока можно, агент идёт к цели. Иначе, он начинает обход. По спецификации, он обходит корректно. => он будет ближе последнего сохранения => (спецификация) он сохранится ближе, либо дойдёт до цели.■
![Page 23: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/23.jpg)
23
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Шаг 3. Доказательство (3)
Теоремы и доказательства доступны в
статье и на GitHub
https://github.com/mbuzdalov/papers/blob/ma
ster/2014-hvc-bugs/proofs.txt
![Page 24: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/24.jpg)
24
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Шаг 4. Верификация
Построенные модели можно посмотреть
здесь: https://yadi.sk/d/-orvfVKnYhRFc
231 решение удовлетворяет одному из
двух вышеописанных наборов формул
Остальные 569 решений не
удовлетворяют ни одному из наборов
Вопрос об их корректности остаётся
открытым
![Page 25: Verification of 800 Automata-Based Programs Built by means of Genetic Programming](https://reader036.fdocuments.in/reader036/viewer/2022081401/5594a7251a28ab51348b465b/html5/thumbnails/25.jpg)
25
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Спасибо за внимание