This project was designed in 2013 as a testament to a computer's abilities to beat humans (e.g. parents, bosses) consistently at a game of chance. The result: Yahtzee AI, with an average score of 186 points per round. (Oh, and it best a human 80% of the time.)
Development Status:Stable
- For every dice roll, the computer randomly selects five numbers using a cryptographic random number generator.
- Threads look for obvious tests such as "Is my roll a Yahtzee?" and skip the next two steps if they pass.
- 32 simultaneous threads look for the optimal strategy by dropping or keeping certain dice. 5. Threads give a relative score for each strategy (Ones, Twos, Three of a Kind, etc.) based on the possible dice score. 6. Threads select the strategy with the highest score and return its score with the selected strategy.
- The greatest score from all the threads becomes the active strategy and its dice are dropped (ex: thread 10 will keep only dice 2 and 4 - 01010)
- The process repeats for roll two.
- After the final (third) roll, the system then looks at all the dice to determine the best slot to fill.
The project was marked unmaintained as of August 2013, but you can still contribute! If you find a bug fix, feel free to report it or go inside and fix it yourself! Find a better way to do something? Let us know!
If you want to add code yourself, all you need is a copy of Visual Studio with .NET Framework 3.5 and PowerPacks. When your changes have been made, right-click on the project, select Publish, and create the executable!
Artificial Intelligence is no simple project. While the score-based technique, known as "cognitive computing", used in this AI may only easily apply to other luck-based problems, it is present even further in the works of IBM Watson and can be ultimately applied to any number of fields. There are many other methods of arriving at a single answer and if you want to see more, take a quick peek as to what the future may bring.
Arthur Pachachura (smo-key), March 2014