smartgrid.rewards.reward_collection.RewardCollection¶
- class smartgrid.rewards.reward_collection.RewardCollection(rewards: List[Reward])[source]¶
Bases:
objectThe RewardCollection holds all desired reward functions, and computes the rewards.
This class allows for multi-objective reinforcement learning, by holding several reward functions, and returning dicts of rewards (names -> values), instead of using a single reward function.
The multiple reward functions can be aggregated (scalarized) to adapt to single-objective learning algorithms, by using a
RewardAggregatorwrapper over the environment.- __init__(rewards: List[Reward])[source]¶
Create a RewardCollection based on a list of “reward functions”.
- Parameters:
rewards – The list of “reward functions” (actually instances of the
Rewardclass). This list must contain at least 1 element.
Methods
__init__(rewards)Create a RewardCollection based on a list of "reward functions".
compute(world, agent)Compute the list of
Rewardfor the Agent.reset()Reset the reward functions.
- compute(world: World, agent: Agent) Dict[str, float][source]¶
Compute the list of
Rewardfor the Agent.- Parameters:
world – reference on the world for global information.
agent – reference on the agent for local information.
- Returns:
A dictionary mapping the rewards’ name to their value, for each reward function in this Reward Collection.