# Object-Oriented Bayesian Networks

arXiv: https://arxiv.org/abs/1302.1554 · HTML: https://mlsanity.com/paper/1302.1554/

## Key facts

- Cited by 7 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 6 Feb 2013.

## Built on by (most cited first, 7 of 7)

- [RecSim NG: Toward Principled Uncertainty Modeling for Recommender Ecosystems](https://mlsanity.com/paper/2103.08057/) (2021)
- [Hierarchical Infinite Relational Model](https://mlsanity.com/paper/2108.07208/) (2021)
- [Grasping Causality for the Explanation of Criticality for Automated Driving](https://mlsanity.com/paper/2210.15375/) (2022)
- [Product safety idioms: a method for building causal Bayesian networks for product safety and risk assessment](https://mlsanity.com/paper/2206.02144/) (2022)
- [Optimal Clustering with Dependent Costs in Bayesian Networks](https://mlsanity.com/paper/2308.03970/) (2023)
- [Causal knowledge engineering: A case study from COVID-19](https://mlsanity.com/paper/2403.14100/) (2024)
- [Compositional Models for Estimating Causal Effects](https://mlsanity.com/paper/2406.17714/) (2024)

## Abstract (arXiv)

Bayesian networks provide a modeling language and associated inference algorithm for stochastic domains. They have been successfully applied in a variety of medium-scale applications. However, when faced with a large complex domain, the task of modeling using Bayesian networks begins to resemble the task of programming using logical circuits. In this paper, we describe an object-oriented Bayesian network (OOBN) language, which allows complex domains to be described in terms of inter-related objects. We use a Bayesian network fragment to describe the probabilistic relations between the attributes of an object. These attributes can themselves be objects, providing a natural framework for encoding part-of hierarchies. Classes are used to provide a reusable probabilistic model which can be applied to multiple similar objects. Classes also support inheritance of model fragments from a class to a subclass, allowing the common aspects of related classes to be defined only once. Our language has clear declarative semantics: an OOBN can be interpreted as a stochastic functional program, so that it uniquely specifies a probabilistic model. We provide an inference algorithm for OOBNs, and show that much of the structural information encoded by an OOBN--particularly the encapsulation of variables within an object and the reuse of model fragments in different contexts--can also be used to speed up the inference process.
