Software update with new split EVs

iCountNTrack

Well-Known Member
#61
k_c said:
I input a composition of 1,1,1,1,1,1,1,1,1,8 (1-10) into your new version.

I computed 10-10 v 6, 3 splits, which is dealt from the above shoe comp. The computed output was:
EV for standing= 0.719264069264 ± 0.625832931119
EV for doubling= -1.7291042291 ± 0.990233071179
EV for hitting= -0.864552114552 ± 0.49511653559
EV for splitting= 0.865196536847 ± 2.63354406919

My program agrees with the stand/double/hit EVs but differs with the split EV. I get .9274 for 3 splits.
3 splits .9274
2 splits .9217
1 split .8659

As far as I can see the best possible strategy is to split when allowed if another 10 is drawn or otherwise stand, so these EVs should be the same as optimally computed EVs. Maybe Eric can post what he gets. I tried using MGP's realtime analysis but I couldn't duplicate anything. I'm probably doing something wrong. I get the same split EV for a full shoe but when I try to input the above composition the values aren't close even for stand/double/hit.
Optimal post-split strategy for 10,10 vs 6 would not just be stand or split (if another ten is drawn). There are many different variations. for instance it will be a double for 10,1 vs 6 (since this is not a natural). Another example is 10,2 , the best strategy will drastically change depending on the composition of the other split hands for instance if we have 10,3 ; 10,4 and 10,5 on split hand 1 , split hand 2 and split hand 3, it is better to stand (EV is +0.535714) than to hit (EV -0.017857142) but if you had 10,10 ; 10, 10 and 10,8 on split hand 1, split hand 2 and split hand 3, it is better to hit (EV -0.19077) than to stand (EV -0.33333)

Edit:
I looked at your CDCA, and inputted the same compositions (1, 1, 1, 1, 1, 1, 1, 1 ,1, 8) (1-10), however i noticed two weird things for 10,10 vs 6:

1) The value you report for 1 split for 10,10 vs 6 is not the same value i get from your code. You report .8659 for one split, i get .8995 from your code which also agrees with the ev value from my code .89948.

2) For some weird reason i dont get the ev values for 2 or 3 splits, just grayed empty boxes.
 
#62
iCountNTrack said:
Optimal post-split strategy for 10,10 vs 6 would not just be stand or split (if another ten is drawn). There are many different variations. for instance it will be a double for 10,1 vs 6 (since this is not a natural). Another example is 10,2 , the best strategy will drastically change depending on the composition of the other split hands for instance if we have 10,3 ; 10,4 and 10,5 on split hand 1 , split hand 2 and split hand 3, it is better to stand (EV is +0.535714) than to hit (EV -0.017857142) but if you had 10,10 ; 10, 10 and 10,8 on split hand 1, split hand 2 and split hand 3, it is better to hit (EV -0.19077) than to stand (EV -0.33333)

Edit:
I looked at your CDCA, and inputted the same compositions (1, 1, 1, 1, 1, 1, 1, 1 ,1, 8) (1-10), however i noticed two weird things for 10,10 vs 6:

1) The value you report for 1 split for 10,10 vs 6 is not the same value i get from your code. You report .8659 for one split, i get .8595 from your code which also agrees with the ev value from my code .85948.

2) For some weird reason i dont get the ev values for 2 or 3 splits, just grayed empty boxes.
Hmmm. We should all double-check our results, because I see different output from what is described above. First, following is what I get from my CA:

Code:
Enter dealer up card and player hand (Ctrl-C to exit): 6 2 10 10

Stand      E(X) =   71.926406926%
Hit        E(X) =  -86.455211455%
Double     E(X) = -172.910422910%
Split      E(X) =   89.948107448% (SPL1, CDZ-)
Split      E(X) =   98.557077843% (SPL3, CDZ-)
The SPL1 value agrees with the output from iCountNTrack's CA when I run it, but not with iCountNTrack's "quoted" output of 0.85948 above.

And for SPL3, I don't think I trust my reported value... or yours either :), since technically it is possible for the shoe to run out of cards. (At least, according to the model in my CA.) That is, I can split to 4 hands, draw 10s to all of them, bust them all with draws of 9, 8, 7, and 5, leaving the dealer with a possible hand of 6-4-3-2-ace, for a total of 16 with no cards left in the shoe.
 

iCountNTrack

Well-Known Member
#63
ericfarmer said:
Hmmm. We should all double-check our results, because I see different output from what is described above. First, following is what I get from my CA:

Code:
Enter dealer up card and player hand (Ctrl-C to exit): 6 2 10 10

Stand      E(X) =   71.926406926%
Hit        E(X) =  -86.455211455%
Double     E(X) = -172.910422910%
Split      E(X) =   89.948107448% (SPL1, CDZ-)
Split      E(X) =   98.557077843% (SPL3, CDZ-)
The SPL1 value agrees with the output from iCountNTrack's CA when I run it, but not with iCountNTrack's "quoted" output of 0.85948 above.

And for SPL3, I don't think I trust my reported value... or yours either :), since technically it is possible for the shoe to run out of cards. (At least, according to the model in my CA.) That is, I can split to 4 hands, draw 10s to all of them, bust them all with draws of 9, 8, 7, and 5, leaving the dealer with a possible hand of 6-4-3-2-ace, for a total of 16 with no cards left in the shoe.
Ahhh typos from my end, all three CA's match for 1 split. I fixed the typos with red in my original post.
I have no out of cards check in my CA, I have no idea what it will do if you ran out of cards.
Maybe we should standardize the comparisons (fixed composition, and hands)
How about the following?
1,1,1,1,1,1,1,4,4,8 (1-10)
8,8 vs 6 (1, 2, 3 splits)
9,9 vs 6 (1,2, 3 splits)
10,10 vs 6 (1,2,3 splits)
 

MGP

Well-Known Member
#64
iCountNTrack said:
Ahhh typos from my end, all three CA's match for 1 split. I fixed the typos with red in my original post.
I have no out of cards check in my CA, I have no idea what it will do if you ran out of cards.
Maybe we should standardize the comparisons (fixed composition, and hands)
How about the following?
1,1,1,1,1,1,1,4,4,8 (1-10)
8,8 vs 6 (1, 2, 3 splits)
9,9 vs 6 (1,2, 3 splits)
10,10 vs 6 (1,2,3 splits)
Mine will be exact so you should run that shoe on mine. My hard disk crashed at home and I don't have access at work.
 

k_c

Well-Known Member
#65
iCountNTrack said:
Optimal post-split strategy for 10,10 vs 6 would not just be stand or split (if another ten is drawn). There are many different variations. for instance it will be a double for 10,1 vs 6 (since this is not a natural). Another example is 10,2 , the best strategy will drastically change depending on the composition of the other split hands for instance if we have 10,3 ; 10,4 and 10,5 on split hand 1 , split hand 2 and split hand 3, it is better to stand (EV is +0.535714) than to hit (EV -0.017857142) but if you had 10,10 ; 10, 10 and 10,8 on split hand 1, split hand 2 and split hand 3, it is better to hit (EV -0.19077) than to stand (EV -0.33333)

Edit:
I looked at your CDCA, and inputted the same compositions (1, 1, 1, 1, 1, 1, 1, 1 ,1, 8) (1-10), however i noticed two weird things for 10,10 vs 6:

1) The value you report for 1 split for 10,10 vs 6 is not the same value i get from your code. You report .8659 for one split, i get .8995 from your code which also agrees with the ev value from my code .89948.

2) For some weird reason i dont get the ev values for 2 or 3 splits, just grayed empty boxes.
There's something the matter with my website program in that it is only displaying 1 split for an up card of 10 when 10-10 is input as player hand and 3 splits are allowed. I'll try and fix that when I have time.

The .8594 value is for using full shoe basic CD strategy which is certainly not optimal. This forces each hand composition to be played the same as if it was dealt from a full shoe regardless of current composition. I believe this is what Eric and MGP call CDZ-, at least with reference to split hand strategy dealt from a full shoe.

Actually after thinking about it I think there are exceptions to a strategy that is fixed optimally on the first split hand for a hand of 10-10 v 6 dealt from a composition of 1,1,1,1,1,1,1,1,8. For example if player draws 10-10-10-10-10 he will have hands of 10-10 (stand), 10-10 (stand), 10-10 (stand), 10-x (?). If x is 2,3,4, or 7 player's best strategy is hit and not stand. If x is 1,8,9, or 10 then stand is best. This means that the optimal split EV will be even greater than the optimal fixed strategy EV of .9274.

An example of a composition where there are no exceptions is 1,1,1,1,1,1,1,1,12. For this composition again I get the same stand/double/hit EVs as your program but differ for the split EV when 3 splits are allowed, at least for NDAS.

My EV = 1.703 for optimal fixed strategy that is fixed on the first split hand.

Your program output is:
player's probabilities for splitting
p_-8 = 0
p_-7 = 0
p_-6 = 0
p_-5 = 0.0116362209879
p_-4 = 0.0302733795253
p_-3 = 0.0473573669334
p_-2 = 0.103007535551
p_-1 = 0.05194789509
p_0 = 0.0641605508189
p_+1= 0.0532975014272
p_+2 = 0.197849578149
p_+3 = 0.117522737722
p_+4 = 0.201648803768
p_+5 = 0.121298430027
p_+6 = 0
p_+7 = 0
p_+8 = 0
EV for splitting= 1.63534254607 ± 2.67439166135

In this case I do not believe there are any differences between a fixed optimal strategy and the absolute optimal strategy.
 

Gamblor

Well-Known Member
#66
ericfarmer said:
I think this misses my point. I did not mean to suggest that any particular GUI was not "nice." My point was that providing only a graphical interface eliminates any capacity for, or at the very least convenience of, what I guess I would call "user-scriptable automation."
There is no reason you cannot provide a nice GUI with scripting and customization.
 

MangoJ

Well-Known Member
#67
Gamblor said:
There is no reason you cannot provide a nice GUI with scripting and customization.
I think Eric talks about standard input and standard output, which you can easily pipe through other programs. Of course you can provide a scripting interface to your GUI program which will run custom scripts, but stdout / stdin is much more versatile (i.e. you could make provide a web interface without even touching the original program).

For my personal programs, I also prefer a console program. Futher benefit is a simple save from output to file - for documentation but also for debugging.
I agree, for documentation you can make screenshots of GUI programs, but imaging you dump some multi-kilobyte array (which is rather small), and try to find the difference between two version of your software. Good luck comparing pages of pages of screenshots, "diff" will be your friend for console programs.
 

k_c

Well-Known Member
#68
ericfarmer said:
Hmmm. We should all double-check our results, because I see different output from what is described above. First, following is what I get from my CA:

Code:
Enter dealer up card and player hand (Ctrl-C to exit): 6 2 10 10

Stand      E(X) =   71.926406926%
Hit        E(X) =  -86.455211455%
Double     E(X) = -172.910422910%
Split      E(X) =   89.948107448% (SPL1, CDZ-)
Split      E(X) =   98.557077843% (SPL3, CDZ-)
The SPL1 value agrees with the output from iCountNTrack's CA when I run it, but not with iCountNTrack's "quoted" output of 0.85948 above.

And for SPL3, I don't think I trust my reported value... or yours either :), since technically it is possible for the shoe to run out of cards. (At least, according to the model in my CA.) That is, I can split to 4 hands, draw 10s to all of them, bust them all with draws of 9, 8, 7, and 5, leaving the dealer with a possible hand of 6-4-3-2-ace, for a total of 16 with no cards left in the shoe.
If all hands are busted then dealer doesn't need to draw.

I agree with your SPL 3 value.

For the CDZ- value my CA works differently than yours. I use full shoe strategy so I do not recompute another pre-split strategy. In essence I'm using basic (full shoe) CD strategy.
 

Gamblor

Well-Known Member
#69
MangoJ said:
I think Eric talks about standard input and standard output, which you can easily pipe through other programs. Of course you can provide a scripting interface to your GUI program which will run custom scripts, but stdout / stdin is much more versatile (i.e. you could make provide a web interface without even touching the original program).

For my personal programs, I also prefer a console program. Futher benefit is a simple save from output to file - for documentation but also for debugging.
I agree, for documentation you can make screenshots of GUI programs, but imaging you dump some multi-kilobyte array (which is rather small), and try to find the difference between two version of your software. Good luck comparing pages of pages of screenshots, "diff" will be your friend for console programs.
Unless your writing complete spaghetti code, outputting data that you display on a GUI to a stdout should be pretty trivial (same goes for opening up a CLI for inputting). Of course going the opposite way is more work.
 

iCountNTrack

Well-Known Member
#70
Results From 3 Indepedent Codes

Deck Composition
1, 1, 1, 1, 1, 1, 1, 4, 4, 8 (1 through 10)

Rules
S17 DAS


//*********************************************

8,8 vs 6

k_c's CDCA
EV 1 split = 0.9770276641846
EV 2 splits = 1.132314910889
EV 3 splits = 1.1537300109863

MGP BJCA (using the CD-z, was not sure how to include more decimals)

EV 1 split = 0.977028
EV 2 splits = 1.132315
EV 3 splits = 1.15373

iCountNTrack (optimal post-split strategy)

EV 1 split = 0.977027720445
EV 2 splits = 1.12296822609
EV 3 splits = 1.39827396052

//*******************************************

9,9 vs 6

k_c's CDCA
EV 1 split = 1.071637954712
EV 2 splits = 1.179731521606
EV 3 splits = 1.1934268188477

MGP BJCA (using the CD-z, was not sure how to include more decimals)

EV 1 split = 1.071638
EV 2 splits = 1.179731
EV 3 splits = 1.193427

iCountNTrack (optimal post-split strategy)

EV 1 split = 1.07163800023
EV 2 splits = 1.17369058461
EV 3 splits = 1.10065157904

//*******************************************

10,10 vs 6

k_c's CDCA
EV 1 split = 1.231371154785
EV 2 splits = 1.434995422363
EV 3 splits = 1.5409292602539

MGP BJCA (using the CD-z, was not sure how to include more decimals)

EV 1 split = 1.177017
EV 2 splits = 1.346599
EV 3 splits = 1.429564

iCountNTrack (optimal post-split strategy)

EV 1 split = 1.23166628786
EV 2 splits = 1.42388761623
EV 3 splits = 1.33677223975


I will write up the discussion later on tonight, but something weird is happening.:)
 

MGP

Well-Known Member
#71
If you want more decimals then either click on the strategy box and copy paste the value (although it will only show the highest split level for that) or output to Excel 2003 and copy from the spreadsheet (if you can get it to work).
 
#72
I think there are (at least) a couple of possible issues here, and I am not sure yet which is the dominant effect for these shoes we are testing.

One obvious possibility that may be causing differences between our results is the selection of post-split strategy. We each have slightly different sets of options in our CAs: iCountNTrack does optimal strategy; I can do CDZ-, CDP1, or CDP; I think k_c can do CDZ- or CDP1 (although there may be others as well, I'm not quite sure here); and MGP can do CDZ-, CDP, or CDPN.

I think there are a few interesting things going on with those various options. For example, in some of the shoes discussed today where my results differ from MGP's using CDZ-, they agree using CDP, which make me suspicious of my (or his, but mine first) post-split application of "remembered" pre-split strategy.

But before diving into that, I think it might be useful to start with the other issue, namely some "edge effects" of these small shoe sizes. There are some convenient small shoes that (1) allow by-hand calculation of at least some of the relevant EVs, and (2) do not have any of the post-split strategy variations above that make comparisons between our CAs trickier. If we can get on the same page with shoes like this, then we can move on to the more complex shoes with post-split strategy variations.

For example, consider a shoe with one 2, one 6, and thirteen 10s (S17, DAS, SPL3). If we are splitting 10s against either a dealer 2 or a 6, then we should be able to work out these EVs by hand. Looking at our CAs, though, right now it seems that only iCountNTrack gets this right (the following is from a tentative fix to my code):

Code:
Enter dealer up card and player hand (Ctrl-C to exit): 2 2 10 10

Stand      E(X) =  100.000000000%
Hit        E(X) = -100.000000000%
Double     E(X) = -200.000000000%
Split      E(X) =  400.000000000%

Enter dealer up card and player hand (Ctrl-C to exit): 6 2 10 10

Stand      E(X) =  100.000000000%
Hit        E(X) = -100.000000000%
Double     E(X) = -200.000000000%
Split      E(X) =  400.000000000%
My CA, MGP's, and k_c's all choke on this, but for seemingly different reasons in each case. For what it's worth, following is my very tentative calculation of overall and per-up-card EV (again, this was for both CDZ- and CDP, since I'm pretty sure there are no post-split strategy variations).

Code:
    Up  |
   card | Overall expected value (%)
---------------------------------
     2  |  357.142857143
     3  |    0.000000000
     4  |    0.000000000
     5  |    0.000000000
     6  |  357.142857143
     7  |    0.000000000
     8  |    0.000000000
     9  |    0.000000000
    10  |  -10.989010989
     A  |    0.000000000
---------------------------------
  Total |   38.095238095
Any thoughts?
 

k_c

Well-Known Member
#73
ericfarmer said:
I think there are (at least) a couple of possible issues here, and I am not sure yet which is the dominant effect for these shoes we are testing.

One obvious possibility that may be causing differences between our results is the selection of post-split strategy. We each have slightly different sets of options in our CAs: iCountNTrack does optimal strategy; I can do CDZ-, CDP1, or CDP; I think k_c can do CDZ- or CDP1 (although there may be others as well, I'm not quite sure here); and MGP can do CDZ-, CDP, or CDPN.

I think there are a few interesting things going on with those various options. For example, in some of the shoes discussed today where my results differ from MGP's using CDZ-, they agree using CDP, which make me suspicious of my (or his, but mine first) post-split application of "remembered" pre-split strategy.

But before diving into that, I think it might be useful to start with the other issue, namely some "edge effects" of these small shoe sizes. There are some convenient small shoes that (1) allow by-hand calculation of at least some of the relevant EVs, and (2) do not have any of the post-split strategy variations above that make comparisons between our CAs trickier. If we can get on the same page with shoes like this, then we can move on to the more complex shoes with post-split strategy variations.

For example, consider a shoe with one 2, one 6, and thirteen 10s (S17, DAS, SPL3). If we are splitting 10s against either a dealer 2 or a 6, then we should be able to work out these EVs by hand. Looking at our CAs, though, right now it seems that only iCountNTrack gets this right (the following is from a tentative fix to my code):

Code:
Enter dealer up card and player hand (Ctrl-C to exit): 2 2 10 10

Stand      E(X) =  100.000000000%
Hit        E(X) = -100.000000000%
Double     E(X) = -200.000000000%
Split      E(X) =  400.000000000%

Enter dealer up card and player hand (Ctrl-C to exit): 6 2 10 10

Stand      E(X) =  100.000000000%
Hit        E(X) = -100.000000000%
Double     E(X) = -200.000000000%
Split      E(X) =  400.000000000%
My CA, MGP's, and k_c's all choke on this, but for seemingly different reasons in each case. For what it's worth, following is my very tentative calculation of overall and per-up-card EV (again, this was for both CDZ- and CDP, since I'm pretty sure there are no post-split strategy variations).

Code:
    Up  |
   card | Overall expected value (%)
---------------------------------
     2  |  357.142857143
     3  |    0.000000000
     4  |    0.000000000
     5  |    0.000000000
     6  |  357.142857143
     7  |    0.000000000
     8  |    0.000000000
     9  |    0.000000000
    10  |  -10.989010989
     A  |    0.000000000
---------------------------------
  Total |   38.095238095
Any thoughts?
I guess there's another bug in my website program. It's the same as my desktop program but I use cgi to translate it to html. Something is causing an improper display.

Below images are from my desktop version. A picture is better than trying to explain.

Edit:
I went back and double checked my input to the website program and it appears that it agrees with my desktop version, thank goodnes. It's easier to lose track of what you have input in the website version.
 

Attachments

MGP

Well-Known Member
#74
I reinstalled my program. It gives the same EV's that k_c's does for upcard 10. I think it's having a problem with the ev's for the other hands since the ev is > 1.

I don't know why that would be the case for splits only but my guess is that somewhere in the calcs it's trying to divide by 0 or something.

So now there's 1 bug that I know of...
 

iCountNTrack

Well-Known Member
#75
ericfarmer said:
I think there are (at least) a couple of possible issues here, and I am not sure yet which is the dominant effect for these shoes we are testing.

One obvious possibility that may be causing differences between our results is the selection of post-split strategy. We each have slightly different sets of options in our CAs: iCountNTrack does optimal strategy; I can do CDZ-, CDP1, or CDP; I think k_c can do CDZ- or CDP1 (although there may be others as well, I'm not quite sure here); and MGP can do CDZ-, CDP, or CDPN.

I think there are a few interesting things going on with those various options. For example, in some of the shoes discussed today where my results differ from MGP's using CDZ-, they agree using CDP, which make me suspicious of my (or his, but mine first) post-split application of "remembered" pre-split strategy.

But before diving into that, I think it might be useful to start with the other issue, namely some "edge effects" of these small shoe sizes. There are some convenient small shoes that (1) allow by-hand calculation of at least some of the relevant EVs, and (2) do not have any of the post-split strategy variations above that make comparisons between our CAs trickier. If we can get on the same page with shoes like this, then we can move on to the more complex shoes with post-split strategy variations.

For example, consider a shoe with one 2, one 6, and thirteen 10s (S17, DAS, SPL3). If we are splitting 10s against either a dealer 2 or a 6, then we should be able to work out these EVs by hand. Looking at our CAs, though, right now it seems that only iCountNTrack gets this right (the following is from a tentative fix to my code):

Code:
Enter dealer up card and player hand (Ctrl-C to exit): 2 2 10 10

Stand      E(X) =  100.000000000%
Hit        E(X) = -100.000000000%
Double     E(X) = -200.000000000%
Split      E(X) =  400.000000000%

Enter dealer up card and player hand (Ctrl-C to exit): 6 2 10 10

Stand      E(X) =  100.000000000%
Hit        E(X) = -100.000000000%
Double     E(X) = -200.000000000%
Split      E(X) =  400.000000000%
My CA, MGP's, and k_c's all choke on this, but for seemingly different reasons in each case. For what it's worth, following is my very tentative calculation of overall and per-up-card EV (again, this was for both CDZ- and CDP, since I'm pretty sure there are no post-split strategy variations).

Code:
    Up  |
   card | Overall expected value (%)
---------------------------------
     2  |  357.142857143
     3  |    0.000000000
     4  |    0.000000000
     5  |    0.000000000
     6  |  357.142857143
     7  |    0.000000000
     8  |    0.000000000
     9  |    0.000000000
    10  |  -10.989010989
     A  |    0.000000000
---------------------------------
  Total |   38.095238095
Any thoughts?
From the looks of it, it seems that my CA gives identical results with fixed strategies when there are no possible strategy variations. This is almost always true for one split and always true for shoe compositions where variations are not possible. However I have been consistently getting different results than other CAs with 2 and 3 splits, variations will be possible since more cards will be drawn to split hands, causing strategy variations.
However as you mention we need to be careful when working with depleted decks, especially in regards to running out of cards. I have no idea what my code will do in that case. Best thing is to leave a good number of 10s in the deck.
I have no idea how we could advance from here on. Maybe you can a CA with optimal post-split strategy for a selected shoe composition where there would be strategy variation and then we can compare against my CA?
 
#76
iCountNTrack said:
From the looks of it, it seems that my CA gives identical results with fixed strategies when there are no possible strategy variations. This is almost always true for one split and always true for shoe compositions where variations are not possible. However I have been consistently getting different results than other CAs with 2 and 3 splits, variations will be possible since more cards will be drawn to split hands, causing strategy variations.
However as you mention we need to be careful when working with depleted decks, especially in regards to running out of cards. I have no idea what my code will do in that case. Best thing is to leave a good number of 10s in the deck.
I have no idea how we could advance from here on. Maybe you can a CA with optimal post-split strategy for a selected shoe composition where there would be strategy variation and then we can compare against my CA?
Agree that we need to be careful about which shoes we test. Unfortunately, extra 10s don't always help; at least with my and MGP's CAs, problems arise even with thousands of 10s, with that single 2 and single 6 added. I think I understand the problem, though, and I'm working on testing a fix.

In the meantime, as I mentioned earlier, both MGP and I get the same results for CDP with all of the shoes mentioned so far; but there are sometimes differences with CDZ-. So my next plan is to try to enumerate (and I will post here) all individual hand post-split strategy variations that I am applying, for a shoe TBD. I have no idea if this is a long list or not, we'll see.
 

k_c

Well-Known Member
#77
ericfarmer said:
Agree that we need to be careful about which shoes we test. Unfortunately, extra 10s don't always help; at least with my and MGP's CAs, problems arise even with thousands of 10s, with that single 2 and single 6 added. I think I understand the problem, though, and I'm working on testing a fix.

In the meantime, as I mentioned earlier, both MGP and I get the same results for CDP with all of the shoes mentioned so far; but there are sometimes differences with CDZ-. So my next plan is to try to enumerate (and I will post here) all individual hand post-split strategy variations that I am applying, for a shoe TBD. I have no idea if this is a long list or not, we'll see.
Just for my own information could you define what CDP is and do you consider it to be a fixed strategy?
Thanks.
 

MGP

Well-Known Member
#78
It's not exactly fixed. To calculate CDP do the following:

1) Calculate the CD strategy for a full shoe.
2) Calculate the CD strategy with 1 P card removed
3) Repeat 2 for up to 3 P cards removed.
4) For each shoe state use the appropriate strategy with the correct number of paircards removed. So for example the strategy for -PNNN is potentially different than that for -PPxxx but would be the same as for -NPNN
 

k_c

Well-Known Member
#79
iCountNTrack said:
From the looks of it, it seems that my CA gives identical results with fixed strategies when there are no possible strategy variations. This is almost always true for one split and always true for shoe compositions where variations are not possible. However I have been consistently getting different results than other CAs with 2 and 3 splits, variations will be possible since more cards will be drawn to split hands, causing strategy variations.
However as you mention we need to be careful when working with depleted decks, especially in regards to running out of cards. I have no idea what my code will do in that case. Best thing is to leave a good number of 10s in the deck.
I have no idea how we could advance from here on. Maybe you can a CA with optimal post-split strategy for a selected shoe composition where there would be strategy variation and then we can compare against my CA?
I can give one example where optimal play would vary from fixed strategy play when only one split is made but I'm sure there are more.

Say a pair of 8s are split versus a dealer 7 dealt from 2 full decks. On the first hand player draws 4-1-1-1-1 so his full hand is 8-4-1-1-1-1. Correct strategy is to hit, so player draws. Possible draws are 1,2,3,4,5,6,7,8,9,10.

On the second hand player again draws 4-1-1-1-1 for a hand of 8-4-1-1-1-1. (If player draws an ace on the first 8-4-1-1-1-1 then this hand is not possible.) However, at this point no more aces remain, 2 4s are removed, 2 8s are removed, and the hit card that was drawn on the first hand is also removed. The best strategy for the second hand is to stand, which differs from the strategy of the first hand.

So if a fixed strategy is used that has determined 8-4-1-1-1-1 vs 7 should be hit then both hands would be hit even though EV is greater for hitting the first and standing on the second.

Optimal strategy is to hit the first hand and stand on the second, which increases EV to its maximum value.
 

MGP

Well-Known Member
#80
ericfarmer said:
Agree that we need to be careful about which shoes we test. Unfortunately, extra 10s don't always help; at least with my and MGP's CAs, problems arise even with thousands of 10s, with that single 2 and single 6 added. I think I understand the problem, though, and I'm working on testing a fix.

In the meantime, as I mentioned earlier, both MGP and I get the same results for CDP with all of the shoes mentioned so far; but there are sometimes differences with CDZ-. So my next plan is to try to enumerate (and I will post here) all individual hand post-split strategy variations that I am applying, for a shoe TBD. I have no idea if this is a long list or not, we'll see.
If you have an old Excel 2003 my program should list every exception including post-split exceptions. You can also see them in the analysis I believe. There shouldn't be any differences with CDZ. It's simply the CD strat applied to all post-split hands.
 
Top