Look-Ahead with Mini-Bucket Heuristics for MPE Rina Dechter 1 , Kalev Kask 1 , William Lam 1 , Javier Larrosa 2 1 University of California, Irvine 2 UPC Barcelona Tech
Outline Background Graphical models, MPE, Branch-and-Bound Look-ahead Mini-bucket Heuristic Bucket Error Look-ahead with Bucket Error Experiments Conclusions
Graphical Models and Finding an Optimal Assignment [Marinescu and Dechter 2008] A Primal graph A f 1 A B f 2 A D f 3 A G f 4 B C f 5 B D f 6 B E f 7 B F f 8 C D f 9 C E f 10 0 3 0 0 2 0 0 3 0 0 0 0 0 2 0 0 0 0 0 4 0 0 3 0 0 1 0 0 1 1 2 0 1 0 0 1 0 0 1 3 0 1 0 0 1 1 0 1 2 0 1 2 0 1 4 0 1 0 1 0 1 1 0 0 1 0 2 1 0 0 1 0 2 1 0 1 1 0 1 1 0 0 1 0 0 1 1 4 1 1 1 1 1 0 1 1 2 1 1 4 1 1 0 1 1 0 1 1 0 1 1 2 Approach: Search Pseudo-tree AND/OR search space • Depth-first AND/OR Branch and Bound A A (AOBB) 0 1 • Heuristic: mini-bucket B B B elimination (MBE) + 0 1 0 1 C F variational cost-shifting C C C C F F F F [Ihler et al 2012, 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 D E G . Otten et al 2012] . .
Depth-First Branch and Bound (DFBB) Each node n is a subproblem (defined by current conditioning) g(n)= Variables cost to get to node n f(n) = g(n)+h(n) estimate of overall solution given the h(n)= n conditioning to lower bound of the best node n solution in the sub-tree If f(n) is worse than current best solution , then prune. Explored Solutions 4
Look-Ahead in Search • Given that s 1 ,...,s t are child nodes of s in the search space and w(s,s i ) is the weight of the arc from s to s i , h lh(d) be the d- level lookahead function of s , then h lh(1) (s) = min {s1,…, st} in child(s) {w(s, s i ) + h(s i )} h lh(d) (s) = min {s1,…, st} in child(s) {w(s, s i ) + h lh(d-1) (s i )} • The (1-level) residual : res h (s) = h lh(1) (s) - h(s) • Can be viewed as a search problem over the next d levels h(s) s w(s,s 1 ) w(s,s 2 ) w(s,s t ) … s 1 s 2 s t h(s 1 ) h(s 2 ) h(s t ) • Our focus : Can we cost-effectively improve our heuristic with look-ahead?
Bucket and Mini-Bucket Elimination A F B G A B E C F Bucket Elimination (BE) (Dechter 1999) D C D E G • Solves the min-sum problem by eliminating variables one at a time. • Complexity: exponential in the w* of the underlying primal graph Mini-Bucket Elimination (MBE) (Dechter and Rish 2001) • We can approximate BE by solving a relaxation created by duplicating variables • to bound the w* by a parameter known as the i-bound. A f(A) A f(A) λ B (A) λ B (A) f(A,B) B f(A,B ) B λ C (A,B) λ F (A,B) λ F (A,B) λ C (B) C f(B,C) F f(B,F) f(B,F) C f(B,C) F λ G (A,F) λ D (A,B,C) λ E (B,C) λ D (A) λ D (B,C) λ E (B,C) λ G (A,F) f(A,D) f(B,E) f(A,G) D E G f(B,D) f(B,E) f(A,G) f(B,D) D f(A,D) D E G f(C,E) f(F,G) f(C,D) f(C,D) f(C,E) f(F,G)
Bucket and Mini-Bucket Elimination A F B G A B E C F Bucket Elimination (BE) (Dechter 1999) D C min D [f(A,D) + f(B,D) + f(C,D)] ≥ D E G • Solves the min-sum problem by eliminating variables one at a time. min D [f(A,D)] + min D [f(B,D) + f(C,D)] • Complexity: exponential in the w* of the underlying primal graph Mini-Bucket Elimination (MBE) (Dechter and Rish 2001) λ D (A,B,C ) ≥ λ D (A) + λ D (B,C) • We can approximate BE by solving a relaxation created by duplicating variables • to bound the w* by a parameter known as the i-bound. • Bucket Error Err D (A,B,C) = A f(A) λ D (A,B,C) - ( λ D (A) + λ D (B,C)) A f(A) λ B (A) λ B (A) • Captures the local error of the f(A,B) B bucket. f(A,B ) B λ C (A,B) λ F (A,B) • λ F (A,B) λ C (B) When a bucket is not partitioned, Err is trivially zero. C f(B,C) F f(B,F) f(B,F) C f(B,C) F λ G (A,F) λ D (A,B,C) λ E (B,C) λ D (A) λ D (B,C) λ E (B,C) λ G (A,F) f(A,D) f(B,E) f(A,G) D E G f(B,D) f(B,E) f(A,G) f(B,D) D f(A,D) D E G f(C,E) f(F,G) f(C,D) f(C,D) f(C,E) f(F,G)
Mini-Bucket Errors and the i-bound A f(A) i-bound=3 λ B (A) F f(A,B ) B G A B E λ F (A,B) λ C (B) f(B,F) C F f(B,C) D C λ D (A) λ G (A,F) λ D (B,C) λ E (B,C) Err D (A,B,C) = λ D (A,B,C) – ( λ D (A) + λ D (B,C)) f(B,D) f(B,E) f(A,G) D f(A,D) D E G f(C,D) f(C,E) f(F,G) A f(A) λ B (A) Err D (A,B,C) = λ D (A,B,C) - ( λ D (A) + λ D (B) + λ D (C)) Err E (B,C) = λ E (B,C) - ( λ E (B) + λ E (C)) f(A,B ) B Err G (A,F) = λ G (A,F) - ( λ G (A) + λ G (F)) λ F (B) λ C (B) f(B,F) F C f(B,C) λ D (A) λ D (B) λ D (C) λ E (C) λ E (B) λ G (F) λ G (A) i-bound=2 E f(B,E) G f(F,G) G f(A,G) D f(A,D) D f(B,D) D f(C,D) E f(C,E)
Bucket Error Evaluation (BEE)
Complexity of BEE psw j : the pseudo-width of bucket j is the number of variables in the bucket at the time of processing.
Residual and Bucket Error
Minimal Look-ahead Subtree Look-ahead subtrees from A, by depth A A B A B C F A B C F F D E G B D G G H I H Pseudo-tree: Red nodes are look-ahead relevant Depth 1 Depth 3 Depth 5 (relative error above a certain threshold)
Sample of a part of a pseudotree (pedigree40) X 406 X 629 X 410 depth = 5, threshold = 0
Sample of a part of a pseudotree (pedigree40) X 406 X 629 X 410 X 627 X 834 X 836 X 408 X 833 X 835 depth = 3, threshold = 0
Sample of a part of a pseudotree (pedigree40) X 406 X 629 X 410 X 627 X 834 X 836 X 408 X 833 X 835 depth = 5, threshold = 0
Sample of a part of a pseudotree (pedigree40) X 406 X 629 X 410 X 834 X 408 X 833 d epth ≥ 3, threshold = 9.5
Bucket-Errors: Across i-bounds (pedigree40)
Experiments AOBB on the context-minimal AND/OR graph MBE-MM heuristic with different i-bounds Time limit: 6 hours MBE memory: 4GB Pruned look-ahead trees with BEE Compute error functions based on sampling at most 10 5 entries. (Exact if there are fewer entries.) Error threshold of 0.01.
Experiments Benchmark Statistics
Experiments instance Lookahead time nodes time nodes depth i=5 i=8 none 1262 826K 35 23K 1 912 564K 20 13K pedigree 3 691 311K 12 6K 7 6 300 66K 13 2K i=17 i=18 none 1042 6730K 4349 2809K 7 lf3_11_53 1 8611 4875K 3653 2116K 3 5481 1674K 2750 901K 6 2014 583K 1091 323K 7 8
✏ ✏ ✏ Experiments: Summary over Instances significant
Experiments: Summary over Instances
Conclusion We introduced the notion of bucket error to estimate the accuracy of the MBE heuristic We can make look-ahead cost-effective for MBE heuristics using bucket errors Future work: Applying the techniques described here to best-first search and work towards anytime algorithms that produce lower and upper bounds.
Thanks!
Recommend
More recommend