Suggestions for Part II projects

I am interested in supervising projects in the general areas of artificial intelligence and machine learning, so if you have suggestions of your own other than the following then please do contact me.

Project suggestions for 2017/18

AI and interactive fiction

I have always thought that interactive fiction provides a fantastic array of opportunities for experimenting with AI.

Interactive fiction has died out somewhat since its heyday in the 1980s, probably because computer games have for obvious reasons taken a more graphical route. The idea was simple in essence, but extremely hard to implement convincingly: it was to make textual books wherein one could interact with the story by typing commands describing what your character should do. Typically they involved puzzle solving as a key element. In response to a command, you would get a description of what happened, and the object was typically to complete some task within a textually described world. If you're completely unaware of this kind of game, take a look at The Hitchhiker's Guide to the Galaxy, which is based on the book of the same name and was developed by Infocom, who were probably the leading company at the time.

From an AI perspective, the challenges should be clear. One needs in essence to model a convincing world, the state of which is updated in response to commands supplied in natural language, and for which the results of actions are conveyed in natural language. At the very least one might expect this to require considerable effort in effective knowledge representation: we need to know that a small wooder box can contain a pencil but not a bus, and also not anything gaseous, although for different reasons. Of course, once you want to include other characters in the story as AI agents things get really tricky.

If this genre of gaming interests you, I'm sure we can put together a project proposal addressing some relevant area.

Machine learning for theorem proving

In essentially any approach to automated theorem proving there are numerous points at which we can try to improve the process by introducing machine learning. In addition, there are large collections of problems available from which one can construct training data.

I am generally interested in this collection of problems and happy to suggest specific things that might be tried.