Return to site

Suit Strength Texas Holdem

broken image


Greenhorn

Hands like King Jack suited straddle that fine line between strong and marginal holdings. Although it looks quite nice, K J suited is best played as a speculative hand, or one which can be played fast when it fits the board perfectly, and ditched without a care when it doesn't.

  • Texas Hold'em hand rankings. The rank of hands remains the same no matter which type of poker game you play. In a nutshell, a poker hand consists of five cards. Poker hands fall into one of several categories, such as flush, straight, or two pair. All in the same suit. Quads, or four of a kind, are four cards of equal rank.
  • SEVEN CARD STUD. No suit is higher than any other suit. In Poker, the Ace is the highest card and the 2 card (Deuce) is the lowest. However, the Ace can also be used as a low card, with the value of 1. Share & Connect MOST TRUSTED BRAND IN POKER. For more than forty.
  • Suit Strength Texas Holdem, jiant slots, casino banquet room, sleeping dogs gambling den access.
posted 8 years ago
  • Optional 'thank-you' note:
Can somebody suggest me a good algorithm to calculate

Hand Strength

for

Texas Holdem, Omaha

Poker games. Apart from this i am also

working on Pot creation and Rake calculation

part. It would be helpful if anyone could contribute some logic or algorithms.
Bartender
posted 8 years ago
Suit Strength Texas Holdem
  • Optional 'thank-you' note:

Kapish M Joshi wrote:Can somebody suggest me a good algorithm to calculate Hand Strength


No, because it isn't really an algorithm: it's an ordered list; and 10 seconds on Google got me this. If I was doing this, I'd probably consider using an Enum to define it though.

Apart from this i am also working on Pot creation and Rake calculation part. It would be helpful if anyone could contribute some logic or algorithms.


Again, the 'Pot' isn't really an algorithm; it's a structure - basically a List with methods for providing totals - and I reckon it's probably closely related to the Players at the table.
As for Rake calculation, you'll have to explain the term before I can help. Not a gambler.
Winston

'Leadership is nature's way of removing morons from the productive flow' - Dogbert
Articles by Winston can be found here

Greenhorn
posted 8 years ago
  • Optional 'thank-you' note:
Texas
Hi Winston,
Appreciate your help. Thanks. Yeah, http://www.pokerlistings.com/poker-hand-ranking this is actually the pattern that should be considered while calculating strength of cards.
For E.g. Consider simplest logic, If I am playing Poker Hand and
I got 5 cards as - 2♥ 7♦ 4 ♣ A♠ A♥,
Next person got 5 cards as - 5♥ 2♦ Q ♣ K♠ J♥,
here every card has a weight say 2♥- 23, 7♦ - 67, 4 ♣ - 98, A♠ - 122, A♥ - 109 then we have to create total and then compare both hands. The one with more weight wins the hand.
This is not really as simple as even i thought because there are millions of combinations possible with a hand (5 cards taken from a deck).
I am trying to implement this using pattern recognition, but that too is very lengthy.
Pot - yeah Pot is winning total at the end of poker hand, its not algorithm but we need to write some logic to calculate pot because:
1. Poker game can have number of Hands
2. Each Hand will add to the value of pot
3. Bets of each player will contribute to pot
4. Pot distribution depends upon the percentage of amount contributed by particular player to total pot amount
5. There can be one or more than one pot winners
I am done with the logic creation part for this.
Rake - Its the amount deducted from player whenever he bets some amount on table. It is the pivot of gambling where revenue generation happens. Can't disclose about it in details.
lowercase baba
posted 8 years ago
  • Optional 'thank-you' note:

Winston Gutkowski wrote:

Kapish M Joshi wrote:Can somebody suggest me a good algorithm to calculate Hand Strength


Texas Holdem Rules

No, because it isn't really an algorithm: it's an ordered list
I don't that's what he's going for...
In standard Texas Hold 'Em, everyone is dealt two cards face down. there is a round of betting. You have to decide if to bet, and how much to bet, based on the two card. So being dealt a suited A-K is clearly going to be better than a non-suited 10-9. And an unsuited 2-7 is the worst possible starting hand.
But even at that...your position at the table also has an impact. If you are in an early position, you need a stronger hand if you are going to bet, whereas if you are on the button, you can bet with weaker hand - depending on what everyone else does.

There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors

lowercase baba
posted 8 years ago
  • Optional 'thank-you' note:
and 'Rake' isn't very complicated. It refers to how much money the house takes from each pot. It is generally only applied to casinos or on-line cash games. If you are playing at home with friends, there usually isn't one.
It can be done in any of several ways:
A fee to join the tournament
A percentage of each pot
A fee charged to the 'dealer' on each hand
Some online services charge a monthly fee (i.e. a subscription), but then play is 'free' beyond that
etc..

There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors

Bartender
posted 8 years ago
  • 1
  • Optional 'thank-you' note:

Kapish M Joshi wrote:here every card has a weight say 2♥- 23, 7♦ - 67, 4 ♣ - 98, A♠ - 122, A♥ - 109 then we have to create total and then compare both hands. The one with more weight wins the hand.


Doesn't sound right to me.
First: the problem is complicated by the fact that you're choosing the 'best 5 of 7' (actually: Player's 2, plus the best 3-of-5 from the flop, turn and river).
Second: Any 'weighting' will only apply to:
(a) The value of card involved in making up two similar

Online Texas Holdem

winning hands.
Suit Strength Texas Holdem

(b) The remaining cards of two identical

Which Suit Is Highest In Texas Holdem

winning hands.

I am trying to implement this using pattern recognition, but that too is very lengthy.

And possibly over-engineering. You only have 9 possible hands (10 if you count 'High Card', but personally I'd say that that's the absence of any other kind of hand) that fall into 3 categories:
1. Flushes - 5 cards of the same suit.
2. Straights - 5 cards in value sequence.
3. Multiples - 2, 3, or 4 cards of the same value (including full houses).
so I'd make those your first checks.
I'd also do them in the order above because in 'vanilla' form, that's the order they're ranked. And unless you're playing from a multi-deck shoe (unusual, from what a gather), it also eliminates the most possibilities:
  • If you find a flush in the 7 possible cards, it must be the best hand available to the player. So, the only other thing you need to check is:
    Are those same 5 cards (or a particular set, if there's more than one combination to choose from) ALSO a straight?
  • If you don't find a flush, but DO find a straight, again, it must be the best hand available to the player.
  • If you don't find a flush, or a straight, the only other possible hand is a multiple (or twin-multiple) of some kind. I'll leave you to sort out that logic, but it's still relatively straightforward.

  • With a multi-deck shoe, it's a bit trickier, but still relatively straightforward. The main difference is that if you find a flush; the 7 cards could ALSO contain 4 of a kind or a full house.
    HIH
    Winston

    'Leadership is nature's way of removing morons from the productive flow' - Dogbert
    Articles by Winston can be found here

    Suit Strength Texas Holdem

    Bartender
    posted 8 years ago
    • Optional 'thank-you' note:

    fred rosenberger wrote:I don't that's what he's going for...


    Oh, OK. I was thinking of weighting in terms of final evaluation. Seems to me that weighting (especially by card) probably isn't the way to go for evaluating a hand (or, more accurately, a 'situation'), since there are so many other variables - including the 'weight' that you might put on any previous bet placed, particularly if the game involves 'blinds'.
    Winston

    'Leadership is nature's way of removing morons from the productive flow' - Dogbert
    Articles by Winston can be found here

    Greenhorn
    posted 8 years ago
    • Optional 'thank-you' note:
    Thanks Winston. Actually the game being developed will go live for real money poker gaming; at early stage we are expecting around 1000 players playing online at the same time while approximately 200 just logged in and watching game. The knowledge you shared was really helpful.
    Bartender
    posted 8 years ago
    • Optional 'thank-you' note:

    Kapish M Joshi wrote:Thanks Winston...The knowledge you shared was really helpful.


    No probs. Too much late night TV. I've never actually played the game.
    Winston

    'Leadership is nature's way of removing morons from the productive flow' - Dogbert
    Articles by Winston can be found here

    Greenhorn
    posted 8 years ago
    • 1
    • Optional 'thank-you' note:
    Winston is correct in that there is no real need to calculate hand strength until the very end of the hand where you are forced to determine the winner (showdown). For human players playing against other human players this will be sufficient as long as your program knows how to read the player's hands and evaluate them based on the list of hand rankings, flush beats straight for example.
    If you're developing a poker playing artificial intelligence or if you're just curious you may want to look into starting hand strength from a strategic standpoint. As was pointed out, in texas holdem an ace and a king is a better starting hand than a two and a seven. One way to determine this is by running both hands through an equity simulator, which is a program that runs hundreds of thousands of different possible boards out that allows you to get a pretty accurate estimate as to which hand wins more often. Then you can run each hand against each other possible hand, determine an average equity and then rank the hands accordingly. There are two great free programs out there that do this already:
    PokerStove
    ProPokerTools
    Its still however, ultimately a matter of strategy that determines what the best hands are and not programming since there are different betting streets and different player psychologies.
    TwoPlusTwo is a great strategy site that also has a programming forum.
    Greenhorn
    posted 8 years ago
    • Optional 'thank-you' note:
    I created somthing similar a while ago, it wasnt very nice coding.. but it was something fun to do.
    ANyway have you looked at bill chen formula, that is very easy to convert into an algorithm. Il also try and find the site i used, it was a points scale basically, which would tell me whether i should raise or fold..etc..etc.. not sire if that what your lookign for.
    Texas
    • Optional 'thank-you' note:

    Kapish M Joshi wrote:Can somebody suggest me a good algorithm to calculate Hand Strength


    No, because it isn't really an algorithm: it's an ordered list; and 10 seconds on Google got me this. If I was doing this, I'd probably consider using an Enum to define it though.

    Apart from this i am also working on Pot creation and Rake calculation part. It would be helpful if anyone could contribute some logic or algorithms.


    Again, the 'Pot' isn't really an algorithm; it's a structure - basically a List with methods for providing totals - and I reckon it's probably closely related to the Players at the table.
    As for Rake calculation, you'll have to explain the term before I can help. Not a gambler.
    Winston

    'Leadership is nature's way of removing morons from the productive flow' - Dogbert
    Articles by Winston can be found here

    Greenhorn
    posted 8 years ago
    • Optional 'thank-you' note:
    Hi Winston,
    Appreciate your help. Thanks. Yeah, http://www.pokerlistings.com/poker-hand-ranking this is actually the pattern that should be considered while calculating strength of cards.
    For E.g. Consider simplest logic, If I am playing Poker Hand and
    I got 5 cards as - 2♥ 7♦ 4 ♣ A♠ A♥,
    Next person got 5 cards as - 5♥ 2♦ Q ♣ K♠ J♥,
    here every card has a weight say 2♥- 23, 7♦ - 67, 4 ♣ - 98, A♠ - 122, A♥ - 109 then we have to create total and then compare both hands. The one with more weight wins the hand.
    This is not really as simple as even i thought because there are millions of combinations possible with a hand (5 cards taken from a deck).
    I am trying to implement this using pattern recognition, but that too is very lengthy.
    Pot - yeah Pot is winning total at the end of poker hand, its not algorithm but we need to write some logic to calculate pot because:
    1. Poker game can have number of Hands
    2. Each Hand will add to the value of pot
    3. Bets of each player will contribute to pot
    4. Pot distribution depends upon the percentage of amount contributed by particular player to total pot amount
    5. There can be one or more than one pot winners
    I am done with the logic creation part for this.
    Rake - Its the amount deducted from player whenever he bets some amount on table. It is the pivot of gambling where revenue generation happens. Can't disclose about it in details.
    lowercase baba
    posted 8 years ago
    • Optional 'thank-you' note:

    Winston Gutkowski wrote:

    Kapish M Joshi wrote:Can somebody suggest me a good algorithm to calculate Hand Strength


    Texas Holdem Rules

    No, because it isn't really an algorithm: it's an ordered list
    I don't that's what he's going for...
    In standard Texas Hold 'Em, everyone is dealt two cards face down. there is a round of betting. You have to decide if to bet, and how much to bet, based on the two card. So being dealt a suited A-K is clearly going to be better than a non-suited 10-9. And an unsuited 2-7 is the worst possible starting hand.
    But even at that...your position at the table also has an impact. If you are in an early position, you need a stronger hand if you are going to bet, whereas if you are on the button, you can bet with weaker hand - depending on what everyone else does.

    There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors

    lowercase baba
    posted 8 years ago
    • Optional 'thank-you' note:
    and 'Rake' isn't very complicated. It refers to how much money the house takes from each pot. It is generally only applied to casinos or on-line cash games. If you are playing at home with friends, there usually isn't one.
    It can be done in any of several ways:
    A fee to join the tournament
    A percentage of each pot
    A fee charged to the 'dealer' on each hand
    Some online services charge a monthly fee (i.e. a subscription), but then play is 'free' beyond that
    etc..

    There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors

    Bartender
    posted 8 years ago
    • 1
    • Optional 'thank-you' note:

    Kapish M Joshi wrote:here every card has a weight say 2♥- 23, 7♦ - 67, 4 ♣ - 98, A♠ - 122, A♥ - 109 then we have to create total and then compare both hands. The one with more weight wins the hand.


    Doesn't sound right to me.
    First: the problem is complicated by the fact that you're choosing the 'best 5 of 7' (actually: Player's 2, plus the best 3-of-5 from the flop, turn and river).
    Second: Any 'weighting' will only apply to:
    (a) The value of card involved in making up two similar

    Online Texas Holdem

    winning hands.
    (b) The remaining cards of two identical

    Which Suit Is Highest In Texas Holdem

    winning hands.

    I am trying to implement this using pattern recognition, but that too is very lengthy.

    And possibly over-engineering. You only have 9 possible hands (10 if you count 'High Card', but personally I'd say that that's the absence of any other kind of hand) that fall into 3 categories:
    1. Flushes - 5 cards of the same suit.
    2. Straights - 5 cards in value sequence.
    3. Multiples - 2, 3, or 4 cards of the same value (including full houses).
    so I'd make those your first checks.
    I'd also do them in the order above because in 'vanilla' form, that's the order they're ranked. And unless you're playing from a multi-deck shoe (unusual, from what a gather), it also eliminates the most possibilities:
  • If you find a flush in the 7 possible cards, it must be the best hand available to the player. So, the only other thing you need to check is:
    Are those same 5 cards (or a particular set, if there's more than one combination to choose from) ALSO a straight?
  • If you don't find a flush, but DO find a straight, again, it must be the best hand available to the player.
  • If you don't find a flush, or a straight, the only other possible hand is a multiple (or twin-multiple) of some kind. I'll leave you to sort out that logic, but it's still relatively straightforward.

  • With a multi-deck shoe, it's a bit trickier, but still relatively straightforward. The main difference is that if you find a flush; the 7 cards could ALSO contain 4 of a kind or a full house.
    HIH
    Winston

    'Leadership is nature's way of removing morons from the productive flow' - Dogbert
    Articles by Winston can be found here

    Suit Strength Texas Holdem

    Bartender
    posted 8 years ago
    • Optional 'thank-you' note:

    fred rosenberger wrote:I don't that's what he's going for...


    Oh, OK. I was thinking of weighting in terms of final evaluation. Seems to me that weighting (especially by card) probably isn't the way to go for evaluating a hand (or, more accurately, a 'situation'), since there are so many other variables - including the 'weight' that you might put on any previous bet placed, particularly if the game involves 'blinds'.
    Winston

    'Leadership is nature's way of removing morons from the productive flow' - Dogbert
    Articles by Winston can be found here

    Greenhorn
    posted 8 years ago
    • Optional 'thank-you' note:
    Thanks Winston. Actually the game being developed will go live for real money poker gaming; at early stage we are expecting around 1000 players playing online at the same time while approximately 200 just logged in and watching game. The knowledge you shared was really helpful.
    Bartender
    posted 8 years ago
    • Optional 'thank-you' note:

    Kapish M Joshi wrote:Thanks Winston...The knowledge you shared was really helpful.


    No probs. Too much late night TV. I've never actually played the game.
    Winston

    'Leadership is nature's way of removing morons from the productive flow' - Dogbert
    Articles by Winston can be found here

    Greenhorn
    posted 8 years ago
    • 1
    • Optional 'thank-you' note:
    Winston is correct in that there is no real need to calculate hand strength until the very end of the hand where you are forced to determine the winner (showdown). For human players playing against other human players this will be sufficient as long as your program knows how to read the player's hands and evaluate them based on the list of hand rankings, flush beats straight for example.
    If you're developing a poker playing artificial intelligence or if you're just curious you may want to look into starting hand strength from a strategic standpoint. As was pointed out, in texas holdem an ace and a king is a better starting hand than a two and a seven. One way to determine this is by running both hands through an equity simulator, which is a program that runs hundreds of thousands of different possible boards out that allows you to get a pretty accurate estimate as to which hand wins more often. Then you can run each hand against each other possible hand, determine an average equity and then rank the hands accordingly. There are two great free programs out there that do this already:
    PokerStove
    ProPokerTools
    Its still however, ultimately a matter of strategy that determines what the best hands are and not programming since there are different betting streets and different player psychologies.
    TwoPlusTwo is a great strategy site that also has a programming forum.
    Greenhorn
    posted 8 years ago
    • Optional 'thank-you' note:
    I created somthing similar a while ago, it wasnt very nice coding.. but it was something fun to do.
    ANyway have you looked at bill chen formula, that is very easy to convert into an algorithm. Il also try and find the site i used, it was a points scale basically, which would tell me whether i should raise or fold..etc..etc.. not sire if that what your lookign for.
    Ranch Hand
    posted 8 years ago
    • Optional 'thank-you' note:

    Texas Holdem Poker

    Here is complete code to compute strength of hand whick I learn from an online course.
    import itertools def best_hand(hand): 'From a 7-card hand, return the best 5 card hand.' return max(itertools.combinations(hand, 5), key=hand_rank) def hand_rank(hand): 'Return a value indicating the ranking of a hand.' ranks = card_ranks(hand) if straight(ranks) and flush(hand): return (8, max(ranks)) elif kind(4, ranks):#four of a kind return (7, kind(4, ranks), kind(1, ranks)) elif kind(3, ranks) and kind(2, ranks):#full house return (6, kind(3, ranks), kind(2, ranks)) elif flush(hand):#all cards of same suit return (5, ranks) elif straight(ranks):#cards in sequence return (4, max(ranks)) elif kind(3, ranks):#3 cards of same rank return (3, kind(3, ranks), ranks) elif two_pair(ranks):#2 pairs of same rank return (2, two_pair(ranks), ranks) elif kind(2, ranks):#1 pair of same rank return (1, kind(2, ranks), ranks) else:#Nothing (High Card) return (0, ranks) def card_ranks(hand): 'Return a list of the ranks, sorted with higher first.' ranks = ['--23456789TJQKA'.index(r) for r, s in hand] ranks.sort(reverse=True) #to handle the (A-5) straight case return [5, 4, 3, 2, 1] if (ranks [14, 5, 4, 3, 2]) else ranks def flush(hand): 'Return True if all the cards have the same suit.' suits = [s for r, s in hand] return len(set(suits)) 1 def straight(ranks): ''Return True if the ordered ranks form a 5-card straight.'' return (max(ranks) - min(ranks) 4) and len(set(ranks)) 5 def kind(n, ranks): ''Return the first rank that this hand has exactly n-of-a-kind of. Return None if there is no n-of-a-kind in the hand.'' for r in ranks: if ranks.count(r) n: return r return None def two_pair(ranks): ''If there are two pair here, return the two ranks of the two pairs, else None.'' pair = kind(2, ranks) lowpair = kind(2, list(reversed(ranks))) if pair and lowpair != pair: return (pair, lowpair) else: return None def test_best_hand(): # S = Spade # D = Diamond # C = Club # H = Heart assert (sorted(best_hand('6C 7C 8C 9C TC 5C JS'.split())) ['6C', '7C', '8C', '9C', 'TC']) assert (sorted(best_hand('TD TC TH 7C 7D 8C 8S'.split())) ['8C', '8S', 'TC', 'TD', 'TH']) assert (sorted(best_hand('JD TC TH 7C 7D 7S 7H'.split())) ['7C', '7D', '7H', '7S', 'JD']) return 'test_best_hand passes' print test_best_hand()




    broken image