Anurag459/smart_elevator_system
0
1import random2from tasks import easy_env, medium_env, hard_env3from grader import compute_score4 5def run_env(env_name, env_fn):6 env = env_fn()7 state = env.reset()8 9 print(f"[START] task={env_name} env=elevator model=baseline")10 11 total_reward = 0.012 rewards = []13 done = False14 step_num = 015 16 try:17 while not done:18 action = random.choice([0, 1, 2])19 state, reward, done, _ = env.step(action)20 21 reward = float(reward)22 total_reward += reward23 rewards.append(reward)24 step_num += 125 26 print(27 f"[STEP] step={step_num} action={action} reward={reward:.2f} done={str(done).lower()} error=null"28 )29 30 score = compute_score(total_reward)31 score = max(0.0, min(1.0, score)) # clamp32 33 success = "true" if score > 0 else "false"34 35 except Exception as e:36 success = "false"37 print(f"[STEP] step={step_num} action=error reward=0.00 done=true error={str(e)}")38 39 rewards_str = ",".join(f"{r:.2f}" for r in rewards)40 41 print(42 f"[END] success={success} steps={step_num} score={score:.2f} rewards={rewards_str}"43 )44 45 46if __name__ == "__main__":47 run_env("easy", easy_env)48 run_env("medium", medium_env)49 run_env("hard", hard_env)