If you want to solve very complex problems, you will have to end up letting machines work out a lot of the details for themselves, and in ways that we don't understand what they are doing.