General Game Playing

Assignment 8

  1. Implement a program capable of grounding the rules for an arbitrary game. You may use the code provided on the resources page or implement your own grounder. (Note that the grounder we provide does not work correctly on games containing built-in predicates, e.g. Skirmish.) Optional: symbolize as well as ground.

  2. Implement a player that uses your grounder / symbolizer and then plays games using our standard interpreter on the resulting ground and/or symbolized rules.

  3. Implement a player that grounds game descriptions and then plays games using an interpreter specialized for ground and/or symbolized rules. You may use the player code provided on the resources page or implement your own player.

  4. Select one or more games from the Gameaster library and compare the performance of (1) your favorite player without grounding, (2) a version of your player that runs our standard interpreter on grounded and/or symbolized rules, and (3) a version that runs your specialized player on grounded and/or symbolized rules. Summarize your findings and submit via Gradescope. (See the experimental results link on the course lessons page for an idea of how you might report your results.)