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.
For 2004/2005, staff were asked to come up with sketchy project ideas very early, to see the ones I submitted see Dr. Barry's Projects Page (now also copied at the bottom of this page.) The domain areas for the two Behavior-Oriented Design projects are not meant to be exclusive. If you'd like to do something else (for example, create an interactive drama in Unreal tournament), that may be fine, just email me. Also, an MSc project this year connected BOD to a MUD. I'd love to see that work extended. The idea there was to build monkeys to run around the MUD, so there's no reason to tackle natural language (much.) In addition there are two projects left from last year. Both of the below are fairly difficult and would require strong programmers. The first requires someone who is very good at GUI design, the second requires someone who is comfortable hacking together many elements for a complex system.
Reactive plans are an excellent way to organise the behaviour of complex artificial agents, such as VR characters or simulated animals. A developer provides a concise, robust plan which the agent can then apply in a large number of diverse, dynamic situations. However, visualising, coding and debugging reactive plans can be tricky.
This project extends existing work on Behavior Oriented Design. Two MSc projects over the summer have already created a GUI for editing plan elements and a new version of the POSH reactive planning system, both written in Python. Python is a scripting language that is extremely simple to learn for Java or C programmers; it sacrifices a little speed for coding simplicity, e.g. it is not strictly typed. Writing GUIs in python is very quick and intuitive.
The project will require creating an improved view of the complete plan, connecting the plan execution software, connecting the plan execution software to the planner so that execution can be observed in real time. Additional features should include some of the following: connecting to an editor (preferably emacs) for editing source code for plan primitives, building demonstration AI characters in a graphical environment, user testing,a well specified API, logging facilities so that behaviour can be re-run out of real-time for debugging and analysis, evaluations and possibly improvements on the POSH plan representation. The final writeup may be directed toward either industrial or academic standards, depending on the student's career interests.
The POSH planning system, though developed by Dr. Bryson, is being used and evaluated at several other universities. It is expected that the outcome of this project will be made publicly available from the Bath AI web pages, and will be used by many students and researchers.
Strong competence in at least one GUI development language, knowledge of HCI, willingness to learn new languages, interest in AI, willingness to read academic papers.
- Background on Behavior Oriented Design: The Behavior-Oriented Design of Modular Agent Intelligence
- Example of a reactive plan for Artificial Life research: Hierarchy and Sequence vs. Full Parallelism in Reactive Action Selection Architectures.
- A shorter & more technical description of these reactive plans: Modularity and Design in Reactive Intelligence
- A longer & more fun description of the industrial application of such plans: Dragons, Bats & Evil Knights: A Three-Layer Design Approach to Character Based Creative Play
- There will soon be two MSc dissertations available on this subject, one on the GUI for building reactive plan scripts, and the other on the Python implementation of the POSH system.
- Python IAQ: Infrequently Answered Questions
- A Python Quick Reference
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. Obviously this test is harder to pass in some circumstances than others. This project will look at the domain of language in multi-user gaming.
In a gaming environment, there are many distractions. Further language is often stereotyped. Also, most of the things the language will be referring to are specified in the semantics of the game, either objects or actions. The goal of this project is to create a simple reactive AI agent which gamers have trouble distinguishing from at least some classes (e.g. novices) of other gamers.
The first task will be to collect a large corpus of gaming conversations, possibly including chat-room dialogue. The next task will to be attempt to categorise sentences into ones that can be responded to simply (e.g. "How are you doing?") and ones that require actions or observations (e.g. "Is there anything over there? " "Go right!") The third will be to build an agent which can respond appropriately to at least some of the things that are said, or to some events in a gaming environment.Existing work includes an MSc project this summer which produced an AI agent which operates in Unreal Tournament. This agent is written in Python which is a good language for doing prototypes and has good regular expression libraries.
Writeup would probably be aimed toward an industrial standard, documenting design decisions, usability and extendability, it must include experimental evidence of the extent to which it passed Turing equivalence.
Should be a very strong student, happy with both statistics and parsing, not afraid of reading or programming.
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