What does a probabilistic program actually compute? How can one formally reason about such probabilistic programs? This valuable guide covers such elementary questions and more. It provides a state-of-the-art overview of the theoretical underpinnings of modern probabilistic programming and their applications in machine learning, security, and other domains, at a level suitable for graduate students and non-experts in the field. In addition, the book treats the connection between probabilistic programs and mathematical logic, security (what is the probability that software leaks confidential information?), and presents three programming languages for different applications: Excel tables, program testing, and approximate computing. This title is also available as Open Access on Cambridge Core.
Les mer
1. Semantics of Probabilistic Programming: A Gentle Introduction Fredrik Dahlqvist, Alexandra Silva and Dexter Kozen; 2. Probabilistic Programs as Measures Sam Staton; 3. An Application of Computable Distributions to the Semantics of Probabilistic Programs Daniel Huang, Greg Morrisett and Bas Spitters; 4. On Probabilistic λ-Calculi Ugo Dal Lago; 5. Probabilistic Couplings from Program Logics Gilles Barthe and Justin Hsu; 6. Expected Runtime Analysis by Program Verification Benjamin Lucien Kaminski, Joost-Pieter Katoen and Christoph Matheja; 7. Termination Analysis of Probabilistic Programs with Martingales Krishnendu Chatterjee, Hongfei Fu and Petr Novotný; 8. Quantitative Analysis of Programs with Probabilities and Concentration of Measure Inequalities Sriram Sankaranarayanan; 9. The Logical Essentials of Bayesian Reasoning Bart Jacobs and Fabio Zanasi; 10. Quantitative Equational Reasoning Giorgio Bacci, Radu Mardare, Prakash Panangaden and Gordon Plotkin; 11. Probabilistic Abstract Interpretation: Sound Inference and Application to Privacy José Manuel Calderón Trilla, Michael Hicks, Stephen Magill, Piotr Mardziel and Ian Sweet; 12. Quantitative Information Flow with Monads in Haskell Jeremy Gibbons, Annabelle McIver, Carroll Morgan and Tom Schrijvers; 13. Luck: A Probabilistic Language for Testing Lampropoulos Leonidas, Benjamin C. Pierce, Li-yao Xia, Diane Gallois-Wong, Cătălin Hriţcu and John Hughes; 14. Tabular: Probabilistic Inference from the Spreadsheet Andrew D. Gordon, Claudio Russo, Marcin Szymczak, Johannes Borgström, Nicolas Rolland, Thore Graepel and Daniel Tarlow; 15. Programming Unreliable Hardware Michael Carbin and Sasa Misailovic.
Les mer
'In our data-rich world, probabilistic programming is what allows programmers to perform statistical inference in a principled way for use in automated decision making. This rapidly growing field, which has emerged at the intersection of machine learning, statistics and programming languages, has the potential to become the driving force behind AI. But probabilistic programs can be counterintuitive and difficult to understand. This edited volume gives a comprehensive overview of the foundations of probabilistic programming, clearly elucidating the basic principles of how to design and reason about probabilistic programs, while at the same time highlighting pertinent applications and existing languages. With its breadth of topic coverage, the book will serve as an important and timely reference for researchers and practitioners.' Marta Kwiatkowska, University of Oxford
Les mer
Probabilistic Programs. Explained. Verified. Applied.

Produktdetaljer

ISBN
9781108488518
Publisert
2020-12-03
Utgiver
Vendor
Cambridge University Press
Vekt
1230 gr
Høyde
250 mm
Bredde
178 mm
Dybde
32 mm
Aldersnivå
P, UP, G, 06, 05, 01
Språk
Product language
Engelsk
Format
Product format
Innbundet
Antall sider
582

Biographical note

Gilles Barthe is Scientific Director at the Max Planck Institute for Security and Privacy and Research Professor at the IMDEA Software Institute, Madrid. His recent research develops programming language techniques and verification methods for probabilistic languages, with a focus on cryptographic and differentially private computations. Joost-Pieter Katoen is Professor at RWTH Aachen University and University of Twente. His research interests include formal verification, formal semantics, concurrency theory, and probabilistic computation. He co-authored the book Principles of Model Checking (2008). He received an honorary doctorate from Aalborg University, is member of the Academia Europaea, and is an ERC Advanced Grant holder. Alexandra Silva is Professor of Algebra, Semantics, and Computation at University College London. A theoretical computer scientist with contributions in the areas of semantics of programming languages, concurrency theory, and probabilistic network verification, her work has been recognized by multiple awards, including the Needham Award 2018, the Presburger Award 2017, the Leverhulme Prize 2016, and an ERC Starting Grant in 2015.