Blackjack probability that the dealer busts given a starting hand

1.1k Views Asked by At

I'm back with another blackjack question, this time it's (hopefully) a bit more streamlined and it actually considers some probability and whatnot.

My assumptions:

  • Infinitely many decks so the probabilities for drawing a particular card are always the same

  • Dealer hits on a soft 17, meaning Ace + 6 is not enough to conclude a round

  • Remaining cards are not known

For each possible up card of the dealer, the hidden card can be anything from a $1$ through a king, where $10$, Jack, Queen and King all have the value of $10$, so there's not much to worry about those chances when dealing with infinitely many decks. I tried to represent this as a decision tree where each branch leads to a new total, i.e. the value of the drawn card added onto the current total.

An image for reference: enter image description here

I tried to extract a formula out of this decision tree and I came up with this:

$P(\text{bust}|x)=P(\text{bust on next draw}|x) + \sum \limits_{i \in D} P(\text{draw } i)\cdot{P(\text{bust}|x+i)}$

Where $D = \{ 1,2,3,4,5,6,7,8,9,10,10,10,10 \}$.

Notationally it's a bit wonky but judging from the image above you can probably tell that it's supposed to represent the total probability of busting, i.e. the probability of busting on the next draw given your total is $x$ plus the added probability of busting on subsequent draws as long as the round is not concluded -- rounds that conclude without the dealer busting are marked with a green check mark.

So I guess these are my questions:

  1. Is this strategy correct for all possible dealer starting hands in blackjack, meaning $H_{start} \in [2,21]$?

  2. How could I extend this to accommodate for soft totals? Does it even work out differently?

  3. How could I extend these probabilities to accommodate a finite number of decks?

EDIT 1: I will share the code I used to generate the numbers (Python 3)

def P_bust(n):
    '''
    Probability that starting with 'n' leads to a bust
    '''
    if n < 17:
        p_sum = 0
        choices = [i+1 for i in range(9)] + [10, 10, 10, 10]
        for choice in choices:
            p_sum += P_bust(n + choice)/13
        return p_sum
    elif 16 < n < 22:
        return 0
    else:
        return 1

I then create a dictionary with the probabilities where its keys are the possible dealer hands, their respective values being the probability to bust within the round.

1

There are 1 best solutions below

6
On

As discussed in this blog post, you can calculate the absorption probability $\pi_{i,j}$ that the dealer eventually reaches state $j$, starting from state $i$, via the following linear recurrence relations, where $p_{i,j}$ is the one-step transition probability from state $i$ to state $j$.

\begin{align} \pi_{i,j} &= \sum_k p_{i,k} \pi_{k,j} &&\text{for all $i$ and $j$}\\ \pi_{i,i} &= 1 &&\text{for $i\in\{17,18,19,20,21,\text{bust}\}$}\\ \sum_j \pi_{i,j} &= 1 &&\text{for all $i$}\\ \pi_{i,j} &\ge 0 &&\text{for all $i$ and $j$} \end{align}

The resulting values are shown here: dealer absorption probabilities