Cracking Go with Physiology

by Carson Reynolds

Go is to chess as philosophy is to double-entry bookkeeping – Trevanian

I’ve been thinking about Go a lot in the last year. The game is hard, in many senses of the word. In addition to being a lot more difficult than chess, it is also computationally hard. It has 10^170 possible board positions, compared to chess’s 10^40. It is of complexity class EXPTIME and PSPACE-complete. To solve it using todays technology would probably take a few hundred years, even with extremely large, fast, computers.

So I’m working on it using a different approach. The idea is to write an opponent strategy. Instead of basing the strategy solely on game play we intend to use physiology. By monitoring the player’s heart rate variability, for instance, we can get a window into their cognitive workload. We then choose board positions that maximize that workload. In essence, the program tries to do the most taxing and cognitively difficult things to the opponent. Now, the program cannot assess how a future game state will affect the player. However if the opponent is an anthropomorphized stone-placing robot, then it can hover over different regions of the board. The program basically tries to make move that make the opponent nervous. It zeros in on squares that the player would least like to have the opponent play on; it’s psychological minimax.