Probabilistic Programming: Past, Present, and Future

News Article Icon

Pfeffer, A. Invited keynote at the 22nd International Conference on Information Fusion (Fusion 2019), Ottawa, Canada (July 2019)  Overview: What is Probabilistic Programming? Probabilistic Programming in Action Probabilistic Programming Inference Algorithms Probabilistic Programming for Long-Lived AI Systems Download Slides For More Information To learn more, contact Avi Pfeffer. (Please include your name, address, organization, and the […]

Structured Factored Inference for Probabilistic Programming

Pfeffer, A., Ruttenberg, B., Kretschmer, W., and O’Connor, A. Presented at the 21st International Conference on Artificial Intelligence and Statistics (AISTATS 2018), Lanzarote, Canary Islands (April 2018) Probabilistic reasoning on complex real-world models is computationally challenging. Inference algorithms have been developed that work well on specific models or on parts of general models, but they […]

Scruff: A Deep Probabilistic Cognitive Architecture

Pfeffer, A. Invited talk at the Association for the Advancement of Artificial Intelligence’s Thirty-Second AAAI Conference on Artificial Intelligence (AAAI-18), New Orleans, LA (February 2018). Probabilistic programming is able to build rich models of systems that combine prior knowledge with the ability to learn from data. One of the reasons for the success of deep […]

Using Reinforcement Learning for Probabilistic Program Inference

Pfeffer, A. Extended abstract for the Probabilistic Program Semantics Workshop associated with the Principles of Programming Languages (POPL) conference, Los Angeles, CA (January 2018). Inference in probabilistic programming often involves choosing between different methods. For example, one could use different algorithms to compute a conditional probability, or one could sample variables in different orders. Researchers […]

Probabilistic Model-Based Programming Techniques for Prediction, Analysis, and Control (PROMPT)

Harrison, S., Takata, G., Wu, C., and Pfeffer, A. Presented at the 15th Annual Conference on Systems Engineering Research Disciplinary Convergence: Implications for Systems Engineering Research, Redondo Beach, CA (March 2017) Model-based systems engineering (MBSE) frameworks such as SysML provide declarative descriptions of the structure, processes, functions, and context of a system. However, these frameworks do not […]

Practical Probabilistic Programming

Pfeffer, A. Practical Probabilistic Programming, Manning Publications, Cherry Hill, NJ (2016) Practical Probabilistic Programming introduces the working programmer to probabilistic programming. In it, you’ll learn how to use the PP paradigm to model application domains and then express those probabilistic models in code. Although PP can seem abstract, in this book you’ll immediately work on practical examples, […]

Reasoning on Resident Space Object Hierarchies Using Probabilistic Programming

Ruttenberg1, B., Wilkins2, M., and Pfeffer1, A. Presented at the International Conference on Information Fusion, Washington, DC (July 2015) Hierarchical representations are common in many artificial intelligence tasks, such as classification of satellites in orbit. Representing and reasoning on hierarchies is difficult, however, as they can be large, deep and constantly evolving. Although probabilistic programming provides […]

Functional Probabilistic Programming

Pfeffer, A. Presented at the Commercial Users of Functional Programming workshop, affiliated with the International Conference on Functional Programming, Boston, MA. (September 2013) Probabilistic modeling is one of the most widely used approaches to machine learning (ML). In recent years, the number and variety of probabilistic models has increased dramatically. Currently, developing a new probabilistic […]

Probabilistic Programming and the Democratization of AI

Ruttenberg, B. Presentation to the New England Artificial Intelligence Group, Cambridge, MA (September 2013) Probabilistic models form the foundation of modern machine learning (ML) and artificial intelligence (AI). However, building and reasoning on models that represent large and complex scenarios is a daunting task for even the most expert and experienced programmers. As a result, […]

Democratizing Machine Learning and Artificial Intelligence: Probabilistic Programming with Scala

Ruttenberg, B. Introduction to Figaro, Presentation to Boston Area Scala Group, Cambridge, MA, (26 February, 2013) Probabilistic models form the foundation of modern ML and AI. However, building and using models that represent large and complex scenarios is a daunting task for even the most expert and experienced programmers. As a result, there has been significant effort […]

Creating and Manipulating Probabilistic Programs with Figaro

Pfeffer, A. Presented at the 2nd International Workshop on Statistical Relational AI, Catalina Island, CA (August 2012). Probabilistic programming languages (PPLs) allow probabilistic models to be represented using the power of programming languages and general-purpose reasoning algorithms to be applied to new applications. This paper presents an approach to probabilistic programming in which the program is represented […]

Probabilistic Programming for Assessment of Capability and Capacity

Pfeffer, A. and Harrison, S. Proceedings of SPIE Defense & Security, Orlando, FL (April 2011) Answering the questions “What can the adversary do?” and “What will the adversary do?” are critical functions of intelligence analysis. These questions require processing many sources of information, which is currently performed manually by analysts, leading to missed opportunities and potential […]

CTPPL: A Continuous Time Probabilistic Programming Language

Pfeffer, A. Proceedings of the Twenty-First International Joint Conference on Artificial Intelligence (IJCAI-09) (2009) Probabilistic programming languages allow a modeler to build probabilistic models using complex data structures with all the power of a programming language. We present CTPPL, an expressive probabilistic programming language for dynamic processes that models processes using continuous time. Time is a […]