CS 391 Selected Topics: Game AI
Homework #7

Due the beginning of class on Thursday 3/17

Note: This work is to be done in groups of 2.  Each group will submit one assignment.  Although you may divide the work, both team members should be able to present/describe their partner's work upon request. 

Optimal Solitaire Upper Section Yahtzee

Implement YahtzeeSolver.java according to these specifications in order to optimize solitaire score.  You will be given starter code for YahtzeeSolver via email.  The correct output to the test main methods provided is given here.

Outline of computation:

Note that returning the optimal play and score from the getOptimalActionAndScore method then simply amounts to selecting the current relevant widget and recomputing optimal play for that widget until the optimal play has been computed and then simply return it.

Take special care to encode plays as specified.