Ask the Wizard #221
John G from Reno, NV
I don’t play much poker, so had to ask David Matthews what a "dealer’s add-on" is. Here is what he said.
The dealer’s add on is an additional and optional fee you’re given when you register. The add-on money is given to the dealers only as a way of compensating them for their time dealing the tourney. Normally you get an additional number of starting chips, 2500 instead of 2000, for example.I agree with Dave. Let me take that further by saying I also oppose shaking down players in tournaments with optional fees like re-buys and wild card purchases, unless those fees are somehow returned to the players, which is not the case usually. If the tournament would otherwise not be profitable for the casino, please just drop the pretenses and make the players pay more up front to enter.
Tipping whether you buy the add-on or not should always be optional. If I had bought the add-on I would be less inclined to tip. By the way, I always buy the add-on. I am not sure if it’s mathematically correct from an EV standpoint but it just seems like the thing to do if I’m going to play the tourney in the first place.
If there were no dealer add-on, I do think it is appropriate for the winners to tip the dealers. If forced to say, I would suggest 1% to 2% of the win, and the less the win, the greater the percentage. In the situation in question, I would reduce the tip by the product of the total dealer add-on money and the ratio of my win to the total win. If that makes the tip zero or negative, then you do have a dilemma. I would probably do as I do when restaurants put on a mandatory 18%-20% tip, just put down a token small amount for appearances’ sake.
Kevin from Portland, OR
In zero-wind it will take 2 hours each way, for a total of 4 hours. With the tailwind, the plane will travel at 600 mph, making the trip in 1000/600 = 1.667 hours. With the headwind, the plane will travel at 400 mph, taking 1000/400 = 2.5 hours. So, in the wind, the total time is 4.167 hours, or 10 minutes longer.
This just goes to show that it is dangerous to average averages. You can’t say the average rate of a trip is 500 mph, if it is 400 mph one way and 600 mph the other, because the 400 mph leg is over a longer period of time.
If this isn’t intuitive, consider a 500 mph wind. The plane would take 1 hour only with the wind, but it would stay in place the other way, taking forever.
There are 4 suits to choose from for the 3 to a royal. There are combin(5,3)=10 ways to choose 3 out of the 5 ranks. There are combin(47,2)=1,081 ways to choose the other two cards. There are combin(52,5)=2,598,960 ways to choose 5 cards out of 52. So the probability of getting 3 to a royal is 4×10×1081/2,598,960 = 1.66%.
N = log(1 - DC)/ log(1 - p), where
DC = Degree of certainty that an event will appear
P = probability of the event
N = number of trials
Tony T. from Sydney, Australia
That is just an obvious extension of the rule that log(ab)=b×log(a). It is not worthy of any special term. I suppose the formula might be helpful in answering some questions about the probability of a succession of losses. For example, suppose a video poker player wants to know how many hands he would have to play, such that the probability of a royal drought is exactly 5%. The probability of a royal per hand in 9/6 Jacks or Better, with optimal strategy, is 0.00002476. The degree of certainty that at least one royal will appear is 95%. So, the number of hands in a 5% royal drought would be log(1-.95)/log(1-0.00002476) = 120,989.
However, you don’t need to use that formula to solve that problem. It could be set up as:
.05 = (1-0.00002476) n
log(.05) = n × log(1-.00002476)
-1.301 = n × -0.000010753
n = 120,989
James from Worchester, MA
Yes. First assign each card a value from 0 to 51. Call the cards c1 to c5, ordering them with c1 as the lowest to c5 as the highest. Then call the following function:
int GetIndex(int c1, int c2, int c3, int c4, int c5)
return combin(c5,5) + combin(c4,4)+ combin(c3,3) + combin(c2,2) + combin(c1,1);
Where combin returns the traditional value, except if the first value is less than the second value, return 0, as follows:
int combin(int x, int y)
for (i=x-y+1; i<=x; i++)
for (i=2; i<=y; i++)
If you are doing this to access an array element, load the array as follows.
for (c5 = 4; c5 < 52; c5++)
for (c4 = 3; c4 < c5; c4++)
for (c3 = 2; c3 < c4; c3++)
for (c2 = 1; c2 < c3; c2++)
for (c1 = 0; c1 < c2; c1++)