Re: Nonmonotonic rules

>  >
>  > >Pat,

<snip> (Message is getting too long)

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

The latter.

<snip>

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

Well, it got the discussion started, right? I admit to having found 
myself frustrated by the sense that many controversial positions were 
becoming just accepted as given without adequate discussion, hence my 
abrupt tone.

<snip>

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

That actually seems quite likely: it is probably best in areas like 
this to stick to time-tested methods if one can.  But the issue which 
may be merely terminological to some, but seems crucial to me, is 
that it is possible to cast circumscription in terms of an 
*identified* nonmonotonic assumption which can be stated explicitly 
(the minimization of 'abnormal'), and so this framework allows 
information to be conveyed within a globally monotonic system of 
communication.

<snip>

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

No, this is unfair. The point that Tim made (the words are mine, but 
the point is his) does not depend on developing a logic. It is a 
general architectural point about the Web, and can be viewed as a 
*requirement* on a web logic. If one wanted a more detailed 
expression of it, the place to look would be the REST architectural 
theory.

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

Excellent. This seems then to be a useful reference point of 
agreement. I would be happy if this discussion could be conducted on 
this basis, at least, rather than as being about mon vs. nonmon.

<snip>

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

Ah. That is a completely different view of how the SW operates than I 
have previously come across, and indeed suggests a resolution of the 
debate. Let me check my understanding. You see a clean distinction 
between ontological information and data, and regard talk of classes 
as belonging to the ontology level: and then a rule may apply 
(possibly non-monotonically) to a class in the sense that it is 
applied  to *elements* of this class, ie to data, or objects, which 
satisfies the class description; and the class itself - or more 
properly the ontology describing the class - *is* the necessary 
information about the intended domain of application of the 
non-monotonic rule. In the terminology I have been using, the entire 
ontology is 'meta-information' about the applicability of the rule.

Is that more or less right? This is an elegant way of combining the 
'OWL' view of classes, where they are simply the extensions of 
logical predicates, with the OO (what I think of as the Java) view of 
classes, where they are categorizations of computational 'objects'.

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

I see now that we have been talking at cross purposes. I assumed it 
would not, because in my understanding of what a nonmonotonic rule 
would be doing, there was no provision in any of the extant SW 
standards or protocols for supplying this meta-information. I (think 
I) see that with your understanding of the role of the rules, things 
like RDFS and OWL already constitute that meta-information.  However, 
if I have this more or less right, this view seems to require a more 
delicate account of the relationship between the rules and the 
ontology language. The ways that rules relate to class descriptions 
is rather different here from the way that Ian Horrocks and Benjamin 
talk about this relationship, where both the rule language and the DL 
descriptions are simply sublanguages of a common logical framework. 
For example, there is no notion of 'constraint' in that world, 
whereas it would seem to be central in your view.

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

Fair enough, but I think that the resolution of the argument lies not 
so much in SWS\subset SW as in the *way* that you see SWS using the 
SW formalisms. I have been assuming that SW content is data: you have 
been assuming that it is meta-data. If it is meta-data then indeed 
many of my 'how can that be done??' worries are answered immediately; 
and in that case, also, my objections to nonmon reasoning do not 
apply with anything like the same force, or even at all, to 
data-level reasoning. I need to think about this some more, obviously.

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

Point taken. Though I think you really mean, too 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.

I don't mean to block anything, only to get the issues debated. 
Certainly this thread has been very useful to me in clarifying what 
we are all talking about.

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

No, really, I insist: as a conclusion, as stated, it is false. I 
think that your point would be better expressed by saying that this 
kind of *conclusion* is not something that a service would ever 
publish.

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

Well, yes, of course I have no quarrel with that: but now, I have a 
different puzzle: why does this require any *publication* of 
nonmonotonic rules at all? Why does it require ANY kind of content 
publication? This sounds to me like a piece of code that is running 
somewhere and providing a service: it might even be proprietary; in 
any case, it does not need to be publishable, any more than the code 
of a query-answering system needs to be publishable.

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

Or just that it couldn't find the flight. I may prefer to treat your 
entire service as an opaque agent with various capabilities, which I 
will describe using an ontology.

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

Right. Though in my terminological niche, being explicit about its 
caveats would make it something very close to being a monotonic 
service.

>Note that the service can have all kinds of things inside,
>including loops through (non-mon) negation.

Absolutely. My concern is entirely to do with the global semantics of 
the publication of content (or conclusions from content) , not the 
processes used to draw the conclusions. Internally it might consult 
Tarot cards for all I know.

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

Fair enough. And that might well be a useful claim to publish, of 
course, partly in order to help 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.

Indeed. There may be no differences, given my newer understanding of 
how you intend that nonmon rules are to be used. I think we may have 
been viewing the world from  different metalevels, as it were.

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

Terminology again, but I think that I might characterize what you are 
doing as nonmonotonic reasoning 'under' the Semantic Web rather than 
'on' it.

Pat Hayes
-- 
---------------------------------------------------------------------
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 16:32:24 UTC