Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

556 views

Published on

Andrew Mironov, Sergei Frenkel, IPI RAS, Moscow

Published in: Science
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Метод понижения вычислительной сложности в задачах верификации вероятностных моделей программ Андрей Миронов Сергей Френкель amironov66@gmail.com fsergei@mail.ru Институт Проблем Информатики РАН Москва, 2014 г. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  2. 2. Краткое содержание Описание задачи Рассматривается задача редукции вероятностных систем переходов (ВСП) с целью понижения сложности верификации таких систем. Верификация ВСП заключается в вычислении истинностных значений формул вероятностной темпоральной логики (PCTL, Probabilistic Computational Tree Logic) в начальных состояниях ВСП. Полученные результаты Алгоритм вычисления классов эквивалентности состояний ВСП. Алгоритм удаления эквивалентных состояний, в результате работы которого получается такая ВСП, у которой все свойства, выражаемые формулами логики PCTL, совпадают со свойствами исходной ВСП. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  3. 3. Примеры свойств вероятностных систем переходов Частота выполнения тех или иных действий или переходов в анализируемых системах. Вероятность отказа компонентов анализируемых систем. Вероятностный характер взаимодействия анализируемой системы с её окружением, например: частота поступления входных запросов или сообщений, частота получения искажённых сообщений (для протоколов передачи сообщений в компьютерных сетях), и т.п. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  4. 4. Промышленные системы вероятностной верификации Первые промышленные системы вероятностной верификации были разработаны в 2000-х годах. Эти системы вероятностной верификации успешно применяются во многих областях, в том числе: анализ распределенных алгоритмов, телекоммуникационные протоколы, компьютерная безопасность, криптографические протоколы, моделирование биологических процессов. С использованием этих систем верификации были обнаружены уязвимости и аномальные поведения анализируемых систем. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  5. 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. 6. Сравнение с другими работами Некоторые подходы к редукции ВСП изучались в различных работах по вероятностной верификации, однако в этих исследованиях были рассмотрены лишь частные методы редукции ВСП, такие как редукция частичных порядков, и редукция основанная на понятии симметрии множества состояний ВСП. Данные методы можно эффективно использовать лишь для ВСП достаточно специального вида, как правило это – вероятностные модели параллельных и распределённых программ. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  7. 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. 8. Графовое представление ВСП ВСП удобно рассматривать как граф, вершинами которого являются состояния, помеченные элементами множества 2AP: каждая вершина s ∈ S имеет метку L(s), и для каждой пары (s1, s2) ∈ S × S такой, что P(s1, s2) > 0, граф содержит ребро из s1 в s2 с меткой P(s1, s2). Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  9. 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. 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. 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. 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. 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. 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. 15. Формулы логики PCTL Формулы логики PCTL могут отражать различные вероятностные аспекты поведения анализируемых систем, к числу которых относятся например: частота выполнения тех или иных действий или переходов в анализируемых системах, вероятность отказа компонентов анализируемых систем, вероятностный характер взаимодействия анализируемой системы с её окружением, например: I I частота поступления входных запросов или сообщений, I частота получения искажённых сообщений (для протоколов передачи сообщений в компьютерных сетях), и т.п. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  16. 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. 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. 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. 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. 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. 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. 22. Смысл формул логики PCTL Формулы логики PCTL представляют собой утверждения, выражающие различные свойства ВСП. Эти свойства могут выражать, например, динамические аспекты поведения ВСП, т.е. описывать зависимость истинности какого-либо утверждения в некотором состоянии s рассматриваемой ВСП от истинности другого утверждения в состояниях, достижимых из s. Смысл формул состояний логики PCTL непосредственно усматривается из определения значений этих формул в состояниях. Смысл формул путей логики PCTL можно описать следующим образом. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  23. 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. 24. Редукция ВСП Редукция ВСП заключается в удалении части состояний и переходов анализируемой ВСП, с таким расчетом, чтобы получившая ВСП была эквивалентна исходной в следующем смысле: для каждой формулы состояний f логики PCTL формула f истинна в начальном состоянии исходной ВСП тогда и только тогда, когда она истинная в начальном состоянии редуцированной ВСП. Основная идея метода редукции ВСП основана на понятии эквивалентности состояний ВСП: мы называем состояния эквивалентными, если значения всех формул логики PCTL в этих состояниях совпадают. Алгоритм редукции ВСП представляет собой вычисление классов эквивалентности состояний анализируемой ВСП, и склейку эквивалентных состояний. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  25. 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. 26. Редукция вероятностных систем переходов Задача редукции ВСП Пусть задана ВСП D = (S, s0, P, L). Задача редукции ВСП D заключается в построении ВСП D′, которая эквивалентна D, и число состояний которой меньше, чем число состояний ВСП D. Идея алгоритма редукции ВСП Вычисляются классы эквивалентности S1, . . . , Sk множества S, соответствующие разбиению ∼. ВСП D преобразуется путем удаления состояний в классах эквивалентности S1, . . ., Sk (и соответствующего переопределения функции перехода), до тех пор, пока не останется по одному состоянию в каждом из этих классов. В результате этих удалений получается искомая ВСП D′. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  27. 27. Построение разбиения множества состояний редуцируемой ВСП D = (S, s0, P, L) Сначала вычисляется разбиение Σ0, соответствующее эквивалентности {(s1, s2) ∈ S × S | L(s1) = L(s2)}. Затем работает цикл, состоящий из следующих шагов. Пусть для некоторого i ≥ 0 определены отношение эквивалентности 휌i , и соответствующее ему разбиение Σi , которое состоит из классов Si1 , . . . , Sik. Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  28. 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. 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. 30. Построение разбиения множества состояний редуцируемой ВСП D = (S, s0, P, L) (продолжение) Возможны два случая. 1 Σi+1 = Σi . В этом случае искомое разбиение ∼ найдено: оно совпадает с Σi . 2 Σi̸= Σi+1. В этом случае увеличиваем i на 1 и возвращаемся в начало цикла. Таких возвращений может быть не больше количества элементов множества S, т.к. Σi+1 – измельчение разбиения Σi . Андрей Миронов Сергей Френкель Метод понижения вычислительной сложности в задачах
  31. 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. 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. 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. 34. Пример редукции ВСП c1/2 d1/2 p2/2 q2/2 ? 1 1/2 a1/2 a2/2 1/2 1 c2/2 d2/2 A

×