Learning Logic Programs by Discovering Higher-Order Abstractions

Learning Logic Programs by Discovering Higher-Order Abstractions

Céline Hocquette, Sebastijan Dumancic, Andrew Cropper

Proceedings of the Thirty-Third International Joint Conference on Artificial Intelligence
Main Track. Pages 3421-3429. https://doi.org/10.24963/ijcai.2024/379

We introduce the higher-order refactoring problem, where the goal is to compress a logic program by discovering higher-order abstractions, such as map, filter, and fold. We implement our approach in Stevie, which formulates the refactoring problem as a constraint optimisation problem. Our experiments on multiple domains, including program synthesis and visual reasoning, show that refactoring can improve the learning performance of an inductive logic programming system, specifically improving predictive accuracies by 27% and reducing learning times by 47%. We also show that Stevie can discover abstractions that transfer to multiple domains.
Keywords:
Knowledge Representation and Reasoning: KRR: Logic programming
Machine Learning: ML: Symbolic methods