ALPprolog --- A New Logic Programming Method for Dynamic Domains

ALPprolog --- A New Logic Programming Method for Dynamic Domains
Notice: This research summary and analysis were automatically generated using AI technology. For absolute accuracy, please refer to the [Original Paper Viewer] below or the Original ArXiv Source.

Logic programming is a powerful paradigm for programming autonomous agents in dynamic domains, as witnessed by languages such as Golog and Flux. In this work we present ALPprolog, an expressive, yet efficient, logic programming language for the online control of agents that have to reason about incomplete information and sensing actions.


šŸ’” Research Summary

The paper introduces ALPprolog, a new logic‑programming language designed for the online control of autonomous agents operating in dynamic domains. Building on the strengths of two prominent agent programming languages—Golog, which is based on the Situation Calculus, and Flux, which uses the Fluent Calculus—the authors propose a framework that combines Golog’s expressive representation of an agent’s knowledge (via prime implicates in full propositional logic) with Flux’s principle of progression, i.e., updating the agent’s state after each action execution.

The core of the approach is Agent Logic Programs (ALPs), a very small extension of ordinary definite Prolog programs. An ALP program may contain only two special predicates: do(α) to denote the execution of an action α, and ?(Ļ•) to test whether a state property Ļ• holds in the current world model. The semantics of these predicates is defined by a macro‑expansion that introduces explicit time arguments (variables of sort TIME) and rewrites do(α) into Poss(α, s₁, sā‚‚) (action α is possible at situation s₁ and yields situation sā‚‚) and ?(Ļ•) into Holds(Ļ•, s₁) ∧ sā‚‚ = s₁. The head of each clause is similarly expanded to relate the first and last time variables. After expansion, the program becomes a set of first‑order clauses that can be processed by ordinary SLD‑resolution; the only non‑standard atoms are the Poss and Holds literals, which are delegated to a separate action theory reasoner.

The action theory is supplied by the Unifying Action Calculus (UAC), a multi‑sorted first‑order framework that subsumes both the Situation Calculus and the Fluent Calculus. In this paper the authors instantiate the UAC with a propositional version of the Fluent Calculus. Fluents are represented by terms of sort FLUENT, and the predicate Holds(f, s) indicates that fluent f is true at situation s. Action preconditions are axiomatized as `Poss(A(xĢ„), s₁, sā‚‚) ≔ Ļ€_A


Comments & Academic Discussion

Loading comments...

Leave a Comment