CS 391 Selected Topics: Game AI
Homework #9


First draft players due the beginning of class on Thursday 4/14.  These should outperform the SimpleGinRummyPlayer
Final draft players due the beginning of class on Thursday 4/28.  These are your final competition entries. You will present your work during class, including your performance against the SimpleGinRummyPlayer and your 4/14 submission.

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. 

Gin Rummy Competition

Thoughts on design

This is another open-ended assignment, inviting creative thought and good engineering.  Read what you can find online about Gin Rummy strategy.

One basic consideration is the number of deadwood points in your hand.  For example, how long into the game should one hold onto a pair of kings?  Even sets with great melding potential become dangerous if ranks are high and many turns have passed.

Another basic consideration is the number of cards still potentially available that could complete melds in your hand.  Certain card combination patterns allow more melding possibilities than others, although what is known about card availability must be taken into consideration.

What can be easily inferred about the state of the opponent's hand?  How does this affect discard choices?

This assignment is open-ended as long as your player can play an entire game against itself in less than 1 second.  This will allow us to easily have a tournament with 1000 or more games per match.

Your player should also not use more than one-third of the default Java heap for dynamic memory allocation or more than half of the available cores.