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

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

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

LOGIKA Klasyczny Rachunek Zdań

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

Automatyczne dowodzenie twierdzeń metodą rezolucji

Metody Programowania

Semantyka rachunku predykatów

Rozstrzygalność logiki modalnej

Podstawy Sztucznej Inteligencji (PSZT)

III rok kognitywistyki UAM,

Praktyczne metody weryfikacji

Adam Meissner SZTUCZNA INTELIGENCJA Problem spełnialności (SAT)

Logika Temporalna i Automaty Czasowe

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

Adam Meissner.

Logika stosowana. Ćwiczenia Złożoność obliczeniowa problemu spełnialności. Marcin Szczuka. Instytut Informatyki, Uniwersytet Warszawski

Algebrę L = (L, Neg, Alt, Kon, Imp) nazywamy algebrą języka logiki zdań. Jest to algebra o typie

Automatyczne planowanie oparte na sprawdzaniu spełnialności

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

Logika Temporalna i Automaty Czasowe

METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ

Semantyka rachunku predykatów pierwszego rzędu. Dziedzina interpretacji. Stałe, zmienne, funkcje. Logika obliczeniowa.

Wprowadzenie do Sztucznej Inteligencji

Paradygmaty dowodzenia

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ

Złożoność obliczeniowa

Język rachunku predykatów Formuły rachunku predykatów Formuły spełnialne i prawdziwe Dowody założeniowe. 1 Zmienne x, y, z...

Logika rachunek zdań

Programowanie deklaratywne i logika obliczeniowa

Logika Temporalna i Automaty Czasowe

Logika rachunek zdań

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

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

Praktyczne metody weryfikacji

Lista 6 Problemy NP-zupełne

Adam Meissner SZTUCZNA INTELIGANCJA

Wstęp do programowania

Trudność aproksymacji problemów NP-trudnych

Algorytm wspinaczkowy dla zadania k-sat

Metoda Tablic Semantycznych

Teoretyczne Podstawy Języków Programowania Wykład 1. Rachunek zdań

Logika pragmatyczna. Logika pragmatyczna. Kontakt: Zaliczenie:

Logika pragmatyczna dla inżynierów

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

Monte Carlo w model checkingu

Konsekwencja logiczna

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Definicja: alfabetem. słowem długością słowa

PRZEWODNIK PO PRZEDMIOCIE

SID Wykład 5 Wnioskowanie w rachunku zdań

Logika Rachunek zdań

Logika Temporalna i Automaty Czasowe

Logika rachunek zdań

vf(c) =, vf(ft 1... t n )=vf(t 1 )... vf(t n ).

1. Składnia. Logika obliczeniowa - zadania 1 SKŁADNIA Teoria

Logika Stosowana. Wykład 2 - Logika modalna Część 1. Marcin Szczuka. Instytut Matematyki UW. Wykład monograficzny, semestr letni 2016/2017

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

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

Andrzej Wiśniewski Logika II. Wykłady 10b i 11. Semantyka relacyjna dla normalnych modalnych rachunków zdań

1 Funktory i kwantyfikatory

Podstawowe Pojęcia. Semantyczne KRZ

Elementy logiki Klasyczny rachunek zdań. Wojciech Buszkowski Zakład Teorii Obliczeń Wydział Matematyki i Informatyki Uniwersytet im.

Logika Temporalna i Automaty Czasowe

Metody Sztucznej Inteligencji (studia inżynierskie)

Wstęp do programowania

Wstęp do logiki. Klasyczny Rachunek Zdań II

Interpretacja Niech U będzie zbiorem formuł takim, że zbiór {p 1,..., p k } jest zbiorem wszystkich symboli predykatywnych, {f 1,..., f l } jest zbior

Definicja: zmiennych zdaniowych spójnikach zdaniowych:

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 10. Twierdzenie o pełności systemu aksjomatycznego KRZ

Definicja: zmiennych zdaniowych spójnikach zdaniowych:

Algorytmy aproksymacyjne i parametryzowane

Planowanie drogi robota, algorytm A*

ROZDZIAŁ 1. Rachunek funkcyjny

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

LOGIKA STOSOWANA Wykład monograficzny Semestr letni, 2016/2017

Rachunek predykatów. Formuły rachunku predykatów. Plan wykładu. Relacje i predykaty - przykłady. Relacje i predykaty

Teoria Złożoności Zadania

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki

Inteligencja obliczeniowa Laboratorium 2: Algorytmy genetyczne

Algorytmy i struktury danych

Problemy optymalizacyjne - zastosowania

Wstęp do Programowania potok funkcyjny

Metalogika (10) Jerzy Pogonowski. Uniwersytet Opolski. Zakład Logiki Stosowanej UAM

Rodzaje Code slicing w weryfikacji Narzędzia Literatura. Code slicing. Bartłomiej Wołowiec. 16 lutego 2011

Elementy logiki i teorii mnogości

WERYFIKACJA WSPOMAGANA KOMPUTEROWO

Algorytmy stochastyczne, wykład 05 Systemy Liendenmayera, modelowanie roślin

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki. Wykład 15. Trójwartościowa logika zdań Łukasiewicza

Czyli o budowie drzew semantycznych.

Graf. Definicja marca / 1

Imię, nazwisko, nr indeksu

III rok kognitywistyki UAM,

Logika Matematyczna 11 12

Elementy logiki i teorii mnogości Wyk lad 1: Rachunek zdań

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

Sztuczna inteligencja i logika. Podsumowanie przedsięwzięcia naukowego Kisielewicz Andrzej WNT 20011

Logika Matematyczna 11 12

Prof. dr hab. inż. Jan Magott Wrocław, Katedra Informatyki Technicznej Wydział Elektroniki Politechniki Wrocławskiej

WERYFIKACJA WSPOMAGANA KOMPUTEROWO. Sławomir Lasota Uniwersytet Warszawski 2009/1020

Transkrypt:

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

Symboliczna weryfikacja modelowa (SMC) model kodowanie boolowskie QBF implementacja OBDD weryfikacja modelowa = operacje na OBDDs. p.2/40

Ograniczona weryfikacja modelowa (BMC) model kodowanie boolowskie BF weryfikacja modelowa = spełnialność formuły boolowskiej. p.3/40

SMC BMC Przykład: EF p (bezpieczeństwo) pre-smc:... p EX ( p EX p) p EX p p false... p pre( p pre( p)) p pre( p) p false post-smc: S 0 S 0 post(s 0 ) S 0 post(s 0 post(s 0 )).... p.4/40

Ograniczona weryfikacja modelowa poszukiwanie kontrprzykładów ograniczonej długości metoda symboliczna wykorzystanie SAT-rozwia,zywaczy (ang. SAT-solvers). p.5/40

I. Weryfikacja ograniczona. p.6/40

M E φ (φ LTL + ) np. zamiast M AG φ, sprawdzamy M EF φ M opisany przez formuły boolowskie: R(x 1,..., x m, x 1,..., x m) L p (x 1,..., x m ), Ŝ 0 (x 1,..., x m ). p.7/40

Pomysł: horyzont k 0 k kroków systemu Π k φ k kroków wystarcza by stwierdzić, że Π φ Lem.: Π k φ = Π φ Lem.: M E φ = k 0. M k E φ Tw.: M E φ k 0. M k E φ. p.8/40

Π = s 0 s 1 s 2... (k, l) - pe,tla: s 0 s 1... s l... s k s k+1+i = s l+i (k - pe,tla) brak pe,tli: s 0 s 1... s k.... p.9/40

Semantyka ograniczona dla k-pe,tli Π k φ Π φ Π = s 0 s 1 s 2.... p.10/40

Semantyka ograniczona dla nie-pe,tli Π k φ Π 0 k φ Π = s 0 s 1 s 2... i k, 0 i k Π i k p p L(s i) Π i k p, φ 1 φ 2, φ 1 φ 2... Π i k X φ i<k i Π i+1 k φ Π i k F φ j, i j k. Π j k φ Π i k G φ nigdy Π i k φ U ψ j, i j k. Π j k ψ l, i l<j. Π l k φ Π i k φ R ψ?. p.11/40

φ R ψ ( φu ψ) Π φ R ψ wtw gdy i < Π. ( j < i. Π j φ) = Π i ψ φ R ψ ψ U (ψ φ) G ψ Π i k φ U ψ j, i j k. Π j k ψ l, i l<j. Π l k φ Π i k φ R ψ j, i j k. Π j k φ l, i l j. Π l k ψ. p.12/40

Lem.: Π k φ = Π φ Lem.: M E φ = k 0. M k E φ Tw.: M E φ k 0. M k E φ jakie k jest wystarczaja,co duże? średnica grafu? brak pełności!. p.13/40

M k E φ (φ LTL + ) M, ψ, k [M, φ] k M k φ [M, φ] k spełnialna M opisany przez formuły boolowskie: R(z, z ) L p (z), S 0 (z). p.14/40

Ścieżka symboliczna z 0 z 1... z k [M] k := S 0 (z 0 ) k 1 i=0 R(z i, z i+1 ) (k + 1) m zmiennych boolowskich rozmiar formuły boolowskiej [M] k jest O(k M ). p.15/40

(k, l) - pe,tla: s 0 s 1... s l... s k ll k R(z k, z l ) L k k ll k l=0 brak pe,tli: s 0 s 1... s k. p.16/40

[M, φ] k := [M] k ( k ( L k [φ] 0 k) ( l L k l [φ] 0 k) ) l=0 l[φ] 0 k [φ] 0 k znaczenie φ na (k, l)-pe,tli znaczenie φ na nie-pe,tli rozmiar formuły [M, φ] k jest O(k ( M + φ )). p.17/40

l[φ] i k 0 l, i k s 0 s 1... s l... s k l[p] i k := L p (z i ) l[ p] i k l[φ ψ] i k l[φ ψ] i k :=... l[ X φ] i k := l [φ] succ(i) k succ(i) = { i + 1 i < k l i = k F φ φ X F φ φ U ψ ψ (φ X φ U ψ) G φ φ X G φ φ R ψ ψ (φ X φ R ψ). p.18/40

Przykład: s 0 s 1... s l... s k l[ F p] 0 k = L p (z 0 )... L p (z k ) l[ G p] 0 k = L p (z 0 )... L p (z k ) l[p U q] 0 k = L q (z 0 ) (L p (z 0 ) (L q (z 1 ) (... L q (z k 1 ) (L p (z k 1 ) L q (z k ))...))) l[ F G p] 0 k = (L p (z 0 ) L p (z 1 )... L p (z k )) (L p (z 1 )... L p (z k )) L p (z k ). p.19/40

Rozmiar formuły boolowskiej l [φ] i k jest O(k φ ) dzie,ki dzieleniu podformuł. p.20/40

[φ] i k 0 i k s 0 s 1... s k [p] i k [ p] i k [φ ψ] i k [φ ψ] i k := j. w. [ X φ] i k := [φ] i+1 k [φ] k+1 k := false F φ φ X F φ φ U ψ ψ (φ X φ U ψ) G φ φ X G φ φ R ψ ψ (φ X φ R ψ). p.21/40

Przykład: s 0 s 1... s k [ F p] 0 k = L p (z 0 )... L p (z k ) false [ G p] 0 k = L p (z 0 )... L p (z k ) false false [p U q] 0 k = L q (z 0 ) (L p (z 0 ) (L q (z 1 ) (... L q (z k 1 ) (L p (z k 1 ) (L q (z k ) (L p (z k ) false)))...))) [ F G p] 0 k false. p.22/40

[M, φ] k := [M] k ( k ( L k [φ] 0 k) ( l L k l [φ] 0 k) ) l=0 Tw.: M k E φ [M, φ] k jest spełnialna.. p.23/40

II. Pełność?. p.24/40

Jak uzyskać pełnósć weryfikacji ograniczonej? ograniczenie dla k (bezpieczeństwo) równolegle sprawdzamy φ i φ (żywotność) indukcja (bezpieczeństwo). p.25/40

Pełność dla G p Średnica ograniczenie dla k najmniejsze i t. że z 0,..., z n. z 0,..., z t, t i. S 0 (z 0 ) n 1 j=0 R(z j, z j+1 ) = S 0 (z 0) ( t 1 j=0 R(z j, z j+1) ) z t = z n. p.26/40

Pełność dla G p Średnica ograniczenie dla k najmniejsze i t. że z 0,..., z i+1. z 0,..., z i. S 0 (z 0 ) i j=0 R(z j, z j+1 ) = S 0 (z 0) ( i 1 j=0 R(z j, z j+1) ) i j=0 z j = z i+1. p.27/40

Pełność dla G p najdłuższaścieżka bez pe,tli ograniczenie dla k najwie,ksze i t. że z 0,..., z i. S 0 (z 0 ) ( i 1 j=0 R(z j, z j+1 ) ) i 1 i j=0 l=j+1 z j z l. p.28/40

Pełność dla F p M EG p k t. że naste,puja,ca formuła jest spełnialna: S 0 (z 0 ) k 1 R(z j, z j+1 ) k ( l L k k L p (z j )) j=0 l=0 j=0 M AF p k t. że naste,puja,ca formuła jest tautologia,: S 0 (z 0 ) k 1 R(z j, z j+1 ) = k L p (z j ) j=0 j=0. p.29/40

Pełność dla F p M EG p k t. że naste,puja,ca formuła jest spełnialna: S 0 (z 0 ) k 1 j=0 R(z j, z j+1 ) ( k l=0 ll k ) k j=0 L p (z j ) M AF p k t. że naste,puja,ca formuła jest niespełnialna: S 0 (z 0 ) k 1 R(z j, z j+1 ) k L p (z j ) j=0 j=0. p.30/40

Pełność dla G p indukcja 1) wybieramy niezmiennik φ(z) 2) sprawdzamy, że poniższa formuła jest niespełnialna: z 0,..., z k. S 0 (z 0 ) k 1 R(z j, z j+1 ) k φ(z j ) j=0 j=0 3) sprawdzamy, że poniższa formuła jest niespełnialna: z 0,..., z k+1. k (φ(z j ) R(z j, z j+1 )) φ(z k+1 ) j=0 4) sprawdzamy, że poniższa formuła jest tautologia,: z. φ(z) = L p (z). p.31/40

Po co k > 1? p p p p p. p.32/40

III. BDD czy SAT?. p.33/40

. p.34/40

BDD + SAT nieograniczona weryfikacja modelowa. p.35/40

IV. SAT-solvers. p.36/40

CNF algorytm DPLL przeszukiwanie drzewa wartościowań cze,ściowych BCP (ang. Boolean Constraint Propagation) konflikty obcinanie drzewa heurystyki. p.37/40

Graf implikacji. p.38/40

. p.39/40

Dlaczego SAT-rozwia,zywacze sa, tak szybkie? uczenie konfliktów dodajemy tzw. klauzule konfliktowe niechronologiczne powroty heurystyki dla: decyzji.... p.40/40