Reactive probabilistic programming
Name
1908.07563.pdf
Description
Accepted version
Size
1.26 MB
Format
Adobe PDF
Checksum (MD5)
4040fe84dcda5dd9b27e124de083b601
Author(s) • •
Atkinson, Eric Hamilton
Sherman, Benjamin
Carbin, Michael James
Date Issued
June 2020
Journal
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
Publisher
ACM
Citation
Baudart, Guillaume et al. “Reactive probabilistic programming.” Paper in the Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2020, PLDI ’20, London UK, June 15–20, 2020, ACM: 898-912 © 2020 The Author(s)
Version
Author's final manuscript
Abstract
Synchronous modeling is at the heart of programming languages like Lustre, Esterel, or Scade used routinely for implementing safety critical control software, e.g., fly-by-wire and engine control in planes. However, to date these languages have had limited modern support for modeling uncertainty - - probabilistic aspects of the software's environment or behavior - - even though modeling uncertainty is a primary activity when designing a control system. In this paper we present ProbZelus the first synchronous probabilistic programming language. ProbZelus conservatively provides the facilities of a synchronous language to write control software, with probabilistic constructs to model uncertainties and perform inference-in-the-loop. We present the design and implementation of the language. We propose a measure-theoretic semantics of probabilistic stream functions and a simple type discipline to separate deterministic and probabilistic expressions. We demonstrate a semantics-preserving compilation into a first-order functional language that lends itself to a simple presentation of inference algorithms for streaming models. We also redesign the delayed sampling inference algorithm to provide efficient streaming inference. Together with an evaluation on several reactive applications, our results demonstrate that ProbZelus enables the design of reactive probabilistic applications and efficient, bounded memory inference.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/3385412.3386009