Courses 2022-23

Space Empires: summary and full rulebook

Dates | Computation & Modeling(Matteo) | Machine LearningBoard Pics (Cohort 3) | Intelligent SystemsBoard Pics (Cohort 2) |

(final quarter) | From this point onwards, the rest of the main curriculum centers around reimplementing research papers in which neural networks are evolved to play board games. Below are the learning paths: Canonical and Reduced Game Trees for Tic-Tac-Toe --> Minimax Strategy --> Reduced Search Depth and Heuristic Evaluation for Connect Four Reimplementing Fogel's Tic-Tac-Toe Paper { Heuristic Connect Four, Fogel Tic-Tac-Toe } --> Reimplementing Blondie24 --> Reimplementing Blondie24: Convolutional Version And here are the final remaining offshoots from the main curriculum: Simplex Method Multiple Regression and Interaction Terms Naive Bayes Decision Trees | Connect-4 competition Space Empires -- get combat working Backpropagation Introduction to Blondie24 and Neuroevolution Reimplementing Fogel's Tic-Tac-Toe Paper | Reimplementing Blondie24 Space Empires -- manual player, combat minigame, combat strategy with trainable weights Reimplementing Blondie24: Convolutional Version |

Introduction to Blondie24 and Neuroevolution | Space Empires - finish converting game to be state-based, begin working on combat & manual player | Space Empires - map out training procedure for AI player; begin implementing combat minigame | |

Science project | Reduced Search Depth and Heuristic Evaluation for Connect Four - Exercises 3-5 | Reimplementing Blondie24 - hook everything up for individual agents | |

Science project | Space Empires - converting game to be state-based, and updating UI accordingly | Space Empires - begin developing infrastructure for AI player | |

Science project | Reduced Search Depth and Heuristic Evaluation for Connect Four - Exercise 2 | Reimplementing Blondie24 - revise checkers game to make game tree simpler | |

Science project | Space Empires - converting game to be state-based, and updating UI accordingly | Space Empires - map out model architecture for AI player | |

Backpropagation | In Reduced Search Depth and Heuristic Evaluation for Connect Four, accomplish both of the following. (You should already have one of these completed from last time.) - Build the Connect Four game tree (with a variable number of ply) - Finish exercise 1 | Debugging week - get checkers game fully working, with ability to play manually against random player. | |

Introduction to Neural Network Regressors Start on Backpropagation | In Reduced Search Depth and Heuristic Evaluation for Connect Four, accomplish one of the following: - Build the Connect Four game tree (with a variable number of ply) - OR, finish exercise 1 | Reimplementing Blondie24 - Goal for this week is just to make the checkers game. It should be playable through manual input too, just like the tic-tac-toe game. | |

K-Nearest Neighbors | Space Empires - implementing combat and debugging manual player vs manual player | Space Empires - begin final push on features before focusing on AI strats | |

Final Exam | Final Exam | Final Exam | |

Final review | Final review | Final review | |

Regression via Gradient Descent | Decision Trees / Introduction to Neural Network Regressors | Fogel tic-tac-toe debugging | |

Power, Exponential, and Logistic Regression via Pseudoinverse | Space Empires | Space Empires competition | |

Overfitting, Underfitting, Cross-Validation, and the Bias-Variance Tradeoff | Catchup week | Begin debugging Fogel tic-tac-toe project | |

Regressing a Linear Combination of Nonlinear Functions via Pseudoinverse | Finish Decision Trees. Then, work on Introduction to Neural Network Regressors. | Space Empires | |

Hodgkin-Huxley Model of Action Potentials in Neurons | Space Empires | Reimplementing Fogel's Tic-Tac-Toe Paper - write your initial draft implementation and get some kind of output curve. (It's okay if the curve doesn't look right yet -- we'll budget for more debugging time during the next quant week.) Also, check out the introduction and Blondie24 section of this writeup for more context on what we're doing. (You can ignore the exercise in that writeup, since we already did it last year.) If you want to configure your implementation with an eye towards the future, here are the summaries of the other two papers that we'll be reimplementing: Reimplementing Blondie24 Reimplementing Blondie24: Convolutional Version | |

Dijkstra's Algorithm for Distance and Shortest Paths in Weighted Graphs | Dig this up from last year: Canonical and Reduced Game Trees for Tic-Tac-Toe Then do Minimax Strategy. | Finish connect four competition, and then Space Empires | |

Breadth-First and Depth-First Traversals Distance and Shortest Paths in Unweighted Graphs | Space Empires - begin extending game to 2 ships with combat, and get user input through web UI rather than terminal | Connect four competition | |

Linear, Polynomial, and Multiple Linear Regression via Pseudoinverse Hash Tables | Continue Decision Trees. If you finish early, work on Introduction to Neural Network Regressors. | Prep your strategy for the connect four competition | |

Tic-Tac-Toe and Connect Four SIR Model for the Spread of Disease | Space Empires - get simple game running (single ship, no combat) | Space Empires - wrap up and merge latest updates to UI, economic phase, and manual input player | |

K-Means Clustering Merge Sort and Quicksort | Complete Simplex Method exercise 4. Then, make substantial progress on Decision Trees. By the end of the week you should have a decision tree class all coded up and producing predictions for given input data -- though, it doesn't have to actually produce the correct predictions yet (you'll have more time to debug in the next quant week.). | Developing a custom strategy for our connect four competition. We will have the competition at the beginning of the next quant week. In order to get credit for this week, you'll need to code up an almost-random player that moves randomly unless it has the opportunity to capture a win or block a loss, and then demonstrate that your competition strategy beats this almost-random player. | |

Reduced Row Echelon Form and Applications to Matrix Arithmetic | Space Empires | Space Empires | |

Euler Estimation | Complete Simplex Method exercises 1, 2, 3. If you finish early, you can either work on Space Empires or the next quant assignment (Decision Trees). | Finish up Reduced Search Depth and Heuristic Evaluation for Connect Four. If you finish early, work on developing a custom strategy for our connect four competition next quant week. | |

Solving Magic Squares via Backtracking Estimating Roots via Bisection Search and Newton-Raphson Method Single-Variable Gradient Descent Multivariable Gradient Descent Selection, Bubble, Insertion, and Counting Sort | Space Empires - get to the point where we can manually play the initial version of the game | Space Empires - get economic phase working and passing tests | |

Basic Matrix Arithmetic | Complete the following: Solving Magic Squares via Backtracking Naive Bayes | Reduced Search Depth and Heuristic Evaluation for Connect Four - write the connect four game and construct the heuristic tic-tac-toe player. (You don't have to worry about the heuristic connect four player yet.) | |

Roulette Wheel Selection Brute Force Search with Linear-Encoding Cryptography | Get started on Space Empires | Space Empires - fix failing tests and implement economic phase | |

Converting Between Binary, Decimal, and Hexadecimal Recursive Sequences Simulating Coin Flips Cartesian Product | SIR Model for the Spread of Disease Hodgkin-Huxley Model of Action Potentials in Neurons Hash Tables | Canonical and Reduced Game Trees for Tic-Tac-Toe Minimax Strategy | |

Some Short Introductory Coding Exercises - exercises 1, 2, 3 | Cartesian Product | Naive Bayes |