DrEntropy Joined: Nov 13, 2009
• Posts: 199
May 8th, 2013 at 4:47:27 PM permalink
Reading "The Doctrine Of Chances" by Ethier.
There is an exercise 15.22 that asks you to solve for the ev of the "Ponzer System". (This is basically just keeping two come bets up as much as possible, with odds). I would love to see an analytic solution to this problem (monte carlo is obv straightforward) has anyone seen a solution?

Cheers!
"Mathematical expectation has nothing to do with results." (Sklansky, Theory of Poker).
7craps Joined: Jan 23, 2010
• Posts: 1939
May 8th, 2013 at 5:36:16 PM permalink
The Ponzer (3 Point Molly) was also simulated in the famous Ken Elliott paper

S.N. Ethier
"15.22. Ponzer system.
One of the most widely used systems at craps is the
so-called Ponzer system, which works as follows.

The player makes a one unit pass-line bet or come bet at each roll of the dice, with this exception:
Whenever there are two unresolved come bets, no bet is made at the next
roll.

The system is more complicated than it first appears.
Find a suitable finite Markov chain to describe the state of the system.
Use it to evaluate the gambler�s expected loss during the shooter�s hand when playing the Ponzer system."

In Ethier's 'answers' pdf for his excellent book, it has not been answered. One of only a few.
If there was an analytic solution, I am certain Prof. Ethier would have presented it.
Maybe it is not very high on his to do list.
(what has this man not done??)

It is a good exercise for Matrix Algebra.

I did setup the Markov Chain some time ago
and it showed the simulation results from Alan Shank and myself were real close.
Alan Shank has posted sim results as I have on the number of resolved come bets per pass line wager.
(I also have this completed for the don't pass'don't come as well)

But is there really a need to know the exact EV to the penny?
It is about one unit bet per 100 rolls.
(\$5 flat bets about \$5 expected loss)

I really would be way more interested in the variance especially when taking or laying the odds.
That is the better math question IMO. But that is just me.

In my years of dealing dice, way too many players would buy-in for \$100 (or less),
start making the \$5 pass and 2 max come bets,
bust out within an hour and bitch and moan to every Craps God how cold the table was.
Nothing like starting with at least a 50% chance of busting.
"Go tell it to the Judge"
2X odds: 100 rolls : \$138 SD (\$5 flat bets)
Probability: Busting a Bankroll with 3 point Molly
~50% chance: \$100 bankroll
~16% chance: \$200 bankroll
~2.6% chance: \$300 bankroll
~0.3% chance: \$400 bankroll

345X odds: 100 rolls : \$241 SD (\$5 flat bets)
Probability: Busting a Bankroll with 3 point Molly
~70% chance: \$100 bankroll >>> win big or "go home"
~42% chance: \$200 bankroll
~22% chance: \$300 bankroll
~10% chance: \$400 bankroll
~3.5% chance: \$500 bankroll
~.25% chance: \$600 bankroll

Too many believe in the expected loss value over one session of play.
That leads to over-betting the small bankroll.
Having about a 48% chance to double a bankroll with the 3PM system is nice to know
but that sheds no light on the bankroll needed or required.
That is for another day
winsome johnny (not Win some johnny)
DrEntropy Joined: Nov 13, 2009
• Posts: 199
May 8th, 2013 at 7:21:12 PM permalink
Quote: 7craps

The Ponzer (3 Point Molly) was also simulated in the famous Ken Elliott paper

Yeah sure the simulations are pretty simple, and there is no need for analytic, but it sure would be cool. I am such nerd I guess :) I think I will just have to work it out myself!
"Mathematical expectation has nothing to do with results." (Sklansky, Theory of Poker).
Ahigh Joined: May 19, 2010
• Posts: 5113
May 9th, 2013 at 4:12:15 PM permalink
This lack of understanding for required bankroll for these strategies is what both pisses some people off as well as makes other people think that craps is a sure fire win.

IE: it works both ways!
Moivre Joined: Feb 19, 2013
• Posts: 4
June 1st, 2013 at 7:34:30 AM permalink
I recently found the analytical solution, but it is a bit tedious. The Markov chain has 42 states, namely, all sets of 3 or fewer point numbers (it is not necessary to distinguish between pass-line points and come points). ( {6\choose3}+{6\choose2}+{6\choose1}+{6\choose0}=42.) It's possible to use symmetry to reduce this number, but I prefer not to. Let's label the states as follows.

1. empty
2. 4
3. 5
4. 6
5. 8
6. 9
7. 10
8. 4, 5
9. 4, 6
10. 4, 8
11. 4, 9
12. 4, 10
13. 5, 6
14. 5, 8
15. 5, 9
16. 5, 10
17. 6, 8
18. 6, 9
19. 6, 10
20. 8, 9
21. 8, 10
22. 9, 10
23. 4, 5, 6
24. 4, 5, 8
25. 4, 5, 9
26. 4, 5, 10
27. 4, 6, 8
28. 4, 6, 9
29. 4, 6, 10
30. 4, 8, 9
31. 4, 8, 10
32. 4, 9, 10
33. 5, 6, 8
34. 5, 6, 9
35. 5, 6, 10
36. 5, 8, 9
37. 5, 8, 10
38. 5, 9, 10
39. 6, 8, 9
40. 6, 8, 10
41. 6, 9, 10
42. 8, 9, 10

Then the transition matrix is as follows:

p[[1, 1]] = 12/36; p[[1, 2]] = 3/36; p[[1, 3]] = 4/36; p[[1, 4]] = 5/36; p[[1, 5]] = 5/36; p[[1, 6]] = 4/36; p[[1, 7]] = 3/36;
p[[2, 1]] = 6/36; p[[2, 2]] = 9/36; p[[2, 8]] = 4/36; p[[2, 9]] = 5/36; p[[2, 10]] = 5/36; p[[2, 11]] = 4/36; p[[2, 12]] = 3/36;
p[[3, 1]] = 6/36; p[[3, 3]] = 10/36; p[[3, 8]] = 3/36; p[[3, 13]] = 5/36; p[[3, 14]] = 5/36; p[[3, 15]] = 4/36; p[[3, 16]] = 3/36;
p[[4, 1]] = 6/36; p[[4, 4]] = 11/36; p[[4, 9]] = 3/36; p[[4, 13]] = 4/36; p[[4, 17]] = 5/36; p[[4, 18]] = 4/36; p[[4, 19]] = 3/36;
p[[5, 1]] = 6/36; p[[5, 5]] = 11/36; p[[5, 10]] = 3/36; p[[5, 14]] = 4/36; p[[5, 17]] = 5/36; p[[5, 20]] = 4/36; p[[5, 21]] = 3/36;
p[[6, 1]] = 6/36; p[[6, 6]] = 10/36; p[[6, 11]] = 3/36; p[[6, 15]] = 4/36; p[[6, 18]] = 5/36; p[[6, 20]] = 5/36; p[[6, 22]] = 3/36;
p[[7, 1]] = 6/36; p[[7, 7]] = 9/36; p[[7, 12]] = 3/36; p[[7, 16]] = 4/36; p[[7, 19]] = 5/36; p[[7, 21]] = 5/36; p[[7, 22]] = 4/36;
p[[8, 1]] = 6/36; p[[8, 8]] = 13/36; p[[8, 23]] = 5/36; p[[8, 24]] = 5/36; p[[8, 25]] = 4/36; p[[8, 26]] = 3/36;
p[[9, 1]] = 6/36; p[[9, 9]] = 14/36; p[[9, 23]] = 4/36; p[[9, 27]] = 5/36; p[[9, 28]] = 4/36; p[[9, 29]] = 3/36;
p[[10, 1]] = 6/36; p[[10, 10]] = 14/36; p[[10, 24]] = 4/36; p[[10, 27]] = 5/36; p[[10, 30]] = 4/36; p[[10, 31]] = 3/36;
p[[11, 1]] = 6/36; p[[11, 11]] = 13/36; p[[11, 25]] = 4/36; p[[11, 28]] = 5/36; p[[11, 30]] = 5/36; p[[11, 32]] = 3/36;
p[[12, 1]] = 6/36; p[[12, 12]] = 12/36; p[[12, 26]] = 4/36; p[[12, 29]] = 5/36;p[[12, 31]] = 5/36; p[[12, 32]] = 4/36;
p[[13, 1]] = 6/36; p[[13, 13]] = 15/36; p[[13, 23]] = 3/36; p[[13, 33]] = 5/36; p[[13, 34]] = 4/36; p[[13, 35]] = 3/36;
p[[14, 1]] = 6/36; p[[14, 14]] = 15/36; p[[14, 24]] = 3/36; p[[14, 33]] = 5/36;p[[14, 36]] = 4/36; p[[14, 37]] = 3/36;
p[[15, 1]] = 6/36; p[[15, 15]] = 14/36; p[[15, 25]] = 3/36; p[[15, 34]] = 5/36; p[[15, 36]] = 5/36; p[[15, 38]] = 3/36;
p[[16, 1]] = 6/36; p[[16, 16]] = 13/36; p[[16, 26]] = 3/36; p[[16, 35]] = 5/36; p[[16, 37]] = 5/36; p[[16, 38]] = 4/36;
p[[17, 1]] = 6/36; p[[17, 17]] = 16/36; p[[17, 27]] = 3/36; p[[17, 33]] = 4/36; p[[17, 39]] = 4/36; p[[17, 40]] = 3/36;
p[[18, 1]] = 6/36; p[[18, 18]] = 15/36; p[[18, 28]] = 3/36; p[[18, 34]] = 4/36; p[[18, 39]] = 5/36; p[[18, 41]] = 3/36;
p[[19, 1]] = 6/36; p[[19, 19]] = 14/36; p[[19, 29]] = 3/36; p[[19, 35]] = 4/36; p[[19, 40]] = 5/36; p[[19, 41]] = 4/36;
p[[20, 1]] = 6/36; p[[20, 20]] = 15/36; p[[20, 30]] = 3/36; p[[20, 36]] = 4/36;p[[20, 39]] = 5/36; p[[20, 42]] = 3/36;
p[[21, 1]] = 6/36; p[[21, 21]] = 14/36; p[[21, 31]] = 3/36; p[[21, 37]] = 4/36; p[[21, 40]] = 5/36; p[[21, 42]] = 4/36;
p[[22, 1]] = 6/36; p[[22, 22]] = 13/36; p[[22, 32]] = 3/36; p[[22, 38]] = 4/36; p[[22, 41]] = 5/36; p[[22, 42]] = 5/36;
p[[23, 1]] = 6/36; p[[23, 8]] = 5/36; p[[23, 9]] = 4/36; p[[23, 13]] = 3/36; p[[23, 23]] = 18/36;
p[[24, 1]] = 6/36; p[[24, 8]] = 5/36; p[[24, 10]] = 4/36; p[[24, 14]] = 3/36; p[[24, 24]] = 18/36;
p[[25, 1]] = 6/36; p[[25, 8]] = 4/36; p[[25, 11]] = 4/36; p[[25, 15]] = 3/36; p[[25, 25]] = 19/36;
p[[26, 1]] = 6/36; p[[26, 8]] = 3/36; p[[26, 12]] = 4/36; p[[26, 16]] = 3/36; p[[26, 26]] = 20/36;
p[[27, 1]] = 6/36; p[[27, 9]] = 5/36; p[[27, 10]] = 5/36; p[[27, 17]] = 3/36; p[[27, 27]] = 17/36;
p[[28, 1]] = 6/36; p[[28, 9]] = 4/36; p[[28, 11]] = 5/36; p[[28, 18]] = 3/36; p[[28, 28]] = 18/36;
p[[29, 1]] = 6/36; p[[29, 9]] = 3/36; p[[29, 12]] = 5/36; p[[29, 19]] = 3/36; p[[29, 29]] = 19/36;
p[[30, 1]] = 6/36; p[[30, 10]] = 4/36; p[[30, 11]] = 5/36; p[[30, 20]] = 3/36; p[[30, 30]] = 18/36;
p[[31, 1]] = 6/36; p[[31, 10]] = 3/36; p[[31, 12]] = 5/36; p[[31, 21]] = 3/36; p[[31, 31]] = 19/36;
p[[32, 1]] = 6/36; p[[32, 11]] = 3/36; p[[32, 12]] = 4/36; p[[32, 22]] = 3/36; p[[32, 32]] = 20/36;
p[[33, 1]] = 6/36; p[[33, 13]] = 5/36; p[[33, 14]] = 5/36; p[[33, 17]] = 4/36; p[[33, 33]] = 16/36;
p[[34, 1]] = 6/36; p[[34, 13]] = 4/36; p[[34, 15]] = 5/36; p[[34, 18]] = 4/36; p[[34, 34]] = 17/36;
p[[35, 1]] = 6/36; p[[35, 13]] = 3/36; p[[35, 16]] = 5/36; p[[35, 19]] = 4/36; p[[35, 35]] = 18/36;
p[[36, 1]] = 6/36; p[[36, 14]] = 4/36; p[[36, 15]] = 5/36; p[[36, 20]] = 4/36; p[[36, 36]] = 17/36;
p[[37, 1]] = 6/36; p[[37, 14]] = 3/36; p[[37, 16]] = 5/36; p[[37, 21]] = 4/36; p[[37, 37]] = 18/36;
p[[38, 1]] = 6/36; p[[38, 15]] = 3/36; p[[38, 16]] = 4/36; p[[38, 22]] = 4/36; p[[38, 38]] = 19/36;
p[[39, 1]] = 6/36; p[[39, 17]] = 4/36; p[[39, 18]] = 5/36; p[[39, 20]] = 5/36; p[[39, 39]] = 16/36;
p[[40, 1]] = 6/36; p[[40, 17]] = 3/36; p[[40, 19]] = 5/36; p[[40, 21]] = 5/36; p[[40, 40]] = 17/36;
p[[41, 1]] = 6/36; p[[41, 18]] = 3/36; p[[41, 19]] = 4/36; p[[41, 22]] = 5/36; p[[41, 41]] = 18/36;
p[[42, 1]] = 6/36; p[[42, 20]] = 3/36; p[[42, 21]] = 4/36; p[[42, 22]] = 5/36; p[[42, 42]] = 18/36;

Next, the payoff vector (expected payoff from each state) looks like this:

x[] = 8/36 - 4/36;
x[] = 8/36 - 4/36 + 3/36 - 6/36;
x[] = 8/36 - 4/36 + 4/36 - 6/36;
x[] = 8/36 - 4/36 + 5/36 - 6/36;
x[] = 8/36 - 4/36 + 5/36 - 6/36;
x[] = 8/36 - 4/36 + 4/36 - 6/36;
x[] = 8/36 - 4/36 + 3/36 - 6/36;
x[] = 8/36 - 4/36 + 3/36 + 4/36 - 2 (6/36);
x[] = 8/36 - 4/36 + 3/36 + 5/36 - 2 (6/36);
x[] = 8/36 - 4/36 + 3/36 + 5/36 - 2 (6/36);
x[] = 8/36 - 4/36 + 3/36 + 4/36 - 2 (6/36);
x[] = 8/36 - 4/36 + 3/36 + 3/36 - 2 (6/36);
x[] = 8/36 - 4/36 + 4/36 + 5/36 - 2 (6/36);
x[] = 8/36 - 4/36 + 4/36 + 5/36 - 2 (6/36);
x[] = 8/36 - 4/36 + 4/36 + 4/36 - 2 (6/36);
x[] = 8/36 - 4/36 + 4/36 + 3/36 - 2 (6/36);
x[] = 8/36 - 4/36 + 5/36 + 5/36 - 2 (6/36);
x[] = 8/36 - 4/36 + 5/36 + 4/36 - 2 (6/36);
x[] = 8/36 - 4/36 + 5/36 + 3/36 - 2 (6/36);
x[] = 8/36 - 4/36 + 5/36 + 4/36 - 2 (6/36);
x[] = 8/36 - 4/36 + 5/36 + 3/36 - 2 (6/36);
x[] = 8/36 - 4/36 + 4/36 + 3/36 - 2 (6/36);
x[] = 3/36 + 4/36 + 5/36 - 3 (6/36);
x[] = 3/36 + 4/36 + 5/36 - 3 (6/36);
x[] = 3/36 + 4/36 + 4/36 - 3 (6/36);
x[] = 3/36 + 4/36 + 3/36 - 3 (6/36);
x[] = 3/36 + 5/36 + 5/36 - 3 (6/36);
x[] = 3/36 + 5/36 + 4/36 - 3 (6/36);
x[] = 3/36 + 5/36 + 3/36 - 3 (6/36);
x[] = 3/36 + 5/36 + 4/36 - 3 (6/36);
x[] = 3/36 + 5/36 + 3/36 - 3 (6/36);
x[] = 3/36 + 4/36 + 3/36 - 3 (6/36);
x[] = 4/36 + 5/36 + 5/36 - 3 (6/36);
x[] = 4/36 + 5/36 + 4/36 - 3 (6/36);
x[] = 4/36 + 5/36 + 3/36 - 3 (6/36);
x[] = 4/36 + 5/36 + 4/36 - 3 (6/36);
x[] = 4/36 + 5/36 + 3/36 - 3 (6/36);
x[] = 4/36 + 4/36 + 3/36 - 3 (6/36);
x[] = 5/36 + 5/36 + 4/36 - 3 (6/36);
x[] = 5/36 + 5/36 + 3/36 - 3 (6/36);
x[] = 5/36 + 4/36 + 3/36 - 3 (6/36);
x[] = 5/36 + 4/36 + 3/36 - 3 (6/36);

Finally, here is the Mathematica code for the evaluation of the stationary distribution of the MC:

p = ConstantArray[0, {42, 42}];
x = ConstantArray[0, {42}];
(* insert all of the above formulas here *)
pi = Array[y, {42}];
sol = Solve[{pi == pi.p, pi.ConstantArray[1, {42}] == 1}, pi];
Print[Sum[pi[[z]] x[[z]], {z, 1, 42}]/Sum[pi[[z]], {z, 1, 22}] /. sol]
Print[(1671/196) (-7/495) Sum[pi[[z]], {z, 1, 22}] /. sol]
Print[(-7/495) Sum[pi[[z]], {z, 1, 22}] /. sol]

We get
{-(7/495)}
{-(7061/81900)}
{-(49427/4887675)}

The first number is a check that the program is correct. It shows that the house edge on Ponzer is as it should be, -7/495=-0.0141414.
The second number is essentially what the problem asks for, the expected profit over the course of the shooter's hand. This is -0.0862149.
The third number is expected profit per roll, -0.0101126 (since bets are not made when 3 point numbers are unresolved).
DrEntropy Joined: Nov 13, 2009