There is a point-like agent with ``active perception.'' It can
move about in a two-dimensional environment (details of the
environment are described in Section 4). The
agent's current position is given by a pair of real values. Its
current direction is given by variable Direction with range
.
MoveAgent(): Move the agentunit lengths in direction Direction, unless an obstacle or the environment's boundary blocks the path (the value 12 was chosen arbitrarily -- neither it nor any other arbitrarily chosen constants mentioned below have ever been changed during the experiments). Moving may lead to new inputs:
,
,
become equal to the agent's horizontal position, vertical position, and current direction, respectively. Here position components are rounded to integers between 1 and 1000, and directions are scaled to
and then rounded. If the point
unit lengths in front of the agent is within an obstacle or outside the enviroment, then
![]()
![]()
(the value 24 is chosen arbitrarily). Otherwise
![]()
. Similarly for
(input 90 degrees to the right),
(behind),
(to the left).
SetDirection(): Direction
. Compute new inputs like instruction MoveAgent().