Conditioning in Probabilistic Programming MFPS XXXI 2015 Friedrich - - PowerPoint PPT Presentation

conditioning in probabilistic programming
SMART_READER_LITE
LIVE PREVIEW

Conditioning in Probabilistic Programming MFPS XXXI 2015 Friedrich - - PowerPoint PPT Presentation

Conditioning in Probabilistic Programming MFPS XXXI 2015 Friedrich Gretz Nils Jansen Benjamin Kaminski Joost-Pieter Katoen Annabelle McIver Federico Olmedo 23.6.2015 Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 1


slide-1
SLIDE 1

Conditioning in Probabilistic Programming

MFPS XXXI 2015

Friedrich Gretz Nils Jansen Benjamin Kaminski Joost-Pieter Katoen Annabelle McIver Federico Olmedo 23.6.2015

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 1

slide-2
SLIDE 2

Motivation Syntax of pGCL

Motivation

Syntax of pGCL Programs [McIver & Morgan ’06]

P − → x := E | if (G) {P} else {P} | {P} [p] {P} | {P} {P} | while (G) {P}

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 2

slide-3
SLIDE 3

Motivation Syntax of pGCL

Motivation

Syntax of pGCL Programs [McIver & Morgan ’06]

P − → x := E | if (G) {P} else {P} | {P} [p] {P} | {P} {P} | while (G) {P}

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 2

slide-4
SLIDE 4

Motivation Syntax of pGCL

Motivation

Syntax of pGCL Programs [McIver & Morgan ’06]

P − → x := E | if (G) {P} else {P} | {P} [p] {P} | {P} {P} | while (G) {P}

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 2

slide-5
SLIDE 5

Motivation Syntax of pGCL

Motivation

Syntax of pGCL Programs [McIver & Morgan ’06]

P − → x := E | if (G) {P} else {P} | {P} [p] {P} | {P} {P} | while (G) {P}

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 2

slide-6
SLIDE 6

Motivation Syntax of pGCL

Motivation

Syntax of pGCL Programs [McIver & Morgan ’06]

P − → x := E | if (G) {P} else {P} | {P} [p] {P} | {P} {P} | while (G) {P}

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 2

slide-7
SLIDE 7

Motivation Syntax of pGCL

Motivation

Syntax of pGCL Programs [McIver & Morgan ’06]

P − → x := E | if (G) {P} else {P} | {P} [p] {P} | {P} {P} | while (G) {P}

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 2

slide-8
SLIDE 8

Motivation Syntax of pGCL

Motivation

Syntax of pGCL Programs [McIver & Morgan ’06]

P − → x := E | if (G) {P} else {P} | {P} [p] {P} | {P} {P} | while (G) {P}

Syntax of cpGCL Programs

P − → “see pGCL” | observe G

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 2

slide-9
SLIDE 9

Motivation Syntax of pGCL

Motivation

Syntax of pGCL Programs [McIver & Morgan ’06]

P − → x := E | if (G) {P} else {P} | {P} [p] {P} | {P} {P} | while (G) {P}

Syntax of cpGCL Programs

P − → “see pGCL” | observe G

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 2

slide-10
SLIDE 10

Motivation Syntax of pGCL

Motivation

Syntax of pGCL Programs [McIver & Morgan ’06]

P − → x := E | if (G) {P} else {P} | {P} [p] {P} | {P} {P} | while (G) {P}

Syntax of cpGCL Programs

P − → “see pGCL” | observe G Given a probabilistic program P and a random variable f: What is the conditional expected value of f after termination

  • f P given that no observation is violated while executing P ?

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 2

slide-11
SLIDE 11

Motivation Expectations

Expectations

Unbounded and Bounded Expectations

S = {σ | σ: Vars → R} denotes the set of program states.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 3

slide-12
SLIDE 12

Motivation Expectations

Expectations

Unbounded and Bounded Expectations

S = {σ | σ: Vars → R} denotes the set of program states. The set of expectations E and the set of bounded expectations E≤1 are E =

  • f
  • f : S → R∞

≥0

  • E≤1 = {g | g: S → [0, 1]} .

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 3

slide-13
SLIDE 13

Motivation Expectations

Expectations

Unbounded and Bounded Expectations

S = {σ | σ: Vars → R} denotes the set of program states. The set of expectations E and the set of bounded expectations E≤1 are E =

  • f
  • f : S → R∞

≥0

  • E≤1 = {g | g: S → [0, 1]} .

random variable = expectation

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 3

slide-14
SLIDE 14

Motivation Expectations

Expectations

Unbounded and Bounded Expectations

S = {σ | σ: Vars → R} denotes the set of program states. The set of expectations E and the set of bounded expectations E≤1 are E =

  • f
  • f : S → R∞

≥0

  • E≤1 = {g | g: S → [0, 1]} .

random variable = expectation = expected value

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 3

slide-15
SLIDE 15

Operational Semantics for cpGCL

Operational Semantics for cpGCL

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 4

slide-16
SLIDE 16

Operational Semantics for cpGCL

Operational Reward Markov Decision Process (RMDP)

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 5

slide-17
SLIDE 17

Operational Semantics for cpGCL

Operational Reward Markov Decision Process (RMDP)

Given:

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 5

slide-18
SLIDE 18

Operational Semantics for cpGCL

Operational Reward Markov Decision Process (RMDP)

Given: P ∈ cpGCL,

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 5

slide-19
SLIDE 19

Operational Semantics for cpGCL

Operational Reward Markov Decision Process (RMDP)

Given: P ∈ cpGCL, f ∈ E.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 5

slide-20
SLIDE 20

Operational Semantics for cpGCL

Operational Reward Markov Decision Process (RMDP)

Given: P ∈ cpGCL, f ∈ E. Construct an operational RMDP ` a la Gretz et al. and define conditional expected rewards under a minimizing scheduler.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 5

slide-21
SLIDE 21

Operational Semantics for cpGCL

Operational Reward Markov Decision Process (RMDP)

Given: P ∈ cpGCL, f ∈ E. Construct an operational RMDP ` a la Gretz et al. and define conditional expected rewards under a minimizing scheduler. Schematically such RMDPs look as follows:

init ↓

  • sink

diverge

↓ ↓

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 5

slide-22
SLIDE 22

Operational Semantics for cpGCL

Operational Reward Markov Decision Process (RMDP)

Given: P ∈ cpGCL, f ∈ E. Construct an operational RMDP ` a la Gretz et al. and define conditional expected rewards under a minimizing scheduler. Schematically such RMDPs look as follows:

init ↓

  • sink

diverge

↓ ↓

Only terminal states can contribute positive non–zero reward!

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 5

slide-23
SLIDE 23

Denotational Semantics Denotational Semantics for pGCL

Denotational Semantics

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 6

slide-24
SLIDE 24

Denotational Semantics Denotational Semantics for pGCL

Denotational Semantics for (unconditioned) pGCL

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 6

slide-25
SLIDE 25

Denotational Semantics Denotational Semantics for pGCL

Programs as Unconditional Expectation Transformers

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 7

slide-26
SLIDE 26

Denotational Semantics Denotational Semantics for pGCL

Programs as Unconditional Expectation Transformers

Think of a pGCL program P as a state–to–distribution transformer σ → P(σ).

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 7

slide-27
SLIDE 27

Denotational Semantics Denotational Semantics for pGCL

Programs as Unconditional Expectation Transformers

Think of a pGCL program P as a state–to–distribution transformer σ → P(σ). An expectation wp[P](f) is called the weakest pre–expectation of P with respect to post–expectation f

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 7

slide-28
SLIDE 28

Denotational Semantics Denotational Semantics for pGCL

Programs as Unconditional Expectation Transformers

Think of a pGCL program P as a state–to–distribution transformer σ → P(σ). An expectation wp[P](f) is called the weakest pre–expectation of P with respect to post–expectation f, if EP(σ)(f) = Eδσ

  • wp[P](f)
  • Benjamin Kaminski

Conditioning in Probabilistic Programming 23.6.2015 7

slide-29
SLIDE 29

Denotational Semantics Denotational Semantics for pGCL

Programs as Unconditional Expectation Transformers

Think of a pGCL program P as a state–to–distribution transformer σ → P(σ). An expectation wp[P](f) is called the weakest pre–expectation of P with respect to post–expectation f, if EP(σ)(f) = Eδσ

  • wp[P](f)
  • = wp[P](f)(σ).

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 7

slide-30
SLIDE 30

Denotational Semantics Denotational Semantics for pGCL

Programs as Unconditional Expectation Transformers

Think of a pGCL program P as a state–to–distribution transformer σ → P(σ). An expectation wp[P](f) is called the weakest pre–expectation of P with respect to post–expectation f, if EP(σ)(f) = Eδσ

  • wp[P](f)
  • = wp[P](f)(σ).

For g ∈ E≤1, an expectation wlp[P](g) is called the weakest liberal pre–expectation of P with respect to post–expectation g

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 7

slide-31
SLIDE 31

Denotational Semantics Denotational Semantics for pGCL

Programs as Unconditional Expectation Transformers

Think of a pGCL program P as a state–to–distribution transformer σ → P(σ). An expectation wp[P](f) is called the weakest pre–expectation of P with respect to post–expectation f, if EP(σ)(f) = Eδσ

  • wp[P](f)
  • = wp[P](f)(σ).

For g ∈ E≤1, an expectation wlp[P](g) is called the weakest liberal pre–expectation of P with respect to post–expectation g, if wlp[P](g) = wp[P](g) + Pr(“P diverges”)

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 7

slide-32
SLIDE 32

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Denotational Semantics for Fully Probabilistic cpGCL

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 8

slide-33
SLIDE 33

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Programs as Conditional Expectation Transformers

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 9

slide-34
SLIDE 34

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Programs as Conditional Expectation Transformers

Let P ∈ cpGCL⊠ (i.e. P contains no non–deterministic choices) and let f ∈ E.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 9

slide-35
SLIDE 35

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Programs as Conditional Expectation Transformers

Let P ∈ cpGCL⊠ (i.e. P contains no non–deterministic choices) and let f ∈ E. The conditional weakest pre–expectation of P with respect to post–expectation f is a pair (f′, g′), such that

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 9

slide-36
SLIDE 36

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Programs as Conditional Expectation Transformers

Let P ∈ cpGCL⊠ (i.e. P contains no non–deterministic choices) and let f ∈ E. The conditional weakest pre–expectation of P with respect to post–expectation f is a pair (f′, g′), such that given an initial state σ

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 9

slide-37
SLIDE 37

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Programs as Conditional Expectation Transformers

Let P ∈ cpGCL⊠ (i.e. P contains no non–deterministic choices) and let f ∈ E. The conditional weakest pre–expectation of P with respect to post–expectation f is a pair (f′, g′), such that given an initial state σ

f′(σ)/g′(σ) is the conditional expected value of f

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 9

slide-38
SLIDE 38

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Programs as Conditional Expectation Transformers

Let P ∈ cpGCL⊠ (i.e. P contains no non–deterministic choices) and let f ∈ E. The conditional weakest pre–expectation of P with respect to post–expectation f is a pair (f′, g′), such that given an initial state σ

f′(σ)/g′(σ) is the conditional expected value of f

after termination of P on σ

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 9

slide-39
SLIDE 39

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Programs as Conditional Expectation Transformers

Let P ∈ cpGCL⊠ (i.e. P contains no non–deterministic choices) and let f ∈ E. The conditional weakest pre–expectation of P with respect to post–expectation f is a pair (f′, g′), such that given an initial state σ

f′(σ)/g′(σ) is the conditional expected value of f

after termination of P on σ given that no observation is violated while executing P.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 9

slide-40
SLIDE 40

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Programs as Conditional Expectation Transformers

Let P ∈ cpGCL⊠ (i.e. P contains no non–deterministic choices) and let f ∈ E. The conditional weakest pre–expectation of P with respect to post–expectation f is a pair (f′, g′), such that given an initial state σ

f′(σ)/g′(σ) is the conditional expected value of f

after termination of P on σ given that no observation is violated while executing P. We provide a transformer that satisfies cwp[P](f, 1) = (f′, g′).

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 9

slide-41
SLIDE 41

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Programs as Conditional Expectation Transformers

Let P ∈ cpGCL⊠ (i.e. P contains no non–deterministic choices) and let f ∈ E. The conditional weakest pre–expectation of P with respect to post–expectation f is a pair (f′, g′), such that given an initial state σ

f′(σ)/g′(σ) is the conditional expected value of f

after termination of P on σ given that no observation is violated while executing P. We provide a transformer that satisfies cwp[P](f, 1) = (f′, g′). Furthermore: cwp[P ](f, g) =

  • wp[P ](f), wlp[P ](g)
  • Benjamin Kaminski

Conditioning in Probabilistic Programming 23.6.2015 9

slide-42
SLIDE 42

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Conditional Expectations

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 10

slide-43
SLIDE 43

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Conditional Expectations

Let G be some event and χG be the characteristic function of G.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 10

slide-44
SLIDE 44

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Conditional Expectations

Let G be some event and χG be the characteristic function of G. The conditional expected value of a random variable r given event G is then given by E(r · χG) Pr(G)

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 10

slide-45
SLIDE 45

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Conditional Expectations

Let G be some event and χG be the characteristic function of G. The conditional expected value of a random variable r given event G is then given by E(r · χG) Pr(G) = E(r · χG) E(χG) .

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 10

slide-46
SLIDE 46

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Conditional Expectations

Let G be some event and χG be the characteristic function of G. The conditional expected value of a random variable r given event G is then given by E(r · χG) Pr(G) = E(r · χG) E(χG) .

Conditional Expectations

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 10

slide-47
SLIDE 47

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Conditional Expectations

Let G be some event and χG be the characteristic function of G. The conditional expected value of a random variable r given event G is then given by E(r · χG) Pr(G) = E(r · χG) E(χG) .

Conditional Expectations

A conditional expectation is a pair (f, g) ∈ E × E≤1.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 10

slide-48
SLIDE 48

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

Conditional Expectations

Let G be some event and χG be the characteristic function of G. The conditional expected value of a random variable r given event G is then given by E(r · χG) Pr(G) = E(r · χG) E(χG) .

Conditional Expectations

A conditional expectation is a pair (f, g) ∈ E × E≤1. Intuitively, f represents the numerator and g represents the denominator above.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 10

slide-49
SLIDE 49

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

The Four Possibilities

wp wlp

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 11

slide-50
SLIDE 50

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

The Four Possibilities

wp wlp ∼ cwp

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 11

slide-51
SLIDE 51

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

The Four Possibilities

wp wlp ∼ cwp

init ↓

  • sink

diverge

↓ ↓

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 11

slide-52
SLIDE 52

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

The Four Possibilities

wp wlp ∼ cwp wp wp wlp wlp wlp wp

init ↓

  • sink

diverge

↓ ↓

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 11

slide-53
SLIDE 53

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

The Four Possibilities

wp wlp ∼ cwp wp wp = Nori et al. wlp wlp wlp wp

init ↓

  • sink

diverge

↓ ↓

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 11

slide-54
SLIDE 54

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

The Four Possibilities

wp wlp ∼ cwp wp wp = Nori et al. wlp wlp ∼ cwlp wlp wp

init ↓

  • sink

diverge

↓ ↓

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 11

slide-55
SLIDE 55

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

The Four Possibilities

wp wlp ∼ cwp wp wp = Nori et al. wlp wlp ∼ cwlp wlp wp = bogus

init ↓

  • sink

diverge

↓ ↓

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 11

slide-56
SLIDE 56

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

A Somewhat Intricate Example

Pdiv = Pandiv = x := 1; x := 1; while (x = 1) { while (x = 1) { x := 1 {x := 1} [1/2] {x := 0}; }

  • bserve x = 1

}

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 12

slide-57
SLIDE 57

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

A Somewhat Intricate Example

Pdiv = Pandiv = x := 1; x := 1; while (x = 1) { while (x = 1) { x := 1 {x := 1} [1/2] {x := 0}; }

  • bserve x = 1

} cwp of Pdiv and Pandiv yields:

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 12

slide-58
SLIDE 58

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

A Somewhat Intricate Example

Pdiv = Pandiv = x := 1; x := 1; while (x = 1) { while (x = 1) { x := 1 {x := 1} [1/2] {x := 0}; }

  • bserve x = 1

} cwp of Pdiv and Pandiv yields: cwp[Pdiv](f, 1) = (0, 1) cwp[Pandiv](f, 1) = (0, 0)

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 12

slide-59
SLIDE 59

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

A Somewhat Intricate Example

Pdiv = Pandiv = x := 1; x := 1; while (x = 1) { while (x = 1) { x := 1 {x := 1} [1/2] {x := 0}; }

  • bserve x = 1

} cwp of Pdiv and Pandiv yields: cwp[Pdiv](f, 1) = (0, 1) cwp[Pandiv](f, 1) = (0, 0)

Pdiv and Pandiv are not semantically equivalent!

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 12

slide-60
SLIDE 60

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

A Somewhat Intricate Example

Pdiv = Pandiv = x := 1; x := 1; while (x = 1) { while (x = 1) { x := 1 {x := 1} [1/2] {x := 0}; }

  • bserve x = 1

} cwp of Pdiv and Pandiv yields: cwp[Pdiv](f, 1) = (0, 1) cwp[Pandiv](f, 1) = (0, 0) “ wp

wp ”[Pdiv](f) = 0 0 = undef.

“ wp

wp ”[Pandiv](f) = 0 0 = undef.

Pdiv and Pandiv are not semantically equivalent!

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 12

slide-61
SLIDE 61

Denotational Semantics Denotational Semantics for Fully Probabilistic cpGCL

A Somewhat Intricate Example

Pdiv = Pandiv = x := 1; x := 1; while (x = 1) { while (x = 1) { x := 1 {x := 1} [1/2] {x := 0}; }

  • bserve x = 1

} cwp of Pdiv and Pandiv yields: cwp[Pdiv](f, 1) = (0, 1) cwp[Pandiv](f, 1) = (0, 0) “ wp

wp ”[Pdiv](f) = 0 0 = undef.

“ wp

wp ”[Pandiv](f) = 0 0 = undef.

Pdiv and Pandiv are not semantically equivalent!

Not distinguished by Nori et al.’s semantics!

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 12

slide-62
SLIDE 62

Results on cwp Backward Compatibility and Correspondence

Theorem: cwp is “Backward Compatible”

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 13

slide-63
SLIDE 63

Results on cwp Backward Compatibility and Correspondence

Theorem: cwp is “Backward Compatible”

Let Q ∈ pGCL (i.e. Q contains no observations),

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 13

slide-64
SLIDE 64

Results on cwp Backward Compatibility and Correspondence

Theorem: cwp is “Backward Compatible”

Let Q ∈ pGCL (i.e. Q contains no observations), f ∈ E, σ ∈ S

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 13

slide-65
SLIDE 65

Results on cwp Backward Compatibility and Correspondence

Theorem: cwp is “Backward Compatible”

Let Q ∈ pGCL (i.e. Q contains no observations), f ∈ E, σ ∈ S and (f′, g′) = cwp[Q](f, 1).

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 13

slide-66
SLIDE 66

Results on cwp Backward Compatibility and Correspondence

Theorem: cwp is “Backward Compatible”

Let Q ∈ pGCL (i.e. Q contains no observations), f ∈ E, σ ∈ S and (f′, g′) = cwp[Q](f, 1). Then wp[Q](f)(σ) = f′(σ) g′(σ)

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 13

slide-67
SLIDE 67

Results on cwp Backward Compatibility and Correspondence

Theorem: cwp is “Backward Compatible”

Let Q ∈ pGCL (i.e. Q contains no observations), f ∈ E, σ ∈ S and (f′, g′) = cwp[Q](f, 1). Then wp[Q](f)(σ) = f′(σ) g′(σ) = wp[Q](f) wlp[Q](1)

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 13

slide-68
SLIDE 68

Results on cwp Backward Compatibility and Correspondence

Theorem: cwp is “Backward Compatible”

Let Q ∈ pGCL (i.e. Q contains no observations), f ∈ E, σ ∈ S and (f′, g′) = cwp[Q](f, 1). Then wp[Q](f)(σ) = f′(σ) g′(σ) = wp[Q](f) wlp[Q](1) = wp[Q](f) wp[Q](1)

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 13

slide-69
SLIDE 69

Results on cwp Backward Compatibility and Correspondence

Theorem: cwp is “Backward Compatible”

Let Q ∈ pGCL (i.e. Q contains no observations), f ∈ E, σ ∈ S and (f′, g′) = cwp[Q](f, 1). Then wp[Q](f)(σ) = f′(σ) g′(σ) = wp[Q](f) wlp[Q](1) = wp[Q](f) wp[Q](1)

Theorem: Correspondence Theorem

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 13

slide-70
SLIDE 70

Results on cwp Backward Compatibility and Correspondence

Theorem: cwp is “Backward Compatible”

Let Q ∈ pGCL (i.e. Q contains no observations), f ∈ E, σ ∈ S and (f′, g′) = cwp[Q](f, 1). Then wp[Q](f)(σ) = f′(σ) g′(σ) = wp[Q](f) wlp[Q](1) = wp[Q](f) wp[Q](1)

Theorem: Correspondence Theorem

Let P ∈ cpGCL⊠,

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 13

slide-71
SLIDE 71

Results on cwp Backward Compatibility and Correspondence

Theorem: cwp is “Backward Compatible”

Let Q ∈ pGCL (i.e. Q contains no observations), f ∈ E, σ ∈ S and (f′, g′) = cwp[Q](f, 1). Then wp[Q](f)(σ) = f′(σ) g′(σ) = wp[Q](f) wlp[Q](1) = wp[Q](f) wp[Q](1)

Theorem: Correspondence Theorem

Let P ∈ cpGCL⊠, f ∈ E, σ ∈ S

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 13

slide-72
SLIDE 72

Results on cwp Backward Compatibility and Correspondence

Theorem: cwp is “Backward Compatible”

Let Q ∈ pGCL (i.e. Q contains no observations), f ∈ E, σ ∈ S and (f′, g′) = cwp[Q](f, 1). Then wp[Q](f)(σ) = f′(σ) g′(σ) = wp[Q](f) wlp[Q](1) = wp[Q](f) wp[Q](1)

Theorem: Correspondence Theorem

Let P ∈ cpGCL⊠, f ∈ E, σ ∈ S and (f′, g′) = cwp[P](f, 1).

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 13

slide-73
SLIDE 73

Results on cwp Backward Compatibility and Correspondence

Theorem: cwp is “Backward Compatible”

Let Q ∈ pGCL (i.e. Q contains no observations), f ∈ E, σ ∈ S and (f′, g′) = cwp[Q](f, 1). Then wp[Q](f)(σ) = f′(σ) g′(σ) = wp[Q](f) wlp[Q](1) = wp[Q](f) wp[Q](1)

Theorem: Correspondence Theorem

Let P ∈ cpGCL⊠, f ∈ E, σ ∈ S and (f′, g′) = cwp[P](f, 1). Then f′(σ)/g′(σ) corresponds to the conditional expected reward of the operational RMDP.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 13

slide-74
SLIDE 74

Results on cwp Failure to Add Non–Determinism

A Mild Assumption

The non–deterministic choice {P1} {P2} is an implementation choice.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 14

slide-75
SLIDE 75

Results on cwp Failure to Add Non–Determinism

A Mild Assumption

The non–deterministic choice {P1} {P2} is an implementation

  • choice. More formally: If it holds that

cwp

  • {P1} {P2}
  • = cwp[P1]

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 14

slide-76
SLIDE 76

Results on cwp Failure to Add Non–Determinism

A Mild Assumption

The non–deterministic choice {P1} {P2} is an implementation

  • choice. More formally: If it holds that

cwp

  • {P1} {P2}
  • = cwp[P1]

then it should also hold that cwp

  • {{P1} {P2}} [p] {P3}
  • = cwp
  • {P1} [p] {P3}
  • .

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 14

slide-77
SLIDE 77

Results on cwp Failure to Add Non–Determinism

A Mild Assumption

The non–deterministic choice {P1} {P2} is an implementation

  • choice. More formally: If it holds that

cwp

  • {P1} {P2}
  • = cwp[P1]

then it should also hold that cwp

  • {{P1} {P2}} [p] {P3}
  • = cwp
  • {P1} [p] {P3}
  • .

Theorem: Adding Non–Determinism to cwp

Under this mild assumption, it is not possible to extend the rules for cwp by a rule for non–deterministic choice.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 14

slide-78
SLIDE 78

Conditional Expectation Transformers

Conclusion

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 15

slide-79
SLIDE 79

Conditional Expectation Transformers

Conclusion

We introduce operational semantics ` a la Gretz et al. for probabilistic programs with conditioning.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 15

slide-80
SLIDE 80

Conditional Expectation Transformers

Conclusion

We introduce operational semantics ` a la Gretz et al. for probabilistic programs with conditioning. We introduce a reasonable, backward compatible denotational semantics ` a la McIver & Morgan.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 15

slide-81
SLIDE 81

Conditional Expectation Transformers

Conclusion

We introduce operational semantics ` a la Gretz et al. for probabilistic programs with conditioning. We introduce a reasonable, backward compatible denotational semantics ` a la McIver & Morgan. We prove that operational and denotational semantics coincide for the fully probabilistic fragment of cpGCL.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 15

slide-82
SLIDE 82

Conditional Expectation Transformers

Conclusion

We introduce operational semantics ` a la Gretz et al. for probabilistic programs with conditioning. We introduce a reasonable, backward compatible denotational semantics ` a la McIver & Morgan. We prove that operational and denotational semantics coincide for the fully probabilistic fragment of cpGCL. We prove that cwp cannot be extended to non–deterministic choice.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 15

slide-83
SLIDE 83

Conditional Expectation Transformers

Conclusion

We introduce operational semantics ` a la Gretz et al. for probabilistic programs with conditioning. We introduce a reasonable, backward compatible denotational semantics ` a la McIver & Morgan. We prove that operational and denotational semantics coincide for the fully probabilistic fragment of cpGCL. We prove that cwp cannot be extended to non–deterministic choice. We can use cwp to prove the correctness of several program transformations.

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 15

slide-84
SLIDE 84

Conditional Expectation Transformers

Conclusion

We introduce operational semantics ` a la Gretz et al. for probabilistic programs with conditioning. We introduce a reasonable, backward compatible denotational semantics ` a la McIver & Morgan. We prove that operational and denotational semantics coincide for the fully probabilistic fragment of cpGCL. We prove that cwp cannot be extended to non–deterministic choice. We can use cwp to prove the correctness of several program transformations.

Thank you for your attention! :-)

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 15

slide-85
SLIDE 85

Conditional Expectation Transformers

Operational Semantics for cpGCL

skip, σ ↓, σ f(σ) sink abort, σ sink {P} [p] {Q}, σ P, σ Q, σ . . . . . .

p 1 − p

P; Q, σ ↓; Q, σ′ Q, σ′ ↓; Q, σ′′ Q, σ′′ . . . . . . . . .

  • bserve G, σ

↓, σ f(σ) sink

  • bserve G, σ
  • sink

Benjamin Kaminski Conditioning in Probabilistic Programming 23.6.2015 16

slide-86
SLIDE 86

Conditional Expectation Transformers

Rules for cwp

P cwp[P ](f, g) x := E (f[x/E], g[x/E])

  • bserve G

χG · (f, g) P1; P2 (cwp[P1] ◦ cwp[P2])(f, g) if (G) {P1} else {P2} χG · cwp[P1](f, g) + χ¬G · cwp[P2](f, g) {P1} [p] {P2} p · cwp[P1](f, g) + (1 − p) · cwp[P2](f, g) {P1} {P2} — not defined — while (G) {P ′} µ⊑,⊒( ˆ f, ˆ g)•

  • χG · cwp[P ′]( ˆ

f, ˆ g) + χ¬G · (f, g)

  • Benjamin Kaminski

Conditioning in Probabilistic Programming 23.6.2015 17

slide-87
SLIDE 87

Conditional Expectation Transformers

Rules for cwp

P cwp[P ](f, g) x := E (f[x/E], g[x/E])

  • bserve G

χG · (f, g) P1; P2 (cwp[P1] ◦ cwp[P2])(f, g) if (G) {P1} else {P2} χG · cwp[P1](f, g) + χ¬G · cwp[P2](f, g) {P1} [p] {P2} p · cwp[P1](f, g) + (1 − p) · cwp[P2](f, g) {P1} {P2} — not defined — while (G) {P ′} µ⊑,⊒( ˆ f, ˆ g)•

  • χG · cwp[P ′]( ˆ

f, ˆ g) + χ¬G · (f, g)

  • Benjamin Kaminski

Conditioning in Probabilistic Programming 23.6.2015 17