# ==========================================================
# 2칸 그리드 월드: 최적 정책 mu_3 (Right, Left) 파이썬 시뮬레이션
# ==========================================================

gamma = 0.9  # 시간 할인율 (Discount Factor)
V_L1 = 0.0   # 상태 L1에서의 할인 누적 수익 합계 변수 초기화

# 200 타임 스텝 동안 에이전트의 핑퐁 움직임 시뮬레이션
for step in range(200):
    # 짝수 스텝 (0, 2, 4, ...): L1 -> L2 이동 (사과 획득, 보상 +1.0)
    if step % 2 == 0:
        reward = 1.0
    # 홀수 스텝 (1, 3, 5, ...): L2 -> L1 이동 (사과 재생성, 보상 0.0)
    else:
        reward = 0.0
    
    # 할인 누적 보상 합산: G_t += gamma^step * reward
    V_L1 += (gamma ** step) * reward

# 이론적 무한등비급수 수식 해: 1 / (1 - gamma^2)
theoretical_value = 1.0 / (1.0 - (gamma ** 2))

print(f"파이썬 시뮬레이션 v_mu3(L1): {V_L1:.4f}")
print(f"무한등비급수 이론 수식 해 1/(1-0.81) : {theoretical_value:.4f}")
