lunes, 29 de mayo de 2017

Cartesius(4) Combinaciones


Llegamos a la cuarta entrada de esta serie sobre la herramienta Cartesius. Las anteriores las puedes leer previamente si eliges la etiqueta Cartesius en el lateral de este blog:


Recordamos también la dirección de descarga:

http://www.hojamat.es/sindecimales/combinatoria/herramientas/herrcomb.htm#cartesius

Combinaciones

Cartesius maneja de igual forma variaciones que combinaciones. La única diferencia es que en estas hay que añadir CRECIENTE, para que el orden no intervenga y cada arreglo sea en realidad un conjunto. Si además se desea que no existan repeticiones, se añade NO REPITE.

Combinaciones ORDINARIAS

Ya lo hemos explicado: basta añadir CRECIENTE y NO REPITE  a las condiciones. Por ejemplo, así construiríamos las combinaciones de 7 elementos tomados de 5 en 5:


XTOTAL=5 indica que las combinaciones constarán de cinco elementos cada una, XT=1..7 define los elementos del conjunto base, Y CRECIENTE y NO REPITE ya están explicados.

Te resultarán 21, según la clásica fórmula

que en este caso da C7,5=7!/(5!2!)=21. Son estas:



Es un tema sencillo, que podemos usar para comprobar desarrollos construidos manualmente.

Combinaciones con repetición

Es evidente que si suprimimos la condición NO REPITE resultarán combinaciones con repetición.

Si combinamos 6 elementos tomados de 3 en 3, de forma creciente y pudiendo repetir elementos, nos resultarán combinaciones con repetición. Usamos estas condiciones:



Resultan 56 combinaciones. Aquí vemos las primeras:



Este resultado está de acuerdo con la fórmula general:


En efecto, CR6,3 = 8!/(3!5!) = 8*7*6/6 = 56

Se comprende que esta hoja es muy útil para comprobar cálculos efectuados con otras herramientas. Pero también permite investigar condiciones nuevas. ¿Qué hubiera ocurrido si añadimos la palabra REPITE? Una primera idea es que no se alteraría nada, que resultarían combinaciones con repetición, pero no es exactamente así. Si desarrollamos con esa nueva condición el resultado no es ya 56, sino 36. Como habrás comprendido, ahora sólo se generan arreglos que tengan repetición con toda seguridad, mientras que antes entraban todos, los que contenían repeticiones y los que no. La fórmula en este caso sería la diferencia entre el número de combinaciones con repetición y las que no la admiten:



En este ejemplo los cálculos serían Crep6,3=8!/(3!5!) - 6!/(3!3!)=56-20=36
Como en los ejemplos anteriores, se pueden añadir otros condicionamientos. Podemos fijar una cuenta de elementos, pero sólo en el caso de combinaciones con repetición. Imaginemos que en el ejemplo anterior deseamos que se permitan repeticiones y que el elemento 4 se repita dos veces. Quedarían las condiciones así:



El resultado sería



Es fácil de entender que sólo resulten cinco: el par 4 4 acompañado de 1, 2, 3, 5 o 6.

Sumas

Un tipo especial de combinaciones, al que quizás volvamos más adelante son los desarrollos de un número en sumas según una lista

 (ver http://hojaynumeros.blogspot.com.es/2010/02/frobenius-y-los-mcnuggets.html)

Se trata de partir de una lista concreta de números, por ejemplo los primeros cinco primos, y encontrar la forma de descomponer otro número como suma de ellos. En Cartesius puedes efectuarlo con todos o con parte de ellos. Por ejemplo, ¿se puede descomponer el número 28 en suma de los siete primeros primos 2, 3, 5, 7, 11?

Para ello usaremos una condición nueva, ETIQ, que sustituye los números que se van a combinar por otros predefinidos en la hoja Almacén de datos. En otro momento lo explicaremos con más detalle. En este caso bastaría escribir XT=ETIQ(PRIMO) para que los elementos a combinar pasaran de 1, 2, 3, 4 y 5 a los primos 2, 3, 5, 7 y 11.



Las condiciones completas serían:


Ya podrás interpretarlas, al menos parcialmente. Nos obligan a: combinar cinco números tomados de 5 en 5, que han de ser primos y sumar 28. Lo desarrollaremos de forma creciente para evitar soluciones idénticas pero con distinto orden.

El resultado es


Vemos que existen cuatro formas de engendrar el 28 con números primos (con repetición). Si añadiéramos la condición NO REPITE, sólo obtendríamos la segunda: 2+3+5+7+11. ¿Y con menos sumandos? Sustituimos XTOTAL=5 por XRANGO=5, a ver qué ocurre.

Lo programamos y descubrimos cuatro soluciones más, porque XRANGO recorre las posibilidades de suma desde 1 sumando hasta 5:


Por terminar esta presentación rápida, comprobamos que Cartesius no sólo puede calcular la suma, sino, en casos preparados, descubrir su naturaleza. Si en lugar de SUMA=28 hubiéramos escrito SUMA:PRIMO, se desarrollarían todas las sumas entre 2, 3, 5, 7 y 11 cuyo resultado es primo. Obtenemos 76 posibilidades, que van desde las más simples, como 2+3 o 2+5 hasta la de mayor suma, 7+7+11+11+11 =47.

Si impedimos que se repitan sólo obtendríamos 12, contando las sumas unitarias:


Este tema de descomposiciones en sumas da para otras entradas. En concreto, dedicaremos una a particiones de un número y otra a sumas especiales.

No hay comentarios: