Project Code

Academic Projects


The Planning.Domains initiative includes a collection of services and repositories meant to showcase the work of planning researchers, and to aid in the development of further innovations in the field. There are three primary services offered at present as part of PD: (1) an API for programmatic access to the largest repository of planning domains publicly available, and the set of common properties associated with each problem; (2) a solver-in-the-cloud service that allows planning problems to be solved remotely; and (3) a fully featured editor for planning problems that provides interactive development functionality and in-depth analysis of planning encodings.


To test the research into epistemic reasoning, we modelled the Hattari board game as an online application. The game is an excellent source for reasoning about nested belief, because there are elements of common knowledge, asymmetric belief, and even deception.

MEP Planning Demo

I created this demo site to showcase some aspects of the research into multi-agent epistemic planning (MEP). The work is also available for use as an open source library capable of converting MEP problems into classical planning problems. Another project here builds on the MEP framework to model teamwork formation.

PRP: Planner for Relevant Policies

This project started as a heavily modified version of Fast Downward that was capable of solving FOND planning problems. It has since gone through a number of iterations and versions that improved the efficiency and expressiveness of the problems that it can solve. Currently, PRP remains the most efficient non-deterministic planner for FOND problems, and extensions to PRP are maintained that allow it to solve problems with probabilistic action outcomes, partial observability, and multi-agent settings.

KR Toolkit: Knowledge Representation AI Toolkit

This project is a collection of python libraries for research into knowledge representation and reasoning. They include functionality for SAT-based systems, automated planning, and general experimental frameworks (for running multiple trials on a multi-core machine). The project is under continuous, albeit slow, development as I uncover new problems that do not have a solution.

LAPKT: Lightweight Automated Planning ToolKiT

LAPKT stands for the Lightweight Automated Planning ToolKiT. It aims to make your life easier if your purpose is to create, use or extend basic to advanced Automated Planners. It is an open-source Toolkit written in C++ and Python with simple interfaces that give you complete flexibility by decoupling parsers from problem representations and algorithms. It has been used successfully in embedded systems, webservices, compilations, and replanning, and it contains some of the high-performance planners from the 2014 International Planning Competition.

DSHARP: CNF to d-DNNF Compiler

DSHARP is an open source CNF-to-dDNNF compiler based on sharpSAT. Similar to the c2d software, DSHARP takes a boolean theory in conjunctive normal form as input, and compiles it into deterministic decomposable negation normal form.

POPGEN: Optimally Relaxing Partial-Order Plans with MaxSAT

The POPGEN project encodes an existing plan as either a Partial Weighted MaxSAT problem or Mixed Integer Program. The solutions correspond to a valid partial-order plan, and the optimization criteria focuses on minimizing the number of action orderings in the transitive closure. Additionally, the encoding supports the removal of redundant actions from the plan.

Data Projects

Tabs Toronto

The Transparent Accessible Bulletin System (TABS) was created as a Random Hacks of Kindness (RHoK) project lead by the Toronto Public Spaces Initiative (TPSI). The site allows users to search for topics within city council agenda items, and register for email alerts when any new items are added. This includes both past meeting minutes and future planned agenda items. The most interesting technical hurdle of the project was essentially to turn the city's existing search functionality into an API -- while searching agenda items was already possible, accessing that search pragmatically was not. TABS won top spot at the Toronto RHoK session in December, 2012, and remains an ongoing TPSI initiative.

Wardly - TO

Wardly-TO allows users to embed a ward map of the city of Toronto into any html site. It is possible to colour specific wards with css, include only a subset of the wards, and scale the map to (almost) any desired size. All of this can be done with basic HTML and CSS and does not rely on javascript or flash. Each ward is represented as a letter in a specially designed font, and using the right combination of letters gives users the entire ward map. With 44 wards, specifying each one (as an item in an unordered list) can become a little cumbersome. To fix that, I have also included javascript functionality that allows users to create a map quickly while specifying the (css) class and colour for groups of wards. This makes elegant interaction with jquery possible, as groups of wards can be addressed simultaneously using their class. Feel free to try Wardly-TO, and let me know if you have any suggestions or bugs to report.

TTC Pass

The idea behind TTC Pass is to allow the citizens of Toronto collaboratively to edit a data set that maintains the availability of various transit passes around the city. It was pre-populated with a list of locations provided by the TTC, and the data set is of course available to the public. The project was entered into the Google Places API Developer Challenge, and it ended up finishing in one of the top spots. Eventually, the hope is to abstract away the core of the app for, making collaborative editing of geo data sets far less painful. The website has subsequently been taken down and the domain name released.

The City 4 Me

Created as an entry to the BuzzData and EIU Best City Contest, addresses the question of what city (out of a list of 100) is the most livable. Rather than imposing my own weighting on the factors, and trying to argue for it, I created the site to solicit the preferences of each visitor. For example, some may think that high-quality sporting events are more important than high standards of available high school education. Additionally, all of the preference data is aggregated for country and world-wide statistics, and then released back as a public data set. The entry scored one of the three honourable mentions as runners up to the top position. More behind-the-scenes information can be found through this series of blog posts. The website has subsequently been taken down and the domain name released.

  • (offline)