From de91a50581b52bb679d2b032fe03e0fa1e51e576 Mon Sep 17 00:00:00 2001 From: Marek Wolan Date: Tue, 27 Jun 2023 12:56:15 +0100 Subject: [PATCH] Improve readability --- src/primaite/environment/reward.py | 38 ++++++++++++++++++------------ 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/src/primaite/environment/reward.py b/src/primaite/environment/reward.py index 0befd547..aa9e4503 100644 --- a/src/primaite/environment/reward.py +++ b/src/primaite/environment/reward.py @@ -78,23 +78,31 @@ def calculate_reward_function( start_step = ier_value.get_start_step() stop_step = ier_value.get_end_step() if step_count >= start_step and step_count <= stop_step: - if not ier_value.get_is_running(): - if reference_ier.get_is_running(): - ier_reward = ( - config_values.green_ier_blocked - * ier_value.get_mission_criticality() + reference_blocked = reference_ier.get_is_running() + live_blocked = ier_value.get_is_running() + ier_reward = ( + config_values.green_ier_blocked * ier_value.get_mission_criticality() + ) + + if live_blocked and not reference_blocked: + _LOGGER.debug( + f"Applying reward of {ier_reward} because IER {ier_key} is blocked" + ) + reward_value += ier_reward + elif live_blocked and reference_blocked: + _LOGGER.debug( + ( + f"IER {ier_key} is blocked in the reference and live environments. " + f"Penalty of {ier_reward} was NOT applied." ) - _LOGGER.debug( - f"Applying reward of {ier_reward} because IER {ier_key} is blocked" - ) - reward_value += ier_reward - else: - _LOGGER.debug( - ( - f"IER {ier_key} is blocked in the reference and live environments. " - f"Therefore, no penalty was applied." - ) + ) + elif not live_blocked and reference_blocked: + _LOGGER.debug( + ( + f"IER {ier_key} is blocked in the reference env but not in the live one. " + f"Penalty of {ier_reward} was NOT applied." ) + ) return reward_value