- From: Drew McDermott <drew.mcdermott@yale.edu>
- Date: Thu, 2 Nov 2000 11:24:03 -0500 (EST)
- To: phayes@ai.uwf.edu
- CC: drew.mcdermott@yale.edu, www-rdf-logic@w3.org
Drew, I am puzzled as to what you are talking about.
No doubt you're not the only one.
Can you expand a bit on what you mean by a "scenario" here? (Let's
avoid the word "situation" which already has at least three distinct
technical AI/logical meanings, none of which I think you mean.
Correct me if Im wrong.)
I'll go with "scenario" too.
>Perhaps this is all wrong, but my main purpose in introducing it is to
>explain why we need to describe scenarios.
It would help to know what they were before trying to describe them.
A scenario is a type of state of affairs, as opposed to a particular
state of affairs. I don't mean to suggest that it's the state at a
particular time; perhaps "type of true proposition" is more accurate.
For example, a scenario might be "There's a war, and afterwards an
economic depression"; or, "A disaster happened, and several people had
a premonition that such a thing was going to happen." (A scenario
doesn't even have to refer to a possible state of affairs, although
logically impossible states will give us the usual problems.)
>...
>The obvious way to represent scenarios is with lambda-expressions,
>which bind variables that then take part in descriptions.
In the usual meaning of lambda-expressions, they denote functions
(from whatever their variables are interpreted to denote, to the
value of the body when the variables are so interpreted.) Should we
infer that a scenario is a kind of function? (From what to what?)
Because is a scenario is a *type* of state of affairs, we require a
*description* of a set of individuals that take part in it. A
description is a function from n-tuples to propositions. Hence a
scenario has type T1 x T2 x ... X Tn -> propositions. The expression
(lambda (x y) (war x) & (econo-depression y) & (immediately-precedes x y))
is a function from Object x Object -> prop, i.e., a scenario involving
two objects such that one is a war, the other is a depression, and the
first precedes the second. (It's probably a good idea to refine the
types, but that's an orthogonal issue.)
>For
>instance, if I'm trying to explain what makes cars go, the scenario
>might be
>
>(lambda (x y)
> (is-a x car) & (is-a y human)
> & (able y (cause (move x)))
> & (method y (move x)
> (push (lambda (z) (is-a z pedal)
> & (part z x accelerator)))))
That seems to be a binary function to a truthvalue, ie a relation.
We can't quite have that, because we're dealing in hypothetical
entities. So reinterpret "&" (and other connectives) to operate on
propositions and return a proposition as value. (If you wish, treat a
proposition as a function from possible worlds to truth values.)
However it also seems to say that the way to make the car go is to
push a function, which suggests that you don't have the usual
semantics of lambda-expressions in mind. (Or else 'push' is some kind
of higher-order functional (?))
That was sloppy. I should have used the location (do-for-some p a),
where p is a description of an object (T -> prop) , and a is a
description of an action (T -> action). So the "push" part should
have read
(do-for-some (lambda (z) (is-a z pedal)
& (part z x accelerator))
(lambda (z) (push z)))
I hope this clarifies things.
The only remaining question was about the "metaness" of one of my
examples. I just meant that the example talks about ontologies as
objects, in the midst of a discussion of ontologies as notation
systems.
-- Drew
Received on Thursday, 2 November 2000 11:24:15 UTC