II) Explique brevemente la diferencia entre permutación y combinación y exprese las ecuaciones para calcular permutaciones y combinaciones.
Tanto permutación como combinación hacen referencia a un conjunto de elementos. La diferencia está en que para el conjunto de permutación el orden de dichos elementos es relevante y para la combinacion no lo es.
Para calcular una permutación, utilizamos la siguiente ecuación:
\[ P(n,r) = n!/(n−r)! \]
Para calcular una combinación, utilizamos la siguiente ecuación: \[ C(n,r) = n! / r!(n−r)! \]
III) Busque en la ayuda de R las funciones combinations y permutations y explique brevemente cómo funcionan.
combinaciones, enumera las posibles combinaciones de un tamaño (r) especificado de los elementos (n) de un vector. permutaciones enumera las posibles permutaciones.
combinations(n, r, v = 1:n, set = TRUE, repeats.allowed = FALSE)
permutations(n, r, v = 1:n, set = TRUE, repeats.allowed = FALSE)
Donde:
\(n\): es el tamaño del vector fuente
\(r\): es el tamaño de los vectores de destino
\(v\): es el vector de origen. Por defecto 1:n
\(set\): Indica si los duplicados deben eliminarse del vector. Por defecto es TRUE.
\(repeats.allowed\): Bandera lógica que indica si los vectores aceptan valores duplicados. Por defecto es FALSE.
IV) Calcule:
Permutaciones con repetición:
permutaciones <- permutations(n = 11, r = 3, v = 1:n, repeats.allowed = TRUE)
nrow(permutaciones)
## [1] 1331
Permutaciones sin repetición:
permutaciones <- permutations(n = 11, r = 3, v = 1:n, repeats.allowed = FALSE)
nrow(permutaciones)
## [1] 990
Combinación con repetición:
letras <- c("a", "b", "c", "d", "e")
combinaciones <- combinations(n = 5, r = 3, letras, repeats.allowed = TRUE)
nrow(combinaciones)
## [1] 35
Combinación sin repetición:
letras <- c("a", "b", "c", "d", "e")
combinaciones <- combinations(n = 5, r = 3, letras, repeats.allowed = FALSE)
nrow(combinaciones)
## [1] 10
Permutación sin repetición:
\[ P(n,r)=39!/(39−25)!=2.339789160859056×10^{35} \]
n = 39
r = 25
per_sin_rep = factorial(n) / factorial(n - r)
per_sin_rep
## [1] 2.339789e+35
Combinación sin repetición: \[ P(n,r)=39!/25!(39−25)!=15084504396=1.5×10^{10} \]
n = 39
r = 25
comb_sin_rep = factorial(n)/(factorial(r)*factorial(n - r))
comb_sin_rep
## [1] 15084504396
V) 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.
prob_ruta_optima = 1 / factorial(50)
prob_ruta_optima #probabilidad de que sea la ruta óptima
## [1] 3.287949e-65
prob_ruta2_optima = 1 / 1/(factorial(50)-1)
prob_ruta2_optima #probabilidad de que la ruta2 sea óptima
## [1] 3.287949e-65
ADVERTENCIA: puede que las funciones combinations y permutations no funcionen para este problema, si es así ¿por qué?.
Para realizar este cálculo no es posible utilizar las ecuaciones de permutations ni combinations, debido a que para operaciones de n > de 45 deberá aumentar el límite de recursión de R.
VI) 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.
Este problema se puede resolver a través de la ecuación del teorema de Bayes \[ P(Bj|A)=P(Aj|B)P(Bj)/∑ki=1P(A|Bi)P(Bi) \] b) ¿Cuál es la probabilidad de que haya sido atendido por Pedro?
prob_pedro = ((19/20)*0.05)/(((19/20)*0.05)+((19/20)*0.1)+((9/10)*0.6)+((9/10)*0.15)+((2/5)*0.1))
print(prob_pedro)
## [1] 0.05539359
La probabilidad de que haya sido atendido por Pedro es de 5.54%
prob_janet = ((19/20)*0.1)/(((19/20)*0.05)+((19/20)*0.1)+((9/10)*0.6)+((9/10)*0.15)+((2/5)*0.1))
prob_georgina = ((9/10)*0.15)/(((19/20)*0.05)+((19/20)*0.1)+((9/10)*0.6)+((9/10)*0.15)+((2/5)*0.1))
print(prob_georgina + prob_janet)
## [1] 0.2682216
La probabilidad de que haya sido atendido por Janet o Georgina es de 26.82%
prob_janet = ((19/20)*0.1)/(((19/20)*0.05)+((19/20)*0.1)+((9/10)*0.6)+((9/10)*0.15)+((2/5)*0.1))
prob_georgina = ((9/10)*0.15)/(((19/20)*0.05)+((19/20)*0.1)+((9/10)*0.6)+((9/10)*0.15)+((2/5)*0.1))
prob_tomas = ((9/10)*0.6)/(((19/20)*0.05)+((19/20)*0.1)+((9/10)*0.6)+((9/10)*0.15)+((2/5)*0.1))
prob_pedro = ((19/20)*0.05)/(((19/20)*0.05)+((19/20)*0.1)+((9/10)*0.6)+((9/10)*0.15)+((2/5)*0.1))
prob_marcela = ((2/5)*0.1)/(((19/20)*0.05)+((19/20)*0.1)+((9/10)*0.6)+((9/10)*0.15)+((2/5)*0.1))
prob_total = prob_janet + prob_georgina + prob_tomas + prob_pedro + prob_marcela
print(prob_total)
## [1] 1
De lo anterior podemos obserbar que el resultado es 1, lo que significa, que el cliente pudo ser atendido por cualquiera de los trabajadores
VII) 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?
Para calcular la probabilidad de que ambas personas seleccionadas rechacen, se debe aplicar una distribución hipergeométrica
\[ f(x) \;=\; \frac{{K\choose x}\,{N-K\choose n-x}}{{N\choose n}}, \qquad \text{donde}\quad k=0,1,2, \ldots, n \quad \text{y}\quad n\leq N \]
Datos del ejercicio:
personasR = 18
personasA = 22
opinion = 3
casos a evaluar = 2
Total de casos = 40
Al reemplazar los valores en la ecuación de distribución hipergeométrica, se obtiene:
\[ f(x) \;=\; \frac{{18\choose 2}\,{40-18\choose 3-2}}{{40\choose 3}}\] \[ f(x) \;=\; 0.3406883 \]
## [1] 0.3406883
De lo anterior, se observa claramente que la probabilidad de que ambas personas seleccionadas al azar de un grupo de 40 personas rechacen la nueva constitución es aproximadamente de 0,3406883
Se realizó busqueda de recursos adicionales para el desarrollo de éste laboratorio en:
Villalobos Cid, M., Villanueva Ilufi, M., Giglio Gutierréz, J., (2023). Estadistica Computacional clase 7. Uvirtual. https://uvirtual.usach.cl/moodle/course/view.php?id=24173§ion=9
The UIB-AprendeR team., (5 de marzo de 2021). Aprender R: Parte II. AprendeR-UIB. https://aprender-uib.github.io/AprendeR2/
Calvo, D., (14 de mayo de 2020). Instalar paquetes de R en RStudio. Youtube. https://www.youtube.com/watch?v=0I8JkPzhWyg