This work models certain processes of nature such as biological evolution and co-evolution as learning processes, and it proposes some techniques that can ensure that these learning processes really occur and can be used to solve certain complex problems such as the game of Go. Go is an ancient and very complex game with simple rules, a game which still presents a challenge for Artificial Intelligence. This work covers certain approaches that can be applied in order to solve this problem, and which are useful for solving other problems, with a proposal to use competitive and cooperative co-evolutionary learning methods and other techniques as suggested by the author.