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).
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
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. Спасибо за внимание!
Вопросы?
Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах