비트보드 기반 테트리스 AI와 고효율 강화학습 프레임워크
초록
**
본 논문은 32비트 컬럼 기반 비트보드 설계와 afterstate‑기반 액터 네트워크, 버퍼 최적화 PPO를 결합해 기존 테트리스 엔진보다 53배 빠른 시뮬레이션을 구현하고, 10×10 그리드에서 3분 안에 평균 3,829점이라는 성능을 달성한다. 또한 Java‑Python 인터페이스를 제공해 OpenAI Gym과의 호환성을 확보한다.
**
상세 분석
**
논문은 세 가지 핵심 기술적 혁신을 제시한다. 첫째, 비트보드(bitboard) 구조를 도입해 게임 보드를 10개의 32‑bit 정수로 표현한다. 각 비트는 해당 열의 셀 점유 여부를 나타내며, 비트 연산(AND, OR, SHIFT)만으로 충돌 검사, 회전, 하강, 라인 삭제를 수행한다. 특히 라인 삭제는 전체 행을 한 번에 XOR‑mask 로 처리해 O(1) 시간 복잡도를 달성했으며, Dellacherie‑Thierry(DT) 피처(착지 높이, 구멍, 웰 등)도 비트 연산 기반으로 즉시 계산한다. 이러한 설계는 기존 Python‑only 구현이 10,000 샘플당 12.92 초 걸리던 것을 0.24 초로 단축, 즉 53배 가속을 실현한다.
둘째, afterstate 개념을 활용한 액터 네트워크를 설계한다. 테트리스에서 afterstate는 현재 조각을 놓은 직후, 다음 조각이 등장하기 전의 보드 상태를 의미한다. 이 상태만으로 미래 보드 분포를 기대값으로 추정할 수 있기 때문에, 액터는 afterstate 피처를 입력으로 받아 가치 V(afterstate)를 직접 출력한다. 기존 Q‑value 기반 액터는 모든 가능한 (조각, 회전, 위치) 조합에 대해 별도 입력을 필요로 하지만, afterstate‑actor는 한 번의 피처 계산으로 모든 행동에 대한 비교가 가능해 파라미터 수와 연산량을 크게 줄인다. 실험에서는 파라미터 30 % 감소에도 불구하고 성능이 유지되거나 향상되는 것을 확인했다.
셋째, PPO 알고리즘을 버퍼‑최적화 형태로 변형한다. 일반 PPO는 전체 트라젝터리를 수집한 뒤 여러 에포크에 걸쳐 업데이트하지만, 저자는 경험 버퍼를 미니‑배치 단위로 샘플링해 GAE(Generalized Advantage Estimation)와 클리핑 손실을 동시에 적용한다. 이로써 학습 스텝을 기존 방법 대비 1,058배(≈61 k 샘플)로 감소시키면서도 평균 3,829점이라는 경쟁력 있는 점수를 얻었다.
실험에서는 10×10 그리드와 10×20 그리드 두 환경을 모두 평가했으며, 비트보드‑PPO 조합이 기존 BCTS, dSiLU‑TD(λ), STEW 등과 비교해 샘플 효율성·속도·점수 모두에서 우위를 보였다. 또한 Java 기반 엔진을 JPype을 통해 Python에 래핑함으로써 OpenAI Gym 인터페이스를 제공, 기존 RL 프레임워크와 즉시 연동 가능하도록 했다.
한계점으로는 현재 10×10 작은 그리드에 최적화돼 10×20 표준 테트리스에서는 아직 검증되지 않았으며, Java 의존성으로 인해 순수 Python 환경에서의 배포가 복잡할 수 있다. 또한 afterstate‑actor는 피처 설계에 크게 의존하므로, 새로운 피처를 추가하거나 다른 게임에 일반화하려면 추가 연구가 필요하다.
**
댓글 및 학술 토론
Loading comments...
의견 남기기