정책 비교하기
MyGridWorld 환경에서 서로 다른 두 정책에 대응하는 두 개의 상태 가치 함수(value_function_1, value_function_2)가 제공되어 있습니다. 각 상태별로 이 상태 가치 함수들을 비교하여 어떤 정책이 더 효과적인지 판단하세요.
변수 num_states를 사용할 수 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 Gymnasium 기반 Reinforcement Learning
연습 안내
- 불리언 값으로 이루어진 리스트
one_is_better를 만드세요. 각 원소는 해당 상태에서value_function_1의 값이value_function_2의 값보다 크거나 같으면 참이 되도록 하세요. - 불리언 값으로 이루어진 리스트
two_is_better를 만드세요. 각 원소는 해당 상태에서value_function_2의 값이value_function_1의 값보다 크거나 같으면 참이 되도록 하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
value_function_1 = {0: 1, 1: 2, 2: 3, 3: 7, 4: 6, 5: 4, 6: 8, 7: 10, 8: 0}
value_function_2 = {0: 7, 1: 8, 2: 9, 3: 7, 4: 9, 5: 10, 6: 8, 7: 10, 8: 0}
# Check for each value in policy 1 if it is better than policy 2
one_is_better = [____ >= ____ for state in range(num_states)]
# Check for each value in policy 2 if it is better than policy 1
two_is_better = [____ >= ____ for state in range(num_states)]
if all(one_is_better):
print("Policy 1 is better.")
elif all(two_is_better):
print("Policy 2 is better.")
else:
print("Neither policy is uniformly better across all states.")