Я пытаюсь написать математическую функцию для вычисления вероятности выигрыша или проигрыша игрока.Блэкджек Математическая функция
Предположим, что мы играем в блэкджек только одна колоде (52 карт) и первый пример стороны такова:
The player has `7 and 5`
Dealer has `6`
Здесь мне нужно Calculate, если игрок stands
, что является probibility дилеров выиграть?
дилер может выиграть, если общая стоимость карты 17 < = х < = 21
я могу вычислить это с помощью следующего кода, но это очень неэффективно для 6 колод.
def subset_sum(numbers, target, target2, partial=[]):
s = sum(partial)
# check if the partial sum is equals to target
if s >= target and s <= target2:
print partial
if s >= target:
return # if we reach the number why bother to continue
for i in range(len(numbers)):
n = numbers[i]
remaining = numbers[i+1:]
subset_sum(remaining, target, target2, partial + [n])
Я ищу математическую функцию, которая вычисляет вероятность и возвращает ее.
def get_prob(deck, small_number, big_number):
return prob
В нашем примере, дилер имеет 6 так небольшое количество будет 17-6=11
и большое число 21-6=15
.
5,6,7 используются в первой руке так, моя колода теперь так:
dec = [1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]
С этими номерами, dealer has 6 so small number is 17-6 = 11 and 21-6 = 15
def get_prob(dec,11,15):
return prob
Проблема: какова вероятность того, что сумма карт составит от 11 до 15?
Возможна комбинация (возможно, только уникальная)? – dsgdfg
Конечно, только уникальные. [6,5] и [5,6] - это то же самое.Это не должно быть в два раза @SDilmac –
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он задает математическую функцию вероятности. Это лучше подходит для математики SE. – DPenner1