To summarize, the focusser delivers to the appropriate behavior component the accurate sensory information about the object of interest as well as the motor preferences reflecting the current environmental conditions. This design not only provides highly focussed attention for efficiency, but also allows influence from environmental conditions to achieve compromised actions.
As is indicated by the examples in the previous section, motor
preferences are used in two ways. In the first way they are used to
influence the choice of a proper action. This is done by influencing
both the selection of a proper motor skill (e.g., example 1 above) and
the calculation of the corresponding control parameters. In the case
where all possible actions are accompanied by equal-strength negative
motor preferences, an action gets chosen at random and the
corresponding control parameters (angle or speed) are modified to
accommodate the preference. For example, suppose the
right-turn-MC is chosen and the calculated angle of turn is
,
since
, the final, compromised angle of
turn will be
. Similar modification of
motor control parameters is also performed in the case where the
chosen action is accompanied by a negative preference. Positive
preferences do not have any effect on the control parameters.
In the second way, the motor preferences are used to help the focusser
locate the object of interest. This process demonstrates a certain
level of compromise among different desires. Typical cases include
targeting the most desirable food source and mating partner. In each
case, there is an evaluation criterion according to which a real
valued `desirability'
is calculated for each potential
target i (i.e. food source or mate). Assuming
where
n is the number of potential targets, then the procedure for
choosing the most desirable target can be specified in pseudo code
(D[i] represents
):
for (i = 1:n)
sort(D[i]); // D[1] has the largest value.
if (n==1 || D[1]>>D[2])
target := 1;
else {
K := min[N, n]; // N is a small integer. Typically, N=3.
for (k = 1:K) {
calculate RelPos[k]; // RelPos[k] is the relative position of (k) to fish.
// RelPos can have three values: left, right, front.
p := 0.2; // is a small weight factor.
D[k] += p*M(RelPos[k]); // M(front) = M(FORWARD).
}
for (k = 1:K)
D[i] := max{D[k]};
target := i;
}
The desirability calculation for a food source is, for simplicity,
solely based on its distance to the fish. Let
be the distance of
food i to the fish, then
where
is the
fish's perceptual range described earlier. The desirability of a
mating partner will be described in Section
.
| Xiaoyuan Tu | January 1996 |