A Theory of Slicing for Probabilistic Control-Flow Graphs

11/07/2017
by   Torben Amtoft, et al.
0

We present a theory for slicing probabilistic imperative programs -- containing random assignments, and "observe" statements (for conditioning) -- represented as probabilistic control-flow graphs (pCFGs) whose nodes modify probability distributions. We show that such a representation allows direct adaptation of standard machinery such as data and control dependence, postdominators, relevant variables, etc to the probabilistic setting. We separate the specification of slicing from its implementation: first we develop syntactic conditions that a slice must satisfy; next we prove that any such slice is semantically correct; finally we give an algorithm to compute the least slice. To generate smaller slices, we may in addition take advantage of knowledge that certain loops will terminate (almost) always. A key feature of our syntactic conditions is that they involve two disjoint slices such that the variables of one slice are probabilistically independent of the variables of the other. This leads directly to a proof of correctness of probabilistic slicing. In a companion article we show adequacy of the semantics of pCFGs with respect to the standard semantics of structured probabilistic programs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/07/2017

A Semantics for Probabilistic Control-Flow Graphs

This article develops a novel operational semantics for probabilistic co...
research
05/22/2017

On the computational complexity of dynamic slicing problems for program schemas

Given a program, a quotient can be obtained from it by deleting zero or ...
research
05/07/2022

Slicing of Probabilistic Programs based on Specifications

This paper presents the first slicing approach for probabilistic program...
research
11/29/2022

Query complexity of Boolean functions on slices

We study the deterministic query complexity of Boolean functions on slic...
research
01/09/2021

Paradoxes of Probabilistic Programming

Probabilistic programming languages allow programmers to write down cond...
research
11/12/2022

Formally Verified Samplers From Probabilistic Programs With Loops and Conditioning

We present Zar: a formally verified compiler pipeline from discrete prob...
research
03/27/2013

Separable and transitive graphoids

We examine three probabilistic formulations of the sentence a and b are ...

Please sign up or login with your details

Forgot password? Click here to reset