A Pre-expectation Calculus for Probabilistic Sensitivity

被引:12
作者
Aguirre, Alejandro [1 ,2 ]
Barthe, Gilles [1 ,3 ]
Hsu, Justin [4 ]
Kaminski, Benjamin Lucien [5 ]
Katoen, Joost-Pieter [6 ]
Matheja, Christoph [6 ,7 ]
机构
[1] IMDEA Software Inst, Madrid, Spain
[2] Univ Politecn Madrid, Madrid, Spain
[3] MPI SP, Saarbrucken, Germany
[4] Univ Wisconsin Madison, Madison, WI USA
[5] UCL, London, England
[6] Rhein Westfal TH Aachen, Aachen, Germany
[7] Swiss Fed Inst Technol, Zurich, Switzerland
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2021年 / 5卷
基金
美国国家科学基金会;
关键词
probabilistic programming; verification;
D O I
10.1145/3434333
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Sensitivity properties describe how changes to the input of a program affect the output, typically by upper bounding the distance between the outputs of two runs by a monotone function of the distance between the corresponding inputs. When programs are probabilistic, the distance between outputs is a distance between distributions. The Kantorovich lifting provides a general way of defining a distance between distributions by lifting the distance of the underlying sample space; by choosing an appropriate distance on the base space, one can recover other usual probabilistic distances, such as the Total Variation distance. We develop a relational pre-expectation calculus to upper bound the Kantorovich distance between two executions of a probabilistic program. We illustrate our methods by proving algorithmic stability of a machine learning algorithm, convergence of a reinforcement learning algorithm, and fast mixing for card shuffling algorithms. We also consider some extensions: using our calculus to show convergence of Markov chains to the uniform distribution over states and an asynchronous extension to reason about pairs of program executions with different control flow.
引用
收藏
页数:28
相关论文
共 32 条
[1]  
ALDOUS D, 1983, LECT NOTES MATH, V986, P243
[2]  
Ash R.B., 2000, Probability and Measure Theory, V2nd ed.
[3]   An Algebraic Theory of Markov Processes [J].
Bacci, Giorgio ;
Mardare, Radu ;
Panangaden, Prakash ;
Plotkin, Gordon .
LICS'18: PROCEEDINGS OF THE 33RD ANNUAL ACM/IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE, 2018, :679-688
[4]   Proving Expected Sensitivity of Probabilistic Programs [J].
Barthe, Gilles ;
Espitau, Thomas ;
Gregoire, Benjamin ;
Hsu, Justin ;
Strub, Pierre-Yves .
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2 (POPL)
[5]   Quantitative Separation Logic A Logic for Reasoning about Probabilistic Pointer Programs [J].
Batz, Kevin ;
Kaminski, Benjamin Lucien ;
Katoen, Joost-Pieter ;
Matheja, Christoph ;
Noll, Thomas .
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (POPL)
[6]  
Batz Kevin, 2021, P ACM PROGR LANG EXP
[7]   Simple relational correctness proofs for static analyses and program transformations [J].
Benton, N .
ACM SIGPLAN NOTICES, 2004, 39 (01) :14-25
[8]   Stability and generalization [J].
Bousquet, O ;
Elisseeff, A .
JOURNAL OF MACHINE LEARNING RESEARCH, 2002, 2 (03) :499-526
[9]  
Chaudhuri S, 2012, COMMUN ACM, V55, P107, DOI [10.1145/2240236.2240262, 10.1145/2240230.2240282]
[10]   Continuity Analysis of Programs [J].
Chaudhuri, Swarat ;
Gulwani, Sumit ;
Lublinerman, Roberto .
POPL'10: PROCEEDINGS OF THE 37TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2010, :57-69