The Automatic Computer Scientist
This project aims to significantly advance inductive logic programming so that it can discover novel and complex algorithms and implement large programs without the need for strong human guidance.
Algorithms are ubiquitous: they track our sleep, find us cheap flights, and even help us see black holes. However, designing novel algorithms is extremely difficult, and we do not have efficient algorithms for many fundamental problems. This project aims to accelerate algorithm discovery by building an automatic computer scientist (AutoCS).
The idea of developing machines that automatically write computer programs is a long-standing grand challenge in Artificial Intelligence (AI) and offers the potential to automatically build bug-free and efficient programs. To work towards this, this project will build on major recent breakthroughs in Inductive Logic Programming (ILP), a form of symbolic machine learning based on mathematical logic.
Due to major recent breakthroughs, ILP currently has the ability of a first-year computer science student: given much guidance, it can learn simple algorithms and implement small programs. This project aims to significantly advance ILP to the level of a computer science PhD student so that given little guidance it can discover novel and complex algorithms and implement large programs.
As a marker of its success, a key objective of this project is to use an AutoCS to discover a novel algorithm and publish it in a computer science journal. Such a result would be a landmark achievement for AI and would herald a new era of automatic scientific discovery.