Teaching Projects Research PhD Topics Talks Publications Software Haskell

For the general area of my research, see my research pages and get in touch if you think that these match up with your want to do for a PhD. Details on scholarships and admissions at ANU can be found on the university-wide web pages. Here's a non-exhaustive selection of research topics that I personally find fascinating.

Verifiable Vote Counting

Verifiable vote counting is one of the cornerstones of a trustworthy electronic voting system. Correctness and trust can be achieved by understanding voting protocols, specified textually in legislation, as formal rules. Vote counting can then be cast as successive rule application, where the sequence of rule application serves as an independently verifiable certificate attesting to the correctness of the count.

Coalgebraic Knowlede Representation

This is the subject of a grant that has been awarded (see the pages on the COOL project) where the aim is to develop both theory and an implementation of an automated reasoning system that allows to deal with feature rich logics. This project funds one PhD studentship -- do get in touch if you are interested.

Eating, or computing with non-wellfounded data

The term "eating" is a colloquial form to refer to functions that process infinite data streams. Such data streams arise in various areas: they could be the decimal expansions of real numbers, or the sequence of signals sent through a communication channel. Processing infinite streams then implements a function that takes one (or more) streams as an input, and produces another (infinite) stream as output. Clearly we have to ensure that streams flow (i.e. the output stream does not terminate), and we have to do this in a computational way. For streams, this is described e.g. in the paper Representations of stream processors using nested fixed points with Peter Hancock and Neil Ghani. However there's more to life than just streams: it is easy to see that a stream processing function can itself be represented as an infinite tree, so that the processing of stream processing functions (or higher order function on streams) again is an instance of computation over infinite data types. Interesting questions in that area concern the computability of (higher-order) stream processors, the complexity of these operations, and applications: how can one define a (higher order) stream processing function that represents intergration?

Tableaux versus Automata for Modal Logics

As we know, modal logics are usually decidable, that means given a modal formula, there is a decision procedure (a program) that -- given the formula as an input -- determines whether the formula is satisfiable, i.e. it is valid in at least one point in at least one model. Dually, this gives universal validity: if the negation of a formula is not satisfiable, then it holds at all points in all models. To establish decidability of a particular logical calculus, there are two standard approaches. The first approach proceeds by giving a complete axiomatisation of the logic under consideration (usually via a tableau or sequnt calculus) and then gives an effective procedure (usually backwards proof search) to determine whether there exists a proof of this formula. The second approach works without any axiomatisation, but instead converts every formula to an automaton, with the following property: the automaton accepts a point in a model if and only if this point satisfies the formula. To see whether a formula is satisfiable, it therefore suffices to determine whether the automaton accepts at least one point in at least one model -- this is the ``emptyness problem'' of the associated class of automata. While both approaches seem to be fundamentally different at the outset, one sees that there are certain similarities: in particular, constructing a decision procedure from a tableau calculus is strikingly similar to constructing an automaton, and solving the emptyness problem at the same time. Now the interesting question is whether, and how, this correspondence can be made precise. Can we convert automata into tableaux and vice versa? What are the advantages, both of a theoretical and practica nature, of either approach? First steps have been made at a recent workshop on Tableaux versus Automata as decision procedures, but many questions still remain open.

Machine Learning over Modal/Description Logics

Given that modal or description logics are expressive yet tractable ways to represent knowledge, can we do machine learning over (modal) knowledge bases? The basic problem is roughly the following: Given a set of logical formulas that represent knowledge about a particular application domain (say, roads in South Kensington) and a yet unspecified property (say, the notion of safety), can we automatically construct a formal definition of this property given a set of positive examples (roads that we regard as safe) and negative examples (those that are deemed unsafe). More formally: given a set of positive / negative individuals, can we find automatically induce a formula that is satisfied by all the positive, but by none of the negative examples? From a different perspective, the question can be seen as "how can we generalise inductive logic programming to modal logics?".

Dirk Pattinson [check HTML] [check CSS]