[an error occurred while processing this directive]

CompSci-175, Project in AI, Spring 2011
[ main | lecture notes | projects ]


Project Ideas


Next are some project ideas in Bayesian networks, constraint networks, and games.


When you select a project provide:
  • Project title
  • Project idea
  • Methodology (Constraint processing, Bayesian networks, Games, search, planning, learning)
  • Data source you will use
  • Tools you will use
  • Software you will have to write
  • Background material to read. Read relevant papers. Find out available systems.
  • Teammates: optimal number of team mates is 3
  • Expected output (experiments, demo)

In constraint network projects, you will need to model your domain using a collection of constraints and cost functions using one of the tools for constraint processing. You will need to show how you solve the problem and how you evaluate the quality of your model and solutions.

In Bayesian network projects you will build a Bayesian network that models a domain and makes some inferences. Available tools such as SamIam, REES, Hugin and JavaBayes can be used. The system can be built using knowledge acquisition from expert in the domain or by learning from data or both. Some domains used in the past are: Admission to a Phd program, Loan expert advisor, Basketball simulator, Handicappers (picking winners in horseracing).

The domain you select should be sufficiently complex. It should have enough variables (at least 50 variables). You would need to validate the model somehow. This can be done by connecting with an expert in the domain or by having data. Once you have the network model, you should propose what kinds of experimental evaluation to conduct over it.


Examples of projects:

The problem is to find a schedule for classes, classrooms, and teachers for a teaching setting (e.g., a high school, a computer science department). A measure of satisfaction can be to minimize the number of weighted constraints violated. Students can use the REES tool to model and run their algorithms. See papers by Saleh Elmohamed et al., Dimopoulou et al., Badri et al. and Dinkel et al. Also see the link for the PATAT above.

Actual data from the chair of the CS department: class schedule for next two years

2. TA assignments.

Given class schedules for quarter, the number of TAs needed for each class, TAs' preferences and qualification, and instructors' choice of preferred TA, schedule the TAs in a way that maximize some measure of satisfaction. (Real data may be available, talk to Mark Cartnal). See the page for the PATAT - International conference on the practice and theory automated timetabling.

3. Advising a first year student.

A freshman student needs to make many decisions in his first year (what is his major, what classes to take, etc.) Build a Bayesian network or a constraint network (or a mixture of both), based on your own expertise that will advise a first year student in his first steps on campus. See paper by Avi Dechter.

4. Magnetic Tower of Hanoi project.

A variation of the Tower of Hanoi puzzle that uses multicolored disks. See paper by Uri Levy.

5. RoboSoccer game simulation.

Investigate different policies for keepaway RoboSoccer game simulation. See Peter Stone's site for keepaway. Investigate the influence of the total number of players, ratio between keepers and takers, and field size on the effectiveness of certain policies.

  1. Develop new policies for the keepers, using various machine learning techniques and compare to the ones presented by Peter Stone's group.
  2. Develop policies for the takers. Prove that your policies work better than the handcoded one used by Peter Stone.
6. Sudoku.

Develop both a solver and generator of the game instances. See Sudoku online and slides on sudoku modelling. Another useful paper.

7. Game development.

  • Othello
  • Checkers
  • Go
8. Email management project.
The problem: people receive thousands of emails which require some action (answer, discard and file).

Email management becomes unmanageable.

The project: build a system that helps decide:

  1. What email to answer next (prioritize emails)
  2. What emails to discard and what to file to other folders.

The input is a collection of emails that were received. Each message should have a collection of features (time of arrival, sender, title, length, number of recipients, topic and response time).

Methodology: learning: look at past messages received and the decisions made.
See Padhraic Smyth's topic modelling page. Also, topic modelling tutorials: Steyvers and Griffiths and Blei and Lafferty
More links on text classification and topic modelling:


9. Work on research with a grad student.

You will have the opportunity to be engaged in a current project, running experiments and reporting results. The task is to evaluate a piece of software for processing Bayesian networks called BEEM that uses external memory. We want to test BEEM for optimization and for approximation. You will need to read some papers.