Patrik Haslum

Now a researcher in the AI group, Research School of Computer Science, within the College of Engineering and Computer Science at the Australian National University, Canberra.

I am also part-time seconded to Data61's Decision sciences program where I lead the Diagnosis, Planning & Scheduling team.

Previously I was with NICTA's Optimisation Research Group, also in Canberra.

And before that a PhD student at Linköpings Universitet (where I worked with these people).

...and still working on planning.

What is Planning?

"Planning is the art and practice of thinking before acting."

"Planning" is the name used in AI for computational problems that have to do with choosing a course of action. This may be for the purpose of creating a "plan", e.g., for a pair of robots to assemble a (simulated) IKEA table, for moving a sheet of paper through a printer, or exploiting IT security weaknesses. However, problems like model checking or computing genome edit distance are, in a computational sense, essentially the same.

For more information, see, e.g.,

What am I doing about it?

Most of my work in AI planning is about generating optimal plans, i.e., plans that have minimum cost or execution time. Mostly through the use of heuristic search. But I'm interested in other stuff too, for example, analysing/understanding classes of problems ("domains") used as benchmarks in evaluation of planning algorithms, and tractable subclasses of planning problems.

Some things I've been thinking about recently (and, in some cases, for quite some time):

For more details of my past work, see the list of publications below.

Student Projects

I'm always looking for students interested in working on AI planning research. For information about how to apply, see I have a (short) list of suggested student project topics. Some project descriptions are very general, and intended to be made more precise depending on students interests and the scope of the project.



Since my LiU web page has disappeared, pre-2007 publications are now listed below:

My thesis, "Admissible Heuristics for Automated Planning" (Doctoral Thesis no. 1004, Linköping University. 2006) is available from LiU E-press, should it interest anyone.


Stuff that may be of use to other researchers in my area.
My IPC5 resources page.
Information about some of the IPC5 benchmark domains: problem generation/conversion software, alternative domain formulations, and bounds on solution quality.
PDDL domain and problem definitions.
PDDL Encodings of DES diagnosis problems.
These planning domains and problems encode discrete event system diagnosis problems. See the first SPARK'11 paper for further details about the encoding and about the two application domains.
INVAL (as of 28th Oct. 2015)
INVAL is the Independent PDDL plan Validator.
VAL, the PDDL plan validator by Derek Long et al. is a great tool. But, like all software, it does have bugs. INVAL is meant to complement VAL, not to replace it. My aim in writing INVAL was to have a simple (rather than capable and efficient) implementation of the PDDL semantics as they are defined in the literature. When both validators agree, you can have greater confidence that they are right; when they disagree, something is not right.
Compared to VAL, INVAL has some limitations. Most importantly, it does not handle temporal plans. It should, however, handle numeric and object-valued fluents, and derived predicates. And it's not efficient.
INVAL is written in LISP. For instructions on how to run it, see comments at the beginning of the main file ("inval.lsp").
Note: The most recent version of VAL (4.2.09) is not available on the VAL web page, but can be found at
Update (29/6/11): Thanks to Robert Goldman, INVAL now has a better parser, that is less confused by colons!
Update (11/11/11): A few bugfixes (handling of object fluents). Added domain/problem type checking, several options for how to interpret type declarations (which is one of those areas where PDDL specs are less than crystal clear), and a collection of test cases (domains/problems). The PDDL-to-FD translator has been removed, since it has not been updated to the new FD file format.
Update (30/01/12): Added (what I hope is) a working version of RSK, a tool to compile away PDDL3.1 object fluents. It has not been extensively tested.
Update (29/04/15): Several updates, bugfixes and new test problems. The PDDL-to-FD translator (nyat) is back, and now supports FD version 3. Also new is an ADL-to-STRIPS simplifier (simplify).
Update (28/10/15): Minor fixes to the ADL-to-STRIPS simplifier.
HSP* is a collection of planners and planning-related tools that I have developed over many years. The source code is available on the download and documentation page.
Axiom-aware heuristics for the Fast Downward planner
Source code and benchmarks for the experiments reported in the IJCAI'15 paper. This is provided as a patch on Fast Downward. See README file for installation/compilation instructions.
csdltopddl (as of 15th Jan. 2010)
A diagnosis-to-planning translator. Takes as input a discrete-event diagnosis model/problem in CSDL format, and generates planning problems corresponding to possible diagnosis hypotheses; each planning problem is solvable iff the corresponding hypothesis is consistent with observations.
The translator is written in java and depends heavily on Alban Grastien's CSDL package.



A quote for the day...