Re: Nonmonotonic rules

> >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.

> 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"
...

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.

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 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 :-)


> >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, 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.


> >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?  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.

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.
You are simply refusing to call a spade a spade.


> >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.


> >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.


	--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
> 
> 
> 

Received on Thursday, 15 January 2004 22:09:04 UTC