public override float CalculateUtility(Dictionary <string, Gene> genes, Dictionary <string, AgentProperty> properties, List <AgentLookData> lookData) { float highestUtility = float.MinValue; lookData.ForEach(data => { float utility = agentProgram.UtilityFunction(genes, properties, data); if (utility > highestUtility) { highestUtility = utility; _highestData = data; } }); currentUtility = highestUtility; return(highestUtility); }
public abstract float UtilityFunction(Dictionary <string, Gene> genes, Dictionary <string, AgentProperty> properties, AgentLookData lookData);