next up previous
Next: Documenting a BOD Agent Up: Trading Off Control and Previous: Deictic State as Well

Specialized Instead of Deictic State

Instead of using a simple reference, we could also use a more complicated representation, say an allocentric representation of where the obstacle is relative to the bug, that is updated automatically as the bug moves and forgotten as the bug moves away from the location of the impact. Since this strategy requires the state to be updated continuously as the bug moves, walking must be a method (find-way) on this behavior.


@1 &&&&*+[F]specialized-avoid
local-map [llll]^-store-obstacle_-back-up, find-way &&&[lll]^-feeler info




\begin{displaymath}
\mbox{{\bf walk} } \Rightarrow
\left\uparrow
\left\langle \b...
... \mbox{ find-way}\nonumber
\end{array} \right\rangle \right.
\end{displaymath}  



\begin{displaymath}
\mbox{{\bf react-to-bump} } \Rightarrow
\langle \mbox{store-obstacle} \rightarrow \mbox{walk backwards} \rangle
\end{displaymath} (5)

If this is really the only navigation ability our bug has, then the vast increase in complexity of the behavior specialized-avoid does not justify the savings in control state. On the other hand, if our bug already has some kind of allocentric representation, then it might be sensible to piggy-back the feeler information on top of it. For example, if the bug has a vector created by a multi-faceted eye representing approximate distance to visible obstacles, but has bumped into something hard to see (like a window), it might be parsimonious to store the bump information in the vision vector, providing that updating the information with the bug's own motion isn't too much trouble. Insects actually seem able to do something like this (21), and I've done it with a robot (9).


next up previous
Next: Documenting a BOD Agent Up: Trading Off Control and Previous: Deictic State as Well
Joanna J. Bryson 2005-07-08