바둑게임은 중국에서 적어도 2,500년 전에 창안되었으며, 게임을 이기기 위해 상대방보다 더 많은 영역을 둘러싸는 것을 목표로 한다. 간단한 규칙에도 불구하고 바둑은 인공지능(AI) 분야에서 아주 복잡한 전략적인 보드게임이다. 몬테카를로 트리탐색(MCTS)은 국면 평가의 어려움을 극복하고 게임트리 내의 엄청난 분기수를 줄여주는 최상우선탐색 알고리즘이다. 컴퓨터바둑 게임에서 MCTS는 수많은 플레이아웃을 수행한 후, 게임트리 내에 있는 현재노드로부터 단말노드까지의 임의의 수순을 표본 추출하여 다음 후보 착수에 대한 승률을 근사적으로 계산해낸다. AlphaGo를 포함한 모든 강력한 컴퓨터바둑 프로그램은 컴퓨터바둑 게임 진행에 있어 MCTS를 이용하여 가장 유망한 착수를 구해왔다. 본 연구는 소형바둑 컴퓨터게임에 있어 순수 MCTS를 이용하여 가장 유망한 일련의 수순을 찾고자 했다. 실험결과에 의하면 순수 MCTS는 소형바둑에서 19줄바둑게임에서 벌어지는 포석, 중반전, 끝내기라는 3단계가 아닌 중반전과 끝내기라는 단지 2단계를 진행하였으며, 아울러 순수 MCTS는 맥과 연단수와 같은 하위개념의 지식을 이해 못하는 것을 보였다.
Go is an extremely complex strategic board game despite its simple rules and is the great challenging classic game for AI due to its enormous search space. The computer program AlphaGo finally defeated Fan Hui, the European Go champion, without handicaps on a full-sized 19 ×19 board in October 2015. Monte-Carlo Tree Search (MCTS) is a widely-used algorithm for game-tree search in game playing. MCTS based on statistical sampling is a best-first tree search technique to evaluate states; UCT which is a variant of MCTS uses the UCB1 formula as selection policy. In this paper, we evaluate the performance of MCTS and UCT playing against each other in the game of Tic-Tac-Toe. The experimental results show that the first player UCT is slightly superior to the second player MCTS (54.3±1.0%), the first player is always advantageous to the second player regardless of the MCTS and UCT players, and the result of each game should be a tie if both players do their best in Tic-Tac-Toe.
간단한 규칙에도 불구하고 바둑은 인공지능 분야에서 가장 복잡한 전략적 보드게임 중의 하나이다. 몬테카를로 트리탐색(MCTS)은 최상우선 트리탐색 알고리즘으로 컴퓨터바둑 제작을 위해 사용되어 왔다. 저자는 9줄바둑판보다 작은 바둑판에서의 바둑게임 행위를 위해 MCTS를 활용하여 가장 유망한 첫 수를 찾고자 한다. 실험결과에 의하면 MCTS는 첫 수로 홀수형 바둑 판에서는 정중앙, 짝수형 바둑판에서는 중앙 부근에 착수하기를 선호하는 것으로 나타났다.
바둑은 최상의 착점을 찾기 위해 컴퓨터가 완전탐색을 하여 모든 가능한 착점들을 탐색할 수 없는 가장 복잡한 보드게임이다. AlphaGo 이전에 모든 강력한 컴퓨터바둑 프로그램들은 게임트리 내 매우 큰 분기수와 국면평가에서의 어려움을 극복하기 위해 몬테카를로 트리탐색(Monte-Carlo Tree Search)을 사용해 왔다. 본 논문에서는 MCTS를 활용하여 초소형 바둑에서의 최상의 수순과 덤의 크기를 알고자 했다. 2줄바둑에서의 게임결과는 빅이 되었으며 덤의 크기는 0집, 반면에 3줄바둑에서는 흑이 항상 승리하고 덤의 크기는 9집이 되어야 함을 알아냈다.
인공지능 연구에서 바둑은 위치평가의 어려움과 엄청난 분기수로 인해 가장 도전적인 보드게 임으로 여겨지고 있다. 몬테카를로 트리탐색은 이러한 문제점을 극복할 수 있는 고무적인 돌파 구이다. 알파고의 숨겨진 아이디어는 주어진 위치에서의 승률을 예상하여 깊은 탐색을 유도한 후 가장 고무적인 착수를 찾아내는 것이었다. 본 논문에서는 무전략 MCTS를 활용하여 9줄바 둑에서 프로기사들이 최상의 첫수로 여기는 천원점이 옳다는 것을 확인했으며, 또한 가장 유행 하는 첫 수들의 평균승률을 비교했다.
몬테카를로 트리탐색은 최대우선탐색 알고리즘이며, 많은 게임 특히 바둑 게임에 성공적으로 적용되어 왔다. 삼목 게임에서 MCTS 간의 대국을 통해 성능을 평가하고자 했다. 첫 번째 대국 자는 항상 두 번째 대국자에 비해 압도적인 우위를 보였으며, 최선의 게임 결과가 무승부가 됨 에도 불구하고 첫 번째 대국자가 두 번째 대국자에 비해 우월한 이유를 찾고자 했다. MCTS는 반복적인 무작위 샘플링을 기반으로 하는 통계적 알고리즘이기 때문에, 특히 두 번째 대국자를 위해 전략을 요하는 시급한 문제를 적절히 대처하지 못한다. 이를 위해 전략적 MCTS(S-MCTS)를 제안하며, S-MCTS는 결코 삼목 게임에서 지지 않는다는 것을 보였다.
바둑 게임은 가장 오래된 게임 중의 하나이며 적어도 2,500년 전에 기원되었다. 게임프로그래밍에서 대부분의 성공적인 접근법은 평가함수를 활용한 게임트리 탐색을 사용하는 것이다. 그러나 컴퓨터바둑에서 그럴싸한 평가함수를 구축한다는 것은 매우 어렵다. 몬테카를로 트리탐색(MCTS)은 9줄 바둑에서 프로기사를 제압한 MoGo와 CrazyStone과 같은 강력한 컴퓨터바둑 프로그램을 만들어 내었다. 몬테카를로 트리탐색은 몬테카를로 시뮬레이션에 의해 계산된 승률을 근간으로 한다. 몬테카를로 트리탐색을 컴퓨터바둑에 구현하기에 앞서 삼목에서 최상의 첫 수로 중앙, 귀, 변의 세 수에 대한 각각의 승률을 측정하려고 했다. 실험 결과로 최상의 첫 수는 중앙이 우선하고, 다음은 귀, 마지막으로는 변이라는 사실이 밝혀졌다.