560 likes | 922 Vues
Inconsistency Tolerance in SNePS. Stuart C. Shapiro Department of Computer Science and Engineering, and Center for Cognitive Science University at Buffalo, The State University of New York 201 Bell Hall, Buffalo, NY 14260-2000 shapiro@cse.buffalo.edu http://www.cse.buffalo.edu/~shapiro/.
E N D
Inconsistency Tolerance in SNePS Stuart C. Shapiro Department of Computer Science and Engineering, and Center for Cognitive Science University at Buffalo, The State University of New York 201 Bell Hall, Buffalo, NY 14260-2000 shapiro@cse.buffalo.edu http://www.cse.buffalo.edu/~shapiro/
Acknowledgements • João Martins • Frances L. Johnson • Bharat Bhushan • The SNePS Research Group • NSF, Instituto Nacional de Investigação Cientifica, Rome Air Development Center, AFOSR, U.S. Army CECOM S. C. Shapiro
Outline • Introduction • Some Rules of Inference • ~I and Belief Revision • Credibility Ordering and Automatic BR • Reasoning in Different Contexts • Default Reasoning by Preferential Ordering • Summary S. C. Shapiro
SNePS • A logic- and network-based • Knowledge representation • Reasoning • And acting • System [Shapiro & Group ’02] This talk will ignore network and acting aspects. S. C. Shapiro
Logic • Based on R, the logic of relevant implication [Anderson & Belnap ’75; Martins & Shapiro ’88, Shapiro ’92] S. C. Shapiro
Supported wffs P{… <origin tag, origin set> …} Set of hypotheses From which P has been derived. hyphypothesis derderived Origin set tracks relevance and ATMS assumptions. S. C. Shapiro
Outline • Introduction • Some Rules of Inference • ~I and Belief Revision • Credibility Ordering and Automatic BR • Reasoning in Different Contexts • Default Reasoning by Preferential Ordering • Summary S. C. Shapiro
Rules of Inference:Hypothesis Hyp: P {<hyp,{P}>} : whale(Willy) and free(Willy). wff3: free(Willy) and whale(Willy) {<hyp,{wff3}>} S. C. Shapiro
Rules of Inference:&E &E: From A and B {<t,s>} infer A {<der,s>} or B {<der,s>} wff3: free(Willy) and whale(Willy) {<hyp,{wff3}>} : free(Willy)? wff2: free(Willy) {<der,{wff3}>} S. C. Shapiro
Rules of Inference:andorE The os is the union of os's of parents wff3: free(Willy) and whale(Willy) {<hyp,{wff3}>} wff6:all(x)(andor(0,1){manatee(x), dolphin(x), whale(x)}) {<hyp,{wff6}>}: dolphin(Willy)? wff9: ~dolphin(Willy) {<der,{wff3,wff6}>} At most 1 S. C. Shapiro
Rules of Inference:=>E The origin set is the union of os's of parents. Since wff10: all(x)(whale(x) => mammal(x)) {<hyp,{wff10}>} and wff1: whale(Willy){<der,{wff3}>} I infer wff11: mammal(Willy) {<der,{wff3,wff10}>} S. C. Shapiro
Rules of Inference:=>I origin set is diff of os's of parents. wff12: all(x)(orca(x) => whale(x)) {<hyp,{wff12}>} : orca(Keiko) => mammal(Keiko)? Let me assume that wff13: orca(Keiko) {<hyp,{wff13}>} Since wff12: all(x)(orca(x) => whale(x)) {<hyp,{wff12}>}and wff13: orca(Keiko){<hyp,{wff13}>} I infer whale(Keiko) {<der,{wff12,wff13}>} S. C. Shapiro
Rules of Inference:=>I (cont’d) origin set is diff of os's of parents. Since wff10: all(x)(whale(x) => mammal(x)) {<hyp,{wff10}>} and wff16: whale(Keiko) {<der,{wff12,wff13}>}I infer mammal(Keiko) {<der,{wff10,wff12,wff13}>} Since wff14: mammal(Keiko) {<der,{wff10,wff12,wff13}>}was derived assuming wff13: orca(Keiko) {<hyp,{wff13}>}I infer wff15: orca(Keiko) => mammal(Keiko) {<der,{wff10,wff12}>} S. C. Shapiro
Outline • Introduction • Some Rules of Inference • ~I and Belief Revision • Credibility Ordering and Automatic BR • Reasoning in Different Contexts • Default Reasoning by Preferential Ordering • Summary S. C. Shapiro
~I and Belief Revision • ~I triggered when a contradiction is derived. • Proposition to be negated must be one of the hypotheses underlying the contradiction. • Origin set is the rest of the hypotheses. • SNeBR [Martins & Shapiro ’88] involved in choosing the culprit. S. C. Shapiro
Adding Inconsistent Hypotheses wff19: all(x)(whale(x) => fish(x)){<hyp,{wff19}>} wff20: all(x)(andor(0,1){mammal(x), fish(x)}) {<hyp,{wff20}>} wff21: all(x)(fish(x) <=> has(x,scales)) {<hyp,{wff21}>} S. C. Shapiro
Finding the Contradiction : has(Willy, scales)? Since wff19: all(x)(whale(x) => fish(x)) {<hyp,{wff19}>} and wff1: whale(Willy) {<der,{wff3}>}I infer fish(Willy) {<der,{wff3,wff19}>} Since wff21: all(x)(fish(x) <=> has(x,scales)) {<hyp,{wff21}>} and wff23: fish(Willy) {<der,{wff3,wff19}>}I infer has(Willy,scales) {<der,{wff3,wff19,wff21}>} Since wff20: all(x)(andor(0,1){mammal(x), fish(x)}) {<hyp,{wff20}>} and wff11: mammal(Willy) {<der,{wff3,wff10}>}I infer it is not the case that wff23: fish(Willy) S. C. Shapiro
Manual Belief Revision A contradiction was detected within context default-defaultct. The contradiction involves the newly derived proposition: wff24: ~fish(Willy) {<der,{wff3,wff10,wff20}>} and the previously existing proposition: wff23: fish(Willy) {<der,{wff3,wff19}>} You have the following options: 1. [c]ontinue anyway, knowing that a contradiction is derivable; 2. [r]e-start the exact same run in a different context which is not inconsistent; 3. [d]rop the run altogether. (please type c, r or d)=><= r S. C. Shapiro
BR Advice In order to make the context consistent you must delete at least one hypothesis from the set listed below. This set of hypotheses is known to be inconsistent: 1 : wff20: all(x)(andor(0,1){mammal(x),fish(x)}) {<hyp,{wff20}>} (1 dependent proposition: (wff24)) 2 : wff19: all(x)(whale(x) => fish(x)) {<hyp,{wff19}>} (2 dependent propositions: (wff23 wff22)) 3 : wff10: all(x)(whale(x) => mammal(x)){<hyp,{wff10}>} (3 dependent propositions: (wff24 wff15 wff11)) 4 : wff3: free(Willy) and whale(Willy) {<hyp,{wff3}>} (8 dependent propositions: (wff24 wff23 wff22 wff11 wff9 wff5 wff2 wff1)) User deletes #2: wff19. S. C. Shapiro
Willy has no Scales Since wff21: all(x)(fish(x) <=> has(x,scales)) {<hyp,{wff21}>} and it is not the case that wff23: fish(Willy) {<der,{wff3,wff19}>} I infer it is not the case that wff22: has(Willy,scales) {<der,{wff3,wff19,wff21}>} wff26: ~has(Willy,scales){<der,{wff3,wff10,wff20,wff21}>} S. C. Shapiro
Final KB: hyps & positive ders : list-asserted-wffs wff3: free(Willy) and whale(Willy) {<hyp,{wff3}>} wff6: all(x)(andor(0,1){manatee(x),dolphin(x),whale(x)}) {<hyp,{wff6}>} wff10: all(x)(whale(x) => mammal(x)) {<hyp,{wff10}>} wff12: all(x)(orca(x) => whale(x)) {<hyp,{wff12}>} wff20: all(x)(andor(0,1){mammal(x),fish(x)}) {<hyp,{wff20}>} wff21: all(x)(fish(x) <=> has(x,scales)) {<hyp,{wff21}>} wff1: whale(Willy) {<der,{wff3}>} wff2: free(Willy) {<der,{wff3}>} wff11: mammal(Willy) {<der,{wff3,wff10}>} wff15: orca(Keiko) => mammal(Keiko) {<der,{wff10,wff12}>} S. C. Shapiro
Final KB: hyps & negative ders : list-asserted-wffs wff3: free(Willy) and whale(Willy) {<hyp,{wff3}>} wff6: all(x)(andor(0,1){manatee(x),dolphin(x),whale(x)}) {<hyp,{wff6}>} wff10: all(x)(whale(x) => mammal(x)) {<hyp,{wff10}>} wff12: all(x)(orca(x) => whale(x)) {<hyp,{wff12}>} wff20: all(x)(andor(0,1){mammal(x),fish(x)}) {<hyp,{wff20}>} wff21: all(x)(fish(x) <=> has(x,scales)) {<hyp,{wff21}>} wff9: ~dolphin(Willy) {<der,{wff3,wff10}>} wff24: ~fish(Willy) {<der,{wff3,wff10,wff20}>} wff25: ~(all(x)(whale(x) => fish(x))) {<ext,{wff3,wff10,wff20}>} wff26: ~has(Willy,scales) {<der,{wff3,wff10,wff20,wff21}>} S. C. Shapiro
Summary • Logic is paraconsistent: P{<t1, {h1 … hi}>}, ~P{<t2, {h(i+1) … hn}>} ~hj • When a contradiction is explicitly found, the user is engaged in its resolution. S. C. Shapiro
Outline • Introduction • Some Rules of Inference • ~I and Belief Revision • Credibility Ordering and Automatic BR • Reasoning in Different Contexts • Default Reasoning by Preferential Ordering • Summary S. C. Shapiro
Credibility Ordering and Automatic Belief Revision* • Hypotheses may be given sources. • Sources may be given relative credibility. • Hypotheses inherit relative credibility from sources. • Hypotheses may be given relative credibility directly. (Not shown.) • SNeBR may use relative credibility to choose a culprit by itself. [Shapiro & Johnson ’00] *Not yet in released version. S. C. Shapiro
Contradictory Sources wff1: all(x)(andor(0,1){mammal(x),fish(x)}) {<hyp,{wff1}>} wff2: all(x)(fish(x) <=> has(x,scales)) {<hyp,{wff2}>} wff3: all(x)(orca(x) => whale(x)) {<hyp,{wff3}>} : Source(Melville, all(x)(whale(x) => fish(x)).). wff5: Source(Melville,all(x)(whale(x) => fish(x))) {<hyp,{wff5}>} : Source(Darwin, all(x)(whale(x) => mammal(x)).). wff7: Source(Darwin,all(x)(whale(x) => mammal(x))) {<hyp,{wff7}>}: Sgreater(Darwin, Melville). wff8: Sgreater(Darwin,Melville) {<hyp,{wff8}>} wff11: free(Willy) and whale(Willy) {<hyp,{wff11}>} Note: Source & Sgreater props are regular object-language props. S. C. Shapiro
Finding the Contradiction : has(Willy, scales)?Since wff4: all(x)(whale(x) => fish(x)) {<hyp,{wff4}>}and wff9: whale(Willy) {<der,{wff11}>}I infer fish(Willy) {<der,{wff4,wff11}>} Since wff2: all(x)(fish(x) <=> has(x,scales)) {<hyp,{wff2}>}and wff14: fish(Willy) {<der,{wff4,wff11}>}I infer has(Willy,scales)Since wff6: all(x)(whale(x) => mammal(x)) {<hyp,{wff6}>}and wff9: whale(Willy) {<der,{wff11}>}I infer mammal(Willy)Since wff1: all(x)(andor(0,1){mammal(x),fish(x)}) {<hyp,{wff1}>}and wff15: mammal(Willy) {<der,{wff6,wff11}>}I infer it is not the case that wff14: fish(Willy) {<der,{wff4,wff11}>} S. C. Shapiro
Automatic BR A contradiction was detected within context default-defaultct. The contradiction involves the newly derived proposition: wff17: ~fish(Willy) {<der,{wff1,wff6,wff11}>} and the previously existing proposition: wff14: fish(Willy) {<der,{wff4,wff11}>} The least believed hypothesis: (wff4) The most common hypothesis: (nil) The hypothesis supporting the fewest wffs: (wff1) I removed the following belief: wff4: all(x)(whale(x) => fish(x)) {<hyp,{wff4}>} I no longer believe the following 2 propositions: wff14: fish(Willy) {<der,{wff4,wff11}>} wff13: has(Willy,scales) {<der,{wff2,wff4,wff11}>} S. C. Shapiro
Summary • User may select automatic BR. • Relative credibility is used. • User is informed of lost beliefs. S. C. Shapiro
Outline • Introduction • Some Rules of Inference • ~I and Belief Revision • Credibility Ordering and Automatic BR • Reasoning in Different Contexts • Default Reasoning by Preferential Ordering • Summary S. C. Shapiro
Reasoning in Different Contexts • A context is a set of hypotheses and all propositions derived from them. • Reasoning is performed within a context. • A conclusion is available in every context that is a superset of its origin set. [Martins & Shapiro ’83] • Contradictions across contexts are not noticed. S. C. Shapiro
Darwin Context : set-context Darwin () : set-default-context Darwin wff1: all(x)(andor(0,1){mammal(x),fish(x)}) {<hyp,{wff1}>} wff2: all(x)(fish(x) <=> has(x,scales)) {<hyp,{wff2}>} wff3: all(x)(orca(x) => whale(x)) {<hyp,{wff3}>} wff4: all(x)(whale(x) => mammal(x)) {<hyp,{wff4}>} wff7: free(Willy) and whale(Willy) {<hyp,{wff7}>} S. C. Shapiro
Melville Context : describe-context((assertions (wff8 wff7 wff4 wff3 wff2 wff1)) (restriction nil) (named (science))): set-context Melville (wff8 wff7 wff3 wff2 wff1)((assertions (wff8 wff7 wff3 wff2 wff1)) (restriction nil) (named (melville))): set-default-context Melville((assertions (wff8 wff7 wff3 wff2 wff1)) (restriction nil) (named (melville))): all(x)(whale(x) => fish(x)). wff9: all(x)(whale(x) => fish(x)) {<hyp,{wff9}>} S. C. Shapiro
Melville: Willy has scales : has(Willy, scales)?Since wff9: all(x)(whale(x) => fish(x)){<hyp,{wff9}>}and wff5: whale(Willy) {<der,{wff7}>}I infer fish(Willy) {<der,{wff7,wff9}>} Since wff2: all(x)(fish(x) <=> has(x,scales)) {<hyp,{wff2}>}and wff11: fish(Willy) {<der,{wff7,wff9}>}I infer has(Willy,scales) {<der,{wff2,wff7,wff9}>} wff10: has(Willy,scales) {<der,{wff2,wff7,wff9}>} S. C. Shapiro
Darwin: No scales : set-default-context Darwin : has(Willy, scales)?Since wff4: all(x)(whale(x) => mammal(x)) {<hyp,{wff4}>}and wff5: whale(Willy) {<der,{wff7}>}I infer mammal(Willy)Since wff1: all(x)(andor(0,1){mammal(x),fish(x)}) {<hyp,{wff1}>}and wff12: mammal(Willy) {<der,{wff4,wff7}>}I infer it is not the case that wff11: fish(Willy) Since wff2: all(x)(fish(x) <=> has(x,scales)) {<hyp,{wff2}>}and it is not the case that wff11: fish(Willy) {<der,{wff7,wff9}>}I infer it is not the case that wff10: has(Willy,scales) wff15: ~has(Willy,scales) {<der,{wff1,wff2,wff4,wff7}>} S. C. Shapiro
Summary • Contradictory information may be isolated in different contexts. • Reasoning is performed in a single context. • Results are available in other contexts. S. C. Shapiro
Outline • Introduction • Some Rules of Inference • ~I and Belief Revision • Credibility Ordering and Automatic BR • Reasoning in Different Contexts • Default Reasoning by Preferential Ordering • Summary S. C. Shapiro
Default Reasoning by Preferential Ordering • No special syntax for default rules. • If P and ~P are derived • but argument for one is undercut by an argument for the other • don’t believe the undercut conclusion. • Unlike BR, believe the hypotheses, but not a conclusion. [Grosof ’97, Bhushan ’03] S. C. Shapiro
Preclusion Rules in SNePS* • P undercuts ~P if • Precludes(P, ~P) or • Every origin set of ~P has some hyp h such that there is some hyp q in an origin set of P such that Precludes(q, h). • Precludes(P, Q) is a proposition like any other. *Not yet in released version. S. C. Shapiro
Animal Modes of Mobility wff1: all(x)(orca(x) => whale(x)) wff2: all(x)(whale(x) => mammal(x)) wff3: all(x)(deer(x) => mammal(x)) wff4: all(x)(tuna(x) => fish(x)) wff5: all(x)(canary(x) => bird(x)) wff6: all(x)(penguin(x) => bird(x)) wff7: all(x)(andor(0,1){swims(x),flies(x),runs(x)}) wff8: all(x)(mammal(x) => runs(x)) wff9: all(x)(fish(x) => swims(x)) wff10: all(x)(bird(x) => flies(x)) wff11: all(x)(whale(x) => swims(x)) wff12: all(x)(penguin(x) => swims(x)) S. C. Shapiro
Using Preclusion for Exceptions wff13: Precludes(all(x)(whale(x) => swims(x)), all(x)(mammal(x) => runs(x))) wff14: Precludes(all(x)(penguin(x) => swims(x)), all(x)(bird(x) => flies(x))) wff15: orca(Willy) wff16: tuna(Charlie) wff17: deer(Bambi) wff18: canary(Tweety) wff19: penguin(Opus) S. C. Shapiro
Who Swims?(Contradictory Conclusions) : swims(?x)? I infer swims(Opus) I infer swims(Charlie) I infer swims(Willy) I infer flies(Tweety) I infer it is not the case that swims(Tweety) I infer flies(Opus) I infer it is not the case that wff20: swims(Opus) I infer runs(Willy) I infer it is not the case that wff24: swims(Willy) I infer runs(Bambi) I infer it is not the case that swims(Bambi) S. C. Shapiro
Using Preclusionto Arbitrate Contradictions (1) Since wff13: Precludes(all(x)(whale(x) => swims(x)), all(x)(mammal(x) => runs(x))) and wff11: all(x)(whale(x) => swims(x)) {<hyp,{wff11}>} holds within the BS defined by context default-defaultct Therefore wff34: ~swims(Willy) containing in its support wff8: all(x)(mammal(x) => runs(x)) is precluded by wff24: swims(Willy) that contains in its support wff11:all(x)(whale(x) => swims(x)) S. C. Shapiro
Using Preclusionto Arbitrate Contradictions (2) Since wff14: Precludes(all(x)(penguin(x) => swims(x)), all(x)(bird(x) => flies(x))) and wff12: all(x)(penguin(x) => swims(x)) holds within the BS defined by context default-defaultct Therefore wff31: ~swims(Opus) containing in its support wff10:all(x)(bird(x) => flies(x)) is precluded by wff20: swims(Opus) that contains in its support wff12: all(x)(penguin(x) => swims(x)) S. C. Shapiro
The Swimmersand Non-Swimmers wff38: ~swims(Bambi) {<der,{wff3,wff7,wff8,wff17}>} wff28: ~swims(Tweety) {<der,{wff5,wff7,wff10,wff18}>} wff24: swims(Willy) {<der,{wff1,wff11,wff15}>} wff22: swims(Charlie) {<der,{wff4,wff9,wff16}>} wff20: swims(Opus) {<der,{wff12,wff19}>} S. C. Shapiro
Two-Level Preclusion wff1: all(x)(robin(x) => bird(x)) wff2: all(x)(kiwi(x) => bird(x)) wff3: all(x)(bird(x) => flies(x)) wff4: all(x)(bird(x) => (~flies(x))) wff5: all(x)(robin(x) => flies(x)) wff6: all(x)(kiwi(x) => (~flies(x))) Example from Delgrande & Schaub ‘00 S. C. Shapiro
Preferences wff7: Precludes(all(x)(robin(x) => flies(x)), all(x)(bird(x) => (~flies(x)))) wff8: Precludes(all(x)(kiwi(x) => (~flies(x))), all(x)(bird(x) => flies(x))) wff12: (~location(New Zealand)) => Precludes(all(x)(bird(x) => flies(x)), all(x)(bird(x) => (~flies(x)))) wff14: location(New Zealand) => Precludes(all(x)(bird(x) => (~flies(x))), all(x)(bird(x) => flies(x))) wff10: ~location(New Zealand) wff15: Precludes(location(New Zealand), ~location(New Zealand)) S. C. Shapiro
Who flies? wff16: robin(Robin) wff17: kiwi(Kenneth) wff18: bird(Betty) : flies(?x)? S. C. Shapiro
Outside New Zealand wff24: ~flies(Kenneth){<der,{wff6,wff17}>, <der,{wff2,wff4,wff17}>, <der,{wff2,wff4,wff6,wff17}>} wff21: flies(Robin) {<der,{wff5,wff16}>, <der,{wff1,wff3,wff16}>} wff19: flies(Betty) {<der,{wff3,wff18}>} S. C. Shapiro
Inside New Zealand : location("New Zealand"). wff9: location(New Zealand) : flies(?x)? wff24: ~flies(Kenneth) {<der,{wff6,wff17}>, <der,{wff2,wff4,wff17}>, <der,{wff2,wff4,wff6,wff17}>} wff21: flies(Robin) {<der,{wff5,wff16}>, <der,{wff1,wff3,wff16}>} wff20: ~flies(Betty) {<der,{wff4,wff18}>} S. C. Shapiro