Open Side Menu Go to the Top

03-23-2011 , 06:29 AM
What would be an algorithm for generating permutations of Omaha hands? For instance the following has a file that contains each of the 16,432 possible Omaha hands, and how many total permutations each hand has:

http://www.reviewpokerrooms.com/poke...hand-data.html

The way that the site labels the hands is "2C 3C 4C 5C", "AC KC AD KD", "JC TC 9D 9H", "2C 3D 4H 5S", etc. The first hand has 4 total permutations, the second 6, the third 12, and the last 24 (where for two cards of the same rank, order does not matter - so KsKd is the same as KdKs). The possible permutations for each of these hands are listed on that page.

I myself would have the input for the algorithm be something like the following:
Code:
2-1 3-1 4-1 5-1
K-1 A-1 K-2 A-2
T-1 J-1 9-2 9-3
2-1 3-2 4-3 5-4
Where the number after the dash just indicates how many different suits there are in the hand, and which suit is for which rank (from the reviewpokerrooms data, this would just be a translation of C->1, D->2, H->3, S->4).

I'm unsure of the algorithm to then convert these labels, into all the different permutations - where each possible permutation is listed, and none are repeated. I'm guessing this would involve having a deck of cards where you pop a card after use, but I don't know what the steps of the algorithm would be.

Does anyone know how to convert these types of labels into a list of distinct permutations?
Algorithm for generating permutations of a Omaha hands? Quote
Algorithm for generating permutations of a Omaha hands?
150% up to $2,000 Welcome Bonus on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
Algorithm for generating permutations of a Omaha hands?
03-24-2011 , 11:50 AM
You could do brute force sting compares.

You have SUITS and RANKS for any given cards.

1. Classify the target hand for SUITS first. Lets say you have 7h8h9dTd. That has 2 instnaces of one suit (hearts) and 2 instances of another suit (diamonds). Call it 2h2d. Make it generic - 2(suit1)2(suit2). How many different ways are there to fit the case of 2(suit1)2(suit2). This is simple combinatorics - there are 6 ways to make 2(suit1)2(suit2). This puts an UPPER BOUND on the number of POSSIBLE equivalent hands. This is obv the special DS (double suited) case, and there are short list of other cases. This is the first step toward simplifieing this problem.

2. Look for hueristics that simplify. For instances, if you have 4 unique suits and 4 unique ranks, there are X amount of equivelant hands. AS LONG as there are no pairs. This will be true for all hands of this type. This might help might not.

3. Account for pairs and trips somehow. Or just disregard trips and put them in a general "doesn't matter cus I'll never play that hand" catagory. Of course dont put AAAx or KKKx or QQQx in that bucket.

Just some ideas. Like i said you can always script sting compare loops. This could take a Loooong time though. Google around for "library arrays"

ProPokerTools has some ranking tools if you have not looked there that is where I would start.
Algorithm for generating permutations of a Omaha hands? Quote
03-24-2011 , 11:53 AM
Even BETTER idea:

The link with the omaha.zip file


Ask the author of all of THAT, because it seems they have already solved your problem! shortcuts!
Algorithm for generating permutations of a Omaha hands? Quote
Algorithm for generating permutations of a Omaha hands?
150% up to $2,000 Welcome Bonus on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
Algorithm for generating permutations of a Omaha hands?

      
m