Project Ideas.
Here are some ideas for you to select a topic for a project. It is possible
to suggest/pick a larger project which will involve up to 3 people.
More
will be expected then from one person project. Start thinking about
the
project early so you can gather the necessary information. In
case you
project will involve some programming, you can choose a programming
language of your choice. For some projects certain choices are better
then
others, since some of the code is available. The main idea of the project
is for you to get more familiar with particular AI area as well
as gain some
bigger project experience.
Prepare a written up to half page description of your project by April 4th.
1. Game playing.
Develop a game playing program for a game of your choice
(tic-tac-toe, 3D tic-tac-toe, othello) and implement
min-max and alpha-beta pruning as well as try different
heuristics and evaluate them by playing against the
program (in case you opt to do this in lisp some starting
code can be provided)
Formulate the problem of pursuit and evasion between multiple mobile
agents (start with two agents) in a game-theoretic framework, suggest
state
representation, set of operators and implement min-max and alpha-beta
pruning to devise an optimal strategies for the evader agent.
Each has a
starting position and evader has a particular goal and pursuer is trying
to
catch the evader. Try to devise conditions on the set of initial relative
configurations, which are safe from the perspective the evador (i.e.
it is
impossible for the pursuer to capture the evador).
2. Search
Formulate the problem of navigation of mobile agents in the known
environment as a search problem. Implemet A* algorithm for navigation
from
point A to B of a mobile agent in a grid world in the presence of the
obstacles. Suggest evaluate different heuristic functions.
3. Knowledge representation and planning.
Develop a rule based production systems planner, for a simple toy problem
(Monkey and bananas, blocks world, Shakey's world) and evaluate the
effectiveness of the planner exploring different heuristics of firing
the
rules. For this topic you would have to read bit more about planning
(chapter 11) you can look at some of the excercise there.
4. Machine Learning
Implement an reinforcement learning agent which learns how to balance
a
pendulum, or navigate the corridors.
Approach the elevator scheduling problem as a reinforcement learning
problem.
The project in the following two cathegories also include some elements
of
machine learning.
5. Vision
Here are some ideas you can try:
Develop a face recognition program, which takes as an input some sample
images of fronto-parallel faces. When a new face arrives it decides
whether the face is in the database.
Develop color based segmentation algorithm, which given an image detects
regions with the uniform color. You can tune this algorithm to detect
human
faces or hands in images.
Suggest a simple gesture based interface for VCR control. Taking an
image of a human hand and detecting it in the image, this can be done
as a classification problem.
6. Robotics
The topics mentioned here deal with issues of representation, planning
and
control for robotic agents. Implement an goal reaching and obstacle
avoidance behavior for mobile robot equipped with ultrasound sensors.
Write a map building program for a mobile robot which allows the robot
to
start with no knowledge about the environment and gradually build a
map using
readings from the ultrasounds sensors and finds its position in the
map.
Additional project will can involve building a Lego robot(s) exhibiting
variety of 'interesting' behaviors and/or engaged in some simple tasks.
(Vehicles that follow a line on the floor or vehicles that seek each
other
out, communicating with light or infrared signals etc.)
7. Neural Networks
Using one of the neural network packages available on the net, develop
a small project using neural networks to recognize simple objects such
as hand-drawn letters or numbers.
8. Genetic Algorithms
Using one of the genetic algorithms packages available on the net,
develop a small project using genetic algorithms as a heuristic
search mechanism for solving an NP-hard problem like TSP or SAT.