slides

publicité
Vérification de formules
LTL sur des systèmes finis
probabilistes
Jean-Michel Couvreur, Nasser Sahed, Grégoire Sutre
LSV-LaBRI
1/2
1/2
1/4
1/2, a
1/4, b
Prob(F b / F a) = ?
Plan
I. Préliminaires
II. Systèmes probabilistes
III. LTL et ω-automates
IV. Vérification et évaluation d’une formule
V. Notre approche
VI. L’outil ProbaTaf
VII. Conclusion
Plan
I. Préliminaires
II. Systèmes probabilistes
III. LTL et ω-automates
IV. Vérification et évaluation d’une formule
V. Notre approche
VI. L’outil ProbaTaf
VII. Conclusion
Motivations
Besoins de modélisation
algorithmes probabilistes
perte de messages, délais stochastiques dans les protocoles
systèmes biologiques
modèles économiques
Vérification
Est-ce qu’une propriété est presque sûrement satisfaite par
un système ?
Zoom sur la logique temporelle linéaire
Evaluation
Quel est la probabilité qu’une propriété soit satisfaite par un
système ?
Vérification de LTL sur les systèmes probabilistes
Le meilleur algorithme connu à base d’automates a une complexité
double EXPTIME [Var85]
Il existe un algorithmique ayant une complexité EXPTIME et
PSPACE [CY95]
Problème ouvert [Var99]
Existe-il algorithme à base d’automates s’exécutant en
EXPTIME et PSPACE ?
Oui [CSS02]
Plan
I. Préliminaires
II. Systèmes probabilistes
III. LTL et ω-automates
IV. Vérification et évaluation d’une formule
V. Notre approche
VI. L’outil ProbaTaf
VII. Conclusion
Ensembles mesurables de mots infinis
∑ : alphabet fini
C∑ : ensemble des cylindres w.∑ω avec w ∈∑*
B∑ : tribut (sur ∑ω) engendrée par C∑
B∑ clos par complément
B∑ clos par union dénombrable
(∑ω,B∑): espace mesurable
mesure positive définie sur C∑ et étendu sur B∑
additivité dénombrable
Exemple d’ensembles mesurables
∑ω est mesurable
si L mesurable et K⊆∑*, alors K.L et K-1.L sont
mesurables
pour K⊆∑*, K∞ = {σ∈∑ω| préfixe(σ)∩K infini} est
mesurable
Soit Φ: ∑1 →∑2, alors l’extension Φ: ∑1* →∑2* est
mesurable
Systèmes probabilistes
M = (S,T,α,β,λ,P0,P)
1. (S,T,α,β,λ) est un graphe étiqueté
S : états et T: transitions
α,β : T → S : fonctions source et cible (•. et .•)
λ : T → ∑ : fonction d’étiquetage
2. P0: S → [0,1] : distribution initiale s.t ∑s P0(s) = 1
3. P: T → ]0,1] : distribution des transitions s.t ∑t∈s• P(t) = 1
µM mesure de probabilité sur (∑ω,B∑) définie par
ω
µM (t0 t1 · · · tn ·T ) =
!
P0 (α(t0 ))P (t0 )P (t1 ) · · · P (tn ) if t0 t1 · · · tn ∈ Path∗ (M )
0 otherwise.
Propriétés élémentaires
états initiaux S0 = {s ∈S| P0(s)>0}
Pathω(M) est mesurable et µM(Pathω(M))=1
Notation. M[s] ≙ M où P0(s) = 1 (i.e. s unique état initial)
µM = ∑s P0(s).µM[s]
si L mesurable alors µM[s](L) = ∑t∈s• P(t).µM[t•](t-1L)
Proposition
Soit Path*max l’ensemble des chemins finis terminant dans
une SCC maximale. Nous avons µM(Path*max.Tω) = 1
Soit ρ un chemin fini contenu dans une SCC maximal C et
soit s∈C. Nous avons µM[s]((T*.ρ)ω) = 1
Plan
I. Préliminaires
II. Systèmes probabilistes
III. LTL et ω-automates
IV. Vérification et évaluation d’une formule
V. Notre approche
VI. L’outil ProbaTaf
VII. Conclusion
LTL
f ::= a | f ∨ f | ¬f | Xf | f U f
(avec a∈∑)
les modèles sont dans ∑ω
∨et ¬ sont les connecteurs logiques
abca... ⊨a et abca...⊭b
abca... ⊨Xb et abca...⊭Xa
aaaaaaabca... ⊨a U b et aaaaaaabca...⊭a U c
L(f) ensemble des mots w dans ∑ω tel que w⊨f
ω-automates
A = (Q,T,α,β,λ,Q0,Acc)
1. (Q,T,α,β,λ) est un graphe étiqueté
2. Q0: états initiaux
3. Acc ⊆ 2T: conditions d’acceptations
une exécution ρ∈Pathω(A) est accepté si {t| ρ∈(T*.t)ω} ∈ Acc
un mot w est accepté si w= λ(ρ) pour une exécution acceptante ρ
L(A) : ensemble des mots acceptés
Théorème [Var85]
Pour tout ω-automate A, L(A) est mesurable
de LTL au ω-automates
Théorème [VW94]
Etant donnée f un formule LTL, il est possible de
construire un automate de Büchi Af avec au plus 2O(|f|) états,
tel que L(f) = L(Af).
Plan
I. Préliminaires
II. Systèmes probabilistes
III. LTL et ω-automates
IV. Vérification et évaluation d’une formule
V. Notre approche
VI. L’outil ProbaTaf
VII. Conclusion
Vérification et évaluation
Problème de la vérification :
Etant donné M et f, est-ce que M vérifie presque sûrement f ?
M ⊨f presque sûrement f si
µM(Pathω(M)∩λ-1(L(f))=1
M ⊨f avec une probabilité non nulle si
µM(Pathω(M)∩λ-1(L(f))>0
Le problème de la vérification est PSPACE [CY95]
Problème de l’évaluation :
Etant donné M et f, calculer µM(Pathω(M)∩λ-1(L(f))
Approche par automates [Var85]
Construire un automate de Büchi Af tel que L(f) = L(Af)
|Af| est en 2O(|f|)
Construire un automate déterministe B tel que L(B) = L(Af)
|B| est en 22O(|f|)
Construire le système probabiliste M⊗B (produit synchronisé)
|M⊗B| est en |M|.22O(|f|)
Tester si M⊗B a une composante maximale acceptée
en temps O(|M|).22O(|f|)
Plan
I. Préliminaires
II. Systèmes probabilistes
III. LTL et ω-automates
IV. Vérification et évaluation d’une formule
V. Notre approche
VI. L’outil ProbaTaf
VII. Conclusion
Notre approche [CSS02]
Construire un automate de Büchi non déterministe Af tel que L(f) = L(Af)
|Af| est en 2O(|f|)
Construire le produit synchronisé M⊗Af (n’est pas un système probabiliste)
|M⊗Af | est en |M|.2O(|f|)
Rechercher dans M⊗Af une “bonne” composante
en temps O(|M|).2O(|f|)
Basé sur les propriétés de la traduction d’une formule LTL en automate de
Büchi
Propriétés des automates de Büchi venant de LTL
Traduction par une méthode des tableaux (variante de [Cou00])
Proposition
Etant donnée f un formule LTL, il est possible de construire un automate
avec des conditions multi-Büchi Af avec au plus 2O(|f|) états, tel que
L(f) = L(Af)
De plus, Af est non ambigu et séparé sur chaque SCC
Exemple : Fa
!a
U
!a,{1}
a, {1}
a,{1}
V
Produit synchronisé
M⊗A : produit synchronisé
L(s,q) = Pathω(M[s])∩λ-1(A[q])
V(s,q) = µM[s](L(s,q))
1/2
1
1/2
1/2, a
1/4
3
!a
2
!a,{1}
U
1/4, b
a, {1}
V
a,{1}
4
1/2, a ,{1}
1/2
1,U
1/2
3,U
1/4
1/2, a ,{1}
2,U
1/4, b
4,U
1/2 ,{1}
1,V
1/2 ,{1}
1/4 ,{1}
2,V
1/4, b ,{1}
3,V
4,V
{1}
{1}
Produit synchronisé
Proposition
!
L(s, q) =
tM · L(tM • , tA • )
(tM ,tA )∈(s,q)•
Corollaire
(s,q)
*
> (s’,q’) et V(s’,q’) > 0 ⇒ V(s,q) > 0
1/2
1
1/2
3
1/2, a ,{1}
1/2
1,U
1/2
3,U
1/4
1/2, a ,{1}
1/2 ,{1}
2,U
1,V
1/2 ,{1}
1/4, b
4,U
1
1/4 ,{1}
2,V
1/4, b ,{1}
3,V
4,V
{1}
{1}
1
1/4
1/2, a
2
1/4, b
4
Types de composantes
C est nulle si V(s,q) = 0
C est persistant si C est non nulle et maximale parmi les non nulles
sinon C est transitoire
1/2
1
1/2
Transient
1/4
3
1/2, a ,{1}
1/2
1,U
1/2
1/4
3,U
1/2, a ,{1}
2,U
1/4, b
4,U
Null
1/2 ,{1}
1,V
1/2 ,{1}
1/4 ,{1}
2,V
1/4, b ,{1}
3,V
4,V
{1}
{1}
Persistent
1/2, a
2
1/4, b
4
Composante localement positive
(M⊗A)|C : produit synchronisé restreint à C
LC(s,q) = L(M⊗A)[s,q]
VC(s,q) = µM[s](LC(s,q))
C est localement positive si VC(s,q) >0
persistant ⇒ localement positive ⇒ non nulle
Proposition
M ⊨f avec une probabilité non nulle si il existe dans M⊗A une
composante localement positive (accessible)
Caractérisation des SCC positives
Définitions
C est acceptée si les transitions de C sont dans Acc⊗
C est complète si tout chemin fini de M commençant dans C|M est dans C
Proposition
Si A est multi-Büchi ou C est non ambigu alors
localement positive ⇔ acceptée et complète
Proposition
Si A est multi-Buchi, tester C acceptée est en temps O(|Acc|.|C|)
Si A est non ambigu et séparé, tester C complète est en temps O(|C|)
Théorème
Etant donné une formule LTL f, tester A est multi-Buchi, tester M ⊨f
avec une probabilité non nulle est en temps O(|M|.|f|.2|f|)
localement positive ⇔ acceptée et complète
Lemme de la traversée
Soit G un graphe fortement connexe étiqueté sur ∑. Il existe w une trace
d’un chemin fini dans G tel que pour tout état s et tout mot infini σ ∈
Trace(G[s]) ∩ (∑*w)ω, il existe un chemin infini de source s passant une
infinité de fois par toutes les transitions.
Proposition
C acceptée et complète ⇒ µM [s] 

#
q∈Q|(s,q)∈C

LC (s, q) = 1.
Proposition
localement positive ⇒ complète
Proposition
Si A est multi-Büchi ou C non ambigu alors
localement positive ⇒ accepté
w
x
wp
wq
Lemme de comptage
Lemme
Soit C une SCC accepté. Si C non ambigu et séparé alors les propriétés
suivantes sont équivalentes
C complète
C|M est dans une SCC maximale de M et
∀(s, q) ∈ C, ∀tM ∈ • s ∩ SCC(s)• , ∃t ∈ • (s, q) ∩ C • : πM (t) = tm
C|M est dans une SCC maximale de M et
!
|• s ∩ SCC(s)• | = |• C ∩ C • |.
r,p1
r,p2
(s,q)∈C
tM
tM
s,q
Evaluation
Proposition
Soit C une composante. Soit l’équation E|C, réduit
aux éléments de C :
V (s,q) =
€
∑ P(t
) ⋅ V (β (t M ), β (t A ))
M
(t M ,t A ):α ( t M ,t A )=(s,q )
Si C est transitoire, E|C est de rang |C|.
Si C est persistant, E|C est de rang |C|-1.
Proposition
Si C est persistant
∀s ∈ C|M :
∑V (s,q) = 1
(s,q )∈C
Proof of the rank proposition
Case persistent
Hypothesis
1) Equation: x = A.x with A≥0 and A[i,i]≤1
2) ∃x>0 : x = A.x
3) A is “strongly connected” (i->j iff A[i,j]>0)
Properties
1) y≥0, y≠0, y=A.y ⇒ y>0
2) y = A.y ⇒ y = λ.x
Case transient
Hypothesis
1) Equation: x = A.x+b with A≥0, A[i,i]≤1, b≥0, b≠0
2) ∃x>0 : x = A.x+b
3) A is “strongly connected” (i->j iff A[i,j]>0)
Properties
1) y≥0, y≠0, y=A.y+b ⇒ y>0
2) y = A.y ⇒ y = 0
Plan
I. Préliminaires
II. Systèmes probabilistes
III. LTL et ω-automates
IV. Vérification et évaluation d’une formule
V. Notre approche
VI. L’outil ProbaTaf
VII. Conclusion
L’outil ProbaTaf
N
 Système = Réseau de Petri
 LTL sur état + transition + « dead »
Exemple
τ
 OneServer(τ)
τ
 InfiniteServer(τ) min(N,M).τ
 ColoredServer(τ) N.M.τ
OneServer(0.01)
no
N
1
N
InfiniteServer(1)
ColoredServer(1)
ou
OneServer(1)
1
D
!“no” U (“D“=1)
M
0
1
10
100
1000
Colored
0.970
0.965
0.899
0.498
0.090
One
0.970
0.965
0.958
0.958
0.958
10000
0.009
0.958
Projet Bio-Informatique : Propagation de virus (2001-2003)
- Lab. Biométrie et Biologie évolutive (Lyon)
- LaBRI (Bordeaux)
- Lamsade (Paris) - INSA (Lyon)
L’outil ProbaTaf (suite)
Principes : Vérificateur + Evaluateur
1. Tester si ¬f est “possible”
2. Evaluer f
RdP
LTL
explicite
bdd
Automate
Système
Non-ambigu, séparé
Produit
synchronisé
Solveur = adaptation de Gauss
“à la volée”
Acceptation + complétude
Plan
I. Préliminaires
II. Systèmes probabilistes
III. LTL et ω-automates
IV. Vérification et évaluation d’une formule
V. Notre approche
VI. L’outil ProbaTaf
VII. Conclusion
Bilan
LTL probabiliste
“automate non-ambigu, séparé”
Expérimentation
le solveur est la partie critique
Au delà
l’infini
le stochastique
Téléchargement