Instale el paquete “gtools” con la sentencia: install.packages(′gtools′), incluya la librería “gtools” (library(gtools)).
Explique brevemente la diferencia entre permutación y combinación y exprese las ecuaciones para calcular permutaciones y combinaciones.
-Ecuacion permutación: nPr = n! / (n - r)!
-Ecuacion combinación: nCr = n! / (n - r)!r!
Busque en la ayuda de R las funciones combinations y permutations y explique brevemente cómo funcionan
library(gtools)
vec = c("A", "B", "C", "D", "E", "F")
combinations(n = length(vec), r = 5, v = vec)## [,1] [,2] [,3] [,4] [,5]
## [1,] "A" "B" "C" "D" "E"
## [2,] "A" "B" "C" "D" "F"
## [3,] "A" "B" "C" "E" "F"
## [4,] "A" "B" "D" "E" "F"
## [5,] "A" "C" "D" "E" "F"
## [6,] "B" "C" "D" "E" "F"
Resultado del codigo muestra todas las combinaciones posibles de los 5 elementos del vector.
library(gtools)
vec = c("A", "B", "C")
permutations(n = length(vec), r = 2, v = vec)## [,1] [,2]
## [1,] "A" "B"
## [2,] "A" "C"
## [3,] "B" "A"
## [4,] "B" "C"
## [5,] "C" "A"
## [6,] "C" "B"
Resultado del codigo muestra todas las permutaciones posibles de dos elementos de un vector.
Calcule:
La cantidad de permutaciones posibles con n = 11 y r = 3 con y sin repetición.
n = 11
r = 3
perm = factorial(n) / factorial(n - r)
cat("Permutaciones:", perm)## Permutaciones: 990
Las combinaciones de largo tres con las letras a, b, c, d y e con y sin repetición.
letras = c("a", "b", "c", "d", "e")
n = length(letras)
combinaciones = list()
for (i in 1:(n - 2)) {
for (j in (i + 1):(n - 1)) {
for (k in (j + 1):n) {
combinacion = c(letras[i], letras[j], letras[k])
combinaciones = c(combinaciones, list(combinacion))
}
}
}
cat("Combinaciones:")## Combinaciones:
print(combinaciones)## [[1]]
## [1] "a" "b" "c"
##
## [[2]]
## [1] "a" "b" "d"
##
## [[3]]
## [1] "a" "b" "e"
##
## [[4]]
## [1] "a" "c" "d"
##
## [[5]]
## [1] "a" "c" "e"
##
## [[6]]
## [1] "a" "d" "e"
##
## [[7]]
## [1] "b" "c" "d"
##
## [[8]]
## [1] "b" "c" "e"
##
## [[9]]
## [1] "b" "d" "e"
##
## [[10]]
## [1] "c" "d" "e"
La cantidad de permutaciones y combinaciones con n = 39 y r = 25 sin repetición.
n = 39
r = 25
# Cantidad de permutaciones
p = factorial(n) / factorial(n - r)
cat("Cantidad de permutaciones: ", p, "\n")## Cantidad de permutaciones: 2.339789e+35
# Cantidad de combinaciones
c = factorial(n) / (factorial(r) * factorial(n - r))
cat("Cantidad de combinaciones: ", c, "\n")## Cantidad de combinaciones: 15084504396
Considere un problema de una vendedora viajera que debe recorrer 50 ciudades y volver al origen sin pasar dos veces por la misma ciudad. Considerando que solo existe una ruta óptima, si se selecciona una ruta al azar
¿cuál es la probabilidad de que sea la ruta óptima?
Si se selecciona una ruta al azar que es distinta a la anterior ¿cuál es la probabilidad de que sea la ruta óptima?
En este caso no se pueden usar las funciones combinations y permutations, esto se debe a que generan todas las combinaciones o permutaciones posibles de una lista de elementos, permitiendo que los elementos se repitan o no.El problema es que la vendedora en cada ciudad debe visitar exactamente una vez, lo que significa que no puede haber repeticiones en la ruta.
Una bencinera tiene 5 funcionarios que deben limpiar el parabrisas de cada cliente que es atendido. Janet da servicio al 10 % de los clientes y no limpia 1 de cada 20 parabrisas; Tomás da servicio al 60 % de los clientes y no limpia 1 de cada 10 parabrisas; Georgina da servicio al 15 % de los clientes y no limpia 1 de cada 10 parabrisas; Pedro da servicio al 5 % de los clientes y no limpia 1 de cada 20 parabrisas; Marcela da servicio al 10 % de los clientes y no limpia 3 de cada 5 parabrisas. Si un cliente envía una nota de agradecimiento porque su parabrisas quedó como nuevo
Exprese la ecuación con la que se puede resolver el problema.
Primero, calculamos la probabilidad de que cada funcionario limpie el parabrisas correctamente - Janet : probabilidad del 90% - Tomás : probabilidad del 90% - Georgina : probabilidad del 90% - Pedro : probabilidad del 95% - Marcela : probabilidad del 40%
P = 0.9 x 0.9 x 0.9 x 0.95 x 0.4 P = 0.2916 -> 29.16%
Para expresar una ecuación que nos permita resolver este problema, podemos usar la fórmula de permutación y combinatoria: P = (n! / (n-k)!k!) x p^k x (1-p)^(n-k) - n es el número total de eventos (en este caso, el número total de parabrisas que se deben limpiar). - k es el número de eventos favorables (en este caso, el número de parabrisas correctamente limpiados). - p es la probabilidad de un evento favorable (en este caso la probabilidad de que un trabajadot limpie el parabrisas correctamente)
Ahora se reemplaza los valores: P = (n! / (n-k)!k!) x 0.2916^k x (1-0.2916)^(n-k)
Cuál es la probabilidad de que haya sido atendido por Pedro?
prob_atender_Pedro = 0.05
prob_limpio_correctamente_Pedro = 0.95
prob_cliente_atendido_Pedro = prob_atender_Pedro
prob_limpio_correctamente_cliente_Pedro = prob_limpio_correctamente_Pedro
prob_limpio_incorrectamente_cliente_Pedro = 1 - prob_limpio_correctamente_Pedro
print(prob_limpio_incorrectamente_cliente_Pedro)## [1] 0.05
¿Cuál es la probabilidad de que haya sido atendido por Janet o Georgina?
p_limpio_janet = 0.95
p_limpio_georgina = 0.9
p_janet = 0.1
p_georgina = 0.15
p_janet_o_georgina = p_janet + p_georgina
print(p_janet_o_georgina)## [1] 0.25
Calcule la probabilidad de que haya sido atendido por Janet, Georgina, Tomás, Pedro o Marcela. ¿Qué se puede observar?
p_limpio_janet = 0.95
p_limpio_tomas = 0.9
p_limpio_georgina = 0.9
p_limpio_pedro = 0.95
p_limpio_marcela = 0.4
p_janet = 0.1
p_tomas = 0.6
p_georgina = 0.15
p_pedro = 0.05
p_marcela = 0.1
p_atendido = p_janet + p_tomas + p_georgina + p_pedro + p_marcela
p_total = (p_janet * p_limpio_janet) + (p_tomas * p_limpio_tomas) + (p_georgina * p_limpio_georgina) + (p_pedro * p_limpio_pedro) + (p_marcela * p_limpio_marcela)
print(p_total)## [1] 0.8575
De un grupo de 40 personas se quiere saber la opinión de 3 personas (seleccionadas al azar) acerca del apruebo o rechazo de la nueva constitución. Si se sabe que 22 personas aprueban y 18 rechazan ¿cuál es la probabilidad de que las dos personas seleccionadas rechacen?
c -> combinación P-> probabilidad
n_rechazo = 18
n_apruebo = 22
n_total = 40
prob_rechazo = (n_rechazo / n_total) * ((n_rechazo - 1) / (n_total - 1)) * ((n_rechazo - 2) / (n_total - 2))
print(prob_rechazo)## [1] 0.08259109