Computing Minimum-cardinality Diagnoses by Model Relaxation Sajjad Siddiqi National University of Sciences and Technology (NUST) Islamabad, Pakistan.

Slides:



Advertisements
Similar presentations
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Advertisements

Analysis of Algorithms
Gregory Shklover, Ben Emanuel Intel Corporation MATAM, Haifa 31015, Israel Simultaneous Clock and Data Gate Sizing Algorithm with Common Global Objective.
A. Darwiche Knowledge Compilation Jinbo Huang NICTA and ANU Slides made by Adnan Darwiche and Jinbo Huang.
Local Search Jim Little UBC CS 322 – CSP October 3, 2014 Textbook §4.8
CPSC 322, Lecture 14Slide 1 Local Search Computer Science cpsc322, Lecture 14 (Textbook Chpt 4.8) Oct, 5, 2012.
1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized.
MBD and CSP Meir Kalech Partially based on slides of Jia You and Brian Williams.
Constraint Optimization Presentation by Nathan Stender Chapter 13 of Constraint Processing by Rina Dechter 3/25/20131Constraint Optimization.
Techniques for Dealing with Hard Problems Backtrack: –Systematically enumerates all potential solutions by continually trying to extend a partial solution.
Planning with Resources at Multiple Levels of Abstraction Brad Clement, Tony Barrett, Gregg Rabideau Artificial Intelligence Group Jet Propulsion Laboratory.
Lecture 12 Last time: CSPs, backtracking, forward checking Today: Game Playing.
Graduate Center/City University of New York University of Helsinki FINDING OPTIMAL BAYESIAN NETWORK STRUCTURES WITH CONSTRAINTS LEARNED FROM DATA Xiannian.
4 th Nov, Oct 23 rd Happy Deepavali!. 10/23 SAT & CSP.
Weizmann Institute Tuning SAT-checkers for Bounded Model-Checking A bounded guided tour Ofer Shtrichman Weizmann Institute & IBM (HRL)
CPSC 322, Lecture 14Slide 1 Local Search Computer Science cpsc322, Lecture 14 (Textbook Chpt 4.8) February, 4, 2009.
Min-Max Trees Based on slides by: Rob Powers Ian Gent Yishay Mansour.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt1 Lecture 11alt Advances in Combinational ATPG Algorithms  Branch and Bound Search  FAN – Multiple.
ELEC 7250 Term Project Presentation Khushboo Sheth Department of Electrical and Computer Engineering Auburn University, Auburn, AL.
Constraint Satisfaction Problems
MAE 552 – Heuristic Optimization Lecture 26 April 1, 2002 Topic:Branch and Bound.
Leonardo da Vinci ALLEGRO © J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 Basic test concepts J. M. Martins Ferreira FEUP / DEEC - Rua Dr.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 11, 2008 Static Timing Analysis and Multi-Level Speedup.
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
Boolean Matching in Logic Synthesis. Equivalence of Functions Equivalence of two functions defined under l Negation of input variables l Permutation of.
Sajjad Siddiqi and Jinbo Huang National ICT Australia and Australian National University Hierarchical Diagnosis of Multiple Faults.
CS121 Heuristic Search Planning CSPs Adversarial Search Probabilistic Reasoning Probabilistic Belief Learning.
Building Phylogenies Parsimony 2.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
On Solving Presburger and Linear Arithmetic with SAT Ofer Strichman Carnegie Mellon University.
Defining Polynomials p 1 (n) is the bound on the length of an input pair p 2 (n) is the bound on the running time of f p 3 (n) is a bound on the number.
Airline Schedule Optimization (Fleet Assignment II) Saba Neyshabouri.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Query Processing Presented by Aung S. Win.
Game Trees: MiniMax strategy, Tree Evaluation, Pruning, Utility evaluation Adapted from slides of Yoonsuck Choe.
Decision Procedures An Algorithmic Point of View
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 2 Adapted from slides of Yoonsuck.
1 Computer Group Engineering Department University of Science and Culture S. H. Davarpanah
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
A* Lasso for Learning a Sparse Bayesian Network Structure for Continuous Variances Jing Xiang & Seyoung Kim Bayesian Network Structure Learning X 1...
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
Detecting Group Differences: Mining Contrast Sets Author: Stephen D. Bay Advisor: Dr. Hsu Graduate: Yan-Cheng Lin.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Variable and Value Ordering for MPE Search Sajjad Siddiqi and Jinbo Huang.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
GAME PLAYING 1. There were two reasons that games appeared to be a good domain in which to explore machine intelligence: 1.They provide a structured task.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Jing Ye 1,2, Yu Hu 1, and Xiaowei Li 1 1 Key Laboratory of Computer System and Architecture Institute of Computing Technology Chinese Academy of Sciences.
Abdul-Rahman Elshafei – ID  Introduction  SLAT & iSTAT  Multiplet Scoring  Matching Passing Tests  Matching Complex Failures  Multiplet.
Bayesian Optimization Algorithm, Decision Graphs, and Occam’s Razor Martin Pelikan, David E. Goldberg, and Kumara Sastry IlliGAL Report No May.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 4, 2011 Static Timing Analysis and Multi-Level Speedup.
Chapter 13 Query Optimization Yonsei University 1 st Semester, 2015 Sanghyun Park.
University at BuffaloThe State University of New York Pattern-based Clustering How to cluster the five objects? qHard to define a global similarity measure.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Modelling and Solving Configuration Problems on Business
Hybrid BDD and All-SAT Method for Model Checking
Inference and search for the propositional satisfiability problem
Solving MAP Exactly by Searching on Compiled Arithmetic Circuits
A New Algorithm for Computing Upper Bounds for Functional EmajSAT
Hard Problems Introduction to NP
CS137: Electronic Design Automation
Samuel Luckenbill1, Ju-Yueh Lee2, Yu Hu3, Rupak Majumdar1, and Lei He2
Computer Science cpsc322, Lecture 14
ESE535: Electronic Design Automation
SAT-Based Area Recovery in Technology Mapping
Branch and Bound.
Constraints and Search
Applications of Propositional Reasoning: Diagnosis & Verificaiton
CS137: Electronic Design Automation
Presentation transcript:

Computing Minimum-cardinality Diagnoses by Model Relaxation Sajjad Siddiqi National University of Sciences and Technology (NUST) Islamabad, Pakistan

Consistency-based Diagnosis C D A Y X B Abnormal observation  :  A  B   D Which gate(s) are broken? NOT AND

Consistency-based Diagnosis C D A Y X B System model  : okX  (A   C) okY  (B  C)  D Health variables: okX, okY Observables: A, B, D Nonobservable: C Abnormal observation  :  A  B   D NOT AND

Consistency-based Diagnosis C D A Y X B Abnormal observation  :  A  B   D Find values of (okX, okY) consistent with    : (0, 0), (0, 1), (1, 0) OR {okX=0, okY=0}, … System model  : okX  (A   C) okY  (B  C)  D

Consistency-based Diagnosis System model  over health variables (okX, okY, …) observables nonobservables Given observation , diagnosis is assignment to health variables consistent with    Consider minimum-cardinality diagnoses Cardinality is the number of failing components in a diagnosis

Compilation-based Approach System Model Compile Tractable Form QueryEvaluator

Decomposable Negation Normal Form (DNNF) DAG of nested and/or Conjuncts share no variable (decomposable) or and or and X3X3 X1X1 X2X2 Min-cardinality as well as min-cardinality diagnoses can be computed efficiently using DNNF

Compilation-based Approach System Model Compile DNNF QueryEvaluator Bottleneck

Diagnosis using DNNF C D A Y X B Observation:  A  B   D System model  : okX  (A   C) okY  (B  C)  D

Diagnosis using DNNF C D A Y X B Observation:  A  B   D or  okX  okY System model  : okX  (A   C) okY  (B  C)  D

Previous Method: Hierarchical Diagnosis Significantly reduces number of health variables – through Abstraction Requires only 160 health variables for c1908; c1908 has 880 gates Able to compile larger systems (Siddiqi and Huang, 2007)

Previous Method: Hierarchical Diagnosis Without Abstraction: Requires 6 health variables: okU, okV, okE, okB, okJ, okA

Previous Method: Hierarchical Diagnosis Abstraction:{U,V,E,A} Treats self contained sub- systems (E) as single components (cones): Requires 4 health variables: okU, okV, okE, okA

Previous Method: Hierarchical Diagnosis {E,A} is a an abstract min-cardinality diagnosis {E}, {J}, {B} are min- cardinality diagnoses of cone E. {J,A}, {B,A} are deduced as more min-cardinality diagnoses Need to find abnormal observation for cone E

Previous Method: Diagnosis of Cones Reorder {E,A} as {A,E} (deeper gates first) Propagate normal values in the circuit (input values in given observation) Propagate faults in the order they appear in diag. Sets the required abnormal obs for cone E

Previous Method Again Compilation becomes a bottleneck for very large systems – even after abstraction

New Method Combines abstraction, model relaxation (node splitting), and search to scale up Compiles the abstraction of a relaxed model instead of the original Applies two stage branch-and-bound search to compute minimum-cardinality diagnoses

Node Splitting Splits Y Y 1 ’ and Y 2 ’ are clones of Y (Choi et al., 2007)

Node Splitting Splits gate B

Node Splitting Some components may come out of cones The components in the abstraction of the split system form a superset of the set of components in the original abstraction The abstract min-cardinality diagnoses (once computed correctly) of the split system form a superset of the set of abstract min- cardinality diagnoses of the original

Search for minimum cardinality (First Stage) ∆ and ∆’ – models of original and split system e – a given assignment to variables in ∆ e – the compatible assignment to corresponding clones in the split system For example, if e = {B = b} then e = {B’ = b}

Search for minimum cardinality ∆’ provides basis for computing lower bounds on minimum cardinality for B-n-B search min_card(∆ | e) >= min_card(∆’ | ee) if e contains a complete assignment to split variables then min_card(∆ | e) == min_card(∆’ | ee)

Search for minimum cardinality B-n-B search in the space of assignments s to split variables S At each node compute min_card(∆’ | ee ss) At leaf nodes we get candidate minimum cardinalites Elsewhere, we get lower bounds to prune search

Search for minimum cardinality A good Seed for search In the given observation, if k components output values inconsistent with the normal values then k is the upper bound on the minimum cardinality.

Search for minimum cardinality Variable and value ordering Nogood-based scoring heuristic similar to (Siddiqi and Huang, 2009): Every value of a variable X is associated with a score S(X = x) Score of X, S(X), is the average of the scores of its values Vars and values with higher scores are preferred.

Search for minimum cardinality Variable and value ordering During search if X is assigned a value x then S(X = x) += new_bound – cur_bound cur_bound = bound before the assignment new_bound = bound after the assignment Early Backtracking

Search for diagnoses (Second Stage) First Strategy if e contains a complete assignment to split variables then min_card_diags(∆|e) == min_card_diags(∆’|ee) Search in the space of assignments to split variables; enumerate all min-card diagnoses at those leaf nodes where cardinality is minimum.

Search for Diagnoses Second Strategy Search in the space of assignments to health-vars Partial assignment to h-vars == partial diagnosis Enumerate all valid min-cardinality diagnoses.

Search for Diagnoses First Strategy Can efficiently compute very large number of diagnoses at leaf nodes by evaluating the DNNF Often resulted in very large search spaces even when the number of diagnoses was small Second Strategy Efficient only when the number of diagnoses was reasonably small

Combined Approach; benefit from both Systematic search in both spaces simultaneously: Search starts in the space of assignments to health variables At each search node, another search is performed in the space of assignments to split variables; IF REQUIRED.

Combined Approach Search on health variables Validate each partial diagnosis h at each node If h is valid and card(h) < mincard, then continue search; else backtrack h is valid iff: h is consistent with the model + observation h can be extended to a valid min-card diagnosis HOW???

Combined Approach Validate partial diagnosis h: B-n-B Search for complete assignment to split vars S such that for each partial assignment s ∆’|h ee ss is consistent AND card (h) + min_card(∆’|h ee ss) <= mincard If such a complete assignment s exists then h is valid; otherwise h is invalid

Combined Approach Diagnoses At each node where h is valid compute min- card diagnoses as: {h} x min_card_diags(∆’|h ee ss) Union of all such diagnoses is the complete set of min-card diagnoses [redundancy is an issue]

Combined Approach okX = false okX = true h2  h1h2  h1 h3  h1h3  h1 min-card diagnoses = D 1  D 2  D 3 (may overlap)

Avoiding Redundancy - 1 okX = false okX = true h2  h1h2  h1 h3  h1h3  h1 If s 1 == s 2 then D 1  D 2 Solution: At each node, keep passing `the assignment to split variables used’ to the children nodes, AND…

Avoiding Redundancy - 1 At each node with partial diagnosis h: Let s p = assignment to split vars used at the parent node First check if h is valid under s p : YES: Don’t search, don’t enum diagnoses NO: Search for a new assignment to split vars and enum diagnoses only if found

Avoiding Redundancy - 2 During search treat the all recorded diagnoses (so far) as nogoods Watch literals scheme (as in Satisfiability): As soon as all but one broken component in a recorded diagnosis have been assumed as broken, that remaining broken component is forced to be healthy

Combined Approach Variable and Value Ordering Same selection heuristic as in the first stage; scores try to minimize search on split vars Let search on split vars explored p nodes, when okX was assigned a value okx, then S(okX=okx) += 1/p If search is not performed at a node p = ½ of the value used at the parent

Combined Approach Variable and Value Ordering Initial scores: S(okX = true) = 0 S(okX = false) = failure probability of X (Siddiqi & Huang 11) Effectively orders components according to decreasing value of their failure probabilities

Diagnosis of Cones Same as in the previous method with some extra care: All clones must be assigned the same value during value and fault propagation When reordering components in abstract diagnosis, original depth values for components must be used despite changes due to splitting

Experiments Use ISCAS85 circuits Observations (inputs/outputs) randomly generated Multiple instances per circuit

Experiments

New method solves most of the cases on every circuit (except c6288) Previous method cannot solve any case beyond c2670 New method is either as fast as the previous, or 4 times faster, or 2 orders of magnitude faster.

Summary New tool to compute minimum-cardinality diagnoses of a faulty system employing model relaxation, abstraction and search Solves non-trivial diagnostic cases on large systems, not possible before Significantly faster than the previous on cases solvable by both