Artificial Intelligence

Optional Project / Paper

Due:  April 26, 2012 by midnight


This project/paper will count for up to 2.5% extra credit toward your final course grade.  It is completely optional.

To complete the assignment, choose ONE of the options below:

Option 1:  Pac-Man Capture the Flag

Implement an agent for a multiagent game of Pac-Man Capture the Flag, working in teams of up to four people.

Option 2:  Application to Robocup Soccer

Apply one or more AI techniques to the Nao robots for Robocup soccer, working in teams of up to four people.  Please see Prof. Doug Blank for assistance if you are interested in this option.  Submit a one page (single-spaced) report of your application, and demonstrate the technique/code to me in-person.

Option 3:  Machine Learning Implementation

Choose one of the following machine learning algorithms and implement it in any language of your choice (Python, Java, Matlab, etc.) in a team of up to two people: 
Run your code on any data set chosen from the UC Irvine Machine Learning Repository.  Polynomial regression should use one of the regression data sets; the rest should use one of the classification data sets.

To test your implementation, load the data set (either write throwaway code to do this, i.e., don't worry about making it generic, or "embed" the data into your program), randomize the order of the instances, and run 10-fold cross-validation over the data set (each time using one of the folds for testing
and the rest for training).

Turn in your code, the name of the data set you ran it on, the parameter vector found when trained on the entire data set, and the classification accuracy on the test data averaged over the 10 folds in a brief writeup.

For a slightly larger challenge, generate a learning curve of your classifi er for various sizes of the training set and plot it (using gnuplot, matlab, excel, etc). To generate the various training set sizes, choose 9 folds as the training data, randomize the order of the instances, and then train on the fi rst {5, 10, 15, 20, ...} instances, each time evaluating on the test fold. Then repeat nine more times, using each fold in turn as the test fold.

Option 4:  Machine Learning Applications

Complete any one of the Stanford ML class programming assignments, available by registering for the course here:  http://www.ml-class.org/.  (If you have any trouble registering, let me know and I can send you the programming assignments.)  All Stanford ML assignments must be done in either Octave or Matlab.

Option 5:  Paper Option (available to PHIL students only)

Write a two page (single-spaced, 12 pt font, 1in margins) dialogue between two intellectuals debating whether machines are intelligent.  Your paper should read like a conversation between these two people.  One of them should be vigorously arguing that machines can be considered intelligent through current AI algorithms, and the other should be vigorously arguing against this point.  For full credit, choose two philosophers and write the dialogue as if they are debating this point, with each arguing in his or her own philosophical style.  (Be sure to name those two philosophers so I know who you chose!)  Submit your paper as an electronic document in either MS Word or PDF.