Algorithms occupy a central role in emerging fields such as machine learning, big data and artificial intelligence. In many situations it is not possible to develop a specific algorithm for the computational problem at hand, either because there are not enough available resources (eg, money and time) or because the problem is not well understood. The Rigorous Research team explains how computers can imitate successful biological processes to automatically solve complex computational problems. Bio-inspired computation does not require either problem or algorithmic expertise to solve a wide range of computational applications.
Bio-inspired search heuristics The power of populations
The main distinguishing feature of bio-inspired optimisation techniques compared to traditional search heuristics is their use of a population of candidate solutions that, by simultaneously exploring the search space, evolve into optimal solutions. Our research focuses on understanding the relationships between the exploration capabilities of the population and the obtainment of solutions of high quality.
Genetic algorithms – Problem solutions are evolved by applying natural selection and survival of the fittest principles to a population that reproduces by sexual recombination and is subject to random mutations.
Ant colony optimisation – Colonies of artificial ants collaborate to find solutions to complex combinatorial optimisation problems by imitating the self-organising principles behind the social behaviours of natural ants.
Artificial immune systems – Artificial antibodies cooperate to solve complex problems in computer security, pattern recognition, machine learning and optimisation by imitating the processes that allow the natural immune system to protect the organism through the recognition and elimination of foreign microorganisms that are responsible for causing infections.
Parallel bio-inspired computing - High performance evolution
With the increasing emergence of parallel computer architectures it has become very important to develop algorithms that can be implemented in parallel. Bio-inspired computation techniques are easily parallelisable. Multiple populations can be executed and evolved on separate processors while solutions can be regularly exchanged. Our research explains how bio-inspired computation can take advantage of the parallelisation available inherently in new technologies to increase its search ability and produce solutions of higher quality in shorter time.
Genetic Programming - Evolving computer programs
Can computer programs learn to solve problems without being explicitly programmed for the task?
Computer programs are evolved by applying natural selection and survival of the fittest principles to a population of random programs that reproduce by sexual recombination and are subject to random mutations. We explain how the effective and efficient self-evolution of computer programs may be achieved.
Complexity Theory - Could there be a better algorithm for my problem?
By determining the runtime of the best possible bio-inspired algorithm for a given class of problems, we set the limits of the maximum performance that may be realistically achievable.