Example: Bioinformatics Example: Bioinformatics � RNA is single-strand molecule, composed of A,U,G,C Soft Constraint Processing Soft Constraint Processing � Function of RNA depends on structure (3-D folding) � Structure induced by base pairing : Watson-Crick (A-U, 16.412J/6.834J Cognitive Robotics G-C) and Wobble (G-U). � Problem: Find RNA structure Martin Sachenbacher that maximizes base pairings. (Using material from Thomas Schiex) � Cumbersome to frame as Optimal CSP! Overview Overview From Optimal CSP to Soft CSP From Optimal CSP to Soft CSP � Optimal CSP: Minimize function f(y), s.t. constraints � Soft Constraints Framework C(x) are satisfiable . � Algorithms: Search (Branch-and-Bound) � Algorithms: Inference (Dynamic Programming) Utility Function Constraint � Applications: Frequency Assignment Problems From Optimal CSP to Soft CSP Notation From Optimal CSP to Soft CSP Notation � Soft CSP: Extend the notion of constraints to � A - tuple is a sequence of objects . include preferences . � The -th component of a tuple is denoted . � The projection of a tuple on a subset of its Soft Constraint components is denoted . � The cartesian product of sets , denoted , is the set of all -tuples such that . 1
Classical CSP Classical CSP Valued CSP Valued CSP � For each constraint/tuple : a valuation that reflects A constraint network preference (e.g. cost, weight, priority, probability, …). � set of variables � The valuation of an assignment is the combination � set of domains of the valuations expressed by each constraint using � set of constraints a binary operator (with special axioms). � Assignments can be compared using a total order A constraint is a relation on valuations. on variables with arity . � The problem is to produce an assignment of minimum valuation . A complete assignment is allowed if . Formally: Valuation Structure Formally: Valuation Structure Valued CSP Valued CSP A constraint network � set of variables = set of valuations , used to assess assignments � set of domains � = minimum element of , corresponds to totally � set of constraints � consistent assignments � valuation structure = maximum element of , corresponds to totally � inconsistent assignments A constraint is a function = total order on E, used to compare two valuations mapping tuples over to valuations. � = operator used to combine two valuations � The valuation of a complete assignment is . Required Properties Instances of the Framework Required Properties Instances of the Framework (Commutativity) � � Classical (Associativity) Weighted � (Monotonicity) Probabilistic Fuzzy � (Neutral element) � (Annihilator) Exercise: Justify properties. Many others in the literature. 2
From Valued CSP to Optimal CSP From Valued CSP to Optimal CSP From Valued CSP to Optimal CSP From Valued CSP to Optimal CSP � Introduce decision variable for each constraint � Introduce decision variable for each constraint � Its values correspond to different valuations � Its values correspond to different valuations From Valued CSP to Optimal CSP From Valued CSP to Optimal CSP Overview Overview � Introduce decision variable for each constraint � Soft Constraints Framework � Its values correspond to different valuations � Algorithms: Search (Branch-and-Bound) � Utility function maps values to valuations � Algorithms: Inference (Dynamic Programming) � Constraints become relations � Applications: Frequency Assignment Problems Multiattribute utility function Branch- -and and- -Bound Search Bound Search Branch- -and and- -Bound Algorithm Bound Algorithm Branch Branch � Function ( : assignment, : value): value � Each search node is a soft constraint subproblem if then � Lower Bound (lb): if then return Optimistic estimate of let be an unassigned variable best solution in subtree for each do � Upper Bound (ub): Best solution found so far return � Prune, if lb ≥ ub . return Time: O(exp(n)) Space: O(n) 3
Lower Bound Procedure Lower Bound Procedure Distance Lower Bound Distance Lower Bound Must be: � At each node, let be the set of constraints all of whose variables have been assigned. � Strong : the closest to the real value, the better. � Efficient : as easy to compute as possible. � Use the bound Creates a trade-off . Choice is often a matter of � Problem: often weak , as it takes into account only compromises and experimental evaluation. past variables . Improvement: Russian Doll Search Improvement: Russian Doll Search Russian Doll Search Russian Doll Search � Idea: we can add the value of � [Lemaitre Verfaillie Schiex 96]: Experiments with X 1 the optimal solution to the Earth Observation Satellite Scheduling Problems subproblem over future (maximization problem). variables to distance lower X 2 � Example: 105 variables, 403 constraints. bound, and get a stronger � Branch-and-Bound with distance lower bound: lower bound. Aborted after 30 min , best solution so far = 8095 . X 3 � Must solve subproblem over � Russian Doll Search: Optimal solution = 9096 found future variables beforehand . in 2.5 sec . X 4 � Yields recursive procedure that solves increasingly large X 5 subproblems. Overview Inference Overview Inference � Inference produces new constraints that are implied � Soft Constraints Framework by the problem. � Algorithms: Search (Branch-and-Bound) � Makes problem more explicit , easier to solve. � Algorithms: Inference (Dynamic Programming) � Operations on constraints: combination and � Applications: Frequency Assignment Problems projection . VCSP VCSP’ Equivalent, simpler to solve 4
Combination Combination Combination Combination is constraint on s.t. is constraint on s.t. � � Projection Projection Inferring Solutions Inferring Solutions is a constraint on s.t. � Constraint network � � Value of optimal solution obtained by combining all constraints and eliminating all variables : � Problem: Very costly : Time O(exp(n)), Space O(exp(n). Improvement: Bucket Elimination Induced Graph Improvement: Bucket Elimination Induced Graph Idea: Eliminate variable as soon as it no longer � When processing a node (variable), connect all neighboring nodes not yet processed. occurs in remaining set of constraints. � For variable , let � Compute combination of all constraints in � Now eliminate from : � Remove from and add to . Induced Graph Graph 5
Bucket Elimination: Complexity Bucket Elimination: Complexity Impact of Variable Ordering Impact of Variable Ordering Let width be the maximum number of successors in the Width: 4 Width: 2 Width: 2 induced graph. Then: � Time dominated by computation of largest : O(exp(width+1)) � Space dominated by storage of largest : O(exp(width)) Finding ordering with minimal width is NP-hard. Min- Min -Fill Ordering Heuristic Fill Ordering Heuristic Example Example � Function ( : Graph with edges and Full Adder Circuit nodes ): Order for to let be a node in with minimal number of edges required to connect its neighbors put in position of order Full Adder Circuit Hyper- Often finds good orderings in practice. Graph Example Tree Decomposition Example Tree Decomposition MF Computational Scheme A tree decomposition for a problem is a Order (“Bucket Tree”) triple , where is a rooted tree, and are labeling functions associating with each node two sets such that: � For each , there is exactly one such that . For this , ( covering condition ); � For each , the set of vertices labeled with induces a connected subtree of ( connectedness condition ). 6
Example Example Overview Overview Tree Decomposition � Soft Constraints Framework χ λ � Algorithms: Search (Branch-and-Bound) � Algorithms: Inference (Dynamic Programming) � Applications: Frequency Assignment Problems Time: O(exp(max i | χ i |)) Space: O(exp(max i,j | χ i - χ j |)) Frequency Assignment Frequency Assignment Frequency Assignment Frequency Assignment Site A Site B Site A Site B Frequency Assignment Frequency Assignment Frequency Assignment Frequency Assignment Link Link Site A Site B Site A Site B 7
Frequency Assignment Frequency Assignment Frequency Assignment Frequency Assignment � Several instances available from CELAR (200 to 916 variables, 1200 to 5000 constraints, domain size >30) � These are very hard instances of valued CSPs. � Good results reported for dynamic programming. Link Site A Site B RNA Structure Example RNA Structure Example Example Example Bucket Tree Tree Decomposition Example Dynamic Programming Tree Decomposition Example Dynamic Programming � Inference on the tree: dynamic programming Hypergraph Tree Tree Decomposition Decomposition 8
Recommend
More recommend