Se tienen N fichas numeradas del 1 al N y puestas todas en una hilera en forma aleatoria.
Inicié este ejercicio haciendo a mano los posibles resultados:
Para 1 ficha hay 0 opciones, pues 1 estará en la ubicación 1.
Para 2 fichas hay 1 opción, pues tenemos 1 2 o 2 1, nos sirve la segunda.
Para 3 fichas hay 6 hay 2 opciones que nos sirven y continué hasta el 5.
Quedé entonces con:
fichas: opciones
0 : 0
1: 0
2: 1
3: 2
4: 9
5: 44
No encontré ninguna forma de crear una secuencia lógica de esto, por lo que haré las matrices de permutación para 9 y utilizando R generaré la matriz que cumpla que el número de la columna no coincida con el valor j.
En cualquier caso, se debe tener en cuenta que el denominador es 9!, pues para la primera “casilla” hay 9 números, para la segunda 8, etc.
Para responder este ejercicio cargo los paquetes gtools, rlang y tidyverse.
M9 <- permutations(n=9,r=9,repeats.allowed=F)
M9 <- as.data.frame(M9)
for (i in 1:9) {
variable <- sym(paste0("V", i))
M9 <- M9 %>%
filter({{variable}} !=i)
}
La respuesta es 0.3678792
¿Converge a algún valor esta probabilidad? Grafique con un línea horizontal el valor 1/e. En probabilidad 1/e es una valor bastante típico.
Repito el ejercicio anterior pero genero además M1:M8 y M10. No dejo el código disponible para ahorrar espacio. La generación la hago manual (sé que debe haber una forma más óptima que copiar, pegar y reemplazar los números del 1 al 10 utilizando un loop).
Ahora, dado que tengo almacenados las 10 M, puedo calcular la probabilidad dividiendo el largo de cada una sobre su factorial.
x <- c(2:10)
y <- c(nrow(M2)/factorial(2), nrow(M3)/factorial(3), nrow(M4)/factorial(4), nrow(M5)/factorial(5), nrow(M6)/factorial(6), nrow(M7)/factorial(7), nrow(M8)/factorial(8), nrow(M9)/factorial(9), nrow(M10)/factorial(10) )
plot(x,y)
abline(h=1/exp(1))
Efectivamente converge a este valor.
Para decidir si acepta o rechaza una partida de productos, un comprador elige k artículos (sin reemplazo) de un lote de 100, y rechaza el lote si encuentra uno o más defectuosos.
Para comenzar, voy a hacer algunas definiciones:
k = número de artículos que elijo;
x = número de artículos que están defectuosos;
La cantidad de opciones que tengo (el denominador) es tomar 5 artículos de 100. Es decir:
\[(\frac{100}{5})\]
Nota: voy a utilizar fracciones para expresar las combinaciones, dado que no encontré cómo escribir estas en Markdown
Ahora bien, dado que se me pide que acepte, entonces esto significa que no puede haber ninguno defectuoso. Es decir, que todos estén buenos. Por lo tanto, uso el complemento.
Tengo entonces el siguiente problema:
\[1 - (\frac{100-x}{k}/\frac{100}{k})\]
Al reemplazar k el problema es entonces:
\[1 - (\frac{100-x}{5}/\frac{100}{5})\]
La gráfica es la siguiente:
x <- c(1:95)
z <- 0:1
W <- 0:1
prob <- function(x) {1 - choose(100-x, 5)/ (choose(100,5))}
plot(x, prob(x))
segments(x0 = 0, y0 = 1, x1 = 1, y1 = 1)
segments(x0 = 96, y0 = 0, x1 = 100, y1 = 0)
Vale la pena especificar que en caso de que \(x=0\) la probabilidad sería uno y en caso de que \(x>95\) la probabilidad sería 0.
Ahora, algebráicamente tenemos el siguiente problema:
\[0.9 > 1-(\frac{100-10}{k})/(\frac{100}{k})\]
k <- 1
while(1 - (choose(90, k)/(choose(100,k))) < 0.90) {
k = k+1
}
Vamos a comprobar entonces que para k=1 se cumpla la condición:
rta <- 1 - choose(90, 20)/choose(100, 20)
0.904883727569212
Es necesario elegir 20 artículos para que la probabilidad de que al menos uno sea defectuoso sea de al menos 0.9.