04-19-2012 , 12:19 PM
This probably has more to do with combinatorics but maybe someone could help me find how to calculate suit isomorphisms.
For example there are 1755 strategically different flops due to suit isomorphisms. What is the algorithm to calculate this or a nice reference on this subject?

This paper http://www.cs.cmu.edu/~sandholm/gs3.aaai07.pdf talks about this but I don't understand what this notation for partial permutations ♣ < {♠, ♥, ♦} means.

ty
04-19-2012 , 04:48 PM
That notation is a bit weird for my taste as well. It basically points out that to the left of the < is the "chosen suit" for the hand for each unique rank while the { } to the right of the hand are the other possible suits.

As for finding the 1755:

Trips: AAA-222.

Combinations: 4*13 = 52

But we can choose 3 of the 4 suits in four different ways as well, so we just have 13 isomorphisms for trips. AAA-222

Paired flops:

These always have either 2 or 3 suits:
Each of the 13 pairs have 6 combinations and take up 2 suits
As for the 3rd card, 24 of the remaining cards match a pair suit, 24 don't match pair suit or rank.

So Pairs that take up 2 suits:
13*6*24 = 1872 combinations
But now there are 6 ways to choose the suits for EACH UNIQUE RANK: c1d2, c1h2, c1s2, d1h2, d1s2, h1s2, and c2d1, c2h1, c2s1, d2h1, d2s1, h2s1, h2s1
for 12 suit equivalences
So this leads to 1872/12 = 156 isomorphisms

And pairs that take up 3 suits is:
13*6*24 = 1872 combinations
and 6 ways to choose the suits for each unique rank
again giving 1872/12 = 156 isomorphisms

Non-paired flops:

Single Suit:

Combinations: 4*13*12*11/(3*2*1) = 1144
Just like trips however, we have four choices for the suits so we should have just dropped the 4 to start, leaving us with 286 isomorphisms. Note we don't care about unique ranks here because we can't switch suits among ranks.

Double Suit:
312 combinations for 2 suited cards...4 suits x 13*12/2 = 312
33 cards left for offsuit, unpaired 3rd card
312 x 33 = 10296 combinations
Again 6 ways to distribute suits per UNIQUE rank and now we have 3 unique ranks, so there are 10296/18 = 572 isomorphisms

Triple suit:
52*36*22/6 = 6864 combinations.
Now 4 ways to distribute suits per unique rank, so there are 6864/12 = 572 isomorphisms

Totaling:
Trips: 13
Pairs: 156 + 156 = 312
Non-Pairs: 286 + 572 + 572 = 1430
Total: 1755

Last edited by tringlomane; 04-19-2012 at 04:53 PM.
04-19-2012 , 05:06 PM
As for an algorithm, it would look something like this: ( ) = suited

Trips:
AAA
KKK
...
222

Pairs:
Suited:
(A2)A
(A3)A
...
(AK)A
(K2)K
...
(KA)K
...
...
(2A)2
(2K)2

Unsuited:
A2A
A3A
...
AKA
K2K
...
KAK
...
...
2A2
2K2

Non-pairs:
Suited:
(AKQ)
(AKJ)
(AKT)
...
(AQJ)
...
(A32)
...
(KQJ)
...
...
...
(234)

2 suits:
(AK)Q
...
(AK)2
(AQ)K
...
(AQ)2
...
...
(A2)3
(KQ)J
...
...
(K2)3
...
...
...
(23)4

3 suits:
AKQ
...
AK2
AQK
...
AQ2
...
...
A23
KQJ
...
...
K23
...
...
...
234
04-19-2012 , 05:55 PM
I have to read your post more carefully but it looks like you start with basic flop types (paired, unpaired, etc.) and go from there.
I guess this method gets complicated if you want to find isomorphisms for the turn and river.
I was looking for a more mechanical way if it exists.
04-19-2012 , 06:12 PM
This could possibly be written more clearly than I did it.

http://people.math.sfu.ca/~alspach/comp42.pdf

Use Pineapple for flop calculations, Omaha for turn calculations, and Draw Poker for river calculations.
04-19-2012 , 06:52 PM
Quote:
Originally Posted by erdnase17
For example there are 1755 strategically different flops due to suit isomorphisms. What is the algorithm to calculate this or a nice reference on this subject?
13 +
13*12*2 +
C(13,3)*[1 + C(3,2) + 1]

= 1755

The first line is 13 flops with just 1 rank. The second line is for flops of 2 different ranks, of which there are 13 ways to pick the paired rank, times 12 ways to pick the unpaired rank, times 2 ways to choose the suit of the unpaired card as either matching or not matching one of the suits of the paired rank. The third line is for flops of 3 different ranks, of which there are C(13,3) ways to choose the ranks, times 1 way to make them all the same suit, plus C(3,2) ways to choose 2 cards to make matching suits, plus 1 way to make them all different suits.

Quote:
This paper http://www.cs.cmu.edu/~sandholm/gs3.aaai07.pdf talks about this but I don't understand what this notation for partial permutations ♣ < {♠, ♥, ♦} means.
It means that you can replace the spade with one of the other suits.

As for an automated program to do this, you might want to check out this.
04-19-2012 , 10:45 PM
Quote:
Originally Posted by BruceZ
13 +
13*12*2 +
C(13,3)*[1 + C(3,2) + 1]

= 1755

The first line is 13 flops with just 1 rank. The second line is for flops of 2 different ranks, of which there are 13 ways to pick the paired rank, times 12 ways to pick the unpaired rank, times 2 ways to choose the suit of the unpaired card as either matching or not matching one of the suits of the paired rank. The third line is for flops of 3 different ranks, of which there are C(13,3) ways to choose the ranks, times 1 way to make them all the same suit, plus C(3,2) ways to choose 2 cards to make matching suits, plus 1 way to make them all different suits.

It means that you can replace the spade with one of the other suits.

As for an automated program to do this, you might want to check out this.
Thanks BruceZ for this reference. I'll have to study the concepts but it looks like I will need to represent the cards and suits as a graph. I found two more programs to do this: http://www.tcs.hut.fi/Software/bliss/ and http://vlsicad.eecs.umich.edu/BK/SAUCY/.

m