# Control-Data Separation and Logical Condition Propagation for Efficient Inference on Probabilistic Programs

arXiv: https://arxiv.org/abs/2101.01502 · HTML: https://mlsanity.com/paper/2101.01502/

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 14 of its 40 references that are in the map.
- First posted on arXiv 5 Jan 2021.

## Builds on (most cited first, 14 of 14)

- [Introduction to Multi-Armed Bandits](https://mlsanity.com/paper/1904.07272/) (2019)
- [Pyro: Deep Universal Probabilistic Programming](https://mlsanity.com/paper/1810.09538/) (2018)
- [An Introduction to Probabilistic Programming](https://mlsanity.com/paper/1809.10756/) (2018)
- [Simple regret for infinitely many armed bandits](https://mlsanity.com/paper/1505.04627/) (2015)
- [Inference Compilation and Universal Probabilistic Programming](https://mlsanity.com/paper/1610.09900/) (2016)
- [Venture: a higher-order probabilistic programming platform with programmable inference](https://mlsanity.com/paper/1404.0099/) (2014)
- [Design and Implementation of Probabilistic Programming Language Anglican](https://mlsanity.com/paper/1608.05263/) (2016)
- [Semantics for probabilistic programming: higher-order functions, continuous distributions, and soft constraints](https://mlsanity.com/paper/1601.04943/) (2016)
- [Automated learning with a probabilistic programming language: Birch](https://mlsanity.com/paper/1810.01539/) (2018)
- [Divide, Conquer, and Combine: a New Inference Strategy for Probabilistic Programs with Stochastic Support](https://mlsanity.com/paper/1910.13324/) (2019)
- [Lexicographic Ranking Supermartingales: An Efficient Approach to Termination of Probabilistic Programs](https://mlsanity.com/paper/1709.04037/) (2017)
- [Conditioning in Probabilistic Programming](https://mlsanity.com/paper/1504.00198/) (2015)
- [Inference Trees: Adaptive Inference with Exploration](https://mlsanity.com/paper/1806.09550/) (2018)
- [Deployable probabilistic programming](https://mlsanity.com/paper/1906.11199/) (2019)

## Abstract (arXiv)

We present a novel sampling framework for probabilistic programs. The framework combines two recent ideas -- control-data separation and logical condition propagation -- in a nontrivial manner so that the two ideas boost the benefits of each other. We implemented our algorithm on top of Anglican. The experimental results demonstrate our algorithm's efficiency, especially for programs with while loops and rare observations.
