[an error occurred while processing this directive]

ICS-175, Project in AI, Winter 2010
overview | announcements | lecture notes

Project ideas for CompSci175 class


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.
  • Teammate: optimal number of team mates is 3
  • Expected output (experiments, demo)
Note: During week 2 you only need to provide the project title and list of your teammates.

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 Bayesian network, you should propose what kinds of experimental evaluation to conduct over it. The projects below are not well defined. They are ideas. Part of your project task is to define the scope and provide the details of your project.

In constraint networks projects, you will also need to model your domain using a collection of constraints and perhaps using some objective functions, using one of the tools for constraints and then show how you solve the problem and how you evaluate the quality of your model and solutions.


1. 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 help 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:


2. TA assignments.

Given class schedules for quarter, the number of TA needed for each class, TA's preferences and qualification, and instructors' choice of preferred TA, schedule the TA's 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.

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). 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.

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

4. 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.

5. Magnetic Tower of Hanoi project.

Variation of Tower of Hanoi puzzle that uses multicolored disks. See paper by Uri Levy.

6. RoboSoccer game simulation.

Investigate different policies for keepaway RoboSoccer game simulation. See Peter Stone's site for keepaway. Investigate influence of 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 then the handcoded one used by Peter Stone.
7. Games development.

  • Othello game
  • Checkers
  • Go
  • Japanese crossword
  • Generating ordinary crosswords
8. Sudoku.

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

9. Image recognition project.

Develop system capable of recognising so-called CAPCHA - numbers that you need to input when you register for a forum or ticketmaster.