Pat email April 10, 2012
Suppose that agent X has just solved a blocks world problem. In the
initial state, blocks A and B were on the table and block C was on B.
Further suppose the goals involved having A on B, and that X has
solved the problem by unstacking C from B to the table, then stacking
A on B. We should not have any difficulty representing this information.
[Note this assumes nonstandard versions of unstack and stack that move
a block directly from another block to the table and vice versa.]
However, if we ask agent X what was in his mind during his solution,
he will tell us much more. For example, he might say:
I had a goal to get A on B.
I expected that stacking A on B from the table would produce a state
in which A was on B.
Thus, I created a goal to stack A on B from the table.
But one of the conditions of stacking A on B, that B be clear, was
not satisfied.
So I created a goal to have B clear.
I expected that unstacking C from B to the table would produce a state
in which B was clear.
Thus, I created a goal to unstack C from B to the table.
The conditions for unstacking C from B were satisfied, so I carried
out this action.
Carrying out this action achieved the associated goal.
The action also produced a state in which, as expected, B was clear.
Thus, this state satisfied the goal of having B clear.
The conditions was stacking A on B were satisfied, so I carried out
this action.
Carrying out this action achieved the associated goal.
The action also produced a state in which, as expected, A was on B.
Thus, this state satisfied the goal of having A on B, which solved
the original problem.
This trace adopts the distinction between state-like and action-like
goals that we discussed at our recent meeting. It also distinguishes
between action-like goals and beliefs that the agent has actually
carried out the action. The trace hints at a need for explicit
expections, which we will definitely need at some stage, since they
may not always be met, although that does not happen in this case.
====================================
Pass2 - time - reification - triples
This leaves out Pat's mete comments and takes Will's remark
seriously that blocks world is not mentioned in the dialog
Two people me and bob ('bob' is describing to 'me' what he/"bob' did)
I had a goal to get A on B.
(hear me (say bob (that
(goal me (in W1 (on A B))) )))
I expected that stacking A on B from the table would produce a state
in which A was on B.
(hear me (say bob (that
(expected me (in (do me W1 (stack A B)) (on A B))) )))
here we have the problem of what is an 'action'
(stack A B) is unlikely to be an 'action/rule' for us
as it does not articulate ALL the parameter. Perhapss
(expected me (in (do (stack me W1 A B)) (on A B))) )))
here (in ?W ?E) means that
?E can be found in the belief structure of ?W
note that 'do' is imagined to be descrictive SO
(do (stack bob W1 A B)) (if doable) would result in changing
the belief structure of W1 to contain the effects of stacking
and it would 'replace' the belief structure W1 in bob
SO in the next utterance bob would still refer to this as W1
in this sense we (temporarily) beg the issue of time.
Thus, I created a goal to stack A on B from the table.
(hear me (say bob (that
(done (add-to me me (goal me (do (stack me W1 A B))))) )))
This ugly collections of me is because 'add-to' is an action
which requires both an agent and a world as a parameter
But one of the conditions of stacking A on B, that B be clear, was
not satisfied.
(hear me (say bob (that (and
(precondition (do me W1 (stack A B)) (in W1 (clear B)))
(not (in W1 (clear B))) ))))
note (in W1 (clear B)) means that
the expression (clear B) can be found
in the belief structure of W1
confusing logical 'satisfaction' with this seems wrong
so I use 'in' instead of 'satisfy' for relations
abduction could be used here
to fill in bob's knowledge about actions in W1
So I created a goal to have B clear.
(hear me (say bob (that
(done (add-to me me (goal me (do (clear me W1 B))))) )))
I expected that unstacking C from B to the table would produce a state
in which B was clear.
(hear me (say bob (that
(expected me (in (do me W1 (unstack C B)) (clear B))) )))
Thus, I created a goal to unstack C from B to the table.
(hear me (say bob (thet
(done (add-to me me (goal me (in W1 (unstack C B)))) )))
The conditions for unstacking C from B were satisfied, so I carried
out this action.
(hear me (say bob (that (and
(all-in W1 (predonditions (unstack me W1 C B)))
(done (unstack me W1 C B)) ))))
Carrying out this action achieved the associated goal.
(hear me (say bob (that
(achieved (doing (do (unstack me W1 C B))) (goal me (in W1 (clear B)))) )))
The action also produced a state in which, as expected, B was clear.
(hear me (say bob (that (and
(satisfied (expected me (in (do (unstack me W1 C B)) (clear B))))
(in W1 (clear B)) ))))
Thus, this state satisfied the goal of having B clear.
(hear me (say bob (that
(satisfied (goal me (in W1 (clear B))) )))
The conditions was stacking A on B were satisfied, so I carried out
this action.
(hear me (say bob (that (and
(all-satisfied W1 (preconditions (stack A B)))
(done (stack me W1 A B)) ))))
Carrying out this action achieved the associated goal.
(hear me (say bob (that
(satisfied (goal me (in W1 (on A B)))) )))
The action also produced a state in which, as expected, A was on B.
(hear me (say bob (that
(satisfied (expectation me (in W1 (on A B))))
(in W1 (on A B)) )))
Thus, this state satisfied the goal of having A on B, which solved
the original problem.
(hear me (say bob (that (and
(satisfied (goal me (in W1 (on A B))))
(solved problem) ))))
by abduction
(do (solve-problem me me (on W1 A B)))
This contains a litany
Have expectation
create goal
try to satisfy goal
this could be turned into a 'higher level' activity/action