CS473 Project Ideas

  • Prediction of a Hockey Season through Decision Tree Modeling;
  • 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  the 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.

[ Description ] [ Requirements ] [ Materials ] [ Personnel ]