Dado un conjunto de elementos, una permutación de estos corresponde a la organización de sus elementos donde el orden SI importa, además en estas no existen repeteticiones. Un ejemplo de esto son las disntintas formas de escribir los numero 1, 2 y 3 sin repetir un número. El listado de permutaciones para este ejemplo corresponde a: 123 - 132 - 213 - 231 - 312 - 321.
Además, las formulas asociadas al calculo de las permutaciones se dividen en tres casos:
El número de permutaciones de “n” elementos diferentes \[ n! = n \times (n-1) \times (n-2) \times ... \times2\times 1 \]
El número de permutaciones de un subconjunto “r” de “n” \[ P_r^n = n \times (n-1) \times (n-2) \times ... \times (n - r + 1) = \frac{n!}{(n-r)!} \]
El número de permutaciones de n = \(n_1\) + \(n_2\) + … + \(n_r\) elementos sede diferentes es \[\frac{n!}{n_1!n_2!...n_r!}\]
Por otro lado, las combinaciones corresponden a todas las agrupaciones posibles dado un grupo de elementos tomados de , donde (m \(\geq\) n). Ahora, el número de combinaciones para un subconjunto de “r” elementos que pueden ser seleccionados entre “n” elementos es denotado como:
\[ C_r^n = \binom{n}{r} = \frac{n!}{r!(n - r)!}\] Finalmente la principal diferencia entre permutaciones y combinaciones corresponde al orden de los elementos, puesto que en la primera si miporta el orden, mientras que en la segunda no.
library(gtools)
#Funcionamiento: - Combinations: enumera las posibles combinaciones de un largo especificado dado un vector de elementos.
Ambas poseen las misma estructura y reciben los mismos parametros. n: Tamaño del vector r: Tamaño de los subconjuntos v: Vector de elementos, de manera estandar genera un vector de 1 hasta n. set: Bandera logica que indica si los elementos duplicados deben ser borrados del vector v. Default = TRUE. repeats.allowed: Bander logica que indica si los vecotres generados pueden incluir valores duplicados. Default = FALSE.
El retorno de ambas funciones es un matríz donde cada fila corresponde a un vector de largo r.
EJEMPLOS:
nrow(permutations(11,3,1:11,repeats.allowed = TRUE))
## [1] 1331
nrow(permutations(11,3,1:11,repeats.allowed = FALSE))
## [1] 990
nrow(combinations(5,3,letters[1:6], repeats.allowed = TRUE))
## [1] 35
nrow(combinations(5,3,letters[1:6], repeats.allowed = FALSE))
## [1] 10
Dado el tamaño de los vectores, se ha utilizado la pagina https://www.estadisticaparatodos.es/software/misjavascript/javascript_combinatorio2.html#5 para el calculo de las combinaciones y permutaciones.
Combinaciones
nrow(combinations(39,25,1:39,repeats.allowed = FALSE)) = 15.084.504.396
Permutaciones
nrow(permutations(39,25,1:39,repeats.allowed = FALSE)) = 2,339789161x10^36
Dada la naturaleza del problema, donde no se pueden repetir ciudades, en primer lugar se deben calcular la cantidad de rutas posibles, las cuales, para n = 50, vienen dadas por:
\[ P_{50}^{50} = \frac{50!}{(50 - 50)!} = 50! = 3,04\times10^{64} \] Con el resultado anterior podemos responder las siguientes preguntas:
R: Puesto que tenemos una distribución uniforme, cada resultado tendrá la misma probabilidad de ocurrir, y considerando a “n” como el total de casos posibles, tenemos que:
\[P(A) = \frac{1}{n} = \frac{1}{3.04\times10^{64}} = 3.29\times10^{-65}\] b) Si se selecciona una ruta al azar que es distinta a la anterior ¿cuál es la probabilidad de que sea la ruta óptima?
R: Para este caso solo hace falta restar la ruta previamente seleccionada del total de rutas posibles y realizar el mismo cálculo.
\[P(A) = \frac{1}{n} = \frac{1}{3.04\times10^{64} - 1} = 3.04\times10^{-64}\] De la misma forma que en el ejemplo 3, no es posible calcular combinaciones o permutaciones para números muy grandes. Al utilizar valores n! y r! el número de posibilidades incrementa excesivamente.
Para poder resolver las preguntas planteadas más adelante se ha desarrollado una tabla de probabilidades.
empleados = c("Janet", "Tomás", "Georgina", "Pedro", "Marcela")
atiende = c("0,2", "0,1", "0,6", "0,05", "0,1")
noLimpia = c("0,05", "0,1", "0,1","0,05","0,6")
limpia = c("0,95", "0,9", "0,9", "0,95", "0,4")
tabla = data.frame(Nombres = empleados, ProbAtender = atiende, VecesNoLimpia = noLimpia, VecesLimpia = limpia)
head(tabla)
## Nombres ProbAtender VecesNoLimpia VecesLimpia
## 1 Janet 0,2 0,05 0,95
## 2 Tomás 0,1 0,1 0,9
## 3 Georgina 0,6 0,1 0,9
## 4 Pedro 0,05 0,05 0,95
## 5 Marcela 0,1 0,6 0,4
La ecuación que permite resolver el problema corresponde a la expuesta en el Teorema de Bayes. \[ P(B|A) = \frac{P(A|B)P(B)}{P(A)} = \frac{P(A|B)P(B)}{P(A|B)P(B) + P(A|\bar{B})P(\bar{B})} \] b) ¿Cuál es la probabilidad de que haya sido atendido por Pedro?
Utilizando la formula anterior y la tabla de probabilidades tenemos que:
\[ P(P|NL) = \frac{P(L|P)P(P)}{P(L)} = \frac{0,05\cdot0,05}{(0,1\cdot0,95)+(0,15\cdot0,9)+(0,6\cdot0,9)+(0,05\cdot0,95)+(0,1\cdot0,4)} = 0,5539358601\] c) ¿Cuál es la probabilidad de que haya sido atendido por Janet o Georgina?
Aplicando propiedades de las fracciones y aplicando las reglas de adición en probabilidades, obtenemos lo siguiente:
\[ P(J|L) + P(G|L)= \frac{P(L|J)P(J)}{P(L)} + \frac{P(L|G)P(G)}{P(L)} = \frac{P(L|J)P(J)+P(L|G)P(G)}{P(L)} \] Por lo tanto, solo hace falta modificar el resultado anterior en el numerador:
\[ P(J|L) + P(G|L) = \frac{P(L|J)P(J)}{P(L)} + \frac{P(L|G)P(G)}{P(L)} = \frac{(0,1\cdot0,95)+(0,15\cdot0,9)}{(0,1\cdot0,95)+(0,15\cdot0,9)+(0,6\cdot0,9)+(0,05\cdot0,95)+(0,1\cdot0,4)} \] \[ P(J|L) + P(G|L) = 0,2682216 \] d) Calcule la probabilidad de que haya sido atendido por Janet, Georgina, Tomás, Pedro o Marcela. ¿Qué se puede observar?
Aplicando la lógica anterior:
\[ P(J\lor{}G\lor{}T\lor{}P\lor{}M|L) = \frac{(0,1\cdot0,95)+(0,15\cdot0,9)+(0,6\cdot0,9)+(0,05\cdot0,95)+(0,1\cdot0,4)}{(0,1\cdot0,95)+(0,15\cdot0,9)+(0,6\cdot0,9)+(0,05\cdot0,95)+(0,1\cdot0,4)} = 1\] Del resultado obtenido se puede observar que este equivale a 1, lo que significa que el cliente fue antendido el 100% de la veces por alguno de los mencionados, sin embargo no se puede especificar quien fue.
Para el siguiente problema se nos presenta una distribuición hipergeométrica, puesto que se nos prensentan los siguientes datos.
La fórmula para resolver ejercicios de distribucion hipergeométricas es la siguiente:
\[ f(x) = \frac{\binom{K}{x}\binom{N - K}{n - x}}{\binom{N}{n}} \] Por lo tanto, reemplazando en la fórmula:
\[ f(3) = \frac{\binom{18}{3}\binom{40 - 18}{3 - 3}}{\binom{40}{3}} = 0,08259 \]