Skip to main content

Study of probabilistic programs using tools from programming languages

Supervisor

Suitable for

Computer Science, Part C

Abstract

Recently, researchers in machine learning have developed new Turing-complete languages, such as Infer.net, Anglican and Church, for writing sophisticated probabilistic models and performing various inference tasks on those models, such as the computation of posterior probabilities. The goal of this project is to study these languages using tools from programming languages. Specifically, a student will work on developing a new inference algorithm for probabilistic programs that mix techniques from program analysis and those from the Monte Carlo simulation, a common method for performing inference on probabilistic programs. Or the student will explore the connection between the use of computational effects in higher-order functional probabilistic programming languages and the encoding of advanced probability models in those languages (in particular, nonparametric Bayesian models), which has been pointed out by the recent work of Dan Roy and his colleagues.

Prerequisites: Compiler and Machine learning courses. The Programming Language course is not required, but useful for carrying out this project.

Undergraduate students who wish to enquire about a project for 2017-18 are welcome to contact Prof Yang but should note that the response may be delayed as he is on sabbatical.