Spaces:
Running
Running
File size: 1,254 Bytes
877add7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | """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
|