1 / 24

Vérification probabiliste

Vérification probabiliste. Algorithmes probabilistes qui vérifient une propriété. Vérification formelle de programmes probabilistes. Applications des deux approches. Université Paris II Michel de Rougemont mdr@lri.fr http://www.lri.fr/~mdr. Vérification. Logique et Complexité

jovan
Download Presentation

Vérification probabiliste

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vérification probabiliste • Algorithmes probabilistes qui vérifient une propriété. • Vérification formelle de programmes probabilistes. • Applications des deux approches. Université Paris II Michel de Rougemont mdr@lri.fr http://www.lri.fr/~mdr 27 Novembre 2001

  2. Vérification • Logique et Complexité • Calcul : f(x) =y • Verification : x,y donnés, decider si f(x)=y • Pour une définition de f, quelle est la complexité de la vérification? • Verification formelle • Pour un programme (circuit, C,…) qui calcule une fonction g, comment savoir si 27 Novembre 2001

  3. Logique et Probabilité cf: George Boole The Laws of Thought, 1854 Part I: propositional logic, Part II:probability cf: John von Neumann The Report on EDVAC, 1945 Theory of Games and Economic Behavior, 1944 (cf: Alan Turing On Computable Numbers, 1936 Studies in Quantum Mechanics, 1932-35) Ref. C. Papadimitriou: 27 Novembre 2001

  4. Vérification probabiliste Fonctions classiques sur des matrices booléennes Calcul probabiliste t Il existe un algorithme proba. A • Si f(x)=1, Prob[ A accepte] > 2/3 • Si f(x)=0, Prob[ A rejette ] > 2/3 27 Novembre 2001

  5. Vérification polynomialeNP Il existe une fonction t.q. L est dans NP s’il existe une fonction g dans P t.q. Pour la fonction : On ne connaît pas de telle fonction g!! La fonction est le complément de C’est une fonction de co-NP. 27 Novembre 2001

  6. Vérification probabiliste • Comment vérifier avec un protocole? • V choisit {1,2} et • construit • P envoit . • Si , P.V=1, sinon P.V=0 P V 0 (1/2) 1 (1/2) • L admet une preuve interactive, s’il existe un • protocole t.q pour tout x : • Si , Prob [ P.V(x)=1] =1 • Si , Prob [ P’.V(x)=1] < 1/2 27 Novembre 2001

  7. Vérification polynomiale probabiliste : IP=PSPACE • Soit • Il existe un protocole IP qui vérifie si Perm(A)=b • Soit kSAT la fonction qui décide de la satisfaisabilité de k- clauses: • #kSAT est la fonction de comptage. • SkSAT =Prob [ x satisfait] • Perm, S2SAT, S3SAT sont #P-complètes. 27 Novembre 2001

  8. Vérification probabiliste d’une preuve : PCP 27 Novembre 2001

  9. Checker,Testeur de Blum Checker pour f (Blum, Kannan, ~1990) x y P C Correct Buggy Un checker est un programme probabiliste avec oracle P t. q pour tout x,k : Si P=f, C(x,k) = Correct Si P(x)!=f(x), Prob[ C(x,k) =Buggy] >1- ½^k 27 Novembre 2001

  10. Checker pour Graph-Iso P (G, H) = si G iso H, (1, ) sinon 0 G,H (1, ) ou 0 P C Correct Buggy C(G,H, k): Si P (G, H)=(1, ), verifier que G= (H) Si P (G, H)=0, choisir Si =1, G’= (G). Si P(G,G’)=0 , Buggy Si =2, H’= (H), Si P(G,H’)=1, Buggy Après k essais, Correct 27 Novembre 2001

  11. Auto testeur • Distance d(f,g) = | {x : f(x) != g(x)}| / | D| • Un auto-testeur pour f est un programme T(P, ) t.q. • Si d(P,f)=0, alors T(P, )=Correct • Si d(P,f) > alors T(P, )=Buggy • Correcteur. Division (x,y) : Majorité { x.r/y.r : r aléa.} 27 Novembre 2001

  12. Test de propriété • Classe de fonctions ou de propriétés • Goldreich, Golwasser, Ron ~1995 • Un test pour F est un algorithme probabiliste A t.q. • Si f est dans F, A accepte • Si f est loin de F, A rejette • T(A) indépendante de n • Exemple: k-colorabilité de graphes G Gi sous graphe aléatoire 27 Novembre 2001

  13. Tests et complexité descriptive • Quelles propriétés de graphes (matrices) admettent des testeurs? • Alon et al., STOC 99: Sigma 2  testeurs • Compression. Epsilon-equivalent 27 Novembre 2001

  14. Vérification formelle • Preuves: • Programme correct vs. preuve • Modèles • Système de transition du programme • Propriété à vérifier : formule fi • U mod fi Function f(x) Int x; For (0;i;j) {……} Programme n’est plus une boite noire. 27 Novembre 2001

  15. Vérification par modèle • Système de transition (Structure de Kripke • Formules • LTL, CTL, CTL* sur • U,s |= (p1 U Accept) => G |= F • Vérifier : comparer les OBDDs P1 P2 P3 Accept s 27 Novembre 2001

  16. OBDD : Oriented Binary Decision Diagram • Branching programs • Succinct representation of relations • Intractable for: • Multiplication • Connectivity, Bipartition v1 v2 vn 0 1 R(v1,v2,….vn) 27 Novembre 2001

  17. Vérification probabiliste • Propriétés : LTL : p1 U p2 Prob [ p1 U p2 ] > a • Espace probabiliste: Ensemble des chemins p1 p2 Prob [ p1 U p2 ]=3/8 27 Novembre 2001

  18. Calcul de la probabilité • Calcul de Prob [ p1 U p2 ] • C.Y. 95, Hanson et Johnson 94 • S1= { s : M |= P1(s) } S+= { s : M |= E(p1 U p2 )} , S0=S-S+ • Soit xi = Prob [ p1 U p2 ] depuis i xi = 1 si i dans S1 xi= 0 si i dans S0 xi= Somme p(i,j) xj X= A.X +B, système de taille N !! 27 Novembre 2001

  19. Système PRISM • Université de Birmingham, Marta Kwiatkowska • SMV : propriétés déterministes • AX+B=C : probabilistes • AX+B < C : non-déterministes • Vérification de protocoles : Consensus de Aspnes et Herlihy, CAV 2001 27 Novembre 2001

  20. Protocoles cryptographiques • https (SSL, Secure Socket layer) • Authentification du serveur (certificat) • (Clé de session).RSA • Cryptage.DES • Implémentations • Netscape, Open-SSL, Apache-SSL • Propriété : • clé de session reste secréte!! • Difficile de décoder • Authentification correcte • …… 27 Novembre 2001

  21. Protocoles cryptographiques Process Equivalence Mitchell, Scedrov, 1998,99 P= epsilon Q si pour tout programme (contexte ) C, v Prob[C.P =v] - Prob[C.P =v] < epsilon Pn= f Qn si pour tout programme (contexte ) C, v Prob[C.P =v] - Prob[C.P =v] < 1/f(n) P= Q si Pn = f Qn pour tout polunome f Exemple : Générateur aléatoire = Générateur pseudo aléatoire 27 Novembre 2001

  22. Abstraction Probabiliste • Test de propriété : k-colorabilité • Abstraction d’un programme? • Programmme correct => U,G |= F • Program loin d’etre correct => Prob [U,G |= not F]>2/3 • Collaboration F. Magniez, S. Laplante, R. Lassaigne, S. Peyronnet. 27 Novembre 2001

  23. Abstraction Probabiliste • Abstraction d’un programme? • Programme C A[i,j]  B[i,j] sous-graphe aléatoire Variables u, v  u’, v’ Taille de l’OBDD : 2 ,m=1/epsilon m 27 Novembre 2001

  24. Conclusion • Vérification de propriétés: • Testeurs • Vérification de programmes: • Déterministes : Modèles , OBDD • Probabiliste : systèmes linéaires • Non déterministe : encadrements • Approximation de la vérification • Testeurs 27 Novembre 2001

More Related