# Texas Holdem Poker - Hand Strength Calculation

forHand Strength

Poker games. Apart from this i am alsoTexas Holdem, Omaha

part. It would be helpful if anyone could contribute some logic or algorithms.working on Pot creation and Rake calculation

Kapish M Joshi| kjoshi@infocepts.com | InfoCepts

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

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.

Kapish M Joshi| kjoshi@infocepts.com | InfoCepts

Winston Gutkowski wrote: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

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

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

- 1

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

*winning*hands.

(b) The

*remaining*cards of two

__identical__winning hands.

And possibly over-engineering. You only have 9 possible hands (10 if you count 'High Card', but personally I'd say that that's theI am trying to implement this using pattern recognition, but that too is very lengthy.

*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:

*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?

*must*be the best hand available to the player.

*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

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

Kapish M Joshi| kjoshi@infocepts.com | InfoCepts

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

Articles by Winston can be found here

- 1

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.

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.