Skip to content

atakemura/parallelizing-ILP-in-ASP

 
 

Repository files navigation

Abstract

Although ASPAL manages to tackle any inductive learning task by transforming it into an abductive meta task and obtaining the solutions of the meta task from an answer set solver such as clingo, it performs poorly when faced with an intricate mode bias and a large Herbrand domain. On the one hand, the mode bias imposes restrictions on the shape and length of the skeleton rules constructed by ASPAL, i.e. on the hypothesis space of the task. On the other hand, the atoms of the skeleton rules are only partially instantiated in the meta task and their variables may be substituted with any of the ground terms from the Herbrand domain.

One of the preliminary steps in the solution of any answer set program is its grounding. It is exactly the grounding of the meta task that substantially slows down ASPAL or even renders it incapable of finding a solution. The possibility of a split of the original inductive learning task into subtasks has been recognized as a way to reduce the grounding size of the meta task and thus improve the scalability of ASPAL. 

In this report, we propose a novel approach at parallelizing ASPAL, based on the notion of a dependency graph for the predicates of the given task. We prove its soundness for both optimal and general solutions, as well as its completeness in the case of general solutions. We subsequently present an algorithm computing the solutions of a given ASPAL task following our proposed approach, as well as its implementation in Python. An evaluation of the performance of our implementation shows its superiority to all known previous attempts at parallelizing ASPAL, as well as to ASPAL itself.


***

In der Präsentation unter dem Titel „Logisches Schließen in Computerprogramme umsetzen“ wird anhand von Beispielen die Formulierung und Lösung von Problemen jeder der drei Arten des logischen Schließens mithilfe von logischer Programmierung verdeutlicht. Deduktionsprobleme sind von Anfang an ihr Gegenstand (Prolog), demgegenüber sind computerbasierte Lösungsansätze für Abduktions- und Induktionsprobleme erst im Überschneidungsbereich von Machine Leraning und Knowledge Representation angesprochen worden. Nach einer stichpunktartigen Beschreibung der theoretischen Grundlagen von Answer Set Programming (ASP) und Inductive Logic Programming (ILP) wird für beide Problemklassen jeweils ein Löser vorgestellt. Das ASP-Löser Clingo der Universität Potsdam eignet sich für Deduktions- und Abduktionsprobleme, während sich Induktionsprobleme mit dem am Imperial College London entwickelte ILP-Framework ASPAL lösen lassen. Clingo arbeitet mit einer Erweiterung der normalen Logikprogramme, die viel aussagekräftiger als die Eingabesprache von Prolog ist. ASPAL fügt Mode Declarations hinzu, die die Form der zulässigen Induktionsregeln festsetzen, und wandelt das gegebene Induktions- in ein Abduktionsproblem um, das mithilfe von Clingo gelöst wird.
 

About

Parallelizing Inductive Logic Programming in Answer Set Programming

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%