Monte Carlo w model checkingu

Podobne dokumenty
Weryfikacja modelowa. Protokoły komunikacyjne 2006/2007. Paweł Kaczan

Analiza Algorytmów 2018/2019 (zadania na laboratorium)

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Praktyczne metody weryfikacji

Prognozowanie i Symulacje. Wykład I. Matematyczne metody prognozowania

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Generowanie liczb o zadanym rozkładzie. ln(1 F (y) λ

Metody Rozmyte i Algorytmy Ewolucyjne

Prawdopodobieństwo i statystyka

Obliczenia inspirowane Naturą

Techniki optymalizacji

Logika Temporalna i Automaty Czasowe

Metody probabilistyczne

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Algorytmy MCMC (Markowowskie Monte Carlo) dla skokowych procesów Markowa

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Wprowadzenie Logiki temporalne Przykłady użycia Bibliografia. Logiki temporalne. Andrzej Oszer. Seminarium Protokoły Komunikacyjne

Logika Temporalna i Automaty Czasowe

Model-checking programów w Javie

Modele zapisane w przestrzeni stanów

Wykład 6. Wyszukiwanie wzorca w tekście

Spacery losowe generowanie realizacji procesu losowego

Zmienna losowa. Rozkład skokowy

Minimalizacja automatów niedeterministycznych na słowach skończonych i nieskończonych

Typy algorytmów losowych. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Prawdopodobieństwo i statystyka

Weryfikacja hipotez statystycznych

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Teoria systemów uczacych się i wymiar Vapnika-Chervonenkisa

Aproksymacja funkcji a regresja symboliczna

Optymalizacja. Symulowane wyżarzanie

Praktyczne metody weryfikacji. Wykład 9: Weryfikacja ograniczona.. p.1/40

Centralne twierdzenie graniczne

Lista zadania nr 7 Metody probabilistyczne i statystyka studia I stopnia informatyka (rok 2) Wydziału Ekonomiczno-Informatycznego Filia UwB w Wilnie

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

4 Klasyczny rachunek zdań

Analiza algorytmów zadania podstawowe

Algorytmy zrandomizowane

MODELOWANIE I WERYFIKACJA PROTOKOŁU SCTP Z WYKORZYSTANIEM AUTOMATÓW CZASOWYCH ZE ZMIENNYMI

Zadanie 1. Liczba szkód N w ciągu roku z pewnego ryzyka ma rozkład geometryczny: k =

Prawa wielkich liczb, centralne twierdzenia graniczne

LOGIKA I TEORIA ZBIORÓW

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

Algorytmy estymacji stanu (filtry)

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Elementy Rachunek prawdopodobieństwa

Wstęp do Programowania potok funkcyjny

Wprowadzenie do programowania współbieżnego

Wykład 11: Martyngały: definicja, twierdzenia o zbieżności

Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia

Logika Temporalna i Automaty Czasowe

Praktyczne metody weryfikacji

Teoria obliczeń i złożoność obliczeniowa

Topologia zbioru Cantora a obwody logiczne

Siedem cudów informatyki czyli o algorytmach zdumiewajacych

Wykład 9: Markov Chain Monte Carlo

WYKŁAD 3. Witold Bednorz, Paweł Wolff. Rachunek Prawdopodobieństwa, WNE, Uniwersytet Warszawski. 1 Instytut Matematyki

Programowanie dynamiczne cz. 2

Pojęcie szeregu nieskończonego:zastosowania do rachunku prawdopodobieństwa wykład 1

Sieci Mobilne i Bezprzewodowe laboratorium 2 Modelowanie zdarzeń dyskretnych

Złożoność obliczeniowa

Imię, nazwisko, nr indeksu

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

9. Schematy aproksymacyjne

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

PROCESY STOCHASTYCZNE. PEWNE KLASY PROCESÓW STOCHASTYCZNYCH Definicja. Procesem stochastycznym nazywamy rodzinę zmiennych losowych X(t) = X(t, ω)

Rachunek prawdopodobieństwa MAP1064 Wydział Elektroniki, rok akad. 2008/09, sem. letni Wykładowca: dr hab. A. Jurlewicz

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

PODSTAWOWE ROZKŁADY PRAWDOPODOBIEŃSTWA. Piotr Wiącek

Języki formalne i automaty Ćwiczenia 7

e E Z = P = 1 Z e E Kanoniczna suma stanów Prawdopodobieństwo wystąpienia mikrostanu U E = =Z 1 Wartość średnia energii

Rozkłady prawdopodobieństwa zmiennych losowych

Przykład 1 W przypadku jednokrotnego rzutu kostką przestrzeń zdarzeń elementarnych

Logika Stosowana. Wykład 7 - Zbiory i logiki rozmyte Część 3 Prawdziwościowa logika rozmyta. Marcin Szczuka. Instytut Informatyki UW

Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel

Automaty czasowe. Sposoby weryfikacji UPPAAL. Narzędzie do weryfikacji automatów czasowych. Aleksander Zabłocki. 6 maja 2009

Fuzja sygnałów i filtry bayesowskie

Temat: Zmienna losowa. Rozkład skokowy. Rozkład ciągły. Kody kolorów: Ŝółty nowe pojęcie pomarańczowy uwaga. Anna Rajfura, Matematyka

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

Elementy modelowania matematycznego

Rozkład materiału nauczania

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Wykład 2: Tworzenie danych

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

Drugie kolokwium z Rachunku Prawdopodobieństwa, zestaw A

WYKŁADY ZE STATYSTYKI MATEMATYCZNEJ wykład 7 i 8 - Efektywność estymatorów, przedziały ufności

Prawdopodobieństwo i statystyka

Na A (n) rozważamy rozkład P (n) , który na zbiorach postaci A 1... A n określa się jako P (n) (X n, A (n), P (n)

Logika Stosowana. Wykład 2 - Logika modalna Część 3. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2017/2018

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Teoretyczne podstawy informatyki

Matematyczne Podstawy Kognitywistyki

ZLOŻONOŚĆ OBLICZENIOWA - WYK. 2

P (A B) = P (A), P (B) = P (A), skąd P (A B) = P (A) P (B). P (A)

Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott

Inżynierskie metody analizy numerycznej i planowanie eksperymentu / Ireneusz Czajka, Andrzej Gołaś. Kraków, Spis treści

Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy

RÓWNANIA NIELINIOWE Maciej Patan

Transkrypt:

Niezawodność systemów współbieżnych i obiektowych 28 kwietnia 2010

1 2 3 4 5

Cel Cel Weryfikacja systemów komputerowych sprawdzenie, czy formuła LTL zachodzi dla danego systemu Problemy: Problem weryfikacji LTL jest PSPACE-zupełny Eksplozja stanów nie dysponujemy zasobami wystarczajacymi do sprawdzenia całego systemu przez proste wyliczenie stanów.

Techniki i heurystyki Cel weryfikacja symboliczna (SMC) weryfikacja z ograniczona głębokościa (BMC) redukcje częściowo-porzadkowe

Monte Carlo Cel Sprawdzenie własności systemu bez wyliczania całego modelu. losowe próbkowanie ścieżek w celu znalezienia błędu symulacja losowego wykonania programu ograniczenie prawdopodobieństwa wystapienia błędu

Podejście tradycyjne Analiza Dane: automat Büchiego B S reprezentujacy system formuła LTL ϕ: ϕ ::= p ϕ ϕ ϕ ϕ ϕ ϕuϕ Xϕ

Automat Büchiego przypomnienie Podejście tradycyjne Analiza B = (Σ, Q, Q 0, δ, F) Σ alfabet wejściowy Q skończony zbiór stanów Q 0 stan poczatkowy δ Q Σ Q relacja przejścia F stany akceptujace W skrócie: skończony automat dla nieskończonych słów akceptuje język ω-regularny

Podejście tradycyjne Podejście tradycyjne Analiza dla zaprzeczenia ϕ tworzymy automat Büchiego B ϕ Mnożymy oba automaty: B = B S B ϕ sprawdzamy pustość języka L(B)

Podejście tradycyjne Analiza Iloczyn automatów Büchiego przypomnienie B 1 = (Σ, Q 1, Q 1 0, δ 1, F 1 ) B 2 = (Σ, Q 2, Q 2 0, δ 2, F 2 ) B = B 1 B 2 = (Σ, Q, Q 0, δ, F) Q = Q 1 Q 2 {0, 1, 2} Q 0 = Q 1 0 Q2 0 {0} F = Q 1 Q 2 {2} (s 1, s 2, x) a(t 1, t 2, y) s 1 at 1 s 2 at 2 x y 0 1 jeżeli t 1 F 1 1 2 jeżeli t 2 F 2

Podejście tradycyjne DDFS Podejście tradycyjne Analiza DFS1(s): T T (s, 0); S.push(s); for t next(s) do if (t, 0) T DFS1(t) then return true; end if end for if s F (s, 1) T DFS2(s) then return true; end if S.pop; return false;

Podejście tradycyjne DDFS Podejście tradycyjne Analiza DFS2(s): T T (s, 1); for t next(s) do if t S then return true; end if if (t, 1) T DFS2(t) then return true; end if end for return false;

Podejście tradycyjne DDFS Podejście tradycyjne Analiza Poszukiwanie lassa ze stanem akceptujacym w cyklu. DFS1 q 0 t s DFS2

Monte Carlo Podejście tradycyjne Analiza Zamiast przegladać kolejne krawędzie wychodzace z każdego stanu, próbkujemy losowe wykonania programu (ścieżki w automacie B) w poszukiwaniu akceptujacego cyklu.

Przestrzeń lass Podejście tradycyjne Analiza Uwaga Prawdopodobieństwo przebiegu skończonego σ = s 0 s 1... s n P(s 0 ) = 1 Q 0 P(s 0 s 1... s n ) = P(s 0... s n 1 ) 1 m, gdzie m = {t a (s, a, t) δ} Każda tranzycję z danego stanu uważamy za równie prawdopodobna.

Przestrzeń lass Podejście tradycyjne Analiza Zmienna losowa akceptacji Z Wartość oczekiwana Z : p Z = P(Z = 1) = σ L a P(σ) Interpretacja p Z jest prawdopodobieństwem, że losowe lasso w B jest akceptujace.

Przestrzeń lass przykład Podejście tradycyjne Analiza cztery lassa: 1-1, 1-2-4-4, 1-2-3-1, 1-2-3-4-4 prawdopodobieństwa lass: 1 2, 1 4, 1 8, 1 8 p Z = 1 8

Algorytm pojedyncza próbka Podejście tradycyjne Analiza T =, i = 0, f = 0; s losowy stan z Q 0 ; while (s, ) T do i i + 1; T T (s, i); if s F then f i; end if s losowy następnik s; end while if (s, i) T i < f then return kontrprzykład T; end if

Liczba próbek Podejście tradycyjne Analiza Jak wielu próbek potrzebujemy? Schemat Bernoulliego: N niezależnych prób prawdopodobieństwo sukcesu p Z prawdopodobieństwo porażki q Z = 1 p Z X - liczba prób do sukcesu zmienna losowa z rozkładem geometrycznym

Liczba próbek Podejście tradycyjne Analiza X - liczba prób do sukcesu zmienna losowa z rozkładem geometrycznym P(X = k) = q k 1 Z p Z P(X k) = k i=0 P(X = i) = 1 qk Z

Liczba próbek Podejście tradycyjne Analiza Żadamy, aby P(X N) 1 δ: 1 q N Z 1 δ, N Zakładamy ponadto, że p Z ε: N ln(δ) ln(1 p Z ) ln(δ) ln(1 ε) ln(δ) ln(1 p Z )

Złożoność algorytmu Podejście tradycyjne Analiza Aby stwierdzić, że P(p Z ε) δ należy przeanalizować N = ln(δ) ln(1 ε) próbek. Jeżeli przez D oznaczymy długość najdłuższej ścieżki prostej w B, to algorytm działa w czasie O(N D) i pamięci O(D)

Porównanie: k filozofów Podejście tradycyjne Analiza zakleszczenie zagłodzenie δ = 0.1, ε = 1.8 10 4, N = 1257

Podejście tradycyjne Analiza Porównanie: protokół Needhama-Schrödera δ = 10 3

Warianty Podejście tradycyjne Analiza Oszacowanie p Z z obu stron: P(p Z (1 ε) p Z p Z (1 + ε)) 1 δ Multi-lasso: ignorowanie lass nieakceptujacych

Podejście tradycyjne Analiza Zalety Niewielki koszt obliczeniowy i pamięciowy Świetna do szybkiego wyszukiwania błędów Wady Brak pewności!

Randomizacja DDFS Randomizacja DDFS Redukcja pamięci stanów

Randomizacja DDFS Randomizacja DDFS Redukcja pamięci stanów

Przykład Randomizacja DDFS Redukcja pamięci stanów c := 0; i := 0; while i < 1000 do if true -> c := c + 1 true -> c := c + 2 fi i := i + 1 od G(c < 2000 d) G(i < 1000 c 1500)

Randomizacja spamiętywania stanów Randomizacja DDFS Redukcja pamięci stanów Motywacja: dla zatrzymania się i poprawności algorytmu DDFS nie potrzeba tablicy haszujacej odwiedzonych stanów w tablicy można utrzymywać tylko niektóre stany Problem: które stany zapamiętać? nie wiemy, które będa często odwiedzane wybierzmy losowo!

Randomizacja DDFS Redukcja pamięci stanów Spamiętywanie stanów: strategia dynamiczna Wada przy każdym wycofaniu się DDFS ze stanu jest on usuwany z tablicy z prawdopodobieństwem P Del, w przeciwnym wypadku jest zapamiętywany na zawsze. po k odwiedzinach prawdopodobieństwo spamiętania wynosi P ESt = 1 P k Del odwlekanie spamiętywania często odwiedzanych stanów

Randomizacja DDFS Redukcja pamięci stanów Spamiętywanie stanów: strategia dynamiczna Prawdopodobieństwo, że stan zostanie spamiętany przy i-tym odwiedzeniu: P i 1 Del P Sto Średnia liczba odwiedzin do spamiętania: P Sto Redukcja pamięci, o ile każdy stan jest odwiedzany k razy: 1 P k Del M Wniosek kompromis między szybkościa działania a wielkościa użytej pamięci

Randomizacja DDFS Redukcja pamięci stanów Spamiętywanie stanów: strategia statyczna Wada Stany do spamiętania sa znane z góry Każdy stan zostaje albo spamiętany z prawdopodobieństwem P Sto albo zapomniany na zawsze Niewrażliwość na liczbę odwiedzin

Strategie spamiętywania: wyniki Randomizacja DDFS Redukcja pamięci stanów Algorytm Petersona

Metody weryfikacji Aproksymacja Monte Carlo Łańcuch Markowa z czasem dyskretnym M = (S, s 0, P) S zbiór stanów, s 0 stan poczatkowy, P : S 2 [0; 1] rozkład prawdopodobieństw przejścia taki, że: s S P(s, t) = 1 t S

PLTL Metody weryfikacji Aproksymacja Monte Carlo Rozszerzenie LTL o więzy dla prawdopodobieństwa spełnienia formuły w losowym przebiegu: ψ ::= P b [φ] P =? [φ], φ formuła LTL, {<, >,, } b ograniczenie na prawdopodobieństwo

Macierze rzadkie Metody weryfikacji Aproksymacja Monte Carlo Interpretujemy P jako macierz (stochastyczna) prawdopodobieństw przejść Badamy zachowanie ciagu: P, P P, P P P,..., P k,... w celu weryfikacji własności ψ

Macierze rzadkie: przykład Metody weryfikacji Aproksymacja Monte Carlo P = 1 1/3 2/3 1/4 3/4 1

Weryfikacja symboliczna Metody weryfikacji Aproksymacja Monte Carlo Analogicznie do SMC, reprezentujemy formułę i zachowanie modelu jako BDD W wierzchołkach terminalnych zamiast {0, 1} znajduja się prawdopodobieństwa Multi-Terminal Binary Decision Diagram reprezentuje funkcję {0, 1} m R

MTBDD przykład Metody weryfikacji Aproksymacja Monte Carlo x1 x2 x2 x3 x3 x3 x4 x4 x4 x4 4 3 2 1 0

Aproksymacja Monte Carlo Metody weryfikacji Aproksymacja Monte Carlo Będziemy rozpatrywać tylko podzbiór EPF LTL: zmienne zdaniowe i ich negacje, alternatywa, koniunkcja, operatory temporalne U i X. Monotoniczność Formuły EPF sa monotoniczne: k>0 πk π = M φ π + = M φ, gdzie π + jest dowolna ścieżka o prefiksie π

Aproksymacja Monte Carlo Metody weryfikacji Aproksymacja Monte Carlo Sprawdzanie własności przez próbkowanie ścieżek w łańcuchu Markowa. połaczenie BMC i aproksymacji Monte Carlo: próbkowanie tylko ścieżek długości k

Aproksymacja Monte Carlo Metody weryfikacji Aproksymacja Monte Carlo Weryfikujemy własność P b [φ]: dobieramy k log( S ) próbkujemy N ścieżek długości k obliczajac oszacowanie prawdopodobieństwa spełnienia formuły: A N P k[φ] jeżeli P k [φ] b, to z monotoniczności również P[φ] b, w przeciwnym wypadku zwiększamy k

Poprawność aproksymacji Metody weryfikacji Aproksymacja Monte Carlo Chcemy uzyskać prawdopodobnie dokładna aproksymację p P k [φ] ozn. = p: P (p ε p p + ε) 1 δ Aby tak było, należy wziać O ( ln 1 δ 1 ) ε próbek (ścieżek).

Poprawność aproksymacji Metody weryfikacji Aproksymacja Monte Carlo Nierówność Chernoffa-Hoeffdinga Dla m niezależnych zmiennych losowych o tym samym rozkładzie Bernoulliego (z prawdopodobieństwem sukcesu p), dla dowolnego ε [0; 1]: ( ) 1 P ε = P X i > p + ε e mθ(ε) m i

Metody weryfikacji Aproksymacja Monte Carlo Zalety niskie zużycie pamięci możliwe zrównoleglenie obliczeń Wady stosunkowo powolne dla niewielkich systemów z natury niedokładne

Zastosowania Zastosowania Monte Carlo Bibliografia Model checking systemów deterministycznych: szybkie odnajdywanie błędów niemożliwa pełna weryfikacja : efektywne znajdowanie dobrych oszacowań na prawdopodobieństwo zastosowania w bioinformatyce, m.in.: symulacje reakcji chemicznych kaskady sygnałowe w błonach komórkowych

Bibliografia Zastosowania Monte Carlo Bibliografia Sistla A. P., Clarke E. M., The complexity of propositional linear temporal logics, Journal of the ACM, vol. 32 n. 3, pp. 733 749, 1985 Vardi, M. Y., Wolper, P., An automata-theoretic approach for automatic program verification, Proc. IEEE Symposium on Logic in Computer Science, pp. 332 344, 1986. Brim L., Černá I., Nečesal M., Randomization helps in LTL model checking, Proc. Joint International Workshop, PAPM-PROBMIV 2001, pp. 105 119, Springer 2001.

Bibliografia Zastosowania Monte Carlo Bibliografia Guirado G., Herault T., Lassaigne R., Peyronnet S., Distribution, Approximation and Probabilistic Model Checking, ENTCS, Vol. 135, n. 2, pp. 19 30, Elsevier 2006 Donaldson R., Gilbert D., A Monte Carlo model checker for probabilistic LTL with numerical constraints, DCS Technical Report, Uniwersytet w Glasgow, 2008.