Finding Leading Solutions Leading Solutions Finding � Many AI problems = Constraint optimization problems On- -demand Bound Computation demand Bound Computation On – Diagnosis (state estimation) for Finding Leading Solutions for Finding Leading Solutions – Planning – … to Soft Constraints to Soft Constraints � Practical AI requirement: Robustness ⇒ Generate solutions in best-first order, until halted Martin Sachenbacher and Brian C. Williams – Most likely diagnoses, until failure is found MIT Computer Science and AI Laboratory – Least cost plans, until actions are executable – … September 27, 2004 � Problem: Not known in advance when halted ⇒ Must generate each solution as quickly as possible Example: Full Adder Diagnosis Example: Full Adder Diagnosis Example: Full Adder Diagnosis Example: Full Adder Diagnosis � Variables {u, v, w, y, a1, a2, e1, e2, o1} � And-gates broken with 1% probability � {a1, a2, e1, e2, o1} describe modes of gates � Or-, Xor-gates broken with 5% probability � Probabilistic valuation structure ([0,1], ≤ , *, 1, 0) � Gates are either in good (“G”) or broken (“B”) mode Modeling the Example as Soft CSP Modeling the Example as Soft CSP Leading Solutions for the Example Leading Solutions for the Example a1 w y a2 u v e1 u y � Gate e1 is B (a1=G, a2=G, e1= B , e2=G, o1=G) G 0 0 G 0 0 .99 .99 .95 G 1 0 � Gate o1 is B (a1=G, a2=G, e1=G, e2=G, o1= B ) G 1 1 G 1 1 .99 .99 G 0 1 .95 � Next best diagnosis involves double fault → Stop. B 0 0 B 0 0 .01 .01 B 0 0 .05 B 0 1 B 0 1 .01 .01 B 0 1 .05 B 1 0 B 1 0 .01 .01 B 1 0 .05 B 1 1 B 1 1 .01 .01 .05 B 1 1 o1 v w e2 u G 0 0 .95 G 0 .95 B 0 0 .05 B 0 .05 B 0 1 .05 .05 B 1 B 1 0 .05 .05 B 1 1 1
Heuristic (Bound- -Guided) Search Guided) Search Bucket Tree Heuristic (Bound Bucket Tree � Best-first (A*) search expands node with best , � Scheme for one-by-one variable elimination where is value so far and is heuristic estimate � Each node defines sub-problem with constraints � (Kask Dechter AIJ 01): Compute heuristics using bucket trees and dynamic programming A* Search Tree Bucket Tree Bucket Tree Dynamic Programming Dynamic Programming � Evaluate using dynamic programming � Store constraint at edge to parent Dynamic Programming Dynamic Programming Dynamic Programming Dynamic Programming 2
Bounds from Bucket Trees Bounds from Bucket Trees Bounds from Bucket Trees Bounds from Bucket Trees � Assign in reverse order using the evaluation function: Exact Bound Tree Decomposition Tree Decomposition Compatible Variable Order Compatible Variable Order � Generalization of Bucket Trees � Complete partial order to total order by also ordering variables within groups (Jégou Terrioux AIJ 03) � Eliminate variables in groups (partial order) Bounds from Tree Decompositions Bounds from Tree Decompositions Bounds from Tree Decompositions Bounds from Tree Decompositions � Assign in reverse order using the evaluation function: Exact Bound is the node index such that 3
On- -Demand Bound Computation Demand Bound Computation Preferential Independence On Preferential Independence � If only a few leading solutions are needed, pre- � For any valuation structure: computing becomes inefficient � Sufficient to expand only next best child � Interleave search and dynamic programming to � Sufficient to compute only for next best child compute only as needed (“on-demand”) + = Dynamic Best-First On-demand Programming Search Bounds To exploit, need to know order of children in advance Dual Formulation Dual Formulation Dual Formulation Dual Formulation � Unary soft constraints (functions as variables) � Drop redundant (inter-cluster) equality constraints � Binary hard constraints (equality) � Preserve locality (tree structure) � Compatible order Approximating H Approximating H On- On -Demand Bound Computation Demand Bound Computation � Drop hard (equality) constraints for H � Generate tuples of constraints only as needed � Heuristics becomes equal for all children Generate Next � Order of children known if tuples of f i are sorted Best Tuple � Makes it possible to generate only as needed (Root) Generate Next Best Tuple (Child) 4
Example Example Example Example Example Example Example Example Example Example Example Example 5
Example Example Example Example Example Example Example Example Example Example Example Example 6
Example Example Example Example Best Solution found Experiments Experiments Related Approach Related Approach � Random Max-CSPs, first (best) solution � BTDval algorithm (Terrioux Jégou CP 03) � Depth-first branch-and-bound on tree decompositions � Record tuples for constraints (“structural goods”) Comparison Comparison Future Work Future Work � Evaluate against depth-first branch-and-bound BTDval BFOB – Best-first (A*) search potentially faster � Combine with approximate dynamic programming Single optimal Solutions in Problem Solution Best-first order – Mini-buckets (Dechter Rish UAI 97) � Extend to partial orders O(exp(w)) O(exp(s)) – Semiring-based CSPs (Bistarelli IJCAI 95) Space O(exp(w)) O(exp(w)) Time s = Separator size, w = Tree width (s ≤ w) 7
Finding Leading Solutions Leading Solutions Finding % Solutions Material Time Best 2 nd … … Best 2 nd 3 rd best best best 8
Recommend
More recommend