Rules

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