Publications

My publications can be found and downloaded from DBLP (or even from Google Scholar) directly.

If there is a paper that you cannot obtain from there, please email me and I will be happy to send you an electronic copy. 👍

Below, I list feature papers by areas of work. If you are a student who is potentially interested in working with me in some of these areas, these are initial papers to read… 😉

AI Automated Planning

Automated planning is the problem of automatically producing a plan (i.e., a course of actions) in order to achieve a certain goal (e.g., have all the packages delivered in a logistic domain). Those plans are generally meant to be executed by intelligent agents, autonomous robots, unmanned vehicles, or complex embedded systems.

I am particularly interested in advanced forms of planning (e.g., such as planning under non-determinism or adaptive planning), the link with controller synthesis for adversarial planning, and path-planning (or pathfinding) in an AI context.

Together with students, and sometimes as part of the COSC1024/2048 Agent-Oriented Programming course, we developed path-planning libraries and simulation-visualisation toolkit (that are compatible with Moving-AI benchmark framework).

Some representative papers in the area are:

Reasoning about Action and Change

This area is concerned with how to specify and verify dynamic systems. Different approaches to representing and reasoning about systems that change include temporal logic, model checking, dynamic logic, and modelling change in Artificial Intelligence. Some problems that I am interested include:

  1. Progression of knowledge bases: what is the new knowledge base after an update action?
  2. Incomplete knowledge and relation with (incomplete) databases.
  3. Knowledge precondition for plans: what knowledge is required to successfully execute a plan?
  4. Verification of properties in dynamic systems, even in infinite systems (i.e., systems manipulating infinite number of objects).

Some example of relevant papers in the area are:

Obs: picture produced by my very good friend Diego Martinez.

Behavior Composition

With computers now present in everyday devices like mobile phones, credit cards, cars and planes or places like homes, offices and factories, the trend is to build embedded complex systems from a collection of simple components. A complex surveillance system for a smart house can be then “realised” (i.e., implemented) by suitably coordinating the behaviours (i.e., the operational logic) of hundreds (or thousands) of simple devices and artifacts (e.g., lights, blinds, a microwave, a vacuum cleaner, video cameras, a floor cleaning robot, etc.) installed in the house. The problem then is how to automatically build an embedded controller-coordinator to bring about a desired target complex system by suitably coordinating the available components.

Behavior composition is not restricted to smart environments and can also be applied to build complex systems in advanced manufacturing systems, web-services, or even in video games, for story generation.

A short (fairly easy to read) overview paper on the topic and a more in-depth journal article on the topic are:

A tutorial on the topic delivered at IJCAI'15 can be found here.

Agent-oriented Programming

I am interested high-level programming languages for complex systems and intelligent agents. High-level agent-oriented programming can be seen as a middle ground between automated planning and full standard programming (e.g., Java). The idea is to write programs in a loose language so that programs will contain “gaps” that need to be filled out at execution time. These programs can typically be useful to program robotic or software agents with higher level cognitive functions that involve reasoning, for example, about goals, perception, actions, the mental states of other agents, collaborative task execution, etc.

I am interested in mainly two type of agent systems, namely, Belief-Desire-Intention (BDI) event-driven systems (like SARL, JACK, or JASON) and GOLOG-type systems built on top of the famous situation calculus logical framework (like IndiGolog, a high-level programming language where programs are executed incrementally to allow for interleaved action, planning, sensing, and exogenous events).

Some relevant papers on BDI agents are:

Relevant papers on situation calculus based high-level control languages:

AI for Business Processes

In this area we combine AI and Business Processes processes together.

One line of work involves using AI planning and agent-oriented systems to obtain more powerful BPM frameworks, for example, by enhancing dynamic adaptation or performing conformance checking.

Another line of work involves using BPM models and techniques for cost-based goal recognition, which allows us to perform intention recognition without a plan library or PDDL models.

Some representative papers are:

Goal Recognition

The goal/intention recognition problem is the task of identifying an agent’s intent by observing its behaviour. Traditionally, the problem has involved matching a sequence of observations to a plan in a pre-defined plan library; the winning plan being the one that “best” matches the observations.

Recent developments dispense with the overhead of a plan library and instead—based on the assumption that the observed agent is behaving rationally—take a cost-based approach and uses classical planning technology to generate candidate plans as needed over a domain model.

In a series of work, we have extended and improved the cost-based approach to goal recognition, both for general task planning and path planning. We have worked on how to make recognition faster and more robust to irrational/erratic observed behavior. We have also looked at its’ dual problem: deceptive behavior, the problem of generating behavior that is as deceptive as possible, while still achieving the intended objective.

Some representative papers are: