<div class="csl-bib-body">
<div class="csl-entry">Langowski, M. A. (2025). <i>Evolog - Actions and Modularization in Lazy-Grounding Answer Set Programming</i> [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2025.102654</div>
</div>
-
dc.identifier.uri
https://doi.org/10.34726/hss.2025.102654
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/220293
-
dc.description
Arbeit an der Bibliothek noch nicht eingelangt - Daten nicht geprüft
-
dc.description
Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers
-
dc.description.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.
de
dc.description.abstract
For decades, Answer Set Programming (ASP) has been an established formalism in logic programming, especially used for NP-hard planning problems, with efficient solvers available for more than 20 years. Current trends in ASP increasingly deal with interaction with external data, both for reading and processing (such as in stream reasoning or even interacting with machine learning software) as well as performing actions, i.e. influencing the state of the outside world. This thesis’ primary concern is exploring a new way of representing actions in a manner suitable for easy implementation in a lazy-grounding ASP solver such as Alpha by Weinzierl et al. Secondary to that, the other goal of this work is to specify and implement a light-weight program modularization concept to go along with the aforementioned action support. The inspiration here is that, since inevitably modelling side-effects in a fully declarative language forces us to impose some restrictions on programs with actions, being able to run action-free subprograms as encapsulated units should alleviate any such strictures in software development. The resulting extended answer set programming language is called Evolog. We define the formal semantics of actions with regards to a frame, i.e. a formalization of the effects of an action in the outside world, that is modelled as an interpretation function for action atoms. Based on this model of the outside world, the notion of what constitutes a (semantically) valid Evolog program is defined. Finally, we define an Evolog Model, i.e. a stable model of an Evolog program that is consistent with a given frame. We further show that Evolog is a conservative extension to traditional ASP in the sense that every regular ASP program is also a valid Evolog program in all frames. Modularization is modelled around Alpha’s existing concept of an external atom, i.e. an atom that models a side-effect free function which is implemented in an arbitrary programming language (Java in this case). We define module atoms as external atoms whose interpretation function is given as calling an ASP solver with a fixed program (the module body) and the input terms of the external atom as additional input. To aid in efficiently writing code around modules, the purely syntactical concept of a list term is introduced. In order to demonstrate Evolog’s suitability as an actual application programming language, a simple command-line application for reading graphs from XML files, calculating 3-colorings of said graphs and serializing calculated colorings to XML files, is showcased and discussed in terms of both ease of development, as well as evaluation performance. Based on our demonstration of the XML-3-coloring application, we formulate possible refinements to the language as well as future paths for improvement in solver performance.
en
dc.language
English
-
dc.language.iso
en
-
dc.rights.uri
http://rightsstatements.org/vocab/InC/1.0/
-
dc.subject
answer set programming
en
dc.subject
lazy-grounding
en
dc.subject
knowledge representation
en
dc.subject
modularization
en
dc.subject
logic programming
en
dc.subject
side-effects
en
dc.subject
actions
en
dc.title
Evolog - Actions and Modularization in Lazy-Grounding Answer Set Programming
en
dc.title.alternative
Aktionen und Modularisierung in Lazy-Grounding Answer Set Programming
de
dc.type
Thesis
en
dc.type
Hochschulschrift
de
dc.rights.license
In Copyright
en
dc.rights.license
Urheberrechtsschutz
de
dc.identifier.doi
10.34726/hss.2025.102654
-
dc.contributor.affiliation
TU Wien, Österreich
-
dc.rights.holder
Michael Armin Langowski
-
dc.publisher.place
Wien
-
tuw.version
vor
-
tuw.thesisinformation
Technische Universität Wien
-
dc.contributor.assistant
Weinzierl, Antonius
-
tuw.publication.orgunit
E192 - Institut für Logic and Computation
-
dc.type.qualificationlevel
Diploma
-
dc.identifier.libraryid
AC17679024
-
dc.description.numberOfPages
138
-
dc.thesistype
Diplomarbeit
de
dc.thesistype
Diploma Thesis
en
dc.rights.identifier
In Copyright
en
dc.rights.identifier
Urheberrechtsschutz
de
tuw.advisor.staffStatus
staff
-
tuw.assistant.staffStatus
staff
-
tuw.advisor.orcid
0000-0001-6003-6345
-
item.fulltext
with Fulltext
-
item.openaccessfulltext
Open Access
-
item.languageiso639-1
en
-
item.openairecristype
http://purl.org/coar/resource_type/c_bdcc
-
item.cerifentitytype
Publications
-
item.grantfulltext
open
-
item.openairetype
master thesis
-
item.mimetype
application/pdf
-
crisitem.author.dept
E192-03 - Forschungsbereich Knowledge Based Systems