Go can be seen as a non-zero sum game. It isn't purely cooperative, there is a definite winner and loser, but also you can have a good game or a bad game. A bad game is grody and confused, lots of pieces are captured. A good game is one of elegant feints, where the players determine what battles they can't win and concentrate their energy elsewhere. A good game ends with many positions empty, and a beautiful board.
A peculiar thing about Go is that the final moves of the game have the feel of pure cooperation: here is this pattern we have made, fill in the remaining neutral territory, what is the outcome? I think this is because Go doesn't have a coup de gras, such as checkmate in Chess... it's not immediately obvious who has won.
Two obvious strategies:
1. Defensive strategy (dog): Place stones in response to the other player. Most stones will be placed very close to the last stone placed by the other player. A common beginner strategy.
2. Offensive strategy (cat): Fire and motion. Never respond to the other player. Stones played almost randomly over the whole board. Establish a layout that can be linked together into a large territory towards the end of the game.
Strategy 1 isn't very good, the player can be kept occupied and they will never get around to actually claiming teritory. Strategy 2 works well against strategy 1, but (as i discovered) it is easily thwarted by a clever opponent.
What I think I observed when playing a really good Go player (Kevin Korb) is a compromise between the two strategies:
3. Oblique strategy: Don't respond to the other player's last move directly, but do place the stone in the general vicinity. Set up a sort of minefield that will confuse the development of their incursion. The stone may do this and at the same time claim a little new territory.
... almost a network attack. Surround a problem, redefine the terrain, and solve it at leisure. Optimally, the other player will see that giving in is mutually beneficial.
Could be useful in real life too.