베이지안 모델을 활용한 스타크래프트 전략 트리 예측
초록
본 논문은 실시간 전략 게임인 스타크래프트의 건설·생산 순서를 “빌드 트리”로 정의하고, 경기 로그(리플레이)에서 자동으로 학습한 베이지안 네트워크를 이용해 관측된 일부 건물·유닛 정보만으로도 상대의 전체 빌드 트리를 추정한다. 노이즈와 누락된 데이터에 강인하며, 실시간으로 다음에 건설될 구조물을 예측해 적응형 AI에 바로 활용할 수 있음을 실험을 통해 입증한다.
상세 분석
이 연구는 RTS 게임에서 핵심적인 장기 전략 요소인 “빌드 트리”(tech tree)를 확률적 그래프 모델로 형식화한다. 변수는 크게 세 종류로 나뉜다. 첫 번째는 관측 변수 O_t 로, 특정 시점 t에 플레이어가 보인 건물·유닛(예: 배럭, 배틀크루저 등)의 존재 여부를 이진값으로 나타낸다. 두 번째는 숨은 변수 B 로, 전체 게임 진행 동안 플레이어가 선택한 빌드 트리(예: 2베이스, 러시, 테크 투 스톰 등)를 의미한다. 세 번째는 시간 변수 T 로, 게임 진행 초를 연속형 혹은 이산형으로 표현한다. 베이지안 네트워크는 P(B)·P(T|B)·∏_i P(O_t_i|B,T) 형태의 구조를 갖으며, 여기서 P(B)는 리플레이 전체에서 관측된 빌드 트리의 빈도 기반 사전 확률, P(T|B)는 특정 빌드 트리 내에서 시간에 따른 전형적인 진행 패턴을 나타낸다. 관측 모델 P(O_t_i|B,T) 은 빌드 트리와 시간에 따라 해당 건물·유닛이 등장할 확률을 기술하고, 누락·오탐을 고려해 노이즈 파라미터 ε 를 도입한다.
학습 단계는 완전 비지도 방식이다. 수천 개의 스타크래프트 리플레이를 입력으로, 각 게임을 빌드 트리 라벨 없이도 EM 알고리즘 혹은 변분 베이즈 추정으로 사후 확률을 최대화한다. 사전 확률 P(B) 는 단순히 빌드 트리 빈도에 Dirichlet 평활화를 적용해 과도한 편향을 방지하고, 관측 조건부 확률은 베타 분포를 이용해 이진 관측의 불확실성을 모델링한다. 이렇게 학습된 파라미터는 새로운 게임 상황에서 실시간 추론에 사용된다.
추론 단계에서는 현재까지 관측된 O_t 를 입력으로 베이즈 정리를 적용해 P(B|O_≤t) 를 계산한다. 이때 샘플링 대신 정확한 메시지 전달 알고리즘을 사용해 복잡도는 빌드 트리 수에 선형적으로 제한된다. 결과적으로 가장 높은 사후 확률을 가진 빌드 트리를 선택하거나, 상위 N개의 후보를 확률 분포 형태로 반환한다. 예측 정확도는 “다음 건물/유닛이 무엇인지”와 “전체 빌드 트리 식별” 두 축으로 평가되며, 관측 누락 비율을 0%~30%까지 변동시켜도 80% 이상의 정확도를 유지한다는 점이 핵심이다.
시스템 구현은 C++ 기반의 스타크래프트 AI 프레임워크와 연동되었으며, 추론 시간은 평균 5~10ms 수준으로 실시간 게임 플레이에 전혀 지장을 주지 않는다. 또한, 모델은 게임 종류가 바뀌어도 리플레이만 교체하면 바로 재학습이 가능하도록 설계돼, 다른 RTS(예: 워크래프트 III, 에이지 오브 엠파이어)에도 일반화 가능함을 시사한다.
핵심 인사이트는 (1) 베이지안 접근법이 불완전하고 노이즈가 많은 게임 로그에서도 강인한 빌드 트리 추정을 가능하게 한다는 점, (2) 개발자가 별도 규칙을 정의하거나 전문가 라벨링을 할 필요 없이 플레이어 행동 데이터만으로 모델을 자동 구축할 수 있다는 점, (3) 실시간 추론 비용이 낮아 기존 AI와 손쉽게 통합돼 적응형 전략 선택, 반응형 방어, 혹은 맞춤형 튜토리얼 제공 등에 바로 활용될 수 있다는 점이다. 이러한 장점은 차세대 게임 AI가 “플레이어를 관찰하고 예측한다”는 기본적인 인지 능력을 갖추는 데 중요한 발판이 된다.
댓글 및 학술 토론
Loading comments...
의견 남기기