QSL, 27 Novembre 2001 1 Vérification probabiliste Université Paris II Michel de Rougemont [email protected]http:// www.lri.fr/~mdr 1.Algorithmes probabilistes qui vérifient une propriété. 2.Vérification formelle de programmes probabilistes. 3.Applications des deux approches.
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 [email protected] http://www.lri.fr/~mdr. Vérification. Logique et Complexité - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
1. Algorithmes probabilistes qui vérifient une propriété.
2. Vérification formelle de programmes probabilistes.
3. Applications des deux approches.
QSL, 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
?))()()( (ex. )( yxgygxgg
QSL, 27 Novembre 2001 3
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:
Logique et Probabilité
QSL, 27 Novembre 2001 4
Vérification probabiliste
Fonctions classiques sur des matrices booléennes
)det()(2 AAf
11 )( AAf )()(3 ApermAf
0sinon 1 alors , si ),( 21214 AAAAf
BPPf Calcul probabilistet
Il existe un algorithme proba. A
1. Si f(x)=1, Prob[ A accepte] > 2/32. Si f(x)=0, Prob[ A rejette ] > 2/3
1sinon 0 alors , si ),( 21215 AAAAf
QSL, 27 Novembre 2001 5
Vérification polynomialeNP
0sinon 1 alors , si ),( 21214 AAAAf
1sinon 0 alors , si ),( 21215 AAAAf
Il existe une fonction t.q. 0sinon 1alors))(),((ji, si ),,( 2121 (i,j)AjiAAAg
L est dans NP s’il existe une fonction g dans Pt.q.
Pour la fonction :
On ne connaît pas de telle fonction g!!La fonction est le complément deC’est une fonction de co-NP.
P g
1 ),,(g n ssi 1 ),( 21214 k AAAAf 5f
5f NPf 4
QSL, 27 Novembre 2001 6
Vérification probabiliste
P V
1sinon 0 alors , si ),( 21215 AAAAf
0 (1/2)1 (1/2)
L admet une preuve interactive, s’il existe un protocole t.q pour tout x :1. Si , Prob [ P.V(x)=1] =12. Si , Prob [ P’.V(x)=1] < 1/2
Comment vérifier avec un protocole?
2. V choisit {1,2} et construit 2. P envoit . 3. Si , P.V=1, sinon P.V=0
r )( AH
LxP' , Lx
QSL, 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.
)()(3 ApermAf
QSL, 27 Novembre 2001 8
Vérification probabiliste d’une preuve : PCP
QSL, 27 Novembre 2001 9
Checker,Testeur de Blum
Checker pour f (Blum, Kannan, ~1990)
P
C
x y
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
CorrectBuggy
QSL, 27 Novembre 2001 10
Checker pour Graph-Iso
P (G, H) = si G iso H, (1, ) sinon 0
P
C
G,H (1, ) ou 0
CorrectBuggy
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 , BuggySi =2, H’= (H), Si P(G,H’)=1, BuggyAprès k essais, Correct
et [1,2} r
QSL, 27 Novembre 2001 11
• 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