A signed cover sheet for Homework 1 must be submitted with your homework.
For all homeworks in CS 527A you will always be given the option of replacing it by Choose Your Own Adventure in which you design your own homework related to the same topic being covered in the homework. As an example, for Homework 1 you could pick a different game than Othello. More significant variations are also allowed. You must get approval from Dr. Goldman for any Choose Your Own Adventure homework. This can be done by submitting a proposal via email or by an appointment.
Spend some time thinking about how to structure your code. For example, to determine if a move is legal and to update the board given a legal move, it would be useful to have a method that takes a board, a move, and a direction (which can be specified as an change in the x of -1,0, or 1, and a change in y direction of -1, 0, or 1) and returns how many discs would be flipped in that direction for the given move.
In implementing your algorithm use a learning rate of 0.1 and start all weights at 0. Also be sure to normalize all of the feature values to be in the range of 0 to 1. Use 100 as the board value for a winning final board and -100 as the board value for a losing final board. Finally, for each game you should use the game from the view of the black player and the white player as training data. This really helps decrease training time when the strategy does not depend very much on which player goes first. In the games have the white player (i.e. the learner) go first every other round. Train your learner until it is no longer improving its performance.
Along with including additional plots, you should provide a 1-2 page write-up that clearly describes the changes you made, and discusses the affect these changes had on the learning quality and training time. Be sure to independently test each of the changes (and also together if you would like) to understand how the each affects the performance. It is not necessary that your changes improve performance as long as you explain why you thought they would help and then explain what happened.