Final Project

Final Project

Due dates: proposal is due Tuesday October 10th in class
final project is due Saturday 11/4 at 11:59pm with a 1 day grace deadline until the 5th at 11:59pm

If you believe this assignment is not fully specified, please tell me ASAP, so that it can be fixed in a timely manner.


Goals of this assignment

This course is mainly a survey course on the different facets of AI. This project is your chance to delve a little deeper into a part of AI that is of personal interest to you. If you are unsure of your interests, please browse the book, especially the ends of chapters where you may find references to articles of interest. For this project you may implement an algorithm for a purpose of your own out of the book, from an article external to the book, or from a web site. You must give credit to the original creators of any algorithm you are using and you must have at least 50% new work in your project. A significant portion of that work must be relevant to AI.


Assignment Requirements

  1. In the sixth week, you will submit a 2-3 page proposal containing the topic of your project as well as a schedule of how you are going to accomplish the project. The scope should be at least as broad as a regular class project, but may be more. The instructor reserves the right to reject a project proposal, so if you are in doubt about your topic, please ask. All projects must run on our Suns and this project should not be the same as a project for another class.
  2. All students must work individually on this assignment.
  3. You should submit a working project by the end of the 9th week as specified above.
  4. Along with the project, you must submit a document describing in detail what you did, how to run your program, and the strengths and weaknesses of the algorithm(s) you used.
  5. You must submit sample input/output for your program or a text file explaining normal input/output samples. For this project, it is possible to compare two or more algorithms and if you do this you should submit the data used in your comparison as well as the results of your comparison.

A few examples areas you may want to delve into are:

  1. Search methods in two player games
  2. Using eigenfaces in Computer vision
  3. Reinforcement learning for solving a maze
  4. Bayes nets for reputation systems in a game
  5. A genetic algorithm for scheduling


Grading Criteria

This assignment will be graded out of 100 points and will have the following breakdown:

  1. 20% - The proposal submission
  2. 50% - The quality and completeness of your project. This is where your code is graded and submitted. Please submit all necessary files with the command:

    try jdb-grd hmwk3-1 *.*

    where *.* is all file names separated by a dot for the extension.

  3. 20% - The writeup and documentation for your project. Any problems or things that don't work should be documented in this section of your submission. Submit this as a text file with any supporting files of other types using the command:

    try jdb-grd hmwk3-2 writeup.txt *.*

    where *.* stands for other files that may be needed.

  4. 10% - Your examples and input files. These may range from an actual run of your code, to a description of various situations that should happen after the user makes a certain move, to actual input/output pairs. The goal here is to help me to understand what you've done and to give me examples of what your program does and does not do. description.txt is a way to describe what's included in this section of your submission. You may also include limitations that your examples may illustrate. Please submit with the following command:

    try jdb-grd hmwk3-3 description.txt *.*

    where *.* is your submission example/input/output files.