Combinatorics of Go

We present several results concerning the number of positions and games of Go. We derive recurrences for L(m, n), the number of legal positions on an m × n board, and develop a dynamic programming algorithm which computes L(m, n) in time O(m3n2λm) and space O(mλm), for some constant λ < 5.4. An implementation of this algorithm enables us to list L(n, n) for n ≤ 17. For larger boards, we prove the existence of a base of liberties lim mn√L(m,n) ∼2.9757341920433572493. Based on a conjecture about vanishing error terms, we derive an asymptotic formula for L(m, n), which is shown to be highly accurate. We also study the Game Tree complexity of Go, proving an upper bound on the number of possible games of (mn)L(m,n) and a lower bound of 22n2/2-O(n) on n × n boards and 22n-1 on 1 × n boards, in addition to exact counts for mn ≤ 4 and estimates up to mn = 9. Most proofs and some additional results had to be left out to observe the page limit. They may be found in the full version available at [8].