Remote agent: Difference between revisions

Content added Content deleted
m (moved Rosetta Code:Village Pump/Remote agent to Remote agent: Finished writing the description. I think.)
(Set up for the three tasks.)
Line 1: Line 1:
I'm working on a set of three tasks revolving around the concept of a 'remote agent.' The overarching theme of the task set is to have a simple, stateful world with an agent that operates on the world's state until the end conditions are met. The world is a grid of colored squares, and is populated to some percentage by colored balls. The ending condition is when all balls are in a square of the correct color. The perspective of the agent is limited; it is not given an overview of the world. It only knows its surroundings by responses to its actions. --[[User:Short Circuit|Michael Mol]] 07:44, 14 February 2010 (UTC)
This is a set of three tasks revolving around the concept of a 'remote agent.' The overarching theme of the task set is to have a simple, stateful world with an agent that operates on the world's state until the end conditions are met. The world is a grid of colored squares, and is populated to some percentage by colored balls. The ending condition is when all balls are in a square of the correct color. The perspective of the agent is limited; it is not given an overview of the world. It only knows its surroundings by responses to its actions. Read on below for a complete description of the virtual world, interface commands and stream protocol.


Each of the three tasks satisfies a different goal:
Each of the three tasks satisfies a different goal:
# Implement the world simulation, accept and respond to agent commands via a stream interface.
# [[Remote agent/Simulation|Implement the world simulation, accept and respond to agent commands via a stream interface]].
# Implement the agent side of the stream interface in a manner idiomatic to the language.
# [[Remote agent/Agent interface|Implement the agent side of the stream interface in a manner idiomatic to the language]].
# Use the agent stream interface to satisfy the end conditions.
# [[Remote agent/Agent logic|Use the agent stream interface to satisfy the end conditions]].


Here is a description of the world and commands. The stream protocol below should be common among all implementations; any agent interface implementation should work equally well with any of the world simulation implementations.
Here is a description of the world and commands. The stream protocol below should be common among all implementations; any agent interface implementation should work equally well with any of the world simulation implementations.