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].
[1]
Pang C. Chen.
Heuristic Sampling: A Method for Predicting the Performance of Tree Searching Programs
,
1992,
SIAM J. Comput..
[2]
John Michael Robson,et al.
The Complexity of Go
,
1983,
IFIP Congress.
[3]
Sanjay Ghemawat,et al.
MapReduce: Simplified Data Processing on Large Clusters
,
2004,
OSDI.
[4]
Ronald L. Graham,et al.
Concrete mathematics - a foundation for computer science (2. ed.)
,
1994
.
[5]
David Lichtenstein,et al.
GO Is Polynomial-Space Hard
,
1980,
JACM.
[6]
David Wolfe.
Go Endgames Are PSPACE-Hard
,
2002
.
[7]
Zongmin Ma,et al.
Computers and Games
,
2008,
Lecture Notes in Computer Science.
[8]
Stefan Edelkamp,et al.
Symbolic Classification of General Two-Player Games
,
2008,
KI.
[9]
R. Blahut.
Theory and practice of error control codes
,
1983
.
[10]
John Tromp,et al.
Ladders Are PSPACE-Complete
,
2000,
Computers and Games.