See the top rated post in this thread. Click here

# Thread: ENHC surrender 88 vs 10 or A

1. Did you find this post helpful? Yes | No
Originally Posted by Gramazeka
Ok , composite ?. 14 vs T what you have ? ES. I have -0.7
 Hand Algebraic Index T,4 v T -0.5920 -0.6 9,5 v T -0.5156 -0.5 8,6 v T -0.6973 -0.7 7,7 v T -1.4720 -1.5

Or: Early Surrender 14 v T if TC equals or greater than -1 (simulated)

Not too bad, considering that all this was computed by yours truly 19 years ago.

C´mon guys. Admit it!

Zenfighter

2. Did you find this post helpful? Yes | No
Originally Posted by Zenfighter
 Hand Algebraic Index T,4 v T -0.5920 -0.6 9,5 v T -0.5156 -0.5 8,6 v T -0.6973 -0.7 7,7 v T -1.4720 -1.5

Or: Early Surrender 14 v T if TC equals or greater than -1 (simulated)

Not too bad, considering that all this was computed by yours truly 19 years ago.

C´mon guys. Admit it!

Zenfighter
I understand that now you have to average the index according to the probabilities of the hands to get an index of 14 vs 10 ?

3. Did you find this post helpful? Yes | No
Originally Posted by Gramazeka
I understand that now you have to average the index according to the probabilities of the hands to get an index of 14 vs 10 ?
Yes, if you would like a single, generic index for 14 vs. T, without regard to the composition of the hand.

Don

4. Did you find this post helpful? Yes | No
Originally Posted by Gramazeka
I understand that now you have to average the index according to the probabilities of the hands to get an index of 14 vs 10 ?
Or, if you don't want to get too complicated, you could calculate a generic index for 14vT. For this, instead of calculating the index of each particular hand and then averaging,
you can simply remove a T from the pack and calculate the index of a generic 14 (this takes into account all possible 14s).

Sincerely,
Cac

5. Did you find this post helpful? Yes | No
Originally Posted by Cacarulo
This is what I get now for ENHC:

Code:
```Standing  =  -56.65807149255014% |  -56.65807149255014%
Hitting   =  -22.12141526286563% |  -22.12141526286563%
Doubling  =  -58.83294803078072% |  -58.83294803078072%
Surrender =  -50.00000000000000% |  -53.06122448979592%
```
Note that the conditional values can be used for ES and the unconditional values for LS.
Do we agree now?

Sincerely,
Cac

Conditional late surrender EV is always -.5. Conditional or unconditional early surrender EV is always -.5.
Conditional EVs can be used to determine strategy (if not no peek) but at some point the fact that dealer may have BJ must be taken into consideration so in that sense they are not permanent. Unconditional EVs can be used to compute strategy as well and are the actual value of the hand. Below computes unconditional EV given conditional EV is known, which is the way traditionally done.

let cev = conditional EV assuming dealer does not have BJ
let ucev = unconditional EV where player non-BJ loses to dealer BJ
let PDBJ = probability of dealer BJ

Code:
```                 peek                             no peek

stand            ucev = cev - pDBJ*(1 + cev)      ucev = cev - pDBJ*(1 + cev)
hit              ucev = cev - pDBJ*(1 + cev)      ucev = cev - pDBJ*(1 + cev)
double           ucev = cev - pDBJ*(1 + cev)      ucev = cev - pDBJ*(2 + cev)
split            ucev = cev - pDBJ*(1 + cev)      ucev = cev - pDBJ*(num expected hands + cev)
late surrender   ucev = cev - pDBJ*(1 + cev)      ucev = cev - pDBJ*(1 + cev)
early surrender  ucev = -.5                       ucev = -.5

LS cev = -.5 for both peek & no peek
ES cev = ucev = -.5 for both peek & no peek```

In order to compute num expected hands for splits recursive function could be used.

Code:
```pCards = number of pair cards which is always initially 2
remSp = number of remaining splits = number of allowed splits - 1
p = number of pair cards present after initial pair and up card have been dealt
np = number of non-pair cards present after initial pair and up card have been dealt

double getSplitHands(const int &pCards, const int &remSp, const int &p, const int &np)
{
if (p == 0 || remSp == 0)
return double(pCards);

double hands;
double pP = double(p) / (p + np);

if (pCards >= 2) {
hands = pP * getSplitHands(pCards + 1, remSp - 1, p - 1, np);
hands += (1 - pP) * (getSplitHands(pCards - 1, remSp, p, np - 1) + 1);
}
else { // if (pCards == 1)
hands = pP * getSplitHands(2, remSp - 1, p - 1, np);
hands += (1 - pP);
}

return hands;
}

Example 8-8 versus T single deck:
p=2, np=47
allowed splits = 1, remSp=0; hands = getSplitHands(2,0,2,47) = 2
allowed splits = 2, remSp=1; hands = getSplitHands(2,1,2,47) = 2.0807823129
allowed splits = 3, remSp=2; hands = getSplitHands(2,2,2,47) = 2.0850340136```
What I do is to initially compute unconditional EVs. All strategies can be determined from this. It is unnecessary to use conditional EVs but I can compute then from the unconditional EVs and that's what I do to relate.

k_c

6. Did you find this post helpful? Yes | No
Originally Posted by DSchles
The new book is now available on Kindle!

Don
May I know the content/chapter/topic of your new book ?

7. Did you find this post helpful? Yes | No

Page 8 of 8 First ... 678

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•