2006 MSc Projects


Last updated:  24 February 2006

Dr Joanna Bryson

E-mail: J.J.Bryson // bath.ac.uk

General Interests: Artificial Intelligence, Natural Intelligence, Artificial Life, AI Development Methodologies.

Samples of Specific Interests:  Modular models of animal intelligence, the evolution of social behaviour, intelligent environments, tutoring systems, VR characters, autonomous robots, multi-agent models of political systems.

These are hacked from a number of sources, sorry the formatting isn't uniform.  For more about me, see my home page (above).



A Review and Repository for AI Gamebots Programs

Several universities, including ours, are using Unreal Tournament to test theories of artificial intelligence.  This project involves reviewing and documenting these efforts.  The final deliverable should be not only a dissertation, but also a web page with links to the projects and instructions for running the various bots.  Ideally it should also contain a preliminary table of competition for the bots in two domains:  Capture the Flag and the actual Death Tournaments.  You will also probably want to look at & review other similar efforts, such as chess competition sites and RoboCup.  You will also need to get a number of the teams running.  This project will require a good deal of reading of both dissertations and papers and also of other people's code, possibly in a variety of languages.  You will be expected to get at least three different sites agents up and running against each other.  Warning:  do not expect this to be easy; do not expect to get a lot of  assistance!
See further:



Improving the Usability of an Emotional Face
This project builds on an existing system which uses a realistic emotional representation to control an 3D VR face.  It involves creating an editor for the expressions associated with different emotions, which includes an editor for altering the "muscle" representation for the face.  It requires programming in C++ and working with a modular AI system (though you won't need to know much / any AI.)

This is a good project for a student interested in an industry job in applications or HCI.

You will be working with Emmanuel Tanguy, one of my PhD students, as well as myself, because it's his system!

For some details about the system see also: 

The Role of Emotions in Modular Intelligent Control
, with Emmanuel Tanguy, and Phil Willis.  Cover article (well, blurb!) for the 2004 Summer AISB Quarterly.



Speech production & understanding for an intelligent virtual agent.
This project builds on an existing system which uses a realistic emotional representation to control an 3D VR face.  The main focus of the project will be improving the sound of the speech as it comes from the face.  What is said will be handled either by a set script or an existing AI system.  What we want is to improve the existing Festival speech program -- taking advantage of Festival's ability to create inflection on speech in order to make the speech sound more appropriate to the emotion.  If the project goes well we may also try to link the system to a commercial speech-recognition system.

This is a good project for a student interested in an industry job in multi-media applications or HCI.

You will be working with Emmanuel Tanguy, one of my PhD students, as well as myself, because it's his system!

For some details about the system see also: 

The Role of Emotions in Modular Intelligent Control, with Emmanuel Tanguy, and Phil Willis.  Cover article (well, blurb!) for the 2004 Summer AISB Quarterly.

Here is the Festival Speech Production System.

Hopefully you will be using some existing work on Festival, see http://www.pd.istc.cnr.it/FESTIVAL/home/emotions.htm.



The Behavior-Oriented Design of an Intelligent Environment

Behavior-Oriented Design (BOD) is an iterative methodology for building artificial intelligence.  It is based on both object oriented design, dynamic AI plans and somewhat like extreme programming. Intelligent environments are rooms or houses that can sense and act, normally in support of human users.  This project would involve combining VR avatars, language technology and vison or other sensing (touch screens, pressure sensors) to create a prototype system for helping support elderly users with failing memory.  It would helpful if the student  knew a little about vision or EE.  The prototype may focus on something easier, like taking typing breaks.  This would probably be done mostly in python, but you should not fear C.  It will involve ordering complexity, good time management, and being able to run extended experiments.





Different Machine Learning Techniques for Social Learning of Action Selection
I'm not entirely sure about this project, but if you are good at mathematics and interested in machine learning, come talk to me.  The idea is that you will be getting a stream of data from observing people & AI agents behaving in Unreal Tournament, and you will be using different `off-the-shelf' pattern matching techniques to compare different ways of recognizing what perceptual contexts are leading to what behaviours.  This work will be done with my PhD student, Mark Wood.

This is a good project for either doing research or industry, as there are many opportunities to apply machine learning.

For other related work, see the pyPOSH page.




Monkeys in a MUD (using BOD)

Behavior-Oriented Design (BOD) is a way of making artificial intelligence based on combining object oriented design and POSH reactive plans. The goal of this project is to create entertaining characters in a  Multi-User Dungeon.  We have a particular dungeon in mind which we have already connected to with python  (it's this one).  But you should realize that that one has some fairly rude inhabitants who make many jokes about sex and such things, so don't go there if you might be offended.  We chose it because:
    1. It is set up to be inhabited by AI characters as well as people.
    2. It has a regular population of people who actually use it, so you will have people to test out your characters when they become good enough to show off.
The idea there was to build monkeys to run around the MUD, so there's no reason to tackle natural language (much.)  You would need to spend your first few weeks connecting pyPOSH to the MUD.  (Last year's student skipped this part & barely passed.  This year, if you skip it, you don't pass!)  Then you will need to create a monkey character who moves around and interacts with people.   It should ideally be unobtrusive most of the time unless someone comes over and treats it well or badly.

After you have one monkey, you should build some more.  The idea is that a troop of monkeys will be spread out in the dungeon, mostly sitting quietly by themselves or grooming each other if they happen to be in the same room.  But if someone is mean to a monkey (e.g. kicks it or hits it with a stick) it should go find the rest of the troop then come back & find the mean character and tease him as a group.
This is a good project for practising programming skills for going into industry.
This project requires representing building representations of time & location.  It is more difficult conceptually than in terms of programming.  For examples of similar BOD agents, see these papers:


Building a Smarter Eliza

Description:

The Turing test is a functionalist solution to the question "How will we know when we have achieved AI?" Alan Turing, (the English mathematician who funded AI and computer science) suggested the answer was simple:  you've achieved it when people can't tell whether they are interacting with a computer or a person.

There have been a number of systems built to try to achieve this sort of AI, notably ELIZA, a Rogerian pschoanalyst that knows about a few dialog patterns and also looks for certain keywords to focus in on and come back to. 

This project is about trying to extend ELIZA to be more flexible --- to know about more different kinds of words that mean similar things.  The idea is to use search-engine like technology to choose topics and possible also possible dialog structures.   You will need to learn about regular expresions and parsing, as well as finding other resources available on the web.  This is mostly a programming project.

Pre-requisite knowledge:

This program will almost certainly be in lisp.  If you want to do it in another language, you will have to find the ELIZA and the search engine code written in that language. 

Indicative reading:

Daniel Jurafsky and James H. Martin's Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, Prentice Hall, 2000

Joseph Weizenbaum's ELIZA: Communications of the ACM
 Try also typing "M-x doctor" in any full version of emacs.

The Behavior-Oriented Design of Modular Agent Intelligence