Considerations regarding Karl Popper’s philosophy of science and Evolutionary Algorithms
There is a portuguese version of this post here.
I am a big fan of the Karl Popper’s philosophy of science, so I decided to write something about what I find interesting in his philosophy, especially in relation to rational criticism, to talk later a little bit of what I think about this in relation to Evolutionary Algorithms (EAs).
Popper, in his book “In Search of a Better World” (the original title is “Auf der Suche nach einer besseren Welt“), cites the importance of rational criticism in science and combat the dogmatism of belief in the scientific authority. For me, this idea, despite intrinsic in the thoughts of many philosophers, was not so clearly exposed as Popper did, the clarity with how Popper gives us the insight about how the science grows and improves through rational criticism is remarkable, and I’ll try to summarize here what he tried to explain for almost whole life.
Let’s begin with the Kant’s revolution in the knowledge theory in 1781, when Kant asked:
How is possible the pure mathematics ?
and
How is possible the pure science of nature ?
With this question, he wanted to know: how is possible the theory of Newton ? He knew it was correct, cause it was demonstrated in our reality, but how’s that was possible ? I will not cite here all the Kant thoughts to arrive at this conclusion, but I’ll quote the conclusion:
The understanding does not read the laws of nature, but imposes on it.
That’s it, Kant concluded that we enforce the laws, which are our inventions, in the case of Newton, the laws were Newton’s creation. This change in thinking was seen as the main revolution of Kant in the theory of knowledge.
Kant believed that Newton’s theory was safe, true and sufficiently well-founded, however Popper believes that what Kant said is largely true, but wrong in to believe that his theory answered the question of how knowledge was possible in the classic sense.
Popper believes (and this is clearly shown, at least to me) that the idea of a science safe, true and well-founded is still alive today, but that was surpassed long ago with the theory of gravitation of Einstein.
The result of this theory was that, is it right or not, the knowledge in the classic sense as safe, true and sufficiently well-founded is impossible. Popper so states that Kant was right: our theories are free creations of our intellect. But Popper notes a difference: we rarely find the truth, and never can be sure that we have found it.
With this, Popper tells us that even the best, well demonstrated and supported scientific theories, are nothing more than successful conjectures and will be forever condemned to be conjectures or hypotheses. Our science is the search for truth, and many of our theories may actually be the truth but we can’t never be certain of that.
Finally, the philosopher sees the science as conjectures that are always being improved and corrected, evolving. But we will never be certain for some of them, and we just know when one is better than another.
Popper also cites the example of Goethe to criticize the Newton’s theory of colors, besides Goethe (and he was supported by Schopenhauer) was wrong (and this happens to many scientists) to the content of his criticism, he was right to criticize.
The most important thing to note here, and this is what I think that connects this view of science to the method of evolutionary algorithms, is the way how is given this development and improvement of our scientific theories. Our theories are improving through rational criticism and trial & error; we are all now trying to improve our theories (conjectures), testing them with new experiments and correcting here and there and then creating new conjectures (a solved problem creates other not solved problems) on the nature and on our problems.
The way that our Evolutionary Algorithms works to find solutions through operations inspired on biological evolution is similar on how our scientific theories evolve and are improved. I believe there is a strong analogy between the evaluation function (fitness function) and rational criticism. I see the role of evaluation as a rational critic to a set of possible solutions (population) or could even call it “conjectures”, there is a strong analogy between the way our theories survive or not, through the sieve of science and experimentation, exactly how an Evolutionary Algorithm generally works, with a population of individuals (solutions), the choice is made among the best, and through the operation of processes inspired by biological evolution, the algorithm tries to create a new and more appropriate solution through two solutions not so adapted, or through a conjecture, a new conjecture more accepted by rational criticism is created.
Perhaps this fact explains the great success of Evolutionary Algorithms, such as the Genetic Programming, which surpassed human inventions in various fields such as electronics, when creating electronic circuits better than the old created by human. Recently also a genetic algorithm discovered a new form of boron.
Finally, the fact that the evolutionary algorithm works, is shown by many experiments, so the question is, why does the operation of them is not closely linked to the same reason as our knowledge is possible in the classic sense of how our science grows ?
How it is the innovation possible without the human intervention ? Do we need our creativity or intelligence to be applied to a problem to create a solution or we just need to create the means for the appearance of that solution ?
It is a question to think, and I’ve not saw discussions about that.