Spaces:
Running
Running
| """Curriculum helpers.""" | |
| from __future__ import annotations | |
| from app.common.enums import Difficulty, SubEnvironment | |
| def pick_difficulty(episode_index: int) -> Difficulty: | |
| if episode_index < 20: | |
| return Difficulty.EASY | |
| if episode_index < 40: | |
| return Difficulty.MEDIUM | |
| return Difficulty.HARD | |
| def pick_sub_environment(episode_index: int, difficulty: Difficulty) -> SubEnvironment: | |
| # Curriculum starts in DDI/risk-heavy cases then introduces bandits/dosing. | |
| if difficulty == Difficulty.EASY: | |
| return SubEnvironment.DDI if episode_index % 2 == 0 else SubEnvironment.REGIMEN_RISK | |
| if difficulty == Difficulty.MEDIUM: | |
| if episode_index % 4 == 0: | |
| return SubEnvironment.BANDIT_MINING | |
| if episode_index % 4 == 1: | |
| return SubEnvironment.ALTERNATIVE_SUGGESTION | |
| return SubEnvironment.REGIMEN_RISK | |
| if episode_index % 5 == 0: | |
| return SubEnvironment.PRECISION_DOSING | |
| if episode_index % 5 == 1: | |
| return SubEnvironment.LONGITUDINAL_DEPRESCRIBING | |
| if episode_index % 5 == 2: | |
| return SubEnvironment.WEB_SEARCH_MISSING_DATA | |
| if episode_index % 5 == 3: | |
| return SubEnvironment.NEW_DRUG_DECOMPOSITION | |
| return SubEnvironment.REGIMEN_RISK | |