edu.columbia.cs.coms4701.agent
Interface AgentProgram<K extends AgentAction,P extends AgentPercept>

All Known Subinterfaces:
GamePlayingAgentProgram<K,P,S>, LRTAStarAgentProgram<K,P,S>, OnlineAgentProgram<K,P,S>, OnlineDFSAgentProgram<K,P,S>, OnlineGreedyAgentProgram<K,P,S>, OnlineHeuristicAgentProgram<K,P,S,R>, PenteAgentProgram, ReflexWithStateAgentProgram<K,P,S>, SimpleProblemSolvingAgentProgram<K,P,S>, SimpleReflexAgentProgram<K,P,S>
All Known Implementing Classes:
AWHOnlineDFSAgentProgram, PenteAgentPerceptDumper, PenteAgentProgram, PenteAgentProgram, RoombaAgentProgram

public interface AgentProgram<K extends AgentAction,P extends AgentPercept>

An AgentProgram is the exciting bit -- it receives percepts from the environment, and emits actions.

AgentPrograms should supply a no-parameter constructor.

Version:
0.1

User: aaron Date: Aug 23, 2006 Time: 5:18:17 PM

Author:
aaron@cs

Method Summary
 java.lang.String getAuthor()
          Should return the UNI of the author of the program.
 java.lang.String getDescription()
          Should return a short description of the program, used to distinguish different agent agentprograms by the same author.
 K nextAction(java.util.Set<P> thePercepts)
          The essence of agent AI: Given a set of percepts, chooses an action.
 

Method Detail

nextAction

K nextAction(java.util.Set<P> thePercepts)
The essence of agent AI: Given a set of percepts, chooses an action. given the current

Parameters:
thePercepts - set of percepts from the environment
Returns:
the next action.
See Also:
"Russell & Norvig p.44 (2.4)"

getAuthor

java.lang.String getAuthor()
Should return the UNI of the author of the program.

Returns:
a UNI, e.g. "awh2101"

getDescription

java.lang.String getDescription()
Should return a short description of the program, used to distinguish different agent agentprograms by the same author. e.g. "SMA* search with a crappy heuristic function"

Returns:
short description of program