Artificial Models of Natural Intelligence

Bath AI  |  Department of Computer Science  |  Contact Us 

Undergraduate Research Opportunities (UROPs)

You don't have to wait until you do your final-year project to get involved in research!  Doing UROP work won't give you any extra credit towards your degree, so don't think of doing research as an alternative to studying or doing coursework.  However, it can be more interesting than watching TV.  You may also wind up with publications, your name on the web or in open-source code, or at the very least a nice letter of reference for a future employer.

Feel free to contact any member of staff about whether you can do research with them.  Currently, all the opportunities on this page are with Dr. Bryson, so schedule an appointment to see her if you want to join in.

The projects below are just suggestions.  If you have another idea, feel free to propose it.

Engineering Projects:  Small

  • Making newer, better Unreal Tournament characters.  It's probably easiest to start out understanding our existing UT characters, then improving them, but you can also start from scratch if you like.  Note that we are interested both in better characters and in bug reports or improvements on our development methodology, BOD.
  • Replicate Lehmann's replication of DomWorld in BOD/MASON.  This would be another demo both for BOD/MASON, & for POSH plans.
  • Improving the Sheep-Dog demo, which is supposed to help new AI programmers learn how to use BOD in an agent-based modelling environment.  Currently though, the behaviour decomposition isn't very good.  Neither is the separation between the java & python code.
  • Improving the basic BOD/MASON behaviour library
    • Jan Drugowitsch is maintaining BOD/MASON from the POSH side and working on the interface, but we could use some more documentation and some more robust behaviours.  See also below under science.
  • Documentation -- code is no use without it!
    • The original author of pyPOSH (Andy Kwong) didn't copy any of the comments from the lisp version into his python version, but rather only documented things that differed from the lisp.  If someone who knows both languages would like to fix this, I'd be eternally grateful. Or at least the comment with your name on crediting you with the comments would be eternally in the code.  In fact, if you only know one of those languages and want to learn the other, this might be a nice way to do it.
    • Always looking for help on the web pages and manuals.

Engineering Projects:  Large

  • Making a Java version of POSH & linking it to NetLogo.  This would be very widely used, but is quite a big project.  I would suggest starting from some of the ABODE libraries so that you can get the parsing of the POSH scripts for free. 
  • Improving ABODE
    • We actually have money for this.
    • There is a wish list of things that need fixing.  (send me edited copies of that page if you have complaints of your own!)
    • We would really like to turn ABODE into a real-time dynamic plan debugger. We have a design for how, just no time to do it.
  • Build a better UI for EE-FAS.  This would involve understanding EE-FAS and being able to write a nice GUI to help design emotional systems.  For example, we want to be able to specify which emotions there are, how quickly they onset, how long they take to decay, and how they affect or interfere with each other (e.g. does being happy makes you less sad?  does being angry?)
  • Let me know if you are interested in programming AI in LISP.
See also the BOD Developers' page.

Science Projects

  • Work with Hagen Lehmann on building artificial life models of primate social behaviour in BOD/MASON.  You will be working directly with someone who is a better scientist but worse programmer than you.  The project is working to understand the origins of primate (including human) social organization.
  • Extend some research on how much of human semantics can be acquired statistically from just reading lots of text.  This has important implications for understanding the evolution and individual development of human culture & intelligence.  The code is currently in LISP.
  • Extend some research on the extent to which human intelligence can include behaviour copied from other humans without understanding.  This is currently in MASON (but not BOD/MASON, so you need to use Java).
See also my research or publications pages for more ideas, or tell me if you have a science project you want to work on yourself.

UROP Hall of Fame

These people are working or have worked on research projects while they were undergraduates.  A few of them have gotten paid or some travel money --- it depends what funding we have.  This list doesn't include final-year project students.
  • Adrian Hilton - did the AmonI web page template.
  • Avri Bilovich - worked on testing & analyzing the Evolution of Communication model.
  • Steve Gray - wrote the first version of ABODE under contract.
  • James Nugent - worked on ABODE.
  • Jakub Gemrot (from Charles University, Prague) - worked on ABODE & pyPOSH, and his own POSH/UT tool, Pogamut.  Is currently translating POSH into java for this with a team in Prague.
  • Maria Shugrina (from Boston University) - worked on empathic painting with Dr. Collomosse.
  • Francis Binns and Andrew Mansfield - are currently working on BOD / UT.