File size: 1,025 Bytes
90ca39a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
using AIMA.Agent.Action;
using AIMA.Agent.Percept;
using System.Collections.Generic;
namespace AIMA.Agent.Environment
{
public interface IEnvironment<T1,T2> where T1 : IAction where T2 : IPercept
{
IReadOnlyDictionary<IAgent<T1, T2>, double> ReadOnlyPerformanceMeasures { get; }
IList<IAgent<T1,T2>> GetAgents();
void AddAgent(IAgent<T1,T2> agent);
void RemoveAgent(IAgent<T1,T2> agent);
IList<IEnvironmentObject> GetEnvironmentObjects();
void AddEnvironmentObject(IEnvironmentObject environmentObject);
void RemoveEnvironmentObject(IEnvironmentObject environmentObject);
void Step();
void Step(int n);
void StepUntilDone();
bool IsDone();
double GetPerformanceMeasure(IAgent<T1,T2> agent);
void AddEnvironmentView(IEnvironmentView<T1,T2> environmentView);
void RemoveEnvironmentView(IEnvironmentView<T1,T2> environmentView);
void NotifyViews(string message);
}
}
|