July 14, 2006

Fibonacci Program

I’ve come up with a draft of a program for testing my Fibonacci betting strategy for statistical reliability. It applies to a basic game of craps. Informal discussion of the strategy appears in the previous post.

The program defined below has three possible outcomes:
1. it yields a bankroll value B that is 500 or greater, and halts. FORMAL WIN
2. it yields a bankroll value B that is too low to continue, and halts. FORMAL LOSS
3. it yields neither a formal WIN nor a formal LOSS after exceedingly long play and stops itself.



Variables:

B = bankroll value. (I use BB to calculate a change in the bankroll value (e.g., BB = (B - x), and then reassign B to that number.)

R = outcome of the roll of two fair six-sided dice = 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 or 12.

P = point made = 4, 5, 6, 8, 9, or 10.

x = pass line bet = 1, 2, 3, 5, 8, 13, or 21 (defined by the Fibonacci series).

y = free odds bet = 10(x).

C = Counter #. (Shuts program down at 25. I use CC to calculate a change in the counter (e.g., CC = (C+1)), and then reassign C to the new number.)


Program:

S0: Let B = 400. C=0. Go to S1.
[Notes: Initial bankroll and counter values]

S1: Let CC=(C + 1). Let C=CC.
If C=26, then END.
If C<26, then Go to S2.
[Counter to stop play after 25 starts.]

S2: Let x = 1. Go to S3
[Notes: Begin Fibonacci series]

S3: Let y = 10(x). Go to S4.

S4: If (y + x) ≤ B, then Roll dice. Outcome=R. Go to S5.
If (y + x) > B, then END.
[Notes: on come out roll, game shuts down if bankroll is lower than the required bet]

S5: If R=7 or R=11, then Let BB = (x + B). Let B = BB. Go to S11.
If R=2, 3, or 12, then Let BB = (B - x). Let B = BB. Go to S4.
If 6, then let P = 6 and Go to S6.
If 8, then let P = 8 and Go to S6.
If 5, then let P = 5 and Go to S7.
If 9, then let P = 9 and Go to S7.
If 4, then let P = 4 and Go to S8.
If 10, then let P = 10 and Go to S8.

S6: Roll dice. Outcome = R.
If R=P, then Let BB = ((x + y + .2(y)) + B). Let B = BB. Go to S10.
If R=7, then Let BB = (B - (x + y)). Let B = BB. Go to S9.
If R≠P and R≠7, then Go to S6.

S7: Roll dice. Outcome = R.
If R=P, then Let BB = ((x + y + .5(y)) + B). Let B = BB. Go to S10.
If R=7, then Let BB = (B - (x + y)). Let B = BB. Go to S9.
If R≠P and R≠7, then Go to S7.

S8: Roll dice. Outcome = R.
If R=P, then Let BB = ((x + 2(y)) + B). Let B = BB. Go to S10.
If R=7, then Let BB = (B - (x + y)). Let B = BB. Go to S9.
If R≠P and R≠7, then Go to S8.

S9:
If x = 1, then let x = 2 and Go to S3.
If x = 2, then let x = 3 and Go to S3.
If x = 3, then let x = 5 and Go to S3.
If x = 5, then let x = 8 and Go to S3.
If x = 8, then let x = 13 and Go to S3.
If x = 13, then let x = 21 and Go to S3.
If x = 21, then END.

S10: If B ≥ 500, then END.
If B < 500, then Go to S1.

S11: If B ≥ 500, then END.
If B < 500, then Go to S4.

3 comments:

Anonymous said...

Hey. I'm a friend of Adam Taylor. For a game whose odds are even or against you in all situations, a strategy dependent on altering your bet sizes will not increase or decrease your expected return (assuming you're maxing out the odds), and I'll try to back that up. It's pretty natural to look at your bets sequentially, but you can also look at them in a different order, and the math will come out the same either way. So instead of grouping them chrono, group them by bet size. Now instead of a guy running your strategy, we've got a guy who spends some time at progressively higher bet limits (always spending less time at a higher limit than any below it).
At each limit, you should expect to lose (playing perfect strategy), because that is how the game is designed. The fact that you're making 3 dollar bets more often than 13 dollar bets doesn't change the fact that you're gonna end up a loser at each level, if you play long enough (ignoring your cutoff point for a minute). If a large group played your strategy for a long time, eventually the spectrum of results at each level would be populated enough that the odds of craps would kick in and beat you collectively, because each bet level has it's own complete statistical spectrum as well. Adding a cutoff point will not keep you safe. However the statistics play out over the longterm is how they play out over the shortterm, and the weird thing is establishing a cutoff is what ensures that you are going to lose. Only with an infinite bankroll could a person win with betsize altering strategies (like in the doubling method the chance of failure asymptotes at 0% if your roll is infinite and you have the time to bet it). But a big bankroll can only get used with many bets. The bigger your group's bankroll, the more winners you would get, but the more catastophically the losers would lose. With the limited bankroll you're suggesting, you should expect to see the odds play out in pure craps fashion: a little more loss than win. Sure I left out some clarifying arguments, but why leave things finished.

Joe Salerno said...

Hi Matt,

Thanks for the comment. A draft of the program is completed for running the betting strategy. And I thank my cousin Dave DiFilippo for that. Please give it try and see what you think. When I run the game 100 times I often get a positive expected value. Hope soon to have the capacity soon to run it 100,000 times.

Anonymous said...

Update: Have twice run the program to compute the expected value of 1,000 games. Both time ended up with a positive number. don't think the browser applet can handle samples much larger.