General Game Playing
General
Artificial
Intelligence

Assignment 6

  1. Implement a program capable of ordering subgoals in rules. (Okay to use or adapt the existing program from the Gamemaster Resources page.) Create a game description featuring some rules with bad subgoal ordering. (Okay to adapt an existing game.) Load up the rules checker (from the Resources page) with your original game rules. In a separate copy, paste in the rules produced by your subgoal ordering program. Compare the costs (e.g. the number of unifications) of computing various game parameters, e.g. legal moves. (You might try your program on the rules for badqueens, which has some examples of bad subgoal ordering.)

  2. Extend your program so that it removes useless subgoals from rules. (Again, okay to use or adapt the existing program from the Gamemaster Resources page.) Compare the costs of computing various game parameters, e.g. the legal moves. (You might try your program on the rules for badtictactoe, which has some examples of bad subgoal ordering.)

  3. Extend your program so that it removes useless rules. (And, again, okay to use or adapt the existing program from the Gamemaster Resources page.) Compare the costs of computing various game parameters, e.g. the legal moves. (You might try your program on the rules for badconnectfour or badtictactoe, both of which have useless rules.)

  4. Add your optimization program into your player so that it runs during the start clock and replaces the rules it is given with the rules generated by your optimizer.

Submission details: Choose one of your players and upload it to Gamemaster. Your grade for this assignment will be based on this player. Important: Include up to one page of commentary, so that the course assistants can understand your player and assess how well it addresses the lessons of the week. Your player must be uploaded by 6:00 pm the day before class, and uploads will be disabled from then until 6:00 pm the day of class.

In addition to using your submission in assigning a grade for the week, we will use your player in a variety of matches. Results will be announced in class, and we may demonstrate your player in action during class. Games will be similar to the ones above but will not be announced in advance. So be sure not to build in details about specific games.