Модель вероятностных многоагентных систем и их верификация
Исследование вопросов реализации и верификации вероятностных многоагентных систем. Анализ и оптимизация продукционной модели с вероятностной почтовой подсистемой и вероятностным выбором действий как упрощенного варианта вероятностных многоагентных систем.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 18.01.2018 |
Размер файла | 40,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
МОДЕЛЬ ВЕРОЯТНОСТНЫХ МНОГОАГЕНТНЫХ СИСТЕМ И ИХ ВЕРИФИКАЦИЯ
Лебедев П. В., студент
Тверской государственный университет
e-mail: leb_87_@mail.ru
ВВЕДЕНИЕ
Настоящая работа посвящена вопросам реализации и верификации вероятностных многоагентных систем (ВМАС). В литературе описано уже достаточно много различных архитектур МАС [1]. Мы рассматриваем достаточно простую продукционную модель с вероятностной почтовой подсистемой и вероятностным выбором действий - упрощенный вариант ВМАС из работ [2-4]. В этих работах было показано, как проблема верификации ВМАС в архитектуре IMPACT [5] может быть сведена к верификации конечных цепей Маркова. В данной работе мы расширяем темпоральный язык PTL, введя в него формулы вида X[k] f, содержательно означающие, что формула f истинна по крайней мере на одном из k следующих состояний. Введение этого оператора позволяет существенно сократить естественные утверждения о поведении динамических систем. Мы модифицируем алгоритм верификации конечных цепей Маркова из [6] для этого расширенного языка. Использование модифицированного алгоритма позволяет существенно ускорить верификацию значительного класса содержательно интересных свойств систем.
В практической части работы реализована программная система, позволяющая создавать и редактировать ВМАС, пошагово моделировать их работу и верифицировать их свойства, представленные формулами расширенного PTL. В работе представлены некоторые результаты экспериментов с построенной системой верификации.
ЛОГИКА ДЛЯ СВОЙСТВ ВЕРОЯТНОСТНЫХ МНОГОАГЕНТНЫХ СИСТЕМ
Для описания свойств ВМАС мы используем известную темпоральную логику линейного времени PTL (Propositional Temporal Logic) [7, 8]. Формулы PTL описывают свойства деревьев вычислений. Такое дерево образуется за счёт выделения некоторого состояния в модели Крипке в качестве начального состояния и последующей развёртки модели в бесконечное дерево с корнем в выделенном состоянии.
Формулы PTL строятся из булевых и темпоральных операторов.
Имеются два основных темпоральных оператора:
· Оператор сдвига по времени X (neXttime, «в следующий момент») требует, чтобы свойство соблюдалось во втором состоянии пути.
· Оператор условного ожидания pUq (Until, «до тех пор пока») выполняется, если на пути имеется состояние, в котором выполняется второе свойство q, и при этом все предшествующие состояния обладают первым свойством p.
Стандартная интерпретация формулы PTL задается на парах <траектория, состояние>, и формула считается истинной на траектории, если она истинна в начальном состоянии этой траектории.
Добавим в логику PTL новый темпоральный оператор X[k], где k - натуральное число. Содержательно, X[k] f означает, что свойство f выполнится на одном из следующих k шагов. При k = 1 X[1] f = X f.
Вообще говоря, в общем случае этот оператор выражается через обычные операторы PTL таким образом:
X[k]f ?
Определим вероятность формулы PTL на цепи Маркова. Пусть M - конечная цепь Маркова, p(s, s') - вероятность перехода из состояния s в состояние s'. Через Xn(s0) обозначим множество всех путей в цепи М длины n, начинающихся в состоянии s0. Пусть X = Xn(s0) , Вероятность этого пути равна P(X) = Будем говорить, что f истинна на X , если она истинна на любой траектории, имеющей префикс X, т.е. на траекториях, продолжающих X. Тогда вероятность формулы f на M равна:
Наш алгоритм верификации основан на алгоритме из работы [6], который поочередно устраняет темпоральные операторы из верифицируемой формулы PTL, увеличивая при этом размер цепи Маркова M.
Теорема 1. Алгоритм из [6] можно без увеличения временной сложности распространить на PTL+ X[k] . При этом вероятность формул вида X[k] f вычисляется за время O(|M|•k), а размер цепи изменяется так же, как и при обработке обычного оператора X.
В то же время, например, формула вычисляется стандартным алгоритмом из [6] за время O(|M|•2k), и количество состояний в построенной новой цепи Маркова после выполнения этой последовательности операторов может быть в 2k раз больше, чем первоначальное. верификация вероятностный многоагентный почтовый
ВЕРОЯТНОСТНАЯ МНОГОАГЕНТНАЯ СИСТЕМА
Вероятностная многоагентная система (ВМАС) состоит из интеллектуальных агентов {a1, … , aN}. Каждый агент аi имеет набор параметров (переменных) {x1, …, xki}, набор посылаемых сообщений {msgi1, …, msgiri} и программу, управляющую его работой. Предполагается, что наборы сообщений, посылаемых различными агентами, не пересекаются.
Для каждой пары агентов аi, аj есть канал связи CH[i, j], хранящий сообщения, отправленные от аi агенту аj: CH[i, j] = {(t1, msg1),…,(tk,msgk)}, где в паре (ti, msgr) msgr - имя отправленного агентом ai сообщения, ti - время нахождения сообщения msgr в канале связи (т.е. количество шагов, прошедшее с момента отправки сообщения через канал связи). Для каждого канала CH[i, j] задана дискретная функция распределение вероятностей:
P[i, j]: P[i, j](t)
Это вероятность того, что сообщение будет передано агенту aj за не более чем t шагов. В случае P[i, j](1) = 1 для всех пар агентов, все сообщения будут передаваться ровно за один шаг работы системы. Для того чтобы все сообщения доходили до получателя, последней вероятностью в списке P[i, j](t) должна быть единица. Если эта вероятность меньше единицы, то возможна потеря сообщений.
У каждого агента есть вероятностная программа, способная изменять значения переменных и посылать сообщения другим агентам. Она состоит из набора групп событий {G1, …, Gr}. Каждая группа G имеет входное условие, а также содержит некоторый список процедур {P1, … ,Ps}. Каждая процедура имеет вероятность выполнения, а также пару объектов: (Operators, Messages). Operators представляют список операторов программы вида:
<Условие> <Переменная>= <Присваиваемое выражение>,
где «Условие» и «Присваиваемое выражение» являются обычными логическими и арифметическими выражениями, над переменными и целыми константами.
Объект Messages является списком отправляемых сообщений вида:
<Условие> <Имя агента-получателя> <Имя сообщения>.
Назовём глобальным состоянием системы набор
(,…, ,…,,…,)}
Здесь xij - значение j-ого параметра агента ai, msgij - j-е сообщение агента ai, полученное на текущем шаге, CH[i, j] - состояние соответствующего канала связи.
Шаг системы означает переход из одного глобального состояния в другое. Для простоты записи пусть глобальное состояние имеет вид
,
где - переменные всех агентов, - сообщения всех агентов. Начальное состояние имеет вид:
(0,…,0),…,(0,…,0),(,…, )},
Алгоритм выполнения одного шага системой:
1) Опустошение почтовых ящиков.
Для i= 1, … , q выполняем: mi := 0;
2) Увеличение времени хранения всех сообщений на единицу.
Для i, j = 1, … , N и (t, msg) CH[i, j] выполняем: t := t+1;
3) Доставка сообщений с заданными вероятностями.
Для i, j = 1, …, N и (t, msg) CH[i, j] по порядку с вероятностью
P[i, j](t) выполняем следующие действия:
А) Удаляем сообщение из канала связи:
CH[i, j] := CH[i, j] \ (t, msg)
Б) Пополняем почтовый ящик: mmsg := mmsg + 1;
В) Если P[i, j](t) - последний элемент списка P[i, j] и P[i, j](t) < 1 и сообщение не послано агенту, то удаляем сообщение (т.к. происходит потеря информации): CH [i, j] := CH[i, j] \ (t, msg).
4) Вычисление условий групп событий агентов.
Для каждого агента ai и для каждой группы событий Gj агента ai вычисляем условие группы событий Gj над переменными глобального состояния:
e[i][j] := Calculate(«Условие входа Gj»), где Calculate(expression) - вычисление значения выражения expression на текущем состоянии.
5) Вычисление групп событий.
Пусть Gj - группа событий агента ai , для которой e[i][j] ? 0.
Для каждой такой группы выполняем одну из её процедур Pk c заданной для неё вероятностью входа.
6) Выполнение процедуры. Выполнение операторов.
Операторы выполняются последовательно по расположению в списке. Оператор («Условие» «Переменная» «Присваиваемое выражение») выполняется таким образом:
IF Calculate(«Условие») = true THEN
x[«Переменная»] := Calculate(«Присваиваемое выражение»)
Отправка сообщений.
Сообщения отправляются последовательно по расположению в списке. Сообщение («Условие» «Имя агента» «Имя сообщения») обрабатывается таким образом:
IF Calculate(Условие) = true THEN
CH[i,«Имя агента»] := CH[i, «Имя агента»] (0, «Имя сообщения»).
После последовательного применения операций (1)-(6) получается новое расширенное состояние. Обработка списков агентов, групп событий, процедур, операторов, отправляемых сообщений, списков сообщений в каналах связи выполняются последовательно по порядку следования элементов в списке.
СВЕДЕНИЕ ВЕРОЯТНОСТНОЙ МНОГОАГЕНТНОЙ СИСТЕМЫ К ЦЕПИ МАРКОВА
Для верификации ВМАС необходимо получить её представление в виде цепи Маркова. В работе построен алгоритм TranslateMarkovChain, который по данным, задающим ВМАС A, строит эквивалентную цепь Маркова MA. Мы приведем содержательное описание этого алгоритма. Входными данными алгоритма TranslateMarkovChain являются: описание ВМАС, включающее параметры, сообщения и программы всех агентов системы и вероятностные распределения для каналов связи, набор возможных начальных состояний S1, …, Ss с распределением вероятностей на них: p01,…,p0s. Результатом работы алгоритма TranslateMarkovChain является цепь Маркова, состояния которой соответствуют состояниям входной ВМАС, и для каждого состояния цепи указан список исходящих дуг с вероятностями переходов по ним.
Алгоритм использует следующие внутренние структуры данных:
Q - очередь для хранения расширенных состояний, для которых ещё не находились переходы в другие состояния.
GlobalStates - упорядоченный список всех найденных состояний.
q.probability - вероятность перехода в состояние q из текущего.
OldStates, NewStates - упорядоченные списки, хранящие состояния, получающиеся за один шаг из текущего.
Алгоритм TranslateMarkovChain
1) Заполняем начальное распределение цепи Маркова:
P0 = {p01,…,p0s}.
2) Добавляем начальные состояния в очередь Q.
3) Пока очередь Q не пуста, выполняем шаги 4-11:
4) Выбираем текущее состояние C0 из очереди Q, помещаем его в список текущих состояний NewStates и помечаем его вероятность С.probability := 1.
5) Опустошаем почтовые ящики для C: mi := 0 для всех i=1,…,q.
6) Увеличиваем время хранения сообщений в каналах связи CHij={t,msg} на единицу для С: CHij:= {t+1,msg} для всех i, j.
7) Получение сообщений агентами с вероятностью: для каждого текущего состояния C из NewStates и для каждого агента вычисляются два состояния C1 и С2: C1 - если сообщение будет доставлено, C2 - если сообщение не будет доставлено, и вычисляется вероятность этих состояний: C1.probability := C.probability * pCH[i,j](t), C2.probability := C1.probability * (1-pCH[I,j](t)). После чего C1 и C2 помещаются в отсортированный список NewStates вместо C.
8) Выполнение программы с вероятностью: для каждого текущего состояния C из NewStates, для каждого агента и для каждой группы событий G вычисляются состояния C1,…,Ck, где Ci - состояние, полученное из C путём выполнения процедуры Proci из группы событий G, и вычисляется вероятность каждого такого состояния: Сi .probability := C.probability * Probi , где Probi - вероятность входа в процедуру Proci. После этого C1,…,Ck помещаются в NewStates вместо C.
9) Если в список NewStates попали два одинаковых состояния, то оставляем одно из них, а вероятность обоих складываем.
10) Для каждого состояния C, находящегося в NewStates, добавляем переход в цепь Маркова с вероятностью P(С0, С) = С.probability. Если состояние С ещё не встречалось в списке GlobalStates, то добавляем его в этот список и в очередь Q, а также в список состояний марковской цепи.
11) Продолжаем цикл, переходя к шагу 3.
Пусть с - число констант, используемых в описании системы, p максимальное число параметров у агента, m - число различных сообщений и n - число агентов системы. Тогда прямой подсчет показывает, что число всех глобальных состояний системы |S|(cp2m)n.
Теорема 2. Алгоритм TranslateMarkovChain по ВМАС A строит эквивалентную цепь Маркова MA за время O(|S|2log |S|), где S - множество всех глобальных состояний A.
ЭКСПЕРИМЕНТАЛЬНОЕ ИССЛЕДОВАНИЕ
Указанные выше алгоритмы были реализованы в программе PMASVerification, которая содержит следующие основные компоненты:
· Редактор ВМАС позволяет задавать и редактировать все данные, задающие ВМАС.
· Транслятор ВМАС в цепь Маркова реализует алгоритм TranslateMarkovChain.
· Редактор формул темпоральной логики позволяет вводить и редактировать формулы, задающие проверяемые свойства ВМАС.
· Верификатор реализует алгоритм вычисления вероятностей формул PTL+ X[k].
Ниже в таблицах представлены некоторые результаты экспериментов с программой PMASVerification. Определялось время работы в мсек программы верификации цепи Маркова в зависимости от сложности верифицируемой формулы, числа состояний цепи и процента количества дуг в среднем из одного состояния по отношению к общему числу состояний (например, если в таблице указано 10% процентов дуг, а всего состояний 1000, то из каждого состояния в среднем выходит 100 дуг). Вероятности переходов и начальное распределение, а также значения пропозициональных переменных на состояниях задавались случайно. Верифицируемые формулы имеют вид:
· (x1 U x2)
· (x1 U x2) & (x3 U x4)
· (x1 U x2) & (x3 U x4) & (x5 U x6)
· X x1
· X x1 & X x2
· X x1 & X x2 & X x3
Начнем со сравнения времени вычисления оператора X[3] с его аналогом, выраженным через оператор X.
Табл. 1. Формулы с оператором X[k] (1% дуг)
Состояния |
X[3](x1) |
XXX(x1) v XX(x1) v X(x1) |
|
1000 |
2 |
344 |
|
3000 |
78 |
2734 |
|
5000 |
219 |
6250 |
|
8000 |
625 |
13969 |
Таблица 1 показывает, что использование оператора X[k] существенно сокращает время вычисления.
Табл. 2. Формулы с оператором U (1% дуг)
Состояния |
1 оператор |
2 оператора |
3 оператора |
|
1000 |
31 |
94 |
140 |
|
2000 |
531 |
1875 |
4687 |
|
3000 |
3125 |
9672 |
15406 |
|
5000 |
20515 |
59500 |
121765 |
Табл. 3. Формулы с оператором X (1% дуг)
Состояния |
1 оператор |
2 оператора |
3 оператора |
|
1000 |
15 |
31 |
63 |
|
2000 |
32 |
94 |
297 |
|
3000 |
63 |
203 |
609 |
|
5000 |
203 |
593 |
1422 |
Табл. 4. Формулы с оператором U (10% дуг)
Состояния |
1 оператор |
2 оператора |
3 оператора |
|
1000 |
219 |
625 |
1234 |
|
2000 |
2250 |
5329 |
10968 |
|
3000 |
5532 |
20110 |
37937 |
|
5000 |
29656 |
89797 |
170047 |
Табл. 5. Формулы с оператором X (10% дуг)
Состояния |
1 оператор |
2 оператора |
3 оператора |
|
1000 |
47 |
141 |
596 |
|
2000 |
219 |
547 |
1468 |
|
3000 |
532 |
1344 |
3234 |
|
5000 |
1313 |
3547 |
9125 |
Таблицы 2 - 5 показывают, что формулы, содержащие только X, верифицируются существенно быстрее формул с тем же числом операторов U, но во всех случаях усложнение формулы приводит к быстрому (теоретически экспоненциальному) росту времени ее верификации. Увеличение «плотности» цепи Маркова также приводит к почти линейному росту времени верификации.
Благодарности
Автор благодарен М.И. Дехтярю за постановку задачи и внимание к работе и М.К. Валиеву за полезные замечания.
ЛИТЕРАТУРА
1. Тарасов В.Б. От многоагентных систем к интеллектуальным организациям. - М.: Эдиториал УРСС, 2002.
2. Dekhtyar M.I., Dikovsky A.Ja., Valiev M.K. Temporal Verification of Probabilistic Multi-Agent Systems// Pillars of Computer Science: Essays Dedicated to Boris (Boaz)Trakhtenbrot on the Occasion of His 85th Birthday. Lecture Notes in Computer Science, №4800. - Berlin: Springer, 2008. - P.256-265.
3. Валиев М.К., Дехтярь М.И., Диковский А.Я. О свойствах многоагентных систем с вероятностными каналами связи// Интегрированные модели и мягкие вычисления в искусственном интеллекте. Труды IV-ой Международной научно-практической конференции (Коломна, 28-30 мая 2007 г.). - М.: Физматлит, 2007. - С.119-126.
4. Валиев М.К., Дехтярь М.И. Вероятностные мультиагентные системы: семантика и верификация// Вестник Тверского государственного университета, серия «Прикладная математика». - 2008. - № 35(95). - C.9-22.
5. Dix J., Nanni M., and Subrahmanian V. S. Probabilistic Agent Reasoning// ACM Transactions of Computational Logic. - 2000. - Vol.1, №2. - P.201-245.
6. Courcoubetis C., Yannakakis M. The Complexity of Probabilistic Verification // Communications of ACM. - 1995. - Vol.42, №4. - P.857-907.
7. Baier C., Katoen J. Principles of Model Checking.- Cambridge MA: MIT Press, 2008.
8. Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: Model Checking. - М.: МЦНМО, 2002.
Размещено на Allbest.ru
...Подобные документы
Основные понятия агентов, термины и определения, принципы классификации. Линейные модели многоагентных систем. Постановка задачи линейного программирования, свойства ее решений. Графический и симплексный способы решения ЗЛП. Использование Microsoft Excel.
курсовая работа [662,4 K], добавлен 03.11.2014Базовые характеристики агента, требования к программированию. Особенности архитектуры, организуемой в виде нескольких уровней, представляющих разные функциональные характеристики. Проблемы многоагентных систем при реализации идеи коллективного поведения.
презентация [255,2 K], добавлен 25.06.2013Метод вероятностно-алгебраического моделирования. Примеры определения вероятностных характеристик функционально-сложной системы в символьном виде. Получение и добавление данных с сервера "Всемирной организации здравоохранения". Структура базы данных.
курсовая работа [353,4 K], добавлен 22.06.2014Разработка вероятностных моделей реальных систем обслуживания. Особенности систем массового обслуживания (СМО), удовлетворяющих потребности населения в услугах определенного вида. Требования к функциям СМО на примере медицинского кабинета с тремя врачами.
курсовая работа [3,6 M], добавлен 15.11.2015Построение баз знаний для семантической сети. Цели создания и язык представления онтологий. Структура исследований в области многоагентных интеллектуальных информационных систем, архитектура агента. Экономическое обоснование разработки базы знаний.
дипломная работа [1,6 M], добавлен 29.09.2013Один из мировых лидеров в области создания систем автоматизированного проектирования для разработок интегральных схем - Cadence Design Systems. СФ-блоки для памяти, верификации и систем хранения данных. Анализ целостности сигналов Allegro Package SI.
презентация [1,7 M], добавлен 03.09.2014Исследование и верификация системы на архитектурном и алгоритмическом уровне. Аппаратная эмуляция, контроль эквивалентности. Аналоговое и смешанное моделирование систем на кристалле. Матрица конфигурации Questa, обобщенная структурная схема платформы.
контрольная работа [274,4 K], добавлен 18.01.2014Алгоритм и программа вычисления функции на параллельной структуре. Разложение функции в ряд Маклорена. Однопроцессорный и многопроцессорный алгоритмы решения. Программа на Паскале. Размер буферной памяти между звеньями. Матрица вероятностных переходов.
контрольная работа [627,4 K], добавлен 14.02.2009Общие сведения о верификации и аттестации программной среды. Виды деятельности, осуществляемые при составлении плана испытаний. Автоматический статический анализ программ. Метод "чистая комната", его сущность и принципы. Проверка критических систем.
реферат [505,0 K], добавлен 03.04.2014Построение модели одноканальной системы массового обслуживания с отказами с использованием блоков библиотеки SimEvents. Проведение экспериментов, определение статистических и вероятностных характеристик системы в стационарном режиме; листинг моделей.
лабораторная работа [384,4 K], добавлен 20.05.2013Изучение возможностей среды статистических вычислений R для классификации многомерных неоднородных ассиметричных данных с помощью Expectation-Maximization (EM) алгоритмов. Использование R для анализа модели смеси вероятностных распределений (FMM).
реферат [1,8 M], добавлен 09.12.2014Классы и группы моделей представления знаний. Состав продукционной системы. Классификация моделей представления знаний. Программные средства для реализации семантических сетей. Участок сети причинно-следственных связей. Достоинства продукционной модели.
презентация [380,4 K], добавлен 14.08.2013Классификация методов шифрования информации и оценка надежности криптоалгоритмов. Определение вероятностных характеристик двоичного канала. Понятия помехоустойчивого кодирования. Прием сигналов с неопределенной фазой и прием кодограмм со стиранием.
дипломная работа [822,0 K], добавлен 12.02.2014Объектный подход как метод реализации программных систем. Проектирование и программная реализация стратегической системы, реализующей процессы создания и взаимодействия группы объектов. Разработка объектной модели. Назначение элементов интерфейса.
курсовая работа [4,1 M], добавлен 11.05.2012Основные концепции объединения вычислительных сетей. Базовая эталонная модель взаимодействия открытых систем. Обработка сообщений по уровням модели OSI: иерархическая связь; форматы информации; проблемы совместимости. Методы доступа в ЛВС; протоколы.
презентация [81,9 K], добавлен 13.08.2013Методология структурного анализа и проектирования информационных систем. Базовый стандарт процессов жизненного цикла программного обеспечения. Цели и принципы формирования профилей информационных систем. Разработка идеальной модели бизнес-процессов.
презентация [152,1 K], добавлен 07.12.2013Устойчивость в смысле Ляпунова. Свойства устойчивых систем. Устойчивость линейных систем. Линеаризация систем дифференциальных уравнений. Исследование устойчивости нелинейных систем с помощью второго метода Ляпунова. Экспоненциальная устойчивость.
реферат [198,3 K], добавлен 29.09.2008Разработка модели, имитирующей работу экономической системы (станции технического обслуживания автомобилей). Определение вероятностных характеристик системы; закрепление навыков в построении имитационной модели с помощью языка моделирования GPSS.
курсовая работа [713,6 K], добавлен 05.06.2013Рассмотрение методов оценки вероятностных характеристик случайной последовательности: математического ожидания, дисперсии, среднеквадратических отклонений, автокорреляционной функции. Изучение закона распределения по критерию согласия хи-квадрат Пирсона.
лабораторная работа [176,3 K], добавлен 03.03.2010Обзор моделей анализа и синтеза модульных систем обработки данных. Модели и методы решения задач дискретного программирования при проектировании. Декомпозиция прикладных задач и документов систем обработки данных на этапе технического проектирования.
диссертация [423,1 K], добавлен 07.12.2010