First Ideas for an Autonomous Software Agent

You are here

(Articles tagged with “Developer’s Diary” are more sketches – ideas and thought processes behind current projects, so that they can be assembled as documentation at a later date. Comments and further thoughts are highly encouraged.)

The exercise consists of creating an autonomous software agent that interacts on a 2D plane. Also, it has to work together with other available agents.

In order to let the agent choose an appropriate action, it should contain a stack with possible tasks with priorities. In every turn, the task with the highest priority is executed.

Every task contains different actions that have to be done. Those actions are universal and can be shared.

Possible actions may be:

  • Finding the way to an object
  • Moving
  • Avoiding obstacles

Possible task could be:

  • Finding and absorbing food

The stack is used in order to allow for interruptions to happen. The agent will be able to answer to the interruption and take up the interrupted task afterwards. Given the assigned priority, the agent can also choose to ignore some interruptions and continue the started task.