harnessing probabilistic programming for network problems€¦ · probabilistic programming model +...
TRANSCRIPT
![Page 1: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/1.jpg)
Harnessing Probabilistic Programming for
Network Problems
Alexander Vandenbroucke
![Page 2: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/2.jpg)
What do I work on?
2
Programming Languages: Practice and Theory
![Page 3: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/3.jpg)
What do I work on?
3
functional programming
probabilistic programming
Tabling-monad in Haskell
P NK: Functional Probabilistic NetKATλω
logic programmingTabling with sound answer-subsumption
![Page 4: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/4.jpg)
What do I work on?
4
functional programming
probabilistic programming
Tabling-monad in Haskell
P NK: Functional Probabilistic NetKATλω
logic programmingTabling with sound answer-subsumption
![Page 5: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/5.jpg)
P NKλωNetwork hardware is expensive
Andnetwork protocols are hard to get right
Mistakes are expensivesecurity breaches, downtime, …
5
![Page 6: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/6.jpg)
6
P NKλω
Can we model and predict the behaviour of networks in software?
Including probabilistic behaviour?
![Page 7: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/7.jpg)
7
P NKλωWe can, but it’s a pain with existing languages.
in = SW !<- 0; PT !<- 0;
t = ( (SW !== 0; PT !== 0); SW !<- 0; PT !<- 0 & (SW !== 0; PT !== 1); SW !<- 1; PT !<- 0 & (SW !== 0; PT !== 2); SW !<- 2; PT !<- 0 & (SW !== 0; PT !== 4); SW !<- 4; PT !<- 0 & …
high-level network
low-level programming
NetKAT
![Page 8: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/8.jpg)
8
P NKλωWe can, but it’s a pain with existing languages.
Challenges: theoretical and practicalside-effects probabilities higher-order functions
implementationlanguage-design
Solution: apply programming language techniqueslambda-abstraction
![Page 9: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/9.jpg)
Overview
I. Probabilistic Programming II. NetKAT III. P NK IV. Conclusions
λω
9
![Page 10: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/10.jpg)
Part I: Probabilistic Programming
10
A New Paradigm
![Page 11: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/11.jpg)
Probabilistic Programming
MODEL + INFERENCE
11
Pose Reconstruction, Information Retrieval, Genetics, Seismographic Data
use real-world data
![Page 12: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/12.jpg)
Probabilistic Programming
12
domain expert
statistician
programmer
Model
Inference Algorithm
Inference Program
Domain
![Page 13: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/13.jpg)
Probabilistic Programming
goal: make probabilistic inference easier,more reusable, less error prone, …
PPL = MODEL + REUSABLE INFERENCE
13
.. by cutting out the middle mendomain expert statistician programmer
![Page 14: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/14.jpg)
TerminologyStatistical Processes
throwing dice, tossing coins, assigning seat numbers, temperature, …
Events1… 6 eyes; heads or tails, a seat assignment, a temperature, …
Probability Distributionℙ : (S ⊆ Events) → [0,1]
ℙ(heads) = 0.5 ℙ(tails) = 0.5
14
![Page 15: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/15.jpg)
Discrete vs. Continous
events
prob
abilit
ies
events
prob
abilit
ies
individual events have weight no individual events have weight, but sets do!
15
![Page 16: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/16.jpg)
Warm Up
data Coin = H | T
coin !:: Double !-> Dist Coin
> run (coin 0.5) T ====================.................... 50% H ====================.................... 50%
16
![Page 17: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/17.jpg)
Warm Updata Coin = H | T coin !:: Double !-> Dist Coin
twoCoins !:: Dist (Coin,Coin) twoCoins = do x !<- coin 0.5 y !<- coin 0.4 return (x,y)
17
has type
Double
has typeDist Double
![Page 18: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/18.jpg)
Warm Updata Coin = H | T coin !:: Double !-> Dist Coin
twoCoins !:: Dist (Coin,Coin) twoCoins = do x !<- coin 0.5 y !<- coin 0.4 return (x,y)
> run twoCoins (T,T) ============............................ 30.0% (T,H) ========................................ 20.0% (H,T) ============............................ 30.0% (H,H) ========................................ 20.0%
18
has type
Double has typeDist (Double,Double)
![Page 19: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/19.jpg)
Warm Updata Coin = H | T coin !:: Double !-> Dist Coin
twoHeads !:: Dist Bool twoHeads = do (x,y) !<- twoCoins return (x !== H !|| y !== H)
> run twoHeads True ============================............ 70.0% False ============............................ 30.0%
19
has type Boolhas type
Dist Bool
![Page 20: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/20.jpg)
Discrete Exampletrail !:: Double !-> Int !-> Dist Int trail p n = do outcomes !<- replicateM n (coin p) let count x = length . filter (!== x) return (count H outcomes)
> run (trail 0.5 4) 4 ===..................................... 6.25% 3 ==========.............................. 25.0% 2 ===============......................... 37.5% 1 ==========.............................. 25.0% 0 ===..................................... 6.25%
20
has type
[Coin]has type
Coin !-> [Coin] !-> Int
![Page 21: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/21.jpg)
Continuous Example1
0 1
x !<~ uniform(0,1) y !<~ uniform(0,1) if sqrt(x*x + y*y) !<= 1: return 1 else: return 0
Hakaru
21
![Page 22: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/22.jpg)
1
0 1
Continuous Example
Hakaru
x !<~ uniform(0,1) y !<~ uniform(0,1) if sqrt(x*x + y*y) !<= 1: return 1 else: return 0
22
![Page 23: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/23.jpg)
1
0 1
Continuous Examplex !<~ uniform(0,1) y !<~ uniform(0,1) if sqrt(x*x + y*y) !<= 1: return 1 else: return 0
Hakaru
E =1N ∑ =
1N ∑ ≈
π4
23
![Page 24: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/24.jpg)
Linear Interpolationa !<~ normal(0,3) b !<~ normal(0,3) line = fn x real: a * x + b
What is (a,b) given the data?
X 1 2 3 4 5Y 2.5 3.8 4.5 6.2 8.0
24
y = ax + b
xs = [1,2,3,4,5]
fuzzy_ys !<~ plate i of 5: normal(line(xs[i]),0.5)
return(fuzzy_ys,(a,b))
![Page 25: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/25.jpg)
ApplicationsStan, MonadBayes, Pyro, Anglican, Hakaru, Edward, ProbLog, Turing, …
Pose Reconstruction, Information Retrieval, Genetics, Seismographic Data (for the military)
Languages
Applications
AlgorithmsMH, SMC, HMC,…. these are hard
let’s take a step back
25
![Page 26: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/26.jpg)
Part II: NetKAT
26
The Network Strikes Back
![Page 27: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/27.jpg)
Overview
I. Probabilistic Programming II. NetKAT III. P NK IV. Conclusions
λω
27
![Page 28: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/28.jpg)
Network Modelling
Network hardware is expensive
Andnetwork protocols are hard to get right
Mistakes are expensivesecurity breaches, downtime, …
28
predict in software
![Page 29: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/29.jpg)
Example
1 2
(SW = 1; SW !<- 2) & (SW = 2; SW !<- 1)
if node 1 send to node 2 if node 2 send to
node 1
29
Carolyn Jane Anderson, Nate Foster, Arjun Guha, Jean-Baptiste Jeannin, Dexter Kozen, Cole Schlesinger, David Walker:NetKAT: semantic foundations for networks. POPL 2014: 113-126
![Page 30: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/30.jpg)
Packet Trace Transformer
Sets of Packet Traces
Sets of Packet Traces
IN OUTNetKAT
30
![Page 31: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/31.jpg)
Notation
31
{[(SW: 1, PT: 2),(SW: 1, PT: 3)]}packet packet
traceset
![Page 32: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/32.jpg)
Guards
{[(SW: 1)],[(SW: 2)]}SW = 1
{[(SW: 1)]}
skipSS
drop∅S
32
![Page 33: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/33.jpg)
Modification
{[(SW: 1, PT: 1)]}PT !<- 2
{[(SW: 1,PT: 2)]}
{[(SW: 1),(SW: 1)]}SW !<- 2
{[(SW: 2),(SW: 1)]}
33
{[(SW: 1)],[(SW: 2)]}SW !<- 2
{[(SW: 2)]}
![Page 34: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/34.jpg)
Duplication
{[(SW: 1)]}dup
{[(SW: 1),(SW: 1)]}
34
![Page 35: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/35.jpg)
Sequence
{[(SW: 1)],[(SW: 3)]}
SW = 1; SW !<- 2
{[(SW: 2)}
35
{[(SW: 1)], [(SW: 3)]} {[(SW: 1)}
SW = 1{[(SW: 2)}
SW !<- 2
![Page 36: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/36.jpg)
Parallel
{[(SW: 1)], [(SW: 2)]}
SW = 1 & SW = 2
{[(SW: 1)], [(SW: 2)]}
36
{[(SW: 1)], [(SW: 2)]}
SW = 1 {[(SW: 1)]}
SW = 2 {[(SW: 1)]}
∪ = {[(SW: 1)], [(SW: 2)]}
![Page 37: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/37.jpg)
{[(SW: 1)]}(SW = 1; SW !<- 2) & (SW = 2; SW !<- 1)
{[(SW: 2)]}
37
Parallel (cont.)
![Page 38: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/38.jpg)
Iteration
{[(SW: 1)]}
( SW = 1; SW !<- 2 & SW = 2; SW !<- 3)*
{[(SW: 1)], [(SW: 2)], [(SW: 3)]}
38
e* = skip & (e*;e)
![Page 39: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/39.jpg)
NetKAT = Net + KAT
KAT = Kleene Algebra + Testsame Kleene as regular expressions
39
![Page 40: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/40.jpg)
NetKAT = Net + KAT
KAT = Kleene Algebra + Test
logic theory ( Hoare logic)⊇
Kleene theorem: automata
make proofs
verification by simulatione.g. termination = no routing loops
compilation to routing tablesSDN
40
![Page 41: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/41.jpg)
Probabilistic NetKAT
sets of packet traces
distributions of sets of
packet traces
IN OUTProbabilisticNetKAT
41
![Page 42: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/42.jpg)
Choice
{[(SW: 1)], [(SW: 2)]}
SW = 1 <0.4> SW = 2
0.4:{[(SW: 1)]} 0.6:{[(SW: 2)]}
42
![Page 43: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/43.jpg)
& is not idempotent
{[(SW: 1)], [(SW: 2)]}
0.25:{[(SW: 1)]} 0.25:{[(SW: 2)]} 0.5 :{[(SW: 1)], [(SW: 2)]}
(SW = 1 <0.5> SW = 2) &(SW = 1 <0.5> SW = 2)
43
{[(SW: 1)], [(SW: 2)]}
0.5:{[(SW: 1)]} 0.5:{[(SW: 2)]}
SW = 1 <0.5> SW = 2
![Page 44: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/44.jpg)
Prob. NetKAT Net + KAT≠logic theory Hoare logic⊇
Kleene theorem: automata
make proofs
verification by simulation
What can we do?approximation by iteration
verification by exact probabilistic inference
(without dup)
approximate probabilities
discrete distribution
44
compilation to routing tables
decidable equivalence
![Page 45: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/45.jpg)
Why?faults and failurese.g. probability of delivery
traffic approximatione.g. expected latency
probabilistic protocolse.g. correct routing
45
![Page 46: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/46.jpg)
Example
1 2
10 % packet loss(SW = 1; SW !<- 2 <0.9> drop) & (SW = 2; SW !<- 1 <0.9> drop)
if node 1 send to node 2
90%
or drop packet
10%
if node 2 send to node 1
or drop packet
90% 10%
46
Nate Foster, Dexter Kozen, Konstantinos Mamouras, Mark Reitblatt, Alexandra Silva: Probabilistic NetKAT. ESOP 2016: 282-309
![Page 47: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/47.jpg)
1 2
Functions
47
forward = src. dst.SW = src; SW !<- dst <0.9> dropλ λ(SW = 1; SW !<- 2 <0.9> drop) & (SW = 2; SW !<- 1 <0.9> drop)
10 % packet loss
![Page 48: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/48.jpg)
1 2
Functions
48
forward = src. dst.SW = src; SW !<- dst <0.9> dropλ λforward 1 2 & forward 2 1
10 % packet loss
![Page 49: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/49.jpg)
Functions
1 2
49
3
10 % packet loss
(SW = 1; SW !<- 2 <0.9> drop) & (SW = 2; SW !<- 3 <0.9> drop) & (SW = 3; SW !<- 1 <0.9> drop)
![Page 50: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/50.jpg)
Functions
1 2
50
forward 1 2 & forward 2 3 & forward 3 1
3
10 % packet loss
![Page 51: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/51.jpg)
Part III: PλωNK
51
Return of the Lambda
![Page 52: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/52.jpg)
Overview
I. Probabilistic Programming II. NetKAT III. P NK IV. Conclusions
λω
52
![Page 53: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/53.jpg)
(λx.SW = 1) (SW !<- 1)
Challenge I: Functions & Side-effects
53
test if SW is 1 set SW to 1
![Page 54: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/54.jpg)
Challenge I: Functions & Side-effects
54
(λx.SW = 1) (SW !<- 1)
{[(SW: 0)]} ∅
Call-By-Name
(λx.SW = 1) (SW !<- 1)
{[(SW: 0)]} {[(SW:1)]}
Call-By-Value
![Page 55: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/55.jpg)
(λx.SW = 1) (SW !<- 1)
Challenge I: Functions & Side-effects
55
{[(SW: 0)]} ∅
(λx.SW = 1) (SW !<- 1)
{[(SW: 0)]} {[(SW:1)]}
Call-By-Name
Call-By-Value
![Page 56: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/56.jpg)
(λx.SW = 1) (λx.SW !<- 1)
Solution I: Fine-Grained Call-By-Value
56
{[(SW: 0)]}
Call-By-Name
SW !<- 1 to y.(λx.SW = 1) y{[(SW: 0)]} {[(SW:1)]}
Call-By-Value
Paul Blain Levy. 2001. Call-by-push-value. Ph.D. Dissertation. Queen Mary University of London, UK.
∅
![Page 57: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/57.jpg)
Challenge II: Higher-order Functions
57
(λf.f 1) <0.5> (λf.f 2){[(SW:0)]} 0.5:{
(g,[(SW:0)]) } 0.5:{ (h,[(SW:0)]) }
where f and g are higher-order functions
![Page 58: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/58.jpg)
Challenge II: Higher-order Functions
58
0.5:{ (f,[(SW:0)]) } 0.5:{ (g,[(SW:0)]) }
a probability distribution over higher-order functions… a continuous distribution
Measure Theory
![Page 59: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/59.jpg)
Solution II: QBS
59
Measure Theorynot cartesian-closed
Quasi-Borel Spacesare cartesian-closed
… but the maths are considerably more complicated
Chris Heunen, Ohad Kammar, Sam Staton, and Hangseok Yang. 2017. A convenient category for higher-order probability theory. In LICS. IEE Computer Society, 1-12
Mathijs Vákár, Ohad Kammar, and Sam Staton. 2019. A domain theory for statistical probabilistic programming PACMPL 3, POPL (2019), 36:1-36:29
brand new!
![Page 60: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/60.jpg)
Challenge III: Compilation
60
P NKλω Prob. NetKAT
TerminalProgram
reduction erasure
compilation
⇒
⇓
![Page 61: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/61.jpg)
Challenge III: Compilation
61
f.( x.f (x x) ( x.f (x x)))λ λ λ ?
( x.SW = 1) & ( x.SW = 2)λ λ ?
non-termination
unsoundness
⇓⇓
![Page 62: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/62.jpg)
Solution III: Typing
62
G !|- E : T
context expression type
![Page 63: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/63.jpg)
Solution III: Typing
63
G !|- E : T
simple types
is ill-typedf.( x.f (x x) ( x.f (x x)))λ λ λ
strong normalisation = termination
not Turing-complete … but this is a modelling language
![Page 64: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/64.jpg)
Solution III: Typing
64
G !|- E : T
if G !|- A : unit and G !|- B : unit then G !|- A & B : unit
( x.SW = 1) & ( x.SW = 2)λ λ is ill-typed
A & B can only produce unit values … like NetKAT
parallel type
![Page 65: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/65.jpg)
> In the paper: > background, > denotational semantics> compilation procedure
(partially mechanised in Abella)
65
![Page 66: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/66.jpg)
66
> On bitbucket> prototype
implementation, > examples> Abella proof scripts
![Page 67: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/67.jpg)
Conclusions
67
![Page 68: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/68.jpg)
Overview
I. Probabilistic Programming II. NetKAT III. P NK IV. Conclusions
λω
68
![Page 69: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/69.jpg)
Conclusions
69
• Networks are difficult to predict
• model them in a software language
• modelling-language design is challenging
• language and software engineering require a good grasp oftheoretical and practical concepts
![Page 70: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/70.jpg)
Thank You for Listening!
70
![Page 71: Harnessing Probabilistic Programming for Network Problems€¦ · Probabilistic Programming MODEL + INFERENCE 11 Pose Reconstruction, Information Retrieval, Genetics,](https://reader034.vdocuments.mx/reader034/viewer/2022050313/5f75c3f3d403be1aa65b2905/html5/thumbnails/71.jpg)
71
λquestion. dst "<- answer question <0.1> panic panic = drop*