contact: nmanginas@iit.demokritos.gr
Logic programming, e.g. in Prolog, underpins a large part of symbolic AI. Lately such logical languages have been used as the backbone of neuro-symbolic systems which combine logical reasoning with neural networks, breathing new life to a long standing research area. Unlike classical logic programming which is based on facts which are either true or false, modern logic programming variants include the ability to reason based on probabilistic facts, optionally extracted from complex inputs via neural networks. Unfortunately, probabilistic logic programming languages perform poorly, in terms of runtime, when asked to reason in a temporal fashion, e.g. on sequence data. This motivates the development of new algorithms for scalable reasoning in such settings.
A promising avenue is the compilation of temporal logic programs to automata, also known as finite state machines. This will enable queries to be computed efficiently and in constant-space, i.e. irrespective of the length of the sequence on which reasoning is performed. Such translations are already prevalent in temporal logics, such as Linear Temporal Logic, but have yet to be utilized in the logic programming community. This novel compiler extends state of the art algorithms in classical probabilistic logic programs to the temporal domain.
The student will: a) develop a fundamental understanding of logic programming and its semantics, b) will minimally extend a probabilistic logic programming language to support temporal reasoning and c) will develop a compiler for this language to finite automata.
References:
[1] Linear Temporal Logic and Linear Dynamic Logic on Finite Traces
[2] Inference and Learning in Probabilistic Logic Programs using Weighted Boolean Formulas