1. Instale el paquete “gtools” con la sentencia: install.packages(′gtools′), incluya la librería “gtools” (library(gtools)).

(library(gtools))
## [1] "gtools"    "stats"     "graphics"  "grDevices" "utils"     "datasets" 
## [7] "methods"   "base"

2. Explique brevemente la diferencia entre permutación y combinación y exprese las ecuaciones para calcular permutaciones y combinaciones.

Respuesta: Permutación y combinación hacen referencia a arreglos o agrupaciones de elementos de un determinado conjunto. Se diferencian en que en la permutación el orden sí es importante, mientras que en la combinación no lo es. Esto repercute en que, dado el mismo conjunto de elementos, el número de permutaciones será mayor al de combinaciones posibles.

\[ Permutación: \begin{equation} P(n,r) = \frac{n!}{(n - r)!} \end{equation} \] \[ Combinación: \begin{equation} C(n,r) = \frac{n!}{r!(n - r)!} \end{equation} \] 3. Busque en la ayuda de R las funciones combinations y permutations y explique brevemente cómo funcionan.

‘combinations’ enumera las posibles combinaciones para los elementos de un arreglo, mientras que ‘permutations’ enumera las permutaciones posibles.

Ambas reciben como entrada:
- n Tamaño del vector fuente. Es decir, el número de elementos totales del conjunto.
- r Tamaño del vector objetivo. Es decir, el número elementos que se seleccionarán del conjunto.
- v Vector fuente. Por defecto está indicado como ‘1:n’
- set Bandera lógica que indica si los elementos duplicados deben ser removidos de la fuente ‘v’. Por defecto está en ‘TRUE’.
- repeats.allowed Bandera lógica que indica si se permiten las repeticiones. Por defecto está en ‘FALSE’.

Ambas funciones retornan una matriz.

Estructura de entrada de las funciones:

combinations(n, r, v = 1:n, set = TRUE, repeats.allowed = FALSE)
permutations(n, r, v = 1:n, set = TRUE, repeats.allowed = FALSE)

Podemos visualizar los primeros resultados con head(combinaciones) y los últimos con tail(combinaciones). Para obtener el número total de combinaciones o permutaciones, se utiliza nrow(combinaciones) o nrow(permutaciones).

Ejemplo de uso:

(library(gtools))
## [1] "gtools"    "stats"     "graphics"  "grDevices" "utils"     "datasets" 
## [7] "methods"   "base"
n <- 10
r <- 3
alumnos <- c(1:n)
combinaciones <- combinations(n,r,alumnos)
head(combinaciones)
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    1    2    4
## [3,]    1    2    5
## [4,]    1    2    6
## [5,]    1    2    7
## [6,]    1    2    8

4. Calcule:
a) La cantidad de permutaciones posibles con n = 11 y r = 3 con y sin repetición.
Permutaciones con repetición:

n <- 11
r <- 3
conjunto <- c(1:n)
permutaciones <- permutations(n,r,conjunto,set = TRUE, repeats.allowed = TRUE)
# Permutaciones con repetición
nrow(permutaciones)
## [1] 1331

Para calcular con repeticiones, modificamos cada función de repeats.allowed = TRUE a repeats.allowed = FALSE.

Resultados sin repetición:

n <- 11
r <- 3
conjunto <- c(1:n)
permutaciones <- permutations(n,r,conjunto,set = TRUE, repeats.allowed = FALSE)
# Permutaciones sin repetición
nrow(permutaciones)
## [1] 990
  1. Las combinaciones de largo tres con las letras a, b, c, d y e con y sin repetición.
    Combinaciones con repetición:
n <- 5
r <- 3
conjunto <- c("a", "b", "c", "d", "e")
combinaciones <- combinations(n,r,conjunto, set= TRUE, repeats.allowed = TRUE)
# Combinaciones con repetición
nrow(combinaciones)
## [1] 35

Combinaciones sin repetición:

n <- 5
r <- 3
conjunto <- c("a", "b", "c", "d", "e")
combinaciones <- combinations(n,r,conjunto, set= TRUE, repeats.allowed = FALSE)
# Combinaciones sin repetición
nrow(combinaciones)
## [1] 10
  1. La cantidad de permutaciones y combinaciones con n = 39 y r = 25 sin repetición.

Permutaciones:
\[ \begin{equation} P(n,r) = \frac{39!}{(39 - 25)!} = \frac{39!}{14!} = 2.3397891608591×10^{35} \end{equation} \]

# Permutaciones sin repetición:
factorial(39)/factorial(39-25)
## [1] 2.339789e+35

Combinaciones:
\[ \begin{equation} P(n,r) = \frac{39!}{25!(39 - 25)!} = 15084504396 = 1.5×10^{10} \end{equation} \]

# Combinaciones sin repitición:
factorial(39)/(factorial(25)*factorial(39-25))
## [1] 15084504396

5. 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.

  1. ¿Cuál es la probabilidad de que sea la ruta óptima?

Debido a que el enunciado no indica si la vendedora ya se encuentra en una de las 50 ciudades a recorrer, podemos interpretar que la vendedora está en una ciudad distinta de las 50 que debe recorrer, por lo que podría empezar en cualquier punto*. Si existe solo una ruta correcta, entonces el orden de las ciudades que visite sí importa. La cantidad posible de rutas asciende a 50! Al existir solo una elección tenemos:

\[ \begin{equation} \frac{RutaÓptima}{RutasTotales} = \frac{1}{50!} = 3.2879494×10^{-65} \end{equation} \]

1/factorial(50)
## [1] 3.287949e-65

*Alternativamente, si interpretamos el problema como que la vendedora ya está en una de las ciudades a recorrer, significa la vendedora ya realizó la primera elección. En ese caso, el cálculo sería:

\[ \begin{equation} \frac{RutaÓptima}{RutasTotales} = \frac{1}{49!} = 1.643975×10^{-63} \end{equation} \]

1/factorial(49)
## [1] 1.643975e-63
  1. Si se selecciona una ruta al azar que es distinta a la anterior ¿Cuál es la probabilidad de que sea la ruta óptima?

\[ \begin{equation} \frac{RutaÓptima}{RutasTotales} = \frac{1}{50!-1} = 3.2879494×10^{-65} \end{equation} \]

1/(factorial(50)-1)
## [1] 3.287949e-65

Al restar solo una ruta la probabilidad sigue siendo extremadamente baja considerando la gran cantidad de rutas posibles. Es por esto que esta diferencia no llega a verse reflejada en los decimales presentes en el resultado mostrado.

  1. ADVERTENCIA: puede que las funciones combinations y permutations no funcionen para este problema, si es así ¿Por qué?

Factorial de 50, es un número muy grande, por lo que la capacidad de cómputo actual de los computadores en que los estudiantes estamos realizando estas operaciones se ve excedida.

6. 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.

  1. Exprese la ecuación con la que se puede resolver el problema.

Esta ecuación se puede resolver con el Teorema de Bayes.

\[ \begin{equation} P(B_j|A)=\frac{P(A_j|B)P(Bj)}{\sum_{i=1}^{k}P(A|B_i)P(B_i)} \end{equation} \] Podemos ilustrar el problema con el siguiente diagrama:
Figura1

  1. ¿Cuál es la probabilidad de que haya sido atendido por Pedro?

\[ \begin{equation} P(Pedro|Limpio)=\frac{P(Limpio|Pedro)P(Pedro)}{P(L|J)P(J)+P(L|T)P(T)+P(L|G)P(G)+P(L|P)P(P)+P(L|M)P(M)} \end{equation} \] Para simplificar, usamos solo la inicial del resto de los trabajadores y L = Limpio.

Luego,
\[ \begin{equation} P(Pedro|Limpio)=\frac{0.95\cdot0.05}{(0.95\cdot0.1)+(0.9\cdot0.6)+(0.9\cdot0.15)+(0.95\cdot0.05)+(0.4\cdot0.1)} = 0.05539359 \end{equation} \]

# b) Probabilidad de que el cliente fuese atendido por Pedro
(0.95*0.05)/((0.95*0.1)+(0.9*0.6)+(0.9*0.15)+(0.95*0.05)+(0.4*0.1))
## [1] 0.05539359
  1. ¿Cuál es la probabilidad de que haya sido atendido por Janet o Georgina?

Para calcular la probabilidad de que el cliente haya sido atendido por Janet o Georgina, primero debemos hacer la unión de aquellos subconjuntos. Si consideramos que el cliente solo fue atendido uan vez, eventos son mutuamente excluyentes. Por lo tanto:

\[ \begin{equation} Janet\cup Georgina = P(L|J\cup L|G) = P(L|J)+P(L|G) \end{equation} \] \[ \begin{equation} P(L|J\cup L|G)=\frac{(0.95\cdot0.1)+(0.9\cdot0.15)}{(0.95\cdot0.1)+(0.9\cdot0.6)+(0.9\cdot0.15)+(0.95\cdot0.05)+(0.4\cdot0.1)} = 0.2682216 \end{equation} \]

# c) Probabilidad de que el cliente fuese atendido por Janet o Georgina
((0.95*0.1)+(0.9*0.15))/((0.95*0.1)+(0.9*0.6)+(0.9*0.15)+(0.95*0.05)+(0.4*0.1))
## [1] 0.2682216
  1. Calcule la probabilidad de que haya sido atendido por Janet, Georgina, Tomás, Pedro o Marcela. ¿Qué se puede observar?

\[ \begin{equation} P(L|J\cup L|T\cup L|G\cup L|P\cup L|M)=\frac{(0.95\cdot0.1)+(0.9\cdot0.6)+(0.9\cdot0.15)+(0.95\cdot0.05)+(0.4\cdot0.1)}{(0.95\cdot0.1)+(0.9\cdot0.6)+(0.9\cdot0.15)+(0.95\cdot0.05)+(0.4\cdot0.1)} = 1 \end{equation} \]

# d) Probabilidad de que el cliente fuese atendido por Janet, Tomás, Georgina, Pedro o Marcela
((0.95*0.1)+(0.9*0.6)+(0.9*0.15)+(0.95*0.05)+(0.4*0.1))/((0.95*0.1)+(0.9*0.6)+(0.9*0.15)+(0.95*0.05)+(0.4*0.1))
## [1] 1

La probabilidad es 1 porque al incluir a todos los trabajadores posibles, quien atendió al cliente estará sí o sí dentro de la operación. Por lo tanto, existe la completa probabilidad y tenemos la certeza de que el cliente fue atendido por Janet, Georgina, Tomás, Pedro o Marcela.

7. 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?

En el enunciado se menciona que se quiere saber la opinión de 3 personas pero luego se pregunta por “las dos personas seleccionadas”. Por lo tanto, se resolverá para la probabilidad de que, dado una muestra de 3 personas escogidas al azar, 2 de ellas rechacen.

Estamos frente a un problema de distribución discreta que puede ser resuelto mediante distribución hipergeométrica debido a que trabajamos con una población total finita en donde existe un muestreo aleatorio sin reemplazo sobre el cual se busca un número específico de casos favorables, que 2 personas voten rechazo, en una muestra particular, 3 personas de un total de 40. En este escenario y con los datos entregados, el uso de la distribución hipergeométrica es la estrategia adecuada para modelar el problema. Para ello usamos la siguiente fórmula:

\[ Distribución\ Hipergeométrica = \begin{equation} f(x)=\frac{\binom{K}{x}\binom{N-K}{n-x}}{\binom{N}{n}} \end{equation} \] En donde,
N = Tamaño de población
K = Número de casos favorables en N
n = Tamaño de muestra
x = Valor que toma la variable (Casos favorables en n)

Luego, definimos la función en R y calculamos.

# Probabilidad de que al seleccionar 3 personas aleatoriamente de un grupo inicial de 40, en donde 22 de ellas votan Apruebo y 18 votan Rechazo, 2 personas de este subgrupo de 3 voten Rechazo.

N = 40 # Tamaño de población            
K = 18 # Casos favorables en N
n = 3  # Muestra
x = 2  # Casos favorables en n

binomio = function(n,k)
{resultado=factorial(n)/(factorial(n-k)*factorial(k))
  return(resultado)}

probabilidad = (binomio(K,x)*binomio(N-K,n-x))/binomio(N,n)
print(probabilidad)
## [1] 0.3406883

Finalmente, podemos calcular de manera directa usando la función dhyper.

#Comprobación mediante función dhyper
print(dhyper(x=x, m=K, n=(N-K), k=n))
## [1] 0.3406883

Referencias