1 Conteo y Probabilidad
1.1 Problema de cumpleaños
Hay \(k\) personas en un cuarto. Supon que los cumpleaños de cada persona son igualmente probables de ocurrir en los \(365\) días del año, y los cumpleaños son independientes. Cuál es la probabilidad que al menos haya un par de personas con el mismo cumpleaños.
1.1.1 Usando un contador
set.seed(42)
n <- 100 # número de simulaciones
k <- 10 # número de personas
count <- 0
for (i in 1:n) {
x <- sample(365, k, replace = T)
coinciden <- any(table(x) > 1)
if (coinciden) {
count <- count + 1
}
}
count / n
## [1] 0.13
1.2 Matching problem de De Montmort
Considera un mazo de \(n\) cartas bien barajadas y etiquetadas del \(1\) al \(n\). Vas volteando las cartas uno a uno, diciendo los numeros del \(1\) al \(n\). Ganas el juego si, en algún punto, el número dicho es el mismo de la etiqueta de la carta volteada. ¿Cuál es la probabilidad de ganar?
## [1] 0.658
1.3 Error de Leibniz
Si se lanzan dos dados, ¿es más probable que la suma sea 11 o que sea 12?
La probabilidad de que la suma sea 11
mean(dado1 + dado2 == 11)
## [1] 0.0565
La probabilidad de que la suma sea 12
mean(dado1 + dado2 == 12)
## [1] 0.0275
1.4 Full house en poker
¿Cuál es la probabilidad de un full house?
set.seed(42)
x <- replicate(20000, {
mano <- sample(52, 5)
table_mano <- table(mano %% 13)
all(2 <= table_mano & table_mano <= 3)
})
mean(x)
## [1] 0.0013
1.5 Lema de Borel-Cantelli
Lemma 1.1 (Teorema de Borel-Cantelli) Si \(\displaystyle\sum_{n=1}^\infty {\mathrm{P}(A_n)} = \infty\) y los eventos \((A_n)_ {n=1}^\infty\) son independientes, entonces \(\displaystyle\mathrm{P}(A_n\text{ rec.}) = 1\)
Example 1.1 Sean \(q \in \mathbb{N}\), \(\Omega = \{0, 1\}^\mathbb{N}\) y \(A_n = \{\omega \in \Omega \,|\, \omega_{nq+1} = \omega_{nq+2} = \cdots = \omega_{(n+1)q-1} = 1\}\). Luego, por el lema 1.1, \(\displaystyle\mathrm{P}(A_n\text{ rec.}) = 1\).
Digamos que \(q = 4\). En una muestra \(\omega\), se cumplir que \(A_n\) sea recurrente. Primero encontramos los primeros 5 \(n\)’s que cumplen \(\omega \in A_n\)
set.seed(42)
q <- 4
monedas_lanzadas <- c()
exito <- c()
for (i in 1:5) {
repeat {
q_monedas_lanzadas <- sample(c(0, 1), q, replace = T)
monedas_lanzadas <- c(monedas_lanzadas, q_monedas_lanzadas)
if (all(q_monedas_lanzadas == 1)) {
exito <- c(exito, T)
break
}
exito <- c(exito, F)
}
}
which(exito)
## [1] 2 5 12 14 19
Esos son los primeros 5 \(n\)’s que cumplen \(\omega \in A_n\). Ahora ploteamos la muestra. De rojo se muestra las veces que cumple.
color <- rep(ifelse(exito, "red", "black"), each = q)
cex <- rep(ifelse(exito, 1, 1), each = q)
plot(monedas_lanzadas, pch = 1, col = color, cex = cex)
Ahora encontremos los 10 siguentes \(n\)’s que cumplen.
for (i in 1:10) {
repeat {
q_monedas_lanzadas <- sample(c(0, 1), q, replace = T)
monedas_lanzadas <- c(monedas_lanzadas, q_monedas_lanzadas)
if (all(q_monedas_lanzadas == 1)) {
exito <- c(exito, T)
break
}
exito <- c(exito, F)
}
}
which(exito)
## [1] 2 5 12 14 19 49 57 106 142 151 173 253 301 310 336