시즌 1 · 알파고편 / PART 1 · PART 1 · 바둑이라는 우주 / Ch 4 · 패 규칙

코드: 패 규칙 적용 play()

핵심은 단 두 줄 추가야. prev_board 인자를 받아서, 새 상태가 그것과 같으면 'ko' 반환하고 되돌림.

🔑 패 체크 로직
if prev_board is not None and board == prev_board:
    # 직전 상태로 돌아감 → 패 위반
    # 보드 되돌리고 'ko' 반환
    return 'ko'

파이썬 리스트 비교 ==는 모든 원소가 같은지 자동 확인. 2D 리스트도 그대로 동작.

코드를 실행하면 백이 (2,3)에 두려는 순간 'ko' 반환되면서 보드가 바뀌지 않는 게 보일 거야. 정확히 패 규칙이 작동한 거.

실제 진짜 알파고 구현에서는 positional superko라는 더 엄격한 규칙도 있어 (어느 시점 어느 상태와도 반복 금지). 우리는 일단 단순 패로 충분.

PYTHON