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

50

description

Andrew Mironov, Sergei Frenkel, IPI RAS, Moscow

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

Page 1: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

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

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

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

[email protected] [email protected]

Институт Проблем Информатики РАН

Москва, 2014 г.

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

Page 2: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Краткое содержание

Описание задачи

Рассматривается задача редукции вероятностных систем переходов(ВСП) с целью понижения сложности верификации таких систем.

Верификация ВСП заключается в вычислении истинностныхзначений формул вероятностной темпоральной логики (PCTL,Probabilistic Computational Tree Logic) в начальных состояниях ВСП.

Полученные результаты

Алгоритм вычисления классов эквивалентности состояний ВСП.

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

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

Page 3: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Примеры свойств вероятностных систем переходов

Частота выполнения тех или иных действий или переходов ванализируемых системах.

Вероятность отказа компонентов анализируемых систем.

Вероятностный характер взаимодействия анализируемой системыс её окружением, например: частота поступления входныхзапросов или сообщений, частота получения искажённыхсообщений (для протоколов передачи сообщений в компьютерныхсетях), и т.п.

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

Page 4: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Промышленные системы вероятностной верификации

Первые промышленные системы вероятностной верификации былиразработаны в 2000-х годах. Эти системы вероятностной верификацииуспешно применяются во многих областях, в том числе:

анализ распределенных алгоритмов,

телекоммуникационные протоколы,

компьютерная безопасность,

криптографические протоколы,

моделирование биологических процессов.

С использованием этих систем верификации были обнаруженыуязвимости и аномальные поведения анализируемых систем.

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

Page 5: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Практические системы вероятностной верификации

Наиболее популярной практической системой вероятностнойверификации в настоящее время является система 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/

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

Page 6: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Сравнение с другими работами

Некоторые подходы к редукции ВСП изучались в различных работахпо вероятностной верификации, однако в этих исследованиях былирассмотрены лишь частные методы редукции ВСП, такие как

редукция частичных порядков, и

редукция основанная на понятии симметрии множества состоянийВСП.

Данные методы можно эффективно использовать лишь для ВСПдостаточно специального вида, как правило это – вероятностныемодели параллельных и распределённых программ.

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

Page 7: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Понятие вероятностной системы переходов

Задано множество 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).

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

Page 8: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Графовое представление ВСП

ВСП удобно рассматривать как граф,

вершинами которого являются состояния, помеченныеэлементами множества 2AP : каждая вершина s ∈ S имеет меткуL(s), и

для каждой пары (s1, s2) ∈ S × S такой, что P(s1, s2) > 0, графсодержит ребро из s1 в s2 с меткой P(s1, s2).

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

Page 9: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Случайные функции

Пусть 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 .

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

Page 10: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Детерминированные случайные функции

СФ 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 .

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

Page 11: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Матрицы, соответствующие случайным функциям

Если СФ 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 задано фиксированноеупорядочение его элементов. Таким образом, для каждойрассматриваемой СФ соответствующая ей матрица определенаоднозначно.

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

Page 12: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Матрицы, соответствующие случайным функциям(продолжение)

Для каждой СФ 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 .

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

Page 13: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Матрицы, соответствующие вероятностным системампереходов

Пусть задана ВСП 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.

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

Page 14: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Логика 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.

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

Page 15: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Формулы логики PCTL

Формулы логики PCTL могут отражать различные вероятностныеаспекты поведения анализируемых систем, к числу которых относятсянапример:

частота выполнения тех или иных действий или переходов ванализируемых системах,

вероятность отказа компонентов анализируемых систем,

вероятностный характер взаимодействия анализируемой системыс её окружением, например:

I

I частота поступления входных запросов или сообщений,I частота получения искажённых сообщений (для протоколов

передачи сообщений в компьютерных сетях), и т.п.

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

Page 16: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Примеры свойств ВСП, которые могут быть описаны ввиде формул логики 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 единиц времени, больше половины.

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

Page 17: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Синтаксис логики 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.

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

Page 18: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Формулы логики 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¬𝛼 соответственно).

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

Page 19: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Значения формул логики 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 в состояниях ВСП определяютсяиндукцией по структуре формул в соответствии с излагаемыми нижеправилами.

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

Page 20: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Обозначения

Если 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 является конечной)

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

Page 21: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Определение значений формул логики 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(𝛼)))︁

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

Page 22: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Смысл формул логики PCTL

Формулы логики PCTL представляют собой утверждения,выражающие различные свойства ВСП.Эти свойства могут выражать, например, динамические аспектыповедения ВСП, т.е. описывать зависимость истинности какого-либоутверждения в некотором состоянии s рассматриваемой ВСП отистинности другого утверждения в состояниях, достижимых из s.Смысл формул состояний логики PCTL непосредственноусматривается из определения значений этих формул в состояниях.Смысл формул путей логики PCTL можно описать следующимобразом.

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

Page 23: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Смысл формул логики 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.

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

Page 24: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Редукция ВСП

Редукция ВСП заключается в удалении части состояний и переходованализируемой ВСП, с таким расчетом, чтобы получившая ВСП былаэквивалентна исходной в следующем смысле: для каждой формулысостояний f логики PCTL формула f истинна в начальном состоянииисходной ВСП тогда и только тогда, когда она истинная в начальномсостоянии редуцированной ВСП.Основная идея метода редукции ВСП основана на понятииэквивалентности состояний ВСП: мы называем состоянияэквивалентными, если значения всех формул логики PCTL в этихсостояниях совпадают.Алгоритм редукции ВСП представляет собой

вычисление классов эквивалентности состояний анализируемойВСП, и

склейку эквивалентных состояний.

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

Page 25: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Эквивалентность ВСП

Пусть заданы две ВСП:

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, является отношением эквивалентности. Мы будем обозначатьэто отношение символом ∼.

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

Page 26: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Редукция вероятностных систем переходов

Задача редукции ВСП

Пусть задана ВСП D = (S , s0,P, L).Задача редукции ВСП D заключается в построении ВСП D ′, котораяэквивалентна D, и число состояний которой меньше, чем числосостояний ВСП D.

Идея алгоритма редукции ВСП

Вычисляются классы эквивалентности S1, . . . ,Sk множества S ,соответствующие разбиению ∼.ВСП D преобразуется путем удаления состояний в классахэквивалентности S1, . . ., Sk (и соответствующего переопределенияфункции перехода), до тех пор, пока не останется по одномусостоянию в каждом из этих классов.

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

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

Page 27: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

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

Сначала вычисляется разбиение Σ0, соответствующее эквивалентности

{(s1, s2) ∈ S × S | L(s1) = L(s2)}.

Затем работает цикл, состоящий из следующих шагов.Пусть для некоторого i ≥ 0 определены

отношение эквивалентности 𝜌i , и

соответствующее ему разбиение Σi , которое состоит из классовS i1, . . . ,S

ik .

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

Page 28: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Построение разбиения множества состоянийредуцируемой ВСП 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)

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

Page 29: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Построение разбиения множества состоянийредуцируемой ВСП 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 .

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

Page 30: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

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

Возможны два случая.

1 Σi+1 = Σi . В этом случае искомое разбиение ∼ найдено: оносовпадает с Σi .

2 Σi ̸= Σi+1. В этом случае увеличиваем i на 1 и возвращаемся вначало цикла.Таких возвращений может быть не больше количества элементовмножества S , т.к. Σi+1 – измельчение разбиения Σi .

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

Page 31: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

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

Пусть ВСП 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.

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

Page 32: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

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

Мы будем говорить что ВСП 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 ).

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

Page 33: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Описание алгоритма редукции ВСП 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), то завершаем работу.

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

Page 34: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

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

����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)

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

Page 35: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

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

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

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).

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

Page 36: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

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

Матрицу 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

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

Page 37: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Вычисление эквивалентности ∼ для редуцируемой ВСП

Вычисляется отношение эквивалентности 𝜌0, которое состоит из всехпар (s1, s2) ∈ S × S , удовлетворяющих равенству L(s1) = L(s2).Нетрудно видеть, что Σ0 состоит из двух классов

{s0, s1, s3, s6, s8}, {s2, s4, s5, s7} (11)

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

Page 38: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Вычисление эквивалентности ∼ для редуцируемой ВСП(продолжение)

Матрица 𝜋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

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

Page 39: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Вычисление эквивалентности ∼ для редуцируемой ВСП(продолжение)

Затем вычисляется матрица 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)

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

Page 40: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Вычисление эквивалентности ∼ для редуцируемой ВСП(продолжение)

По матрице (12) нетрудно вычислить отношение 𝜌1 и соответствующееему разбиение Σ1.Из определения отношения 𝜌1 непосредственно следует, что состоянияs1 и s2 находятся в одном и том же классе разбиения Σ1 тогда итолько тогда, когда

они оба находятся в одном и том же классе из списка (11), и

строки матрицы (12), соответствующие состояниям s1 и s2,совпадают.

Разбиение Σ1 будет состоять из трех классов (измельчится первыйкласс в (11), а второй класс останется тем же), эти классы имеютследующий вид:

{s0}, {s1, s3, s6, s8}, {s2, s4, s5, s7} (13)

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

Page 41: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Вычисление эквивалентности ∼ для редуцируемой ВСП(продолжение)

Затем вычисляется матрица 𝜋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

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

Page 42: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Вычисление эквивалентности ∼ для редуцируемой ВСП(продолжение)

Произведение 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

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

Page 43: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Вычисление эквивалентности ∼ для редуцируемой ВСП(продолжение)

После этого, действуя аналогичным образом, как и в предыдущемпункте, вычисляем классы разбиения Σ2, соответствующегоэквивалентности 𝜌2. Таких классов будет четыре (измельчится третийкласс в (13), а первый и второй классы останутся теми же), этиклассы имеют следующий вид:

{s0}, {s1, s3, s6, s8}, {s2, s7}, {s4, s5} (14)

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

Page 44: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Вычисление эквивалентности ∼ для редуцируемой ВСП(продолжение)

Затем вычисляется матрица 𝜋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

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

Page 45: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Вычисление эквивалентности ∼ для редуцируемой ВСП(продолжение)

Произведение 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)

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

Page 46: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Вычисление эквивалентности ∼ для редуцируемой ВСП(продолжение)

После этого, действуя аналогичным образом, как и в предыдущемпункте, вычисляем классы разбиения Σ3, соответствующегоэквивалентности 𝜌3.Нетрудно проверить, что классы разбиения Σ3 будут иметь точнотакой же вид, что и классы эквивалентности разбиения Σ2. Этоозначает, что искомое разбиение множества S на классыэквивалентных состояний построено, оно имеет вид

{s0}, {s1, s3, s6, s8}, {s2, s7}, {s4, s5} (16)

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

Page 47: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Удаление избыточных состояний

Теперь можно приступить к удалению избыточных состояний (так,чтобы среди оставшихся состояний было ровно по одному состояниюиз каждого класса эквивалентности (16)).Можно удалить следующие состояния: s3, s6, s8, s7, s5.

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

Page 48: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

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

������

��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) с четырьмясостояниями.

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

Page 49: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

Заключение

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

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

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

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

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

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

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

Page 50: A Method of Reducing Computational Complexity in Verification of Programming Probability Models

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

Вопросы?

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