1
play

1 Example: Full Adder Diagnosis Inferring Solutions Example: Full - PDF document

Overview Overview Soft Constraints Framework Characterizing Structure in Soft Constraints Diagnosis using Bounded Search Diagnosis using Bounded Search Exploiting Structure in Soft Constraints and Symbolic Inference and Symbolic


  1. Overview Overview � Soft Constraints Framework � Characterizing Structure in Soft Constraints Diagnosis using Bounded Search Diagnosis using Bounded Search � Exploiting Structure in Soft Constraints and Symbolic Inference and Symbolic Inference – Set-based Search – Decomposition-based Search – Hybrids Martin Sachenbacher and Brian C. Williams MIT CSAIL Overview Overview Example: Full Adder Diagnosis Example: Full Adder Diagnosis � Soft Constraints Framework � Variables � Characterizing Structure in Soft Constraints describe modes of gates � � Exploiting Structure in Soft Constraints � Gates are either in good ( ) or broken ( ) mode – Set-based Search – Decomposition-based Search – Hybrids Valued CSP Valued CSP Example: Full Adder Diagnosis Example: Full Adder Diagnosis A constraint network � AND-gates broken with 1% probability � set of variables � OR-, XOR-gates broken with 5% probability � set of domains � Probabilistic valuation structure � set of constraints � valuation structure A constraint is a function mapping assignments over to valuations in . The complete valuation of an assignment is . 1

  2. Example: Full Adder Diagnosis Inferring Solutions Example: Full Adder Diagnosis Inferring Solutions � Model gates as soft constraints � Constraint network � Value of optimal solution obtained by combining the constraints: Gate is good Time: O(exp(n)) Space: O(exp(n)) Gate is broken Branch- Branch -and and- -Bound Search Bound Search Overview Overview � Soft Constraints Framework Time: O(exp(n)) � Each search node is a soft � Characterizing Structure in Soft Constraints Space: O(n) constraint subproblem � Exploiting Structure in Soft Constraints � Lower Bound (lb): – Set-based Search Optimistic estimate of – Decomposition-based Search best solution in subtree – Hybrids � Upper Bound (ub): Best solution found so far � Prune, if lb ≥ ub . Structure in Soft Constraints Structure in Soft Constraints Strong Independence Strong Independence � Structure can be characterized as independence � Support properties of functions . � “Strong” independence: Function independent of all assignments to some variables . � “Weak” independence: Function independent of some assignments to some variables . Weak Subset of variables that Strong function depends upon. 2

  3. Strong Independence Strong Independence Strong Independence Strong Independence Hypergraph Weak Independence Weak Independence Weak Independence Weak Independence � E.g. for constraint : if , then value is regardless of and Sharing of common subassignments. Weak Independence Weak Independence Overview Overview � Soft Constraints Framework � Characterizing Structure in Soft Constraints � Exploiting Structure in Soft Constraints – Decomposition-based Search – Set-based Search – Hybrids Algebraic Decision Diagram 3

  4. Exploiting Strong Independence Tree Decomposition Exploiting Strong Independence Tree Decomposition � Principle: Strong independence allows to decompose the problem into subproblems with Subproblems smaller sets of variables. Tree Decomposition Tree Decomposition BnB with Tree Decomposition BnB with Tree Decomposition � Algorithm BTD (Terrioux and Jégou CP-03) � Record solutions for subproblems (“structural goods”) Variables Constraints χ λ BnB with Tree Decomposition BnB with Tree Decomposition EO EO- -1 Model: Constraint Graph 1 Model: Constraint Graph � Algorithm BTD (Terrioux and Jégou CP-03) � Record solutions for subproblems (“structural goods”) Time: O(exp(max i | χ i |)) Space: O(exp(max i,j | χ i - χ j |)) 4

  5. EO- -1 Model: Tree Decomposition 1 Model: Tree Decomposition Ssa2670- -141 Circuit: Graph 141 Circuit: Graph EO Ssa2670 Ssa2670- Ssa2670 -130 Circuit: Tree 130 Circuit: Tree Overview Overview � Soft Constraints Framework � Characterizing Structure in Soft Constraints � Exploiting Structure in Soft Constraints – Decomposition-based Search – Set-based Search – Hybrids Exploiting Weak Independence Exploiting Weak Independence Set Set- -based Branch based Branch- -and and- -Bound Bound � Principle: Weak independence allows to consider Encode e.g. � Each search node is a set of sets of assignments at once instead of individual using ADD soft constraint subproblems assignments. � Lower Bound Function (f lb ): Optimistic estimates of best solutions in subtree � Upper Bound (ub): Best solution found so far � Prune, if f lb ≥ ub . 5

  6. Domain Splitting Example: 4- -Queens Queens Domain Splitting Example: 4 Generalize to search over sets : � Variables: Rows � Partition domains into sets � Domains: Columns � Choose subset for unassigned variable � Constraints: Q Q Q Q Example Example Example Example � Search Tree � Domain splitting with partitions Solution Solution Example Example Results Results � Domain splitting with partitions � C++ Implementation of SBBTD on Pentium 4 with 1 GB RAM, using ADD library from CUDD package � Weighted version of 16-Queens-Problem (16 variables, 136 constraints, domain size 16) � Using partition {{0,...,15}}: out of memory (> 1 GB) � Using partition {{0},{1},…, {15}}: out of time (>10 min) � Using partition {{0,...,7},{8,...,15}}: 104.8 sec Solution 6

  7. Overview Hybrid Algorithm SBBTD Overview Hybrid Algorithm SBBTD � Soft Constraints Framework � Exploits both strong independence using tree decomposition, and weak independence using set- � Characterizing Structure in Soft Constraints based search. � Exploiting Structure in Soft Constraints – Set-based Search – Decomposition-based Search – Hybrids SBBTD applied to Full Adder SBBTD applied to Full Adder SBBTD applied to Full Adder SBBTD applied to Full Adder � Partition , all else � Search Tree Upper bound = 0 SBBTD applied to Full Adder SBBTD applied to Full Adder SBBTD applied to Full Adder SBBTD applied to Full Adder � Search Tree � Search Tree Upper bound = 0 Upper bound = .044 <u=0, y=0> .047 <u=0, y=0> .047 <u=0, y=1> .902 <u=0, y=1> .902 <v=0, w=0> .950 7

  8. SBBTD applied to Full Adder SBBTD applied to Full Adder SBBTD applied to Full Adder SBBTD applied to Full Adder � Search Tree � Search Tree Upper bound = .044 Upper bound = .044 <u=0, y=0> .047 <u=0, y=0> .047 <u=0, y=1> .902 <u=0, y=1> .902 <v=0, w=0> .950 <v=0, w=0> .950 Exploiting goods recorded at v2 (“forward jump”) SBBTD applied to Full Adder SBBTD applied to Full Adder SBBTD applied to Full Adder SBBTD applied to Full Adder � Search Tree � Search Tree Upper bound = .044 Upper bound = .044 <u=0, y=0> .047 <u=0, y=0> .047 <u=0, y=1> .902 <u=0, y=1> .902 <v=0, w=0> .950 <v=0, w=0> .950 <v=0, w=1> .050 <v=0, w=1> .050 Cut by bound SBBTD applied to Full Adder SBBTD applied to Full Adder SBBTD applied to Full Adder SBBTD applied to Full Adder � Search Tree � Search Tree Cut by bound Cut by bound 8

  9. SBBTD applied to Full Adder SBBTD applied to Full Adder SBBTD applied to Full Adder SBBTD applied to Full Adder � Search Tree � Search Tree Cut by bound Cut by bound SBBTD applied to Full Adder SBBTD applied to Full Adder Results Results � Search Tree � C++ Implementation of SBBTD on Pentium 4 with 1 Best solution = .044 GB RAM, using ADD library from CUDD package # Nodes = 45 � Weighted version of ssa0432-003 circuit (435 variables, 1027 constraints, domain size 2) � Time to compute tree decomposition: 5 sec. � Using partition {{0},{1}}: out of time (>10 min) � Using partition {{0,1}}: 3 sec. Cut by bound Finished. Future Work Future Work Material Material � Determine optimal granularity of domain partitions? � Combination with local filtering techniques? Material 9

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend