Why We Do Not Evolve Software? Analysis of Evolutionary Algorithms
Roman V. Yampolskiy

TL;DR
This paper analyzes why evolutionary algorithms have not succeeded in evolving complex software from scratch without human input, attributing this to the high computational complexity of the problem.
Contribution
It provides a detailed analysis of the computational complexity and resource requirements that hinder the evolution of non-trivial software using current evolutionary algorithms.
Findings
Evolutionary algorithms do not produce non-trivial software from scratch.
Computational complexity limits the success of evolving complex software.
Resource constraints are a key barrier to automatic software evolution.
Abstract
In this paper, we review the state-of-the-art results in evolutionary computation and observe that we do not evolve non trivial software from scratch and with no human intervention. A number of possible explanations are considered, but we conclude that computational complexity of the problem prevents it from being solved as currently attempted. A detailed analysis of necessary and available computational resources is provided to support our findings.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsEvolutionary Algorithms and Applications · Metaheuristic Optimization Algorithms Research · Reinforcement Learning in Robotics
