Related papers: Why We Do Not Evolve Software? Analysis of Evoluti…
Optimization for deep networks is currently a very active area of research. As neural networks become deeper, the ability in manually optimizing the network becomes harder. Mini-batch normalization, identification of effective respective…
Although quantum control typically relies on greedy (local) optimization, traps (irregular critical points) in the control landscape can make optimization hard by foiling local search strategies. We demonstrate the failure of greedy…
Experimental evolution has yielded surprising insights into human history and evolution by shedding light on the roles of chance and contingency in history and evolution, and on the deep evolutionary roots of cooperation, conflict and kin…
The problem of the rate and mechanisms of biological evolution was considered. It was shown that species could not be formed due to undirected mutations in characteristic times of about one million years. A mechanism of deterministic…
Can reproduction alone in the context of survival produce intelligence in our machines? In this work, self-replication is explored as a mechanism for the emergence of intelligent behavior in modern learning environments. By focusing purely…
This paper describes work carried out on a model for the evolution of graph classes in complex objects. By defining evolution rules and propagation strategies on graph classes, we aim to define a user-definable means to manage data…
That computers should be easy to learn and use is a rarely-questioned tenet of user interface design. But what do we gain from prioritising usability and learnability, and what do we lose? I explore how simplicity is not an inevitable truth…
Real-world software applications must constantly evolve to remain relevant. This evolution occurs when developing new applications or adapting existing ones to meet new requirements, make corrections, or incorporate future functionality.…
Evolutionary algorithms are good general problem solver but suffer from a lack of domain specific knowledge. However, the problem specific knowledge can be added to evolutionary algorithms by hybridizing. Interestingly, all the elements of…
Software produced for research, published and otherwise, suffers from a number of common problems that make it difficult or impossible to run outside the original institution, or even off the primary developer's computer. We present ten…
Throughout the evolution of biological species on Earth, cells and organs have developed many complex structures and processes to ensure their interactions with individual chemical molecules (small and macromolecular) and nanoscale objects…
"Evolution behaves like a tinkerer" (Francois Jacob, Science, 1977). Software systems provide a unique opportunity to understand biological processes using concepts from network theory. The Debian GNU/Linux operating system allows us to…
Solving an optimization task in any domain is a very challenging problem, especially when dealing with nonlinear problems and non-convex functions. Many meta-heuristic algorithms are very efficient when solving nonlinear functions. A…
With artificial intelligence (AI) embedded in many everyday software systems, effectively and reliably developing and maintaining AI systems becomes an essential skill for software developers. However, the complexity inherent to AI poses…
We argue that results produced by a heuristic optimisation algorithm cannot be considered reproducible unless the algorithm fully specifies what should be done with solutions generated outside the domain, even in the case of simple box…
Traditionally evolution is seen as a process where from a pool of possible variations of a population (e.g. biological species or industrial goods) a few variations get selected which survive and proliferate, whereas the others vanish.…
Modern science is relying on software more than ever. The behavior and outcomes of this software shape the scientific and public discourse on important topics like climate change, economic growth, or the spread of infections. Most…
Many improvements to programming have come from shortening feedback loops, for example with Integrated Development Environments, Unit Testing, Live Programming, and Distributed Version Control. A barrier to feedback that deserves greater…
Artificial intelligence methods are being increasingly applied across various domains, but their often opaque nature has raised concerns about accountability and trust. In response, the field of explainable AI (XAI) has emerged to address…
Evolutionary algorithms offer great promise for the automatic design of robot bodies, tailoring them to specific environments or tasks. Most research is done on simplified models or virtual robots in physics simulators, which do not capture…