SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Метод понижения вычислительной сложности 
в задачах верификации 
вероятностных моделей программ 
Андрей Миронов Сергей Френкель 
amironov66@gmail.com fsergei@mail.ru 
Институт Проблем Информатики РАН 
Москва, 2014 г. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Краткое содержание 
Описание задачи 
Рассматривается задача редукции вероятностных систем переходов 
(ВСП) с целью понижения сложности верификации таких систем. 
Верификация ВСП заключается в вычислении истинностных 
значений формул вероятностной темпоральной логики (PCTL, 
Probabilistic Computational Tree Logic) в начальных состояниях ВСП. 
Полученные результаты 
Алгоритм вычисления классов эквивалентности состояний ВСП. 
Алгоритм удаления эквивалентных состояний, в результате 
работы которого получается такая ВСП, у которой все свойства, 
выражаемые формулами логики PCTL, совпадают со свойствами 
исходной ВСП. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Примеры свойств вероятностных систем переходов 
Частота выполнения тех или иных действий или переходов в 
анализируемых системах. 
Вероятность отказа компонентов анализируемых систем. 
Вероятностный характер взаимодействия анализируемой системы 
с её окружением, например: частота поступления входных 
запросов или сообщений, частота получения искажённых 
сообщений (для протоколов передачи сообщений в компьютерных 
сетях), и т.п. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Промышленные системы вероятностной верификации 
Первые промышленные системы вероятностной верификации были 
разработаны в 2000-х годах. Эти системы вероятностной верификации 
успешно применяются во многих областях, в том числе: 
анализ распределенных алгоритмов, 
телекоммуникационные протоколы, 
компьютерная безопасность, 
криптографические протоколы, 
моделирование биологических процессов. 
С использованием этих систем верификации были обнаружены 
уязвимости и аномальные поведения анализируемых систем. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Практические системы вероятностной верификации 
Наиболее популярной практической системой вероятностной 
верификации в настоящее время является система PRISM 
M. Kwiatkowska, G. Norman, and D. Parker. 
PRISM 4.0: Verification of probabilistic real-time systems. 
In G. Gopalakrishnan and S. Qadeer, editors, Proc. 23rd International 
Conference on Computer Aided Verification (CAV’11), volume 6806 of 
LNCS, pages 585-591. Springer, 2011. 
разработанная на факультете компьютерных наук Оксфордского 
Университета (Великобритания) в группе Quantitative Analysis and 
Verification под руководством Марты Квиатковской, см. 
http://qav.comlab.ox.ac.uk/ 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Сравнение с другими работами 
Некоторые подходы к редукции ВСП изучались в различных работах 
по вероятностной верификации, однако в этих исследованиях были 
рассмотрены лишь частные методы редукции ВСП, такие как 
редукция частичных порядков, и 
редукция основанная на понятии симметрии множества состояний 
ВСП. 
Данные методы можно эффективно использовать лишь для ВСП 
достаточно специального вида, как правило это – вероятностные 
модели параллельных и распределённых программ. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Понятие вероятностной системы переходов 
Задано множество AP атомарных утверждений. 
Ниже 2AP обозначает множество всех подмножеств AP. 
Вероятностная система переходов (ВСП) – это четверка D вида 
D = (S, s0, P, L) (1) 
компоненты которой имеют следующий смысл. 
1 S – множество состояний ВСП D. 
2 s0 ∈ S – начальное состояние. 
3 P : S × S → [0, 1] – функция перехода ВСП D, 
удовлетворяющая условию: ∀ s ∈ S 
Σ︀ 
s′∈S 
P(s, s′) = 1. 
P(s1, s2) понимается как вероятность перехода из s1 в s2. 
4 L : S → 2AP – оценка: для каждого s ∈ S и каждого p ∈ AP 
I p истинно в s, если p ∈ L(s), и 
I p ложно в s, если p̸∈ L(s). 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Графовое представление ВСП 
ВСП удобно рассматривать как граф, 
вершинами которого являются состояния, помеченные 
элементами множества 2AP: каждая вершина s ∈ S имеет метку 
L(s), и 
для каждой пары (s1, s2) ∈ S × S такой, что P(s1, s2) > 0, граф 
содержит ребро из s1 в s2 с меткой P(s1, s2). 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Случайные функции 
Пусть X и Y – два конечных множества. 
Случайной функцией (СФ) из X в Y называется произвольная 
функция f вида 
f : X × Y → [0, 1] (2) 
такая, что ∀ x ∈ X 
Σ︀ 
y∈Y 
f (x, y) = 1. 
r 
Для любых →x ∈ X и y ∈ Y значение f (x, y) можно интерпретировать 
как вероятность того, СФ f отображает x в y. 
Если f – СФ из X в Y , то мы будем обозначать этот факт записью 
f : X Y . Мы будем называть 
X областью определения СФ f , и 
Y – областью значений СФ f . 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Детерминированные случайные функции 
СФ f : X × Y → [0, 1] называется детерминированной, если для 
каждого x ∈ X существует единственный y ∈ Y , такой, что f (x, y) = 1. 
Если f : X × Y → [0, 1] – детерминированная СФ, и x, y – такие 
элементы X и Y соответственно, что f (x, y) = 1, то мы будем 
говорить, что f отображает x в y. 
Для каждого множества X запись idX обозначает детерминированную 
СФ X → X, которая отображает каждый x ∈ X в x. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Матрицы, соответствующие случайным функциям 
Если СФ f имеет вид f : X →r 
Y , и на множествах X и Y заданы 
упорядочения их элементов, которые имеют вид 
(x1, . . . .xm) и (y1, . . . , yn) соответственно, то СФ f можно 
представить в виде матрицы (обозначаемой тем же символом f ) 
f = 
⎛ 
⎝ 
f (x1, y1) . . . f (x1, yn) 
. . . . . . . . . 
f (xm, y1) . . . f (xm, yn) 
⎞ 
⎠ (3) 
Ниже мы будем отождествлять СФ f с матрицей (3). 
Мы будем предполагать, что для каждого конечного множества X, 
являющегося областью определения или областью значений 
какой-либо из рассматриваемых СФ, на X задано фиксированное 
упорядочение его элементов. Таким образом, для каждой 
рассматриваемой СФ соответствующая ей матрица определена 
однозначно. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Матрицы, соответствующие случайным функциям 
(продолжение) 
Для каждой СФ f : X →r 
Y и любых x ∈ X, y ∈ Y мы будем называть 
строку (f (x, y1), . . . , f (x, yn)) матрицы f – строкой x, и 
столбец 
⎛ 
⎝ 
f (x1, y) 
. . . 
f (xm, y) 
⎞ 
⎠ матрицы f – столбцом y. 
Если f и g – СФ вида f : X →r 
Y , g : Y →r 
Z, то их композицией 
называется СФ f · g : X →r 
Z, определяемая следующим образом: 
∀ x ∈ X (f · g)(x) def = 
Σ︁ 
y∈Y 
f (x, y) · g(y, z) (4) 
Согласно определению произведения матриц, из (4) следует, что 
матрица f · g является произведением матриц f и g. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Матрицы, соответствующие вероятностным системам 
переходов 
Пусть задана ВСП D = (S, s0, P, L), и список элементов множества S 
имеет вид (s1, . . . , sn). 
Мы будем использовать следующие обозначения. 
1 Символ 1 обозначает множество, состоящее из одного элемента, 
который мы будем обозначать символом e. 
2 Для каждого состояния s ∈ S запись Is обозначает 
детерминированную СФ вида Is : 1 →r 
S, отображающую элемент 
e ∈ 1 в состояние s ВСП D. 
3 Для каждого n ≥ 0 обозначим записью Pn СФ вида Pn : S →r 
S, 
определяемую индуктивно: P0 def = idS , и ∀ n ≥ 0 Pn+1 def = Pn · P. 
Для любых n ≥ 0, s1, s2 ∈ S число Pn(s1, s2) можно понимать как 
вероятность того, что если в текущий момент времени ВСП D 
находится в состоянии s1, то через n тактов времени D будет 
находиться в состоянии s2. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Логика PCTL 
Логика PCTL (Probabilistic Computation Tree Logic) – это 
темпоральная логика, предназначенная для формального описания 
свойств ВСП. 
Логика PCTL была введена Х. Ханссоном (H. Hansson) и Б. 
Джонссоном (B. Jonsson) в работе 
H. Hansson and B. Jonsson. A logic for reasoning about time and 
reliability. Formal Aspects of Computing, 6(5):512-535, 1994. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Формулы логики PCTL 
Формулы логики PCTL могут отражать различные вероятностные 
аспекты поведения анализируемых систем, к числу которых относятся 
например: 
частота выполнения тех или иных действий или переходов в 
анализируемых системах, 
вероятность отказа компонентов анализируемых систем, 
вероятностный характер взаимодействия анализируемой системы 
с её окружением, например: 
I 
I частота поступления входных запросов или сообщений, 
I частота получения искажённых сообщений (для протоколов 
передачи сообщений в компьютерных сетях), и т.п. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Примеры свойств ВСП, которые могут быть описаны в 
виде формул логики PCTL 
1 Вероятность доставки сообщения в заданном временном 
интервале [t1, t2] не меньше 0.999. 
2 В результате работы алгоритма избрания процесса-лидера 
избрание такого процесса завершится с вероятностью 1. 
3 Вероятность успешной атаки на криптографический протокол не 
превышает 0.0001%. 
4 Вероятность отклика веб-сервиса в течение 5ms – не менее 0.8. 
5 Ожидаемое время в худшем случае для доставки пакета данных 
при помощи протокола беспроводной связи – 1с. 
6 Максимальное ожидаемое энергопотребление за 24 часа для 
устройства с электропитанием от батареи - не более 190J. 
7 Вероятность того, что система после любого отказа восстановится 
за ≤ n шагов, не менее 1 − 휀. 
8 Вероятность того что сигнал ready будет получен в течение 
следующих n единиц времени, больше половины. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Синтаксис логики PCTL 
Формулы логики PCTL делятся на два класса: StateFm – формулы 
состояний, и PathFm – формулы путей. 
1 Каждое p из AP является формулой из StateFm. 
2 Символы ⊤ и ⊥ является формулами из StateFm (они 
обозначают тождественно истинное и тождественно ложное 
утверждение соответственно). 
3 Если 휙1 и 휙2 – формулы из StateFm, то следующие записи 
являются формулами из StateFm: 
¬휙1, 휙1 ∧ 휙2, 휙1 ∨ 휙2, 
휙1 → 휙2, 휙1 ↔ 휙2 
4 Если △ – функциональный символ, которому соответствует 
функция (обозначаемая тем же символом) вида 
△ : [0, 1] × [0, 1] → {0, 1} 
a – число из [0, 1], и 훼 – формула из PathFm, то запись 풫△a훼 – 
формула из StateFm. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Формулы логики PCTL (продолжение) 
1 Если f – формула логики PCTL, то запись Xf является формулой 
из PathFm. 
2 Если 휙1 и 휙2 – формулы из StateFm, то следующие записи 
являются формулами из PathFm: 
1 휙1U≤n휙2, где n – натуральное число 
2 휙1U휙2 
3 Если 훼 – формула из PathFm, то запись ¬훼 является формулой 
из PathFm. 
В записи формул из PathFm могут использоваться символы F и G, 
которые являются сокращением записей ⊤U и ¬F¬ соответственно 
(т.е., например, записи F훼 и G≤n훼 обозначают формулы ⊤U훼 и 
¬F≤n¬훼 соответственно). 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Значения формул логики PCTL в состояниях ВСП 
Пусть D = (S, s0, P, L) – некоторая ВСП. 
Для каждого состояния s ∈ S и каждой формулы f логики PCTL 
определено значение формулы f в состоянии s, которое обозначается 
записью s(f ), и 
1 если f ∈ StateFm, то s(f ) ∈ {0, 1}, и 
I в случае s(f ) = 1 формула f считается истинной в s, 
I в случае s(f ) = 0 формула f считается ложной в s 
2 если f ∈ PathFm, то значение s(f ) является числом из [0, 1] и 
интерпретируется как вероятность того, что формула f истинна в 
состоянии s. 
Значения формул логики PCTL в состояниях ВСП определяются 
индукцией по структуре формул в соответствии с излагаемыми ниже 
правилами. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Обозначения 
Если f – формула логики PCTL, то S(f ) def = 
⎛ 
⎝ 
s1(f ) 
. . . 
sn(f ) 
⎞ 
⎠. 
Для любых U = 
⎛ 
⎝ 
u1 
. . . 
un 
⎞ 
⎠, V = 
⎛ 
⎝ 
v1 
. . . 
vn 
⎞ 
⎠ из [0, 1]n записи max(U, V) и 
U ∘ V обозначают вектора 
⎛ 
⎝ 
max(u1, v1) 
. . . 
max(un, vn) 
⎞ 
⎠ и 
⎛ 
⎝ 
u1 · v1 
. . . 
un · vn 
⎞ 
⎠. 
Если A и B – матрицы порядков n × n и n × 1 соответственно с 
компонентами из [0, 1], то запись [A* · B] обозначает матрицу, 
получаемую 
заменой всех ненулевых Σ︀ 
компонентов A и B на 1, и 
вычислением ( 
i≥0 
Ai ) · B, где сложение понимается как 
дизъюнкция (т.е. сумма 
Σ︀ 
i≥0 
Ai является конечной) 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Определение значений формул логики PCTL в 
состояниях ВСП 
Для каждого p ∈ AP s(p) def = 
{︂ 
1, если p ∈ L(s) 
0, иначе 
s(⊤) def = 1, s(⊥) def = 0. 
s(¬f ) def = 1 − s(f ), s(휙1 ∧ 휙2) def = s(휙1) · s(휙2), и т.д. 
s(풫△a훼) def = △(s(훼), a). 
S(Xf ) def = P · S(f ). 
Пусть 훼n = 휙1U≤n휙2 (где n ≥ 0). Тогда 
S(훼0) def = S(휙2) 
∀ n > 0 S(훼n) def = max (S(휙2), S(휙1) ∘ S(X훼n−1)) 
Пусть 훼 = 휙1U휙2. Тогда S(훼) определяется системой линейных 
уравнений 
S(훼) = max 
(︁ 
S(휙2), [P* · S(휙2)] ∘ S(휙1) ∘ (P · S(훼)) 
)︁ 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Смысл формул логики PCTL 
Формулы логики PCTL представляют собой утверждения, 
выражающие различные свойства ВСП. 
Эти свойства могут выражать, например, динамические аспекты 
поведения ВСП, т.е. описывать зависимость истинности какого-либо 
утверждения в некотором состоянии s рассматриваемой ВСП от 
истинности другого утверждения в состояниях, достижимых из s. 
Смысл формул состояний логики PCTL непосредственно 
усматривается из определения значений этих формул в состояниях. 
Смысл формул путей логики PCTL можно описать следующим 
образом. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Смысл формул логики PCTL 
1 Формулу X휙 можно интерпретировать как утверждение “в 
следующий момент времени будет верно 휙”, а значение формулы 
X휙 в состоянии s – как вероятность того, что 휙 будет истинна в 
произвольном состоянии, в которое можно перейти из s за один 
такт времени. 
2 Значение формулы 휙1U≤n휙2 в состоянии s можно 
интерпретировать как вероятность того, что для произвольного 
пути 휋, выходящего из s, существует состояние s′ ∈ 휋, такое, что 
длина начального отрезка [s, s′] пути 휋 не превосходит n, и 
I в каждом состоянии этого отрезка, кроме, может быть, s′, верна 
формула 휙1 
I в состоянии s′ верна формула 휙2. 
3 Значение формулы 휙1U휙2 в состоянии s можно интерпретировать 
так же, как значение предыдущей формулы, без упоминания того, 
что длина [s, s′] не превосходит n. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Редукция ВСП 
Редукция ВСП заключается в удалении части состояний и переходов 
анализируемой ВСП, с таким расчетом, чтобы получившая ВСП была 
эквивалентна исходной в следующем смысле: для каждой формулы 
состояний f логики PCTL формула f истинна в начальном состоянии 
исходной ВСП тогда и только тогда, когда она истинная в начальном 
состоянии редуцированной ВСП. 
Основная идея метода редукции ВСП основана на понятии 
эквивалентности состояний ВСП: мы называем состояния 
эквивалентными, если значения всех формул логики PCTL в этих 
состояниях совпадают. 
Алгоритм редукции ВСП представляет собой 
вычисление классов эквивалентности состояний анализируемой 
ВСП, и 
склейку эквивалентных состояний. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Эквивалентность ВСП 
Пусть заданы две ВСП: 
Di = (Si , s0 
i , Pi , Li ) (i = 1, 2) (5) 
Состояния s1 ∈ S1 и s2 ∈ S2 эквивалентны (s1 ∼ s2), если для каждой 
формулы f логики PCTL верно равенство s1(f ) = s2(f ). 
ВСП D1 и D2 вида (5) эквивалентны (D1 ∼ D2) если s0 
1 ∼ s0 
2 . 
Если ВСП D1 и D2 совпадают, и S – множество их состояний, то 
бинарное отношение на S, состоящее из всех пар (s1, s2), таких, что 
s1 ∼ s2, является отношением эквивалентности. Мы будем обозначать 
это отношение символом ∼. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Редукция вероятностных систем переходов 
Задача редукции ВСП 
Пусть задана ВСП D = (S, s0, P, L). 
Задача редукции ВСП D заключается в построении ВСП D′, которая 
эквивалентна D, и число состояний которой меньше, чем число 
состояний ВСП D. 
Идея алгоритма редукции ВСП 
Вычисляются классы эквивалентности S1, . . . , Sk множества S, 
соответствующие разбиению ∼. 
ВСП D преобразуется путем удаления состояний в классах 
эквивалентности S1, . . ., Sk (и соответствующего переопределения 
функции перехода), до тех пор, пока не останется по одному 
состоянию в каждом из этих классов. 
В результате этих удалений получается искомая ВСП D′. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Построение разбиения множества состояний 
редуцируемой ВСП D = (S, s0, P, L) 
Сначала вычисляется разбиение Σ0, соответствующее эквивалентности 
{(s1, s2) ∈ S × S | L(s1) = L(s2)}. 
Затем работает цикл, состоящий из следующих шагов. 
Пусть для некоторого i ≥ 0 определены 
отношение эквивалентности 휌i , и 
соответствующее ему разбиение Σi , которое состоит из классов 
Si1 
, . . . , Sik. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Построение разбиения множества состояний 
редуцируемой ВСП D = (S, s0, P, L) (продолжение) 
Обозначим записями 
Σi 
1, . . . ,Σi 
k – строки матрицы 휋i , соответствующей 
детерминированной СФ 휋i : S → Σi , и 
휙Σi 
1 , . . . , 휙Σi 
k – список формул, таких, что 
∀ j = 1, . . . , k S(휙Σi 
j ) = Σi 
j . 
Определим отношение эквивалентности 휌i+1 на S: 
휌i+1 def = 휌i ∩ 휌(X휙Σi 
1 , . . . ,X휙Σi 
k ). (6) 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Построение разбиения множества состояний 
редуцируемой ВСП D = (S, s0, P, L) (продолжение) 
Разбиение Σi+1, соответствующее отношению 휌i+1, строится 
следующим образом: 
вычисляются вектор-столбцы 
S(X휙Σi 
j ) = P · Σi 
j (7) 
классы разбиения Σi+1 получаются путём измельчения классов 
разбиения Σi : в один и тот же класс разбиения Σi+1 попадают 
такие состояния, для которых соответствующие им компоненты 
векторов (7) совпадают для каждого j = 1, . . . , k. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Построение разбиения множества состояний 
редуцируемой ВСП D = (S, s0, P, L) (продолжение) 
Возможны два случая. 
1 Σi+1 = Σi . В этом случае искомое разбиение ∼ найдено: оно 
совпадает с Σi . 
2 Σi̸= Σi+1. В этом случае увеличиваем i на 1 и возвращаемся в 
начало цикла. 
Таких возвращений может быть не больше количества элементов 
множества S, т.к. Σi+1 – измельчение разбиения Σi . 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Удаление эквивалентных состояний из ВСП 
Пусть ВСП D = (S, s0, P, L) содержит пару эквивалентных состояний 
s1, s2, где s1̸= s0. 
Определим ВСП 
D1 
def = (S1, s0, P1, L1) (8) 
где S1 
def = S ∖ {s1}, ∀ s, s′ ∈ S1 
P1(s, s′) def = 
{︂ 
P(s, s′) + P(s, s1) если s′ = s2 
P(s, s′) если s′̸= s2 
и ∀ s ∈ S1 L1(s) def = L(s), т.е. 
матрица P1 получается из матрицы P прибавлением к столбцу s2 
столбца s1, и удалением строки s1 и столбца s1, и 
матрица L1 получается из матрицы L удалением строки s1. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Удаление эквивалентных состояний из ВСП 
(продолжение) 
Мы будем говорить что ВСП D1 
def = (S1, s0, P1, L1) получается из ВСП 
D путем удаления состояния s1, эквивалентного состоянию s2. 
Согласно определению ВСП D1, каждое её состояние является также и 
состоянием ВСП D. 
Для каждого s ∈ S1 и каждой формулы f логики PCTL мы будем 
обозначать 
записями sD(f ) и sD1(f ) значения формулы f в состоянии s в 
ВСП D и D1 соответственно, и 
записями SD(f ) и SD1(f ) – вектор-столбцы значений формулы f в 
состояниях ВСП D и D1 соответственно. 
Теорема 1. Пусть ВСП (8) получается из ВСП D путем удаления 
состояния s1, эквивалентного состоянию s2. Тогда 
∀ s ∈ S1 sD1(f ) = sD(f ). 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Описание алгоритма редукции ВСП D = (S, s0, P, L) 
Вычисляем разбиение множества состояний ВСП D, соответствующее 
отношению эквивалентности R def =∼. 
Искомая ВСП D′ строится путём удаления состояний из ВСП D и 
переопределения функции перехода и отношения R: 
1 Если R содержит пару (s1, s2), такую, что s1̸= s2, и s2̸= s0, то 
выберем произвольную такую пару (s1, s2), и преобразуем 
компоненты ВСП D: 
1 Если D содержит ребро с началом в некоторой вершине s и с 
концом s2, то данное ребро удаляется, а к метке ребра с началом в 
s и с концом в s1 прибавляется число, равное метке удалённого 
ребра. Данная операция выполняется до тех пор, пока имеются 
рёбра с концом в s2. 
2 Вершина s2 удаляется, и кроме того удаляются все рёбра, 
выходящие из этой вершины. 
3 Из R удаляются все пары, содержащие s2, и переходим на шаг 1. 
2 Если все пары R имеют вид (s, s), то завершаем работу. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Пример редукции ВСП 
c1/2 d1/2 
p2/2 q2/2 
? 
 
 
1 
 
 
1/2 a1/2 
a2/2 1/2 
1 
c2/2 d2/2 
 
 
A 
 
A 
 
 
 
 
s7 
@ @I 
 
 
 
 
 
 
 
 
 
s6 
 
 
 
 
 
s8 
 
 
 
 
s0 
 
 
 
 
s4 
 
 
 
 
s5 
 
 
 
 
s2 
 
 
 
 
s1 
 
 
 
 
s3 
- 
 
 
 
 
@ 
- 
 
-  
-  
6 
? 
6 
? 
@ 
 
 
 
 
 
6 6 
? 
6 
? 
@ 
@ 
@ 
@ 
@ 
 
 
 
 
 
 
 
 
 
 
 
 
 
 	 
@ 
@ 
A 
@ 
@ 
A 
@ 
@ 
A 
@ 
 
 
A 
 @@R 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A AKA 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
AAU 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
p1/2 q1/2 
v1/2 
1/2 
1/2 
u2/2 
1/2 
v2/2 
u1/2 
1/2 
b1/2 b2/2 
b4/2 b3/2 
0 
1 
0 
0 
1 
0 
1 
1 
0 
(9) 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Пример редукции ВСП (продолжение) 
Ограничения на коэффициенты: 
a1 + a2 = 1 
b1 + b2 + b3 + b4 = 1 
c1 + c2 = 1 
d1 + d2 = 1 
p1 + p2 = 1 
q1 + q2 = 1 
u1 + u2 = 1 
v1 + v2 = 1 
(10) 
В этой ВСП множество AP атомарных утверждений состоит из одного 
утверждения p, т.е. множество 2AP состоит из двух элементов: ∅ и {p}. 
Мы будем обозначать эти элементы символами 0 и 1 соответственно. 
Начальным состоянием данной ВСП является состояние s0, оно 
обозначено двойным кружком. Рядом с каждым состоянием s 
приписана метка, которая равна значению L(s). 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Пример редукции ВСП (продолжение) 
Матрицу P, соответствующую данной ВСП мы представим в виде 
следующей таблицы: 
s0 s1 s2 s3 s4 s5 s6 s7 s8 
s0 0 b1/2 0 b2/2 a2/2 a1/2 b4/2 0 b3/2 
s1 0 0 c1/2 0 1/2 0 0 c2/2 0 
s2 1 0 0 0 0 0 0 0 0 
s3 0 0 d1/2 0 0 1/2 0 d2/2 0 
s4 1/2 v1/2 0 0 0 0 v2/2 0 0 
s5 1/2 0 0 u1/2 0 0 0 0 u2/2 
s6 0 0 p2/2 0 1/2 0 0 p1/2 0 
s7 1 0 0 0 0 0 0 0 0 
s8 0 0 q2/2 0 0 1/2 0 q1/2 0 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Вычисление эквивалентности ∼ для редуцируемой ВСП 
Вычисляется отношение эквивалентности 휌0, которое состоит из всех 
пар (s1, s2) ∈ S × S, удовлетворяющих равенству L(s1) = L(s2). 
Нетрудно видеть, что Σ0 состоит из двух классов 
{s0, s1, s3, s6, s8}, {s2, s4, s5, s7} (11) 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Вычисление эквивалентности ∼ для редуцируемой ВСП 
(продолжение) 
Матрица 휋0, соответствующая детерминированной СФ 휋0 : S → Σ0: 
s0 1 0 
s1 1 0 
s2 0 1 
s3 1 0 
s4 0 1 
s5 0 1 
s6 1 0 
s7 0 1 
s8 1 0 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Вычисление эквивалентности ∼ для редуцируемой ВСП 
(продолжение) 
Затем вычисляется матрица P · 휋0. Данная матрица будет иметь 
следующий вид: 
0 1/2 1/2 
1 0 1 
2 1 0 
3 0 1 
4 1 0 
5 1 0 
6 0 1 
7 1 0 
8 0 1 
(12) 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Вычисление эквивалентности ∼ для редуцируемой ВСП 
(продолжение) 
По матрице (12) нетрудно вычислить отношение 휌1 и соответствующее 
ему разбиение Σ1. 
Из определения отношения 휌1 непосредственно следует, что состояния 
s1 и s2 находятся в одном и том же классе разбиения Σ1 тогда и 
только тогда, когда 
они оба находятся в одном и том же классе из списка (11), и 
строки матрицы (12), соответствующие состояниям s1 и s2, 
совпадают. 
Разбиение Σ1 будет состоять из трех классов (измельчится первый 
класс в (11), а второй класс останется тем же), эти классы имеют 
следующий вид: 
{s0}, {s1, s3, s6, s8}, {s2, s4, s5, s7} (13) 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Вычисление эквивалентности ∼ для редуцируемой ВСП 
(продолжение) 
Затем вычисляется матрица 휋1, соответствующая СФ 휋1 : S →r 
Σ1. 
Данная матрица будет иметь следующий вид: 
0 1 0 0 
1 0 1 0 
2 0 0 1 
3 0 1 0 
4 0 0 1 
5 0 0 1 
6 0 1 0 
7 0 0 1 
8 0 1 0 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Вычисление эквивалентности ∼ для редуцируемой ВСП 
(продолжение) 
Произведение P · 휋1 имеет следующий вид: 
s0 0 1/2 1/2 
s1 0 0 1 
s2 1 0 0 
s3 0 0 1 
s4 1/2 1/2 0 
s5 1/2 1/2 0 
s6 0 0 1 
s7 1 0 0 
s8 0 0 1 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Вычисление эквивалентности ∼ для редуцируемой ВСП 
(продолжение) 
После этого, действуя аналогичным образом, как и в предыдущем 
пункте, вычисляем классы разбиения Σ2, соответствующего 
эквивалентности 휌2. Таких классов будет четыре (измельчится третий 
класс в (13), а первый и второй классы останутся теми же), эти 
классы имеют следующий вид: 
{s0}, {s1, s3, s6, s8}, {s2, s7}, {s4, s5} (14) 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Вычисление эквивалентности ∼ для редуцируемой ВСП 
(продолжение) 
Затем вычисляется матрица 휋2, соответствующая СФ 휋2 : S →r 
Σ2. 
Данная матрица будет иметь следующий вид: 
0 1 0 0 0 
1 0 1 0 0 
2 0 0 1 0 
3 0 1 0 0 
4 0 0 0 1 
5 0 0 0 1 
6 0 1 0 0 
7 0 0 1 0 
8 0 1 0 0 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Вычисление эквивалентности ∼ для редуцируемой ВСП 
(продолжение) 
Произведение P · 휋2 имеет следующий вид: 
0 0 1/2 0 1/2 
1 0 0 1/2 1/2 
2 1 0 0 0 
3 0 0 1/2 1/2 
4 1/2 1/2 0 0 
5 1/2 1/2 0 0 
6 0 0 1/2 1/2 
7 1 0 0 0 
8 0 0 1/2 1/2 
(15) 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Вычисление эквивалентности ∼ для редуцируемой ВСП 
(продолжение) 
После этого, действуя аналогичным образом, как и в предыдущем 
пункте, вычисляем классы разбиения Σ3, соответствующего 
эквивалентности 휌3. 
Нетрудно проверить, что классы разбиения Σ3 будут иметь точно 
такой же вид, что и классы эквивалентности разбиения Σ2. Это 
означает, что искомое разбиение множества S на классы 
эквивалентных состояний построено, оно имеет вид 
{s0}, {s1, s3, s6, s8}, {s2, s7}, {s4, s5} (16) 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Удаление избыточных состояний 
Теперь можно приступить к удалению избыточных состояний (так, 
чтобы среди оставшихся состояний было ровно по одному состоянию 
из каждого класса эквивалентности (16)). 
Можно удалить следующие состояния: s3, s6, s8, s7, s5. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Результат редукции 
1/2 1/2 1 
 
 
 
 
 
 
 
 
s0 
@ @I 
@ 
 
 
 
s4 
 
 
 
 
 
s2 
 
 
 
 
s1 
1/2 
@ 
- 
 
- 
? 
6 
@ 
1/2 
@ 
@ 
@ 
? @ 
1/2 
1/2 
0 
1 
1 
0 (17) 
ВСП (17) далее нередуцируема: нетрудно видеть, что все её состояния 
неэквивалентны. 
Таким образом, в результате редукции исходная ВСП (9) с девятью 
состояниями упростится до эквивалентной ей ВСП (17) с четырьмя 
состояниями. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Заключение 
Основные результаты 
Построен алгоритм редукции вероятностных систем переходов, идея 
которого заключается в удалении избыточных состояний. 
Однако этот алгоритм не гарантирует построения минимальной (по 
числу состояний) ВСП. 
Направления дальнейших исследований 
Построить алгоритм нахождения минимальной по числу 
состояний ВСП, эквивалентной заданной ВСП. 
Исследовать единственность такой минимальной ВСП (с 
точностью до подходящим образом сформулированного понятия 
изоморфизма). 
Исследовать проблему минимизации других классов моделей, 
связанных с вероятностной верификацией, в частности, 
минимизации марковских решающих процессов. 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
Спасибо за внимание! 
Вопросы? 
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах

Más contenido relacionado

La actualidad más candente

Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Nikolay Grebenshikov
 
2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...
2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...
2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...
RF-Lab
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Mikhail Kurnosov
 
Структурные формулы и функциональные схемы
Структурные формулы и функциональные схемыСтруктурные формулы и функциональные схемы
Структурные формулы и функциональные схемы
aleksashka3
 

La actualidad más candente (20)

Советский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисленияСоветский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисления
 
Представление графов в памяти компьютера (c++).
Представление графов в памяти компьютера (c++).Представление графов в памяти компьютера (c++).
Представление графов в памяти компьютера (c++).
 
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
 
Основы MATLAB. Лекция 1.
Основы MATLAB. Лекция 1.Основы MATLAB. Лекция 1.
Основы MATLAB. Лекция 1.
 
Основы программирования на C++
Основы программирования на C++Основы программирования на C++
Основы программирования на C++
 
Алгоритмы и языки программирования
Алгоритмы и языки программированияАлгоритмы и языки программирования
Алгоритмы и языки программирования
 
Основы MATLAB. Программирование
Основы MATLAB. ПрограммированиеОсновы MATLAB. Программирование
Основы MATLAB. Программирование
 
TMPA-2013 Anureyev: On the Road to Technology of Developing the Means of Dedu...
TMPA-2013 Anureyev: On the Road to Technology of Developing the Means of Dedu...TMPA-2013 Anureyev: On the Road to Technology of Developing the Means of Dedu...
TMPA-2013 Anureyev: On the Road to Technology of Developing the Means of Dedu...
 
Основы MATLAB. Численные методы
Основы MATLAB. Численные методыОсновы MATLAB. Численные методы
Основы MATLAB. Численные методы
 
2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...
2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...
2007 Никольская "Разработка программных средств для помехоустойчивого кодиров...
 
Python: ввод и вывод
Python: ввод и выводPython: ввод и вывод
Python: ввод и вывод
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
 
4. Многомерные массивы и массивы массивов в C#
4. Многомерные массивы и массивы массивов в C#4. Многомерные массивы и массивы массивов в C#
4. Многомерные массивы и массивы массивов в C#
 
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
 
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
 
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКА
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКАВведение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКА
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКА
 
Python
PythonPython
Python
 
Векторизация кода (семинар 2)
Векторизация кода (семинар 2)Векторизация кода (семинар 2)
Векторизация кода (семинар 2)
 
Структурные формулы и функциональные схемы
Структурные формулы и функциональные схемыСтруктурные формулы и функциональные схемы
Структурные формулы и функциональные схемы
 
Программирование разветвляющихся алгоритмов
Программирование разветвляющихся алгоритмовПрограммирование разветвляющихся алгоритмов
Программирование разветвляющихся алгоритмов
 

Destacado

Destacado (19)

TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
 
TMPA-2015: Generation of Test Scenarios for Non Deterministic and Concurrent ...
TMPA-2015: Generation of Test Scenarios for Non Deterministic and Concurrent ...TMPA-2015: Generation of Test Scenarios for Non Deterministic and Concurrent ...
TMPA-2015: Generation of Test Scenarios for Non Deterministic and Concurrent ...
 
TMPA-2015: Implementing the MetaVCG Approach in the C-light System
TMPA-2015: Implementing the MetaVCG Approach in the C-light SystemTMPA-2015: Implementing the MetaVCG Approach in the C-light System
TMPA-2015: Implementing the MetaVCG Approach in the C-light System
 
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...
 
TMPA-2015: Automated process of creating test scenarios for financial protoco...
TMPA-2015: Automated process of creating test scenarios for financial protoco...TMPA-2015: Automated process of creating test scenarios for financial protoco...
TMPA-2015: Automated process of creating test scenarios for financial protoco...
 
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
 
TMPA-2015: ClearTH: a Tool for Automated Testing of Post Trade Systems
TMPA-2015: ClearTH: a Tool for Automated Testing of Post Trade SystemsTMPA-2015: ClearTH: a Tool for Automated Testing of Post Trade Systems
TMPA-2015: ClearTH: a Tool for Automated Testing of Post Trade Systems
 
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
 
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
 
TMPA-2015: The dynamic Analysis of Executable Code in ELF Format Based on Sta...
TMPA-2015: The dynamic Analysis of Executable Code in ELF Format Based on Sta...TMPA-2015: The dynamic Analysis of Executable Code in ELF Format Based on Sta...
TMPA-2015: The dynamic Analysis of Executable Code in ELF Format Based on Sta...
 
TMPA-2015: A Need To Specify and Verify Standard Functions
TMPA-2015: A Need To Specify and Verify Standard FunctionsTMPA-2015: A Need To Specify and Verify Standard Functions
TMPA-2015: A Need To Specify and Verify Standard Functions
 
TMPA-2015: Kotlin: From Null Dereference to Smart Casts
TMPA-2015: Kotlin: From Null Dereference to Smart CastsTMPA-2015: Kotlin: From Null Dereference to Smart Casts
TMPA-2015: Kotlin: From Null Dereference to Smart Casts
 
TMPA-2015: Information Support System for Autonomous Spacecraft Control Macro...
TMPA-2015: Information Support System for Autonomous Spacecraft Control Macro...TMPA-2015: Information Support System for Autonomous Spacecraft Control Macro...
TMPA-2015: Information Support System for Autonomous Spacecraft Control Macro...
 
TMPA-2015: Formal Methods in Robotics
TMPA-2015: Formal Methods in RoboticsTMPA-2015: Formal Methods in Robotics
TMPA-2015: Formal Methods in Robotics
 
TMPA-2015: The Verification of Functional Programs by Applying Statechart Dia...
TMPA-2015: The Verification of Functional Programs by Applying Statechart Dia...TMPA-2015: The Verification of Functional Programs by Applying Statechart Dia...
TMPA-2015: The Verification of Functional Programs by Applying Statechart Dia...
 
TMPA-2015: Multi-Module Application Tracing in z/OS Environment
TMPA-2015: Multi-Module Application Tracing in z/OS EnvironmentTMPA-2015: Multi-Module Application Tracing in z/OS Environment
TMPA-2015: Multi-Module Application Tracing in z/OS Environment
 
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual Machines
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual MachinesTMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual Machines
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual Machines
 
TMPA-2015: FPGA-Based Low Latency Sponsored Access
TMPA-2015: FPGA-Based Low Latency Sponsored AccessTMPA-2015: FPGA-Based Low Latency Sponsored Access
TMPA-2015: FPGA-Based Low Latency Sponsored Access
 
TMPA-2015: Software Engineering Education: The Messir Approach
TMPA-2015: Software Engineering Education: The Messir ApproachTMPA-2015: Software Engineering Education: The Messir Approach
TMPA-2015: Software Engineering Education: The Messir Approach
 

Similar a A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Nikolay Shilov. CSEDays 2
Nikolay Shilov. CSEDays 2Nikolay Shilov. CSEDays 2
Nikolay Shilov. CSEDays 2
LiloSEA
 
651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие
ivanov1566353422
 
651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие
efwd2ws2qws2qsdw
 
Распределенные мультикластерные вычислительные системы и параллельное мультип...
Распределенные мультикластерные вычислительные системы и параллельное мультип...Распределенные мультикластерные вычислительные системы и параллельное мультип...
Распределенные мультикластерные вычислительные системы и параллельное мультип...
Mikhail Kurnosov
 
CSEDays. Александр Семенов
CSEDays. Александр СеменовCSEDays. Александр Семенов
CSEDays. Александр Семенов
LiloSEA
 
Михаил Александров, Индуктивное моделирование
Михаил Александров, Индуктивное моделированиеМихаил Александров, Индуктивное моделирование
Михаил Александров, Индуктивное моделирование
Lidia Pivovarova
 
20111202 machine learning_nikolenko_lecture03
20111202 machine learning_nikolenko_lecture0320111202 machine learning_nikolenko_lecture03
20111202 machine learning_nikolenko_lecture03
Computer Science Club
 
Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1
Technopark
 
Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.
Vladimir Tcherniak
 

Similar a A Method of Reducing Computational Complexity in Verification of Programming Probability Models (20)

6
66
6
 
Nikolay Shilov. CSEDays 2
Nikolay Shilov. CSEDays 2Nikolay Shilov. CSEDays 2
Nikolay Shilov. CSEDays 2
 
651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие
 
651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие
 
Методы решения нелинейных уравнений
Методы решения нелинейных уравненийМетоды решения нелинейных уравнений
Методы решения нелинейных уравнений
 
Распределенные мультикластерные вычислительные системы и параллельное мультип...
Распределенные мультикластерные вычислительные системы и параллельное мультип...Распределенные мультикластерные вычислительные системы и параллельное мультип...
Распределенные мультикластерные вычислительные системы и параллельное мультип...
 
CSEDays. Александр Семенов
CSEDays. Александр СеменовCSEDays. Александр Семенов
CSEDays. Александр Семенов
 
Михаил Александров, Индуктивное моделирование
Михаил Александров, Индуктивное моделированиеМихаил Александров, Индуктивное моделирование
Михаил Александров, Индуктивное моделирование
 
Запись алгоритмов на языках программирования
Запись алгоритмов на языках программированияЗапись алгоритмов на языках программирования
Запись алгоритмов на языках программирования
 
20111202 machine learning_nikolenko_lecture03
20111202 machine learning_nikolenko_lecture0320111202 machine learning_nikolenko_lecture03
20111202 machine learning_nikolenko_lecture03
 
Логические алгоритмы классификации
Логические алгоритмы классификацииЛогические алгоритмы классификации
Логические алгоритмы классификации
 
Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1
 
Прогнозирование - Лекция 3. Множественная регрессия
Прогнозирование - Лекция 3. Множественная регрессияПрогнозирование - Лекция 3. Множественная регрессия
Прогнозирование - Лекция 3. Множественная регрессия
 
10474
1047410474
10474
 
ПРЕДСТАВЛЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ОБ ОПТИЧЕСКИХ ПАРАМЕТРАХ АТМОСФЕРЫ АНА...
ПРЕДСТАВЛЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ОБ ОПТИЧЕСКИХ ПАРАМЕТРАХ АТМОСФЕРЫ АНА...ПРЕДСТАВЛЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ОБ ОПТИЧЕСКИХ ПАРАМЕТРАХ АТМОСФЕРЫ АНА...
ПРЕДСТАВЛЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ОБ ОПТИЧЕСКИХ ПАРАМЕТРАХ АТМОСФЕРЫ АНА...
 
Soboland Sat
Soboland SatSoboland Sat
Soboland Sat
 
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
 
L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмы
 
Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes"
 

Más de Iosif Itkin

Más de Iosif Itkin (20)

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test Oracles
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market Infrastructures
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AI
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop Testing
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in Review
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and Strategy
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
 

A Method of Reducing Computational Complexity in Verification of Programming Probability Models

  • 1. Метод понижения вычислительной сложности в задачах верификации вероятностных моделей программ Андрей Миронов Сергей Френкель amironov66@gmail.com fsergei@mail.ru Институт Проблем Информатики РАН Москва, 2014 г. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 2. Краткое содержание Описание задачи Рассматривается задача редукции вероятностных систем переходов (ВСП) с целью понижения сложности верификации таких систем. Верификация ВСП заключается в вычислении истинностных значений формул вероятностной темпоральной логики (PCTL, Probabilistic Computational Tree Logic) в начальных состояниях ВСП. Полученные результаты Алгоритм вычисления классов эквивалентности состояний ВСП. Алгоритм удаления эквивалентных состояний, в результате работы которого получается такая ВСП, у которой все свойства, выражаемые формулами логики PCTL, совпадают со свойствами исходной ВСП. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 3. Примеры свойств вероятностных систем переходов Частота выполнения тех или иных действий или переходов в анализируемых системах. Вероятность отказа компонентов анализируемых систем. Вероятностный характер взаимодействия анализируемой системы с её окружением, например: частота поступления входных запросов или сообщений, частота получения искажённых сообщений (для протоколов передачи сообщений в компьютерных сетях), и т.п. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 4. Промышленные системы вероятностной верификации Первые промышленные системы вероятностной верификации были разработаны в 2000-х годах. Эти системы вероятностной верификации успешно применяются во многих областях, в том числе: анализ распределенных алгоритмов, телекоммуникационные протоколы, компьютерная безопасность, криптографические протоколы, моделирование биологических процессов. С использованием этих систем верификации были обнаружены уязвимости и аномальные поведения анализируемых систем. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 5. Практические системы вероятностной верификации Наиболее популярной практической системой вероятностной верификации в настоящее время является система PRISM M. Kwiatkowska, G. Norman, and D. Parker. PRISM 4.0: Verification of probabilistic real-time systems. In G. Gopalakrishnan and S. Qadeer, editors, Proc. 23rd International Conference on Computer Aided Verification (CAV’11), volume 6806 of LNCS, pages 585-591. Springer, 2011. разработанная на факультете компьютерных наук Оксфордского Университета (Великобритания) в группе Quantitative Analysis and Verification под руководством Марты Квиатковской, см. http://qav.comlab.ox.ac.uk/ Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 6. Сравнение с другими работами Некоторые подходы к редукции ВСП изучались в различных работах по вероятностной верификации, однако в этих исследованиях были рассмотрены лишь частные методы редукции ВСП, такие как редукция частичных порядков, и редукция основанная на понятии симметрии множества состояний ВСП. Данные методы можно эффективно использовать лишь для ВСП достаточно специального вида, как правило это – вероятностные модели параллельных и распределённых программ. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 7. Понятие вероятностной системы переходов Задано множество AP атомарных утверждений. Ниже 2AP обозначает множество всех подмножеств AP. Вероятностная система переходов (ВСП) – это четверка D вида D = (S, s0, P, L) (1) компоненты которой имеют следующий смысл. 1 S – множество состояний ВСП D. 2 s0 ∈ S – начальное состояние. 3 P : S × S → [0, 1] – функция перехода ВСП D, удовлетворяющая условию: ∀ s ∈ S Σ︀ s′∈S P(s, s′) = 1. P(s1, s2) понимается как вероятность перехода из s1 в s2. 4 L : S → 2AP – оценка: для каждого s ∈ S и каждого p ∈ AP I p истинно в s, если p ∈ L(s), и I p ложно в s, если p̸∈ L(s). Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 8. Графовое представление ВСП ВСП удобно рассматривать как граф, вершинами которого являются состояния, помеченные элементами множества 2AP: каждая вершина s ∈ S имеет метку L(s), и для каждой пары (s1, s2) ∈ S × S такой, что P(s1, s2) > 0, граф содержит ребро из s1 в s2 с меткой P(s1, s2). Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 9. Случайные функции Пусть X и Y – два конечных множества. Случайной функцией (СФ) из X в Y называется произвольная функция f вида f : X × Y → [0, 1] (2) такая, что ∀ x ∈ X Σ︀ y∈Y f (x, y) = 1. r Для любых →x ∈ X и y ∈ Y значение f (x, y) можно интерпретировать как вероятность того, СФ f отображает x в y. Если f – СФ из X в Y , то мы будем обозначать этот факт записью f : X Y . Мы будем называть X областью определения СФ f , и Y – областью значений СФ f . Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 10. Детерминированные случайные функции СФ f : X × Y → [0, 1] называется детерминированной, если для каждого x ∈ X существует единственный y ∈ Y , такой, что f (x, y) = 1. Если f : X × Y → [0, 1] – детерминированная СФ, и x, y – такие элементы X и Y соответственно, что f (x, y) = 1, то мы будем говорить, что f отображает x в y. Для каждого множества X запись idX обозначает детерминированную СФ X → X, которая отображает каждый x ∈ X в x. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 11. Матрицы, соответствующие случайным функциям Если СФ f имеет вид f : X →r Y , и на множествах X и Y заданы упорядочения их элементов, которые имеют вид (x1, . . . .xm) и (y1, . . . , yn) соответственно, то СФ f можно представить в виде матрицы (обозначаемой тем же символом f ) f = ⎛ ⎝ f (x1, y1) . . . f (x1, yn) . . . . . . . . . f (xm, y1) . . . f (xm, yn) ⎞ ⎠ (3) Ниже мы будем отождествлять СФ f с матрицей (3). Мы будем предполагать, что для каждого конечного множества X, являющегося областью определения или областью значений какой-либо из рассматриваемых СФ, на X задано фиксированное упорядочение его элементов. Таким образом, для каждой рассматриваемой СФ соответствующая ей матрица определена однозначно. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 12. Матрицы, соответствующие случайным функциям (продолжение) Для каждой СФ f : X →r Y и любых x ∈ X, y ∈ Y мы будем называть строку (f (x, y1), . . . , f (x, yn)) матрицы f – строкой x, и столбец ⎛ ⎝ f (x1, y) . . . f (xm, y) ⎞ ⎠ матрицы f – столбцом y. Если f и g – СФ вида f : X →r Y , g : Y →r Z, то их композицией называется СФ f · g : X →r Z, определяемая следующим образом: ∀ x ∈ X (f · g)(x) def = Σ︁ y∈Y f (x, y) · g(y, z) (4) Согласно определению произведения матриц, из (4) следует, что матрица f · g является произведением матриц f и g. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 13. Матрицы, соответствующие вероятностным системам переходов Пусть задана ВСП D = (S, s0, P, L), и список элементов множества S имеет вид (s1, . . . , sn). Мы будем использовать следующие обозначения. 1 Символ 1 обозначает множество, состоящее из одного элемента, который мы будем обозначать символом e. 2 Для каждого состояния s ∈ S запись Is обозначает детерминированную СФ вида Is : 1 →r S, отображающую элемент e ∈ 1 в состояние s ВСП D. 3 Для каждого n ≥ 0 обозначим записью Pn СФ вида Pn : S →r S, определяемую индуктивно: P0 def = idS , и ∀ n ≥ 0 Pn+1 def = Pn · P. Для любых n ≥ 0, s1, s2 ∈ S число Pn(s1, s2) можно понимать как вероятность того, что если в текущий момент времени ВСП D находится в состоянии s1, то через n тактов времени D будет находиться в состоянии s2. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 14. Логика PCTL Логика PCTL (Probabilistic Computation Tree Logic) – это темпоральная логика, предназначенная для формального описания свойств ВСП. Логика PCTL была введена Х. Ханссоном (H. Hansson) и Б. Джонссоном (B. Jonsson) в работе H. Hansson and B. Jonsson. A logic for reasoning about time and reliability. Formal Aspects of Computing, 6(5):512-535, 1994. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 15. Формулы логики PCTL Формулы логики PCTL могут отражать различные вероятностные аспекты поведения анализируемых систем, к числу которых относятся например: частота выполнения тех или иных действий или переходов в анализируемых системах, вероятность отказа компонентов анализируемых систем, вероятностный характер взаимодействия анализируемой системы с её окружением, например: I I частота поступления входных запросов или сообщений, I частота получения искажённых сообщений (для протоколов передачи сообщений в компьютерных сетях), и т.п. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 16. Примеры свойств ВСП, которые могут быть описаны в виде формул логики PCTL 1 Вероятность доставки сообщения в заданном временном интервале [t1, t2] не меньше 0.999. 2 В результате работы алгоритма избрания процесса-лидера избрание такого процесса завершится с вероятностью 1. 3 Вероятность успешной атаки на криптографический протокол не превышает 0.0001%. 4 Вероятность отклика веб-сервиса в течение 5ms – не менее 0.8. 5 Ожидаемое время в худшем случае для доставки пакета данных при помощи протокола беспроводной связи – 1с. 6 Максимальное ожидаемое энергопотребление за 24 часа для устройства с электропитанием от батареи - не более 190J. 7 Вероятность того, что система после любого отказа восстановится за ≤ n шагов, не менее 1 − 휀. 8 Вероятность того что сигнал ready будет получен в течение следующих n единиц времени, больше половины. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 17. Синтаксис логики PCTL Формулы логики PCTL делятся на два класса: StateFm – формулы состояний, и PathFm – формулы путей. 1 Каждое p из AP является формулой из StateFm. 2 Символы ⊤ и ⊥ является формулами из StateFm (они обозначают тождественно истинное и тождественно ложное утверждение соответственно). 3 Если 휙1 и 휙2 – формулы из StateFm, то следующие записи являются формулами из StateFm: ¬휙1, 휙1 ∧ 휙2, 휙1 ∨ 휙2, 휙1 → 휙2, 휙1 ↔ 휙2 4 Если △ – функциональный символ, которому соответствует функция (обозначаемая тем же символом) вида △ : [0, 1] × [0, 1] → {0, 1} a – число из [0, 1], и 훼 – формула из PathFm, то запись 풫△a훼 – формула из StateFm. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 18. Формулы логики PCTL (продолжение) 1 Если f – формула логики PCTL, то запись Xf является формулой из PathFm. 2 Если 휙1 и 휙2 – формулы из StateFm, то следующие записи являются формулами из PathFm: 1 휙1U≤n휙2, где n – натуральное число 2 휙1U휙2 3 Если 훼 – формула из PathFm, то запись ¬훼 является формулой из PathFm. В записи формул из PathFm могут использоваться символы F и G, которые являются сокращением записей ⊤U и ¬F¬ соответственно (т.е., например, записи F훼 и G≤n훼 обозначают формулы ⊤U훼 и ¬F≤n¬훼 соответственно). Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 19. Значения формул логики PCTL в состояниях ВСП Пусть D = (S, s0, P, L) – некоторая ВСП. Для каждого состояния s ∈ S и каждой формулы f логики PCTL определено значение формулы f в состоянии s, которое обозначается записью s(f ), и 1 если f ∈ StateFm, то s(f ) ∈ {0, 1}, и I в случае s(f ) = 1 формула f считается истинной в s, I в случае s(f ) = 0 формула f считается ложной в s 2 если f ∈ PathFm, то значение s(f ) является числом из [0, 1] и интерпретируется как вероятность того, что формула f истинна в состоянии s. Значения формул логики PCTL в состояниях ВСП определяются индукцией по структуре формул в соответствии с излагаемыми ниже правилами. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 20. Обозначения Если f – формула логики PCTL, то S(f ) def = ⎛ ⎝ s1(f ) . . . sn(f ) ⎞ ⎠. Для любых U = ⎛ ⎝ u1 . . . un ⎞ ⎠, V = ⎛ ⎝ v1 . . . vn ⎞ ⎠ из [0, 1]n записи max(U, V) и U ∘ V обозначают вектора ⎛ ⎝ max(u1, v1) . . . max(un, vn) ⎞ ⎠ и ⎛ ⎝ u1 · v1 . . . un · vn ⎞ ⎠. Если A и B – матрицы порядков n × n и n × 1 соответственно с компонентами из [0, 1], то запись [A* · B] обозначает матрицу, получаемую заменой всех ненулевых Σ︀ компонентов A и B на 1, и вычислением ( i≥0 Ai ) · B, где сложение понимается как дизъюнкция (т.е. сумма Σ︀ i≥0 Ai является конечной) Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 21. Определение значений формул логики PCTL в состояниях ВСП Для каждого p ∈ AP s(p) def = {︂ 1, если p ∈ L(s) 0, иначе s(⊤) def = 1, s(⊥) def = 0. s(¬f ) def = 1 − s(f ), s(휙1 ∧ 휙2) def = s(휙1) · s(휙2), и т.д. s(풫△a훼) def = △(s(훼), a). S(Xf ) def = P · S(f ). Пусть 훼n = 휙1U≤n휙2 (где n ≥ 0). Тогда S(훼0) def = S(휙2) ∀ n > 0 S(훼n) def = max (S(휙2), S(휙1) ∘ S(X훼n−1)) Пусть 훼 = 휙1U휙2. Тогда S(훼) определяется системой линейных уравнений S(훼) = max (︁ S(휙2), [P* · S(휙2)] ∘ S(휙1) ∘ (P · S(훼)) )︁ Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 22. Смысл формул логики PCTL Формулы логики PCTL представляют собой утверждения, выражающие различные свойства ВСП. Эти свойства могут выражать, например, динамические аспекты поведения ВСП, т.е. описывать зависимость истинности какого-либо утверждения в некотором состоянии s рассматриваемой ВСП от истинности другого утверждения в состояниях, достижимых из s. Смысл формул состояний логики PCTL непосредственно усматривается из определения значений этих формул в состояниях. Смысл формул путей логики PCTL можно описать следующим образом. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 23. Смысл формул логики PCTL 1 Формулу X휙 можно интерпретировать как утверждение “в следующий момент времени будет верно 휙”, а значение формулы X휙 в состоянии s – как вероятность того, что 휙 будет истинна в произвольном состоянии, в которое можно перейти из s за один такт времени. 2 Значение формулы 휙1U≤n휙2 в состоянии s можно интерпретировать как вероятность того, что для произвольного пути 휋, выходящего из s, существует состояние s′ ∈ 휋, такое, что длина начального отрезка [s, s′] пути 휋 не превосходит n, и I в каждом состоянии этого отрезка, кроме, может быть, s′, верна формула 휙1 I в состоянии s′ верна формула 휙2. 3 Значение формулы 휙1U휙2 в состоянии s можно интерпретировать так же, как значение предыдущей формулы, без упоминания того, что длина [s, s′] не превосходит n. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 24. Редукция ВСП Редукция ВСП заключается в удалении части состояний и переходов анализируемой ВСП, с таким расчетом, чтобы получившая ВСП была эквивалентна исходной в следующем смысле: для каждой формулы состояний f логики PCTL формула f истинна в начальном состоянии исходной ВСП тогда и только тогда, когда она истинная в начальном состоянии редуцированной ВСП. Основная идея метода редукции ВСП основана на понятии эквивалентности состояний ВСП: мы называем состояния эквивалентными, если значения всех формул логики PCTL в этих состояниях совпадают. Алгоритм редукции ВСП представляет собой вычисление классов эквивалентности состояний анализируемой ВСП, и склейку эквивалентных состояний. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 25. Эквивалентность ВСП Пусть заданы две ВСП: Di = (Si , s0 i , Pi , Li ) (i = 1, 2) (5) Состояния s1 ∈ S1 и s2 ∈ S2 эквивалентны (s1 ∼ s2), если для каждой формулы f логики PCTL верно равенство s1(f ) = s2(f ). ВСП D1 и D2 вида (5) эквивалентны (D1 ∼ D2) если s0 1 ∼ s0 2 . Если ВСП D1 и D2 совпадают, и S – множество их состояний, то бинарное отношение на S, состоящее из всех пар (s1, s2), таких, что s1 ∼ s2, является отношением эквивалентности. Мы будем обозначать это отношение символом ∼. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 26. Редукция вероятностных систем переходов Задача редукции ВСП Пусть задана ВСП D = (S, s0, P, L). Задача редукции ВСП D заключается в построении ВСП D′, которая эквивалентна D, и число состояний которой меньше, чем число состояний ВСП D. Идея алгоритма редукции ВСП Вычисляются классы эквивалентности S1, . . . , Sk множества S, соответствующие разбиению ∼. ВСП D преобразуется путем удаления состояний в классах эквивалентности S1, . . ., Sk (и соответствующего переопределения функции перехода), до тех пор, пока не останется по одному состоянию в каждом из этих классов. В результате этих удалений получается искомая ВСП D′. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 27. Построение разбиения множества состояний редуцируемой ВСП D = (S, s0, P, L) Сначала вычисляется разбиение Σ0, соответствующее эквивалентности {(s1, s2) ∈ S × S | L(s1) = L(s2)}. Затем работает цикл, состоящий из следующих шагов. Пусть для некоторого i ≥ 0 определены отношение эквивалентности 휌i , и соответствующее ему разбиение Σi , которое состоит из классов Si1 , . . . , Sik. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 28. Построение разбиения множества состояний редуцируемой ВСП D = (S, s0, P, L) (продолжение) Обозначим записями Σi 1, . . . ,Σi k – строки матрицы 휋i , соответствующей детерминированной СФ 휋i : S → Σi , и 휙Σi 1 , . . . , 휙Σi k – список формул, таких, что ∀ j = 1, . . . , k S(휙Σi j ) = Σi j . Определим отношение эквивалентности 휌i+1 на S: 휌i+1 def = 휌i ∩ 휌(X휙Σi 1 , . . . ,X휙Σi k ). (6) Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 29. Построение разбиения множества состояний редуцируемой ВСП D = (S, s0, P, L) (продолжение) Разбиение Σi+1, соответствующее отношению 휌i+1, строится следующим образом: вычисляются вектор-столбцы S(X휙Σi j ) = P · Σi j (7) классы разбиения Σi+1 получаются путём измельчения классов разбиения Σi : в один и тот же класс разбиения Σi+1 попадают такие состояния, для которых соответствующие им компоненты векторов (7) совпадают для каждого j = 1, . . . , k. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 30. Построение разбиения множества состояний редуцируемой ВСП D = (S, s0, P, L) (продолжение) Возможны два случая. 1 Σi+1 = Σi . В этом случае искомое разбиение ∼ найдено: оно совпадает с Σi . 2 Σi̸= Σi+1. В этом случае увеличиваем i на 1 и возвращаемся в начало цикла. Таких возвращений может быть не больше количества элементов множества S, т.к. Σi+1 – измельчение разбиения Σi . Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 31. Удаление эквивалентных состояний из ВСП Пусть ВСП D = (S, s0, P, L) содержит пару эквивалентных состояний s1, s2, где s1̸= s0. Определим ВСП D1 def = (S1, s0, P1, L1) (8) где S1 def = S ∖ {s1}, ∀ s, s′ ∈ S1 P1(s, s′) def = {︂ P(s, s′) + P(s, s1) если s′ = s2 P(s, s′) если s′̸= s2 и ∀ s ∈ S1 L1(s) def = L(s), т.е. матрица P1 получается из матрицы P прибавлением к столбцу s2 столбца s1, и удалением строки s1 и столбца s1, и матрица L1 получается из матрицы L удалением строки s1. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 32. Удаление эквивалентных состояний из ВСП (продолжение) Мы будем говорить что ВСП D1 def = (S1, s0, P1, L1) получается из ВСП D путем удаления состояния s1, эквивалентного состоянию s2. Согласно определению ВСП D1, каждое её состояние является также и состоянием ВСП D. Для каждого s ∈ S1 и каждой формулы f логики PCTL мы будем обозначать записями sD(f ) и sD1(f ) значения формулы f в состоянии s в ВСП D и D1 соответственно, и записями SD(f ) и SD1(f ) – вектор-столбцы значений формулы f в состояниях ВСП D и D1 соответственно. Теорема 1. Пусть ВСП (8) получается из ВСП D путем удаления состояния s1, эквивалентного состоянию s2. Тогда ∀ s ∈ S1 sD1(f ) = sD(f ). Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 33. Описание алгоритма редукции ВСП D = (S, s0, P, L) Вычисляем разбиение множества состояний ВСП D, соответствующее отношению эквивалентности R def =∼. Искомая ВСП D′ строится путём удаления состояний из ВСП D и переопределения функции перехода и отношения R: 1 Если R содержит пару (s1, s2), такую, что s1̸= s2, и s2̸= s0, то выберем произвольную такую пару (s1, s2), и преобразуем компоненты ВСП D: 1 Если D содержит ребро с началом в некоторой вершине s и с концом s2, то данное ребро удаляется, а к метке ребра с началом в s и с концом в s1 прибавляется число, равное метке удалённого ребра. Данная операция выполняется до тех пор, пока имеются рёбра с концом в s2. 2 Вершина s2 удаляется, и кроме того удаляются все рёбра, выходящие из этой вершины. 3 Из R удаляются все пары, содержащие s2, и переходим на шаг 1. 2 Если все пары R имеют вид (s, s), то завершаем работу. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 34. Пример редукции ВСП c1/2 d1/2 p2/2 q2/2 ? 1 1/2 a1/2 a2/2 1/2 1 c2/2 d2/2 A A s7 @ @I s6 s8 s0 s4 s5 s2 s1 s3 - @ - - - 6 ? 6 ? @ 6 6 ? 6 ? @ @ @ @ @ @ @ A @ @ A @ @ A @ A @@R A A A A A A A A A A A A AKA A A A A A A A A A A A A A A A A AAU p1/2 q1/2 v1/2 1/2 1/2 u2/2 1/2 v2/2 u1/2 1/2 b1/2 b2/2 b4/2 b3/2 0 1 0 0 1 0 1 1 0 (9) Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 35. Пример редукции ВСП (продолжение) Ограничения на коэффициенты: a1 + a2 = 1 b1 + b2 + b3 + b4 = 1 c1 + c2 = 1 d1 + d2 = 1 p1 + p2 = 1 q1 + q2 = 1 u1 + u2 = 1 v1 + v2 = 1 (10) В этой ВСП множество AP атомарных утверждений состоит из одного утверждения p, т.е. множество 2AP состоит из двух элементов: ∅ и {p}. Мы будем обозначать эти элементы символами 0 и 1 соответственно. Начальным состоянием данной ВСП является состояние s0, оно обозначено двойным кружком. Рядом с каждым состоянием s приписана метка, которая равна значению L(s). Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 36. Пример редукции ВСП (продолжение) Матрицу P, соответствующую данной ВСП мы представим в виде следующей таблицы: s0 s1 s2 s3 s4 s5 s6 s7 s8 s0 0 b1/2 0 b2/2 a2/2 a1/2 b4/2 0 b3/2 s1 0 0 c1/2 0 1/2 0 0 c2/2 0 s2 1 0 0 0 0 0 0 0 0 s3 0 0 d1/2 0 0 1/2 0 d2/2 0 s4 1/2 v1/2 0 0 0 0 v2/2 0 0 s5 1/2 0 0 u1/2 0 0 0 0 u2/2 s6 0 0 p2/2 0 1/2 0 0 p1/2 0 s7 1 0 0 0 0 0 0 0 0 s8 0 0 q2/2 0 0 1/2 0 q1/2 0 Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 37. Вычисление эквивалентности ∼ для редуцируемой ВСП Вычисляется отношение эквивалентности 휌0, которое состоит из всех пар (s1, s2) ∈ S × S, удовлетворяющих равенству L(s1) = L(s2). Нетрудно видеть, что Σ0 состоит из двух классов {s0, s1, s3, s6, s8}, {s2, s4, s5, s7} (11) Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 38. Вычисление эквивалентности ∼ для редуцируемой ВСП (продолжение) Матрица 휋0, соответствующая детерминированной СФ 휋0 : S → Σ0: s0 1 0 s1 1 0 s2 0 1 s3 1 0 s4 0 1 s5 0 1 s6 1 0 s7 0 1 s8 1 0 Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 39. Вычисление эквивалентности ∼ для редуцируемой ВСП (продолжение) Затем вычисляется матрица P · 휋0. Данная матрица будет иметь следующий вид: 0 1/2 1/2 1 0 1 2 1 0 3 0 1 4 1 0 5 1 0 6 0 1 7 1 0 8 0 1 (12) Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 40. Вычисление эквивалентности ∼ для редуцируемой ВСП (продолжение) По матрице (12) нетрудно вычислить отношение 휌1 и соответствующее ему разбиение Σ1. Из определения отношения 휌1 непосредственно следует, что состояния s1 и s2 находятся в одном и том же классе разбиения Σ1 тогда и только тогда, когда они оба находятся в одном и том же классе из списка (11), и строки матрицы (12), соответствующие состояниям s1 и s2, совпадают. Разбиение Σ1 будет состоять из трех классов (измельчится первый класс в (11), а второй класс останется тем же), эти классы имеют следующий вид: {s0}, {s1, s3, s6, s8}, {s2, s4, s5, s7} (13) Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 41. Вычисление эквивалентности ∼ для редуцируемой ВСП (продолжение) Затем вычисляется матрица 휋1, соответствующая СФ 휋1 : S →r Σ1. Данная матрица будет иметь следующий вид: 0 1 0 0 1 0 1 0 2 0 0 1 3 0 1 0 4 0 0 1 5 0 0 1 6 0 1 0 7 0 0 1 8 0 1 0 Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 42. Вычисление эквивалентности ∼ для редуцируемой ВСП (продолжение) Произведение P · 휋1 имеет следующий вид: s0 0 1/2 1/2 s1 0 0 1 s2 1 0 0 s3 0 0 1 s4 1/2 1/2 0 s5 1/2 1/2 0 s6 0 0 1 s7 1 0 0 s8 0 0 1 Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 43. Вычисление эквивалентности ∼ для редуцируемой ВСП (продолжение) После этого, действуя аналогичным образом, как и в предыдущем пункте, вычисляем классы разбиения Σ2, соответствующего эквивалентности 휌2. Таких классов будет четыре (измельчится третий класс в (13), а первый и второй классы останутся теми же), эти классы имеют следующий вид: {s0}, {s1, s3, s6, s8}, {s2, s7}, {s4, s5} (14) Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 44. Вычисление эквивалентности ∼ для редуцируемой ВСП (продолжение) Затем вычисляется матрица 휋2, соответствующая СФ 휋2 : S →r Σ2. Данная матрица будет иметь следующий вид: 0 1 0 0 0 1 0 1 0 0 2 0 0 1 0 3 0 1 0 0 4 0 0 0 1 5 0 0 0 1 6 0 1 0 0 7 0 0 1 0 8 0 1 0 0 Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 45. Вычисление эквивалентности ∼ для редуцируемой ВСП (продолжение) Произведение P · 휋2 имеет следующий вид: 0 0 1/2 0 1/2 1 0 0 1/2 1/2 2 1 0 0 0 3 0 0 1/2 1/2 4 1/2 1/2 0 0 5 1/2 1/2 0 0 6 0 0 1/2 1/2 7 1 0 0 0 8 0 0 1/2 1/2 (15) Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 46. Вычисление эквивалентности ∼ для редуцируемой ВСП (продолжение) После этого, действуя аналогичным образом, как и в предыдущем пункте, вычисляем классы разбиения Σ3, соответствующего эквивалентности 휌3. Нетрудно проверить, что классы разбиения Σ3 будут иметь точно такой же вид, что и классы эквивалентности разбиения Σ2. Это означает, что искомое разбиение множества S на классы эквивалентных состояний построено, оно имеет вид {s0}, {s1, s3, s6, s8}, {s2, s7}, {s4, s5} (16) Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 47. Удаление избыточных состояний Теперь можно приступить к удалению избыточных состояний (так, чтобы среди оставшихся состояний было ровно по одному состоянию из каждого класса эквивалентности (16)). Можно удалить следующие состояния: s3, s6, s8, s7, s5. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 48. Результат редукции 1/2 1/2 1 s0 @ @I @ s4 s2 s1 1/2 @ - - ? 6 @ 1/2 @ @ @ ? @ 1/2 1/2 0 1 1 0 (17) ВСП (17) далее нередуцируема: нетрудно видеть, что все её состояния неэквивалентны. Таким образом, в результате редукции исходная ВСП (9) с девятью состояниями упростится до эквивалентной ей ВСП (17) с четырьмя состояниями. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 49. Заключение Основные результаты Построен алгоритм редукции вероятностных систем переходов, идея которого заключается в удалении избыточных состояний. Однако этот алгоритм не гарантирует построения минимальной (по числу состояний) ВСП. Направления дальнейших исследований Построить алгоритм нахождения минимальной по числу состояний ВСП, эквивалентной заданной ВСП. Исследовать единственность такой минимальной ВСП (с точностью до подходящим образом сформулированного понятия изоморфизма). Исследовать проблему минимизации других классов моделей, связанных с вероятностной верификацией, в частности, минимизации марковских решающих процессов. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  • 50. Спасибо за внимание! Вопросы? Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах