Randomness and Pseudo-randomness

Many experiments in computer science are “Monte Carlo” experiments, where the results are based on a large number of random choices.  For example, one might simulate a large number of coin tosses by choosing random numbers in the range 0 to 1, and taking a heads to be any number < 0.5 and tails to […]

Continue reading

Portfolio Solvers for Solitaire/Patience Games

We have recently had success on building solvers for a variety of different Solitaire and Patience games.  But for many games, our best solver can take hours or days or simply never terminate, even if there is a relatively simple winning solution. A very successful technique for searching effectively in situations like this is to […]

Continue reading

Playing Windows Solitaire Automatically

One of the great time-wasters of all time has been the famous Windows Solitaire program. This plays a game more properly known as “Klondike”.  But nobody knows what the win percentage of this game is with best possible play – not knowing this number has been called “one of the embarrassments of applied mathematics”. This […]

Continue reading

Constraint Solvers for Solitaire Games of Perfect Information

Most focus in games Artificial Intelligence focusses on games involving two or more players. However, many people enjoy single-player games, sometimes called “Solitaire Games”. Examples are many variants of card Solitaire games (called Patience in the UK), the game Peg-Solitaire, and many others which still fall into the category despite not having “solitaire” in the […]

Continue reading