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

Post on 02-Jul-2015

166 views 0 download

description

Andrew Mironov, Sergei Frenkel, IPI RAS, Moscow

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

Метод понижения вычислительной сложностив задачах верификации

вероятностных моделей программ

Андрей Миронов Сергей Френкель

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 andVerification под руководством Марты Квиатковской, см.

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 ∈ API 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.

Для любых x ∈ X и y ∈ Y значение f (x , y) можно интерпретироватькак вероятность того, СФ f отображает x в y .Если f – СФ из X в Y , то мы будем обозначать этот факт записьюf : X →

rY . Мы будем называть

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 →

rS , отображающую элемент

e ∈ 1 в состояние s ВСП D.3 Для каждого n ≥ 0 обозначим записью Pn СФ вида Pn : S →

rS ,

определяемую индуктивно: 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 andreliability. 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 , s0i ,Pi , Li ) (i = 1, 2) (5)

Состояния s1 ∈ S1 и s2 ∈ S2 эквивалентны (s1 ∼ s2), если для каждойформулы f логики PCTL верно равенство s1(f ) = s2(f ).ВСП D1 и D2 вида (5) эквивалентны (D1 ∼ D2) если s01 ∼ s02 .Если ВСП 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 , которое состоит из классовS i1, . . . ,S

ik .

Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах верификации вероятностных моделей программ

Построение разбиения множества состоянийредуцируемой ВСП D = (S , s0, P , L) (продолжение)

Обозначим записями

Σi1, . . . ,Σ

ik – строки матрицы 𝜋i , соответствующей

детерминированной СФ 𝜋i : S → Σi , и

𝜙Σi

1 , . . . , 𝜙Σi

k – список формул, таких, что

∀ j = 1, . . . , k S(𝜙Σi

j ) = Σij .

Определим отношение эквивалентности 𝜌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 · Σij (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.Определим ВСП

D1def= (S1, s

0,P1, L1) (8)

где S1def= S ∖ {s1}, ∀ s, s ′ ∈ S1

P1(s, s′)

def=

{︂P(s, s ′) + P(s, s1) если s ′ = s2P(s, s ′) если s ′ ̸= s2

и ∀ s ∈ S1 L1(s)def= L(s), т.е.

матрица P1 получается из матрицы P прибавлением к столбцу s2столбца s1, и удалением строки s1 и столбца s1, и

матрица L1 получается из матрицы L удалением строки s1.

Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах верификации вероятностных моделей программ

Удаление эквивалентных состояний из ВСП(продолжение)

Мы будем говорить что ВСП D1def= (S1, s

0,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, соответствующее

отношению эквивалентности Rdef=∼.

Искомая ВСП 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), то завершаем работу.

Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах верификации вероятностных моделей программ

Пример редукции ВСП

����s7����s6

����s8

������

��s0

����s4����s5

����s2����s1

����s3

-�

-�

�-

�-

?

6

?

6

?

66

?

6

?

@@

@@@

@@@@I

����������

��

���

����

@@@@@@@@@R�

�������������������

AAAAAAAAAAAAAAAAAAAKA

AAAAAAAAAAAAAAAAAAU

��������������������

c1/2 d1/2

p1/2 q1/2

1

1

v1/2

1/2

1/2

u2/2

1/2

v2/2

u1/2

1/2

1/2 a1/2

a2/2 1/2

b1/2 b2/2

b3/2b4/2

p2/2 q2/2

c2/2 d2/2

0

1

0

0

1

0

1

1

0

(9)

Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах верификации вероятностных моделей программ

Пример редукции ВСП (продолжение)

Ограничения на коэффициенты:

a1 + a2 = 1b1 + b2 + b3 + b4 = 1c1 + c2 = 1d1 + d2 = 1p1 + p2 = 1q1 + q2 = 1u1 + u2 = 1v1 + 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.

Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах верификации вероятностных моделей программ

Результат редукции

������

��s0

����s4

����s2����s1

-�

-

?

6

? @@

@@@

@@@@I

1/2

1/2 11/2

1/2

1/2

1/2

0

1

1

0 (17)

ВСП (17) далее нередуцируема: нетрудно видеть, что все её состояниянеэквивалентны.Таким образом, в результате редукции исходная ВСП (9) с девятьюсостояниями упростится до эквивалентной ей ВСП (17) с четырьмясостояниями.

Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах верификации вероятностных моделей программ

Заключение

Основные результаты

Построен алгоритм редукции вероятностных систем переходов, идеякоторого заключается в удалении избыточных состояний.Однако этот алгоритм не гарантирует построения минимальной (почислу состояний) ВСП.

Направления дальнейших исследований

Построить алгоритм нахождения минимальной по числусостояний ВСП, эквивалентной заданной ВСП.

Исследовать единственность такой минимальной ВСП (сточностью до подходящим образом сформулированного понятияизоморфизма).

Исследовать проблему минимизации других классов моделей,связанных с вероятностной верификацией, в частности,минимизации марковских решающих процессов.

Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах верификации вероятностных моделей программ

Спасибо за внимание!

Вопросы?

Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах верификации вероятностных моделей программ