2:00 pm, NKN Hall
Probabilistic Programming: Fun but Tricky
RWTH-Aachen University, Germany.
Probabilistic programming is nowadays en vogue. It is basically a mixture of programming languages, statistics and probability theory. Its applications range from security, machine learning, and approximate computing towards quantum computing. Probabilistic variants of ML, C, Scala, Python, C#, Excel, and Prolog, (to mention a few) do exist. In this talk, I will introduce probabilistic programming from a foundational point of view, using an "assembler" language: Dijkstra's guarded command language. I will discuss the semantic intricacies, counterintuitive effects that may occur in probabilistic programming, as well as the fundamental problem of termination. Finally, I'll show how formal verification in a Floyd-Hoare-style reasoning can be applied to reason about the correctness and efficieny of probabilistic programs.