As William Paley first pointed out in the early nineteenth century, complex patterns that serve a specific goal require some kind of cause. If the pattern just came about by luck, it’d be no different in origin than all the other random patterns in the universe, so there’d be no reason to think that it would be exceptionally good at fitting a set of criteria. These causes fall into four primary categories:
- Dumb luck. In a dumb luck process, candidate patterns are generated simply by chance, and then checked to see if they match the criteria. If they don’t, they get thrown away and another one gets picked. Dumb luck can never produce anything particularly complex, because the time it takes to produce a pattern of N bits scales with 2^N, so even for small N, the time required rapidly exceeds the time until the heat death of the universe.
- Evolution. Under evolution, a random pattern is picked at the beginning, and random mutations are made to this pattern. If the new pattern fits the criteria better than the original, the mutation is kept; if not, the mutation is thrown away. The power of evolution comes from being able to keep improvements in the previous generation, and so build up greater and greater complexity. Generating a complex pattern of N bits using evolution scales with N, but evolution is also hamstrung by the need to stick to local maxima, the large number of generations required, and the need to maintain existing complexity against degenerative mutations.
- Intelligence. Intelligence is a very complex subject, but designing a pattern to solve a problem seems to involve drawing on pre-existing ideas that are related to the problem, and then using logic and selection to figure out how to bring them together into a working pattern. I haven’t seen any studies dealing with how long it takes a human to design a pattern of N bits, but more importantly, the number of attempts required seems to scale with log(N). This is very important because attempts can only be done serially; after all, there’s no point in trying again with a new approach if you don’t know whether the approach you’re working on is viable. This, in practice, means that intelligence is hugely faster than evolution, requiring only a few generations of complete, working models to design machinery where evolution would require millions of generations.
- God. He is frequently invoked as an explanation for events that seem to be suited to a specific goal, or as an explanation for the origin of life. This achieves nothing at all, because you’re immediately faced with the question of where God’s complexity came from. The two answers to this that I’ve heard are “I don’t know” and “It was always there”, and if we’re going to accept these as viable answers to the complexity problem, we might as well say that the pattern in question was always there and be done with it.