I suppose at this point we should acknowledge to the OP that we've moved away from the original question that started this thread. (Although if it helps, we are indeed still talking about MGP's CA, not k_c's.)

Quote Originally Posted by dogman_1234 View Post
---SPLIT 22 v 6---
[22] -> {2x, 2x}; deck:[4 2 4 4 4 3 4 4 4 16]

---Remove 2 and draw first rank---
{2x, 2x}; deck[4 2 4 4 4 3 4 4 4 16] -> {2x, 2A}; deck:[3 2 4 4 4 3 4 4 4 16]

---Compute 2A, then go to left-most 2x to compute it's conditional expectations---
{2x, 2A}; deck[3 2 4 4 4 3 4 4 4 16] -> {2A, 2A}; deck:[2 2 4 4 4 3 4 4 4 16]

---Snip---

What should be apparent here is that the given deck subset is different for each given pair hand after split; even when the overall substance for each hand is similar. The Expectations for the right most 2A is:

2A v 6
deck:[4 3 4 4 4 4 4 4 4 16]:: *we have removed the left-most deuce from the deck*
Stand: -9.587
Hit: 17.82
Double: 26.25

The Expectation for the left-most 2A is:

2A v 6
deck[3 3 4 4 4 4 4 4 4 16]:: *we removed the right-most cards [2A] from the deck*
Stand: -6.556
Hit: 19.22
Double: 30.24


While our overall strategy does not change (that is the given decision is to double/draw for DAS/nDAS,) our overall expectation would be different rather than taking the product of the split hand with it's pair card removed and timing it by 2.
But it's not different; the above is more work than we need to compute the expected value of splitting without resplitting. Let's use your example of splitting 2-2 vs. dealer 6, in single deck with S17 SPL1, and let's assume nDAS to simplify the "brute force" calculations. We are assuming CDZ- playing strategy, which in this case is to hit any hand drawn to the split.

First, hopefully we can agree that the overall CDZ- expected value of splitting 2-2 vs. 6 is 0.1189818683947885 (as a fraction of initial wager). This can be confirmed by any of the accessible CA's (e.g., mine, MGP's, or k_c's).

We can compute this value as 2E[X;1], where E[X;1] is the expected value of:

1. Starting with the full single deck, removing the dealer's up card, and two pair cards.
2. Randomly draw a card to yield a split hand, e.g., drawing an ace yields the hand 2-A.
3. Play out that single "half" of the split and note the outcome.

The random draw in steps 2 and 3 means that we must evaluate each possible card drawn to the single half of the split:

Code:
P(draw 1) = 0.081632653061224483
    E(hit) = 0.1782246889194101
P(draw 2) = 0.040816326530612242
    E(hit) = 0.046675159884156783
P(draw 3) = 0.081632653061224483
    E(hit) = 0.033124919547275714
P(draw 4) = 0.081632653061224483
    E(hit) = 0.02672233027248045
P(draw 5) = 0.081632653061224483
    E(hit) = 0.082372375465304196
P(draw 6) = 0.061224489795918366
    E(hit) = 0.1387543650852183
P(draw 7) = 0.081632653061224483
    E(hit) = 0.21256816781977234
P(draw 8) = 0.081632653061224483
    E(hit) = 0.32250214058632209
P(draw 9) = 0.081632653061224483
    E(hit) = 0.36250247649994238
P(draw 10) = 0.32653061224489793
    E(hit) = -0.15416412723710496
Weighted sum     = 0.059490934197394249
Overall E(split) = 0.1189818683947885
It's important to note that this isn't just computational convenience. That is, it's not that we simply "get the same answer" by doing the calculation this way. The expected outcome of the two halves of the split are indeed identical.

And even for resplitting, we can similarly take advantage of that same linearity of expectation by "grouping" the various possible split/resplit outcomes according to the "pattern" of number of pair-cards and non-pair-cards drawn to the split hands (weighted by the number of ways that each such pattern can occur). For example, consider SPL3: among those outcomes where we only split 2-2 once (i.e., we draw a non-deuce to both halves of the split), let X be the outcome of the first half of such a split, and Y be the outcome of the second half of such a split. Then E[X]=E[Y]. See this paper for more details on how we can use this to efficiently (and still exactly) compute split EVs. (This is how my CA does it, for example.)

Eric

P.S. Following is the example code using my CA to illustrate how we can compute the values in the above example:

Code:
#include "blackjack.h"
#include <iostream>
#include <iomanip>

int main()
{
    std::cout << std::setprecision(17);

    // Assume SD, S17, nDAS, SPL1.
    BJShoe shoe(1);
    BJRules rules(false, true, true, true, false, false, false, false, false);
    BJStrategy cdz;
    BJProgress progress;
    BJPlayer *basic = new BJPlayer(shoe, rules, cdz, progress);

    // Evaluate split 2-2 vs. 6 by considering each possible single drawn card.
    int pair_card = 2, up_card = 6;
    double ev_split = 0;
    BJHand hand;
    hand.deal(pair_card);
    shoe.deal(pair_card);
    BJPlayer *split = new BJPlayer(shoe, rules, cdz, progress);
    shoe.deal(pair_card);
    shoe.deal(up_card);
    for (int draw = 1; draw <= 10; ++draw)
    {
        hand.deal(draw);
        double p = shoe.getProbability(draw);
        int strategy = basic->getOption(hand, up_card, true, false, false);
        double ev_draw = (strategy == BJ_STAND ?
                split->getValueStand(hand, up_card) :
                split->getValueHit(hand, up_card));
        ev_split += p * ev_draw;
        std::cout << "P(draw " << draw << ") = " << p << std::endl;
        std::cout << "    E(" << (strategy == BJ_STAND ? "stand" : "hit") <<
            ") = " << ev_draw << std::endl;
        hand.undeal(draw);
    }
    std::cout << "Weighted sum     = " << ev_split << std::endl;
    std::cout << "Overall E(split) = " << 2 * ev_split << std::endl;
    delete basic;
    delete split;
}