Self-designing ‘machine learning’ research to re-define computer programming


An image of servers in a data centre
The project will focus initially on the highly complex ecosystem of modern data centres

Researchers are developing artificially intelligent computer systems that can design and assemble themselves to work better than the best human-built systems.

Turning the traditional software development process on its head, the newly-launched research project will put computers in the leading role – enabling them to autonomously self-assemble their algorithms in order to complete tasks in the most efficient way – saving running costs and energy consumption.

Researchers from Lancaster University will create a vast toolkit of small code blocks that autonomous systems can select and arrange in the best way to achieve tasks. The systems will also be able to write their own brand new blocks of code as needed, continually finding better ways to do their job while there are running.

The research targets the automated writing and assembly of a broad range of software, but will focus initially on the highly complex ecosystem of modern data centres which must continually handle millions of differing requests as efficiently as possible.

To do this, the research will examine how lots of different interconnected self-assembling computer programs, working across many machines, in different locations, can come together to achieve specific objectives – processing requests much faster, and with less energy-consuming computational muscle, and responding to the ways in which popular content and services changes over time.

“We’re looking at entire swarms of computer programs all working together across many different computers, which are all individually self-assembling but also working together to achieve the programmer’s goal,” said Dr Barry Porter, lecturer at Lancaster University’s School of Computing and Communications and lead researcher on the project.

“By fully automating the writing of the source code of each little block of behaviour, the software continually creates its own new building blocks for systems without humans having to write them.

“This unleashes systems from their programming, allowing them to continually produce more novel and innovative solutions to achieve their objectives.”

The end result could re-define what it means to be a computer programmer. It will help to hugely reduce the amount of human effort needed to write software, reducing costs, and could even result in software which re-designs itself to best work for its human users, by learning over time how individuals like to work and use their technology.

Dr Porter said: “This will help deliver a fundamental new paradigm of software development in which computer programmers will be freed from laboriously writing all the fine detail of every system, and will instead work at a much higher creativity level to guide the construction of complex software in collaboration with advanced machine learning.

“It is a bit like a self-driving car of computer programming, in which programmers, or even end-users, define the destination and the machine figures out the best way to get there.”

Although the researchers are initially focussing on improving the efficiency of data centres, this research could also help to shape the future of artificial intelligence itself though new kinds of intelligent software that can write and re-write its own behaviour, and which can build a deep understanding of how its behaviour affects the world around it and how the software can change that behaviour for the better.

Through this, even non-programmers may be able to explain to their computer or smartphone what they need, and leave their device to work out a solution that goes beyond anything it was ever programmed to do.

The three and a half-year project has been funded with £252,890 from the Leverhulme Trust.

Back to News