| # grader.py | |
| def compute_score(total_reward, max_possible_reward): | |
| """ | |
| Normalize score between 0 and 1 | |
| """ | |
| if max_possible_reward <= 0: | |
| return 0.001 | |
| score = total_reward / max_possible_reward | |
| return max(0.001, min(0.999, score)) | |
| def evaluate_episode(rewards, max_per_step=15): | |
| total_reward = sum(rewards) | |
| max_possible = len(rewards) * max_per_step | |
| return compute_score(total_reward, max_possible) | |
| def evaluate_task1(rewards): | |
| return evaluate_episode(rewards, 15) | |
| def evaluate_task2(rewards): | |
| return evaluate_episode(rewards, 15) | |
| def evaluate_task3(rewards): | |
| return evaluate_episode(rewards, 15) | |