Determinar probabilidades varias con un mazo de 52 cartas
El objetivo de este juego es sumar 21 puntos o no pasarse de esta cifra, pero siempre sobrepasando el valor que tiene el crupier para ganar la apuesta. Las cartas del 2 al 10 valen su valor natural; las cartas J, Q y K también valen 10 y el as vale 1 u 11 según la conveniencia del jugador y para efecto de esta simulación su valor es 11 y nada más que 11.[ http://juegabien.co/blackjack/]
library(dplyr)
## Warning: package 'dplyr' was built under R version 3.6.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(knitr)
## Warning: package 'knitr' was built under R version 3.6.3
library(gtools)
## Warning: package 'gtools' was built under R version 3.6.3
source("mis.funciones.r")
carta1 <- f.repartir.cartas()
carta2 <- f.repartir.cartas()
paste("La Primer carta que salió es : ",carta1)
## [1] "La Primer carta que salió es : 2"
paste("La Segunada carta que salió es : ",carta2)
## [1] "La Segunada carta que salió es : 3"
paste("Los puntos sumando las dos cartas es : ", f.determinar.puntos(carta1) + f.determinar.puntos(carta2))
## [1] "Los puntos sumando las dos cartas es : 5"
n <- length(mazo)
n
## [1] 52
paste("El número de cartas probable es ", 1)
## [1] "El número de cartas probable es 1"
prob <- 1 / n * 100 # Porcentuales
paste("La probabilidad es ", round(prob,2), "%")
## [1] "La probabilidad es 1.92 %"
# K
cuantas <- length(mazo[which(mazo == 'K')])
paste("El número de cartas probable es ", cuantas)
## [1] "El número de cartas probable es 4"
prob <- cuantas / n * 100
paste("La probabilidad es ", round(prob,2), "%")
## [1] "La probabilidad es 7.69 %"
# A
cuantas <- length(mazo[which(mazo == 'A')])
paste("El número de cartas probable es ", cuantas)
## [1] "El número de cartas probable es 4"
prob <- cuantas / n * 100
paste("La probabilidad es ", round(prob,2), "%")
## [1] "La probabilidad es 7.69 %"
cuantas <- length(mazo[which(mazo == '10' | mazo == 'J' | mazo == 'Q' | mazo == 'K')])
cuantas
## [1] 16
paste("El número de cartas probable es ", cuantas)
## [1] "El número de cartas probable es 16"
prob <- cuantas / n * 100
paste("La probabilidad es ", round(prob,2), "%")
## [1] "La probabilidad es 30.77 %"
Con la función kable(), es otra manera de ver data.frame más amigable, se aprovecha la librería knitr
El número de casos ahora totales es: $ Pr = n! / (n-r)!$, total de permutaciones con repetición
casos <- data.frame(permutations(13,2,baraja, repeats.allowed = TRUE))
names(casos) <- c("C1", "C2")
kable(casos)
| C1 | C2 |
|---|---|
| 10 | 10 |
| 10 | 2 |
| 10 | 3 |
| 10 | 4 |
| 10 | 5 |
| 10 | 6 |
| 10 | 7 |
| 10 | 8 |
| 10 | 9 |
| 10 | A |
| 10 | J |
| 10 | K |
| 10 | Q |
| 2 | 10 |
| 2 | 2 |
| 2 | 3 |
| 2 | 4 |
| 2 | 5 |
| 2 | 6 |
| 2 | 7 |
| 2 | 8 |
| 2 | 9 |
| 2 | A |
| 2 | J |
| 2 | K |
| 2 | Q |
| 3 | 10 |
| 3 | 2 |
| 3 | 3 |
| 3 | 4 |
| 3 | 5 |
| 3 | 6 |
| 3 | 7 |
| 3 | 8 |
| 3 | 9 |
| 3 | A |
| 3 | J |
| 3 | K |
| 3 | Q |
| 4 | 10 |
| 4 | 2 |
| 4 | 3 |
| 4 | 4 |
| 4 | 5 |
| 4 | 6 |
| 4 | 7 |
| 4 | 8 |
| 4 | 9 |
| 4 | A |
| 4 | J |
| 4 | K |
| 4 | Q |
| 5 | 10 |
| 5 | 2 |
| 5 | 3 |
| 5 | 4 |
| 5 | 5 |
| 5 | 6 |
| 5 | 7 |
| 5 | 8 |
| 5 | 9 |
| 5 | A |
| 5 | J |
| 5 | K |
| 5 | Q |
| 6 | 10 |
| 6 | 2 |
| 6 | 3 |
| 6 | 4 |
| 6 | 5 |
| 6 | 6 |
| 6 | 7 |
| 6 | 8 |
| 6 | 9 |
| 6 | A |
| 6 | J |
| 6 | K |
| 6 | Q |
| 7 | 10 |
| 7 | 2 |
| 7 | 3 |
| 7 | 4 |
| 7 | 5 |
| 7 | 6 |
| 7 | 7 |
| 7 | 8 |
| 7 | 9 |
| 7 | A |
| 7 | J |
| 7 | K |
| 7 | Q |
| 8 | 10 |
| 8 | 2 |
| 8 | 3 |
| 8 | 4 |
| 8 | 5 |
| 8 | 6 |
| 8 | 7 |
| 8 | 8 |
| 8 | 9 |
| 8 | A |
| 8 | J |
| 8 | K |
| 8 | Q |
| 9 | 10 |
| 9 | 2 |
| 9 | 3 |
| 9 | 4 |
| 9 | 5 |
| 9 | 6 |
| 9 | 7 |
| 9 | 8 |
| 9 | 9 |
| 9 | A |
| 9 | J |
| 9 | K |
| 9 | Q |
| A | 10 |
| A | 2 |
| A | 3 |
| A | 4 |
| A | 5 |
| A | 6 |
| A | 7 |
| A | 8 |
| A | 9 |
| A | A |
| A | J |
| A | K |
| A | Q |
| J | 10 |
| J | 2 |
| J | 3 |
| J | 4 |
| J | 5 |
| J | 6 |
| J | 7 |
| J | 8 |
| J | 9 |
| J | A |
| J | J |
| J | K |
| J | Q |
| K | 10 |
| K | 2 |
| K | 3 |
| K | 4 |
| K | 5 |
| K | 6 |
| K | 7 |
| K | 8 |
| K | 9 |
| K | A |
| K | J |
| K | K |
| K | Q |
| Q | 10 |
| Q | 2 |
| Q | 3 |
| Q | 4 |
| Q | 5 |
| Q | 6 |
| Q | 7 |
| Q | 8 |
| Q | 9 |
| Q | A |
| Q | J |
| Q | K |
| Q | Q |
n <- nrow(casos) # El número de opciones
n # Recordar fórmula de permutaciones
## [1] 169
Con mutate() para generar la columna que corresponde al valor numérico Si es A el valor es 11 * Si es J, Q K el valor es 10 * Cualquier otro valor es su correspondiente valor numérico * Para las cartas C1 y C2
casos <- casos %>%
mutate(valor1 = ifelse (C1 == "A", 11,
ifelse(C1 =="J" | C1 == "Q" | C1 == "K",
10,as.numeric(C1))))
casos <- casos %>%
mutate(valor2 = ifelse (C2 == "A", 11,
ifelse(C2 =="J" | C2 == "Q" | C2 == "K",
10,as.numeric(C2))))
casos <- casos %>%
mutate(suma = valor1 + valor2)
kable(casos)
| C1 | C2 | valor1 | valor2 | suma |
|---|---|---|---|---|
| 10 | 10 | 1 | 1 | 2 |
| 10 | 2 | 1 | 2 | 3 |
| 10 | 3 | 1 | 3 | 4 |
| 10 | 4 | 1 | 4 | 5 |
| 10 | 5 | 1 | 5 | 6 |
| 10 | 6 | 1 | 6 | 7 |
| 10 | 7 | 1 | 7 | 8 |
| 10 | 8 | 1 | 8 | 9 |
| 10 | 9 | 1 | 9 | 10 |
| 10 | A | 1 | 11 | 12 |
| 10 | J | 1 | 10 | 11 |
| 10 | K | 1 | 10 | 11 |
| 10 | Q | 1 | 10 | 11 |
| 2 | 10 | 2 | 1 | 3 |
| 2 | 2 | 2 | 2 | 4 |
| 2 | 3 | 2 | 3 | 5 |
| 2 | 4 | 2 | 4 | 6 |
| 2 | 5 | 2 | 5 | 7 |
| 2 | 6 | 2 | 6 | 8 |
| 2 | 7 | 2 | 7 | 9 |
| 2 | 8 | 2 | 8 | 10 |
| 2 | 9 | 2 | 9 | 11 |
| 2 | A | 2 | 11 | 13 |
| 2 | J | 2 | 10 | 12 |
| 2 | K | 2 | 10 | 12 |
| 2 | Q | 2 | 10 | 12 |
| 3 | 10 | 3 | 1 | 4 |
| 3 | 2 | 3 | 2 | 5 |
| 3 | 3 | 3 | 3 | 6 |
| 3 | 4 | 3 | 4 | 7 |
| 3 | 5 | 3 | 5 | 8 |
| 3 | 6 | 3 | 6 | 9 |
| 3 | 7 | 3 | 7 | 10 |
| 3 | 8 | 3 | 8 | 11 |
| 3 | 9 | 3 | 9 | 12 |
| 3 | A | 3 | 11 | 14 |
| 3 | J | 3 | 10 | 13 |
| 3 | K | 3 | 10 | 13 |
| 3 | Q | 3 | 10 | 13 |
| 4 | 10 | 4 | 1 | 5 |
| 4 | 2 | 4 | 2 | 6 |
| 4 | 3 | 4 | 3 | 7 |
| 4 | 4 | 4 | 4 | 8 |
| 4 | 5 | 4 | 5 | 9 |
| 4 | 6 | 4 | 6 | 10 |
| 4 | 7 | 4 | 7 | 11 |
| 4 | 8 | 4 | 8 | 12 |
| 4 | 9 | 4 | 9 | 13 |
| 4 | A | 4 | 11 | 15 |
| 4 | J | 4 | 10 | 14 |
| 4 | K | 4 | 10 | 14 |
| 4 | Q | 4 | 10 | 14 |
| 5 | 10 | 5 | 1 | 6 |
| 5 | 2 | 5 | 2 | 7 |
| 5 | 3 | 5 | 3 | 8 |
| 5 | 4 | 5 | 4 | 9 |
| 5 | 5 | 5 | 5 | 10 |
| 5 | 6 | 5 | 6 | 11 |
| 5 | 7 | 5 | 7 | 12 |
| 5 | 8 | 5 | 8 | 13 |
| 5 | 9 | 5 | 9 | 14 |
| 5 | A | 5 | 11 | 16 |
| 5 | J | 5 | 10 | 15 |
| 5 | K | 5 | 10 | 15 |
| 5 | Q | 5 | 10 | 15 |
| 6 | 10 | 6 | 1 | 7 |
| 6 | 2 | 6 | 2 | 8 |
| 6 | 3 | 6 | 3 | 9 |
| 6 | 4 | 6 | 4 | 10 |
| 6 | 5 | 6 | 5 | 11 |
| 6 | 6 | 6 | 6 | 12 |
| 6 | 7 | 6 | 7 | 13 |
| 6 | 8 | 6 | 8 | 14 |
| 6 | 9 | 6 | 9 | 15 |
| 6 | A | 6 | 11 | 17 |
| 6 | J | 6 | 10 | 16 |
| 6 | K | 6 | 10 | 16 |
| 6 | Q | 6 | 10 | 16 |
| 7 | 10 | 7 | 1 | 8 |
| 7 | 2 | 7 | 2 | 9 |
| 7 | 3 | 7 | 3 | 10 |
| 7 | 4 | 7 | 4 | 11 |
| 7 | 5 | 7 | 5 | 12 |
| 7 | 6 | 7 | 6 | 13 |
| 7 | 7 | 7 | 7 | 14 |
| 7 | 8 | 7 | 8 | 15 |
| 7 | 9 | 7 | 9 | 16 |
| 7 | A | 7 | 11 | 18 |
| 7 | J | 7 | 10 | 17 |
| 7 | K | 7 | 10 | 17 |
| 7 | Q | 7 | 10 | 17 |
| 8 | 10 | 8 | 1 | 9 |
| 8 | 2 | 8 | 2 | 10 |
| 8 | 3 | 8 | 3 | 11 |
| 8 | 4 | 8 | 4 | 12 |
| 8 | 5 | 8 | 5 | 13 |
| 8 | 6 | 8 | 6 | 14 |
| 8 | 7 | 8 | 7 | 15 |
| 8 | 8 | 8 | 8 | 16 |
| 8 | 9 | 8 | 9 | 17 |
| 8 | A | 8 | 11 | 19 |
| 8 | J | 8 | 10 | 18 |
| 8 | K | 8 | 10 | 18 |
| 8 | Q | 8 | 10 | 18 |
| 9 | 10 | 9 | 1 | 10 |
| 9 | 2 | 9 | 2 | 11 |
| 9 | 3 | 9 | 3 | 12 |
| 9 | 4 | 9 | 4 | 13 |
| 9 | 5 | 9 | 5 | 14 |
| 9 | 6 | 9 | 6 | 15 |
| 9 | 7 | 9 | 7 | 16 |
| 9 | 8 | 9 | 8 | 17 |
| 9 | 9 | 9 | 9 | 18 |
| 9 | A | 9 | 11 | 20 |
| 9 | J | 9 | 10 | 19 |
| 9 | K | 9 | 10 | 19 |
| 9 | Q | 9 | 10 | 19 |
| A | 10 | 11 | 1 | 12 |
| A | 2 | 11 | 2 | 13 |
| A | 3 | 11 | 3 | 14 |
| A | 4 | 11 | 4 | 15 |
| A | 5 | 11 | 5 | 16 |
| A | 6 | 11 | 6 | 17 |
| A | 7 | 11 | 7 | 18 |
| A | 8 | 11 | 8 | 19 |
| A | 9 | 11 | 9 | 20 |
| A | A | 11 | 11 | 22 |
| A | J | 11 | 10 | 21 |
| A | K | 11 | 10 | 21 |
| A | Q | 11 | 10 | 21 |
| J | 10 | 10 | 1 | 11 |
| J | 2 | 10 | 2 | 12 |
| J | 3 | 10 | 3 | 13 |
| J | 4 | 10 | 4 | 14 |
| J | 5 | 10 | 5 | 15 |
| J | 6 | 10 | 6 | 16 |
| J | 7 | 10 | 7 | 17 |
| J | 8 | 10 | 8 | 18 |
| J | 9 | 10 | 9 | 19 |
| J | A | 10 | 11 | 21 |
| J | J | 10 | 10 | 20 |
| J | K | 10 | 10 | 20 |
| J | Q | 10 | 10 | 20 |
| K | 10 | 10 | 1 | 11 |
| K | 2 | 10 | 2 | 12 |
| K | 3 | 10 | 3 | 13 |
| K | 4 | 10 | 4 | 14 |
| K | 5 | 10 | 5 | 15 |
| K | 6 | 10 | 6 | 16 |
| K | 7 | 10 | 7 | 17 |
| K | 8 | 10 | 8 | 18 |
| K | 9 | 10 | 9 | 19 |
| K | A | 10 | 11 | 21 |
| K | J | 10 | 10 | 20 |
| K | K | 10 | 10 | 20 |
| K | Q | 10 | 10 | 20 |
| Q | 10 | 10 | 1 | 11 |
| Q | 2 | 10 | 2 | 12 |
| Q | 3 | 10 | 3 | 13 |
| Q | 4 | 10 | 4 | 14 |
| Q | 5 | 10 | 5 | 15 |
| Q | 6 | 10 | 6 | 16 |
| Q | 7 | 10 | 7 | 17 |
| Q | 8 | 10 | 8 | 18 |
| Q | 9 | 10 | 9 | 19 |
| Q | A | 10 | 11 | 21 |
| Q | J | 10 | 10 | 20 |
| Q | K | 10 | 10 | 20 |
| Q | Q | 10 | 10 | 20 |
cuales <- filter(casos, suma == 20)
cuantas <- nrow(cuales)
paste("El número de casos probable es que la suma sea 20 es: ", cuantas)
## [1] "El número de casos probable es que la suma sea 20 es: 11"
prob <- cuantas / n * 100
paste("La probabilidad es ", round(prob,2), "%")
## [1] "La probabilidad es 6.51 %"
cuales <- filter(casos, suma <= 10)
cuantas <- nrow(cuales)
paste("El número de casos probable para suma menor o igual a 10 es:", cuantas)
## [1] "El número de casos probable para suma menor o igual a 10 es: 45"
prob <- cuantas / n * 100
paste("La probabilidad es ", round(prob,2), "%")
## [1] "La probabilidad es 26.63 %"
cuales <- filter(casos, suma < 5)
cuantas <- nrow(cuales)
paste("El número de casos probable para suma menor a 5 es:", cuantas)
## [1] "El número de casos probable para suma menor a 5 es: 6"
prob <- cuantas / n * 100
paste("La probabilidad es ", round(prob,2), "%")
## [1] "La probabilidad es 3.55 %"
casos %>%
arrange(desc(suma) )
## C1 C2 valor1 valor2 suma
## 1 A A 11 11 22
## 2 A J 11 10 21
## 3 A K 11 10 21
## 4 A Q 11 10 21
## 5 J A 10 11 21
## 6 K A 10 11 21
## 7 Q A 10 11 21
## 8 9 A 9 11 20
## 9 A 9 11 9 20
## 10 J J 10 10 20
## 11 J K 10 10 20
## 12 J Q 10 10 20
## 13 K J 10 10 20
## 14 K K 10 10 20
## 15 K Q 10 10 20
## 16 Q J 10 10 20
## 17 Q K 10 10 20
## 18 Q Q 10 10 20
## 19 8 A 8 11 19
## 20 9 J 9 10 19
## 21 9 K 9 10 19
## 22 9 Q 9 10 19
## 23 A 8 11 8 19
## 24 J 9 10 9 19
## 25 K 9 10 9 19
## 26 Q 9 10 9 19
## 27 7 A 7 11 18
## 28 8 J 8 10 18
## 29 8 K 8 10 18
## 30 8 Q 8 10 18
## 31 9 9 9 9 18
## 32 A 7 11 7 18
## 33 J 8 10 8 18
## 34 K 8 10 8 18
## 35 Q 8 10 8 18
## 36 6 A 6 11 17
## 37 7 J 7 10 17
## 38 7 K 7 10 17
## 39 7 Q 7 10 17
## 40 8 9 8 9 17
## 41 9 8 9 8 17
## 42 A 6 11 6 17
## 43 J 7 10 7 17
## 44 K 7 10 7 17
## 45 Q 7 10 7 17
## 46 5 A 5 11 16
## 47 6 J 6 10 16
## 48 6 K 6 10 16
## 49 6 Q 6 10 16
## 50 7 9 7 9 16
## 51 8 8 8 8 16
## 52 9 7 9 7 16
## 53 A 5 11 5 16
## 54 J 6 10 6 16
## 55 K 6 10 6 16
## 56 Q 6 10 6 16
## 57 4 A 4 11 15
## 58 5 J 5 10 15
## 59 5 K 5 10 15
## 60 5 Q 5 10 15
## 61 6 9 6 9 15
## 62 7 8 7 8 15
## 63 8 7 8 7 15
## 64 9 6 9 6 15
## 65 A 4 11 4 15
## 66 J 5 10 5 15
## 67 K 5 10 5 15
## 68 Q 5 10 5 15
## 69 3 A 3 11 14
## 70 4 J 4 10 14
## 71 4 K 4 10 14
## 72 4 Q 4 10 14
## 73 5 9 5 9 14
## 74 6 8 6 8 14
## 75 7 7 7 7 14
## 76 8 6 8 6 14
## 77 9 5 9 5 14
## 78 A 3 11 3 14
## 79 J 4 10 4 14
## 80 K 4 10 4 14
## 81 Q 4 10 4 14
## 82 2 A 2 11 13
## 83 3 J 3 10 13
## 84 3 K 3 10 13
## 85 3 Q 3 10 13
## 86 4 9 4 9 13
## 87 5 8 5 8 13
## 88 6 7 6 7 13
## 89 7 6 7 6 13
## 90 8 5 8 5 13
## 91 9 4 9 4 13
## 92 A 2 11 2 13
## 93 J 3 10 3 13
## 94 K 3 10 3 13
## 95 Q 3 10 3 13
## 96 10 A 1 11 12
## 97 2 J 2 10 12
## 98 2 K 2 10 12
## 99 2 Q 2 10 12
## 100 3 9 3 9 12
## 101 4 8 4 8 12
## 102 5 7 5 7 12
## 103 6 6 6 6 12
## 104 7 5 7 5 12
## 105 8 4 8 4 12
## 106 9 3 9 3 12
## 107 A 10 11 1 12
## 108 J 2 10 2 12
## 109 K 2 10 2 12
## 110 Q 2 10 2 12
## 111 10 J 1 10 11
## 112 10 K 1 10 11
## 113 10 Q 1 10 11
## 114 2 9 2 9 11
## 115 3 8 3 8 11
## 116 4 7 4 7 11
## 117 5 6 5 6 11
## 118 6 5 6 5 11
## 119 7 4 7 4 11
## 120 8 3 8 3 11
## 121 9 2 9 2 11
## 122 J 10 10 1 11
## 123 K 10 10 1 11
## 124 Q 10 10 1 11
## 125 10 9 1 9 10
## 126 2 8 2 8 10
## 127 3 7 3 7 10
## 128 4 6 4 6 10
## 129 5 5 5 5 10
## 130 6 4 6 4 10
## 131 7 3 7 3 10
## 132 8 2 8 2 10
## 133 9 10 9 1 10
## 134 10 8 1 8 9
## 135 2 7 2 7 9
## 136 3 6 3 6 9
## 137 4 5 4 5 9
## 138 5 4 5 4 9
## 139 6 3 6 3 9
## 140 7 2 7 2 9
## 141 8 10 8 1 9
## 142 10 7 1 7 8
## 143 2 6 2 6 8
## 144 3 5 3 5 8
## 145 4 4 4 4 8
## 146 5 3 5 3 8
## 147 6 2 6 2 8
## 148 7 10 7 1 8
## 149 10 6 1 6 7
## 150 2 5 2 5 7
## 151 3 4 3 4 7
## 152 4 3 4 3 7
## 153 5 2 5 2 7
## 154 6 10 6 1 7
## 155 10 5 1 5 6
## 156 2 4 2 4 6
## 157 3 3 3 3 6
## 158 4 2 4 2 6
## 159 5 10 5 1 6
## 160 10 4 1 4 5
## 161 2 3 2 3 5
## 162 3 2 3 2 5
## 163 4 10 4 1 5
## 164 10 3 1 3 4
## 165 2 2 2 2 4
## 166 3 10 3 1 4
## 167 10 2 1 2 3
## 168 2 10 2 1 3
## 169 10 10 1 1 2