Loading...
University of Surrey
Surrey AI Institute

Software

Software tools and libraries developed by our group
PyILP PyPI Downloads (Since 2022)
Lead author: Dany Varghese

PyILP is a novel, user-friendly Python interface for an Inductive Logic Programming (ILP) system designed specifically for teaching relational machine learning and facilitating comparisons between different algorithms. This innovative interface allows users to easily engage with ILP concepts and methodologies in an interactive environment. Within this package, we have incorporated two distinct ILP algorithms: Aleph and Metagol .

Github Repository PyPI Repository

PyGol
Lead author: Dany Varghese

PyGol is a novel Inductive Logic Programming(ILP) system based on Meta Inverse Entailment(MIE) using Python programming language. MIE is similar to Mode-Directed Inverse Entailment (MDIE) but does not require mode declarations. MIE can be applied to tabular and relational datasets with minimal user intervention or parameter settings. In MIE, each hypothesis clause is derived from a meta theory generated automatically from background knowledge. Meta theory can also be viewed as a higher-order language bias that defines the hypothesis space.

Reference paper:
Efficient Abductive Learning of Microbial Interactions Using Meta Inverse Entailment In Proc. of the 31th Int. Conf. on Inductive Logic Programming, 127-141, Springer, 2023 (Best Application Paper Award).

Github Repository

Numerical-Symbolic Learning and Reasoning
NumLog
Lead author: Daniel Cyrus

NumLog is an Inductive Logic Programming (ILP) system for explainable numerical-symbolic learning, designed to discover meaningful quantitative rules from data. NumLog_range focuses on feature-range discovery by learning interpretable rules with clear confidence bounds, identifying numerical intervals associated with different classes or concepts. NumLog_gmm extends this approach by incorporating Gaussian Mixture Models (GMMs) to model the underlying distribution of numerical features and identify more flexible, probabilistic feature ranges. Together, NumLog_range and NumLog_gmm combine numerical statistical analysis with symbolic reasoning to generate interpretable rules for transparent and explainable AI decision-making.

Reference papers:
An Inductive Logic Programming approach for feature-range discovery , In Proc. of the 33rd Int. Conf. on ILP, Springer, 2024 (Best Student Paper Award)

Github Repository

Meta Interpretive Learning system
Prolog2
Lead author: James Trewern

Prolog2 is an implementation of second-order SLD-Resolution, The basis of Meta-Interpretive learning. Gaining efficiency from the compiled nature of the Rust programming language and the lack of meta-interpretation used in other MIL approahces.

Github Repository

Neuro-Symbolic Learning and Reasoning
GNN-ILP
Lead author: Zahra Chaghazardi

GNN-ILP is an implementation of GNN (Graph Neural Network)-based Relational Knowledge Embedding.

Github Repository