Bucket Elimination: A Unifying Framework for Probabilistic Inference By: Rina Dechter Presented by: Gal Lavee
Multiplying Tables Often in inference we see the notation: f(A) * g(B) where A and B are sets of variables and f and g are functions (usually probability functions) given as tables of the form: Example: a function f of two variables: A1 and A2 Where ai and ~ai are the possible states of Ai ~a1a1 f(~a1,a2)f(a1,a2)a2 f(~a1,~a2)f(a1,~a2)~a2
Multiplying Tables Multiply the two functions (given as tables) f and g. Where g takes one variable (B1) and f takes two variables (A1,A2) ~a1a1 f(~a1,a2)f(a1,a2)a2 f(~a1,~a2)f(a1,~a2)~a2 ~b1b1 g(~b1)g(b1)
Multiplying Tables ~a1a1b1 f(~a1,a2)*g(b1)f(a1,a2)*g(b1) a2 f(~a1,~a2)*g(b1)f(a1,~a2)*g(b1) ~a2 ~a1a1~b1 f(~a1,a2)*g(~b1)f(a1,a2)*g(~b1) a2 f(~a1,~a2)*g(~b1)f(a1,~a2)*g(~b1) ~a2 The result is a function h, which takes as 3 arguments (the union of the arguments of f and g), A1,A2,B1 The value of the function h(A1,A2,B1) is simply the product f(A1,A2) * g(B1) This function can be expressed as a table with 2^3 entries:
Summing over tables Given a function of multiple variables it is often useful to eliminate variables by summation Summing the function f of variables A1,A2 (given as a table) over the variable A2 yields a new function f1 of just one variable(A1). The new function value is given by f(A1,a2)+f(A1,~a2). This function can be specified as the table: ~a1a1 f(~a1,a2)f(a1,a2)a2 f(~a1,~a2)f(a1,~a2)~a2 ~a1a1 f(~a1,a2)+ f(~a1,~a2) f(a1,a2)+ f(a1,~a2)
Bucket Elimination-Definition Bucket elimination is a unifying algorithmic framework that generalizes dynamic programming to accommodate algorithms for many complex problem-solving and reasoning activities Including: –Belief Assessment –Most Probable Estimation (MPE) –Maximum A posteriori Hypothesis (MAP) –Maximum Expected Utility MEU Uses “buckets”, an organizational device, to mimic the algebraic manipulations involved in each of these problems resulting in an easily expressible algorithmic formulation Each bucket elimination algorithm is associated with a node ordering
The Bucket Elimination Algorithm Mimics algebraic manipulation Partition functions on the graph into “buckets” in backwards relative to the given node order In the bucket of variable Xi we put all functions that mention Xi but do not mention any variable having a higher index e.g. in the bucketG we will place all functions whose scope includes variable G
The Algorithmcntd. Process buckets backwards relative to the node order Processing a bucket amounts to eliminating the variable in the bucket from subsequent computation. The computed function after elimination is placed in the bucket of the ‘highest’ variable in its scope E.g= sum over G is computed and placed in bucket F
Example - Belief Updating/Assessment Definition –Given a set of evidence compute the posterior probability of each proposition –The belief assessment task of X k = x k is to find where k – normalizing constant
Example - Belief Assessment F B C D G Node Ordering: A,C,B,F,D,G
Example - Belief Assessment F B C D G Node Ordering: A,C,B,F,D,G Initial Bucket Partition
Example - Belief Assessment F B C D G Node Ordering: A,C,B,F,D,G Process buckets in reverse order (G)
Example - Belief Assessment F B C D G Node Ordering: A,C,B,F,D,G Process buckets in reverse order (D)
Example - Belief Assessment F B C D G Node Ordering: A,C,B,F,D,G Process buckets in reverse order (F)
Example - Belief Assessment F B C D G Node Ordering: A,C,B,F,D,G Process buckets in reverse order (B)
Example - Belief Assessment F B C D G Node Ordering: A,C,B,F,D,G Process buckets in reverse order (C)
Example - Belief Assessment F B C D G Node Ordering: A,C,B,F,D,G Process buckets in reverse order (A)
Belief Assessment Summary In reverse Node Ordering: –Create bucket function by multiplying all functions (given as tables) containing the current node –Perform variable elimination using Summation over the current node –Place the new created function table) into the appropriate bucket
Most Probable Explanation (MPE) Definition –Given evidence find the maximum probabillity assignment to the remaining variables –The MPE task is to find an assignment x o = (x o 1, …, x o n ) such that
Most Probable Explanation (MPE) Differences from Belief Assessment –Replace Sums With Maxs –Keep track of maximizing value at each stage –“Forward Step” to determine what is the maximizing assignment tuple
Example - MPE F B C D G Node Ordering: A,C,B,F,D,G
Example - MPE F B C D G Node Ordering: A,C,B,F,D,G Initial Bucket Partition (same as belief assessment)
Example - MPE F B C D G Node Ordering: A,C,B,F,D,G Process buckets in reverse order (G)
Example - MPE F B C D G Node Ordering: A,C,B,F,D,G Process buckets in reverse order (D)
Example - MPE F B C D G Node Ordering: A,C,B,F,D,G Process buckets in reverse order (F)
Example - MPE F B C D G Node Ordering: A,C,B,F,D,G Process buckets in reverse order (B)
Example - MPE F B C D G Node Ordering: A,C,B,F,D,G Process buckets in reverse order (C)
Example - MPE F B C D G Node Ordering: A,C,B,F,D,G Process buckets in reverse order (A)
Example - MPE F B C D G Node Ordering: A,C,B,F,D,G Forward Phase: determine maximizing tuple:
MPE Summary In reverse node Ordering –Create bucket function by multiplying all functions (given as tables) containing the current node –Perform variable elimination using the Maximization operation over the current node (recording the maximizing state function) –Place the new created function table) into the appropriate bucket In forward node ordering –Calculate the maximum probability using maximizing state functions
Maximum Aposteriori Hypothesis (MAP) Definition –Given evidence find an assignment to a subset of “hypothesis” variables that maximizes their probability –Given a set of hypothesis variables A = {A 1, …, A k },, the MAP task is to find an assignment a o = (a o 1, …, a o k ) such that
Maximum Aposteriori Hypothesis (MAP) Mixture of Belief Assessment and MPE –Sum over non-hypothesis vars –Max over hypothesis var –Forward phase over hypothesis vars only –Algorithm presented assumes hypothesis vars are at the beginning of the order
Example - MAP F B C D G Node Ordering: A,C,B,F,D,G Hypothesis Nodes: A,B,C
Example - MAP Initial Bucket Partition (Same as Belief Assessment, MPE) F B C D G Node Ordering: A,C,B,F,D,G Hypothesis Nodes: A,B,C
Example - MAP Process buckets in reverse order (G) F B C D G Node Ordering: A,C,B,F,D,G Hypothesis Nodes: A,B,C
Example - MAP Process buckets in reverse order (D) F B C D G Node Ordering: A,C,B,F,D,G Hypothesis Nodes: A,B,C
Example - MAP Process buckets in reverse order (F) F B C D G Node Ordering: A,C,B,F,D,G Hypothesis Nodes: A,B,C
Example - MAP Process buckets in reverse order (B) F B C D G Node Ordering: A,C,B,F,D,G Hypothesis Nodes: A,B,C
Example - MAP Process buckets in reverse order (C) F B C D G Node Ordering: A,C,B,F,D,G Hypothesis Nodes: A,B,C
Example - MAP Process buckets in reverse order (A) F B C D G Node Ordering: A,C,B,F,D,G Hypothesis Nodes: A,B,C
Example - MAP Forward Phase: determine maximizing tuple: F B C D G Node Ordering: A,C,B,F,D,G Hypothesis Nodes: A,B,C
MAP -Summary In reverse node Ordering –Create bucket function by multiplying all functions (given as tables) containing the current node –If is a hypothesis node: Perform variable elimination using the Maximization operation over the current node (recording the maximizing state function) –Else: Perform variable elimination using Summation over the current node (recording the maximizing state function) –Place the new created function (table) into the appropriate bucket In forward node ordering –Calculate the maximum probability using maximizing state functions over hypothesis nodes only
Generalizing Bucket Elimination As we have seen bucket elimination algorithms can be formulated for different problems by simply altering the elimination operation. For some problems we may also want to change the combination operation which we use to combine functions. Elimination OperatorCombination OperatorProblem SummationMultiplicationBelief Assessment MaximizationMultiplicationMPE MultiplicationJoinCSP MinimizationSummationMax-CSP
Thank You