namespace MLAgents.RewardProvider { /// /// Reward providers allow users to provide rewards for Agent behavior during training in order to /// give hints on what types of actions are "better" than others based on an Agent's previous observation. /// public interface IRewardProvider { /// /// Get an incremental reward to pass along to a trainer. /// /// float GetIncrementalReward(); /// /// This function is called on every step of the simulation and should be /// used as a place to store an 's incremental reward /// before the reward is sent off to the brain from the /// method. /// void RewardStep(); /// /// Notifies the RewardProvider that the current reward should be reset. If done is false, /// the incremental reward should only be reset, otherwise both the incremental and cumulative /// reward should be reset. /// Flag indicating whether the Agent episode is done or not. /// void ResetReward(bool done=false); } }