Evolog - Actions and Modularization in Lazy-Grounding Answer Set Programming
Year: 2025
Type: article
Abstract: Answer Set Programming (ASP) ist ein seit Jahrzehnten etablierter Formalismus in der Logikprogrammierung, der insbesondere bei der Modellierung und Lösung NP-schwerer Planungsprobleme Anwendung findet. Effiziente Solver für ASP sind seit über 20 Jahren verfügbar. Aktuelle Trends in ASP befassen sich zunehmend mit der Interaktion mit externen Daten - sowohl zum Lesen und Verarbeiten selbiger, angefangen von Stream Reasoning bis hin zu Interaktionen mit Machine-Learning-Software - als auch zum Ausführen von Aktionen, d.h. der Entwicklung von ASP-Programmen mit Seiteneffekten(side-effects). Das primäre Ziel der vorliegenden Arbeit ist es, eine neue Methode zur Modellierung von Regeln mit Seiteneffekten in ASP Programmen zu entwickeln, die sich leicht in einem ASP-Solver wie dem von Weinzierl et al. entwickelten Lazy-Grounding-Solver Alpha implementieren lässt. Ein weiteres Ziel ist die Entwicklung eines leichtgewichtigen Konzeptes zur Programmmodularisierung, das die zuvor erwähnte Unterstützungvon Aktionen ergänzt. Die Notwendigkeit hierfür begründet sich aus der Tatsache, das Modellieren von Seiteneffekten in einer vollständig deklarativen Sprache zwangsläufig einige Einschränkungen struktureller Natur für Programme mit Aktionen mit sich bringt. Die mit dem Modularisierungskonzept gegebene Möglichkeit, seiteneffekt-freie Unterprogramme als eigenständige Einheiten auszuführen, sollte diese Einschränkungen im Praxiseinsatz ausgleichen. Die resultierende erweiterte Answer-Set-Programming-Sprachewird Evolog genannt. Die formale Semantik von Aktionen wird bezüglich eines Frame, d.h. eines Modells der Seiteneffekte einer Aktion in der Außenwelt in Form einer Interpretationsfunktion für Action-Atome, modelliert. Basierend auf diesem Modell der Außenwelt werden Kriterien definiert, nach denen ein Evolog-Programm (semantisch) gültig ist. Schließlich wird das Konzept eines Evolog-Modells definiert, d.h. eines StableModels eines Evolog-Programms, das konsistent bezüglich einem gegebenen Frame ist. Darüber hinaus wird gezeigt, dass Evolog eine konservative Erweiterung der üblichen Stable-Model-Semantik ist, insofern als jedes reguläre ASP-Programm auch ein gültiges Evolog Programm in allen Frames ist. Die Modularisierung wird basierend auf Alpha’s bestehendem Konzept eines externen Atoms modelliert, d.h. eines Atoms, das eine seiteneffektfreie Funktion abbildet, die in einer beliebigen Programmiersprache (in diesem Fall Java) implementiert ist. Modul-Atome sind definiert als externe Atome, deren Interpretationsfunktion darin besteht, einen ASP-Solver mit einem fixen Programm (der Modul-Implementierung) und den Eingabetermen des externen Atoms als zusätzlichem Input aufzurufen. Um das Schreiben von Code, der Module benutzt, effizienter zu gestalten, wird das (rein syntaktische) Konzept eines Listen-Terms eingeführt. Um die Eignung von Evolog als tatsächliche Programmiersprache zu demonstrieren, wird eineeinfache Kommandozeilenapplikation vorgestellt, die Graphen aus XML-Dateien einliest, 3-Colorings dieser Graphen berechnet und die berechneten Colorings in XML-Dateien serialisiert. Die Applikation wird sowohl in Bezug auf die Bedienbarkeit von Evolog als Implementierungssprache als auch auf die Ausführungsleistung diskutiert. Basierend auf der Demonstration anhand der XML-3-Coloring-App werden mögliche Erweiterungen der Sprache, sowie zukünftige Wege zur Steigerung der Solver-Performance angesprochen.
Source: reposiTUm (TU Wien)
Author: Langowski, Michael Armin
Institution: TU Wien
Language: English
Subfield: Artificial Intelligence
Field: Computer Science
Domain: Physical Sciences
Open Access status: green
OpenAlex ID: W7093320488
FWCI:
Cites:
Cited by:
Related to:
