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

>The brittleness argument against non-monotonic reasoning is a red
>herring.

I fundamentally disagree. It is absolutely central to the SWeb.

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

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

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

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

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 18:37:04 UTC