Expressing Unknown Instance Relations in Program Synthesis using Neurosymbolic Methods
MetadataShow full item record
- Master theses 
Program synthesis is the task of automatically constructing a program given a high level specification. An instance of this is Inductive Logic Programming (ILP) were discrete methods are used to construct a logic program which satisfies the specification. A limitation of a traditional ILP system is its inability to handle noise, faultering at a single mislabelled datapoint. A system which mediates this weakness is Differentiable Inductive Logic Programming (δILP), where instead of satisfying a strict requirement the task is to minimize a loss. One limitation of δILP is that it does not allow for the use of negation in the construction of its programs. Negation as failure in logic programming is a desired tool to write programs that express unknown knowledge. By extending the system with negation we increase the expressiveness of δILP, allowing us to construct programs that are often easier to devise, write and analyse. We propose such an extension: Stratified Negation as Failure in Differentiable Inductive Logic Programming (SNAFδILP). This system is able to learn moderately complex programs with unary and binary predicates, negation and predicate invention. The system is fairly robust to mislabelled data, in most cases satisfying the specification with up to 10 % mislabelled data.