Categorical models of probability with symmetries Sam Staton, - - PowerPoint PPT Presentation

categorical models of probability with symmetries
SMART_READER_LITE
LIVE PREVIEW

Categorical models of probability with symmetries Sam Staton, - - PowerPoint PPT Presentation

Categorical models of probability with symmetries Sam Staton, Oxford Categorical models of probability with symmetries My starting point: Probabilistic programming is an internal language for categorical probability theory (as


slide-1
SLIDE 1

Categorical models 


  • f probability 


with symmetries

Sam Staton, Oxford

slide-2
SLIDE 2

Categorical models 


  • f probability with symmetries

My starting point:

  • Probabilistic programming is an internal language

for categorical probability theory 
 (as well as a useful practical tool in stats/ML).

  • Programming languages already have

mechanisms for abstraction and invariance.

  • These can give new perspectives on 


symmetry in probability.

slide-3
SLIDE 3

Plan of talk:

  • 1. Intuitive illustrations of symmetries in
  • a. random graphs
  • b. beta distributions / Pólya urns
  • 2. Models for
  • a. beta / Pólya urns
  • b. random graphs

Staton, Stein, Yang, Ackerman, Freer, Roy, ICALP 2018.

  • ngoing work with Ackerman, Freer, Roy, Yang.
slide-4
SLIDE 4

Building infinite random graphs

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() c <- get() return (edge(a,b) && edge(a,c) 
 && not(edge(b,c)))

slide-5
SLIDE 5

Building infinite random graphs

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() c <- get() return (edge(a,b) && edge(a,c) 
 && not(edge(b,c))) a b c

slide-6
SLIDE 6

Building infinite random graphs

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() c <- get() return (edge(a,b) && edge(a,c) 
 && not(edge(b,c))) get() = uniform Sn edge(p,q) 
 = if d(p,q) < π/2 
 then True else False Example:

slide-7
SLIDE 7

Building infinite random graphs

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() return (edge(a,b)) get() = uniform Sn edge(p,q) 
 = if d(p,q) < π/2 
 then True else False Example:

slide-8
SLIDE 8

Building infinite random graphs

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() c <- get() return (edge(a,b) && edge(a,c) 
 && not(edge(b,c))) get() = uniform Sn edge(p,q) 
 = if d(p,q) < π/2 
 then True else False Example:

slide-9
SLIDE 9

Building infinite random graphs

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() c <- get() return (edge(a,b) && edge(a,c) 
 && not(edge(b,c)))

get get

get

horn?

a b c

Data flow graph

slide-10
SLIDE 10

Building infinite random graphs

Interface: 
 get() : node
 edge(node,node) : bool c <- get() b <- get() a <- get() return (edge(a,b) && edge(a,c) 
 && not(edge(b,c)))

get get

get

horn?

a b c

Data flow graph

slide-11
SLIDE 11

Building infinite random graphs

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() c <- get() return (edge(c,b) && edge(c,a) 
 && not(edge(b,a)))

get get

get

horn?

c b a

Data flow graph Invariance under symmetries of data flow = graph exchangeability

slide-12
SLIDE 12

Building infinite random graphs

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() return (a < b) a <- get() b <- get() return (sin(a) = cos(b)) The interface doesn’t allow:

slide-13
SLIDE 13

Building infinite random graphs

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() return (a < b) a <- get() b <- get() return (sin(a) = cos(b)) The interface doesn’t allow: Invariance under changes to implementation
 = graph exchangeability

slide-14
SLIDE 14

Summary of symmetries

Interface: 
 get() : node
 edge(node,node) : bool

Invariance under implementation details 
 + data flow symmetries 
 =
 graph exchangeability


(Aldous-Hoover)

slide-15
SLIDE 15

Another model

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() c <- get() return (edge(a,b) && edge(a,c) 
 && not(edge(b,c)))

building on
 Bubeck, Ding, Eldan, Racz, 2015
 Devroye, György, Lugosi, Udina, 2011

get() = uniform Sn edge(p,q) = [d(p,q) < π/2] Example:

slide-16
SLIDE 16

Another model

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() c <- get() return (edge(a,b) && edge(a,c) 
 && not(edge(b,c)))

building on
 Bubeck, Ding, Eldan, Racz, 2015
 Devroye, György, Lugosi, Udina, 2011

get() = uniform(0,1) edge(p,q)
 = memoizep,q(bernoulli(0.5)) Example:

slide-17
SLIDE 17

Another model

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() c <- get() return (edge(a,b) && edge(a,c) 
 && not(edge(b,c)))

building on
 Bubeck, Ding, Eldan, Racz, 2015
 Devroye, György, Lugosi, Udina, 2011

get() = uniform(0,1) edge(p,q)
 = memoizep,q(bernoulli(0.5)) Example:

get get

get

horn?

a b c

Roy, Mansinghka, Goodman, Tenenbaum, ICML 2008

slide-18
SLIDE 18

Summary of symmetries

Interface: 
 get() : node
 edge(node,node) : bool

Invariance under implementation details 
 + data flow symmetries 
 =
 graph exchangeability


(Aldous-Hoover)

slide-19
SLIDE 19

Plan of talk:

  • 1. Intuitive illustrations of symmetries in
  • a. random graphs
  • b. beta distributions / Pólya urns
  • 2. Models for
  • a. beta / Pólya urns
  • b. random graphs

Staton, Stein, Yang, Ackerman, Freer, Roy, ICALP 2018.

  • ngoing work with Ackerman, Freer, Roy, Yang.
slide-20
SLIDE 20

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? Interface: 
 get() : I
 sample(I) : bool a <- get() b1 <- sample(a) b2 <- sample(a) return (b1 & not(b2))

slide-21
SLIDE 21

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? Interface: 
 get() : I
 sample(I) : bool a <- get() b1 <- sample(a) b2 <- sample(a) return (b1 & not(b2))

get sample sample

  • &not(-)

a b1 b2

slide-22
SLIDE 22

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? get() = uniform(0,1) sample(p) = bernoulli(p) Example: Interface: 
 get() : I
 sample(I) : bool a <- get() b1 <- sample(a) b2 <- sample(a) return (b1 & not(b2))

slide-23
SLIDE 23

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? get() = uniform(0,1) sample(p) = bernoulli(p) Example:

1

p(1 − p) dp = 1 6

Interface: 
 get() : I
 sample(I) : bool a <- get() b1 <- sample(a) b2 <- sample(a) return (b1 & not(b2)) Prob(return True) =

slide-24
SLIDE 24

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? get() = uniform(0,1) sample(p) = bernoulli(p) Example:

True False

1632 8368 After 10000 runs… Interface: 
 get() : I
 sample(I) : bool a <- get() b1 <- sample(a) b2 <- sample(a) return (b1 & not(b2))

slide-25
SLIDE 25

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? get() = uniform(0,1) sample(p) = bernoulli(p) Example: Interface: 
 get() : I
 sample(I) : bool a <- get() b1 <- sample(a) b2 <- sample(a) return (b1 & not(b2))

slide-26
SLIDE 26

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? get() = uniform(0,1) sample(p) = bernoulli(p) Example: Interface: 
 get() : I
 sample(I) : bool a <- uniform(0,1) b1 <- bernoulli(a) b2 <- bernoulli(a) return (b1 & not(b2))

slide-27
SLIDE 27

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? Interface: 
 get() : I
 sample(I) : bool a <- uniform(0,1) b1 <- bernoulli(a) b2 <- bernoulli(a) return (b1 & not(b2))

Probability density

a

slide-28
SLIDE 28

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? Interface: 
 get() : I
 sample(I) : bool a <- uniform(0,1) b1 <- bernoulli(a) b2 <- bernoulli(a) return (b1 & not(b2))

a

b1 <- bernoulli( ) a <- beta(1+b1,2-b1) b2 <- bernoulli(a) return (b1 & not(b2))

1 2

beta(2,1) beta(1,2)

Probability density

slide-29
SLIDE 29

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? Interface: 
 get() : I
 sample(I) : bool a <- uniform(0,1) b1 <- bernoulli(a) b2 <- bernoulli(a) return (b1 & not(b2))

a

b1 <- bernoulli( ) b2 <- bernoulli( ) a <- beta(1+b1+b2,3-b1-b2) return (b1 & not(b2))

1 2 1 + 𝚌𝟸 3

beta(2,1) beta(1,2) beta(3,1) beta(1,3) beta(2,2)

Probability density

slide-30
SLIDE 30

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? Interface: 
 get() : I
 sample(I) : bool a <- uniform(0,1) b1 <- bernoulli(a) b2 <- bernoulli(a) return (b1 & not(b2))

a

b1 <- bernoulli( ) b2 <- bernoulli( ) a <- beta(1+b1+b2,3-b1-b2) return (b1 & not(b2))

1 2 1 + 𝚌𝟸 3

beta(2,1) beta(1,2) beta(3,1) beta(1,3) beta(2,2)

Probability density

slide-31
SLIDE 31

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? Interface: 
 get() : I
 sample(I) : bool a <- uniform(0,1) b1 <- bernoulli(a) b2 <- bernoulli(a) return (b1 & not(b2)) b1 <- bernoulli( ) b2 <- bernoulli( ) a <- beta(1+b1+b2,3-b1-b2) return (b1 & not(b2))

1 2 1 + 𝚌𝟸 3

1 2 ⋅ 1 3 = 1 6

Prob(return True) = No integration required!

slide-32
SLIDE 32

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? Another example: Interface: 
 get() : I
 sample(I) : bool a <- get() b1 <- sample(a) b2 <- sample(a) return (b1 & not(b2)) get() = new urn sample(p) = Pólya draw: one out, two in

slide-33
SLIDE 33

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? Interface: 
 get() : I
 sample(I) : bool a <- get() b1 <- sample(a) b2 <- sample(a) return (b1 & not(b2))

get sample sample

  • &not(-)

a b1 b2

slide-34
SLIDE 34

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? Interface: 
 get() : I
 sample(I) : bool a <- get() b2 <- sample(a) b1 <- sample(a) return (b1 & not(b2))

get sample sample

  • &not(-)

a b1 b2

Data flow graph:

slide-35
SLIDE 35

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? Interface: 
 get() : I
 sample(I) : bool a <- get() b1 <- sample(a) b2 <- sample(a) return (b2 & not(b1))

get sample sample

  • &not(-)

a b2 b1

Data flow graph:

slide-36
SLIDE 36

Summary of symmetries

Interface: 
 get() : I
 sample(I) : bool

Invariance under implementation details 
 + data flow symmetries 
 =
 sequence exchangeability (de Finetti)

get() = uniform(0,1) sample(p) = bernoulli(p) Two implementations: get() = new urn sample(p) = Pólya draw: one out, two in

  • a

b b

slide-37
SLIDE 37

Plan of talk:

  • 1. Intuitive illustrations of symmetries in
  • a. random graphs
  • b. beta distributions / Pólya urns
  • 2. Models for
  • a. beta / Pólya urns
  • b. random graphs

Staton, Stein, Yang, Ackerman, Freer, Roy, ICALP 2018.

  • ngoing work with Ackerman, Freer, Roy, Yang.
slide-38
SLIDE 38

Standard model of finite probability

Objects: natural numbers (e.g. Bool=2) Deterministic morphisms: functions Probabilistic morphisms (conditional probabilities):
 stochastic matrices
 i.e. families = prob. distributions on

m → P(n) n

slide-39
SLIDE 39

Standard model of finite probability

Objects/types/sets: natural numbers (e.g. Bool=2) Deterministic morphisms: functions Probabilistic morphisms (conditional probabilities):
 stochastic matrices
 i.e. families = prob. distributions on

m → P(n) n

  • Problem. We can freely extend this to arbitrary sets, but we

cannot work here with 
 etc. p <- uniform p <- beta(2,1)

slide-40
SLIDE 40

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? get() = uniform(0,1) sample(p) = bernoulli(p) Example: Interface: 
 get() : I
 sample(I) : bool a <- get() b1 <- sample(a) b2 <- sample(a) return (b1 & not(b2))

get sample sample

  • &not(-)

a b1 b2

slide-41
SLIDE 41

Measure-based model of probability

Objects: Borel spaces 
 e.g. countable discrete; = Deterministic morphisms: measurable functions. Probabilistic morphisms (conditional probabilities):
 probability kernels 
 
 i.e. measurably-parameterized probability measures. 
 
 Composition is by integration.

(X, ΣX)

I (ℝ, ℬorel) X × ΣY → [0,1]

(

closed under countable unions and complements)

ΣX ⊆ Powerset(X)

slide-42
SLIDE 42

Example 2: Beta / bernoulli

Given an unknown coin, what is the probability of
 heads then tails? get() = new urn sample(p) = Pólya draw: one out, two in Another example: Interface: 
 get() : I
 sample(I) : bool a <- get() b1 <- sample(a) b2 <- sample(a) return (b1 & not(b2))

slide-43
SLIDE 43

Operational model of probability

Objects: syntactic types
 e.g. I, bool … Conditional probabilities:
 programs mod contextual equivalence. 


x: X ⊢ P =ctx Q : Y ∀𝒟 . ⊢ 𝒟[P], 𝒟[Q] : n ⟹ 𝒟[P] = 𝒟[Q] if

slide-44
SLIDE 44

Combinatorial model of probability

Objects/types/sets: indexed sets 
 in particular, for each number , a set .
 e.g. ; Deterministic morphisms: natural families of functions. 
 Yoneda lemma:

X: FinSet → Set n X(n) 2(n) = 2 I(n) = n X(n) = Nat(In → X)

Staton, Stein, Yang, Ackerman, Freer, Roy, ICALP 2018.

Intuition: is a space of urns.

I

(no comparisons of urns)

Nat(I × I → 2) = 2

slide-45
SLIDE 45

Combinatorial model of probability

Objects/types/sets: indexed sets 
 in particular, for each number , a set .
 e.g. ; Deterministic morphisms: natural families of functions. 
 Yoneda lemma: Given , generate by

X: FinSet → Set n X(n) 2(n) = 2 I(n) = n X(n) = Nat(In → X) X: FinSet → Set P(X): FinSet → Set

1

𝚑𝚏𝚞(i,j) P(I)

I

𝚝𝚋𝚗𝚚𝚖𝚏 P(2)

1

𝚌𝚏𝚜𝚘𝚙𝚟𝚖𝚖𝚓(r) P(2)

b <- bernoulli ( ) p <- get( b, b)

i i + j

i+ j + 1− p <- get( , ) b <- sample p i j

=

slide-46
SLIDE 46

Combinatorial model of probability

Given , generate by

X: FinSet → Set n X(n) 2(n) = 2 I(n) = n X(n) = Nat(In → X) X: FinSet → Set P(X): FinSet → Set

1

𝚑𝚏𝚞(i,j) P(I)

I

𝚝𝚋𝚗𝚚𝚖𝚏 P(2)

1

𝚌𝚏𝚜𝚘𝚙𝚟𝚖𝚖𝚓(r) P(2)

b <- bernoulli ( ) p <- get( b, b)

i i + j

i+ j + 1− p <- get( , ) b <- sample p i j

=

Axioms:

  • Conjagacy (*),
  • axioms for finite probability,
  • commutativity and discarding (affine).

Theorem: These axioms are Hilbert-Post complete.

Staton, Stein, Yang, Ackerman, Freer, Roy, ICALP 2018.

slide-47
SLIDE 47

Combinatorial model of probability

Objects/types/sets: indexed sets 
 in particular, for each number , a set .
 e.g. ; Deterministic morphisms: natural families of functions. 
 Yoneda lemma: Probabilistic morphisms (conditional probabilities):
 e.g. 
 = stochastic matrices; = Bernstein polynomials in variables.

X: FinSet → Set n X(n) 2(n) = 2 I(n) = n X(n) = Nat(In → X) n → P(m) In → P(2) n

Staton, Stein, Yang, Ackerman, Freer, Roy, ICALP 2018.

slide-48
SLIDE 48

Three models of beta/bernoulli

Theorem: For program expressions P,Q involving only 
 get and sample, the following are equivalent:

  • 1. P and Q are contextually equivalent.
  • 2. P and Q have the same measure-theoretic semantics as

kernels

.

  • 3. P and Q have the same combinatorial semantics as

natural transformations .

X × ΣY → [0,1] X

. P(Y): FinSet → Set

∀𝒟 . ⊢ 𝒟[P], 𝒟[Q] : n ⟹ 𝒟[P] = 𝒟[Q]

slide-49
SLIDE 49

Plan of talk:

  • 1. Intuitive illustrations of symmetries in
  • a. random graphs
  • b. beta distributions / Pólya urns
  • 2. Models for
  • a. beta / Pólya urns
  • b. random graphs

Staton, Stein, Yang, Ackerman, Freer, Roy, ICALP 2018.

  • ngoing work with Ackerman, Freer, Roy, Yang.
slide-50
SLIDE 50

Building infinite random graphs

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() return (edge(a,b)) get() = uniform Sn edge(p,q) 
 = if d(p,q) < π/2 
 then True else False Example:

slide-51
SLIDE 51

Graphons

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() c <- get() return (edge(a,b) && edge(a,c) 
 && not(edge(b,c)))

building on
 Bubeck, Ding, Eldan, Racz, 2015
 Devroye, György, Lugosi, Udina, 2011

get() = uniform(0,1) edge(p,q)
 = memoizep,q(bernoulli(0.5)) Example:

get get

get

horn?

a b c

slide-52
SLIDE 52

Graphons

Interface: 
 get() : node
 edge(node,node) : bool a <- get() b <- get() c <- get() return (edge(a,b) && edge(a,c) 
 && not(edge(b,c))) get() = uniform(0,1) edge(p,q)
 = memoizep,q(bernoulli(G(p,q)) Example:

get get

get

horn?

a b c

slide-53
SLIDE 53

Graphons

Interface: 
 get() : node
 edge(node,node) : bool get() = uniform(0,1) edge(p,q)
 = memoizep,q(bernoulli(G(p,q)) Example: A graphon is a measurable function 
 .

G : [0,1] × [0,1] → [0,1]

a <- get() b <- get() c <- get() return (edge(a,b) && edge(a,c) 
 && not(edge(b,c)))

Lovász and Szegedy, J. Combin. Theory Ser. B., 2006.

slide-54
SLIDE 54

Graphons

Interface: 
 get() : node
 edge(node,node) : bool get() = uniform(0,1) edge(p,q)
 = memoizep,q(bernoulli(G(p,q)) Example: A graphon is a measurable function 
 .

G : [0,1] × [0,1] → [0,1]

  • Theorem. TFAE for an

implementation:

  • It satisfies data flow

symmetry;

  • It is a graphon

implementation (mod ctx equivalence).

Lovász and Szegedy, J. Combin. Theory Ser. B., 2006.

slide-55
SLIDE 55

Combinatorial model of probability

Objects: indexed sets 
 in particular, for each number , a set .
 e.g. ; Deterministic morphisms: natural families of functions. 
 Yoneda lemma:

X: FinSet → Set n X(n) 2(n) = 2 I(n) = n X(n) = Nat(In → X)

Staton, Stein, Yang, Ackerman, Freer, Roy, ICALP 2018.

Intuition: is a space of urns.

I

(no comparisons of urns)

Nat(I × I → 2) = 2

slide-56
SLIDE 56

Objects: indexed sets 
 in particular, for each graph , a set .
 e.g. ; Deterministic morphisms: natural families of functions. 
 Yoneda lemma:

X: FinGrph → Set g X(g) 2(g) = 2 V(g) = |g| X(g) = Nat(Vg → X)

e.g.
 Johnstone OUP 2002 Pitts CUP 2013 Caramello, arXiv:1301.0300
 Garner, notes 2014 Bojańczyk, Toruńczyk, LICS 2018

(+ sheaf condition)

Rado topos model of probability

slide-57
SLIDE 57

Objects: indexed sets 
 in particular, for each graph , a set .
 e.g. ; Deterministic morphisms: natural families of functions. 
 e.g.: 


X: FinGrph → Set g X(g) 2(g) = 2 V(g) = |g| 𝚏𝚎𝚑𝚏 : V × V → 2 𝚏𝚎𝚑𝚏g : |g| × |g| → 2

Intuition: is the vertex set of the Rado graph.

V

Rado topos model of probability

(+ sheaf condition)

e.g.
 Johnstone OUP 2002 Pitts CUP 2013 Caramello, arXiv:1301.0300
 Garner, notes 2014 Bojańczyk, Toruńczyk, LICS 2018

slide-58
SLIDE 58

Objects: indexed sets 
 in particular, for each graph , a set .
 e.g. ; Deterministic morphisms: natural families of functions. 
 e.g.:

X: FinGrph → Set g X(g) 2(g) = 2 V(g) = g 𝚏𝚎𝚑𝚏 : V × V → 2

Equivalently, 
 Objects/types/sets: continuous actions 
 Deterministic morphisms: equivariant functions.

Aut(Rado) × A → A

Rado topos model of probability

(+ sheaf condition)

e.g.
 Johnstone OUP 2002 Pitts CUP 2013 Caramello, arXiv:1301.0300
 Garner, notes 2014 Bojańczyk, Toruńczyk, LICS 2018

slide-59
SLIDE 59

Given

, generate 
 by

X: FinGph → Set P(X): FinGph → Set

1

𝚑𝚏𝚞W P(V) for each graphon W : [0,1]2 → [0,1]

Rado topos model of probability

m P(n)

for each stochastic matrix

Objects: indexed sets 
 in particular, for each graph , a set .
 e.g. ; Deterministic morphisms: natural families of functions. 
 e.g.:

X: FinGrph → Set g X(g) 2(g) = 2 V(g) = g 𝚏𝚎𝚑𝚏 : V × V → 2

(+ sheaf condition)

e.g.
 Johnstone OUP 2002 Pitts CUP 2013 Caramello, arXiv:1301.0300
 Garner, notes 2014 Bojańczyk, Toruńczyk, LICS 2018

slide-60
SLIDE 60

Proposition: Each graphon induces an internal probability measure, i.e. a countably additive equivariant morphism 
 . Converse?

2V

. [0,1]

Objects: indexed sets 
 in particular, for each graph , a set .
 e.g. ; Deterministic morphisms: natural families of functions. 
 e.g.:

X: FinGrph → Set g X(g) 2(g) = 2 V(g) = g 𝚏𝚎𝚑𝚏 : V × V → 2

Rado topos model of probability

(+ sheaf condition)

e.g.
 Johnstone OUP 2002 Pitts CUP 2013 Caramello, arXiv:1301.0300
 Garner, notes 2014 Bojańczyk, Toruńczyk, LICS 2018

slide-61
SLIDE 61

Objects: indexed sets 
 in particular, for each graph , a set .
 e.g. ;

X: FinGrph → Set g X(g) 2(g) = 2 V(g) = g

Rado topos model of probability

(+ sheaf condition)

Theorem: The following data are equivalent.

  • 1. A graphon
  • 2. An probability measure on satisfying Fubini.

V

Ackerman, Freer, Roy, Staton, Yang, unpublished.

slide-62
SLIDE 62

Objects: indexed sets 
 in particular, for each graph , a set .
 e.g. ;

  • Defn. A probability measure on is

count’ly additive. Measures on are (not product -algebra) Fubini doesn’t always hold but 
 for all , is a morphism.

X: FinGrph → Set g X(g) 2(g) = 2 V(g) = g X 2X

. [0,1]

X × X 2X×X

. [0,1]

σ f : X × Y → ℝ+ y ↦ ∫ f(x, y) μ(dx)

Rado topos model of probability

(+ sheaf condition)

cf ‘one-way Fubini’ in non-standard analysis

Theorem: The following data are equivalent.

  • 1. A graphon
  • 2. An probability measure on satisfying Fubini.

V

Ackerman, Freer, Roy, Staton, Yang, unpublished.

slide-63
SLIDE 63

Rado topos model of probability

Idea for building a model: 
 pick a graphon and use the probability submonad generated by it.

Ackerman, Freer, Roy, Staton, Yang, unpublished.

get get

get

horn?

a b c

Theorem: The following data are equivalent.

  • 1. A graphon
  • 2. An probability measure on satisfying Fubini.

V

slide-64
SLIDE 64

Proof of . General categorical proof:

2 ⟹ 1

Ackerman, Freer, Roy, Staton, Yang, unpublished.

Theorem: The following data are equivalent.

  • 1. A graphon
  • 2. An probability measure on satisfying Fubini.

V

slide-65
SLIDE 65

Proof of . General categorical proof:

2 ⟹ 1

Ackerman, Freer, Roy, Staton, Yang, unpublished.

Theorem: The following data are equivalent.

  • 1. A graphon
  • 2. An probability measure on satisfying Fubini.

V

Consider an extensive category with a strong monad , such that 
 corresponds to stochastic relations.

P Hom(m, P(n))

slide-66
SLIDE 66

Proof of . General categorical proof:

2 ⟹ 1

Ackerman, Freer, Roy, Staton, Yang, unpublished.

Theorem: The following data are equivalent.

  • 1. A graphon
  • 2. An probability measure on satisfying Fubini.

V

Consider an extensive category with a strong monad , such that 
 corresponds to stochastic relations. Let be an internal graph and be a morphism satisfying Fubini.

P Hom(m, P(n)) (V, E : V2 → 2) g : 1 → P(V)

slide-67
SLIDE 67

Proof of . General categorical proof:

2 ⟹ 1

Ackerman, Freer, Roy, Staton, Yang, unpublished.

Theorem: The following data are equivalent.

  • 1. A graphon
  • 2. An probability measure on satisfying Fubini.

V

Consider an extensive category with a strong monad , such that 
 corresponds to stochastic relations. Let be an internal graph and be a morphism satisfying Fubini. Then the finite random graphs 
 form a consistent local graph model.

P Hom(m, P(n)) (V, E : V2 → 2) g : 1 → P(V) 1

gn

P(Vn) En P(2n2)

Lovász and Szegedy, J. Combin. Theory Ser. B., 2006.

slide-68
SLIDE 68

Plan of talk:

  • 1. Intuitive illustrations of symmetries in
  • a. random graphs
  • b. beta distributions / Pólya urns
  • 2. Models for
  • a. beta / Pólya urns


combinatorial model in

  • b. random graphs


graphons as measures in

[FinSet, Set]

Cts(Aut(Rado))

Staton, Stein, Yang, Ackerman, Freer, Roy, ICALP 2018.

  • ngoing work with Ackerman, Freer, Roy, Yang.
slide-69
SLIDE 69

Categorical models of probability 
 with symmetries

What’s next?

  • 1. What about other interfaces, e.g.
  • a. hierarchical graphs?
  • b. higher order functions?
  • 2. What about recovering limiting structures from

finite ones?

  • 3. What is synthetic probability theory?
  • 4. What are the connections with non-standard

approaches?

Jung, Lee, Staton, Yang, Annales Henri Lebesgue, 2020. Jacobs, Staton, CMCS 2020.
 Dahlqvist, Danos, Garnier. CONCUR 2016 Heunen, Kammar, Staton, Yang, LICS 2017 Fritz, Jacobs, Simpson, +++ …