360 likes | 479 Views
VERAP: VERification Approchée de systèmes Probabilistes. Michel de Rougemont Université Paris II & LRI http://www.lri.fr/~mdr/verap/. Equipes de Recherche. Université Paris-Sud Algorithmes et Complexité F. Magniez M. de Rougemont M. Santha M. Tracol (thésard depuis 2007)
E N D
VERAP: VERification Approchée de systèmes Probabilistes Michel de Rougemont Université Paris II & LRI http://www.lri.fr/~mdr/verap/
Equipes de Recherche • Université Paris-Sud • Algorithmes et Complexité • F. Magniez • M. de Rougemont • M. Santha • M. Tracol (thésard depuis 2007) • 2 Nouveaux thésards en 2009: X. Zeitoun et C. Konrad • Test formel/Parallélisme • M.C. Gaudel • T. Hérault • S. Peyronnet • F. Zaidi • Université Paris VII: Logique mathématique • A. Durand • R. Lassaigne
Sujets Systèmes probabilistes: Chaines de Markov étiquetées MDP: Markov Decision Processes Réseaux de capteurs Vérification approchée: Test de propriété Black-Box Checking Conformance Testing MC probabiliste 3
III I I II I I 5
Tâches et Fonctionnement de Verap AD: Approximate Distance. AVP: Approximate Verification of a Property. EPE: Estimation of the Probability by approximate Enumeration. ABCT: Approximate Black-Box and Conformance Testing. ST: Streaming Testers. Fonctionnement: Rdv toutes les 2 semaines, Workshop tous les trimestres. 6
Plan AD et AVP: Approximate Verification of a Property. Système Markovien: approximation de la probabilité de satisfaire une formule, MDP (non déterminisme et probabilités): approximation sur les traces. Réseaux de capteurs: représentation compacte (démo) EPE et ABCT: Approximate Black-Box and Conformance Testing. ST: Streaming Testers. 7
I. Chaines de Markov et MDPs [AVP] Vérifier: Pr[Après chaque a il y a un b]>0.9 ? Pour toute stratégie, Pr[Densité de a >0.3 ]=1? Pr[Après chaque a il y a un b]>0.9 ? Pr[Densité de a >0.3 ]=1? σ(t)=b, σ(v)=b 8
1a. Vérification probabiliste classique Système (représentation Succincte) Modèle Model Checker probabiliste Proba p Propriété ou suite d’actions Formule ou trace • Input: • chaîne de Markov étiquetée (avec actions) • formule temporelle ou trace • Output: • probabilité de satisfaction de la formule ou de la trace • Complexité: polynomiale dans la taille du modèle (explosion combinatoire) VERAP
Schéma probabiliste d’approximation Générateur aléatoire de chemins Formule ou trace Paramètres e,∂ Schéma d’approximation A Pr[(p-e) ≤ A ≤ (p+e)] ≥ 1 - ∂ e : paramètre d’approximation (erreur absolue) ∂ : paramètre de confiance (algorithme probabiliste) Le schéma est pleinement polynomial si le temps de calcul est poly(|input|, 1/e, log (1/∂)) Le générateur aléatoire n’utilise qu’une représentation succincte du système VERAP
Approximate Probabilistic Model CheckerRichard Lassaigne and Sylvain Peyronnet (2008) Probabilistic verification and approximation.Annals of Pure and Applied Logic, 152(1-3):122-131. Méthode: • génération aléatoire de chemins de longueur k à partir d’une représentation succincte • estimation de type Monte-Carlo avec borne polynomiale (Chernoff) sur la taille de l’échantillon Résultats: • approximation de la probabilité de satisfaction de propriétés bornées en temps polynomial • approximation de la probabilité de satisfaction de propriétés non bornées (accessibilité, sûreté) en espace logarithmique • approximation de la probabilité d’une trace d’exécution en temps polynomial VERAP
Distances entre Systèmes probabilistes [AD] Métriques de bisimulation: • permettent de mesurer le degré d’équivalence entre deux modèles probabilistes • l’équivalence considérée est la bisimulation sur les états • définies par J. Desharnais et al. • obtenues par point fixe à partir de la métrique de Kantorovich Métriques de traces • Equivalence exacte de Tzeng est polynomiale • Equivalence approchée est difficile đ-distance • Statistiques de processus ergodiques • Lien avec l’approximation sur les mots VERAP
1b. Markov Decision Processes [AVP] transitions non détermistes et probabilistes : S : Etats :s,t,u,v Σ: actions : a,b,c P(u |t,b)=0.5 Stratégie σ résoud le non determinisme. Exemple: σ(t)=b, σ(v)=b Exécution: s,a,t,b,u,a,v Trace: aba
Stratégies σ SD: σ(t)=b, σ(v)=c Trace 1: abac ab abac ab ……. Trace 2: ab abac ab abac……. HR: dépendant de l’historique et Randomisées, MR(k): Memoire k, Randomisées SD: Stationaires Déterministes MDP communiquant
Résultat classique: k=1 Fréquence Etat-action : Pour une classe K de stratégies: Theorem (Puterman, Derman, Tsitsiklis ) Pour un MDP communiquant,
Statistiques uniformes: k-gram W=001010101110 longueur n, u.stat: densité des sous-mots de longueur k, n-k+1 shingles 16
Generalisation aux statistiques d’ordre k Theorem: Pour un MDPcommuniquant: H u.statk
Existence d’une stratégie Input: MDP, wn ,ε, λ Theorem: Existence d’une stratégie est PESPACE dure, mais testable. (M. de Rougemont and M. Tracol (2009) Statistical Analysis for Probabilistic Processes. In IEEE Logic In Computer Science. LICS 2009) Tester: Sample wn : Estimate the dist to H (linear program) H Y(w)
Soit F une propriété sur une classe K de structures U: Un ε -testeur pour F est un algorithme probabiliste A tel que: Si U |= F, A accepts If U is ε far from F, A rejects with high probability F is testable if there is a probabilistic algorithm A such that A is an ε -tester for all ε Time(A) is independent of n=size(U). Robust characterizations of polynomials, R. Rubinfeld, M. Sudan, 1994 Property Testing and its connection to Learning and Approximation. O. Goldreich, S. Goldwasser, D. Ron, 1996. Tester usually implies a linear time corrector. (ε1, ε2)-Tolerant Tester Testabilité d’une propriété 19
MDPs généraux Union de polytopes: chaque H peut-être défini par un programme linéaire. Valeur seuil pour chaque composante. H2: .6 H1: .4
Equivalence de MDPs Decider si les Polytopes sont proches avec des seuils proches. Tester d’Equivalence : discrétiser les polytopes sur une grille de rayon ε. Verifier l’inclusion mutuelle. Distance entre deux MDPs: distance géométrique.
II. Approximate Black-Box and Conformance Testing ABCT: Approximate Black-Box and Conformance Testing. Identifier une chaine de Markov, à partir d’un run ou de statistiques? Identifier un MDP? Model Model Checking Conformance Testing P IUT Black Box Checking 22
Conformance Testing Tester un critère de couverture: Couvrir toutes les arêtes d’un graphe donné de manière succincte (programme C) ? EPE: Estimation of the Probability by approximate Enumeration Peut-on énumérer 99% des solutions avec un délai constant? 23
Random Walks in control graphs Marie-Claude Gaudel, Alain Denise, Sandrine-Dominique Gouraud, Richard Lassaigne, Johan Oudinet and Sylvain Peyronnet (2008) Coverage-biased Random Exploration of Models. Electronic Notes in Theoretical Computer Science, 220(1):3-14. • A random walk in the state space of a “model” (in a control graph, in a transition system etc) is a sequence of states s0, s1, …, sn such that si is chosen uniformly at random among the successors of the state si-1, • It is easy to implement and it only requires local knowledge of the graph. • Numerous applications in • Testing (protocols [Mihail et Papadimitriou 1994], etc) • Simulation (Monte-Carlo, etc) • Model-checking ([Grosu 2004]) • In some variants, the choice among the successors may be biased.
d • • c • • • a • • • • • b • e • f Drawback of random walks The resulting coverage is dependent on the topology… Classical random walks, length 3: Pr(a; c; d) = 0.5 0.250.25 = 0.03125 Pr(b; e; f) = 0.5 Uniform random sampling of traces, length 3: Pr(a; c; d) = Pr(b; e; f) = 0.1
v v • • . . . Counting n-paths in a graph Given any vertex v, let lv(k) be the number of paths of length k that start from v • we are on vertex v with m successors v1, v2, . . . , vm • condition for uniform path exploration: choose vi with probability lvi (k-1)/lv(k)
Counting labelled combinatorial structures • Decomposable combinatorial structures • Atoms • Constructions : +, , SEQ, PSET, MSET, CYC • Cardinality constraints: SEQ≤3 , etc • Let a combinatorial class C, which is decomposable, Explicit formula for |Cn| => Uniform drawing in Cn • Enumeration based on generating functions • Theorem [Mainly, Flajolet & al., 1994] : The counts {Cj|j= 0,…,n} can be computed in O(n 1+) arithmetic operations. Drawing UAR an element of size n is O(n.log n) in the worst case (and O(n) in our simple case)
d • • c • • • a • • • • • b • e • f Uniform generation of paths of length n • Given n • lv(0) = 1 • for k s.t. n ≥ k > 0, • Preprocessing: • Computation of the lv(k), • for all k ≤ n islinear in n • but with big numbers… • Drawing is linear in n too. • Space requirement: n |G|
Main results • Experimental assessment of this method and of its limits (up to ± 10000 states, length ± 10000) • Uniform generation of paths in very large models: • Given a model described as a set of concurrent LTS/FSM/IOTS it is possible to get (a very good approximation of) the number of traces => global uniform random walks, • without building the global model • using local uniform drawing of paths in the component LTS • Combination of weaker coverage criteria (transitions, states, …) and random walks • Coverage-biased random walks, “randomised coverage satisfaction”
Perspectives • Counting paths makes it possible to combine random exploration and coverage criteria (testing, model-checking) • Significant results for drawing paths UAR in concurrent models • work remains to be done on: • partial synchronisations • typology of concurrent architectures and synchronisation patterns • partial order reduction • First results on “coverage satisfaction” assessment and improvement for randomised model-based testing
III. Streaming Testers Streaming vs Property testing Validity for XML streams Checking wellformedness k passes implique espace in n1/k+1: optimal (article en préparation) 31
Testeurs de Flux XML Validité Approchée de Flux XML Huang Cheng, Li Jun and Michel de Rougemont (2008) Approximate validity of XML Streaming Data. In 9th International Conference on Web-age Information Management. Maintenir la décomposition de Rabin d’un arbre ordonné de degré arbitraire Généralisation de k-grams 32
Démo AVP http://www.lri.fr/~mdr/verap/
Conclusion 1. AVP,AD: Testeurs de systèmes probabilistes Approximate Probabilistic Membership Approximate Equivalence 2. Black-Box Checkingand Approximate Enumeration 3. Streamings Testers VERAP: http://www.lri.fr/~mdr/verap/ 34
Equivalence de trace Chaîne de Markov étiquetée: M=(S, A , p0 , P) • S espace des états, A ensemble d’actions, p0 distribution de probabilités initiale • P: SxAxS → [0,1] fonction de transition probabiliste Distribution sur les traces: • Si σ = (s0,a1,s1,…,an,sn) est un chemin fini, alors μ(σ) = p0(s0) . ∏i=1nP(si-1 ,ai, si) • La distribution sur les tracesPM: A* → [0,1] est définie par PM(x) = ∑ { trace(σ)=x}μ(σ) • Pour chaque n, la restriction de PM à An est une distribution de probabilités Equivalence de trace: • 2 chaînes de Markov M et N avec ensemble d’actions A sont équivalentes si pour toute trace x, PM(x) = PN(x) • l’équivalence de 2 chaînes de Markov étiquetées peut être décidée en temps polynomial (conséquence de l’algorithme de Tzeng sur les automates probabilistes) VERAP 35
đ-distance Métrique sur la classe des processus ergodiques stationnaires: • définie par B. Ornstein et D. Weiss • candidate pour distinguer 2 processus ergodiques à partir de l’observation de chemins finis échantillonnés pour chacun des processus • l’entropie est continue relativement à cette métrique Propriété fondamentale des processus ergodiques: la distribution théorique des suites de longueur k peut être déterminée par glissement d’une fenêtre de longueur k et par comptage des fréquences relatives le long d’un chemin échantillonné Problème (travail en cours): approximer cette distance pour les chaînes de Markov VERAP 36