implementations can be used. There are also recent works [Claßen et al., 2007b, Claßen et al., 2007a] that aim at successively covering all of the semantics of PDDL 2.1 [Fox and Long, 2003]. These works, however, deal with a planning language that features concurrent actions — this does not fit the requirement that action domains underlying ALPs should be sequential for planning completeness (cf. definition 3.8). In [Drescher and Thielscher, 2008] we have given a Fluent Calculus semantics for the fragment of PDDL 3.0 consisting of basic ADL and plan constraints that have been introduced to PDDL 3.0 in [Gerevini and Long, 2006]. This fragment again lies within the range of the ALP framework. Only a minor tweak on the definition of a state property and macro-expansion is required: We want to express planning goals like, e.g., (∃s)φ(s) ∧ ¬(∃s0)s0≤ s ∧ ψ(s0) — stating that on our way to the goal φ(s) at no intermediate timepoint s0 the state property ψ(s0) held.
But maybe we want to use action domains D that are beyond the range of today’s planners together with the generic planning ALP. Then it may still be possible to use some of the ideas underlying the fastest planners to date: Modern planners for example use simplified approximations of the planning problem (e.g., by ignoring the negative effects of actions) to derive a heuristics for picking actions to solve the full planning problem. Adapting these ideas, and implementing them, so that they can be put to use in fully general UAC planning domains is also left as a nice research challenge for future work.
6.4 Future Action Domain Reasoners
In this section we give some pointers to recent theoretical advances that may result in future, practically efficient action domain reasoners.
6.4.1 Progression in Situation Calculus
To date the dominant reasoning method in the Situation Calculus is regression, not progression (for an informal introduction to pro- and regression cf. chapter ??). The theoretical work on progression in the Situation Calculus originates with [Lin and Reiter, 1997], where it was conjectured that progression in general is not first order definable, but needs second order logic. This conjecture has only recently been confirmed [Vassos and Levesque, 2008].
But in the same thrust of research also important classes of action domains in the Situation Calculus have been identified for which progression indeed is first order definable. The point that empirically progression seems to behave better in implementations than regression, has also surfaced in this thesis — especially in chapter 4. Hence the recent theoretical advances on progression in the Situation Calculus are quite promising. A PhD-thesis entirely concerned with the theoretical
aspects of progression is that of Stavros Vassos [Vassos, 2009] — the most recent results wrt. progression can be found in [Liu and Lakemeyer, 2009].
6.4.2 Proper Knowledge Bases and Situation Calculus
Levesque has introduced the notion of evaluation-based reasoning with disjunctive knowledge. The aim of this work is to have open world knowledge bases that admit reasoning as efficient as classical, closed world relational databases [Levesque, 1998, Liu and Levesque, 2003] — such a knowledge base is called a proper KB.
In [Liu and Levesque, 2005, Liu and Lakemeyer, 2009] it has been shown that proper KBs can be progressed, i.e. we can use an update algorithm rather than the regression algorithm usually employed in Golog implementations. Since empiri- cally progression is superior to regression, and reasoning with proper KBs moreover is tractable, an actual implementation of Golog or the ALP framework based on the respective ideas appears to be very promising.
7 Conclusion
Let us now conclude our work. We will first give a summary of what we have achieved. Then we will give some pointers to interesting future work and open problems.
7.1 Summary
In this thesis we have presented Action Logic Programs — that is, we have proposed to use classical first order Horn clauses to specify strategies for
• the online control of agents, and • offline planning,
both in dynamic domains represented by an axiomatization in an action calcu- lus. The ALP framework stands apart from existing agent control languages by its straightforward declarative semantics — the classical FO semantics — and by not being tied to a particular action calculus.
We have identified the notion of a query-complete action domain — these are ex- actly those domains that can be combined with Prolog in a straightforward manner. If a planning problem in a query-complete domain has a solution then this plan is unconditional.
We have also presented sound and complete proof calculi: The LP(D) proof cal- culus for action domains that are query-complete, and the CLP(D) proof calculus for action domains that are not. These proof calculi appeal to ideas from classical (constraint) logic programming. In particular, these proof calculi together with a generic planning ALP provide a neat characterization of
• conditional planning (full CLP(D) calculus), and
• conformant planning (LP(D) proof calculus on arbitrary action domains), both for action domains specified using full first order logic. Previous logical char- acterizations of these planning notions using, e.g., classical propositional logic or quantified Boolean formulas were limited to the propositional case.
We have also provided a novel and particularly simple approach to model planning in the presence of sensing actions: We use domain constraints to express the possible sensing results together with their meanings. By imposing simple restrictions on the
proof calculi ALPs can also be used to generate plans that are epistemically adequate for agents equipped with sensors.
The ALP framework can also be used for interleaving the online execution of strategies with the offline generation of epistemically adequate plans.
For two fragments of the general framework we have developed implementations aimed at the online control of agents:
The first of these is ALPprolog. ALPprolog is based on a syntactic variant of propositional logic and a concise state representation using prime implicates. It ex- ploits our modeling of sensing actions via domain constraints. ALPprolog has proven to be considerably more efficient then the existing implementations of the logic-based action programming languages Golog and Flux on essentially propositional action domains that are supported by all three languages.
The second implementation we presented is based on a fragment of the Fluent Calculus where we use DL ABoxes to represent state knowledge. In the absence of competitors this implementation is harder to evaluate. On the one hand our im- plementation of the theoretically exponential ABox update proved to be practically superior to the theoretically polynomial so-called projective ABox update — this was a pleasant surprise. On the other hand our implementation still has its limita- tions. The variant that uses ALCO@ as underlying DL suffers from problems with keeping the state representation small, and the variant based on ALCO+ suffers from the absence of a truly satisfactory reasoner.