#Librerias:
library(gtools)
Definición de permutación: Una permutación es un arreglo ordenado de objetos de un grupo, sin repeticiones, es decir, se refiere a todas las formas posibles en las que se pueden organizar los elementos de un conjunto, teniendo en cuenta que cada elemento se usa una sola vez y que el orden importa.
Formula de permutación: Para calcular el número de permutaciones de un conjunto de elementos se puede escribir como “P(n, r)”. Donde: \(P(n) = n!\).
Se debe tener en cuenta que:
-“n” es el número total de elementos del conjunto.
-“!” denota el factorial.
Ejemplo: Por ejemplo, para el conjunto {1, 2, 3}, las permutaciones posibles son: {1, 2, 3}, {1, 3, 2}, {2, 1, 3}, {2, 3, 1}, {3, 1, 2} y {3, 2, 1}.
Donde utilizando la formula tenemos que: P(3) = 3! = 3 x 2 x 1 = 6
Definición de combinación: Una combinación corresponden al número de formas en que se puede extraer subconjuntos a partir de un conjunto dado, es decir, se refiere a una selección de elementos sin importar el orden en el que se elijan. A diferencia de las permutaciones, en las combinaciones el orden de los elementos no es relevante, solo importa cuáles elementos están presentes en la selección.
Formula de combinación: Para calcular el numero de combinaciones, debemos tomar en cuenta si en el conjunto se permite las repeticiones o no. Para esto se presentan las siguientes formulas:
1. Sin repetición: \(C(n, r) = n!/ r!(n - r)!\)
Donde:
-“n” es el número total de elementos.
-“r” es el número de elementos seleccionados para la combinación.
Ejemplo: Por ejemplo, para el conjunto {A, B, C}, tomando en cuenta que se quiere juntar solamente 2 letras y no se permite repeticiones, las combianciones posibles son: (A, B), (A, C) y (B, C)
Donde utilizando la formula tenemos que: C(3, 2) = 3!/3!(3 - 2)! = 3!/2! * 1! = 3!/2! = 3 x 2!/2! = 3
2. Con repetición \(C(n,r) = (n + r - 1)!/r!(n - 1)!\)
Ejemplo: En base al conjunto anterior, pero tomando en cuenta que se quiere juntar solamente 2 letras y se permite repetir, las combinaciones posibles son: (A, A), (A, B), (A, C), (B, B), (B, C) y (C, C).
donde utilizando la formula tenemos que: c(3, 2) = (3 + 2 - 1)!/2!(3 - 1)! = 4! / 2! * 2! = 4 x 3 x 2 x 1/ 4 = 3 x 2 x 1 = 6
Permutación: La función “permutations” muestra todas las posibles permutaciones del conjunto de elementos a seleccionar.
combinatoria: La función “combinations” muestra todas las combinaciones dada la cantidad de elementos totales, la cantidad de los objetos seleccionados, un vector que representa el conjunto de elementos a seleccionar y flags que permiten filtrar los elementos repetidos en el conjunto de elementos o en las combinaciones generadas a partir de la función.
con repeticion:
nrow(permutations(11, 3, 1:11, repeats=TRUE))
## [1] 1331
Sin repeticion:
nrow(permutations(11, 4, 1:14, repeats = FALSE))
## [1] 7920
con repeticion:
combinations(5, 3, letters[1:5], repeats = TRUE)
## [,1] [,2] [,3]
## [1,] "a" "a" "a"
## [2,] "a" "a" "b"
## [3,] "a" "a" "c"
## [4,] "a" "a" "d"
## [5,] "a" "a" "e"
## [6,] "a" "b" "b"
## [7,] "a" "b" "c"
## [8,] "a" "b" "d"
## [9,] "a" "b" "e"
## [10,] "a" "c" "c"
## [11,] "a" "c" "d"
## [12,] "a" "c" "e"
## [13,] "a" "d" "d"
## [14,] "a" "d" "e"
## [15,] "a" "e" "e"
## [16,] "b" "b" "b"
## [17,] "b" "b" "c"
## [18,] "b" "b" "d"
## [19,] "b" "b" "e"
## [20,] "b" "c" "c"
## [21,] "b" "c" "d"
## [22,] "b" "c" "e"
## [23,] "b" "d" "d"
## [24,] "b" "d" "e"
## [25,] "b" "e" "e"
## [26,] "c" "c" "c"
## [27,] "c" "c" "d"
## [28,] "c" "c" "e"
## [29,] "c" "d" "d"
## [30,] "c" "d" "e"
## [31,] "c" "e" "e"
## [32,] "d" "d" "d"
## [33,] "d" "d" "e"
## [34,] "d" "e" "e"
## [35,] "e" "e" "e"
Sin repeticion:
combinations(5, 3, letters[1:5], repeats = FALSE)
## [,1] [,2] [,3]
## [1,] "a" "b" "c"
## [2,] "a" "b" "d"
## [3,] "a" "b" "e"
## [4,] "a" "c" "d"
## [5,] "a" "c" "e"
## [6,] "a" "d" "e"
## [7,] "b" "c" "d"
## [8,] "b" "c" "e"
## [9,] "b" "d" "e"
## [10,] "c" "d" "e"
Permutaciones:
#El codigo para escribir la permutación es el siguiente:
#nrow(permutations(39, 25, 1:39, repeats = FALSE))
#Debido a que el programa no ejerce con normalidad, para mostrar el uso del codigo, se tomara en cuenta que r = 3
nrow(permutations(39, 3, 1:39, repeats = FALSE))
## [1] 54834
Combinaciones:
#El codigo para escribir la combinación es el siguiente:
#nrow(combinations(39, 25, 1:39, repeats = FALSE))
#Debido a que el programa no ejerce con normalidad, para mostrar el uso del codigo, se tomara en cuenta que r = 3
nrow(combinations(39, 3, 1:39, repeats = FALSE))
## [1] 9139
Para este caso, se utilizara la formula de la probabilidad, por lo que debemos tomar en cuenta lo siguientes puntos: Para el cálculo de la probabilidad es necesario dividir el número de sucesos favorables entre el número total de sucesos posibles. Por lo tanto la formula seria:
Probabilidad = (Casos favorables / casos posibles) x 100
Tomando en cuenta lo anterior, debemos calcular el numero de casos posibles, por lo tanto, la vendedora debe visitar las 50 ciudades sin repetir ninguna y luego regresar al origen, la primera ciudad puede ser seleccionada de 50 opciones, la segunda de 49 opciones restantes, la tercera de 48 opciones y así sucesivamente. Por lo tanto estamos ante la presencia de una permutación:
Formula: \(P(n) = n!\).
Casos posibles = \(P(50) = 50!\).
tomando en cuenta que solamente existe 1 ruta optima, tenemos que la formula seria:
Probabilidad ruta favorable = (1/50!)x 100
casos_totales = factorial(50)
Probabilidad_ruta_favorable = (1/casos_totales)*100
Por lo tanto, la probabilidad de encontrar la ruta optima es de:
Probabilidad_ruta_favorable
## [1] 3.287949e-63
Esto muestra una probabilidad extramadamente baja de encontrar la ruta optima entre todas las probabilidades.
En el ejemplo anterior, contamos con un total de 50! rutas posibles. Como aqui ya estamos descartando una de las rutas posibles, esto nos deja con un total de 49! rutas. Haciendo nuevamente el caso, tenemos que:
casos_totales2 = factorial(49)
Probabilidad_ruta_favorable2 = (1/casos_totales2)*100
Como resultado nos da:
Probabilidad_ruta_favorable2
## [1] 1.643975e-61
La probabilidad sigue siendo extremadamente baja.
Organizando de mejor forma la información, tenemos que:
Janet atiende al 10% de los clientes y no limpia 1 de cada 20 parabrisas.
Tomás atiende al 60% de los clientes y no limpia 1 de cada 10 parabrisas.
Georgina atiende al 15% de los clientes y no limpia 1 de cada 10 parabrisas.
Pedro atiende al 5% de los clientes y no limpia 1 de cada 20 parabrisas.
Marcela atiende al 10% de los clientes y no limpia 3 de cada 5 parabrisas.
Para encontrar una solución a este problema, podemos recurrir a la formula del teorema de bayes, el cual corresponde a: \(P(A|B) = P(B|A)*P(A)/P(B)\)
Ante esto nosotros podemos crear el siguiente arbol:
Probabilidad:
Tomando en cuenta los datos anteriores y utilizando teorema de bayes:
Probabilidad_Pedro = (0.95*0.05)/((0.10*0.95)+(0.6*0.9)+(0.15*0.9)+(0.05*0.95)+(0.1*0.4))
Probabilidad_Pedro
## [1] 0.05539359
Probabilidad de janet:
Probabilidad_janet = (0.95*0.1)/((0.10*0.95)+(0.6*0.9)+(0.15*0.9)+(0.05*0.95)+(0.1*0.4))
Probabilidad_janet
## [1] 0.1107872
Probabilidad de Georgina:
Probabilidad_geogirna = (0.9*0.15)/((0.10*0.95)+(0.6*0.9)+(0.15*0.9)+(0.05*0.95)+(0.1*0.4))
Probabilidad_geogirna
## [1] 0.1574344
Probabilidad de ambas:
Probabilidad_ambas = (0.9*0.15)+(0.95*0.1)/((0.10*0.95)+(0.6*0.9)+(0.15*0.9)+(0.05*0.95)+(0.1*0.4))
Probabilidad_ambas
## [1] 0.2457872
Probabilidad de los 5:
Probabilidad_todos = (0.9*0.15)+(0.95*0.1)+(0.95*0.05)+(0.9*0.6)+(0.4*0.1)/((0.10*0.95)+(0.6*0.9)+(0.15*0.9)+(0.05*0.95)+(0.1*0.4))
Probabilidad_todos
## [1] 0.8641472
Se puede observar que la probabilidad no es de un 100%. Esto se presume que es debido a que no se esta contabilizando los casos negativos que juntos a los positivos, hacen el total de todos los casos posibles.
Para el siguiente ejercicio tenemos los siguientes datos: - 40 en total. - 18 rechazan - 3 Seleccionados.
También sabemos que la formula de la probabilidad consta de: Probabilidad = (Casos favorables / casos posibles) x 100.
El numero de casos favorables corresponde a todas las combinaciones de seleccionar 3 personas de las 18 que rechazan y los casos posibles corresponde a todas las combinaciones de seleccionar 3 personas de las 40 en total. Por lo tanto se nos presenta la siguiente formula: P(rechazo) = C(18, 3) / C(40, 3). En este caso se asumira que deben selecionar 3 personas en un instante, por lo tanto no puede repetirce.
casos_favorables_P5 = nrow(combinations(18, 3, 1:18, repeats = FALSE))
casos_totales_P5 = nrow(combinations(40, 3, 1:40, repeats = FALSE))
Probabilidad_P5 = (casos_favorables_P5/casos_totales_P5)*100
#Por lo tanto, la probabilidad de que 3 personas selecionadas voten rechazo es de:
Probabilidad_P5
## [1] 8.259109