Diagnosis as Semiring- Diagnosis as Semiring -based based Constraint Optimization Constraint Optimization Martin Sachenbacher, MIT CSAIL Brian C. Williams, MIT CSAIL Overview Overview � Diagnosis traditionally viewed as logical reasoning – (de Kleer and Williams 87), (Reiter 87), … � But more naturally viewed as constraint optimization – Minimal set of faulty components, most likely fault, … � Framework that unifies qualitative and quantitative notions of diagnosis using semiring-based CSP – Choose appropriate semiring and construct constraints � Diagnosis algorithms based on optimization methods – Dynamic programming with focus on leading solutions Diagnostic Example Diagnostic Example Classical Formulation of Diagnosis Classical Formulation of Diagnosis � Boolean Polycell (Williams, Ragno 2003) � Component Models (CSP) – Domains D = D 1 , …, D n a – Variables X = x 1 , x 2 , …, x n x 1 – Constraints F = f 1 , f 2 , …, f m b f – Constraints are functions var(f i ) → { ⊥ , } ⊥ o1 1 0 – Solution is assignment to Z ⊆ X satisfying constraints c y a1 � Preference Model 1 g – Cover faults minimally (Subset-Minimal Diagnosis) d o2 1 – Fewest faults (Cardinality-Minimal Diagnosis) 0 – Most likely faults (Probabilistic Diagnosis) e z a2 1 o3 1
Example: Component Models Example: Subset- -Minimal Diagnosis Minimal Diagnosis Example: Component Models Example: Subset � Constraints F = { f O1 , f O2 , f O3 , f A1 , f A2 } � Cover faults: o1=B {o1}, a1=B {a1}, o2=a2=B {o2,a2} O3 c e z a ⊥ G 1 0 1 O1 a c x x A1 x y f 1 ⊥ B 1 0 0 ⊥ b G 1 1 1 f ⊥ G 0 0 0 ⊥ B 1 0 1 o1 ⊥ B 1 1 0 1 0 ⊥ G 0 1 0 ⊥ c B 1 1 1 y a1 G 1 0 0 ⊥ A2 y z g 1 ⊥ B 0 0 0 g ⊥ G 1 1 1 d ⊥ o2 B 0 1 0 O2 b d y ⊥ 1 B 0 0 1 0 ⊥ B 1 0 0 ⊥ G 1 1 1 ⊥ e z B 0 1 1 a2 ⊥ B 1 1 0 ⊥ B 1 1 0 ⊥ 1 B 1 0 1 ⊥ B 1 1 1 o3 ⊥ B 1 1 1 Diagnosis as Optimization Diagnosis as Optimization Example: Subset Example: Subset- -Minimal Diagnosis Minimal Diagnosis � Objective Function U: Z → 2 Z � Component Models (CSP) – Domains D = { D 1 , …, D n } – Variables X = { x 1 , x 2 , …, x n } O1 O2 O3 A1 A2 – Constraints F = { f 1 , f 2 , …, f m } ∅ G G G G G – Constraints are functions var(f i ) → { ⊥ , } ⊥ {A2} – Solution is assignment to Z ⊆ X satisfying constraints G G G G B {A1} G G G B G � Preference Model G G G B B {A1,A2} – Set of preferences A – Objective function U: Z → A G G B G G {O3} – Partial order ≤ A on A forming lattice G G B G B {O3,A1} � Complete: Each I ⊆ A has lub, glb … … � Distributive: glb(a,lub(b,c)) = lub(glb(a,b),glb(a,c)) – Solution maximizes U Example: Subset- Example: Subset -Minimal Diagnosis Minimal Diagnosis Soft Constraints Soft Constraints � Partial order ≤ A defined by set inclusion ⊆ � Include Preferences in CSP – Domains D = D 1 , …, D n ∅ – Variables X = x 1 , x 2 , …, x n – Variables of interest Z ⊆ X {O1} {O2} {O3} {A1} {A2} – Set of preferences A – Constraints F = f 1 , f 2 , …, f m … – Constraints are functions var(f i ) → A � How to combine preferences? – Generalize constraint combination ( ⊗ ) {O1,O2,O3,A1} {O1,O2,O3,A2} {O1,O2,A1,A2} {O1,O3,A1,A2} {O2,O3,A1,A2} � How to compare preferences? – Generalize constraint projection ( ⇓ ) {O1,O2,O3,A1,A2} 2
Semiring- -based CSPs (Bistarelli 95) based CSPs (Bistarelli 95) Diagnosis as Semiring- -based CSP based CSP Semiring Diagnosis as Semiring � Operator × to combine a,b ∈ A (defines ⊗ ) Component Models Preference Model � Operator + to compare a,b ∈ A (defines ⇓ ) Hard Objective Partial – a ≤ A b iff a + b = b (b “better” than a) Constraints Function Order � (A, + , × , 0, 1) forms a c-semiring f j : var(f j ) → { ⊥ , } ⊥ U: Z → A ≤ A – + is commutative, associative, a + 0 = a – × is associative, a × 0 = 0 – × distributes over + Separation – + is idempotent – × is commutative Soft Constraints f j : var(f j ) → A – a + 1 = 1 C-semiring Semiring-based CSP (SCSP) Construct Semiring Construct Semiring Separate Objective Function Separate Objective Function � Let 0 = ⊥ = lub(A), 1 = = glb(A), + = lub, × = glb ⊥ � Faults are independent: U(t) = u 1 (t) × u 2 (t) × … × u k (t) O1 O2 O3 A1 A2 A2 y z g A1 O2 O3 A1 A2 ∅ ∅ ∅ G G G G G G 1 1 1 G G G G G Preference Model ∅ {A2} G G G G B {A2} B 0 0 1 G G G G B ∅ {A1} G G G B G G G G B G {A1} B 0 1 1 ∅ G G G B B {A1,A2} G G G B B {A1,A2} B 1 0 1 ∅ … … G G B G G {O3} B 1 1 1 … … O1 O2 A2 Component Preference Model … ∅ ∅ ∅ Model G G G B {O1} {O2} B {A2} B Construct Soft Constraints Construct Soft Constraints Notions of Diagnosis as SCSP Notions of Diagnosis as SCSP � Apply each u i to constraint f j with var(u i ) ⊆ var(f j ) � Subset-Minimal Diagnosis – S s = (2 Z , ∩ , ∪ , Z, ∅ ) � Cardinality-Minimal Diagnosis A2 y z g A2 y z g – S c =(N 0 ∪ ∞ ,min,+, ∞ ,0) ∅ ∅ A2 G 1 1 1 G 1 1 1 ∅ ⊗ � Probabilistic Diagnosis {A2} B 0 0 1 ∅ = B 0 0 1 G ∅ – S p = ([0,1], max, ⋅ , 0,1) {A2} B 0 1 1 B 0 1 1 {A2} B ∅ {A2} B 1 0 1 B 1 0 1 ∅ {A2} B 1 1 1 B 1 1 1 O1 a c x O1 a c x O1 a c x ∅ 0 G 1 1 1 G 1 1 1 G 1 1 1 .99 Component Preference Soft B 1 1 0 {O1} B 1 1 0 1 B 1 1 0 .01 Model Model Part Constraint B 1 1 1 {O1} B 1 1 1 1 B 1 1 1 .01 3
Tree Decomposition Tree Decomposition Diagnosis using Optimization Methods Diagnosis using Optimization Methods � Tree T = (V,E) with labeling functions χ , λ such that: Construction of soft constraints doesn’t affect network � – For each f j ∈ F, there is exactly one v ∈ V such that f j ∈ λ (v); Decompose SCSP into equivalent acyclic instance � For this v, vars(f j ) ⊆ χ (v) (“covering”) – Combine constraints responsible for cyclicity – For each x i ∈ X, the set {v ∈ V | x i ∈ χ (v)} induces a connected subtree of T (“connectedness”) Decomposition χ -label λ -label {O3,A1,c,e,f,x,y,z} {f O3 ,f A1 } y,z y c,x {A2,g,y,z} {f A2 } {O2,b,d,y} {f O2 } {O1,a,c,x} {f O1 } Tree- Tree -based Diagnosis Algorithms based Diagnosis Algorithms Bottom- Bottom -Up Dynamic Programming Up Dynamic Programming � Solve tree-structured SCSP instance in two phases � Cardinality-Minimal Diagnosis – Bottom-up dynamic programming phase G G 1 0 0 0 0 1 0 – Top-down solution enumeration phase G G 1 0 0 0 1 1 0 {O3,A1,c,e,f,x,y,z} {f O3 ,f A1 } � Focus on leading solutions using SCSP properties G G 1 0 0 1 0 1 0 – Early pruning due to extensiveness … … y,z y c,x {A2,g,y,z} {f A2 } {O2,b,d,y} {f O2 } {O1,a,c,x} {f O1 } Bottom-up G 1 1 1 0 G 1 1 1 0 G 1 1 1 0 B 1 1 1 1 B 1 1 1 1 Top-down B 1 1 1 1 B 1 0 1 1 B 1 1 0 1 B 1 1 0 1 B 1 1 0 1 B 1 0 0 1 Bottom- Bottom -Up Dynamic Programming Up Dynamic Programming Bottom Bottom- -Up Dynamic Programming Up Dynamic Programming � Cardinality-Minimal Diagnosis � Cardinality-Minimal Diagnosis G G 1 0 0 0 0 1 0 G G 1 0 0 0 0 1 0 G G 1 0 0 0 1 1 0 G G 1 0 0 0 1 1 0+0 {O3,A1,c,e,f,x,y,z} {f O3 ,f A1 } {O3,A1,c,e,f,x,y,z} {f O3 ,f A1 } G G 1 0 0 1 0 1 0 G G 1 0 0 1 0 1 0 … … … … y,z y c,x y,z y c,x {A2,g,y,z} {f A2 } {O2,b,d,y} {f O2 } {O1,a,c,x} {f O1 } {A2,g,y,z} {f A2 } {O2,b,d,y} {f O2 } {O1,a,c,x} {f O1 } 0 0 G 1 1 1 0 G 1 1 1 0 G 1 1 1 G 1 1 1 0 G 1 1 1 0 G 1 1 1 1 1 B 1 1 1 1 B 1 1 1 1 B 1 1 1 B 1 1 1 1 B 1 1 1 1 B 1 1 1 B 1 0 1 1 B 1 1 0 1 B 1 0 1 1 B 1 1 0 1 B 1 1 0 1 B 1 1 0 1 B 1 1 0 1 B 1 1 0 1 B 1 0 0 1 B 1 0 0 1 4
Recommend
More recommend