Программа верификации вероятностных многоагентных систем
Исследование программной системы, предназначенной для моделирования и верификации вероятностных многоагентных систем. Вероятностные темпоральные логики ветвящегося и линейного времени. Алгоритм верификации полиномиальной сложности. Язык программ агентов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 19.01.2018 |
Размер файла | 278,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ПРОГРАММА ВЕРИФИКАЦИИ ВЕРОЯТНОСТНЫХ МНОГОАГЕНТНЫХ СИСТЕМ
П.В. Лебедев Тверской государственный университет, Тверь
Аннотация
В данной работе описывается программная система верификации вероятностных многоагентных систем (ВМАС). Программы ВМАС описываются на некотором процедурном языке. Верифицируемые свойства систем определяются формулами темпоральных логик PTL и PCTL. Верификация проводится методом проверки на модели.
Введение
Данная статья посвящена описанию программной системы VMASTER, предназначенной для разработки и верификации вероятностных многоагентных систем. Интеллектуальные агенты таких систем используют стохастичность в программе выполнения действий на каждом шаге работы, также ненадёжными могут быть почтовые системы передачи сообщений между агентами. Такие системы могут моделироваться конечными цепями Маркова.
Основной подход к их верификации основан на так называемом методе проверки на моделях, который широко используется в настоящее время для верификации моделей с детерминированными и недетерминированными переходами. Верификация - это проверка (или вычисление вероятности) выполнимости некоторого свойства модели.
При этом подходе спецификации свойств поведения ВМАС представляются формулами различных темпоральных логик.
Для верификации ВМАС в работах [Валиев и др., 2008], [Dekhtyar et al., 2008] было показано, как проблема верификации ВМАС в архитектуре IMPACT [Subrahmanian et al., 2000] может быть сведена к верификации конечных цепей Маркова. Некоторые другие подходы к верификации ВМАС рассматривались в работе [Kwiatkowska, 2003] .
Рассматриваемая ниже программная система VMASTER позволяет создавать и редактировать ВМАС, пошагово моделировать их работу и верифицировать созданные системы. Мы кратко описываем архитектуру и язык, даём определения нескольких темпоральных логик, и описываем возможности системы VMASTER по верификации ВМАС, а также несколько режимов верификации.
1. Архитектура ВМАС
Вероятностная многоагентная система A состоит из набора интеллектуальных агентов {A1, … , AN} и каналов связи между агентами CH[i, j]. У каждого агента Ai имеется набор параметров {x1, … , xm}, значения которых в каждый момент времени задают состояние агента. Кроме того, у него имеется почтовый ящик MsgBoxi, в котором содержатся сообщения, полученные им на текущем шаге от других агентов. Работа агента Ai определяется его управляющей вероятностной программой Pri, которая на каждом шаге в зависимости от значений параметров агента и состояния его почтового ящика может изменять значения параметров и посылать сообщения другим агентам.
Для каждой пары агентов есть каналы связи, хранящие сообщения, отправленные от одного агента другому. В канале связи CH[i, j] между агентами Ai и Aj хранится множество пар CH[i, j] = {(t1, msg1), …, (tr, …, msgr)}, где msgl - сообщение, посланное агентом Ai агенту Aj tl шагов назад.
Для каждого канала связи определена функция распределения вероятности доставки сообщения в течение заданного числа шагов. Для каждой пары агентов Ai и Aj через pCH[i, j](t) обозначим вероятность того, что сообщение от агента Ai будет доставлено агенту Aj в течении (t+1) шагов с момента отправки. В случае pCH[i, j](1)=1 для всех пар агентов, все сообщения будут передаваться ровно за два шага работы системы. Для того, чтобы все сообщения доходили до получателя, должно выполняться условие maxt pCH[i, j](t) = 1. Если это значение меньше единицы, то возможна потеря сообщений в каналах связи. Таким образом, состояние ВМАС - это состояние агентов и состояние каналов связи. Имеется некоторое начальное состояние ВМАС. Выполнение шага системы на состоянии:
1. Опустошение почтовых ящиков всех агентов.
2. Увеличение времени хранения всех сообщений в каналах связи на единицу.
3. Доставка сообщений с заданными вероятностями.
4. Выполнение программ агентов Pr1, …, PrN.
Язык программ агентов системы представляет собой процедурный C-подобный язык с добавленной возможностью работы с агентами:
1) Типы данных: целое, вещественное, строка, массив, ссылка.
2) Константы.
3) Операции:
а) арифметические операции: +, -, *, /, ^;
б) операции сравнения: >, <, >=, <=, ==, != ;
в) логические операции: && (и), || (или), !(не);
г) операции преобразования типов;
д) операции для работы с массивами.
4) Оператор присваивания, условный оператор, оператор цикла.
5) Возможность объявления и вызова функций.
6) Возможность использования локальных переменных внутри функций.
7) Оператор отправки сообщения message(«A», «B», «msg»), который посылает от агента «A» агенту «B» сообщение «msg».
8) Вероятностный оператор random(p1, …, pm), возвращающий случайное число k = 1, …, m с вероятностью pk.
Программа каждого агента имеет некоторую процедуру шага, которая выполняется на каждом шаге работы системы.
верификация вероятностный многоагентный логика
2. Вероятностные темпоральные логики и алгоритмы верификации
2.1 PTL
PTL (propositional temporal logic) - темпоральная логика линейного времени. Формулы PTL выражают свойства бесконечных траекторий графа состояний ВМАС:
Ф :: = true | a | Ф Щ Ф| Ф Ъ Ф | Ш Ф | X(Ф) | Ф U Ф
a - пропозициональная переменная.
X(Ф) - оператор Next. Требует, чтобы свойство Ф выполнялось во втором состоянии пути.
Ф1 U Ф2 - оператор Until. Оператор выполняется, если на пути имеется состояние, в котором соблюдается свойство Ф2 и в каждом предшествующем состоянии этого пути соблюдается свойство Ф1.
В статье [Courcoubetis et al., 1995] приводится алгоритм верификации для этой логики, имеющий полиномиальную сложность от размера модели и экспоненциальную сложность от размера формулы верификации.
2.2 Ограниченный PTL
Это подмножество PTL без оператора Until:
Ф :: = true | a | Ф Щ Ф| Ф Ъ Ф | Ш Ф | X(Ф)
Для ограниченного PTL автором разработан алгоритм верификации полиномиальной сложности от размера модели и размера формулы.
2.3 PCTL
PCTL (probabilistic computation tree logic) - темпоральная логика ветвящегося времени. Формулы PCTL выражают свойства деревьев вычислений:
Ф :: = true | a | Ф Щ Ф| Ф Ъ Ф | Ш Ф | [X(Ф)]Кp | [Ф U Ф]Кp
К--О { і, >}, p О [0; 1].
a - пропозициональная переменная.
[X(Ф)]Кp - выполнено, если с вероятностью Кp на следующем состоянии выполнено Ф.
[Ф1 U Ф2]--Кp - выполнено, если с вероятностью Кp существует путь, на некотором состоянии которого выполнено Ф2, а на всех предшествующих состояниях этого пути выполнено Ф1.
Для логики PCTL существует алгоритм верификации полиномиальной сложности от размера модели и размера формулы, представленный в [Hansson et al., 1994].
2.4 Расширенный PCTL
Мы расширяем PCTL, добавляя формулы следующего вида:
Ф :: = [X(k, Ф)]--Кp | XOR(k, Ф)]--Кp | [XAND(k, Ф)]--Кp , (k ? 1, целое)
К--О { і, >}, p О [0; 1], k ? 1 - целое.
Эти формулы имеют следующий смысл:
[X(k, Ф)]--Кp - выполнено, если с вероятностью Кp существует путь, ровно на k-ом состоянии которого выполнено Ф,
[XOR(k, Ф)]--Кp - выполнено, если с вероятностью Кp существует путь, для которого существует такое 1 ? i ? k, что на i-ом состоянии этого пути выполнено Ф,
[XAND(k, Ф)]--Кp - выполнено, если с вероятностью Кp существует путь, для которого для всех 1 ? i ? k на i-ом состоянии этого пути выполнено Ф.
Для расширенного PCTL в работе обобщен известный алгоритм верификации PCTL из [Hansson et al., 1994]. При этом сохранены его оценки сложности: он является полиномиальным от размера модели, размера формулы и максимального k.
3. Программа VMASTER
Автором была разработана программная система VMASTER, предназначенная для моделирования и верификации ВМАС. VMASTER включает в себя подсистемы:
1. Редактор ВМАС (рис. 1), который позволяет создавать и редактировать программы агентов и функции вероятностей каналов связи. Описание ВМАС можно сохранять в формате xml.
2. Интерпретатор ВМАС, позволяющий выполнять заданное число шагов работы ВМАС.
Рис. 1. Редактор ВМАС
3. Транслятор ВМАС, транслирующий ВМАС в цепь Маркова для дальнейшей верификации. Значения переменных на состояниях цепи Маркова, а также матрица переходов хранится в некотором компактном виде. Цепи Маркова можно сохранять и загружать.
4. Верификатор цепи Маркова (рис. 2), построенной по ВМАС.
Рис. 2. Верификатор ВМАС
Реализовано 5 видов верификации:
1) CY - верификация формулы логики PTL алгоритмом из статьи [Courcoubetis et al., 1995] с некоторыми добавлениями. Кроме стандартных темпоральных операторов X и U добавлены операторы:
а) X(k, f) - оператор, эквивалентный Xk(f).
б) X_OR(k, f) - оператор, эквивалентный X(f) Ъ X2(f) Ъ … Ъ Xk(f).
в) X_AND(k, f) - оператор, эквивалентный X(f) Щ X2(f) Щ … Щ Xk(f).
k ? 1 - целое число.
При верификации формул операторы X(k, f), X_OR(k, f) и X_AND(k, f) не раскрываются в соответствии с эквивалентностями (а), (б), (в), а обрабатываются более быстрым алгоритмом, линейным от k.
2) k-find - поиск минимального числа шагов k, ровно через которое или за которое заданная формула f логики PTL будет выполняться с заданной вероятностью. Заданная формула f верифицируется алгоритмом из [Courcoubetis et al., 1995], а число шагов k находится специально разработанным алгоритмом за линейное время от k. 3) GTP - верификация формулы ограниченной логики PTL. Для этого случая автором разработан алгоритм полиномиальной сложности от размера формулы и размера цепи Маркова. Он строит по цепи Маркова некоторый специальный граф, который позволяет получить все траектории, на которых истинна верифицируемая формула, и определить вероятность ее истинности.
4) CY+GTP - верификация с совместным использованием CY и GTP.
5) PCTL - верификация формул расширенной логики PCTL с помощью обобщённого алгоритма верификации.
Система VMASTER предоставляет следующие дополнительные возможности:
1) Возможность просмотра графа состояний ВМАС и переходов между ними.
2) После верификации CY помимо вероятности есть возможность просмотреть те траектории графа состояний ВМАС, на которых истинна заданная формула верификации.
3) Возможность представления информации о небольших цепях Маркова графически.
4) Возможность представления специального графа из верификации GTP графически.
5) Вывод всех значений параметров на состояниях ВМАС.
Эксперименты, проведенные с системой VMASTER, показали, что она достаточно успешно справляется с верификацией формул. В табл. 1 представлены результаты верификации некоторых темпоральных формул различными алгоритмами. Верифицируемая цепь Маркова имеет указанное в третьем столбце число состояний, 5 случайных переходов из каждого состояния, одно начальное состояние и случайные значения переменных на состояниях. Время верификации приводится в секундах.
Табл. 1.
Алгоритм |
Формула |
Состояния |
Время |
|
PCTL |
x1 U?0.2 (x2 U>0.7 x1) Щ (x3 U?0.4 x1) Uі0.5 x1 |
106 |
38.34 |
|
GTP |
X5(x1 Щ X2 (x3 Ъ X(x2))) |
106 |
12.95 |
|
CY |
X(x1) U (X(X(x2) Ъ x3) Щ--true U x2) |
105 |
21.93 |
|
CY |
X_OR(10, true U (X(X(x2 Щ--X(x3))))) |
105 |
66.21 |
|
PCTL |
XANDі0.5(8, x1 U>0.2 x2) Ъ X?0.6(3, Xі0.3(x3) Щ x2) |
106 |
20.59 |
Благодарности. Работа выполнена при финансовой поддержке РФФИ (проект № 10-01-00532а). Автор благодарен М. И. Дехтярю и М. К. Валиеву за помощь в работе.
Список литературы
[Валиев и др., 2008] Валиев М.К., Дехтярь М.И. Вероятностные мультиагентные системы: семантика и верификация. // Вестник Тверского государственного университета. Серия «Прикладная математика», 35(95), 4, 2008.
[Bianco et al., 1995] Bianco A., Alfaro L. Model checking of probabilistic and nondeterministic systems. In P. Thiagarajan, editor, Proc. 15th Conference on Foundations of Software Technology and Theoretical 18 Computer Science, volume 1026 of LNCS. Springer, 1995.
[Courcoubetis et al., 1995] Courcoubetis C., Yannakakis M., The complexity of probabilistic verification. J. ACM, v. 42, 4, 1995.
[Dekhtyar et al., 2008] Dekhtyar M., Dikovsky A., Valiev M. Temporal Verification of Probabilistic Multi-Agent Systems. Pillars of Computer Science: Essays Dedicated to Boris (Boaz)Trakhtenbrot on the Occasion of His 85th Birthday LNCS, N 4800, 2008.
[Hansson et al., 1994] Hansson H., Jonsson B. A logic for reasoning about time and reliability. Formal Aspects of Computing, 6(5), 1994.
[Kwiatkowska, 2003] Kwiatkowska Marta. Model checking for probability and time: from theory to practice. In Proc. 18th IEEE Symposium on Logic in Computer Science (LICS'03), IEEE Computer Society Press, 2003.
[Subrahmanian et al., 2000] Subrahmanian V. S., Bonatti P., Dix J., et al., Heterogeneous Agent Systems, MIT LPess, 2000.
Размещено на Allbest.ru
...Подобные документы
Основные понятия агентов, термины и определения, принципы классификации. Линейные модели многоагентных систем. Постановка задачи линейного программирования, свойства ее решений. Графический и симплексный способы решения ЗЛП. Использование Microsoft Excel.
курсовая работа [662,4 K], добавлен 03.11.2014Ознакомление с современными концепциями построения моделирующих систем. Характеристика основных приемов имитационного моделирования. Перевод алгоритма на язык программирования. Понятие и этапы верификации: установления правильности машинной программы.
курсовая работа [422,1 K], добавлен 30.03.2011Понятие верификации моделирующих компьютерных программ. Классификация математических моделей. Языки программирования, используемые для имитационных моделирующих программ. Способы исследования реальных систем. Методы повышения валидации и доверия к модели.
шпаргалка [38,8 K], добавлен 02.10.2013Общие сведения о верификации и аттестации программной среды. Виды деятельности, осуществляемые при составлении плана испытаний. Автоматический статический анализ программ. Метод "чистая комната", его сущность и принципы. Проверка критических систем.
реферат [505,0 K], добавлен 03.04.2014Метод вероятностно-алгебраического моделирования. Примеры определения вероятностных характеристик функционально-сложной системы в символьном виде. Получение и добавление данных с сервера "Всемирной организации здравоохранения". Структура базы данных.
курсовая работа [353,4 K], добавлен 22.06.2014Один из мировых лидеров в области создания систем автоматизированного проектирования для разработок интегральных схем - Cadence Design Systems. СФ-блоки для памяти, верификации и систем хранения данных. Анализ целостности сигналов Allegro Package SI.
презентация [1,7 M], добавлен 03.09.2014Алгоритм и программа вычисления функции на параллельной структуре. Разложение функции в ряд Маклорена. Однопроцессорный и многопроцессорный алгоритмы решения. Программа на Паскале. Размер буферной памяти между звеньями. Матрица вероятностных переходов.
контрольная работа [627,4 K], добавлен 14.02.2009Исследование и верификация системы на архитектурном и алгоритмическом уровне. Аппаратная эмуляция, контроль эквивалентности. Аналоговое и смешанное моделирование систем на кристалле. Матрица конфигурации Questa, обобщенная структурная схема платформы.
контрольная работа [274,4 K], добавлен 18.01.2014Построение баз знаний для семантической сети. Цели создания и язык представления онтологий. Структура исследований в области многоагентных интеллектуальных информационных систем, архитектура агента. Экономическое обоснование разработки базы знаний.
дипломная работа [1,6 M], добавлен 29.09.2013Базовые характеристики агента, требования к программированию. Особенности архитектуры, организуемой в виде нескольких уровней, представляющих разные функциональные характеристики. Проблемы многоагентных систем при реализации идеи коллективного поведения.
презентация [255,2 K], добавлен 25.06.2013Обнаружение аномальных данных в одномерных выборках. Метод D-статистики и Титьена-Мура, графический метод диаграмма "ящик с усами". Описание алгоритмов верификации данных. Руководство для программиста. Анализ данных на основе критерия D-статистики.
курсовая работа [938,4 K], добавлен 24.06.2013Виды, функции и структура супермаркетов, основные направления деятельности. Функции, реализуемые подсистемами автоматизированной системы управления. Обзор методов закупки товарной продукции. Обобщенная модель управления запасами. Процессы верификации.
дипломная работа [96,8 K], добавлен 23.06.2015Автоматизация технологических процессов. Написание имитационных моделей систем с дискретными событиями. Модели систем массового обслуживания в общецелевой системе GPSS. Логическая схема алгоритмов и схема программы. Математическая модель и ее описание.
курсовая работа [1,4 M], добавлен 29.06.2011Анализ математической модели резьбового соединения с трапецеидальной резьбой. Разработка программы, выполняющей вычисление необходимого количества витков для восприятия осевой сжимающей нагрузки. Алгоритм проведения верификации. Инструкция пользователя.
курсовая работа [1,2 M], добавлен 19.01.2016Особенности моделирования биологических систем с использованием программы "AnyLogic". Влияние различных факторов на популяции жертв и хищников. Принципы имитационного моделирования и его общий алгоритм с помощью ЭВМ. Анализ результатов моделирования.
курсовая работа [922,2 K], добавлен 30.01.2016Временная и ёмкостная сложность программы. Размер входных данных. Связь сложности в худшем случае и в среднем. Понятие оптимальной программы. Классы вычислительной сложности программ. Эквивалентность по сложности. Примеры классов вычислительной сложности.
презентация [77,3 K], добавлен 19.10.2014Изучение возможностей среды статистических вычислений R для классификации многомерных неоднородных ассиметричных данных с помощью Expectation-Maximization (EM) алгоритмов. Использование R для анализа модели смеси вероятностных распределений (FMM).
реферат [1,8 M], добавлен 09.12.2014Разработка модели, имитирующей работу экономической системы (станции технического обслуживания автомобилей). Определение вероятностных характеристик системы; закрепление навыков в построении имитационной модели с помощью языка моделирования GPSS.
курсовая работа [713,6 K], добавлен 05.06.2013Моделирование и программирование динамических систем. Градиентный метод первого порядка; математическое описание системы и значений переменных в виде полиномиальной линейной модели, статистический анализ; алгоритм моделирования, разработка программы.
курсовая работа [447,0 K], добавлен 12.06.2011Реализация алгоритма верификации данных; разработка программы обнаружения аномальных данных в одномерных выборках. Характеристика методов D-статистики, Титьена-Мура, диаграммы "Ящик с усами"; обеспечение эффективности оценок статистических данных.
курсовая работа [2,5 M], добавлен 27.05.2013