*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
|내용 정리|
<Monte-Carlo Method Example - 01>
*그리드 예제로 Monte-Carlo Method 코드로 구현하기

- A: 에이전트의 시작 위치 (1,4)
- G: 목표 지점 (4,1)
- 회색 칸: 일반 상태 (이동 가능)
환경 설명:
- 상태 공간 (State Space):
- 4x4 그리드로 총 16개의 상태.
- 특수 상태: 시작점 A(1,4), 목표점 G(4,1).
- 행동 공간 (Action Space):
- 상(↑), 하(↓), 좌(←), 우(→) 4가지 방향.
- 전이 모델 (Transition Model):
- 에이전트는 선택한 행동 방향으로 확실히 이동 (확률적 불확실성 없음).
- 예: (1,4)에서 "우" → (2,4)로 이동.
- 벽 충돌 시 제자리 유지: 예) (1,4)에서 "좌" → (1,4) 유지.
- G(4,1) 도달 시 에피소드 종료.
- 보상 구조 (Reward):
- G 도달 시 +10, 그 외 모든 이동은 0.
- 할인 계수 (γ): 0.9.
- 정책 (Prediction 조건):
- 균일 무작위 정책: π(a|s) = 0.25 (모든 행동 동일 확률).
추가 정보:
- Control 방법: Exploring Starts(ES) 또는 ε-soft 정책 사용 가능.
- 목표: Monte-Carlo 방법으로 상태 가치 함수(V) 또는 최적 정책 학습.
1. environment.py
목적: 4x4 그리드 환경 구현 (에이전트, 목표, 전이 규칙, 보상).

step(): 행동 실행 후 다음 상태, 보상, 종료 여부 반환.

2. mc_prediction.py
목적: 주어진 정책(균일 무작위)으로 상태 가치 함수(V)와 행동 가치 함수(Q) 예측.

- calc_return(): 할인된 누적 보상 계산 (G_t = r_t + γ*r_{t+1} + γ²*r_{t+2} + ...).
- 평균 갱신: 모든 에피소드에서 관측된 보상의 평균으로 V(s) 업데이트.
3. mc_control.py
목적: Exploring Starts(ES)와 ε-soft 정책으로 최적 정책 학습.

- Exploring Starts: 첫 상태-행동을 무작위 선택하여 탐색 보장.
- ε-soft: 최적 행동에 1-ε 확률, 나머지에 ε/|A| 확률 할당.
출력
1. action_value_matrix
목적: 각 상태-행동 쌍의 예상 누적 보상(Q-값)을 나타냅니다.
구조: 행은 상태(16개), 열은 행동(상/우/하/좌)에 대응하는 Q-값

- 최대값: 높은 Q-값은 해당 행동이 최적임을 의미 (예: [..., 10.000, ...]는 목표 도달).
- 0.000: 해당 행동이 비효율적이거나 벽 충돌로 인해 보상이 없음.
2. 학습 과정 동적 변화
에피소드 3599 vs 3699 비교:

3. 최종 결과 ([9999] action_value_matrix)
최적 정책 추론: 각 상태에서 최대 Q-값 선택.

값 테이블 (value_table):

- 할인 계수 반영: γ=0.9로 인해 목표에서 멀수록 V(s) 감소.
- 목표 지점: (3,3)에서 최대 보상(+10) → V(s)=10.000.
4. 주요 이슈 및 디버깅 포인트
- 초기 학습 불안정성:
- 초반에는 Q-값이 급변하지만, 에피소드 증가 시 안정화됨.
- 예: [0.014, 8.850, ...] → [0.014, 8.860, ...].
- 탐색 vs 활용 균형:
- ε-soft 정책에서 eps=0.05로 설정된 경우, 5% 확률로 무작위 행동 선택.
- 일부 상태에서 Q-값이 낮은 이유는 탐색으로 인한 비최적 행동 시도 때문.
- 종료 상태 처리:
- 목표 도달 후의 상태([0.000, 0.000, 0.000, 0.000])는 학습 대상 아님.
요약
- 환경: 4x4 그리드, 목표 도달 시 +10 보상.
- 예측: 무작위 정책으로 V(s)와 Q(s,a) 계산.
- 제어: ES 또는 ε-soft로 최적 정책 학습 (탐색 vs. 활용 균형).
- 핵심 함수: calc_return (할인 보상), step (전이), returns (평균 갱신).
|인증|




-------
패스트캠퍼스 링크