CS 405/605 - Artificial Intelligence, Spring 2010
TR 3:40 - 5:10 in Chapman 104

Announcements:

04/28 SCHEDULE UPDATE: The final presentations for the projects will now be Tuesday May 11 from 1-3pm in the final exam slot and the final exam is no longer mandatory. Please let me know if you want to take the final exam (e.g. to try and raise your final grade). We will have additional tournament testing on Thursday April 29. Points will be assigned based on performance of your NN on Tuesday May 4 and Thursday May 6. If you don't play any games, you don't get any points for that part.
04/01 The server code and an example game log from the last class is now available. You may use this or make up your own, but it is the responsibility of all of the checkers groups to be able to play each other over the network.
04/01 The date of Progress Report 2 is now Thursday Apr 8. You should be ready to start training at that point.
02/25 The mid-term exam is due Thursday Mar 4.
02/17 The 405 project page has been updated with the tournament structure and the game play rules.
02/16 Here are some presentation tips. Keep in mind that your goal should be to get the information across in a timely manner.
02/10 A reminder that groups for the project are due on Thursday Feb 11.
Your proposal will be due on Thursday Feb 25.
02/10 HW#1 (due 2/23 at the beginning of class): Write a feed-forward neural network solver to use as a board evaluation function. Your program should be able to generate a network of any size. Input to your program should be NL1, NL2, NL3, ..., NLN, which are the number of nodes in each layer. Your network should be fully connected from one layer to another. Test your program with NL1=32, 40, 10, NL4=1 (the original Blondie24 network) and something with at least 6 layers and at least 200 nodes. Test with random board inputs and determine the number of board evaluations you can do per second. Benchmark your code to determine where your bottlenecks are.
01/25 Syllabus corrected: now includes office hours and the project is worth 50% of your final grade.

Projects:

Team Name Members Planned Approach
Fighting Cobras DH, JK, TG Piece centric approach + evolution function
Robolo JP Break up board and expand NN as needed
Smoke Before Fire BH Growing NN size and brain cell reduction
Checkmate TP, MC, AM GPU (moves & eval fcn) + streamline
No Name DJ, TC expand input, evolutionary branching
CAMONNS cellualar automaton
Go VK several small boards and look for improvement
Backgammon MM compare self learning vs. GNU learning
Checkers BP GPU & Vis family tree

Misc Info:

Course Materials:

01/19 - Syllabus
01/19 - Schedule
01/19 - 405 Project
01/19 - 605 Project

Old Announcements:

01/19 HW#1 (due date TBD): Write a feed-forward neural network solver to use as a board evaluation function. Your program should be able to generate a network of any size. Input to your program should be NL1, NL2, NL3, ..., NLN, which are the number of nodes in each layer. Your network should be fully connected from one layer to another. Test your program with NL1=32, 40, 10, NL4=1 (the original Blondie24 network) and something with at least 6 layers and at least 200 nodes. Test with random board inputs and determine the number of board evaluations you can do per second. Benchmark your code to determine where your bottlenecks are.