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 NICTA's Optimisation Research Group where I lead the Diagnosis & Planning project.

Previously with NICTA, 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 Here is a (short) list of suggested student project topics. Note: Some project descriptions are very general, and intended to be made more precise depending on students interests and the scope of the project.

Publications

2014
2013
2012
2011
2010
2009
2008
2007

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.

Resources

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 30th Jan. 2012)
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 http://helios.hud.ac.uk/scommv/IPC-14/software.html.
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.
libhspsutil (as of 27th Nov. 2009)
Source code for some utility classes used in the HSP* planner, but also used quite indiscriminately in other software I've written.
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.

Tutorials

Teaching

A quote for the day...