Skip to content

**Kept to show growth (this is my second real python project)** A solution to my Simulation Models homework, checkout the readme for details.

Notifications You must be signed in to change notification settings

benjamin-weller/PokerTest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

PokerTest

This project was based off of a Simulation Models assignment I was given. I developed an algorithm for finding out the category that a random number's characters would fall in to.

Problem

Another test for independence is called the poker test, in which the occurrence of patterns of digits in the sample is compared with the known probabilities of these patterns occurring in theory, with the patterns being those possible in a poker hand. More specifically, the following probabilities for patterns in five-digit numbers are known:

Pattern Probability
Five different .9*.8*.7*.6 = .3024
Exactly one pair (5!)/(2!*3!)*.9*.8*.7*.1 = .5040
Exactly two pairs [(5!)/(4!)]*[(3!/(2!)]*.1*.1*.9*.8 = .1080
Exactly three of a kind [(5!)/[(3!)*(2!)]*.9*.8*.1*.1 = .0720
Three of kind plus one pair [(5!)/[(3!)*(2!)]*.9*.1*.1*.1 = .0090
Four of a kind [(5!)/(4!)]*.9*.1*.1*.1 = .0045
Five of a kind .1*.1*.1*.1 = .0001

Multiplying by the sample size n provides the expected number of occurrences of each pattern. For this task, you are to process the set of 800 random numbers in the table, for each one determining which of the 7 patterns they fit in the poker hand.

Solution

I decided that a hashmap would be a reasonable data structure to use here. I came to this conclusion simply because the classifications were based upon the number of repetitions of a digit in a random number, as opposed to say a run in a "poker hand".

After choosing a hashmap the problem came easily. I simply had to split each number into a char array, add them to the hashmap if they didn't exist already and assign a 1 as their value, or increment the value by one if the key did exist.

Finally, my approach lent to easy classification, each type of possible output of the hashmap was easily testable in a big if statement, and thus classification only took a few lines.

About

**Kept to show growth (this is my second real python project)** A solution to my Simulation Models homework, checkout the readme for details.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages