For a Go Program to be successful, I believe it must find out how to copy the human approach, since humans have been better at Go, while not suffering from the mistakes the human brain makes.
Rereading the Essay on computer go by David Fotland, it occurs to me that the designers of Go programs are trying very hard to make a computer play "the computer way". They approach the problem almost entirely from the known strength of the computer (speed, memory) while trying to avoid the mistakes a computer would make if programmed carelessly (meaningless moves, pointless evaluations). The program is loaded with databases and heuristics, precisely the material fit for the computer.
So let's turn the approach around: what are the strong points of human intelligence applied to Go, and where can the computer overcome our weaknesses?
If I reflect on the way I play the game (and while being much weaker than a pro, I'm still stronger than any program) it occurs to me that there are roughly two processes going on:
In the opening, the board doesn't tell us that much. The first moves are chosen, seldom forced. The choice comes forth from a strategy . The strategy can involve a preference of play, an impression of past successes, a familiarity with the patterns arising from such play, and it can take into account what you know of the opponent's preferences and successes.
Making a base for efficient stability and making extensions for solid development are the governing processes. Basic techniques are applied in close encounters in the corner.
In the middle game, cutting and connecting is the governing principle. Surround and avoid being surrounded the second. We evaluate all stones on their belonging to a group. We evaluate groups on their life and death status. Groups are evaluated on their importance (size and influence on open area).
When all groups have a settled status, they grab as much as possible of the remaining area. We check for keeping the initiative, size of the moves, while keeping a constant eye on the life and death status of our groups.
We find ourselves in a much more alarmed state when there's a ko. The governing processes are very different: we look for threats that can give compensation, calculate the outcome of the ko, the presence of local threats ..., while keeping an understanding of the reason for the ko.
As has been the case with Go, my friend Stefan Verstraeten often sends me along new paths of interesting stuff. In 2007 I've been reading On intelligence, a book by Jeff Hawkins?. I'm quite sure the game of Go is an interesting test case for his theories of how the brain works and how computers can become intelligent.
Another interesting series of articles I've read concern the idea of System of Pure Relations, which is the concept behind the database approach of Pile. This concept seems to be related to the concepts as explained in On intelligence and could provide another breakthrough in computer go.
(to be continued)