[comp.ai] ATMS implementation query

bond@sce.carleton.ca (Greg Bond) (12/02/89)

I'm in the midst of designing an ATMS and have run into difficulties
surmising implementation details of typed conjunctive consumers from
deKleer's third paper (Problem Solving with the ATMS). I would appreciate
any help I can get (in the form of advice or pointers to papers, tech
reports or books) because any solution to the problem that I can think of is
rather kludgy - kludges do not belong in as elegant a mechanism as the ATMS.

deKleer states that a typed consumer is executed only if the node
receives a valid justification with another type.  I understand how this
concept applies to basic typed consumers but, assuming that they abide
by the same principles of operation, I cannot see how this applies to
typed conjunctive consumers.

deKleer explains that a conjunctive consumer is installed as a temporary
node with a basic consumer G.  G invokes the conjunctive consumer F from
the temporary node's justification informant when the temporary node is
updated to hold in some environment. 

If G is typed to reflect the type of F then G will not be executed until
the temporary node receives a valid justification with another type. 
Since it is a temporary node, it is invisible to the problem solver and
should never be justified again.  Thus, G will never be enqueued and,
therefore, neither will F. 

If G is not typed then, when the temporary node's label is updated to
hold in some environment, G will be executed and, therefore, so will F -
regardless of F's type. 

The type checking procedure for typed conjunctive consumers should be
checking the justification types of F's antecedents not the
justification types of G's antecedents. This would mean using
different type checking procedures for typed basic consumers and typed
conjunctive consumers - but this is not the impression I get from
reading deKleer's paper. Can anyone show me the error of my ways?

------------------------------------------------------------------
Greg Bond   ----->   bond@sce.carleton.ca
Dept. of Systems and Computer Engineering, Carleton University
Ottawa, ON, Canada K1S 5B6