CS473 Project Ideas
- Prediction of a Hockey Season through Decision Tree Modeling;
- Object Recognition;
- Character Recognition using Neural Nets;
- Backgammon;
- Strategic Influence in Go;
- BlackJack;
- Character Recognition using Neural Nets;
- 3D-Tic-Tac-Toe;
- Edge-detection using Neural Nets;
- Implementing Virtual Predators in a Virtual Environment;
- Using Neural Networks to Forecast Dow Jones Industrial Average;
- Learning to Play Checkers;
- Build a system that plays Hearts in which each ``player'' uses
a different strategy. E.g., One player uses a random strategy,
one uses a set of hand-coded rules, and the others use heuristic
methods with different static evaluation functions;
- Apply a genetic algorithm to the problem of automatic generation
of computer programs;
- Write a program to identify English characters from bitmaps.
Various features are extracted from the bitmap, such as the Euler
number (measure of how many holes in an object), centroid, and
diretional tendency. Then the 26 possible characters are ranked,
under a rule that measure similarity of the observed features
to features of canonical training examples;
- Apply a genetic algorithm to the problem of learning natural
language grammars;
- An automatic fugue-writing system. given a short musical subject,
it writes a fugue in an arbitrary number of parts and plays it
through a MIDI interface. There are constraints specifying the
rules of fugue-writign, and heuristics to generate good mutations
of musical phrases. A variant on this project is the problem of
automatically producing harmonization;
- Build a system that uses heuristic search (with minimax and
alpha-beta pruning) to play Connect-4. Evaluate it against human
players;
- Build a generic rule-based system for some domain and compare
the effectiveness of forward and backward reasoning;
- Build (and train) a system that plays Connect-4 using a neural
network;
- A chess endgame player. Included are a move generator, a board
evaluator for endgame positions, alpha-beta pruning, and some
other heuristic pruning mechanisms specific to endgames. An interesting
variant is to design a method that learns end-game rules from
examples and compare it with hand-generated chess endgame players;
- Build a suite of neural network algorithms; test them on selected
datasets from the machine learning dataset archive; determine
why they did or did not work;
- An implementation of th SHRDLU system to work with sentences
describing actions in the ``blocks world''. English commands are
parsed by an ATN or chart parser. An interpreter module converts
the parsed form into action commands. The actions are then carried
out in a simulated environment;
- A computer bidding system for the game of bridge. Bridge, unlike
chess, is a game of incomplete information, which makes standard
game-tree search techniques unusable;
- A theorem-proving system for some (small) subset of mathematics;
- A program that generates automatic crossword puzzles, starting
from a dictionary and an empty board;
- Recreate from its specifications the reinforcement learning
(neural net) system (Tesauro, 1992) that learns to play backgammon
by planing games against itself;
- Build a system to replace your academic advisor. The system
will have to know a lot about Cornell's rules and regulations,
e.g., the liberal arts requirements, advisor approved electives,
related electives, etc;
- Build a variation of the above system that suggests good electives
to take based on which ones proved to be ``good'' in the past
(i.e., most people did well who took them);
- A reactive, rule-based system that plays tetris;
- Re-implement Samuel's checkers playing program.


|