Joseph Henrich, The WEIRDest People in the World: How the West Became Psychologically Peculiar and Particularly Prosperous, Farrar, Straus, and Giroux, New York, 2020
Genetic algorithms and evolutionary computation: a brief reminder. To solve real-life problems, we need:
• first, to understand how different solutions will affect the corresponding system,
• and then, to use this understanding to come up with the best solution.
• the knowledge that the humanity already has – which is usually described by experts, and
• the knowledge that we can extract from data.
To extract knowledge from data, we can use techniques designed specifically for this purpose – techniques of machine learning. Finally, to find the best solution, we use techniques designed specifically for this purpose – techniques of optimization.
There are many different machine learning and optimization techniques. One of the main sources of such techniques is to look for natural phenomena where knowledge is extracted from data and where optimization occurs. These processes occur both in live and in non-live matter, but processes in live matter are usually faster, thus easier to observe – we can see how an animal learns, we cannot easily see how a planet changes, it takes billions of years. So, a natural idea is to emulate biological processes.
Learning is usually performed in biological neurons within a living being – this motivated the current boom in neural networks. Optimization is more prominent not in an individual living being, but rather in the evolution of the living beings. Not surprisingly, many efficient optimization techniques come from emulating optimizing biological evolution. The corresponding evolutionary algorithms form, together with neural networks and fuzzy techniques, three parts of soft computing – as originally envisioned by Lotfi Zadeh and as implemented, e.g., in three-component biannual IEEE World Congresses on Computational Intelligence (WCCI).
In evolutionary computation, there is room for improvement. While evolutionary computation techniques have had many successes, there is still room for improvement. Some of this improvement may come from improvement of the existing algorithms, some may come from the fact that the existing algorithms inevitably simplify the natural evolutionary processes – so maybe simulating some of the so-far-ignored complexities of biological evolution can help? Researchers have been working on this, but this is difficult: natural biological evolution is a rather slow process – e.g., in comparison with neural processes; so, it is difficult to fully grasp its details.
It would be nice to have a faster example of an evolutionary process, where we do not need to guess what happened millions of years ago.
There is such a faster process: cultural evolution. While our biology changes very slowly, our culture changes much more rapidly. So why not use observations about what works (and what does not work) in cultural evolution to improve our algorithms?
Enter the book. This is why many of us may be interested in this book – because this book is about cultural evolution: specifically, about what works better and what does not work so well.
From this viewpoint, the book contains one main idea – and one auxiliary idea.
Main idea. In biological evolution, it is known that when close relatives mate, this can lead to degeneration – i.e., can decrease the quality of the resulting individuals. This happened in the 19 and early 20 century with inter-marrying royal families of Europe, where many people got hemophilia and other bad genes. In biological populations, this happens if there are social or geographic restrictions on mating – e.g., when princes could only marry princesses. In evolutionary algorithms, there are usually no such restrictions, so this was, to the best of our knowledge, never taken into account: yes, a few simulated individuals are not as good if we allow close “relatives” to mate, but it is a minor effect, and tracing ancestry to avoid this would require a large amount of computation time.
The main thesis of the book if that restrictions on mating between close relatives, while not very significant in biological terms, drastically speed up cultural evolution. The author traces the historical scientific and economic successes of the Western societies to the fact that in many of these societies, for obscure religious reasons, marriage between even distant relatives was not allowed. As a result, people could not marry within their own village, within their own clan – this broke the clan-ish structure. This boosted large-scale collaboration and trade – as opposed to more local village- and clan-level ones, and this was one of the main factors boosting Industrial Revolution, progress of science and engineering, etc.
So maybe it is worth trying to impose similar restrictions on “mating” (crossover) of individuals in genetic algorithms and evolutionary computations?
Auxiliary idea. In Chapter 13, “Escape velocity”, the book explains another phenomenon that boosted success: that skills were enhanced when the tradition required that each student learns from many – usually more than two – different masters. This may be another idea to simulate – instead of recombination of two individuals (as in biological evolution), we try recombining three or more (as in cultural evolution) and thus hopefully get even better results?
Back to the book. The author’s thesis is not just a speculative new idea – the book cites dozens of refereed publications with statistical analysis confirming the existence (and statistical significance) of the described phenomena. Maybe specialists in history will find some flaws – no one’s perfect; maybe in some places, the author overemphasizes this phenomenon at the expense of other important processes, but I think this phenomenon is here to stay in social anthropology.
For non-scientists, the numerous graphs and correlations may make this book somewhat boring and unclear at places, but for us, it is fascinating. Enjoy – and maybe you will find some other ideas that can be used (or at least tried) in intelligent computing?