Title: Learning to program by debugging Suitability: MSc Abstract: The goal of program synthesis/induction is to develop machines that can write programs for us. For instance, given examples of unsorted/sorted lists, the goal is to induce a sorting algorithm. This project focuses on inductive logic programming (ILP) [1,2], a form of machine learning based on mathematical logic. Given examples and background knowledge (BK), the goal of ILP is to induce a logic program (a set of logical rules) that with the BK generalises the examples. The goal of this project is to develop techniques to learn programs by debugging faulty programs. This project is a mix of theory, implementation, and experimentation. Prerequisites: First-order logic, and preferably logic programming concepts (Prolog and/or Answer Set Programming), or at least an interest to learn about them. [1] Inductive logic programming at 30: a new introduction. A. Cropper and S. Dumančić. [2] Turning 30: new ideas in inductive logic programming. A. Cropper, S. Dumančić, and S.H. Muggleton. IJCAI 2020 -------------------------------------------------- Title: Learning to play inductive games Suitability: Part B, Part C, MSc Abstract: Inductive games, such as Zendo and Eleusis, involve a player using inductive reasoning to discover an unknown set of rules. The goal of this project is to apply state-of-the-art inductive logic programming (ILP) [1,2] to these games. ILP is a form of machine learning based on mathematical logic. Given examples and background knowledge (BK), the goal of ILP is to induce a logic program (a set of logical rules) that with the BK generalises the examples. The challenge is to adapt or revise the existing approaches to these games. The work is mostly implementation and experimentation. Prerequisites: first-order logic and logic programming, ideally Prolog and answer set programming (or an interest in learning about it) [1] Inductive logic programming at 30: a new introduction. A. Cropper and S. Dumančić. [2] Turning 30: new ideas in inductive logic programming. A. Cropper, S. Dumančić, and S.H. Muggleton. IJCAI 2020 [3] Learning programs by learning from failures. A. Cropper and R. Morel. Machine Learning 2021. -------------------------------------------------- Title: Learning programs with new objects Suitability: MSc Abstract: Scientists often posit the existence of unknown objects to explain empirical observations. However, existing machine learning approaches struggle to perform similar reasoning. To address this limitation, the goal of this project is to develop an inductive logic programming (ILP) system [1,2] that can invent new objects to explain observations. The project is a mix of theory, implementation, and experimentation. Prerequisites: logic programming (preferably answer set programming and Prolog) [1] Inductive logic programming at 30: a new introduction. A. Cropper and S. Dumančić. [2] Turning 30: new ideas in inductive logic programming. A. Cropper, S. Dumančić, and S.H. Muggleton. IJCAI 2020 -------------------------------------------------- Title: Learning programs by decomposing examples Suitability: MSc Abstract: Inductive logic programming (ILP) is a form of machine learning based on mathematical logic. Given examples and background knowledge (BK), the goal of ILP is to induce a hypothesis (a set of logical rules) that with the BK generalises (logically entails) the examples. A major problem in ILP is learning large programs. The goal of this project is to overcome this limitation by exploring methods to decompose problems into smaller problems. The project is a mix of theory, implementation, and experimentation. Prerequisites: First-order logic, and preferably logic programming concepts (Prolog and/or Answer Set Programming), or at least an interest to learn about them. [1] Inductive logic programming at 30: a new introduction. A. Cropper and S. Dumančić. [2] Turning 30: new ideas in inductive logic programming. A. Cropper, S. Dumančić, and S.H. Muggleton. IJCAI 2020 [3] Learning programs by learning from failures. A. Cropper and R. Morel. Machine Learning 2021. ---------- Title: Optimal inverse entailment Suitability: MSc Abstract: Inductive logic programming (ILP) [1,2] is a form of machine learning based on mathematical logic. Given examples and background knowledge (BK), the goal of ILP is to induce a logic program (a set of logical rules) that with the BK generalises the examples. Inverse entailment (IE) [3] is a powerful ILP technique that greatly reduces the hypothesis search complexity. However, IE approaches (i) learn overly large and complex programs, (ii) struggle to learn recursive programs, and (iii) require several parameters from the user, which makes them cumbersome to use. The goal of this project is to develop provably optimal IE techniques. The idea is to harness the latest advances in SAT and ASP solvers. The work is a mix of theory, implementation, and experimentation. Prerequisites: first-order logic and logic programming (answer set programming and Prolog)