Re: Nonmonotonic rules

> 
> >Pat,
> >Let us recall how this debate started in the first place. You made a
> >sweeping claim that rules out nonmonotonic theories on the web. But then
> >you said:
> >
> >>  There are patterns of reasoning that are useful.  They are conventionally
> >>  called nonmonotonic. In many cases (closed world, unique name) they are
> >>  not intrinsically nonmonotonic. I want to find ways of making them
> >>  useable in an overall monotonic framework.  Defaults are a rather tougher
> >>  case, I will concede.
> >
> >So, it seems that you are shifting arguments here.
> 
> I may be guilty of expressing myself 
> inadequately, but I don't feel that my position 
> has changed.


Ontology mismatches are often responsible for much of the misunderstanding.


> >You are admitting that
> >certain patterns of reasoning, which are understood as non-monotonic by
> >most people, are useful and you would like to make use of them provided
> >you can fit them within your framework.
> 
> Not so much MY framework, as SOME kind of 
> monotonic framework. The larger context of this 
> debate is that (some) proponents of these 
> inference patterns have been casting the debate 
> in terms which claim that the Web, or Web logic, 
> itself be non-monotonic, and that monotonic 
> languages like OWL are intrinsically inadequate 
> by virtue of "lacking" non-monotonicity, as 
> though non-monotonicity was in itself a valuable 
> feature of a formalism. That is the position that 
> I was making my 'sweeping claim' in response to.

If you find a monotonic framework where all the useful patterns of
reasoning are accounted for (e.g., defaults, closed world, etc.) then
perhaps there would be no disagreement. Just like you may have
inadequately expressed yourself, they may have also really meant "patterns of
reasoning" rather than "non-mon reasoning at all costs".

Do you think that John McCarthy was advocating non-monotonic logic because
he just liked things to be non-monotonic or because he wanted to capture
certain patterns of reasoning, which he couldn't in a monotonic way?
(This is not a rhetorical question -- a assume you know the answer. I never
talked to him.) 

> 
> >I don't think that we have much of an argument here. I am not attached to
> >any particular non-mon theory. If you can capture the useful reasoning
> >patterns in some other way---all the power to you.  Can I start using your
> >framework now? (I do want the defaults, too.)
> 
> I don't have a framework. I think that many of 
> the existing "non-mon"-inference patterns can be, 
> and in some cases were originally, stated within 
> monotonic logical frameworks - for example, 
> circumscription is *almost* monotonic, which is 
> part of what makes it so useful , in fact-  but I 
> think that to identify a genuinely useful such 
> framework for the SW is still a task not yet 
> completed. The rhetorical point of my sweeping 
> claim was to try to cast this discussion in terms 
> of how to achieve this, rather than as a kind of 
> power struggle for the soul of the SW between the 
> Schools of Monotonicity vs. Nonmonotonicity.

This sounds very conciliatory. A far cry from "shut up" and things like
that (of the original message).

But it seems that the two camps are now on equal footing. Neither has a
completely satisfactory solution and both are trying to find one. Why did
you say that the non-monotonic camp should "shut up" and "all talk about
nonmon systems be ruled out of order"?  I was afraid that you were about to
start The Semantic Web Orthodoxy Movement :-)


> >I would like to understand better what you mean by explicit closure of the
> >world. Let's go back to Tweety.
> 
> OK.
> 
> >Rules:
> >     bird(Tweety).
> >     fly(X) <- bird(X), not abnormal(X).
> >Closure (about abnormality):
> >       1.   abnormal(X) <- X comes from data-source-1
> >	    ...
> >       k.   abnormal(X) <- X comes from data-source-k
> >       k+1. Nothing else is abnormal
> >
> >Suppose  Closure |=  not abnormal(Tweety), so Theory+Closure |= fly(Tweety)
> >So far so good.
> >
> >Let's now assume that Tweety comes from data-source-N, and we add a rule
> >
> >Rn:  abnormal(X) <- X comes from data-source-N.
> >
> >How are you proposing to handle this, using case (a) or (b) below?
> >
> >      a. Closure + Rn is inconsistent, so Theory+Closure+Rn |= fly(Tweety).
> >         Everything is monotonic here, but it is hardly what you want (at
> >         least, not what I want).
> 
>   Being monotonic doesn't mean one has to be 
> bone-headed. I would be reasonably happy with 
> Theory+Closure+Rn |= false, and having an 
> explicit strategy for handling contradictions. We 
> need to be able to handle contradictions in any 
> case.  One such strategy might be to make an 
> explicit assumption that Rn overrides k+1, which 
> is thereby treated as a temporary assumption; 
> that was the original motivation for 
> circumscription, in fact. This gives a globally 
> nonmonotonic behavior but keeps explicit track of 
> the assumptions in each derivation path, so uses 
> monotonic logic *within* a proof. That might be a 
> useful compromise, in fact, for practical use. 
> Notice that the 'contradiction-handling' is 
> explicitly not part of the derivation in this 
> case (contrast most treatments of default 
> reasoning, for example): the overall reasoning 
> pattern is what used to be called 
> 'truth-maintenance' in AI.

Doesn't sound too elegant compared to circumscription, but ok.
All that is left is to come up with a reasonable theory.
Will be funny if the result will turn out the same as
circumscription (for all practical purposes) and will be implemented using
the plain old negation as failure (e.g., the well-founded semantics).


> >      b. Change Closure to Closure' as follows:
> >             1.   abnormal(X) <- X comes from data-source-1
> >	    ...
> >	    k.   abnormal(X) <- X comes from data-source-k
> >	    k+1. abnormal(X) <- X comes from data-source-N
> >      	    k+2. Nothing else is abnormal
> >
> >	Now  Theory+Closure' |=/ fly(Tweety).
> >
> >	I believe that this is the conclusion that both of us want.
> >
> >Are you saying that alternative (b) is NOT non-monotonic because Axiom k+2 in
> >Closure' is not the same as Axiom k+1 in Closure 
> >(once you state it precisely)?
> 
> Yes. And I say this because it is correct, given 
> the standard definitions of 'monotonic' and 
> 'assumption'. In fact, if you include the 
> closures as explicit assumptions, including the 
> 'nothing else' parts, then this is ALL monotonic 
> reasoning. (Admittedly, it is what might be 
> called non-standard logic, by virtue of the 
> unusual scope of that 'nothing else' assumption.)

Yes, this is monotonic. This is why I brought up this example.
I wanted to clarify what you mean.

> >For instance, if you use Clark's completion then this would be the case.
> >(I am bringing Clark's as an example--it is not a suitable solution.)
> 
> Can you say why not, in more detail?

1. It is too brittle. More brittle than any nonmon theory can possibly be.
   For instance, it you have a bunch of rules for p(X) and you add another rule

   p(X) <- p(X)

   then the closure of p(X) becomes a tautology.

2. p(X) <- not p(X)  is inconsistent, dragging the entire spec into the
   trash can. (I know about paraconsistent logics, but to use big guns
   for such an example?)

   Under classical logic, this is just p(X), no inconsistency.
   Under the well-founded semantics, this rule has no effect (which is
   what you -- at least, I -- would expect).

3. It doesn't really accomplish the closure because its models are all
   fixpoints. It needs additional minimization machinery to do the job. For
   instance, 

       person(hayes).
       agree(grosof,bernstein).
       agree(X,Y) <- agree(X,Z), agree(Z,Y).

   Closure:

       agree(X,Y) <-> X=grosof, Y=bernstein
                        \/ exists Z (agree(X,Z), agree(Z,Y)).

   This has a model where  agree(grosof,hayes) holds true  -- a surprising
   result! :-)


Clark's completion was given up on long ago. I think recall Apt, Blair, Walker
talked about problem #3 1987(?). In any case, examples like #3 were
commonly known around '87 and after, and problems 1&2 were known
soon after Clark's paper came out.



> >I would also like to address another point that you raised:
> >
> >me> The brittleness argument against non-monotonic reasoning is a red
> >me> herring.
> >
> >you>  I fundamentally disagree. It is absolutely central to the SWeb.
> >
> >me> Where is a proof of this statement?
> >
> >you> Well, the point seems to be widely accepted,
> >
> >I trust that you have conducted a scientific poll on this matter,
> 
> Not one that would satisfy a social scientist, 
> indeed. I didnt mean to imply that there were no 
> disagreements.

So, it is more proper to say that the above view is "accepted by some".

> >but
> >let's go to a more factual part of your statement.
> >
> >you> but it also seems kind of obvious. It has to do with
> >you> publishing content on the Web. If A publishes X
> >you> which is later read by B, and B has no access to
> >you> any of the context that A is assuming, then the
> >you> semantic protocols defining the information that
> >you> is conveyed from A to B by X have to assume that
> >you> this information is independent of the context.
> >you> Since A cannot, by the very nature of the WWW
> >you> architecture, possibly know what other
> >you> information may be available to B and combined
> >you> with X to draw conclusions, the meaning of X has
> >you> to be monotonic.
> >
> >Here, it seems, you are trying to put words into the mouth of your
> >imaginary opponent.  (OK. Perhaps you had such a conversation with
> >somebody, but not with me.)
> 
> The conversations were largely with Ben Grosof, 
> on this topic.


First, Benjamin is just 1 person and generalizing based on what he might
have said is too strong an inference rule.

Second, I won't rule out that you may have misunderstood him.


> The basic reasoning of the above 
> paragraph is from Tim Berners-Lee.


He is certainly entitled to his opinion. It may or may not be correct.
Unless he has the logical theory that you are still aiming to develop, his
"reasoning" is no more than a belief at this point.


> >I agree that publishing a statement that makes non-monotonic closure with
> >respect to an unknown set of sources doesn't carry much useful info for the
> >recipient of the statement.
> 
> That is my basic point, on which we seem to 
> agree. The conclusion I draw is that either the 
> closure should be with respect to a known, and 
> defined, set of sources, or else the statement 
> should not rely on a non-monotonic closure. 

Yes, I agree.

> Either way, the transmission of content from 
> publisher to recipient can be done within a 
> monotonic framework.

This is a non-sequitur.

You assume that the closure can be expressed using an axiom, such as
Clark's completion. *For that one* or a similar axiom we agreed that closure
is monotonic. But this axiom is no good, as I reminded you earlier, and you
don't have a better one. On the other hand, if the axiom is McCarthy's
circumscription then the closure is non-monotonic whether you know the
sources or not.

Sorry if I misunderstood what you meant by "transmission of content from 
publisher to recipient".


> >But this is not how I envision non-mon systems
> >on the web. What you can do is to publish a set of statements that make
> >non-mon closure with respect to the sources provided by the *consumer* of
> >the rules.
> 
> But how? That is, how can the publisher 
> *possibly* know what the consumer of the rules 
> will do with them, in particular what set of 
> sources they will apply them to? There is no such 
> expectation for RDF or OWL.  When you publish 
> anything on the Web, you have no idea of how it 
> will be used by those who read it, largely 
> because you have no idea who is reading it. And 
> if the publisher cannot know what set of sources 
> they are being applied to, how can they safely be 
> given a nonmonotonic semantics? The very idea of 
> nonmonotonicity assumes that the truthvalue of 
> any assertion will vary, usually unstably, when 
> the source being closed changes: so the content 
> of any such nonmonotonic publication must be 
> hostage to the exigencies of a context of use 
> unknown to the publisher.

How? I specify a schema -- an ontology, if you please.
I would say: I take objects of these classes, the classes have these
attributes of these types. And the objects must satisfy these integrity
constraints. Maybe something else, but this is enough for a start.

What I won't say is which sets of objects I am going to close off. You
give me those objects and I will reason non-mon with them as long as your
objects conform to my schema.


> >For instance, I can publish a heuristic for planning complex multi-segment
> >trips.
> 
> OK, but how do you convey the information that 
> this is the intended way that your heuristic is 
> supposed to be used? You seem (?) to be assuming 
> that your publication comes with a kind of 
> protective meta-information which lets a reader 
> know what the intended purpose, or scope, of the 
> rules are.  How is this meta-information supposed 
> to be conveyed from the publisher to the reader?

I specify the input schema, as above.
The exact context is known to you.
The type of the context is known to both of us.

But this may still not be monotonic, because you give me your sets of facts
and I circumscribe them.

> >My heuristic will assume any number of generic inputs and will make
> >decisions based on the available inputs. It will take the inputs provided
> >by the consumer and close them off.
> 
> I have to say, that sounds like a piece of code 
> more than a (set of) rule(s). I would expect that 
> code intended for use by SW agents would indeed 
> be protected by meta-information specifying its 
> intended usage or likely properties.


Sure. But why did you assume that it wouldn't be protected in this way?
This was a non-monotonic conclusion coming from you!


> But OK, if you wanted to publish a set of 
> rules/piece of heuristic code which might be 
> generically useful for trip planning, I have no 
> quarrel with that provided that is somehow 
> indicated (perhaps implicitly by its mode of 
> publication or embedded in some protective 
> protocols) to be intended for that purpose.  But 
> the SW discussion is often phrased in terms of 
> rule languages being used to extend the SW 
> 'content-publishing' languages such as RDF and 
> OWL, to overcome some of the expressive 
> limitations of DL- and sub-DL style formalisms. 
> In this context, the presumed use of 'rules' will 
> not be to achieve some limited and well-defined 
> task or goal, such as planning a trip, but to 
> draw general conclusions about general facts. And 
> this is where the entirely open-ended context of 
> the SWeb seems to require a globally monotonic 
> framework for information exchange, and where my 
> remarks were directed.

I must admit that I don't have a strong example where you need non-mon
in the above context. But this mailing list is SWS-IG (Semantic Web
*Services*). The scenarios that I had in mind come from the domain of
agents and service descriptions.

SWS \subset SW

so when you are saying that something should be ruled out on the SW then I
monotonically (!) conclude that this must be ruled out in the domain of SWS,
which I don't accept.

But I don't even accept your statement about ruling out non-mon in the
context of SW-minus-SWS, because it sounds too sweeping to me -- too
non-monotonic :-)

You can't rule out another subarea within  SW-minus-SWS where
arguments like those that I provided can't be made. 
Blocking such scientific thought would, again, be orthodoxy.

> >So, the rules are provided by me, but the context by you, the recipient.
> 
> Yes, quite. And since you, the publisher, cannot 
> possibly know what my context is, then it 
> behooves you to either tell me things that I can 
> apply in any context, or tell me what contexts to 
> apply it in (which comes to the same thing). So 
> if for example your rules can be used by me, 
> without violating the semantic conditions 
> applying to the rule interchange language, to 
> infer that because I don't know a way to fly to 
> Barcelona on Tuesday, that there is no way to fly 
> to Barcelona on Tuesday, then what you published 
> is false and misleading.

Not if I am running it as a service.

My description of the service will say that I am a complex travel planner
and I will use simple services, such as Expedia, Orbitz, Avis & Hertz,
etc. But you tell me which to use (maybe you know a good service in
Thailand, and I might use it for the part of your travel in that part
of the world).

> If on the other hand you 
> never intended for it to be used in that way (but 
> only, say, to conclude that there is likely no 
> way for me to book a trip which takes in 
> Barcelona on Tuesday, or that this technique is 
> unable to get me such a ticket booked, or 
> something) then I would claim that the semantic 
> conditions governing information exchange ought 
> to require that this more limited meaning is 
> somehow made explicit, at least well enough to 
> prevent me from using your rule in the more 
> general way that you did not intend.

The service might say that given the info it had, its reasoning mechanism
couldn't find the flight you want. You can always add this kind of
caveat. In fact, it can just advertise itself as a non-non service, so the
consumer will know that all negative responses have this caveat attached to
them.

Note that the service can have all kinds of things inside,
including loops through (non-mon) negation. But I might be able to prove
that whenever it gives a positive answer, the answer is correct with
respect to the sources that you gave me. This is all I care in order for
the service to make money.


> >You may call it monotonic (because the context is explicit) or "doing
> >nonmonotonic inference in the privacy of my own inference engine", as you
> >put it earlier, but I would say that this kind of architecture is
> >conventionally understood as non-monotonic.
> >
> >It seems to me that the difference is terminological more than anything else.
> 
> Well, if so then that is progress.  Would it were 
> the case that all disputes in this area turned 
> out to be only terminological.

I think we made a lot of progress understanding each other. Our
differences are probably not just terminological, but they are
smaller than we thought at the outset.

But I am fine with your agenda of finding a monotonic framework for the
useful patterns of reasoning that are "conventionally understood as non-mon".
Good luck to you. (Honest!) But until you find such a framework, I won't
accept your sweeping statements about the inapplicability of non-monotonic
reasoning on the Semantic Web.

> I think that my 
> differences with Ben Grosof are more than 
> terminological, however.

Benjamin is on this list, so he can answer, but I doubt that anybody
advocates non-monotonic reasoning for the sake of it. It came about because
of the inability of monotonic reasoning to capture certain useful types of
inference.


	--michael  


> Pat
> 
> 
> 
> >
> >
> >	--michael 
> >
> >
> >
> >pat hayes <phayes@ihmc.us> writes:
> >>
> >>  >  > >Pat,
> >>  >>  >
> >>  >>  >This is a powerful statement, but I would like to see it backed up with
> >>  >>  >examples of purely monotonic rules that are worth publishing.
> >>  >>
> >>  >>  I would like to see an example of a nonmonotonic
> >>  >>  rule that is worth publishing.
> >>  >
> >>  >Notice that you are passing the buck and are refusing to back up your
> >>  >statements.
> >>
> >>  Well, true. But almost any implication would be
> >>  an example of a monotonic rule, and such
> >>  implications are ubiquitous. (True, many of them
> >>  can be mapped directly into DL without using
> >>  rules...) If its a penguin, it doesn't fly:
> >>  that's monotonic.  If its a time-interval, its
> >>  endpoint is later than its startpoint... choose
> >  > your favorite implication.
> >>
> >>  >  > I'll offer you a
> >>  >>  challenge: show me a nonmonotonic rule, and I'll
> >>  >>  undertake to send you back a case where it would
> >>  >>  immediately produce a false answer.
> >>  >
> >>  >"Birds normally fly"
> >>  >"Sick birds normally don't"
> >>  >"Penguins don't fly"
> >>
> >>  1. Im working in a center that rescues and tries
> >>  to fix and re-release damaged or injured
> >>  endangered birds. Birds here normally don't fly.
> >>
> >>  2. Im a specialist in diseases of raptors arising
> >>  from acid rain pollution, which causes
> >>  infertility, taking part in a study involving
> >>  tagging wild birds and checking their nests.
> >>  Many, maybe all, of the birds we track are sick,
> >>  but they all fly.
> >>
> >>  BTW, there is a terminological issue arising
> >>  here.  In at least one reading, rules like this
> >>  which are explicit about "normally" can be viewed
> >>  as monotonic.  And the last example is monotonic
> >>  on any reading (since it omits the "normally").
> >>
> >>  >...
> >>  >
> >>  >I think I know what your counter-case would be, but how would you express
> >>  >this kind of stuff monotonically? You would need a bunch of exceptions and
> >>  >every time you add another exception you would change some of your previous
> >>  >formulas.
> >>
> >>  No, there are many other alternatives.  You don't
> >>  need to have an explicit list of exceptions, all
> >>  that is required is that there is a reference to
> >>  some proposition which 'stands for' the
> >>  exceptions (or more exactly, the truth of any
> >>  exceptional condition.) You could use for example
> >>  McCarthy's circumscription technique, and
> >>  transcribe them as 'normal birds fly', etc..,
> >>  from which it then follows monotonically that a
> >>  non-flying bird (such as a sick bird or penguin)
> >  > is not a normal bird.  The pattern is more like:
> >>
> >>  foo is a normal bird
> >>  normal birds fly
> >>  ->
> >>  foo flies
> >>
> >>  normal birds fly
> >>  not (foo  flies)
> >>  -> (modus tollens)
> >>  not (foo is a normal bird)
> >>
> >>  both of which are monotonic inferences. The nonmonotonic step then would be
> >>
> >>  foo is a bird
> >>  -?->
> >>  foo is a normal bird
> >>
> >>  And if you want to make an circumscription-style
> >>  assumption that all your birds are normal (unless
> >>  you have been told otherwise) then by all means
> >>  go ahead: I don't want to prevent anyone DOING
> >>  nonmonotonic inference in the privacy of their
> >>  own inference engine. My point is only that the
> >>  semantics underlying SWeb communication, the
> >>  semantics built into the information exchange
> >>  protocols, needs to be monotonic. As long as you
> >>  have some explicit way to encode that 'normally'
> >>  part of your rules, and so distinguish 'birds
> >>  normally fly' from 'birds fly', then we have no
> >>  disagreement. That is exactly what I want to do
> >>  as well.
> >>
> >>  All that said, however, there is a real practical
> >>  problem with 'normally' reasoning and
> >>  circumscription, which is how to evaluate what
> >>  happens when different notions of 'normal' (or
> >>  'typical') clash. This is of course an old
> >>  observation (interacting defaults, for example)
> >>  but its being old doesn't make it go away.  And
> >>  on the Web, the possibilities for communication
> >>  breakdown are amplified. Birds normally fly most
> >>  of the time, but if we are talking about birds in
> >>  the Antarctic then its not so clear what counts
> >>  as 'normal', etc.. Fact is, "normal" is kind of
> >>  context-dependent in its meaning. It would be a
> >>  lot safer, and more informative, if such a rule
> >>  could mention explicitly an intended class  of
> >>  birds, and say that normally *in that class*,
> >>  birds fly; and then a reader (particularly a
> >>  reader as dirt-stupid as your average SW agent)
> >>  can be alerted to the dangers of applying it to a
> >>  small subclass, or a different class altogether.
> >>  It would be more informative and safer still if
> >>  it could give actual statistics, like "over 95%
> >>  of birds in the class fly".
> >>
> >>  If I may hazard an ad-hominem guess here for a
> >>  second, I suspect that your use of the
> >>  (Sweb-agent= human) analogy might be distorting
> >>  your intuition. People like us are not
> >>  consciously aware of using rules like "over 95%
> >>  of birds in this class fly", and we certainly
> >>  don't say things like that to one another. But
> >  > (a) what people do is kind of irrelevant, and (b)
> >>  it really is not clear what actually is going on
> >>  inside people's heads when they reason: and (c)
> >>  for sure, what is actually going on is a lot more
> >>  complicated than what it 'feels' like to the
> >>  thinker, or what people say to one another. We
> >>  certainly don't think using natural language, and
> >>  there is lots of evidence that we unconsciously
> >>  do things like make fine-grained numerical
> >>  estimates of relative likelihoods which we are
> >>  quite unable to sense by introspection; and that
> >>  when we do reason, we are using far, far more
> >>  information than we are consciously aware of, or
> >>  ever actually say explicitly to one another in
> >>  natural language.
> >>
> >>  >This is not compositional. Furthermore, your monotonic rules are much less
> >>  >useful to me than the above non-monotonic ones.
> >>  >
> >>  >Note that the non-mon rules will give correct 
> >>answer most of the time -- just
> >>  >like humans. Do you have a set of monotonic rules that gives a correct
> >>  >answer *all* the time?
> >>  >If I understand correctly what you have in mind, then your system will be
> >>  >giving the answer "I don't know" most of the time. In my view this is not
> >>  >as useful as giving a correct answer most of the time.
> >>
> >>  The system I prefer will be giving answers of the
> >>  general form "assuming everything is normal, foo
> >>  flies"  or maybe "assuming foo is a normal bird,
> >>  ..." where of course the qualification, being
> >>  generic, could be understood or implicit in a
> >>  real QA protocol (though it should be explicit
> >>  for the reasoners under the hood.) And I would
> >  > prefer it to have a more structured account of
> >>  "normal", if at all possible.
> >>
> >>  >  > >The brittleness argument against non-monotonic reasoning is a red
> >>  >>  >herring.
> >>  >>
> >>  >>  I fundamentally disagree. It is absolutely central to the SWeb.
> >>  >
> >>  >Where is a proof of this statement?  I would consider believing this if
> >>  >you produce a useful and non-trivial example to back this up.
> >>  >The onus is on you, since you are the one 
> >>making the sweeping statements :-)
> >>
> >>  Well, the point seems to be widely accepted, but
> >>  it also seems kind of obvious. It has to do with
> >>  publishing content on the Web. If A publishes X
> >>  which is later read by B, and B has no access to
> >>  any of the context that A is assuming, then the
> >>  semantic protocols defining the information that
> >>  is conveyed from A to B by X have to assume that
> >>  this information is independent of the context.
> >>  Since A cannot, by the very nature of the WWW
> >>  architecture, possibly know what other
> >>  information may be available to B and combined
> >>  with X to draw conclusions, the meaning of X has
> >>  to be monotonic.
> >>
> >>  >  > >People use non-monotonic reasoning in their daily life because it
> >>  >>  >is useful most of the time. I see no reason why Semantic Web should be
> >>  >>  >different.
> >>  >>
> >>  >>  I see many reasons.  Daily life is irrelevant
> >>  >>  (with that argument, we ought to have our SW
> >>  >>  agents talking in English): the point in what you
> >>  >>  say is that PEOPLE use these reasoning patterns.
> >>  >>  Sure, people do: people are a lot smarter than SW
> >>  >>  inference engines are likely to get; and people
> >>  >>  have access to exactly the relevant contextual
> >>  >>  background assumptions that the SW *formalisms*
> >>  >>  do not provide. You and I both know that SS
> >>  >>  numbers are unique identifiers and that lists of
> >>  >>  local cinemas are likely to be closed worlds for
> >>  >>  checking movie times, and so on (and on).  Put
> >>  >>  yourself in an alien cultural context where you
> >>  >>  don't know things like this, and you will
> >>  >>  probably behave very differently, or make
> >  > >>  terrible gaffes in your reasoning, or maybe both.
> >>  >>  If all this contextual information were to be
> >>  >>  made explicit, things like
> >>  >>  unique-name/closed-world reasoning would be
> >>  >>  monotonic.
> >>  >>
> >>  >>  In fact, I think that people almost never use
> >>  >>  true nonmonotonic reasoning. We use shortcuts,
> >>  >>  for sure (check out the 'recognition heuristic'):
> >>  >  > but we they find they are wrong, we acknowledge
> >>  >>  that they were wrong and change our minds;
> >  > >>  moreover, there are lots of well-documented
> >>  >>  effects in cognitive psychology which seem to
> >>  >>  show that even unconsciously, we are very
> >>  >>  sensitive to logical inconsistencies, eg the many
> >>  >>  varieties of 'cognitive dissonance'. That is
> >>  >>  fundamentally monotonic reasoning.  A true nonmon
> >>  >>  reasoner wouldn't even notice that it had a
> >>  >>  contradiction to resolve, and it wouldn't need to
> >>  >>  change its mind. We say: tweety is a bird, so
> >>  >>  tweety can fly. Oh, wait, tweety is a penguin: I
> >>  >>  was wrong, tweety can't fly. It would say: Tweety
> >>  >>  is a bird, tweety can fly, tweety is a penguin,
> >>  >>  now tweety can't fly.... so? (This is an aside.
> >>  >>  The main point is that people are a hell of a lot
> >>  >  > smarter than anyone knows how to automate, so
> >>  >>  what people do is irrelevant; and in any case, we
> >>  >>  don't really know what people do.)
> >>  >
> >>  >I don't know how to respond to these two paragraphs of belle letters.
> >>  >There is nothing concrete to argue with. You 
> >>are assuming (or claiming?) that
> >>  >all contextual information can be made explicit
> >>
> >>  I was reacting to your argument to the effect
> >>  that people do it, so the SW can do it.  You
> >>  brought human performance into the discussion: if
> >>  you think that empirical results in cognitive
> >>  psychology constitute 'belles lettres' then maybe
> >>  you should stick to topics you know something
> >>  about.
> >>
> >>  >, and this is not my
> >>  >experience at all.
> >>  >
> >>  >In another recent message, you said:
> >>  >
> >>  >X-sender: phayes@mail.coginst.uwf.edu
> >  > >Message-id: <p06001f0bbc2cc3cb147d@[10.0.100.76]>
> >>  >>  Being able to use closed-world
> >>  >>  reasoning, unique-name reasoning, default reasoning, etc., in
> >>  >>  situations where you know they are OK to use, provides great
> >>  >>  benefits. What we need are ways to be able to take advantage of the
> >>  >>  computational merits of such efficient reasoning processes, but
> >>  >>  within a globally monotonic system of information exchange.
> >>  >
> >>  >So, you are acknowledging that certain forms of non-monotonic reasoning
> >>  >are useful and you want to adopt them. Pardon if I misunderstood.
> >>
> >>  There are patterns of reasoning that are useful.
> >>  They are conventionally called nonmonotonic. In
> >>  many cases (closed world, unique name) they are
> >>  not intrinsically nonmonotonic. I want to find
> >>  ways of making them useable in an overall
> >>  monotonic framework.  Defaults are a rather
> >>  tougher case, I will concede.
> >>
> >>  >  > >While I haven't seen any convincing 
> >>examples of monotonic rules that would
> >>  >>  >cause me to want to send my agent and 
> >>scoop them up, I do see reasons why I
> >>  >>  >might want to have non-monotonic knowledge to be published. This is
> >>  >>  >because most (if not all) rule-based 
> >>applications that I've looked at use
> >>  >>  >some kind of non-monotonicity.
> >>  >>
> >>  >>  They use forms of reasoning that are
> >>  >>  conventionally thought of as nonmonotonic,
> >>  >>  because they rely on information that is
> >>  >>  conventionally not made explicit. If you do make
> >>  >>  it explicit, they are often monotonic.  What I am
> >>  >>  arguing is not to throw away or banish these
> >>  >>  useful reasoning patterns, but to find a way to
> >>  >>  incorporate them into a globally monotonic
> >>  >>  framework of information interchange.
> >>  >>
> >>  >>  Are you sure that they really USE
> >>  >>  nonmonotonicity? That is, they RELY on the fact
> >>  >>  that the reasoning pattern is indeed not
> >>  >>  monotonic, and would break if it were made
> >>  >>  monotonic?  (An example might be a system that
> >>  >>  did closed-world reasoning but treated its
> >>  >>  conclusions as defaults, so that when new items
> >>  >>  were added to the world the old conclusions would
> >>  >>  be overridden. Now, that might be plausibly
> >>  >>  argued to be USING nonmonotonicity, rather than
> >>  >>  just kind of accidentally happening to be
> >>  >>  nonmonotonic.)
> >>  >
> >>  >This is too subtle for me. What is the difference between "using"
> >>  >non-monotonic reasoning and "being" non-monotonic?
> >>
> >>  The point I am apparently not getting across is
> >>  that many of these inference techniques are NOT
> >>  inherently non-monotonic. Closed world reasoning
> >  > , for example, is only non-monotonic when you
> >>  refuse to identify the closure of the world as
> >>  part of the hypothesis; similarly for
> >>  negation-as-failure. It is one thing to say that
> >>  these inference types are useful and should be
> >>  supported: they are, and should. It does not
> >>  however follow from this that SW inference must
> >>  be nonmonotonic.
> >>
> >>  Even your examples would be fine with me as long
> >>  as the rules do indeed somehow formally state the
> >>  'normally' assumption. If I publish the claim
> >>  that normally, birds fly, and you make an
> >>  inference from that about a particular bird, then
> >>  it is you who has made the assumption of
> >>  normality.  This is not the same situation as me
> >>  publishing the (unqualified) claim that birds
> >>  fly, and then expecting, because Web logic is
> >>  inherently nonmonotonic, that you will be able to
> >>  understand that when I say birds fly, I don't
> >>  actually mean that birds  fly.
> >>
> >>  Here's a way to understand the distinction
> >>  operationally: A publishes the rule (birds fly),
> >>  B reads and applies it to some case (bird foo),
> >>  and the answer turns out to be wrong (foo doesnt
> >>  fly).  What went wrong? The 'globally
> >>  nonmonotonic logic' answer is: nothing is wrong.
> >>  The answer I prefer is, if A said that birds fly,
> >>  then A is wrong. If on the other hand A said,
> >>  (normally, birds fly), then B made an assumption
> >>  about foo (that it was normal) that turned out to
> >>  be wrong.  The answer I want to avoid is, A didnt
> >>  really mean what he seemed to mean, or that what
> >  > A meant was somehow context-dependent in some
> >>  invisible way. I want it to be possible for B's
> >>  understanding of the content of A's rule to be
> >>  unambiguous and independent of any context that A
> >>  might be assuming.
> >>
> >>  >What I can say is that
> >>  >I haven't seen a rule-based system worth its salt, which is not using some
> >>  >sort of negation as failure somewhere.
> >>
> >>  Well, Im not sure what you consider to be a
> >>  'rule-based system' but if 'rule' includes Horn
> >>  clauses, then there are plenty of examples.
> >>
> >>  >Does it mean "using" rather than "being"? I am ok with that.
> >>  >Then what is the argument about?
> >>  >
> >>  >
> >>  >>  >If anything, I'd like them to be published
> >>  >>  >so I could steal them :-)
> >>  >>  >
> >>  >>  >Seriously, though, suppose there is a 
> >>service, say, a travel reservation
> >>  >>  >service that specializes in multi-segment complex travel arrangements.
> >>  >>  >Of necessity, such a service is going to use a form of closed-world
> >>  >>  >assumption, since it will be looking only at a small subset of all
> >>  >>  >available resources and make its 
> >>recommendations based on that incomplete
> >>  >>  >knowledge.
> >>  >>
> >>  >>  It will base its conclusion on what it knows, to
> >>  >>  be sure. That doesnt make it inherently
> >>  >>  closed-world reasoning.  Closed-world reasoning
> >>  >>  means that from a failure to find some atomic
> >>  >>  sentence, you *conclude* that it is *false*. You
> >>  >>  can make a recommendation based on what you know
> >>  >>  without drawing that conclusion.
> >>  >
> >>  >If the system makes inferences based on the fact that it failed to prove
> >>  >the contrary, then you are using closed-world reasoning.
> >>
> >>  Sure. I have no quarrel with closed-world
> >>  reasoning; I just don't want to get it muddled up
> >>  with open-world reasoning.  Closed world
> >>  reasoning is monotonic provided you refer to the
> >>  closed world as a suitable antecedent. I look up
> >>  'Joe' in a DB called employees and don't find him
> >>  there; AND I know the DB has all the employees in
> >>  it. Joe's not being an employee is a monotonic,
> >>  deductive consequence of all that. If you know
> >>  explicitly that the list of facts you are
> >>  searching through is complete, then NAF is
> >>  logically valid. It only seems non-monotonic if
> >>  you forget to mention the fact that the database
> >>  is complete.  There is nothing inherently
> >>  nonmonotonic about closed-world reasoning or
> >>  unique-name reasoning or NAF.
> >>
> >>  >You are simply refusing to call a spade a spade.
> >>
> >>  I want to keep the spades distinct from the forks.
> >>
> >>  >  > >If it can't find a car rental somewhere, it will assume there
> >>  >>  >isn't one and will try to find the next best alternative.
> >  > >>
> >>  >>  No. It will assume that it can't rent a car and
> >>  >>  move on to the next alternative. That's not
> >>  >>  nonmonotonic: that's just being usefully
> >>  >>  pragmatic. If it published a conclusion that
> >>  >>  there were no rental cars (not that it couldnt
> >>  >>  find any - that is just flat true - but that
> >>  >>  there really were none), or if it drew a
> >>  >  > conclusion about some other matter from this
> >>  >>  assumption, then it would be nonmonotonic.  In
> >>  >>  practice if it is reporting directly to humans in
> >>  >>  a web-service context then the difference between
> >>  >  > "there are none" and "I know of none" is likely
> >>  >>  to not matter much since the human will treat the
> >>  >>  former as though it meant the latter: but it
> >>  >>  might make a lot of difference in, say, a
> >>  >>  homeland security application, or in a reasoner
> >>  >>  which is deciding agent security policy questions.
> >>  >
> >>  >If it can't find a car, it would recommend me to use hotel A.
> >>  >If the set of premises changes and some car shows up in the database then
> >>  >it would recommend hotel B and not A. This is non-monotonic.
> >>
> >>  If the conclusion has the form: given what I
> >>  know, I recommend A, then it can be monotonic.
> >>  Make the (changing) assumptions explicit, or even
> >>  just provide an indexing device - a name for the
> >>  assumption-set -  and it is, or can be,
> >>  monotonic. It also would follow monotonically
> >>  that when the advice changed, the assumptions on
> >  > which is was based must have changed. (Obviously
> >>  this is over-simplified: in real cases you might
> >>  just have done more inference, and the inputs
> >>  might have had conflicting requirements which
> >>  were resolved differently, whatever. In fact in
> >>  REALLY real cases, the advice given probably
> >>  isn't a logical consequence of anything at all,
> >>  monotonic or otherwise, as Drew likes to point
> >>  out.)
> >>
> >>  >  > >Why would I want to have some 
> >>specification of such a service published?
> >>  >>  >Because I might be able to reason about 
> >>how the service works. This service
> >>  >>  >may require multiple interactions and my 
> >>credit card may be charged several
> >>  >>  >times. I might determine, for example, that the service won't charge my
> >>  >>  >card unless there is a way to back out of the corresponding part of the
> >>  >>  >deal or there is travel insurance provided, or ....
> >>  >>
> >>  >>  OK to all that. But notice that is all META
> >>  >>  information about the service. You can
> >>  >>  monotonically express meta-information about
> >>  >>  anything, even C++ code.  That has nothing to do
> >>  >>  with the non-monotonicity of the rules used in
> >>  >>  the system itself.
> >>  >
> >>  >I was giving an example where it is useful to publish non-monotonic rules.
> >>  >You are saying is that in this example I am reasoning not "with" those
> >>  >rules, but rather "about" those rules.  Fair enough.
> >>  >
> >>  >Let's say I invoke this service as a query to find out something.
> >>  >Querying is reasoning, and if those rules use a form of negation
> >>  >as failure (which will be the case in most complex systems) then
> >>  >it would be an example of reasoning with published non-mon rules.
> >>  >
> >>
> >>  If I follow you here, you are saying that if the
> >>  rules are nonmon, then the rules are nonmon. Hard
> >>  to argue with that, but what is the point being
> >>  made, exactly?
> >>
> >>  Pat
> >>
> >>  >	--michael 
> >>  >
> >>  >
> >>  >>  BTW, to do this kind of reasoning about any
> >>  >>  nontrivial system (monotonic or otherwise) is
> >>  >>  going to involve you in some heavy-duty
> >>  >>  reasoning.  To make your case here more strongly,
> >>  >>  you might try arguing that *that* reasoning has
> >>  >>  to be done non-monotonically.  I'd be interested
> >>  >>  to see any arguments made along those lines.
> >>  >>
> >>  >>  Pat
> >>  >>
> >>  >>  >
> >>  >>  >
> >>  >>  >	--michael 
> >>  >>  >
> >>  >>  >
> >>  >>  >pat hayes <phayes@ihmc.us> writes:
> >>  >>  >>
> >>  >>  >>  Re. the (forever ongoing and 
> >>interminable) debate about the merits of
> >>  >>  >>  otherwise of nonmon reasoning.
> >>  >>  >>
> >>  >>  >>  Bottom line: nonmon reasoning is brittle (by definition) but can be
> >>  >>  >>  very efficient. So when you know it 
> >>won't break, by all means use it.
> >>  >>  >>  But it seems to me that it is up to its proponents to justify or
> >  > >>  >>  explain how we can have nonmon formalisms being used in a Webbish
> >>  >>  >>  context, where the brittleness (or if you prefer,
> >>  >>  >>  context-sensitivity) seems on the face of it to be an unsurmountable
> >>  >>  >>  barrier to deployment, since there is no way for a reader of some
> >>  >>  >>  nonmon rules to know what the intended context is; and when used out
> >>  >>  >>  of context, nonmon rules are almost always wrong, and can produce
> >>  >>  >>  potentially dangerous errors. (Note, this is only referring to the
> >>  >>  >>  *publication* of nonmon rules on a Web, not to their *use* in some
> >>  >>  >>  application where it is known they are 
> >>appropriate, or one is willing
> >>  >>  >>  to take the risk of using them in any case.)
> >>  >>  >>
> >>  >>  >>  So far, the only response Ive heard on this point is a kind of
> >>  >>  >>  blustery denial: a claim that the Sweb just isn't going to be like
> >>  >  > >>  the WWWeb, but more like an intranet, where all the users will just
> >>  >>  >>  know, or will be told by the owner, or 
> >>will agree among themselves in
> >>  >>  >>  managers' meetings, which worlds are closed and which namespaces
> >>  >>  >>  satisfy the unique-names assumption 
> >>and so on; so the problem will be
> >>  >>  >>  avoided by what might be called 
> >>Web-external contextual agreements. I
> >>  >>  >>  refuse to take this answer seriously: it seems to me to just be a
> >>  >>  >>  statement to the effect that one is not working on the semantic web
> >  > >>  >  > at all.
> >>  >>  >>
> >>  >>  >>  Anyone got any other answers? Until 
> >>someone has, I would suggest that
> >>  >  > >>  all talk about nonmon systems be 
> >>ruled out of order.  Its not enough
> >>  >>  >>  to observe in a general kind of way that nonmon systems are useful
> >>  >>  >>  (no argument) or that they are in widespread use and all the best
> >>  >>  >>  companies have them and they make a 
> >>lot of money (irrelevant) or that
> >>  >>  >>  they solve this or that famous problem (they usually don't, in any
> >>  >>  >>  case). There is a basic technical issue that needs to be addressed.
> >>  >>  >>  Address it, or else please shut up about them.
> >>  >>  >>
> >>  >>  >>  Pat
> >>  >>  >>
> >>  >>  >>  --
> >>  >>  >> 
> >>---------------------------------------------------------------------
> >>  >>  >>  IHMC	(850)434 8903 or (650)494 3973   home
> >>  >>  >>  40 South Alcaniz St.	(850)202 4416   office
> >>  >>  >>  Pensacola			(850)202 4440   fax
> >>  >>  >>  FL 32501			(850)291 0667    cell
> >>  >>  >>  phayes@ihmc.us       http://www.ihmc.us/users/phayes
> >>  >>  >>
> >>  >>  >>
> >>  >>  >>
> >>  >>
> >>  >>
> >>  >>  --
> >>  >>  ---------------------------------------------------------------------
> >>  >>  IHMC	(850)434 8903 or (650)494 3973   home
> >>  >>  40 South Alcaniz St.	(850)202 4416   office
> >>  >>  Pensacola			(850)202 4440   fax
> >>  >>  FL 32501			(850)291 0667    cell
> >>  >>  phayes@ihmc.us       http://www.ihmc.us/users/phayes
> >>  >>
> >>  >>
> >>  >>
> >>
> >>
> >>  --
> >>  ---------------------------------------------------------------------
> >>  IHMC	(850)434 8903 or (650)494 3973   home
> >>  40 South Alcaniz St.	(850)202 4416   office
> >>  Pensacola			(850)202 4440   fax
> >>  FL 32501			(850)291 0667    cell
> >>  phayes@ihmc.us       http://www.ihmc.us/users/phayes
> >>
> >>
> >>
> 
> 
> -- 
> ---------------------------------------------------------------------
> IHMC	(850)434 8903 or (650)494 3973   home
> 40 South Alcaniz St.	(850)202 4416   office
> Pensacola			(850)202 4440   fax
> FL 32501			(850)291 0667    cell
> phayes@ihmc.us       http://www.ihmc.us/users/phayes
> 
> 
> 

Received on Tuesday, 20 January 2004 01:25:33 UTC