integrity constraints
play

Integrity Constraints In the electrical domain, what if we predict - PowerPoint PPT Presentation

Integrity Constraints In the electrical domain, what if we predict that a light should be on, but observe that it isnt? What can we conclude? We will expand the definite clause language to include integrity constraints which are rules


  1. Integrity Constraints ➤ In the electrical domain, what if we predict that a light should be on, but observe that it isn’t? What can we conclude? ➤ We will expand the definite clause language to include integrity constraints which are rules that imply false , where false is an atom that is false in all interpretations. ➤ This will allow us to make conclusions from a contradiction. ➤ A definite clause knowledge base is always consistent. This won’t be true with the rules that imply false . ☞ ☞

  2. Horn clauses ➤ An integrity constraint is a clause of the form false ← a 1 ∧ . . . ∧ a k where the a i are atoms and false is a special atom that is false in all interpretations. ➤ A Horn clause is either a definite clause or an integrity constraint. ☞ ☞ ☞

  3. Negative Conclusions ➤ Negations can follow from a Horn clause KB. ➤ The negation of α , written ¬ α is a formula that ➣ is true in interpretation I if α is false in I , and ➣ is false in interpretation I if α is true in I . ➤ Example:   false ← a ∧ b .       KB = KB | = ¬ c . a ← c .     b ← c .   ☞ ☞ ☞

  4. Disjunctive Conclusions ➤ Disjunctions can follow from a Horn clause KB. ➤ The disjunction of α and β , written α ∨ β , is ➣ true in interpretation I if α is true in I or β is true in I (or both are true in I ). ➣ false in interpretation I if α and β are both false in I . ➤ Example:   false ← a ∧ b .       KB = KB | = ¬ c ∨ ¬ d . a ← c .     b ← d .   ☞ ☞ ☞

  5. Questions and Answers in Horn KBs ➤ An assumable is an atom whose negation you are prepared to accept as part of a (disjunctive) answer. ➤ A conflict of KB is a set of assumables that, given KB imply false . ➤ A minimal conflict is a conflict such that no strict subset is also a conflict. ☞ ☞ ☞

  6. Conflict Example Example: If { c , d , e , f , g , h } are the assumables   false ← a ∧ b .           a ← c .   KB = b ← d .           b ← e .   ➤ { c , d } is a conflict ➤ { c , e } is a conflict ➤ { c , d , e , h } is a conflict ☞ ☞ ☞

  7. Using Conflicts for Diagnosis ➤ Assume that the user is able to observe whether a light is lit or dark and whether a power outlet is dead or live. ➤ A light can’t be both lit and dark. An outlet can’t be both live and dead: false ⇐ dark ( L ) & lit ( L ). false ⇐ dead ( L ) & live ( L ). ➤ Make ok assumable: assumable ( ok ( X )). ➤ Suppose switches s 1 , s 2 , and s 3 are all up: up ( s 1 ). up ( s 2 ). up ( s 3 ). ☞ ☞ ☞

  8. Electrical Environment outside power cb 1 s 1 w 5 circuit w 1 breaker s 2 cb 2 w 2 w 3 off s 3 switch w 0 on w 6 w 4 two-way switch l 1 light l 2 p 2 power p 1 outlet ☞ ☞ ☞

  9. lit ( L ) ⇐ light ( L ) & ok ( L ) & live ( L ). live ( W ) ⇐ connected _ to ( W , W 1 ) & live ( W 1 ). live ( outside ) ⇐ true . light ( l 1 ) ⇐ true . light ( l 2 ) ⇐ true . connected _ to ( l 1 , w 0 ) ⇐ true . connected _ to ( w 0 , w 1 ) ⇐ up ( s 2 ) & ok ( s 2 ). connected _ to ( w 1 , w 3 ) ⇐ up ( s 1 ) & ok ( s 1 ). connected _ to ( w 3 , w 5 ) ⇐ ok ( cb 1 ). connected _ to ( w 5 , outside ) ⇐ true . ☞ ☞ ☞

  10. ➤ If the user has observed l 1 and l 2 are both dark: dark ( l 1 ). dark ( l 2 ). ➤ There are two minimal conflicts: { ok ( cb 1 ), ok ( s 1 ), ok ( s 2 ), ok ( l 1 ) } and { ok ( cb 1 ), ok ( s 3 ), ok ( l 2 ) } . ➤ You can derive: ¬ ok ( cb 1 ) ∨ ¬ ok ( s 1 ) ∨ ¬ ok ( s 2 ) ∨ ¬ ok ( l 1 ) ¬ ok ( cb 1 ) ∨ ¬ ok ( s 3 ) ∨ ¬ ok ( l 2 ). ➤ Either cb 1 is broken or there is one of six double faults. ☞ ☞ ☞

  11. Diagnoses ➤ A consistency-based diagnosis is a set of assumables that has at least one element in each conflict. ➤ A minimal diagnosis is a diagnosis such that no subset is also a diagnosis. ➤ Intuitively, one of the minimal diagnoses must hold. A diagnosis holds if all of its elements are false. ➤ Example: For the proceeding example there are seven minimal diagnoses: { ok ( cb 1 ) } , { ok ( s 1 ), ok ( s 3 ) } , { ok ( s 1 ), ok ( l 2 ) } , { ok ( s 2 ), ok ( s 3 ) } ,… ☞ ☞ ☞

  12. Meta-interpreter to find conflicts % dprove ( G , D 0 , D 1 ) is true if list D 0 is an ending of list D 1 % such that assuming the elements of D 1 lets you derive G . dprove ( true , D , D ). dprove (( A & B ), D 1 , D 3 ) ← dprove ( A , D 1 , D 2 ) ∧ dprove ( B , D 2 , D 3 ). dprove ( G , D , [ G | D ] ) ← assumable ( G ). dprove ( H , D 1 , D 2 ) ← ( H ⇐ B ) ∧ dprove ( B , D 1 , D 2 ). conflict ( C ) ← dprove ( false , [ ] , C ). ☞ ☞ ☞

  13. Tricky Example false ⇐ a . a ⇐ b & c . b ⇐ d . b ⇐ e . c ⇐ f . c ⇐ g . e ⇐ h & w . e ⇐ g . w ⇐ d . ☞ assumable d , f , g , h . ☞ ☞

  14. Bottom-up Conflict Finding ➤ Conclusions are pairs � a , A � , where a is an atom and A is a set of assumables that imply a . ➤ Initially, conclusion set C = {� a , { a }� : a is assumable } . ➤ If there is a rule h ← b 1 ∧ . . . ∧ b m such that for each b i there is some A i such that � b i , A i � ∈ C , then � h , A 1 ∪ . . . ∪ A m � can be added to C . ➤ If � a , A 1 � and � a , A 2 � are in C , where A 1 ⊂ A 2 , then � a , A 2 � can be removed from C . ➤ If � false , A 1 � and � a , A 2 � are in C , where A 1 ⊆ A 2 , then � a , A 2 � can be removed from C . ☞ ☞ ☞

  15. Bottom-up Conflict Finding Code C := {� a , { a }� : a is assumable }; repeat select clause “ h ← b 1 ∧ . . . ∧ b m ” in T such that � b i , A i � ∈ C for all i and � h , A ′ � � false , A ′ � there is no ∈ C or ∈ C such that A ′ ⊆ A where A = A 1 ∪ . . . ∪ A m ; C := C ∪ {� h , A �} Remove any elements of C that can now be pruned; until no more selections are possible ☞ ☞ ☞

  16. Integrity Constraints in Databases ➤ Database designers can use integrity constraints to specify constraints that should never be violated. ➤ Example: A student can’t have two different grades for the same course. false ← grade ( St , Course , Gr 1 ) ∧ grade ( St , Course , Gr 2 ) ∧ Gr 1 �= Gr 2 . ➤ When false is derived, HOW can be used to debug the KB. ☞ ☞

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