Solitaire

Very little work has been done on analysing the Solitaire card game (known as Klondike in the US) There are a number of useful heuristics/memory approaches which would help win the standard game (as implemented in MS windows). E.g.

  1. play through the cards once/remember the cards

  2. Generally uncover cards and play them before using the pile. [Reason: a card may be uncovered which would have been released if the space had not been used up by a pile card.]

  3. Generally play the pile to release cards on the deck. E.g. if a red 8 and red 6 are uncovered, then play a black 7 (assuming availableon the pile) to release the red 6).

  4. Generally try and avoid a situation on the pile where cards block each other (e.g. first two cards on a pile are red kings, next is black queen - can't play the queen, because no kings to play onto. Even one red king covered by one black queen is not very good.

  5. Need to search through the possibilities, but normally only need to consider groups of three. [Could even avoid search by simply totalling the score after each move. (However, in that case, you would need to note that some moves are easily undoable in next generation).]

  6. Observe blockages and try and form strategies to unblock them.

  7. Prefer low cards to high cards (can remove them using bottom up (aces).

This project would involve AI search techniques and heuristics. It could be a nice application if combined with a game, so that a user could play the game first and then see how a computer would play the game. It would be even better if the user could control the heuristics in some way.

The open source version of Klondike could be adapted so that you would not have to write the code to display the cards and implement the game logic.