foundations of probabilistic programming -...

68

Upload: phamdang

Post on 11-Oct-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft
Page 2: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!

!

!

Page 3: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!

!

!

Page 4: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!

!

!

!

O(n2)

Page 5: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!

!

!

n

Page 6: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!

!

⊥ ω σ

!

!

Page 7: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!

!

⊥ ω σ

!

!

Page 8: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!

!

⊥ ω σ

!

!

Page 9: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!

!

⊥ ω σ

!

!

Page 10: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! x1, . . . , xn R! t + − · /

3(x1 + x2)− 1! B t1 ≤ t2 = <! p

! x := t! p ;q! B p q! B p

Page 11: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! s : {x1, . . . , xn} → R

! S! s : { } ⇀ R! s : { } → R⊥

! p !p" : S ⇀ S

! !x := t"(s) ! s[s(t)/x]

! !p ;q"(s) ! !q"(!p"(s))

! ! B p q"(s) !{

!p"(s), s " B

!q"(s), s ̸" B

Page 12: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! s : {x1, . . . , xn} → R! S

! s : { } ⇀ R! s : { } → R⊥

! p !p" : S ⇀ S

! !x := t"(s) ! s[s(t)/x]

! !p ;q"(s) ! !q"(!p"(s))

! ! B p q"(s) !{

!p"(s), s " B

!q"(s), s ̸" B

Page 13: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! s : {x1, . . . , xn} → R! S! s : { } ⇀ R

! s : { } → R⊥

! p !p" : S ⇀ S

! !x := t"(s) ! s[s(t)/x]

! !p ;q"(s) ! !q"(!p"(s))

! ! B p q"(s) !{

!p"(s), s " B

!q"(s), s ̸" B

Page 14: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! s : {x1, . . . , xn} → R! S! s : { } ⇀ R! s : { } → R⊥

! p !p" : S ⇀ S

! !x := t"(s) ! s[s(t)/x]

! !p ;q"(s) ! !q"(!p"(s))

! ! B p q"(s) !{

!p"(s), s " B

!q"(s), s ̸" B

Page 15: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! s : {x1, . . . , xn} → R! S! s : { } ⇀ R! s : { } → R⊥

! p !p" : S ⇀ S

! !x := t"(s) ! s[s(t)/x]

! !p ;q"(s) ! !q"(!p"(s))

! ! B p q"(s) !{

!p"(s), s " B

!q"(s), s ̸" B

Page 16: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! B p"(s) !⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

s, s ̸" B

!p"(s), s " B ∧ !p"(s) ̸" B

!p"(!p"(s)), s " B ∧ !p"(s) " B ∧ !p"(!p"(s)) ̸" B

!p"n(s), ∀m < n !p"m(s) " B ∧ !p"n(s)) ̸" B

,

Page 17: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!B" = {(s, s) | s " B}!B̄" = {(s, s) | s ̸" B}

! B p" ! !B̄" ∪ !B ;p ;B̄" ∪ !B ;p ;B ;p ;B̄" ∪ · · ·

=⋃

n

!(B ;p)n ;B̄"

Page 18: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!p" ⊆ S × S p

! !x := t" ! {(s, s[s(t)/x]) | s ∈ S}

! !p ;q" ! !p" ;!q"! ! B p q" ! !B ;p" ∪ !B̄ ;q"! ! B p" ! ⋃

n !(B ;p)n ;B̄"(⋃

n !(B ;p)n");!B̄"!(B ;p)∗ ;B̄"

Page 19: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! B p" = !(B ;p)∗ ;B̄" =⋃

n

!(B ;p)n ;B̄"

W = !B̄" ∪ !B ;p" ;W

τ(W ) ! !B̄" ∪ !B ;p" ;W

∅ ⊆ τ(∅) ⊆ τ 2(∅) ⊆ · · · ! B p" =⋃

n

τn(∅)

Page 20: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! B p" = !(B ;p)∗ ;B̄" =⋃

n

!(B ;p)n ;B̄"

W = !B̄" ∪ !B ;p" ;W

τ(W ) ! !B̄" ∪ !B ;p" ;W

∅ ⊆ τ(∅) ⊆ τ 2(∅) ⊆ · · · ! B p" =⋃

n

τn(∅)

Page 21: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

ω ω

ω (A,⊑,⊥)

! ⊑! ⊥! a0 ⊑ a1 ⊑ a2 ⊑ · · ·⊔

n an! am ⊑

⊔n an m

! am ⊑ b m⊔

n an ⊑ b

Page 22: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

ω

! τ : D1 → D2

! a ⊑ b τ(a) ⊑ τ(b)! a0 ⊑ a1 ⊑ a2 ⊑ · · · τ(

⊔n an) =

⊔n τ(an)

! τ ⊑ aτ(a) = a a =

⊔n τ

n(⊥)! τ ω

! τ(W ) = !B̄" ∪ !B ;p" ;Wω (2S×S,⊆,∅)

Page 23: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! A ⊆ S {s | s " t1 ≤ t2}!

!

!

Page 24: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! {B} p {C}! B p

C

! ⟨p⟩C [p]C! p C! p

C! {B} p {C} ≡ B ⇒ [p]C

!

! pC = [p]C! pC = ⟨p⟩C ∧ [p]C p

Page 25: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

⟨ ⟩ [ ]

s " [p]C ∀t (s, t) ∈ !p" ⇒ t " C

s " ⟨p⟩C ∃t (s, t) ∈ !p" ∧ t " C

Page 26: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

[p ∪ q]A ≡ [p]A ∧ [q]A

[p]A ≡ ¬⟨p⟩¬A [p ;q]A ≡ [p][q]A

[p](A ⇒ B) ⇒ [p]A ⇒ [p]B [p∗]A ≡ A ∧ [p][p∗]A

[A]B ≡ A ⇒ B (A ∧ [p∗](A ⇒ [p]A)) ⇒ [p∗]A

A A ⇒ B

B

A

[p]A

Page 27: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

s " [p]A !p"(s) " A

! "

[ ]

Page 28: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

⇒⇒

" ⇒∫

⇒⇒⇒⇒⇒

Page 29: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft
Page 30: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! x1, . . . , xn R! t + − · /! B t1 ≤ t2 = <! p

! x := t! x :=! p ;q! B p q! B p

Page 31: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! (S,B) S Bσ S 2S

! B! f : (S1,B1) → (S2,B2)

B2 B1

!

! (Si,Bi) 1 ≤ i ≤ n(S1 × · · ·× Sn,B) B σ

S1 × · · ·× Sn

A1 × · · ·× An Ai ∈ Bi 1 ≤ i ≤ n

! B σS → Si

Page 32: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! (A, 2A) A

! (R,B) B R σR (a,∞)

! (R,L) LB

! ([0, 1], {A ∩ [0, 1] | A ∈ B})

! (Rn,B(n)) = (R,B)× · · ·× (R,B)

! {0, 1}ω{α ∈ {0, 1}ω | x ≤ α} x ∈ {0, 1}∗

! ωω

{α ∈ ωω | x ≤ α} x ∈ ω∗

Page 33: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

2A

Page 34: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

2A

Page 35: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! (S,B) µ : B → RA

µ(!A) =

"A∈A µ(A)

! µ(∅) = 0! µ(A) ≥ 0 A ∈ B! µ(S) = 1! µ(S) ≤ 1! (S,B)

M R

(aµ+ bν)(A) = aµ(A) + bν(A)

! ∥µ∥ = A∈B |µ(A)|

Page 36: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! s

δs(A) !#1, s ∈ A,

0 s ̸∈ A

! λ [0, 1]λ([a, b)) = b− a

! λ {0, 1}ωλ({α | x ≤ α}) = 2−|x|

Page 37: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! P : Rn × B(n) → [0, 1]

! s ∈ Rn P (s,−)B(n) → [0, 1]

! A ∈ B(n) P (−, A)Rn → [0, 1]

!

!

!

! Rn → B(n) → R Rn → M

Page 38: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!

(P ;Q)(s, A) !$

t

P (s, dt) ·Q(t, A)

!

!

!

Page 39: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! M → M

P (µ)(A) !$

t

µ(dt) · P (t, A)

! M%

!

! ≡! M → M! M → M

Page 40: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! S s : {x1, . . . , xn} → RRn

! B(n)

! !p" : Rn × B(n) → R! !p" : Rn → M! !p" : M → M! !p"

!p"(s, A) = !p"(s)(A) = !p"(δs)(A)

!

Page 41: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! !x := t"(s) ! δs[s(t)/x] s[s(t)/x]

! !p ;q"(s) ! !q"(!p"(s))

! ! B p q"(s) !#

!p"(s), s ∈ B

!q"(s), s ̸∈ B

! !B"(s, A) !#1, s ∈ A ∩ B

0, s ̸∈ A ∩ B

! !B"(µ) = µB

B! ! B p q" = !B ;p" + !B̄ ;q"

Page 42: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!xi := "(s1, . . . , sn, A1 × · · ·× An) ! (&

j ̸=i

δsj(Aj)) · λ(Ai)

λ [0, 1)

Page 43: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! B p" ! !B̄" + !B ;p ;B̄" + !B ;p ;B ;p ;B̄" + · · ·

='

n

!(B ;p)n ;B̄"

= !(B ;p)∗ ;B̄",

!p∗" !'

n

!pn"

Page 44: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! s " A! µ

A µ(A)!

f : Rn → R$

t

µ(dt) · f(t)

! s " A

Page 45: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!

⟨p⟩f !$

t

!p"(−, dt) · f(t)

f p! ⟨p⟩ : F → F

F!

Rn × B(n) → [0, 1] ∼= B(n) → F ∼= F → F

! F R

∥f∥ = ∥s∥=1 |f(s)|

Page 46: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! ⟨p⟩A A

! ⟨p⟩f f

! [p]A ! 1− ⟨p⟩(1− A) = 1− ⟨p⟩1 + ⟨p⟩A = [p]0 + ⟨p⟩A

! [p]A A p

! A ≤ [p]B {A} p {B}

Page 47: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

⟨ap+ bq⟩f = a⟨p⟩f + b⟨q⟩f [p]f = [p]0 + ⟨p⟩f⟨p⟩(af + bg) = a⟨p⟩f + b⟨p⟩g 0 ≤ f ⇒ ⟨p∗⟩f = f + ⟨p⟩⟨p∗⟩f0 ≤ f ⇒ 0 ≤ ⟨p⟩f 0 ≤ f ⇒ ⟨p∗⟩f = f + ⟨p∗⟩⟨p⟩ff ≤ g ⇒ ⟨p⟩f ≤ ⟨p⟩g 0 ≤ f + ⟨p⟩g ≤ g ⇒ ⟨p∗⟩f ≤ g

⟨p ;q⟩f = ⟨p⟩⟨q⟩f f ≤ 1 ⇒ ⟨p⟩f ≤ 1

⟨B⟩f = Bf 0 ≤ B ≤ BB ≤ 1

Page 48: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

(µ, f)%t µ(dt) · f(t)

µ⟨p⟩%t µ(dt) · !p"(t,−)

⟨p⟩f%t!p"(−, dt) · f(t)

(µ, ⟨p⟩f) = (µ⟨p⟩, f)

Page 49: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft
Page 50: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!

σ

!

!

!

!

!

! R Rn

Page 51: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!

!

! R Rn

Page 52: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

ωω

! {α | x ≤ α} x ∈ ω∗

! ω ω!

!

!

! d(α, β) = 2−|x| xα β

{0, 1}ω!

Page 53: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

ω (A,⊑,⊥)! ⊑! ⊥!

τ : D1 → D2

Page 54: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

ω ω

ω! A ⊑

A A! A ⊑

A!

!

Page 55: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

p

!p" : 2H × B → [0, 1]

H B2H

! !x← n"(a,−) ! δ{π[n/x]::σ|π::σ∈a}! !x = n"(a,−) ! δ{π::σ|π::σ∈a, π(x)=n}

! ! "(a,−) ! δ{π::π::σ|π::σ∈a}! ! "(a,−) ! δa! ! "(a,−) ! δ∅

Page 56: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

p

!p" : 2H × B → [0, 1]

H B2H

! !x← n"(a,−) ! δ{π[n/x]::σ|π::σ∈a}! !x = n"(a,−) ! δ{π::σ|π::σ∈a, π(x)=n}

! ! "(a,−) ! δ{π::π::σ|π::σ∈a}! ! "(a,−) ! δa! ! "(a,−) ! δ∅

Page 57: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! !p ;q"(a,A) !!

c

!p"(a, dc) · !q"(c, A)

! !p q"(a,−) ! !p"(a,−) !q"(a,−)(µ ν)(A) ! (µ× ν)({(a, b) | a ∪ b ∈ A})

! !p⊕r q" ! r!p" + (1− r)!q"

! !b"(a,−) ! δa∩b

! ! b p q" ! !bp b̄q"

Page 58: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!p∗"(a)

!p∗"!p∗" = ! p;p∗"

A p ! (A;p)∗ ;A

Page 59: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!p∗"(a)

!p∗"!p∗" = ! p;p∗"

A p ! (A;p)∗ ;A

Page 60: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

µ0, µ1, µ2, . . . µf

n→∞

!fdµn =

!fdµ.

!p(n)"(a,−) !p∗"(a,−)

p(0) = p(n+1) = p;p(n)

Page 61: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!

!

!

!

! ⊑! 2H

! !p∗"

Page 62: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

!

!

!

!

! ⊑! 2H

! !p∗"

Page 63: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

Page 64: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! (2H ,⊆) ω! Ba = {b | a ⊆ b} a ⊆ H

O!

! µ, ν 2H µ ⊑ νB µ(B) ≤ ν(B)

! ⊑

P ⊑ Q⇔ ∀a ∈ 2H ∀B ∈ O P (a,B) ≤ Q(a,B)

!

Ba a ∈ 2H

Page 65: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

ω

!p∗"X 0→ !p" ;X!p∗" =

"n!p(n)"

Page 66: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

! {0, 1}ω ω{0, 1}

{α | x ≤ α}! {0, 1}ω

ω{0, 1} {1} {0}

Ba = {b | a ⊆ b} a ⊆ H

!

!

Page 67: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

1 1 1 1 1 1 1 10 1 0 1 0 1 0 10 0 1 1 0 0 1 10 0 0 1 0 0 0 10 0 0 0 1 1 1 10 0 0 0 0 1 0 10 0 0 0 0 0 1 10 0 0 0 0 0 0 1

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

=

[1 10 1

]⊗

[1 10 1

]⊗ · · ·

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

1 −1 1 −1 1 −1 1 −10 1 0 1 0 1 0 10 0 −1 1 0 0 −1 10 0 0 −1 0 0 0 −10 0 0 0 1 −1 1 −10 0 0 0 0 1 0 10 0 0 0 0 0 −1 10 0 0 0 0 0 0 −1

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

=

[1 −10 1

]⊗

[1 −10 1

]⊗ · · ·

Page 68: Foundations of Probabilistic Programming - ALFAalfa.di.uminho.pt/~nevrenato/probprogschool_slides/Dexter.pdf · 4uzmftpg4fnboujdt ¾sff4uzmftpg4fnboujdt! 0qfsbujpobm 'pdvtpotubuft