Poker is a popular card game that is based on probability. In a classic game of poker, where players sit at one table, they can increase their rate of winning with observing oponnent's reactions at their moves and opponent's body language. But in the last decade, more and more players are joining online poker communities. There are many websites that offer play of poker through their applications. These applications only show users general information, there are no options for observing the opponent's behavior. In such cases, a helpful source of information can be predicting the opponent's cards based on searching for every possible hand the opponent could have.
There are many poker calculators available online that can calculate percentages for winnig a specific game amongst players in different scenarios. Those calculators are based on user's input, which consists of entering their cards, cards on the table and opponent's cards. I have decided to make a different type of calculator that doesn't demand opponent's hands as input, but instead automatically calculates all possible hands opponent could have for any given situation as well as it calculates winning percentage for each of those hands. In Pre-Flop scenarios (no cards on the table) calculator speculates actual results with the Monte Carlo method.
A desktop application that runs on the Windows operating systems was produced within the thesis. It was written in .NET (dotNET) framework in C# (C Sharp) programming language. It is called Poker Assistant and it allows user to simulate different scenarios through clicks on card icons. The user can also choose different settings for finding opponent's cards and different sorting orders.
The analysis of results has shown that the Monte Carlo method gives results with maximum 3% error when the number of simulations is set to high values. When number of the opponent's hands combinations is large (more than 20) and number of simulations is set to high values (more than 500), the program takes too much time to calculate for optimal use.
Elapsed time for calculating results in scenarios where the Monte Carlo method is not used is less than 5 seconds in 26 out of 28 different scenarios. Thus the program allows optimal use in 93% of those cases.
|