Probabilistic Programming and Data Structures

  1. Probabilistic Programming Languages and Tools
    1. Universal Probabilistic Programming Languages
      1. Stan
        1. Language Syntax and Structure
          1. Data Block
            1. Parameters Block
              1. Model Block
                1. Generated Quantities Block
                  1. Supported Distributions
                    1. Inference Algorithms
                      1. HMC Implementation
                        1. NUTS Implementation
                          1. Variational Inference
                          2. Diagnostics and Output Analysis
                          3. PyMC
                            1. Python Integration
                              1. Model Specification API
                                1. Distribution Library
                                  1. Sampling Interface
                                    1. Inference Backends
                                      1. Visualization Tools
                                      2. Pyro
                                        1. PyTorch Integration
                                          1. Stochastic Functions
                                            1. Effect Handlers
                                              1. Inference Algorithms
                                                1. SVI Implementation
                                                  1. MCMC Implementation
                                                  2. Neural Network Integration
                                                  3. Turing.jl
                                                    1. Julia Language Features
                                                      1. Probabilistic Programming Macros
                                                        1. Inference Engine Architecture
                                                          1. Automatic Differentiation
                                                            1. Parallel Sampling
                                                            2. Edward/TensorFlow Probability
                                                              1. TensorFlow Integration
                                                                1. Probabilistic Layers
                                                                  1. Bijector Transformations
                                                                    1. Variational Inference Tools
                                                                  2. Domain-Specific Languages
                                                                    1. BUGS Family
                                                                      1. WinBUGS
                                                                        1. OpenBUGS
                                                                          1. JAGS
                                                                          2. Specialized Applications
                                                                            1. Infer.NET
                                                                              1. Anglican
                                                                                1. WebPPL
                                                                              2. Language Design Principles
                                                                                1. Expressiveness vs Efficiency
                                                                                  1. Automatic vs Manual Inference
                                                                                    1. Static vs Dynamic Typing
                                                                                      1. Integration with Host Languages