David H. Johnson Simulated Robot Soccer Assignment
The purpose of this assignment is to create an intelligent soccer team. The teams must be executable in either the JavaSoccer or ASCIISoccer simulation environments. Information for these packages can be found at their respective sites:
The soccer players must posses some intelligence in order to play a good game of soccer, and this intelligence can be implemented in several ways. The players can be either homogeneous (ie the SchemaDemo team) or heterogenous (ie the BasicTeam). On a homogeneous team, each member is attempting to do the same thing, only from a different perspective (ie different sensor readings). Whereas with a heterogenous team each member is programmed to do a specific task and work together as a team. I chose a heterogenous approach to the team.
The individual team members can be classified by what type of intelligent agent they are: Reflexive, State-Based, or Goal-Oriented. These are the three basic intelligent agent types introduced in Russell and Norvig*s _Artificial Intelligence: A Modern Approach_. The reflexive agent is one that takes sensory input and reacts directly on that input. Each time it receives new input it responds without any reference goals or previous experience. Slightly more complex than reflex agents are state-based agents.
These have previous state knowledge such as *i was just trying to intercept a pass* and use this knowledge along with the current sensor input and a world model to choose an action to take. The final agent type is goal-oriented.
Goal-oriented agents have a specific goal to accomplish, and attempt to predict the effects of possible actions to determine which action is most useful for reaching the goal. My team members are reflexive agents.
A final classification of intelligent agents is whether or not they learn. The intelligence can be hard-coded (through heuristics) or they can learn from previous experiences. The robots for this assignment do not learn. They have hard-coded heuristics. Reflexive, heuristic, and heterogenous robots were chosen to hopefully show that relatively dumb robots working together can perform well.