This is a follow-up to the thread from a few weeks ago, addressing several issues with the assumptions behind the analysis presented there. I have gone back and made some code changes and re-done all of the analysis, so let's try this again...
First, recall the setup: 6 decks, S17, DOA, DAS, SPL1, no surrender, 75% penetration, with betting constrained to 1-16 spread. (We can turn most of these dials later; my goal right now is to verify methodology, hence the focus on a single set of rules.) NOTE that one dial we can't turn is SPL1; I'll try to explain this algorithm limitation in more detail in another follow-up.
The most severe deficiency in the earlier posted results was no insurance; I have updated my CA software (see links below) to compute the full probability distribution of net outcomes including arbitrary specified insurance strategy. The results below reflect these changes.
Another difference was choice of Illustrious 18 indices for the Hi-Lo player. I have included both the "revisited" I18 indices from Cacarulo used earlier, as well as the I18 indices specified in Table 10.1 of BJA3, for comparison.
Finally, let's set aside the "practical" constraint on betting ramp for now, and stick to the "optimal" approach used in Chapter 10 of BJA3.
Results are shown below:
The first column indicates the complexity of strategy used by the modeled player. TDZ is the "dumbest thing that could possibly work": fixed basic total-dependent zero-memory playing strategy, using Hi-Lo solely for betting. At the other extreme, optimal (opt.) is bringing a laptop to the table, making perfect wagering, insurance, and (CDZ-) playing decisions, with perfect knowledge of each pre-deal depleted shoe composition. (For completeness, I also included "Optimal (Hi-Lo)," where the player wagers according to the indicated betting ramp using a Hi-Lo true count, but otherwise makes perfect insurance and playing decisions.)Code:Strategy | $/hr | SCORE | ROR | <=0 +1 +2 +3 +4 +5 +6 +7 +8 +9 >9 ======================================================================================= TDZ | 14.46 | 15.04 | 0.1250 | 6, 20, 57, 93, 96, 96, 96, 96, 96, 96, 96 Hi-Lo I18 (BJA3) | 19.87 | 21.22 | 0.1182 | 7, 23, 63,102,112,112,112,112,112,112,112 Hi-Lo I18 (BJA3) | 21.35 | 21.31 | 0.1359 | 8, 23, 63,102,128,128,128,128,128,128,128 Hi-Lo I18 (Cac) | 21.51 | 21.60 | 0.1343 | 8, 23, 63,102,128,128,128,128,128,128,128 Hi-Lo full | 22.22 | 22.48 | 0.1322 | 8, 23, 63,102,128,128,128,128,128,128,128 Hi-Opt II full | 25.19 | 26.65 | 0.1205 | 8, 8, 25, 48, 71, 95,119,128,128,128,128 Hi-Opt II full | 26.86 | 26.73 | 0.1367 | 9, 9, 25, 48, 71, 95,119,144,144,144,144 Optimal (Hi-Lo) | 30.07 | 31.11 | 0.1262 | 9, 31, 74,118,144,144,144,144,144,144,144 Optimal (opt.) | 34.90 | 35.40 | 0.1315 | 10:1:160
The second column indicates the win rate (dollars per hour), assuming 100 hands per hour played according to the indicated betting ramp (also in dollars). Note that the optimal (opt.) betting ramp doesn't use an approximate "true count"; it uses the exact pre-deal distribution of outcomes, and thus the optimal player will end up wagering any integral dollar amount from $10 to $160.
The third and fourth columns indicate the SCORE and risk of ruin (ROR), respectively. This is where things get interesting: first, I'm excited by these results, particularly those for Hi-Lo I18 (BJA3), since they agree very closely with those provided by another user via independent simulation (you know who you are). But I think these values are not as accurate as they could be; that is, I have computed SCORE and ROR the way they are "usually" computed, but there are a couple of issues with those calculations worth discussing.
First, the ROR values were computed using the formula on p. 113 of BJA3. This formula (as well as the more accurate version on the previous page 112) is a generally conservative approximation. There is an exact, albeit more complex, algorithm to compute ROR, that in this case affects our choice of optimal betting ramp. For the $8 minimum bet case above, the reported approximate ROR is 13.59%, which is higher than the required 1/e^2 value. But the actual exact value is 13.453%, which sneaks under the bar.
There is a similar situation with Hi-Opt II; the second, larger SCORE "would" be discarded due to a too-high ROR of 13.67%, but the actual ROR of 13.506% means that we should have kept it.
Granted, in both of these cases, the difference in SCORE is pretty small. But a difference in feasible win rate of 6-7% seems worth the extra effort to get right.
(Finally, there is also an issue with how the overall variance is computed, which tends to *over*-estimate SCORE, but this is already comically long, so I'll leave that for another post.)
If anyone wants to inspect the code, or even reproduce results for themselves:
Version 7.6 of my blackjack CA used for this analysis is available here, including source:
https://sites.google.com/site/erfarmer/downloads
All of the raw data is available at the following link, in a "packed" binary format since the files are pretty big:
https://drive.google.com/drive/folde...WM?usp=sharing
Thanks,
Eric
Bookmarks