Objetivo.

Determinar probabilidades de que salgan cartas de un tipo en un mazo de cartas cuando se reparten al principio dos cartas

Descripción

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/]

    1. Cargar librerías
    1. Cargar las cartas con función previamente preparda
    1. Repartir una carta y deterinar los puntos de las dos cartas
    1. Determinar probabilidades
    • 4.1. ¿Cuál es la probabilidad de que salga exactamente el 7 de corazones rojos en la primer carta?
    • 4.2 ¿Cuál es la probabilidad de que salga un Rey de cualquier figura en la primer carta?
    • 4.3. ¿Cuál es la probabilidad de que salga un As en la primer carta repartida?
    • 4.4. ¿Cuál es la probabilidad de que en la primer carta se tengan 10 puntos?
    • 4.5. ¿Cuál es la la probabilidad de que la suma de las dos cartas sea exactamente 20?
    • 4.6. Cuál es la probabilidad de que en las dos cartas sumando sus puntos sea menor o igual que 10?
    • 4.7. ¿Cuál es la probabilidad de que en las dos cartas sea un valor menor a 5?
    • 4.8. ¿Cuál de las combinaciones con la suma de los puntos de las cartas tiene la más alta probabilidad de salir?, es decir, 8, 9, 10, 11, 12…. Cuál puntuación de a suma de las dos cartas es la mas frecuente?

1 Las librerías

library(dplyr)
library(knitr)
library(gtools)
include_graphics("../imagenes/ases.baraja.png")

2. Cargar cartas

source("../funciones/mis.funciones.r")

3. Repartir una carta y determinar los puntos sumandos los valores de las dos cartas

carta1 <- f.repartir.cartas()
carta2 <- f.repartir.cartas()
paste("La Primer carta que salió es : ",carta1)
## [1] "La Primer carta que salió es :  Q"
paste("La Segunada carta que salió es : ",carta2)
## [1] "La Segunada carta que salió es :  5"
paste("Los puntos sumando las dos cartas es : ", f.determinar.puntos(carta1) + f.determinar.puntos(carta2))
## [1] "Los puntos sumando las dos cartas es :  15"

4. Determinar probabilidades

  • Datos iniciales, n para un mazo de 52 cartas
n <- length(mazo)
n
## [1] 52

4.1. ¿Cuál es la probabilidad de que salga exactamente el 7 de corazones rojos en la primer carta?

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 %"

4.2 ¿Cuál es la probabilidad de que salga un Rey de cualquier figura en la primer carta?

# 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 %"

4.3. ¿Cuál es la probabilidad de que salga un As en la primer carta repartida?

# 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 %"

4.4. ¿Cuál es la probabilidad de que en la primer carta se tengan 10 puntos?

  • 16 / 52
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 %"

4.5. ¿Cuál es la la probabilidad de que la suma de las dos cartas sea exactamente 20?

  • 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 10 10 20
10 2 10 2 12
10 3 10 3 13
10 4 10 4 14
10 5 10 5 15
10 6 10 6 16
10 7 10 7 17
10 8 10 8 18
10 9 10 9 19
10 A 10 11 21
10 J 10 10 20
10 K 10 10 20
10 Q 10 10 20
2 10 2 10 12
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 10 13
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 10 14
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 10 15
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 10 16
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 10 17
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 10 18
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 10 19
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 10 21
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 10 20
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 10 20
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 10 20
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
  • ¿En cuántas ocasiones las dos cartas suman 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:  18"
prob <- cuantas / n * 100
paste("La probabilidad es ", round(prob,2), "%")
## [1] "La probabilidad es  10.65 %"

4.6. Cuál es la probabilidad de que en las dos cartas sumando sus puntos sea menor o igual que 10?

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: 28"
prob <- cuantas / n * 100
paste("La probabilidad es ", round(prob,2), "%")
## [1] "La probabilidad es  16.57 %"

4.7. ¿Cuál es la probabilidad de que en las dos cartas sea un valor menor a 5?

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: 1"
prob <- cuantas / n * 100
paste("La probabilidad es ", round(prob,2), "%")
## [1] "La probabilidad es  0.59 %"

4.8. ¿Cuál de las combinaciones con la suma de los puntos de las cartas tiene la más alta probabilidad de salir?, es decir, 8, 9, 10, 11, 12…. Cuál puntuación de a suma de las dos cartas es la mas frecuente?

    • Se ordenan de
casos %>%
    arrange(desc(suma) )
##     C1 C2 valor1 valor2 suma
## 1    A  A     11     11   22
## 2   10  A     10     11   21
## 3    A 10     11     10   21
## 4    A  J     11     10   21
## 5    A  K     11     10   21
## 6    A  Q     11     10   21
## 7    J  A     10     11   21
## 8    K  A     10     11   21
## 9    Q  A     10     11   21
## 10  10 10     10     10   20
## 11  10  J     10     10   20
## 12  10  K     10     10   20
## 13  10  Q     10     10   20
## 14   9  A      9     11   20
## 15   A  9     11      9   20
## 16   J 10     10     10   20
## 17   J  J     10     10   20
## 18   J  K     10     10   20
## 19   J  Q     10     10   20
## 20   K 10     10     10   20
## 21   K  J     10     10   20
## 22   K  K     10     10   20
## 23   K  Q     10     10   20
## 24   Q 10     10     10   20
## 25   Q  J     10     10   20
## 26   Q  K     10     10   20
## 27   Q  Q     10     10   20
## 28  10  9     10      9   19
## 29   8  A      8     11   19
## 30   9 10      9     10   19
## 31   9  J      9     10   19
## 32   9  K      9     10   19
## 33   9  Q      9     10   19
## 34   A  8     11      8   19
## 35   J  9     10      9   19
## 36   K  9     10      9   19
## 37   Q  9     10      9   19
## 38  10  8     10      8   18
## 39   7  A      7     11   18
## 40   8 10      8     10   18
## 41   8  J      8     10   18
## 42   8  K      8     10   18
## 43   8  Q      8     10   18
## 44   9  9      9      9   18
## 45   A  7     11      7   18
## 46   J  8     10      8   18
## 47   K  8     10      8   18
## 48   Q  8     10      8   18
## 49  10  7     10      7   17
## 50   6  A      6     11   17
## 51   7 10      7     10   17
## 52   7  J      7     10   17
## 53   7  K      7     10   17
## 54   7  Q      7     10   17
## 55   8  9      8      9   17
## 56   9  8      9      8   17
## 57   A  6     11      6   17
## 58   J  7     10      7   17
## 59   K  7     10      7   17
## 60   Q  7     10      7   17
## 61  10  6     10      6   16
## 62   5  A      5     11   16
## 63   6 10      6     10   16
## 64   6  J      6     10   16
## 65   6  K      6     10   16
## 66   6  Q      6     10   16
## 67   7  9      7      9   16
## 68   8  8      8      8   16
## 69   9  7      9      7   16
## 70   A  5     11      5   16
## 71   J  6     10      6   16
## 72   K  6     10      6   16
## 73   Q  6     10      6   16
## 74  10  5     10      5   15
## 75   4  A      4     11   15
## 76   5 10      5     10   15
## 77   5  J      5     10   15
## 78   5  K      5     10   15
## 79   5  Q      5     10   15
## 80   6  9      6      9   15
## 81   7  8      7      8   15
## 82   8  7      8      7   15
## 83   9  6      9      6   15
## 84   A  4     11      4   15
## 85   J  5     10      5   15
## 86   K  5     10      5   15
## 87   Q  5     10      5   15
## 88  10  4     10      4   14
## 89   3  A      3     11   14
## 90   4 10      4     10   14
## 91   4  J      4     10   14
## 92   4  K      4     10   14
## 93   4  Q      4     10   14
## 94   5  9      5      9   14
## 95   6  8      6      8   14
## 96   7  7      7      7   14
## 97   8  6      8      6   14
## 98   9  5      9      5   14
## 99   A  3     11      3   14
## 100  J  4     10      4   14
## 101  K  4     10      4   14
## 102  Q  4     10      4   14
## 103 10  3     10      3   13
## 104  2  A      2     11   13
## 105  3 10      3     10   13
## 106  3  J      3     10   13
## 107  3  K      3     10   13
## 108  3  Q      3     10   13
## 109  4  9      4      9   13
## 110  5  8      5      8   13
## 111  6  7      6      7   13
## 112  7  6      7      6   13
## 113  8  5      8      5   13
## 114  9  4      9      4   13
## 115  A  2     11      2   13
## 116  J  3     10      3   13
## 117  K  3     10      3   13
## 118  Q  3     10      3   13
## 119 10  2     10      2   12
## 120  2 10      2     10   12
## 121  2  J      2     10   12
## 122  2  K      2     10   12
## 123  2  Q      2     10   12
## 124  3  9      3      9   12
## 125  4  8      4      8   12
## 126  5  7      5      7   12
## 127  6  6      6      6   12
## 128  7  5      7      5   12
## 129  8  4      8      4   12
## 130  9  3      9      3   12
## 131  J  2     10      2   12
## 132  K  2     10      2   12
## 133  Q  2     10      2   12
## 134  2  9      2      9   11
## 135  3  8      3      8   11
## 136  4  7      4      7   11
## 137  5  6      5      6   11
## 138  6  5      6      5   11
## 139  7  4      7      4   11
## 140  8  3      8      3   11
## 141  9  2      9      2   11
## 142  2  8      2      8   10
## 143  3  7      3      7   10
## 144  4  6      4      6   10
## 145  5  5      5      5   10
## 146  6  4      6      4   10
## 147  7  3      7      3   10
## 148  8  2      8      2   10
## 149  2  7      2      7    9
## 150  3  6      3      6    9
## 151  4  5      4      5    9
## 152  5  4      5      4    9
## 153  6  3      6      3    9
## 154  7  2      7      2    9
## 155  2  6      2      6    8
## 156  3  5      3      5    8
## 157  4  4      4      4    8
## 158  5  3      5      3    8
## 159  6  2      6      2    8
## 160  2  5      2      5    7
## 161  3  4      3      4    7
## 162  4  3      4      3    7
## 163  5  2      5      2    7
## 164  2  4      2      4    6
## 165  3  3      3      3    6
## 166  4  2      4      2    6
## 167  2  3      2      3    5
## 168  3  2      3      2    5
## 169  2  2      2      2    4