Permutaciones y Combinaciones

Objetivo

Realizar técnicas de conteo con diversos datos utilizando permutaciones y combinaciones con el uso de la librería “gtools”.

Descripción

Desarrollar un archivo markdown que identifique el uso de las técnicas de permutaciones y combinaciones con un conjunto de nombres de personas.

Proceso

1.- Cargar librerias

library(gtools)
library(knitr)

2.- Construir los datos

S.personas <- c("Juan", "Paty", "Laura", "Oscar", "Aracely")

personas.agregadas <- c("Marcos", "Ruby", "Michael", "Alma", "Joan")

S.personas <- c(S.personas,personas.agregadas)
S.personas
##  [1] "Juan"    "Paty"    "Laura"   "Oscar"   "Aracely" "Marcos"  "Ruby"   
##  [8] "Michael" "Alma"    "Joan"
n <- length(S.personas) #Deben ser 10 Personas

3.- Realizar Permutaciones con grupos de 3, 5 y 7

Permutaciones de 3

grupos <- 3
head(permutations(n = n,r = grupos, S.personas),10)
##       [,1]   [,2]      [,3]     
##  [1,] "Alma" "Aracely" "Joan"   
##  [2,] "Alma" "Aracely" "Juan"   
##  [3,] "Alma" "Aracely" "Laura"  
##  [4,] "Alma" "Aracely" "Marcos" 
##  [5,] "Alma" "Aracely" "Michael"
##  [6,] "Alma" "Aracely" "Oscar"  
##  [7,] "Alma" "Aracely" "Paty"   
##  [8,] "Alma" "Aracely" "Ruby"   
##  [9,] "Alma" "Joan"    "Aracely"
## [10,] "Alma" "Joan"    "Juan"
tail(permutations(n = n,r = grupos, S.personas),10)
##        [,1]   [,2]    [,3]     
## [711,] "Ruby" "Oscar" "Michael"
## [712,] "Ruby" "Oscar" "Paty"   
## [713,] "Ruby" "Paty"  "Alma"   
## [714,] "Ruby" "Paty"  "Aracely"
## [715,] "Ruby" "Paty"  "Joan"   
## [716,] "Ruby" "Paty"  "Juan"   
## [717,] "Ruby" "Paty"  "Laura"  
## [718,] "Ruby" "Paty"  "Marcos" 
## [719,] "Ruby" "Paty"  "Michael"
## [720,] "Ruby" "Paty"  "Oscar"

Permutaciones de 5

grupos <- 5
head(permutations(n = n,r = grupos, S.personas),10)
##       [,1]   [,2]      [,3]   [,4]    [,5]     
##  [1,] "Alma" "Aracely" "Joan" "Juan"  "Laura"  
##  [2,] "Alma" "Aracely" "Joan" "Juan"  "Marcos" 
##  [3,] "Alma" "Aracely" "Joan" "Juan"  "Michael"
##  [4,] "Alma" "Aracely" "Joan" "Juan"  "Oscar"  
##  [5,] "Alma" "Aracely" "Joan" "Juan"  "Paty"   
##  [6,] "Alma" "Aracely" "Joan" "Juan"  "Ruby"   
##  [7,] "Alma" "Aracely" "Joan" "Laura" "Juan"   
##  [8,] "Alma" "Aracely" "Joan" "Laura" "Marcos" 
##  [9,] "Alma" "Aracely" "Joan" "Laura" "Michael"
## [10,] "Alma" "Aracely" "Joan" "Laura" "Oscar"
tail(permutations(n = n,r = grupos, S.personas),10)
##          [,1]   [,2]   [,3]    [,4]      [,5]     
## [30231,] "Ruby" "Paty" "Oscar" "Marcos"  "Joan"   
## [30232,] "Ruby" "Paty" "Oscar" "Marcos"  "Juan"   
## [30233,] "Ruby" "Paty" "Oscar" "Marcos"  "Laura"  
## [30234,] "Ruby" "Paty" "Oscar" "Marcos"  "Michael"
## [30235,] "Ruby" "Paty" "Oscar" "Michael" "Alma"   
## [30236,] "Ruby" "Paty" "Oscar" "Michael" "Aracely"
## [30237,] "Ruby" "Paty" "Oscar" "Michael" "Joan"   
## [30238,] "Ruby" "Paty" "Oscar" "Michael" "Juan"   
## [30239,] "Ruby" "Paty" "Oscar" "Michael" "Laura"  
## [30240,] "Ruby" "Paty" "Oscar" "Michael" "Marcos"

Permutaciones de 7

grupos <- 7
head(permutations(n = n,r = grupos, S.personas),10)
##       [,1]   [,2]      [,3]   [,4]   [,5]    [,6]      [,7]     
##  [1,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Marcos"  "Michael"
##  [2,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Marcos"  "Oscar"  
##  [3,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Marcos"  "Paty"   
##  [4,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Marcos"  "Ruby"   
##  [5,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Michael" "Marcos" 
##  [6,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Michael" "Oscar"  
##  [7,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Michael" "Paty"   
##  [8,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Michael" "Ruby"   
##  [9,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Oscar"   "Marcos" 
## [10,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Oscar"   "Michael"
tail(permutations(n = n,r = grupos, S.personas),10)
##           [,1]   [,2]   [,3]    [,4]      [,5]     [,6]    [,7]     
## [604791,] "Ruby" "Paty" "Oscar" "Michael" "Marcos" "Joan"  "Juan"   
## [604792,] "Ruby" "Paty" "Oscar" "Michael" "Marcos" "Joan"  "Laura"  
## [604793,] "Ruby" "Paty" "Oscar" "Michael" "Marcos" "Juan"  "Alma"   
## [604794,] "Ruby" "Paty" "Oscar" "Michael" "Marcos" "Juan"  "Aracely"
## [604795,] "Ruby" "Paty" "Oscar" "Michael" "Marcos" "Juan"  "Joan"   
## [604796,] "Ruby" "Paty" "Oscar" "Michael" "Marcos" "Juan"  "Laura"  
## [604797,] "Ruby" "Paty" "Oscar" "Michael" "Marcos" "Laura" "Alma"   
## [604798,] "Ruby" "Paty" "Oscar" "Michael" "Marcos" "Laura" "Aracely"
## [604799,] "Ruby" "Paty" "Oscar" "Michael" "Marcos" "Laura" "Joan"   
## [604800,] "Ruby" "Paty" "Oscar" "Michael" "Marcos" "Laura" "Juan"

4.- Realizar combinaciones con grupos de 4, 6 y 8

Combinaciones de 4

grupos <- 4
head(combinations(n = n,r = grupos, S.personas),10)
##       [,1]   [,2]      [,3]   [,4]     
##  [1,] "Alma" "Aracely" "Joan" "Juan"   
##  [2,] "Alma" "Aracely" "Joan" "Laura"  
##  [3,] "Alma" "Aracely" "Joan" "Marcos" 
##  [4,] "Alma" "Aracely" "Joan" "Michael"
##  [5,] "Alma" "Aracely" "Joan" "Oscar"  
##  [6,] "Alma" "Aracely" "Joan" "Paty"   
##  [7,] "Alma" "Aracely" "Joan" "Ruby"   
##  [8,] "Alma" "Aracely" "Juan" "Laura"  
##  [9,] "Alma" "Aracely" "Juan" "Marcos" 
## [10,] "Alma" "Aracely" "Juan" "Michael"
tail(combinations(n = n,r = grupos, S.personas),10)
##        [,1]      [,2]      [,3]    [,4]  
## [201,] "Laura"   "Marcos"  "Paty"  "Ruby"
## [202,] "Laura"   "Michael" "Oscar" "Paty"
## [203,] "Laura"   "Michael" "Oscar" "Ruby"
## [204,] "Laura"   "Michael" "Paty"  "Ruby"
## [205,] "Laura"   "Oscar"   "Paty"  "Ruby"
## [206,] "Marcos"  "Michael" "Oscar" "Paty"
## [207,] "Marcos"  "Michael" "Oscar" "Ruby"
## [208,] "Marcos"  "Michael" "Paty"  "Ruby"
## [209,] "Marcos"  "Oscar"   "Paty"  "Ruby"
## [210,] "Michael" "Oscar"   "Paty"  "Ruby"

Combinaciones de 6

grupos <- 6
head(combinations(n = n,r = grupos, S.personas),10)
##       [,1]   [,2]      [,3]   [,4]   [,5]      [,6]     
##  [1,] "Alma" "Aracely" "Joan" "Juan" "Laura"   "Marcos" 
##  [2,] "Alma" "Aracely" "Joan" "Juan" "Laura"   "Michael"
##  [3,] "Alma" "Aracely" "Joan" "Juan" "Laura"   "Oscar"  
##  [4,] "Alma" "Aracely" "Joan" "Juan" "Laura"   "Paty"   
##  [5,] "Alma" "Aracely" "Joan" "Juan" "Laura"   "Ruby"   
##  [6,] "Alma" "Aracely" "Joan" "Juan" "Marcos"  "Michael"
##  [7,] "Alma" "Aracely" "Joan" "Juan" "Marcos"  "Oscar"  
##  [8,] "Alma" "Aracely" "Joan" "Juan" "Marcos"  "Paty"   
##  [9,] "Alma" "Aracely" "Joan" "Juan" "Marcos"  "Ruby"   
## [10,] "Alma" "Aracely" "Joan" "Juan" "Michael" "Oscar"
tail(combinations(n = n,r = grupos, S.personas),10)
##        [,1]    [,2]     [,3]      [,4]      [,5]    [,6]  
## [201,] "Joan"  "Laura"  "Marcos"  "Oscar"   "Paty"  "Ruby"
## [202,] "Joan"  "Laura"  "Michael" "Oscar"   "Paty"  "Ruby"
## [203,] "Joan"  "Marcos" "Michael" "Oscar"   "Paty"  "Ruby"
## [204,] "Juan"  "Laura"  "Marcos"  "Michael" "Oscar" "Paty"
## [205,] "Juan"  "Laura"  "Marcos"  "Michael" "Oscar" "Ruby"
## [206,] "Juan"  "Laura"  "Marcos"  "Michael" "Paty"  "Ruby"
## [207,] "Juan"  "Laura"  "Marcos"  "Oscar"   "Paty"  "Ruby"
## [208,] "Juan"  "Laura"  "Michael" "Oscar"   "Paty"  "Ruby"
## [209,] "Juan"  "Marcos" "Michael" "Oscar"   "Paty"  "Ruby"
## [210,] "Laura" "Marcos" "Michael" "Oscar"   "Paty"  "Ruby"

Combinaciones de 8

grupos <- 8
head(combinations(n = n,r = grupos, S.personas),10)
##       [,1]   [,2]      [,3]   [,4]   [,5]    [,6]      [,7]      [,8]   
##  [1,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Marcos"  "Michael" "Oscar"
##  [2,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Marcos"  "Michael" "Paty" 
##  [3,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Marcos"  "Michael" "Ruby" 
##  [4,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Marcos"  "Oscar"   "Paty" 
##  [5,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Marcos"  "Oscar"   "Ruby" 
##  [6,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Marcos"  "Paty"    "Ruby" 
##  [7,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Michael" "Oscar"   "Paty" 
##  [8,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Michael" "Oscar"   "Ruby" 
##  [9,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Michael" "Paty"    "Ruby" 
## [10,] "Alma" "Aracely" "Joan" "Juan" "Laura" "Oscar"   "Paty"    "Ruby"
tail(combinations(n = n,r = grupos, S.personas),10)
##       [,1]      [,2]   [,3]    [,4]     [,5]      [,6]      [,7]    [,8]  
## [36,] "Alma"    "Juan" "Laura" "Marcos" "Michael" "Oscar"   "Paty"  "Ruby"
## [37,] "Aracely" "Joan" "Juan"  "Laura"  "Marcos"  "Michael" "Oscar" "Paty"
## [38,] "Aracely" "Joan" "Juan"  "Laura"  "Marcos"  "Michael" "Oscar" "Ruby"
## [39,] "Aracely" "Joan" "Juan"  "Laura"  "Marcos"  "Michael" "Paty"  "Ruby"
## [40,] "Aracely" "Joan" "Juan"  "Laura"  "Marcos"  "Oscar"   "Paty"  "Ruby"
## [41,] "Aracely" "Joan" "Juan"  "Laura"  "Michael" "Oscar"   "Paty"  "Ruby"
## [42,] "Aracely" "Joan" "Juan"  "Marcos" "Michael" "Oscar"   "Paty"  "Ruby"
## [43,] "Aracely" "Joan" "Laura" "Marcos" "Michael" "Oscar"   "Paty"  "Ruby"
## [44,] "Aracely" "Juan" "Laura" "Marcos" "Michael" "Oscar"   "Paty"  "Ruby"
## [45,] "Joan"    "Juan" "Laura" "Marcos" "Michael" "Oscar"   "Paty"  "Ruby"

5.- Interpretar el caso Permutaciones

En permutaciones de 3

1-¿En cuantos casos sale el nombre de “Laura” en la primera posicion? R.- En 1 caso 2-¿Cuantas ocaciones aparece “Aracely” en segundo lugar? R.- En 1 ocacion 3-¿Cuantas permutaciones se generan? R.- 720 Permutaciones

En permutaciones de 5

1-¿En cuantos casos sale el nombre de “Laura” en la primera posicion? R.- En 2 casos 2-¿Cuantas ocasiones aparece “Aracely” en segundo lugar? R.- En 1 ocacion 3-¿Cuantas permutaciones se generan? R.- 30,240 Permutaciones

En permutaciones de 7

1-¿En cuantos casos sale el nombre de “Laura” en la primera posicion? R.- En 6 casos 2-¿Cuantas ocasiones “Aracely” en segundo lugar? R.- En 1 ocacion 3-¿Cuantas permutaciones se generan? R.- 5,040 Permutaciones

6.- Interpretar el caso Combinaciones

En combinaciones de 4

1-¿En cuantos casos se identifican los nombres de “Aracely” y “Laura” de manera continua en ese orden? R.- Aracely en 10 casos y Laura en 8 casos 2-¿Cuantas ocasiones aparece “Aracely” en el primer lugar? R.- En 10 ocaciones 3-¿Cuantas combinaciones se generan? R.- 210 Combinaciones

En combinaciones de 6

1-¿En cuantos casos se identifican los nombres de “Oscar” y “Paty” de manera continua en ese orden? R.- Oscar en 6 casos y Paty en 7 casos 2-¿Cuantas ocaciones aparece “Laura” en el primer lugar? R.- En 3 ocaciones 3-¿Cuantos combinaciones se generan? R.- 45 Combinaciones

En combinaciones de 8

1¿En cuantos casos aparece el nombre de “Oscar” y “Paty” de manera continua? R.- Oscar en 4 casos y Paty en 2 casos 2-¿Cuantas ocaciones aparece “Aracely” en primer lugar? R.- En 10 ocaciones 3-¿Cuantas combinaciones se generan? R.- 45 Combinaciones

7.- Interpretacion del caso

En este caso me gusto la forma de implementar los datos que fueron los nombre que tanto yo como el profe creamos para dar uso de las conbinaciones y permutaciones de forma que se pudieron generar las tablas las cuales eran diferentes en cuanto a los resultados obtenidos de forma que en la permutacion de 5 se me generaron 30,240 permutaciones las cuales pude identificar que el nombre de laura se encontraba en dos casos en la primera posicion. En las combinaciones de 4 se crearon 210 combinaciones las cuales aparecio Aracely en el primer lugar en 10 ocasiones. Esto me ayudo a comprender mejor estos dos conceptos los cuales fueron de mi agrado a la vez de que me ayudaron en lo practico y mental. Me ayudo a comprender los dos conceptos claves de forma que los represente con los datos creados para dar respuesta a las preguntas que se presentan.