Lab05 2 Combinaciones
Lab05 2 Combinaciones
Lab05 2 Combinaciones
Laboratorio N° 05.2
COMBINACIONES EN PYTHON
I
OBJETIVOS
Entender las características matemáticas y conceptuales de las combinaciones
Utilizar principios básicos de conteo para calcular combinaciones
Aplicar algoritmos para generar combinaciones.
II
TEMAS A TRATAR
Combinaciones sin repetición
Combinaciones con repetición
Algoritmos de generación de Combinaciones y Permutaciones
Ejercicios
III
MARCO TEÓRICO
Por ejemplo: ¿Cuántos tonos y colores distintos puede formar mezclando iguales cantiodades de 3
colors diferentes tomados de una paleta de 6 (Rojo, Azul, Verde, Naranja, Blanco)?
Para resolver este problema no debe tomarse en cuenta el orden. (Por ejemplo, no hay diferencia si se
elige Blanco, Azul y Naranja o Naranja, Azul y Blanco, el tono y color luego de mezclarlos será el
mismo).
Con sólo listar las posibilidades, se ve que existen 10 maneras de elegir los tres colores:
VBR, VBA, VRA, BRA, VBN, VRN, BRN, VAN, BAN, RAN.
El número de maneras en que se pueden elegir los 3 colores de un total de 5 es C(5, 3), el número de
combinaciones de 3 de cinco elementos. Se ha encontrado que:
C(5, 3) = 10
P(n, r) = C(n, r) . r!
Por lo tanto,
𝑃(𝑛, 𝑟)
𝐶(𝑛, 𝑟) =
𝑟!
𝑃(𝑛,𝑟) 𝑛(𝑛−1)…(𝑛−𝑟+1) 𝑛!
𝐶 (𝑛, 𝑟) = 𝑟!
= 𝑟!
= (𝑛−𝑟)!𝑟! r n
Ejemplos
1. ¿De cuántas maneras se puede seleccionar un comité de cuatro a partir de un grupo de 10 personas
diferentes?
Como un comité es un grupo no ordenado de personas, la respuesta es:
10 . 9 . 8 . 7
𝐶(10, 4) = = 210
4!
2. ¿De cuántas maneras se puede seleccionar un comité de dos mujeres y tres hombres de un grupo de
cinco mujeres y seis hombres?
• Las dos mujeres se pueden elegir de
C(5, 2) = 10 maneras
• Y que los tres hombres se pueden elegir de
C(6, 3) = 20 maneras
El comité se construye en dos pasos sucesivos: se elige a las mujeres; se elige a los hombres.
Por el principio de la multiplicación, el número total de comités es:
C(5,2) . C(6,3) = 10 · 20 = 200
3. Una baraja común de 52 cartas consiste en cuatro palos: tréboles, diamantes, corazones y espadas
con 13 denominaciones cada uno: as, de 2 a 10, jack, reina y rey.
1. ¿Cuántas manos de póquer (sin ordenar) de cinco cartas, seleccionadas de una baraja común de
52 cartas, existen?
La respuesta está dada por la fórmula de las combinaciones
C(52, 5) = 2,598,960
3. ¿Cuántas manos de póquer contienen tres cartas de una denominación y dos de una segunda
denominación?
Una mano que contiene tres cartas de una denominación y dos de otra se puede construir en
cuatro pasos sucesivos: seleccionamos la primera denominación; seleccionamos la segunda
denominación; seleccionamos tres cartas de la primera denominación; seleccionamos dos cartas
de la segunda denominación.
• La primera denominación se puede elegir de 13 maneras.
• Una vez elegida, se puede seleccionar la segunda denominación de 12 maneras.
• Se pueden elegir tres cartas de la primera denominación de C(4, 3) maneras
• Y se pueden seleccionar dos cartas de la segunda denominación de C(4, 2) maneras.
El número de maneras de seleccionar r objetos a partir de n objetos distintos, con selecciones repetidas
es:
C(n+r-1, r)
Ejemplos:
C(6+3-1,3) = C(8,3) = 56
Debido a que lanzar tres dados equivale a seleccionar tres de los seis números 1,2,3,4,5,6 con
repeticiones permitidas.
2. Una tienda ofrece 20 tipos de donas. Si suponemos que al menos hay una docena de cada tipo
cuando entramos a la tienda, podemos elegir una docena de donas de:
3. ¿De cuántas formas se pueden distribuir tres manzanas y seis naranjas entre cuatro niños, de modo
que cada niño reciba al menos una manzana?
• Al dar a cada niño una manzana, se tiene C(4+3–1,3) = 20 formas de distribuir las tres
manzanas
• y C(4+6–1,6) = 84 formas de distribuir las seis naranjas.
Por la regla del producto, hay 20 * 84 = 1680 formas de distribuir la fruta en las condiciones
establecidas.
Una posible interpretación sería: Se distribuyen siete centavos (objetos idénticos) entre cuatro niños
(destinatarios distintos). Si x1=3, x2=3, x3=0, x4=1 se puede ver como si se dieron tres centavos a
cada uno de los dos primeros niños, nada al tercero y el último centavo al cuarto.
Bajo esta interpretación, se observa que cada solución entera no negativa de la ecuación
corresponde a una selección con repetición, de tamaño 7 (los centavos idénticos) de una colección
de tamaño 4 (los niños distintos), de modo que hay:
Cualquier i, j, k satisface 1 ≤ k ≤ j ≤ i ≤ 20
Esto es, seleccionar 3 números, con repetición, de 20 entre números:
RESUMEN
def permutacion(n):
s = [0]
for i in range(1,n+1):
s.append(i)
print (s[1:n+1])
for i in range(2, fact(n)+1):
m = n - 1
while (s[m] > s[m+1]):
m = m – 1
k = n
while (s[m] > s[k):
k = k -1
s[m], s[k] = s[k], s[m]
p = m + 1
q = n
while (p < q):
s[p], s[q] = s[q], s[p]
p = p + 1
q = q - 1
print (s[1:n+1])
IV
ACTIVIDADES
V
EJERCICIOS
1. Implemente un algoritmo para calcular las combinaciones r de n elementos C(n,r) siendo n y r
números enteros donde 0 ≤ r ≤ n
2. Implemente un algoritmo que enumere todas las selecciones de tamaño 2 de los objetos
1,2,3,4,5,6
3. Implemente un algoritmo que halle el número de disposiciones de las letras de un texto
introducido. Por ejemplo si el texto es TALLAHASSEE, el número de disposiciones de las letras
son:
11!
= 831,600 formas
3!∙2!∙2!∙2!∙1!∙1!
9
Tres de estas posiciones se pueden seleccionar de ( ) = 84 formas
3
Como esto también es posible para las 5039 ordenaciones restantes, por la regla del producto,
hay 5040 x 84 = 423, 360 disposiciones de las letras de TALLAHASSEE sin letras A
consecutivas
5. En el algoritmo anterior que el usuario especifique que letra del texto introducido no debe estar
consecutiva
6. Implemente un algoritmo para calcular las combinaciones de n objetos tomados de r en r, con
repeticiones: C(n+r-1, r)
VI
CUESTIONARIO
VII
BIBLIOGRAFÍA Y MATERIAL DE REFERENCIA