문제
질리오니임(Zillionim)은 두 사람이 번갈아 하는 턴제 게임이다. 처음에는 1012개의 동전이 한 줄로 끝과 끝을 맞대어 놓여 있고, 왼쪽에서 오른쪽으로 1부터 1012까지 번호가 매겨져 있다. 한 턴에서 플레이어는 연속한 1010개의 동전을 선택해 제거해야 한다. 처음에 연속하지 않았던 두 동전은, 그 사이에 있던 동전들이 모두 제거되더라도 연속한 것으로 취급되지 않는다.
자신의 턴에 가능한 유효한 수가 있다면 플레이어는 그중 하나를 두고, 그 다음 상대의 턴이 된다. 자신의 턴에 유효한 수를 둘 수 없다면 그 플레이어가 게임에서 진다(상대가 이긴다).
우리는 아직 머신러닝 모델을 열심히 훈련시키고 있는 중이라, 무작위로 수를 두는 단순한 AI를 만들어 질리오니임을 플레이하게 했다. AI가 항상 선공(첫 턴)을 가진다. AI의 각 턴마다, AI는 가능한 모든 유효한 수를 구한 뒤 그중 하나를 균등한 확률로 무작위로 고른다.
이 AI를 이길 수 있겠는가... 적어도 대부분의 경우에는?
출처
GCJ 2019r3 A