The field of reasoning about action deals with how rational agents (a robot, program, etc.) reason about the ramifications of performing actions in a particular domain. In short, it aims to investigate solutions to the famous frame problem in Artificial Intelligence.
Recently, several causal approaches to reasoning about action have been proposed as a way of providing concise solutions to the frame problem. In this project we propose to study one such proposal by McCain and Turner which has attracted a lot of attention due to the rather simple statement for determining possible states of the world after actions have been performed (this is not to say it will be easy to implement however!). The project will involve an implementation of McCain and Turner's approach (perferably in Java) followed by a study of its feasibility by running it on a number of examples (many can be found in the literature but more will need to be developed). If time allows we can consider other causal approaches also.