Inference by Factor Elimination
Adnan Y. Darwiche · Cambridge University Press eBooks · 2009
We present in this chapter a variation on the variable elimination algorithm, known as the jointree algorithm , which can be understood in terms of factor elimination. This algorithm improves on the complexity of variable elimination when answering multiple queries. It also forms the basis for a class of approximate inference algorithms that we discuss in Chapter 14. Introduction Consider a Bayesian network and suppose that our goal is to compute the posterior marginal for each of its n variables. Given an elimination order of width w , we can compute a single marginal using variable elimination in O ( n exp( w )) time and space, as we explained in Chapter 6. To compute all these marginals, we can then run variable elimination O ( n ) times, leading to a total complexity of O ( n 2 exp( w )). For large networks, the n 2 factor can be problematic even when the treewidth is small. The good news is that we can avoid this complexity and compute marginals for all networks variables in only O ( n exp( w )) time and space. This can be done using a more refined algorithm known as the jointree algorithm , which is the main subject of this chapter. The jointree algorithm will also compute the posterior marginals for other sets of variables, including all network families, where a family consists of a variable and its parents in the Bayesian network. Family marginals are especially important for sensitivity analysis, as discussed in Chapter 16, and for learning Bayesian networks, as discussed in Chapters 17 and 18.