Jump to content
BrainDen.com - Brain Teasers
  • 0


superprismatic
 Share

Question

Listed below are 20 poker hands.

For each of the hands below, assume

it was dealt to you from a full shuffled

poker deck of 52 cards. You may stay

with the hand you are given or discard

any number of its cards. Any discarded

cards will be replaced by a random draw

from the remaining 47 cards. Your goal

is to improve the value of your hand as

much as possible. List which cards, if

any, you should discard from each of the

starting hands below:


1: 10♦ A♠ 10♥ 7♥ 8♣
2: K♠ 8♣ 9♣ 10♠ J♠
3: 9♣ 8♦ 8♥ 4♠ J♣
4: 6♥ K♦ A♦ K♥ 4♦
5: Q♠ 8♣ A♥ 6♦ 7♠
6: 3♣ K♠ 5♦ 7♦ 3♥
7: K♠ 7♥ 2♠ 5♠ J♣
8: J♦ 10♣ 10♥ 8♣ 9♠
9: 3♦ 6♠ 5♠ 4♠ 5♦
10: 5♠ 7♠ 5♦ A♠ Q♥
11: 4♠ 5♠ 6♠ 7♠ 7♣
12: 2♠ 3♣ 4♣ 5♣ 6♣
13: 3♠ 2♣ 3♣ 4♣ 5♣
14: 2♠ 2♣ 3♣ 4♣ 5♣
15: J♠ K♠ 2♥ 8♦ Q♠
16: 2♠ 3♠ 4♠ 5♠ 6♣
17: 3♦ 4♦ 6♦ K♦ 5♠
18: 2♦ 8♥ 5♥ 9♣ 6♦
19: 8♠ Q♦ A♠ K♠ 6♠
20: 3♣ 4♦ J♥ 2♣ 10♥
[/code]

Usual poker hand rankings apply.

So, for example, "round the corner"

straights are not allowed, although

an ace may be either high or low card

in a straight.

Link to comment
Share on other sites

Recommended Posts

  • 0

With each possible way of discarding, you have some

expected value for the hand that result when you replace

these cards from the 47 cards remaining in the deck.

I wish to find the discard which gives the highest

expected value for the resulting hand. Perhaps this

will help:

How I determine the best draw

There are 2.6 million different poker hands but

there are only 7,462 different values for those

hands. I wrote a program that computes the value

of a hand -- using the values 1 to 7,462. That

isn't very hard to do. I could have just made

a big (2.6 million-long) lookup table, but I wanted

to be able to use it on machines with small

memories. So, I optimized the thing to do on the

order of a million hands a second on one core of

a 6-core AMD processor. I tested it a lot, but

I could have some small bugs.

For this problem, I exhaused on all possible ways

to discard (32) and repopulate from 47 cards

(about 1.7 million) for each of the hands. I

computed the average value of a hand resulting

from each of the discard repopulation possibilities.

The discard which gives the best average value wins.

Usually in single-player poker (such as the one you can find on a slot machine) the payout is based on the TYPE of hand you have (Flush vs. Straight) without regard to the actual ranking of the cards involved in the hand (pair of Jacks pays the same as pair of Aces). Also, the amount of the payout grows non-linearly, so it is often worthwile taking higher risk for higher reward. For example, if I have a pair of Aces and K,Q,J of the same suit as one of the Aces it's certainly worthwhile dropping an Ace for a chance of getting a straight flush. You only have 1/47 chance of getting it, but if it offers 250/1 payout then it's well worth the risk. You also have a pretty good chance of getting a flush of a straight. Keeping the pair of Aces may give you higher probability of improving your hand to some other hand, but it prevents you from getting a straight flush.

Since you ranked all winning hands linearly the results of the possible outcomes are not typical for the poker and therefore the experience and intuition are not of much help. Also, the picks made by your program as optimal for any given hand will not be optimal in a real game with non-linear payout schedule.

Link to comment
Share on other sites

  • 0

Usually in single-player poker (such as the one you can find on a slot machine) the payout is based on the TYPE of hand you have (Flush vs. Straight) without regard to the actual ranking of the cards involved in the hand (pair of Jacks pays the same as pair of Aces). Also, the amount of the payout grows non-linearly, so it is often worthwile taking higher risk for higher reward. For example, if I have a pair of Aces and K,Q,J of the same suit as one of the Aces it's certainly worthwhile dropping an Ace for a chance of getting a straight flush. You only have 1/47 chance of getting it, but if it offers 250/1 payout then it's well worth the risk. You also have a pretty good chance of getting a flush of a straight. Keeping the pair of Aces may give you higher probability of improving your hand to some other hand, but it prevents you from getting a straight flush.

Since you ranked all winning hands linearly the results of the possible outcomes are not typical for the poker and therefore the experience and intuition are not of much help. Also, the picks made by your program as optimal for any given hand will not be optimal in a real game with non-linear payout schedule.

Indeed, my optimal draw would not be good with a

poker machine because hands of the same type are

considered equal. I did not design the problem

for that situation. I was trying to model how

you should draw in an actual poker game.

Ignoring bluffing, my optimal draw would be what

you would use in a real game of draw poker with

several other opponents. This is true because of

three things:

1. Hands of the same type have different rankings

(which they don't have in a poker machine).

2. Before the draw, you only get to see your cards.

So, as far as you can tell, the draw is random

from the 47 other cards you don't see.

3. The payoff is not decided until after the draw,

so it is a variable which must be neglected.

The only reason I made it a one player thing is

to remove any effects of human interactions, like

bluffing. Other than that, my drawing function

is exactly what you would want to use in a real

game with other people.

Link to comment
Share on other sites

  • 0

Fair enough. Here are my new picks given the new information. Can't say that I have experience playing draw poker with other people, so these picks are based purely on intuition without doing any calculations...


  1:  A♠  7♥  8♣ 

  2:  8♣  9♣ 

  3:  9♣  4♠  J♣ 

  4:  6♥  A♦  4♦ 

  5:  Q♠  8♣  6♦  7♠ 

  6:  K♠  5♦  7♦ 

  7:  7♥  J♣ 

  8:  10♥ 

  9:  3♦  6♠  4♠ 

 10:  7♠  A♠  Q♥ 

 11:  7♣ 

 12:  2♠ 

 13:  3♠ 

 14:  2♠ 

 15:  2♥  8♦ 

 16:  6♣ 

 17:  5♠ 

 18:  2♦

 19:  Q♦ 

 20:  3♣  4♦  J♥  2♣ 10♥

Link to comment
Share on other sites

  • 0

Fair enough. Here are my new picks given the new information. Can't say that I have experience playing draw poker with other people, so these picks are based purely on intuition without doing any calculations...


1: A♠ 7♥ 8♣
2: 8♣ 9♣
3: 9♣ 4♠ J♣
4: 6♥ A♦ 4♦
5: Q♠ 8♣ 6♦ 7♠
6: K♠ 5♦ 7♦
7: 7♥ J♣
8: 10♥
9: 3♦ 6♠ 4♠
10: 7♠ A♠ Q♥
11: 7♣
12: 2♠
13: 3♠
14: 2♠
15: 2♥ 8♦
16: 6♣
17: 5♠
18: 2♦
19: Q♦
20: 3♣ 4♦ J♥ 2♣ 10♥

I just want to mention that some of your picks have scores which are only

slightly less than the maximum. I was a bit nasty in picking the hands

that I did. Most have at least one which is reasonably close to the

maximum. I wouldn't expect intuition alone to do very well in this test.

Some calculation would be necessary to tease out the close ones.

7 correct.

Link to comment
Share on other sites

  • 0

While I don't normally like to nitpick just for the sake of nitpicking, there might be 7462 different possible hand ranks, but I would propose that the best way to assign a value to them would not be to give rank 7462 zero points, and rank 7461 one point, and rank 7460 two points, etc. An alternative would be to give a score to each rank proportional to its probability of winning. For rank 7462 the score would still be zero, for rank 7461 the score would be the probability that the opponent has a rank 7462 hand, and for rank N the score would be the probability that the opponent has a hand of rank less than N. (If you really want to get fancy and consider draws leading to splitting the pot evenly, then you could have the score for rank N be the sum of [proability of opponent having rank less than N] plus [1/2 x probability of opponent having rank equal to N]).

If there's an easy way to calculate the number of different hands of each rank, then that might be doable. Not sure if it would change the outcome in any of the cases presented, though.

Unfortunately, calculating what you would want to know for a REAL poker game -- the probability that your opponent will have a hand of a particular rank when your opponent also has the opportunity to discard (I can't imagine they would play and give only you a chance to discard) -- seems like it would be Hard.

Indeed, my optimal draw would not be good with a

poker machine because hands of the same type are

considered equal. I did not design the problem

for that situation. I was trying to model how

you should draw in an actual poker game.

Ignoring bluffing, my optimal draw would be what

you would use in a real game of draw poker with

several other opponents. This is true because of

three things:

1. Hands of the same type have different rankings

(which they don't have in a poker machine).

2. Before the draw, you only get to see your cards.

So, as far as you can tell, the draw is random

from the 47 other cards you don't see.

3. The payoff is not decided until after the draw,

so it is a variable which must be neglected.

The only reason I made it a one player thing is

to remove any effects of human interactions, like

bluffing. Other than that, my drawing function

is exactly what you would want to use in a real

game with other people.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...