import AgentSystemPluginAPI.Contract.IAgentSystem; import AgentSystemPluginAPI.Contract.IAgentSystemPluginDescriptor; import AgentSystemPluginAPI.Contract.TAgentSystemDescription; import AgentSystemPluginAPI.Services.IAgent; import AgentSystemPluginAPI.Services.IPluginServiceProvider; import EnvironmentPluginAPI.Contract.TEnvironmentDescription; import EnvironmentPluginAPI.Exceptions.TechnicalException; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; /** * Created with IntelliJ IDEA. * User: Jason * Date: 28.11.12 * Time: 21:17 * To change this template use File | Settings | File Templates. */ public class CliffQLearningAgentDescriptor implements IAgentSystemPluginDescriptor { @Override public TAgentSystemDescription getDescription() { Set<TEnvironmentDescription> compatibleEnvironments = new HashSet<TEnvironmentDescription>(); compatibleEnvironments.add(new TEnvironmentDescription("The Cliff", "v0.01", "")); return new TAgentSystemDescription("Cliff QLearning Agent", "v0.01", "The QLearning implementation of a simple agent that moves within a gridworld.", compatibleEnvironments); } @Override public List<IAgent> getInternalAgents() { List<IAgent> result = new ArrayList<IAgent>(); return result; } @Override public IAgentSystem getInstance(IPluginServiceProvider pluginServiceProvider) throws TechnicalException { return new CliffQLearningAgentSystem(pluginServiceProvider); } }