Program Analysis of Probabilistic Programs
Probabilistic programming is a growing area that strives to make statistical analysis more accessible, by separating probabilistic modelling from probabilistic inference. In practice this decoupling is difficult. No single inference algorithm can be used as a probabilistic programming back-end that is simultaneously reliable, efficient, black-box, and general. Probabilistic programming languages often choose a single algorithm to apply to a given problem, thus inheriting its limitations. While substantial work has been done both to formalise probabilistic programming and to improve efficiency of inference, there has been little work that makes use of the available program structure, by formally analysing it, to better utilise the underlying inference algorithm. This dissertation presents three novel techniques (both static and dynamic), which aim to improve probabilistic programming using program analysis. The techniques analyse a probabilistic program and adapt it to make inference more efficient, sometimes in a way that would have been tedious or impossible to do by hand.
Apr-14-2022
- Country:
- Oceania > Australia
- New South Wales > Sydney (0.04)
- North America
- Mexico (0.04)
- United States
- Pennsylvania > Philadelphia County
- Philadelphia (0.04)
- New York > New York County
- New York City (0.04)
- California > San Francisco County
- San Francisco (0.13)
- Arizona > Maricopa County
- Phoenix (0.04)
- Pennsylvania > Philadelphia County
- Canada > Ontario
- Toronto (0.13)
- Europe
- Austria > Vienna (0.14)
- Spain > Canary Islands (0.04)
- United Kingdom
- Scotland > City of Edinburgh
- Edinburgh (0.04)
- England
- Cambridgeshire > Cambridge (0.14)
- Oxfordshire > Oxford (0.04)
- Greater London > London (0.04)
- Scotland > City of Edinburgh
- Finland > Uusimaa
- Helsinki (0.04)
- Asia
- Oceania > Australia
- Genre:
- Research Report > New Finding (1.00)
- Industry:
- Information Technology > Security & Privacy (1.00)
- Health & Medicine (1.00)
- Government (0.92)
- Technology:
- Information Technology
- Software Engineering (1.00)
- Software > Programming Languages (1.00)
- Security & Privacy (1.00)
- Data Science > Data Mining (1.00)
- Artificial Intelligence
- Information Technology