코드: 틱택토 Game 인터페이스
틱택토를 알파고 인터페이스에 맞춰 구현. 5개 메서드만 구현하면 알파고 코드가 동작.
🎯 핵심 — Board 클래스와 거의 동일
PART 1의 Board와 비교:
- possible_moves(): 빈 자리 ✅ 동일
- play(move): 새 보드 반환 ✅ 동일
- is_terminal(): 승자 또는 보드 가득 ✅ 비슷
- winner_value(): -1/0/+1 ✅ 비슷
- to_input(): 3채널 (X/O/빈) ✅ 동일
차이: 보드 크기 (3x3), 종료 조건 (3 일직선)만. 인터페이스 그대로.
💡 이제 가능한 것
이 TicTacToe 클래스를 PART 5/6의 MCTS와 신경망 코드에 그대로 넘기면:
mcts_alphago(game, net, n_iter=500)— 동작!play_one_game(net)— 동작! (game 인스턴스만 바꾸면)- 학습 데이터 생성, 학습, 평가 — 모두 동작
알고리즘 코드는 0줄도 안 바꿈. 인터페이스의 힘.
📊 신경망 출력 크기만 조정
틱택토 9 자리 → 신경망의 policy 출력 크기 9 (alphago zero는 9+1=10 with pass).
알파고 7x7 49 자리 → 49. 19x19 → 361+1=362.
이것만 게임마다 다름. 나머지 100% 동일.
PYTHON