
A rule has four parts:
1. An input part which is a set of expressions
which match to incoming or stored data, producing
a set of variable values.
2. A computation part which takes these variables
and, using arbitrary code, computes values of
some other variables to be used in the output.
In my model, I used Prolog code, one can also
include C code.
3. An output part, which specified expressions to
be constructed by the rule
4. A weights part, which specifies the relative weights
of each input expression and each output expression
in computing the weight of the output expressions.
Example:
% rule person_action_1a create self_orient_head_toward
% in response to request from plan_person_action
% for transmission to plan_person_action
inputs: plan_person_request(M1)
   requested_position(M1,X1,Y1,Z1)
   self_position(M,X,Y,Z)
   self_orientation(M,O)
body: compute whether my head is oriented towards X1,Y1,Z1
outputs: self_orient_head_towards(M,M1)
back to systems page
back to cs286 page
back to teaching page
back to home page
