Desarollo

1.

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

2.

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

  • La diferencia entre permutación y combinación es que para la permutación se tiene en cuenta el orden de los objetos o números, pero para la combinación el orden no importa.

-Ecuacion permutación: nPr = n! / (n - r)!

-Ecuacion combinación: nCr = n! / (n - r)!r!

3.

Busque en la ayuda de R las funciones combinations y permutations y explique brevemente cómo funcionan

  • La función combinations() permite generar todas las combinaciones posibles de un conjunto de objetos.

Ejemplo combinations()

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.

  • La función permutations() permite generar todas las permutaciones posibles de un conjunto de objetos.

Ejemplo permutations()

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.

4

Calcule:

a)

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

b)

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"

c)

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

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

a)

¿cuál es la probabilidad de que sea la ruta óptima?

  • La probabilidad de que se elija aleatoriamente el camino óptimo depende del número total de caminos posibles y del número de caminos óptimos. En este caso solo hay 49! rutas posibles ya que el vendedora puede empezar en cualquier ciudad y visitar las 49 restantes en un orden específico antes de regresar a la ciudad de origen. Para encontrar el número de rutas óptimas, hay que tener en cuenta que cada ciudad debe visitarse exactamente una vez. Así, se puede elegir la primera ciudad de la ruta de entre las 50 ciudades disponibles, la segunda ciudad de las 49 ciudades restantes, la tercera ciudad de las 48 ciudades restantes, etc. Hasta llegar a la última ciudad, que debe ser el punto de partida.

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?

  • En general, después de visitar k ciudades, la probabilidad de que la siguiente ruta sea óptima es 1/(50-k)!, ya que (50-k)! diferentes formas de visitar el resto de las ciudades. En cualquier situación, si el vendedora ya ha visitado varias ciudades, la probabilidad de que la siguiente ruta sea la óptima es menor que si elige la ruta al azar desde el principio, porque el número de permutaciones posibles disminuye a medida a que se visiten más ciudades.

*

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.

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

a)

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)

  • n es el número total de parabrisas que deben ser limpiados.
  • k es el número de parabrisas que son limpiados correctamente.
  • 0.2916 es la probabilidad de que un parabrisas sea limpiado correctamente.

b)

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

c)

¿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

d)

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
  • Esto significa que la probabilidad de que el cliente haya sido atendido por Janet, Georgina, Thomas, Pedro o Marcela es de aproximadamente 85.75%. Vemos que Marcela es la que menos probabilidades tiene de que un empleado espere a un cliente porque rara vez limpia bien el parabrisas. También podemos notar que Thomas es el que tiene más probabilidades de ser atendido por un cliente, ya que atiende al 60% de los clientes.

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?

  • Se debe calcular el número total de formas en que se pueden seleccionar 3 personas de un grupo de 40. Esto se puede hacer usando la formula: C(40,3) = 40! / (3! * (40-3)!) = 9880, esto quiere decir 9880 formas posibles de seleccionar un grupo de 3 personas de un total de 40. Ahora, se debe determinar el número de formas en que se pueden seleccionar 3 personas que rechacen la nueva constitución. Para hacer esto, primero se selecciona 3 personas de las 18 que rechazan, para se utiliza la siguiente formula: C(18,3) = 18! / (3! * (18-3)!) = 816, lo que significa que hay hay 816 formas posibles de seleccionar un grupo de 3 personas de las 18 que rechazan. Por último, se determina la probabilidad en la que dos personas rechacen la nueva constitución. Para resolver esto, dividimos el número de formas posibles de seleccionar 3 personas que rechacen por el número total de formas posibles de seleccionar cualquier grupo de 3 personas, el cual queda expresado: P(rechazo) = C(18,3) / C(40,3) = 816 / 9880 = 0.0826. Por lo tanto, la probabilidad de que las dos personas seleccionadas rechacen la nueva constitución es del 8,26%.

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