Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
pr eli m in ar Notas de Matemática Discreta por Ve rs ión Pablo Fernández Gallardo y José Luis Fernández Pérez Universidad Autónoma de Madrid Lo que sigue es una versión preliminar (en formato pdf) de uno de los capı́tulos del libro “Notas de Matemática Discreta”, que se puede descargar en www.uam.es/pablo.fernandez. Agradecerı́amos a los posibles lectores que nos enviaran cualquier sugerencia o corrección que consideren oportuna, a las direcciones de correo electrónico pablo.fernandez@uam.es ó joseluis.fernandez@uam.es. pr eli m in ar Capı́tulo 2 Las técnicas básicas de la Combinatoria Ve rs ión Contar es una técnica . . . y un arte. Averiguar cuántos objetos existen que se ajustan a determinadas caracterı́sticas puede no ser fácil1 . En el caso de una colección fı́sica, concreta, de objetos se trata simplemente de enumerarlos, es decir, quién decimos que es el primero, quién el segundo, etc. Pero si, como es habitual, lo que tenemos es una colección definida abstractamente (como por ejemplo, los pasos de un algoritmo cuando los datos de entrada son de un determinado tamaño), el procedimiento tiene que ser otro. Con frecuencia, la única alternativa es indirecta y consiste en comparar la colección dada con otra colección de objetos (cuyo número conocemos) y comprobar, si fuera el caso, que tienen el mismo número de objetos. En este capı́tulo discutiremos una serie de técnicas muy útiles para llevar a cabo ese tipo de comprobaciones; pero cómo seleccionar la colección adecuada con la que se compara es más una cuestión de experiencia, y de prueba y error; todo un arte. Las colecciones de objetos que nos interesarán vienen a veces ordenadas de forma natural y otras veces el orden resulta irrelevante. En ocasiones las colecciones se forman atendiendo a ciertos principios de exclusión que impiden repeticiones, y en otras no. Estos dos condicionantes, orden y repetición, aparecen siempre en cualesquiera cuestiones de Combinatoria. Y siempre, en cada caso particular, habrá que precisarlos. Un conjunto es una colección (no ordenada) de objetos, que llamaremos sus elementos. Un conjunto muy especial es el conjunto vacı́o, Ø, aquél que no tiene elemento alguno. Generalmente, los representaremos escribiendo sus elementos entre llaves. Si permitimos que el conjunto contenga elementos repetidos, utilizaremos un nombre especial, multiconjuntos. Nos interesará, fundamentalmente, contar el número de elementos de que consta un conjunto, lo que llamaremos su tamaño o cardinal. En un momento precisaremos esta idea. En muchas ocasiones convendrá considerar listas, colecciones ordenadas de objetos, en las que deberemos distinguir si se permite o no la aparición repetida de elementos (hablaremos de listas con y sin repetición permitida). Las representaremos generalmente escribiendo sus elementos entre paréntesis. El número de elementos de que consta una lista será su longitud. 1 Es bien sabido que hay tres tipos de matemáticos: los que saben contar y los que no. 65 66 Capı́tulo 2. Las técnicas básicas de la Combinatoria pr eli m in ar Todas estas ideas serán convenientemente desarrolladas en las páginas siguientes, donde nos entrenaremos en la tarea de decidir qué tipo de objetos son los adecuados para describir cada problema particular. A veces tendremos que mezclarlos y considerar, por ejemplo, conjuntos cuyos elementos son listas, o listas cuyos términos son conjuntos. Supongamos, por ejemplo, que tenemos los objetos a, b y c. Podemos, por ejemplo, considerar los conjuntos de tamaño 2 que podemos formar con estos objetos, {a, b}, {a, c}, {b, c} , o quizás las listas sin repetición de longitud 2, (a, b), (b, a), (a, c), (c, a), (b, c), (c, b) . Si permitiéramos repetición de elementos, deberı́amos añadir, en el primer caso, los conjuntos {a, a}, {b, b} y {c, c}; y, en el segundo, las listas (a, a), (b, b) y (c, c). Obsérvese el uso que hemos hecho de la notación de las llaves y los paréntesis en esta enumeración. Por ejemplo, el conjunto {a, b} es el mismo que {b, a}, mientras que la lista (a, b) no es la misma que la (b, a). 2.1. Aprendiendo a contar Ve rs ión Se dice que un conjunto A tiene cardinal n si existe una función biyectiva f : {1, . . . , n} → A. Por convenio se asigna cardinal cero al conjunto vacı́o. Un momento de reflexión lleva a concluir que el cardinal no es más que el número de elementos de un conjunto. A este cardinal lo llamaremos también, al menos cuando sea finito, tamaño del conjunto. Para un conjunto A escribiremos, indistintamente, tamaño de A = |A| = #A Ası́ que, aunque suene algo pedante, contar consiste en establecer una biyección entre los elementos del conjunto y un conjunto de números naturales. Pero es algo que hacemos, aunque no seamos conscientes de ello: si quisiéramos contar el número de alumnos que hay en el aula, empezarı́amos por uno de ellos y le asignarı́amos el 1 (quizás señalándolo y diciendo “uno” en alto), luego irı́amos al siguiente y le asignarı́amos el 2, etc. El resultado final, por supuesto, no depende del orden en que hayamos hecho la asignación (es decir, de la biyección elegida), sino sólo de la cantidad de números naturales 1, 2, . . . que hayamos utilizado. Podemos ir un poco más allá con esta idea. Una consecuencia directa de nuestra definición de cardinal es la siguiente: si A y B son dos conjuntos y existe una aplicación biyectiva de A sobre B, entonces |A| = |B|. Es decir, dos conjuntos tienen el mismo cardinal si existe una biyección entre ellos2 . Diremos que un conjunto es infinito3 si no se puede establecer una biyección con {1, . . . , n}, para ningún n. 2 3 Hay otras maneras de comprobar que dos conjuntos tienen el mismo cardinal, véase el ejercicio 2.1.3. La definición de cardinal se puede ampliar a conjuntos infinitos (véase la subsección 2.1.3). (versión preliminar 11 de octubre de 2004) 2.1. Aprendiendo a contar 67 pr eli m in ar Ésta será una de nuestras herramientas fundamentales para contar el número de elementos de un conjunto A: buscar un diccionario (una biyección) que transforme el problema en el de contar el número de elementos de otro conjunto B (en principio, sus elementos no tienen por qué ser del mismo tipo que los del original). Obviamente, este procedimiento será efectivo si el segundo conjunto resulta más sencillo de analizar (o bien conocemos a priori su tamaño). Ejemplo 2.1.1 Queremos conocer el tamaño del conjunto A = {n ∈ N : n es divisor de 60000}. Un primer intento podrı́a consistir en enumerar todos los números menores o iguales que 60000 e ir comprobando, uno a uno, si lo dividen o no. Pero podemos ser más astutos. Si escribimos el desarrollo en factores primos de 60000, 60000 = 25 · 31 · 54 , observamos que si n es divisor de 60000, entonces n = 2α · 3β · 5γ con {0 ≤ α ≤ 5, 0 ≤ β ≤ 1, 0 ≤ γ ≤ 4.} (si esto no nos convence, véase el lema 4.12). Ası́ que podemos establecer la biyección    0 ≤ α ≤ 5,     3-listas A = {n ∈ N : n es divisor de 60000} ←→ B = 0 ≤ β ≤ 1,     (α, β, γ) 0 ≤ γ ≤ 4. Ve rs ión Para comprobar que esto es realmente una biyección sólo necesitamos recordar que la descomposición de un entero en factores primos es única (véase, por ejemplo, el lema 4.12). Una vez probado que tenemos una biyección entre conjuntos, podremos concluir que |A| = |B|. Con esto hemos transformado un problema en otro; aprenderemos pronto a evaluar el tamaño del segundo conjunto. ♣ Ejemplo 2.1.2 Sean X = {1, 2, . . . , n} y A = {subconjuntos de X}. Queremos conocer el tamaño de A, es decir, saber cuántos posibles subconjuntos tiene un conjunto con n elementos. Para identificar un subconjunto de X basta decidir si cada elemento de X está o no en el subconjunto. Una manera de hacerlo serı́a asociar un 0 a los elementos de X que no están en el subconjunto y un 1 a los que sı́ lo están. Por ejemplo: 1 0 2 1 3 1 ··· ··· n−1 1 n 0 Algunos ejemplos de esta identificación serı́an: (0, 1, 1, . . . , 1, 1) ←→ {2, 3, . . . , n − 1, n} (0, 0, 0, . . . , 0, 0) ←→ Ø (1, 1, 1, . . . , 1, 1) ←→ X Con esta regla hemos construido una biyección entre nuestro conjunto original A y el conjunto B formado por todas las n-listas con repetición permitida que podemos formar con los sı́mbolos {0, 1}, que pronto aprenderemos a contar. ♣ (versión preliminar 11 de octubre de 2004) 68 2.1.1. Capı́tulo 2. Las técnicas básicas de la Combinatoria El doble conteo pr eli m in ar En realidad, el caso de las biyecciones se puede ver como uno particular de un enunciado más general. Empecemos considerando el siguiente ejemplo: Ejemplo 2.1.3 Divisores positivos y negativos. Vamos a considerar los conjuntos A = {n ∈ N/n es divisor de 60000} y C = {n ∈ Z/n es divisor de 60000}. A cada divisor n positivo de 60000 le corresponden dos divisores en Z, n y −n. Ası́ que podemos construir una aplicación f : C −→ A de manera que a cada elemento n ∈ C se le asocia un elemento de A mediante la receta f (n) = |n|. Esta aplicación es sobreyectiva, pues cada elemento de A tiene al menos una preimagen, un elemento de C con el que está relacionado a través de la aplicación f . Sin embargo, no es biyectiva, porque hay elementos de C cuyas imágenes coinciden (n y −n van ambos a |n|). De hecho, cada elemento de A tiene exactamente dos preimágenes. Ası́ que C tiene el doble de elementos que A. ♣ El único requisito que necesitábamos en este ejemplo es que la aplicación fuera sobreyectiva (que no se “saltara” ningún elemento de A). Podemos entonces escribir que, dados dos conjuntos X e Y, si encontramos una aplicación sobreyectiva f X −→ Y Ve rs ión de manera que cada elemento de Y tenga dos preimágenes (lo que llamaremos una aplicación 2 a 1), entonces |X | = 2 |Y| . Para expresar que todos los elementos de Y tienen dos preimágenes escribiremos que #{f −1 (y)} = 2 para todo y ∈ Y. No cuesta mucho trabajo pensar ahora en aplicaciones sobreyectivas entre dos conjuntos X e Y que asocien k elementos de X a cada uno de Y. En este caso, si podemos encontrar una aplicación sobreyectiva f X −→ Y tal que #{f −1 (y)} = k para todo y ∈ Y, podremos deducir que |X | = k |Y| . Hay una manera muy gráfica de entender estos resultados (y algunos más generales que veremos a continuación). Se trata de un argumento simple, pero eficaz, que llamaremos el lema del doble conteo4 . Consiste en la siguiente idea: dada una matriz, si sumamos 4 Lamentarı́amos que nuestro entusiasmo por el doble conteo pudiera inducir al lector a amalgamar dentro de este término a la doble contabilidad. El doble conteo es un truco, la doble contabilidad es una trampa. Nota de Nota: No debe confundirse tampoco la doble contabilidad con la contabilidad de doble entrada. En 1494, Fray Luca Pacioli, del que hablaremos en la sección 4.4, quien es considerado el padre de la Contabilidad moderna, publicó su libro Summa de Arithmetica, 36 de cuyos capı́tulos estaban dedicados a explicar la partida doble, o Contabilidad de doble entrada, como mecanismo contable. Johann Wolfgang von Goethe, quizá el escritor más influyente de finales del siglo XVIII, describirı́a el sistema de Pacioli como “algo de perenne belleza y simplicidad y uno de los mayores logros del intelecto humano”. Aún hoy, en medio de crı́ticas y sobre todo en un mundo lleno de computadores, bases de datos y actividades de negocios internacionales, se aplican los sencillos principios del fraile y matemático Pacioli. (versión preliminar 11 de octubre de 2004) 2.1. Aprendiendo a contar 69 pr eli m in ar los valores de todas sus entradas, el resultado no dependerá de si primero sumamos cada fila y luego los resultados obtenidos (lo que llamaremos “sumar por filas”) o de si primero sumamos cada columna y luego los resultados (“sumar por columnas”). Es algo sobre lo que ya reflexionamos en la página 53, cuando explicábamos las manipulaciones con sumas dobles. Apliquemos esta idea a nuestro caso. Tenemos una aplicación sobreyectiva f X −→ Y y1 y2 y3 · · · ym y construimos la siguiente matriz: en verticales colocamos x1 1 0 0 · · · 0 los elementos de X = {x1 , . . . , xn } y en horizontales, los de x2 0 0 1 · · · 0 Y = {y1 , . . . , ym }. En otros términos, etiquetamos las filas con los elementos de X y las columnas con los de Y. Las x3 0 0 0 · · · 1 .. .. .. .. . . . entradas de la matriz serán ceros o unos. Colocaremos un . .. . . . . uno en la posición (i, j) si f (xi ) = yj , y un cero en caso xn 1 0 0 · · · 0 contrario. Obtendrı́amos una matriz como la que aparece a la derecha. El que sea una aplicación nos garantiza que en cada fila aparece exactamente un uno (porque cada elemento de X sólo tiene una imagen). Y si sumamos por filas, observemos que obtenemos un uno por cada una de ellas; en total, |X | unos. Imaginemos ahora que, además, la aplicación f es biyectiva, esto es, 1 a 1. Entonces en cada columna sólo aparece un 1. Sumando en todas las columnas, obtenemos |Y| unos. Y como el resultado no ha de depender de si sumamos por filas o por columnas, deducimos que Ve rs ión |X | = |Y| , como ya sabı́amos. Si la aplicación es 2 a 1, entonces en cada columna hay dos unos, y en total obtenemos 2 |Y| unos, de manera que tendrı́amos |X | = 2 |Y| . Una expresión análoga obtendrı́amos si la aplicación fuera k a 1. Ahora podemos ir más allá y considerar una aplicación f cualquiera de X a Y. Construyendo la matriz correspondiente, al sumar por filas seguirı́amos obteniendo el valor |X |. Y en la columna etiquetada con yi obtendrı́amos tantos unos como preimágenes tenga el elemento yi , es decir, #{f −1 (yi )} unos. En total, deducirı́amos que #{f −1 (y)} . |X | = y∈Y Obsérvese que para deducir esta expresión no es necesario que la aplicación sea sobreyectiva, porque si f se “salta” un cierto elemento yi ∈ Y, entonces #{f −1 (yi )} = 0, de manera que el valor de la suma de arriba no cambia. El mismo argumento nos permite escribir una expresión semejante: si llamamos ak = # y ∈ Y/#{f −1 (y)} = k ; esto es, ak es el número de elementos de Y que tienen exactamente k preimágenes, entonces |X | = k ak . k (versión preliminar 11 de octubre de 2004) 70 Capı́tulo 2. Las técnicas básicas de la Combinatoria pr eli m in ar Aunque a estas alturas parece excesivo introducir esta maquinaria del doble conteo, encontraremos más adelante ejemplos muy interesantes en los que su aplicación nos permitirá obtener resultados difı́ciles de probar de otra manera (en el principio de inclusión/exclusión, en grafos, en el lema de Hall, etc.). Por ahora, un buen ejemplo es el siguiente: Ejemplo 2.1.4 Una aplicación del lema de doble conteo. Dado un cierto conjunto C, consideremos un conjunto A = {a1 , . . . , an } de elementos de C (podrı́an ser todos los de C) y una colección F = {F1 , . . . , Fm } de subconjuntos de C. Construyamos la matriz que tiene a los elementos de A F1 F2 · · · F m etiquetando las filas y a los de F etiquetando las columa1 1 0 ··· 1 nas. Una casilla de la matriz estará etiquetada con un par a2 0 0 ··· 0 (ai , Fj ), con ai ∈ A y Fj ∈ F. Pues bien, en esa posición .. .. .. .. .. . . . . . colocaremos un 1 si ai ∈ Fj y un 0 en caso contrario. an 1 1 ··· 1 Llamemos ahora g(ai ) = #{ elementos de F a los que ai pertenece} h(Fj ) = #{ elementos de A que están en Fj } Sumar las entradas de la matriz por filas y por columnas nos proporciona la identidad g(ai ) = ai ∈A h(Fj ) . Fj ∈F Ve rs ión Con frecuencia ocurrirá que cada elemento de A pertenezca a un número fijo de subconjuntos, es decir, que g(ai ) = g, para todo ai ∈ A; y que todos los subconjuntos tengan un número fijo de elementos, h(Fj ) = h, para todo Fj ∈ F. En este caso se tendrá que |A|g = |F|h . ♣ Ejemplo 2.1.5 (Lema de los saludos). Consideremos una reunión de personas que pueden conocerse o no entre sı́. Si una persona conoce a otra, entonces la saludará. Entonces el número de saludos, sea cual sea el número de personas o el número de personas que se conozcan entre sı́, es un número par. Nombremos a las personas de la reunión con A = {a1 , . . . , an } y consideremos el conjunto F = {subconjuntos de A de dos elementos que se conocen entre sı́} . Construimos la matriz que tiene a los elementos de A etiquetando las filas y a los de F etiquetando las columnas. Las posiciones de la matriz están etiquetadas por “pares” (aj , {ak , al }), , con j = k. Colocamos un uno si j = k o j = l y un cero en el resto de los casos. Si ahora sumamos por filas, observamos que cada fila nos proporciona el número de saludos que efectúa el elemento aj que etiquete la fila. Ası́ que sumando los resultados de todas las filas obtendremos el número de saludos total. Pero cada columna contiene sólo dos unos. Sumando todas las columnas, obtendremos un número par. ♣ (versión preliminar 11 de octubre de 2004) 2.1. Aprendiendo a contar 2.1.2. 71 El paso al complementario X pr eli m in ar Tenemos un conjunto X formado por una serie de objetos y queremos contar cuántos de entre ellos cumplen una cierta propiedad; llamemos A al subconjunto de X formado por estos elementos. Entonces llamaremos Ac , el complementario de A en X al conjunto de los elementos de X que no están en A (en este caso, los que no cumplen la propiedad que caracteriza a los elementos de A). El esquemático dibujo que aparece a la derecha aclara la idea. Ac A A menudo nos encontraremos con que resulta más sencillo evaluar el número de elementos de X que no están en A, es decir, |Ac |, que el propio tamaño de A. Y es obvio que tendremos que |X| = |A| + |Ac | , por lo que, si conocemos el tamaño de los conjuntos X y Ac , podremos calcular5 el de A. Es importante señalar que, dado un conjunto A, el sı́mbolo Ac no tiene sentido si no definimos dentro de qué conjunto estamos calculando el complementario. Ilustrémoslo con un ejemplo. Ejemplo 2.1.6 Queremos evaluar el tamaño del conjunto Ve rs ión C = {n ∈ N , 1 ≤ n ≤ 60000 : n no divide a 60000} . Habı́amos visto en el ejemplo 2.1.1 que podı́amos evaluar el tamaño del conjunto A = {n ∈ N : n divide a 60000}; o, al menos, habı́amos transformado este problema en uno que, como ya avisábamos, aprenderemos a resolver en la siguiente sección. Ahora consideremos los conjuntos X1 = {1, 2, . . . , 60000} y X2 = {1, 2, . . . , 100000} , cuyos tamaños conocemos: |X1 | = 60000 y |X2 | = 100000. Nuestro conjunto A es un subconjunto, tanto de X1 , como de X2 . El conjunto C es el complementario de A dentro de X1 , porque todo número natural menor o igual que 60000, o bien está en A (si divide a 60000) o bien en C (si no lo hace). De manera que |C| = |X1 | − |A| = 60000 − |A| . Sin embargo, el complementario de A dentro de X2 (que es un conjunto de números naturales perfectamente definido) no coincide con C. Por ejemplo, el número 60001 es un elemento de X2 que no está en A pero tampoco en C. ♣ 5 Esta regla no es sino un caso particular de la regla de la suma, que estudiaremos de forma más general en la sección 2.3. (versión preliminar 11 de octubre de 2004) 72 Capı́tulo 2. Las técnicas básicas de la Combinatoria 2.1.3. El infinito pr eli m in ar Si A y B son dos conjuntos finitos y existe una función biyectiva entre ellos, entonces A y B tienen el mismo tamaño. Reservamos la palabra “tamaño” para el caso de los conjuntos finitos. Más generalmente, decimos que A y B tienen el mismo cardinal si existe una biyección entre ambos. Ası́, un conjunto A tenı́a tamaño (o cardinal) n si podı́a ser puesto en biyección con {1, . . . , n}. Y un conjunto A era infinito si no se podı́a poner en biyección con {1, . . . , n}, fuera cual fuera n. Pero el concepto del infinito6 es elusivo y desafı́a en muchas ocasiones nuestra intuición. En palabras de Hilbert7 , ¡El infinito! Ninguna otra cuestión ha conmovido nunca tan profundamente el espı́ritu humano; ninguna otra idea ha estimulado tan fructı́feramente su intelecto; y ningún otro concepto tiene tanta necesidad de ser clarificado. Figura 2.1: Hilbert Conjuntos que manejamos habitualmente, como el de los números naturales N, el de los enteros Z, los racionales Q, los números reales R, o incluso variaciones como N × N, etc., son desde luego infinitos. La pregunta, sin duda delicada, que nos planteamos es la siguiente: ¿hay infinitos “más grandes” que otros? ¿Hay alguna manera de compararlos? Ve rs ión Empecemos con un ejemplo sencillo: tomemos el conjunto N y el conjunto P de todos los números naturales pares. La intuición nos dirı́a que “hay más” números naturales que números naturales pares. Al fin y al cabo, P ⊂ N. Pero consideremos la función f : N → P dada por f (n) = 2 n , para cada n ∈ N. Es fácil comprobar que esta función es una biyección entre los dos conjuntos, ası́ que, según nuestra definición, tienen el mismo cardinal (lo mismo ocurre con N y los números naturales impares; tómese la función f (n) = 2n − 1). Un hecho quizás sorprendente: los naturales pares (o los impares) son un subconjunto de N (y no son todo N), y sin embargo ambos conjuntos tienen el mismo cardinal. 6 Aquı́ convendrı́a señalar que el concepto de infinito al que nos estamos refiriendo es al de un infinito actual, una entidad, un objeto dado. Desde Aristóteles (que lo prohibı́a expresamente en el Libro III de su Fı́sica) hasta Gauss sólo se manejaba un concepto de infinito potencial, como la posibilidad de considerar procesos ad infinitum. 7 David Hilbert (1862-1943) fue uno de los matemáticos más influyentes de finales del siglo XIX y principios del XX. Realizó importantı́simas aportaciones a diversas ramas de las matemáticas, como la Teorı́a Algebraica de Números, la Geometrı́a, los Fundamentos de las Matemáticas, el Análisis Funcional, la Fı́sica matemática. . . Los ahora llamados espacios de Hilbert son la base de la formulación de la Mecánica cuántica, que ha conseguido describir satisfactoriamente los fenómenos subatómicos. En 1900, en el segundo Congreso Internacional de Matemáticos celebrado en Parı́s, propuso una lista de 23 problemas que él consideró como los más relevantes en las Matemáticas de aquel momento; algunos de ellos todavı́a no se han resuelto completamente, como es el caso de la hipótesis de Riemann (véase la página 1081). Quizás sirva como ilustración de su espı́ritu una de sus frases favoritas: Wir müssen wissen, wir werden wissen. Esto es, “Debemos saber, sabremos”. (versión preliminar 11 de octubre de 2004) 2.1. Aprendiendo a contar 73 Venga aquı́ a ilustrarnos Antonio Machado con el siguiente Ejercicio de Sofı́stica de Juan de Mairena: pr eli m in ar La serie de los números pares es justamente la mitad de la serie total de números. La serie de los números impares es justamente la otra mitad. La serie de los pares y la serie de los impares son —ambas— infinitas. La serie total de los números es también infinita. ¿Será entonces doblemente infinita que la serie de los números pares y que la serie de los impares? Serı́a absurdo pensarlo, porque el concepto de infinito no admite ni más ni menos. Entonces, las partes —la serie par y la impar—, ¿serán iguales al todo? — Átenme esta mosca por el rabo y dı́ganme en qué consiste lo sofı́stico de este argumento. Juan de Mairena gustaba de hacer razonar en prosa a sus alumnos, para que no razonasen en verso. Ve rs ión El que una parte tenga igual cardinal que el todo no puede ocurrir, por supuesto, para conjuntos finitos8 . Un buen ejemplo de esta paradoja es el conocido hotel de Hilbert: si un hotel tiene un número finito de habitaciones (¡que es lo que habitualmente sucede!, pese a que en algún hotel de nuestras costas pueda parecer lo contrario) y todas ellas están ocupadas, no podremos alojar a ningún huésped nuevo. Sin embargo, imaginemos un curioso hotel que tuviera un número infinito de habitaciones, todas ocupadas. Llega un nuevo huésped que desea habitación, pero el recepcionista no se arredra ante las dificultades, y encuentra una solución: pide al huésped que ocupa la habitación 1 que se mude a la 2, al de la segunda que pase a la tercera, y ası́, sucesivamente. De manera que el viajero puede ser acomodado en la primera habitación. Más aún, el dı́a se presenta complicado, porque de pronto llega un número infinito de personas que desean alojamiento. El intrépido recepcionista encuentra la solución: simplemente pide al huésped de la primera habitación que se mude a la segunda, el de la segunda a la cuarta, el de la tercera a la sexta, y, en general, el de la habitación n a la habitación 2n. Ası́ libera todas las habitaciones impares, y en ellas pueden ser acomodados los viajeros9 . Fijémonos en que una consecuencia de la biyección f que hemos construido entre N y el conjunto P de los naturales pares es que podemos listar en orden los elementos de P ; ası́, 2 es el primer elemento de P (pues es la imagen de 1), 4 es el segundo (imagen de 2), etc. De hecho, esto es algo general: consideremos un conjunto A para el que existe una biyección f : N → A. Para cada n ∈ N, llamemos an al elemento de A que es imagen de n mediante f , f (n) = an . Entonces podemos listar los elementos del conjunto A, A = {a1 , a2 , a3 , . . . } . Cualquier conjunto que pueda ser puesto en biyección con N se dice que es numerable10 , y su cardinal será el mismo que el de N. Este cardinal se nombra con la primera letra del alfabeto hebreo, ℵ0 (“alef sub cero”). 8 De hecho, esta propiedad podrı́a ser utilizada como definición de conjunto finito. En el mismo hotel de Hilbert podemos establecer más conclusiones sorprendentes: el hotel tiene todas las habitaciones ocupadas y se marcha un huésped. El número de ocupantes sigue siendo el mismo. De hecho, si se marchan todos los que ocupan habitaciones pares, ocurre lo mismo; pero no ası́ si se marchan los huéspedes que ocupan las habitaciones, digamos, de la quinta en adelante (véase también el ejercicio 2.1.4). 10 Hay quien entiende que numerable incluye también el caso en que el conjunto es finito. A veces se utiliza la palabra contable, como aquél que se puede contar o enumerar. 9 (versión preliminar 11 de octubre de 2004) 74 Capı́tulo 2. Las técnicas básicas de la Combinatoria pr eli m in ar En realidad, si un conjunto A es infinito, basta con saber que existe una función f : A → N inyectiva o una función g : N → A sobreyectiva para concluir que A es numerable11 (véase el ejercicio 2.1.7). Es obvio que el propio N es numerable, y hemos visto que el conjunto de los números naturales pares (o de los impares) también lo es. Y en realidad cualquier subconjunto infinito de los números naturales (véase el ejercicio 2.1.13) es numerable; de alguno de ellos ya tenı́a constancia Galileo12 : No veo otra decisión sino admitir que el conjunto de los números es infinito; los cuadrados son infinitos, y ni la cantidad de Figura 2.2: Galileo cuadrados es menor que la cantidad de naturales, ni al revés. Los atributos de igualdad, de mayor o menor no tienen cabida al tratar cantidades infinitas, sino sólo en cantidades finitas. Veremos que Machado y Galileo sólo tenı́an razón en parte: en realidad, el concepto de infinito sı́ admite “más y menos”. Pero volvamos a los conjuntos numerables: ¿lo serán conjuntos de los que N sea una parte? Por ejemplo, ¿es Z numerable? Sı́, lo es, pues podemos enumerar sus elementos: 0, 1, −1, 2, −2, . . . . Lo que se corresponde, por ejemplo, con la biyección f : N → Z dada por n , si n es par, 2 f (n) =  1−n  , si n es impar. 2 Ve rs ión    Y la siguiente pregunta que nos harı́amos es: ¿es acaso Q numerable? La respuesta ya no es tan obvia, pues no es sencillo enumerar todos los números racionales: es claro que no podemos ordenarlos en forma creciente, pues, para empezar, no hay un racional “más pequeño”. Demostremos primero que Q+ , esto es, los racionales positivos, son numerables (la extensión a todo Q será inmediata). 11 Un resultado más general, debido a Bernstein y Schröder, nos dice que si A y B son dos conjuntos y construimos sendas aplicaciones inyectivas, una de A en B y otra de B en A, entonces ambos conjuntos tienen el mismo cardinal. 12 Galileo Galilei (1564-1642), astrónomo, filósofo, matemático, es bien conocido por sus trabajos sobre la caı́da de los cuerpos, su uso del telescopio o su desarrollo del método experimental (o cientı́fico), ası́ como los problemas que tuvo con la Inquisición por apoyar la teorı́a heliocéntrica de Copérnico. Es legendaria la frase (quizás apócrifa) de eppur si muove (“y, sin embargo, se mueve”) que pronunció cuando fue obligado a abjurar de sus planteamientos heliocéntricos. Galileo defendı́a la necesidad de manejar el lenguaje de las Matemáticas para entender el “libro de la Naturaleza”. El siguiente es un extracto de su obra de 1623 El ensayador (Aguilar, Buenos Aires, 1981): La Filosofı́a está escrita en ese grandı́simo libro que tenemos abierto ante los ojos, quiero decir, el Universo, pero no se puede entender si antes no se aprende a entender la lengua, a conocer los caracteres en los que está escrito. Está escrito en lengua matemática y sus caracteres son triángulos, cı́rculos y otras figuras geométricas, sin las cuales es imposible entender ni una palabra; sin ellos es como girar vanamente en un oscuro laberinto. (versión preliminar 11 de octubre de 2004) 2.1. Aprendiendo a contar 1✠ 2 ✲ 2 1 ✒ 3 1 ✲ 4 1 ··· 4 2 ··· 2 2 3✠ 2 2✠ 3 3 3 4 3 ··· 2 4 3 4 4 4 ··· 1 5 2 5 3 5 4 5 .. . .. . .. . .. . ··· ❄ ✒ 1 3 1✠ 4 ❄ ✒ ✒ ✒ .. . Todo lo que tenemos que hacer es listarlos adecuadamente, con la ayuda de la tabla (infinita) que aparece a la izquierda. Todos los racionales de denominador 1 están en la primera fila, los de denominador 2 en la segunda, etc. (ası́ que la tabla incluye a todos los racionales positivos). Y ahora los recorremos siguiendo el itinerario zigzagueante que marcan las flechas del dibujo: la lista de todos los elementos de Q+ se obtiene con este procedimiento. Quizás repetidos, pero con esto hemos construido una función sobreyectiva f : N → Q+ (por ejemplo, f (8) = 3/2), lo que es suficiente para garantizar la numerabilidad de Q+ (véase el ejercicio 2.1.7). Una vez que hemos enumerado los racionales positivos, hacer lo mismo con todos los racionales es tarea sencilla (véase el ejercicio 2.1.14) pr eli m in ar 1 1 75 La posibilidad de construir biyecciones entre un conjunto y N nos ha permitido descubrir sorprendentes (en principio) ejemplos de conjuntos numerables, tales como los racionales. Exactamente el mismo argumento utilizado para Q+ nos permite también comprobar que el conjunto N × N, los pares de números naturales, es también numerable. Y, de hecho, cualquier producto cartesiano de un número finito de copias de N es numerable (véase el ejercicio 2.1.11). Ve rs ión Una vez definido el cardinal de los números naturales, ℵ0 , el “más pequeño” infinito posible, la siguiente (y obvia) pregunta es: ¿hay conjuntos que no sean numerables? Por ejemplo, ¿qué ocurre con R, es numerable o no? Teorema 2.1 (Cantor) El conjunto de los números reales R no es numerable. Demostración. Utilizaremos un argumento de gran importancia, que se aplica en muchos otros contextos, y que es conocido como el argumento diagonal de Cantor13 . Antes de entrar a describirlo, observemos que queremos probar un resultado de imposibilidad: a saber, que no es posible poner en biyección N y R. En realidad, haremos sólo el argumento que demuestra que el intervalo (0, 1) no puede ser puesto en biyección con N (el que (0, 1) y R sı́ que pueden ser relacionados mediante una biyección es sencillo de comprobar, véase el ejercicio 2.1.17). Procederemos por reducción al absurdo: supongamos que (0, 1) es numerable. Sabemos que entonces podremos listar en orden todos sus elementos; llamémosles n1 , n2 , n3 , . . . 13 Figura 2.3: Cantor Georg Cantor (1845-1918) es considerado como el padre de la moderna Teorı́a de Conjuntos. Sus trabajos en este campo, sus estudios sobre el infinito, hicieron que Hilbert llegara a decir que “nadie nos expulsará del paraı́so que Cantor ha creado para nosotros”. También contribuyó a definir conceptos como la dimensión o la medida. Su biografı́a está salpicada de relaciones tempestuosas con matemáticos de la época, como Kronecker o Mittag-Leffler. Sufrió numerosas crisis depresivas y, de hecho, murió internado en un sanatorio psiquiátrico. (versión preliminar 11 de octubre de 2004) 76 Capı́tulo 2. Las técnicas básicas de la Combinatoria y enumerémoslos escribiendo sus expresiones decimales, n1 = 0, a11 a12 a13 a14 . . . pr eli m in ar n2 = 0, a21 a22 a23 a24 . . . n3 = 0, a31 a32 a33 a34 . . . n4 = 0, a41 a42 a43 a44 . . . .. . Aquı́, aji significa el número (entre 0 y 9) que ocupa la posición i-ésima del desarrollo decimal del número real nj , que ocupa la posición j en esta ordenación. Ahora construimos un número real (en el intervalo (0, 1)) b = 0, b1 b2 b3 b4 . . . de la siguiente manera: si a11 = 1, entonces b1 = 2, y si a11 = 1, entonces b1 = 1. La segunda cifra decimal, b2 , será 1 si a22 = 1 y será 2 si a22 = 1. En general, bn = 1 , si ann = 1, 2 , si ann = 1. Ve rs ión La expresión decimal del número b ası́ construido consta de una lista de unos y doses tras la cifra decimal; como es un número de nuestro intervalo, ha de aparecer en nuestra lista, en alguna posición, digamos en la posición k. Ası́ que b = nk . Pero esto no puede ocurrir, porque bk , la k-ésima cifra del desarrollo decimal de b es, por construcción, diferente de akk , la k-ésima del desarrollo de nk (y el desarrollo decimal de b no termina en una lista infinita de ceros o nueves, lo que podrı́a dar lugar a ambigüedad, véase la página 234). Hemos llegado ası́ a una contradicción.  El cardinal de R (y de cualquier conjunto que se pueda poner en biyección con él, como un intervalo de la recta real14 ) se nombra con la letra c; se dice que tiene el cardinal del continuo. Como Q es numerable y que R no lo es, el conjunto de los irracionales no puede ser numerable (véase el ejercicio 2.1.15). Ası́ que irracionales hay “muchos más” que racionales. Uno se preguntarı́a qué le habrı́a ocurrido a Cantor tras este descubrimiento si hubiera vivido entre los √ (recordando el final de Hipaso, que se limitó a mostrar que algunos números, √ griegos como 2 o 5, eran irracionales). Pero las sorpresas no acaban aquı́: observemos que un número racional a/b (y en particular, uno entero) es solución de una ecuación del tipo b x − a = 0, es decir, es√una √ raı́z de un polinomio de grado 1 con coeficientes enteros. Números irracionales como 2 o 5 son también raı́ces de polinomios con coeficientes enteros; en este caso, de grado 2: x2 − 2 = 0 √ y x2 − 5 = 0, respectivamente. También la razón áurea, (1 + 5)/2, es raı́z de un polinomio de este tipo, x2 − x − 1 = 0. En general, diremos que un número es algebraico si es raı́z de alguna ecuación polinómica con coeficientes enteros. Los números reales que no son algebraicos, los demás, se denominan trascendentes. 14 Y otros muchos ejemplos: entre ellos, alguno tan extraño como el conjunto ternario de Cantor de todos los números reales entre 0 y 1 cuyo desarrollo en base 3 no contiene ningún uno. (versión preliminar 11 de octubre de 2004) 2.1. Aprendiendo a contar 77 Ve rs ión pr eli m in ar La existencia de estos números trascendentes fue demostrada por Liouville en 1844 (veáse el ejemplo 5.2.4); en 1873, Hermite probó que el número e es trascendente (que e es irracional se prueba más adelante, véase el ejemplo 5.2.3), y en 1882, Lindeman demostró que π también lo es (dando fin, ası́, al famoso problema de la cuadratura del cı́rculo, véase la página 28). Pues bien, se puede demostrar (véase el ejercicio 2.1.16) que el conjunto de los números algebraicos es numerable, ası́ que el de los trascendentes no lo es. Algo paradójico: hay “muchos más” números trascendentes que algebraicos, pero probar la trascendencia de un número concreto es, en general, un problema dificilı́simo (véase la subseccion 5.2.3). Pero volvamos a los dos infinitos que hemos hallado hasta ahora, el de N y el de R. Surgen de manera natural dos preguntas: ¿hay algún cardinal infinito estrictamente mayor que el de los naturales pero menor que el de los reales? ¿Y existen más cardinales infinitos, además de estos dos? Para la primera pregunta, la famosa hipótesis del continuo afirmaba que tal cardinal no existe. Gödel15 ya probó que si uno toma la hipótesis del continuo como un axioma más que añadir a los habituales de la teorı́a de conjuntos no se llegaba a contradicción alguna. El desenlace de la historia es sorprendente16 . Y para la segunda, comprobaremos en un momento que sı́ que Figura 2.4: Gödel hay más infinitos, además de los dos que hemos hallados; de hecho, toda una jerarquı́a de infinitos distintos. Para verlo, consideremos un conjunto cualquiera X, y llamemos P(X) a la colección de todos los subconjuntos de X (este conjunto se nombra como partes de X). Ya hemos visto, en el caso finito (véase el ejemplo 2.1.2), una biyección de P(X) en el conjunto de las listas de ceros y unos de longitud n que nos permitirá deducir más adelante (ejemplo 2.2.2) que, si |X| = n, entonces P(X) tiene tamaño 2n . Pero el resultado que aquı́ nos interesa es el siguiente: Teorema 2.2 (Cantor) Dado un conjunto X, no puede existir una biyección de X sobre P(X). Demostración. Supongamos, por el contrario, que hubiera una biyección f : X → P(X). Esta función asocia a cada elemento x ∈ X un cierto subconjunto de X, f (x) (un elemento de P(X), es decir, un subconjunto de X). Y cualquier subconjunto de X (cualquier elemento de P(X)) es la imagen, f (y), de un cierto y ∈ X. 15 Kurt Gödel (1906-1978) revolucionó los Fundamentos de las Matemáticas cuando, en 1931, publicó su famoso Teorema de Incompletitud, que respondı́a, negativamente, al Entscheidungsproblem de Hilbert, el problema de encontrar un método mecánico para decidir si una proposición matemática arbitraria puede ser probada dentro de una teorı́a o no. Nacido bajo el Imperio austro-húngaro, emigrarı́a definitivamente a los Estados Unidos en 1940. En Princeton coincidirı́a con personajes de la talla de Einstein, von Neumann o Morgenstern, con quienes estableció una sólida amistad. En un curioso paralelismo con Cantor, Gödel sufrı́a de frecuentes depresiones y necesitó en varias ocasiones tratamiento psiquiátrico. En los últimos meses de su vida, creyó estar siendo envenenado, por lo que se negó a comer, lo que aceleró su muerte. 16 Probar la hipótesis del continuo fue uno de los problemas propuestos por Hilbert en 1900. En 1963, Paul Cohen logró demostrar que se llegaba a la misma no contradicción con los axiomas de la teorı́a de conjuntos si se tomaba la negación de la hipótesis del continuo como un axioma más. Con esto, probó que esta hipótesis es independiente del resto de los axiomas, ası́ que no puede ser probada o refutada partiendo de ellos. (versión preliminar 11 de octubre de 2004) 78 Capı́tulo 2. Las técnicas básicas de la Combinatoria Ahora construyamos A = {x ∈ X : x ∈ / f (x)} , pr eli m in ar es decir, el conjunto de los elementos de X que no están incluidos en el subconjunto f (x) que les asocia la biyección. Por supuesto, A es un subconjunto de X, ası́ que existirá cierto y ∈ X para el que A = f (y). Llegamos a la contradicción que buscábamos comprobando si ese elemento y está o no en A: Si y ∈ A, entonces, por la definición de A, y ∈ / f (y). Pero esto es una contradicción, porque A = f (y). Si y ∈ / A, entonces y ∈ f (y). Pero entonces y deberı́a estar en A = f (y), de nuevo una contradicción. En ambos casos llegamos a una contradicción, ası́ que la supuesta biyección no puede existir en realidad.  Ve rs ión Como corolario inmediato, el cardinal de X es, con seguridad, menor que el de P(X) (compruébese que podemos establecer una función inyectiva de X en P(X)). En particular, el cardinal de N es menor que el cardinal de P(N) (de hecho, el cardinal de P(N) coincide con el de R, véase el ejercicio 2.1.19). Y más aún, encontramos toda una cadena de cardinales infinitos: card(N) < card(P(N)) < card(P(P(N))) < · · · EJERCICIOS. 2.1.1 Sean A y B dos conjuntos finitos, de tamaños |A| y |B|, respectivamente. Demuéstrese que si existe una aplicación inyectiva f de A en B, entonces |A| ≤ |B|. 2.1.2 A y B son, de nuevo, dos conjuntos finitos. Pruébese que si existe una aplicación sobreyectiva de A en B, entonces |A| ≥ |B|. 2.1.3 Demúestrese, utilizando los dos ejercicios anteriores, que si A y B son dos conjuntos finitos y tenemos dos aplicaciones: una inyectiva f de A en B y una sobreyectiva g de B en A, entonces |A| = |B|. 2.1.4 Sobre el hotel de Hilbert. Durante una hora ocurre lo siguiente: para empezar, el hotel esta vacı́o; a lo largo de la primera media hora llegan dos huéspedes, y se va uno; a lo largo del siguiente cuarto de hora llegan otros dos huéspedes y se va uno (de los tres que habrı́a en ese instante); a lo largo del siguiente octavo de hora llegan otros dos, y se va uno (de los cuatro que habrı́a entonces); y ası́ sucesivamente. Obsérvese que al final del n-ésimo perı́odo de tiempo tenemos siempre n habitaciones ocupadas. Compruébese, sin embargo, que si en cada perı́odo de tiempo el huésped que se marcha es el más antiguo en ese momento, al final de la hora el hotel queda vacı́o. Pero que, por el contrario, si quien se marcha es el huésped más reciente, el hotel tendrá infinitas habitaciones ocupadas la final de la hora. ¿Cuántos huéspedes quedan en el hotel si, en cada periodo, quien se marcha es el segundo huésped más antiguo? (versión preliminar 11 de octubre de 2004) 2.1. Aprendiendo a contar 79 2.1.5 Se forman todas las listas de longitud n con los números {1, . . . , 6} con repetición permitida. Pruébese que la suma de los números que aparecen en esas listas es par para la mitad de ellas. pr eli m in ar Sugerencia. Establézcase una biyección entre las listas con suma par y las listas con suma impar. 2.1.6 Este ejercicio calcula el número An de tiras (con repetición permitida) de longitud n ≥ 1 formadas con los sı́mbolos {0, 1} en las que no hay ceros consecutivos. (a) Supongamos que de una tira admisible de longitud n, quitamos el último dı́gito si éste no es 0 y los dos últimos si el último es cero. Descrı́base el proceso inverso. (b) Úsese (a) para probar que An = An−1 + An−2 , para cada n ≥ 3. (c) Calcúlese An para n ≤ 6. (d) Generalı́cese al caso en que hay d sı́mbolos: {0, 1, . . . , d − 1}. Sugerencia. Obsérvese que si tenemos una tira de las que cuenta An que acaba en 0, necesariamente la posición anterior está ocupada por un 1. La sucesión que se obtiene es casi la llamada sucesión de Fibonacci (para calcular sus términos, utilı́cese la recurrencia a partir del tercero). Solución. (c) A1 = 2, A2 = 3, A3 = 5, A4 = 8, A5 = 13, A6 = 21. (d) An = (d − 1)[An−1 + An−2 ] Ve rs ión 2.1.7 Pruébese que si S es un conjunto infinito y hay una función inyectiva f : S → N, entonces S es numerable. Comprúebese que lo mismo ocurre si tenemos una función sobreyectiva g : N → S. Dedúzcase, del argumento de la página 75, que Q+ es numerable. Sugerencia. Para la segunda parte, para cada s ∈ S, escójase el menor entero en el conjunto de preimágenes g −1 ({s}). 2.1.8 Pruébese que si A y B son dos conjuntos numerables, entonces A ∪ B es numerable. Y que, en general, si A1 , . . . , An son conjuntos numerables, entonces ∪nj=1 Aj es numerable. ∞ 2.1.9 Demuéstrese que, dada una colección infinita {Aj }∞ j=1 de conjuntos finitos, entonces ∪j=1 Aj es numerable (o finito). 2.1.10 Prúebese, finalmente, que si {Aj }∞ j=1 es una colección numerable de conjuntos numerables, entonces ∪∞ j=1 Aj es numerable. 2.1.11 Pruébese que N × N es numerable. Dedúzcase (utilizando inducción) que, en general, el conn veces junto N× · · · ×N, esto es, el producto cartesiano de un número finito de copias de N, es numerable. 2.1.12 Pruébese que si A es un conjunto infinito, entonces A contiene a un conjunto B numerable. 2.1.13 Pruébese que cualquier subconjunto infinito de N es numerable. Sugerencia. Si S es el subconjunto, buscamos el menor entero en S, digamos s1 . Y luego el menor entero, s2 , de S \ {s1 }. Y ası́, sucesivamente. 2.1.14 Pruébese que Q es numerable. (versión preliminar 11 de octubre de 2004) 80 Capı́tulo 2. Las técnicas básicas de la Combinatoria Sugerencia. Utilı́cese que Q+ lo es y el ejercicio 2.1.8 pr eli m in ar 2.1.15 Dedúzcase del ejercicio anterior que el conjunto de los números irracionales no es numerable. Sugerencia. R = Q ∪ {irracionales}. 2.1.16 Demuéstrese que el conjunto de los números (reales) algebraicos es numerable. Sugerencia. Utilı́cese el ejercicio 2.1.10 2.1.17 Pruébese que existe un biyección entre el intervalo (0, 1) (y, de hecho, entre un intervalo de la recta real cualquiera) y todo el conjunto R. Sugerencia. Utilı́cese la función arcotangente. 2.1.18 Pruébese que el conjunto de todas las listas infinitas de ceros y unos no es numerable. Compruébese que, sin embargo, el conjunto de todas las listas finitas (de longitud arbitraria) formadas con ceros y unos sı́ es numerable. Sugerencia. Para la primera parte, compruébese que podemos poner en biyección el conjunto de las listas infinitas de ceros y unos y P(N). Para la segunda, recuérdese la expresión en binario de los números naturales. Ve rs ión 2.1.19 Compruébese que el cardinal de P(N) coincide con el cardinal del intervalo (0, 1) (y, por tanto, con el de R). Demuéstrese que, sin embargo, el conjunto de las partes finitas de N sı́ es numerable. Sugerencia. Establecer biyecciones de ambos conjuntos con el de las listas infinitas y finitas de ceros y unos. 2.1.20 Pruébese que R × R (y, en general, el producto cartesiano de un número finito de copias de R) tiene la cardinalidad del continuo. 2.1.21 Hállese el cardinal de C. 2.1.22 Demuéstrese que si card(A) = card(B), entonces card(P(A)) = card(P(B)). Sugerencia. Dada una biyección f : A → B, constrúyase la aplicación g : P(A) → P(B) que a cada conjunto X ∈ P(A) le asocia el conjunto de las imágenes por f de los elementos de X. (versión preliminar 11 de octubre de 2004) 2.2. La regla del producto 2.2. 81 La regla del producto a 0 1 ··· c b ··· 9 pr eli m in ar Intentemos contar cuántas “palabras” podemos formar con una letra y un número (en este orden), suponiendo que tenemos 23 letras {a, . . . , z} y 10 números, {0, 1, . . . , 9} a nuestra disposición. Podemos construir esas palabras decidiendo primero qué letra situamos; una vez hecho esto, escogemos el número. El proceso podrı́a verse, gráficamente, de la siguiente forma: ··· d ··· y ··· 0 1 z ··· 9 Cada una de las ramas del “árbol” dibujado nos conduce a un resultado distinto. Y el número de ellas es, por supuesto, 23 × 10 (por cada elección de letra hay 10 elecciones posibles de números; y hay 23 elecciones iniciales de letra distintas). Siguiendo este argumento, podemos enunciar una primera versión de la regla del producto: supongamos que un cierto proceso se puede separar en una primera y una segunda etapas y que tenemos a y b posibles resultados para las etapas, respectivamente. Entonces, el proceso total se puede realizar, en el orden designado, de a × b maneras. Ve rs ión Más generalmente, supongamos que nos dan n conjuntos A1 , . . . , An y que formamos listas en las que el primer elemento pertenece al conjunto A1 , el segundo a A2 y ası́, sucesivamente, hasta la posición n: Aquı́, un elemento de A1 ❄ 1 2 ··· Aquı́, un elemento de Aj · · · ··· ❄ j ··· n−1 n ¿Cuántas listas de este tipo distintas habrá? Habrá |A1 | posibles elecciones para la primera posición, |A2 | para la segunda, etc.: ✻ ✻ ✻ |A1 | posibilidades |A2 | |A3 | ··· ··· ✻ ✻ |An−1 ||An | Ası́ que el número total es |A1 | · |A2 | · · · |An |. A veces, el número de posibilidades que tenemos para realizar uno de los pasos puede depender de lo elegido en un paso anterior. Por ejemplo, si queremos contar las 2-listas que podemos formar con los sı́mbolos {0, 1} de manera que no haya dos ceros, el número de posibilidades para la segunda posición dependerá de si en la primera colocamos un cero o un uno (habrá una y dos posibilidades, respectivamente). En estos casos, en general, no podremos aplicar directamente la regla del producto. Con la regla del producto podemos completar algunos ejemplos que tenı́amos pendientes: (versión preliminar 11 de octubre de 2004) 82 Capı́tulo 2. Las técnicas básicas de la Combinatoria Ejemplo 2.2.1 El número de 3-listas (α, β, γ) donde 0 ≤ α ≤ 5, 0 ≤ β ≤ 1 y 0 ≤ γ ≤ 4. Serán listas del tipo: ✻ ✻ pr eli m in ar ✻ 6 posibilidades 2 posibilidades 5 posibilidades {0, 1, 2, 3, 4, 5} {0, 1} {0, 1, 2, 3, 4} Ası́ que en total tendremos 6 × 2 × 5 = 60 listas. Por tanto, 60 es el número de divisores de 60000 (véase el ejemplo 2.1.1). ♣ Ejemplo 2.2.2 El número de subconjuntos distintos que podemos extraer de un conjunto con n elementos. Sea el conjunto X = {1, 2, . . . , n}; ya vimos la biyección entre   n-listas con repetición  A = {subconjuntos de X} ←→ B = permitida formadas con los   elementos del conjunto {0, 1}    .   Para determinar el tamaño del conjunto B (y con ello, también el de A) basta aplicar la regla del producto: para la primera posición tendremos dos posibilidades, para la segunda otras dos, etc. Ası́ que =⇒ #{subconjuntos de un conjunto de tamaño n} = 2n . Ve rs ión |B| = 2n ♣ Ejemplo 2.2.3 El sistema de matriculación de vehı́culos en España. En el sistema antiguo, una matrı́cula, digamos en la provincia de Madrid, era de la forma M 1397 TF es decir, es una lista de siete posiciones, la letra que identifica la provincia, cuatro números y otras dos letras (entre las que no se cuentan ni la Ñ ni la Q). Dado que la primera letra es siempre una M, podemos olvidarnos de ella y limitarnos a contar el resto. Aplicando la regla del producto, obtenemos que el número de matrı́culas distintas posibles es 104 × 252 = 6, 250,000 . A finales del año 2000, este sistema estaba a punto de agotarse. Tras numerosas discusiones, se decidió adoptar un nuevo tipo de matrı́culas (sin distintivos provinciales): una lista de cuatro números, seguida de tres letras (se excluyen las vocales y las consonantes Ñ y Q): 0000 BBB Tenemos ası́ un total de 104 × 203 posibilidades, esto es, 80 millones matrı́culas distintas para toda España (cada año se matriculan, aproximadamente, dos millones de vehı́culos en el paı́s). ♣ (versión preliminar 11 de octubre de 2004) 2.2. La regla del producto 2.2.1. 83 Listas con y sin repetición pr eli m in ar Un problema fundamental de la Combinatoria consiste en evaluar el número de listas de cierta longitud, digamos k, en cuyas posiciones podemos situar sı́mbolos de un cierto conjunto (o ciertos conjuntos). Pero querremos contar las listas que cumplen ciertas restricciones. Esencialmente, podemos encontrarnos con dos casos distintos: si las restricciones son sobre los sı́mbolos que pueden aparecer en cada posición, la regla del producto nos ayuda en el empeño. Como ya hemos visto, el número de listas de longitud k en las que en la primera posición podemos situar sı́mbolos de un conjunto A1 , en la segunda sı́mbolos de A2 , etc., es, simplemente, |A1 | · |A2 | · · · |Ak | . Sin embargo, si las restricciones son sobre posiciones, el problema puede ser más complicado. Las restricciones a las que nos referimos son del tipo, por ejemplo, “en la segunda posición no puede aparecer el mismo sı́mbolo que en la cuarta”. La Teorı́a de grafos y, en concreto, los polinomios cromáticos, que estudiaremos en el capı́tulo 8, nos darán una respuesta general. Ve rs ión Si mezclamos ambos tipos de restricciones, el problema se puede volver extremadamente complicado. En la sección 10.6 veremos una técnica que se aplica a un caso particular; pero no existe un procedimiento general que nos proporcione la respuesta adecuada. Veremos ahora un par de casos que son especialmente relevantes: consideremos un conjunto A con n elementos que, para fijar ideas, supondremos que es el conjunto {1, . . . , n}. Queremos formar listas de longitud k con los elementos de A. Primer caso Permitimos la repetición de sı́mbolos. No hay restricciones sobre posiciones, y en cada posición podemos situar cualquier sı́mbolo de {1, . . . , n}. La regla del producto nos proporciona la respuesta: para la posición primera de la lista tenemos n posibilidades, para la segunda otras n, y ası́ sucesivamente: n ☛ 1 n ☛ 2 n n ☛ 3 n ☛ ☛ k−1 k ··· ··· Por tanto, # k-listas con repetición permitida formadas con elementos de {1, . . . , n} = nk Segundo caso No permitimos repetición de sı́mbolos. Ahora tenemos unas restricciones sobre las posiciones: por ejemplo, no podemos situar en la posición segunda el sı́mbolo que (versión preliminar 11 de octubre de 2004) 84 Capı́tulo 2. Las técnicas básicas de la Combinatoria pr eli m in ar hayamos utilizado en la primera. Pese a que, como comentábamos antes, este tipo de problemas exige en general unas herramientas especiales17 , podemos resolver este caso con la regla del producto: obsérvese que el problema es contar el número de listas de longitud k en los que en cada posición situamos sı́mbolos de unos ciertos conjuntos A1 , A2 , . . . , Ak . Podemos suponer que A1 = A, pero a partir de ahı́ ya no conocemos el resto de los Aj : por ejemplo, si en la primera posición situamos el sı́mbolo 3, éste sı́mbolo ya no puede estar en ninguno de los restantes conjuntos. Mientras que si empezáramos por el sı́mbolo 5, serı́a éste el que no pertenecerı́a a ninguno de los restantes Aj . Pero la observación que nos permite obtener una respuesta es que, aunque no conozcamos los conjuntos Aj , sı́ conocemos sus tamaños. Porque |A1 | = n (para la primera posición tenemos n posibilidades), mientras que |A2 | = n − 1: para la segunda ya sólo tenemos n − 1 posibilidades, el sı́mbolo utilizado en la primera posición ya no está a nuestra disposición. Y esto se cumple sea cual sea la elección de primer sı́mbolo que hayamos hecho: el conjunto A2 puede cambiar, pero su tamaño no. Para la tercera tendrı́amos n − 2 posibilidades, y ası́ sucesivamente, n n−1 n−2 ☛ ☛ n−k+2 n−k+1 ☛ ☛ ☛ k−1 k ··· 1 de manera que 3 k-listas sin repetición formadas con {1, . . . , n} Ve rs ión # 2 ··· = n(n − 1) · · · (n − k + 1) = n! (n − k)! Por supuesto, este resultado es válido cuando k ≤ n, porque si k > n, no tendremos ninguna k-lista con esos n sı́mbolos. Recordemos que la notación n! (el factorial de n, ó n factorial) resume el producto n(n − 1) · · · 3 · 2 · 1 (por convenio, se asigna el valor 0! = 1). En algunos textos se llaman variaciones con repetición, VRnk , a las primeras y variaciones sin repetición, Vnk , a las segundas. No usaremos aquı́ esta terminologı́a. Hay un caso especial, que corresponde a formar n-listas sin repetición con n sı́mbolos. Estas listas se denominan permutaciones, y el número de ellas es n!: #{permutaciones de n elementos} = n! Si el conjunto de sı́mbolos que consideramos es el {1, . . . , n}, una lista sin repetición de n posiciones formada con ellos es simplemente una reordenación de estos sı́mbolos. Veremos en la sección 3.2 que estas permutaciones tienen una estructura muy rica. 17 Son herramientas de la Teorı́a de Grafos; con ellas se pueden, por supuesto, estudiar los casos en que permitimos repetición y aquéllos en los que no la permitimos. Si algún lector está ya familiarizado con estos conceptos, descubrirá que el caso de la repetición corresponde a evaluar en k el polinomio cromático de un grafo nulo con n vértices. Mientras que en el caso en que no permitimos repetición, estamos con un grafo completo Kn . (versión preliminar 11 de octubre de 2004) 2.2. La regla del producto 85 Ejemplo 2.2.4 ¿Cuál es la probabilidad18 p de que de entre 50 personas escogidas al azar, al menos dos de ellas tengan la misma fecha de cumpleaños? pr eli m in ar El concepto de probabilidad que manejaremos será el habitual del cociente entre los casos favorables y los casos posibles. Los objetos que manejaremos serán listas de 50 posiciones (cada una de las posiciones representará a una persona de la muestra); en cada posición, pondremos el dı́a del año que corresponde a cada persona (supondremos que hay 366 posibles, para incluir los años bisiestos19 ). dı́a de nacimiento de la persona j ✢ 1 j 50 Contemos primero los casos posibles: # casos posibles = # { 50-listas con repetición permitida extraı́das de {1, . . . , 366} } = 36650 . Ahora, en lugar de contar los casos favorables, contaremos los “desfavorables”, lo que resulta mucho más sencillo (un ejemplo de contar pasando al complementario). Es decir, las listas de 50 posiciones en las que no hay dos sı́mbolos iguales; en otras palabras, las listas en las no permitimos repetición: # casos desfavorables =# 50-listas sin repetición extraı́das de {1, . . . , 366} = 366 · 365 · · · 317. Ve rs ión Este cociente vale, aproximadamente, 0,02992. Por lo tanto, p= # casos favorables # casos posibles − # casos desfavorables = = 1−0,02992 = 0,97008 . # casos posibles # casos posibles ¡Ası́ que la probabilidad de que suceda lo que se recogı́a en el enunciado está en torno al 97 %!. Esto es, con una altı́sima certeza el experimento que describimos en la nota al pie de esta página funcionará, y descubriremos a dos personas con la misma fecha de cumpleaños. Planteemos el problema en general: ¿cuál es la probabilidad de que, en una muestra de n personas, haya al menos dos cuya fecha de cumpleaños coincida? Como hay 366 posibles fechas de cumpleaños, si n ≥ 367 habrá con seguridad dos personas con igual fecha de cumpleaños (aplicando el principio del palomar), ası́ que la probabilidad será 1. 18 Se puede hacer el experimento con un grupo de 50 personas: se construye una cuadrı́cula con los 365 dı́as del año y se van colocando marcas en las casillas correspondientes a las distintas fechas de cumpleaños hasta que haya dos que coincidan. A priori, dado que el número de marcas es bastante inferior al de posibles emplazamientos, podrı́amos pensar que la probabilidad de que dos marcas vayan a la misma casilla es pequeña; pero el experimento nos puede convencer de que, en este caso (como en otros muchos problemas de probabilidad), la intuición inicial falla estrepitosamente. Y es que. . . ¡la intuición se educa! 19 Esto supone una cierta inexactitud, porque el 29 de febrero aparece, más o menos, la cuarta parte de veces que las demás fechas. En realidad, como bien se sabe, no es realista considerar que todas las fechas son igualmente probables. Ası́ que, en un modelo más ajustado, no todas las listas de 50 posiciones habrı́an de ser igualmente probables, de manera que el análisis del problema ha de ir más allá de la simple enumeración de casos favorables y posibles. Pero, como veremos en la sección 18.3, el caso de la equiprobabilidad es en el que con más dificultad tendremos coincidencias. (versión preliminar 11 de octubre de 2004) 86 Capı́tulo 2. Las técnicas básicas de la Combinatoria 1 0.8 0.4 0.2 0 20 40 60 pr eli m in ar 0.6 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 n Pero mientras n sea menor que 367 cabe la posibilidad de que no se repitan. Con la ayuda del ordenador, podemos representar gráficamente esta probabilidad. Obsérvese que el valor de la probabilidad se acerca muy rápidamente a uno; para una muestra de 30 personas es aproximadamente 0,5, mientras que para 60 personas ya es prácticamente 1. Volveremos sobre este problema más adelante (sección 18.3). ♣ Ejemplo 2.2.5 Sean los conjuntos X = {1, . . . , n} e Y = {1, . . . , k}. Queremos contar cuántas aplicaciones podemos establecer entre X e Y. Una aplicación f : X → Y se construye decidiendo cuál es la imagen de cada elemento de X . Esto es, una tal aplicación es lo mismo que una lista de n posiciones en la que, en cada posición, situamos un sı́mbolo de {1, . . . , k}: en la posición primera está la imagen del 1, en la segunda la del 2, etc. Como no hay restricción alguna sobre qué sı́mbolos situamos (qué imágenes elegimos), estamos en el caso de listas con repetición permitida, ası́ que #{aplicaciones f : {1, . . . , n} → {1, . . . , k}} = kn Ve rs ión (obsérvese que hemos cambiado los papeles de n y k, ahora hay n posiciones y k sı́mbolos). Si sólo queremos contar las aplicaciones inyectivas, esto es, aquéllas en las que no hay elementos de X con la misma imagen, entonces formamos listas con las mismas caracterı́sticas que antes, pero en las que no permitimos repetición. Si k < n, esto no se podrá hacer. Pero si k ≥ n, #{aplicaciones inyectivas f : {1, . . . , n} → {1, . . . , k}} = k! . (k − n)! Por último, si lo que queremos son aplicaciones biyectivas, será necesario que n = k, y en ese caso habrá tantas aplicaciones biyectivas como permutaciones de {1, . . . , n}, a saber, #{aplicaciones biyectivas f : {1, . . . , n} → {1, . . . , n}} = n! (insistiremos en esta equivalencia entre permutaciones y aplicaciones biyectivas más adelante). Contar el número de aplicaciones sobreyectivas requiere alguna herramienta más; las introduciremos pronto (véase el ejemplo 3.1.8). ♣ Ejemplo 2.2.6 Queremos contar el número de listas de longitud k ≥ 2 con repetición permitida formadas con los elementos {1, . . . , n} en las que cada elemento de la lista es distinto de los dos anteriores. Nos encontramos ahora con restricciones sobre posiciones; pero son restricciones sencillas, que podemos abordar aplicando directamente la regla del producto: observamos que para la primera posición tenemos n posibilidades, para la segunda n − 1, mientras que para la tercera ya sólo tenemos n − 2 posibilidades (los sı́mbolos de la primera y segunda, que son necesariamente distintos, ya no están a nuestra disposición). Para la cuarta y las siguientes, siempre tenemos dos sı́mbolos prohibidos. En total, el número de listas buscado es n(n − 1)(n − 2)(n − 2) . . . (n − 2) = n(n − 1)(n − 2)k−2 . (versión preliminar 11 de octubre de 2004) ♣ 2.2. La regla del producto 87 En este ejemplo, pese a las restricciones (sobre posiciones), podemos contar el número de listas aplicando directamente la regla del producto, puesto que es fácil estimar el número de sı́mbolos prohibidos en cada posición. Pero veamos el siguiente ejemplo: pr eli m in ar Ejemplo 2.2.7 Contar el número de listas de longitud k con repetición permitida formadas con los sı́mbolos {1, . . . , n} que cumplan que posiciones consecutivas llevan sı́mbolos distintos y tales que, además, la primera y última posiciones lleven sı́mbolos distintos. Los casos k = 1 y k = 2 son triviales20 . Si consideramos listas de 3 posiciones, aún podemos aplicar la regla del producto: hay n posibilidades para la primera posición, n − 1 para la segunda y n − 2 para la tercera. Sin embargo, cuando k = 4, empezamos a tener problemas: de nuevo, para la primera posición tenemos n posibilidades y para la segunda y tercera, n − 1 (está prohibido el sı́mbolo de la posición anterior). Pero al evaluar el número de sı́mbolos prohibidos para la cuarta posición, nos encontramos con que depende de la lista construida hasta el momento. Por ejemplo, si hemos elegido el mismo sı́mbolo en las posiciones 1 y 3, sólo habrá un sı́mbolo prohibido. Pero si hemos situado sı́mbolos distintos, entonces no podremos utilizar ninguno de ellos para la cuarta posición. ♣ Ası́ que estas sencillas restricciones exigen ya contar de manera más cuidadosa; introduciremos técnicas para hacerlo en el capı́tulo 8 dedicado a los grafos (aunque este último ejemplo lo resolveremos, con otro tipo de argumentos, al comienzo de la sección 2.3). Listas circulares Ve rs ión 2.2.2. Vamos a considerar ahora otro tipo de objetos: las listas circulares de longitud k. Marcamos k puntos Posición k − 1 Posición 3 equidistantes sobre una circunferencia, y en cada una .. .. de esas k posiciones situamos un sı́mbolo de un con. . junto con n elementos, digamos un sı́mbolo extraı́do de {1, . . . , n}. ¡Atención!, consideraremos que dos listas circulares son iguales si se obtienen una de otra por alguna rotación. Para contar el número de k-listas circulares que podemos formar con n sı́mbolos intentaremos contar las listas lineales que genera cada una (imaginemos un collar cuyo hilo cortamos entre dos eslabones), para después aplicar los resultados de la subsección 2.2.1. Posición 1 Posición k Posición 2 20 “Trivial” es uno de los adjetivos que usan los matemáticos para describir un argumento (supuestamente) sencillo; tanto, que generalmente no se exhibe. A veces, sobre todo en artı́culos de investigación, el esforzado lector descubre que un “argumento trivial” requiere, al final, un par de hojas de duros cálculos. Recordemos que la palabra trivial hace referencia al Trivium que, junto al Quadrivium, reunı́an las siete artes liberales en el sistema medieval de enseñanza. Los “tres caminos” del primero eran la Gramática, la Retórica y la Dialéctica, mientras que los cuatro del segundo eran la Aritmética, la Música, la Geometrı́a y la Astronomı́a. Se suponı́a que las tres primeras eran las disciplinas elementales, y de ese uso proviene el significado actual de la palabra trivial. Lo de “artes liberales” alude a que servı́an para entrenar al hombre “libre” en la Ciencia propiamente dicha, en contraste con las artes iliberales, que tenı́an fines económicos (aparentemente, los hombres libres no tenı́an necesidad de ganarse la vida). Ya en esta vena etimológica, el lector podrı́a reflexionar sobre otro de los adjetivos favoritos de los matemáticos: obvio. (versión preliminar 11 de octubre de 2004) 88 Capı́tulo 2. Las técnicas básicas de la Combinatoria Empecemos considerando listas circulares sin repetición y un primer ejemplo sencillo: Ejemplo 2.2.8 Listas circulares con A = {a, b, c, d, e} y k = 3. pr eli m in ar b Tomemos una lista circular cualquiera, por ejemplo, la de la figura de la derecha. Es claro que esta lista circular da lugar a tres listas lineales distintas, (b, d, a), (d, a, b) y (a, b, d). Para verlo, podemos pensar en que rotamos la a d lista circular (sigue siendo la misma) y siempre cortamos en la posición que esté arriba. O bien que cortamos entre cualquiera de las posiciones de la lista circular. Es fácil darse cuenta de que esto es lo que ocurre siempre: cada lista circular d da lugar a tres listas lineales distintas. Por ejemplo, una lista circular distinta de la anterior, como la quer aparece a la izquierda, da lugar a otras tres listas a b lineales nuevas, (d, b, a), (b, a, d) y (a, d, b). Ası́ que podemos establecer una aplicación 3 a 1 entre el conjunto de 3-listas con los sı́mbolos {a, b, c, d, e} y el de 3-listas circulares con los mismos sı́mbolos. Como la aplicación es sobreyectiva (toda lista circular que podamos imaginar se relaciona con las correspondientes listas lineales), podemos concluir que 3 · #{3-listas circulares} = #{3-listas lineales} = 5 × 4 × 3 = 60. ♣ Ve rs ión En general, si tenemos un conjunto A con n sı́mbolos y la longitud de la lista circular es k, podremos construir una aplicación f del conjunto de las listas lineales en el de las circulares con la siguiente receta: dada una lista lineal, la aplicación f nos devuelve la lista circular que se forma al “unir” sus extremos. No es difı́cil convencerse de que ésta es una aplicación sobreyectiva y que, además, es k a 1 (porque no distinguimos entre las k listas rotadas que aparecen). Podremos deducir entonces que k-listas lineales sin repetición formadas con los elementos de A # =k×# k-listas circulares sin repetición formadas con los elementos de A . Y que, por tanto, k-listas circulares sin repetición formadas con los elementos de A # = n! n(n − 1) · · · (n − k + 1) = . k k (n − k)! El análisis de este tipo de listas circulares no ha sido difı́cil. Ahora intentemos contar las listas circulares con repetición permitida. ¿Podemos construir también en este caso una aplicación f que nos permita evaluar el número de listas circulares en función del número de listas lineales? Veamos con un ejemplo sencillo los problemas nuevos con los que nos encontraremos al intentar contar este tipo de objetos. Ejemplo 2.2.9 Las 4-listas circulares con repetición permitida que podemos formar con los sı́mbolos {a, b} Empecemos con una de estas listas circulares: a b b ✲ da lugar a las listas lineales ✲ (a, b, a, b) (b, a, b, a) a (versión preliminar 11 de octubre de 2004) 2.2. La regla del producto 89 pr eli m in ar Obtenemos solamente dos listas lineales (las otras dos posibles rotaciones no dan lugar a listas nuevas). Sin embargo, para esta otra lista circular,   a  (a, b, b, b)        (b, a, b, b) ✲ ✲ da lugar a las listas lineales b b  (b, b, a, b)        b (b, b, b, a) E incluso si consideramos la lista circular a a a ✲ da lugar a las listas lineales a ✲  (a, a, a, a)  En este caso es fácil construir todas las listas circulares, hay 6 distintas. Dos de ellas, las que están formadas por un único sı́mbolo, tienen una lista lineal asociada cada una. Hay una lista circular, la primera que exhibı́amos, que tiene asociadas dos listas lineales, mientras que las otras 3 tienen 4 listas lineales asociadas (en total tenemos las 16 listas lineales posibles). ♣ Vemos claramente que, en general, no vamos a poder contar el número de listas circulares en función del número de listas lineales, porque el número de listas lineales a que da lugar una circular depende la longitud de la lista y de la disposición de los sı́mbolos. Ve rs ión El tratamiento de esta cuestión exige unas herramientas de las que por ahora no disponemos. Volveremos sobre ella, ya con el lenguaje de las congruencias, en la subsección 4.3.1. Más adelante, en los capı́tulos 14 y 16, la retomaremos desde otro punto de vista más general (con el lenguaje de la teorı́a de grupos y las funciones generatrices). 2.2.3. Composiciones de un número natural He aquı́ otro ejemplo del uso de la regla del producto: dado un número natural n, n ≥ 1, diremos que tenemos una composición de n si lo escribimos como suma de otros números naturales mayores o iguales que 1 (el orden de presentación de estos sumandos será relevante). La longitud de la composición será el número de sumandos. Algunos ejemplos son: 1+1 2 n=1 −→ {1} (1 comp.) n=2 −→ (2 comps.)   1+1+1    1+2 n=3 −→  2+1 (4 comps.)    3   1+1+1+1      2+1+1      1+2+1    1+1+2 n=4 −→  2+2 (8 comps.)      3+1     1+3     4          (versión preliminar 11 de octubre de 2004)                              . 90 Capı́tulo 2. Las técnicas básicas de la Combinatoria (Obsérvese que, por ejemplo, 4 = 2 + 1 + 1, 4 = 1 + 2 + 1 y 4 = 1 + 1 + 2 son composiciones diferentes, porque, como comentábamos, el orden de los sumandos es relevante). Estos primeros casos nos sugieren una regla general: ¿se cumplirá realmente que pr eli m in ar # {composiciones distintas del número natural n} = 2n−1 ? Establezcamos una biyección entre los objetos que pretendemos contar con otro tipo de objetos. Para ello, escribimos n unos: n  1  1 1...1  1 Para indicar cómo se agrupan los unos para formar una composición, colocaremos entre ellos (hay n − 1 posibles posiciones) cuadrados ✷ y estrellas ⋆. Un sı́mbolo ✷ va a significar “siga adelante”, mientras que el sı́mbolo ⋆ nos obligará a sumar todo lo que llevemos acumulado. Ası́, por ejemplo, si n = 7 1 ✷ 1 ✷ 1 ✷ 1 ⋆ 1 ✷ 1 ⋆ 1 ←→ 4+2+1 1 ✷ 1 ⋆ 1 ✷ 1 ✷ 1 ⋆ 1 ✷ 1 ←→ 2+3+2 1 ⋆ 1 ⋆ 1 ⋆ 1 ✷ 1 ⋆ 1 ⋆ 1 ←→ 1 + 1 + 1 + 2 + 1 + 1 Si comprobamos que esta correspondencia es una biyección, tendremos que: # composiciones del número n =# (n − 1)-listas formadas con los sı́mbolos {✷, ⋆} = 2n−1 . Ve rs ión La comprobación es sencilla: 1. Dada una composición del número n, del tipo n = n1 + n2 + · · · + nm , donde 1 ≤ ni ≤ n, la representamos de la siguiente forma: n unos    1✷1✷1 ⋆ 1 . . . 1✷1 . . . 1✷1 ↑ colocamos una ⋆ tras los n1 primeros unos y ası́ sucesivamente Si ahora nos “olvidamos” de los unos, obtenemos una lista de cuadrados y estrellas de longitud n − 1: (✷, ✷, ⋆, . . . ) 2. Al revés, dada una lista de longitud n − 1 de cuadrados y estrellas, (✷, ✷, ✷, ⋆, ✷, ⋆, · · · , ⋆, ⋆, ⋆, ✷) colocamos unos entre los sı́mbolos ❄ (1✷1✷1✷1 ⋆ 1✷1 ⋆ · · · ⋆ 1 ⋆ 1 ⋆ 1✷1) agrupamos los unos según la posición de las estrellas ❄ 4 + 2 + ··· + 1 + 1 + 2 y obtenemos ası́ una sola composición del número n. (versión preliminar 11 de octubre de 2004) 2.2. La regla del producto 91 Una vez contado el número de composiciones distintas de n que se pueden formar, puede resultar interesante evaluar cuántas de ellas tienen una cierta longitud, digamos k. Volveremos pronto sobre este problema (en la subsección 3.1.3). pr eli m in ar Conviene observar si en la definición de composición el orden no importara, ésta no serı́a una buena forma de contar. Lo vemos en un ejemplo: 2+1 serı́a igual a 1+2 ↓ ↓ 1✷1 ⋆ 1 1 ⋆ 1✷1 ↓ ↓ (✷, ⋆) ← ¡distintas! → (⋆, ✷) Veremos que cuando el orden de los sumandos no es relevante, el problema es mucho más difı́cil de abordar; tendremos entonces lo que llamaremos las particiones de un entero (véase la sección 3.3.3). EJERCICIOS. 2.2.1 ¿Cuántos números distintos de tres dı́gitos diferentes se pueden formar usando las cifras {1, 2, . . . , 9} una sola vez? ¿Cuántos de éstos son números pares? ¿Y cuántos son menores que 468? Ve rs ión Solución. (a) 9 · 8 · 7 (b) 4 · 8 · 7 (c) 9 · 8 · 7 − (5 · 8 · 7 + 1 · 3 · 7 + 2) = 210. 2.2.2 ¿De cuántas maneras distintas se puede confeccionar una lista de las 27 letras del alfabeto (excluimos la ch y la ll) de forma que a y b no aparezcan consecutivamente?; ¿y si además a y c no pueden aparecer consecutivamente? Sugerencia. Pásese al complementario. Solución. (a) 27! − 2 · 26! (b) 27! − 4 · 26! + 2 · 25! 2.2.3 ¿De cuántas formas se puede confeccionar una lista de 12 términos con las letras a, b, y c de forma que aparezcan 2 aes, 2 bes, y 8 ces, y además cada a y cada b tengan una c a ambos lados? Sugerencia. Colóquense las aes y las bes en los huecos entre las ces. Solución. 7 × 6 × 5 2.2.4 ¿Cuántos números enteros entre 1 y 10000 tienen exactamente un 8 y un 9 en su expresión decimal? Solución. 4 × 3 × 82 . (versión preliminar 11 de octubre de 2004) 92 Capı́tulo 2. Las técnicas básicas de la Combinatoria 2.3. La regla de la suma y el principio de inclusión/exclusión pr eli m in ar Cuando intentábamos contar (ejemplo 2.2.7) el número de 4-listas con repetición formadas con los sı́mbolos {1, . . . , n} con sı́mbolos consecutivos distintos y tales que en la primera y cuarta posiciones también tuviéramos sı́mbolos distintos (representamos gráficamente a la izquierda el tipo de listas que nos interesan), nos encontrábamos con un problema a la hora de decidir el número de sı́mbolos disponibles para la última posición. En realidad tenı́amos dos posibilidades, dependiendo de si en la primera y tercera posiciones habı́amos escogido el mismo sı́mbolo o no. Como éstas son las dos únicas posibilidades que hay que considerar, parece razonable considerar los casos por separado y luego sumar los resultados. Ası́, Si en la primera y tercera posiciones situamos el mismo sı́mbolo, entonces tenemos n posibilidades para la posición 1 (y la tercera queda fijada). Para la segunda tenemos n − 1 (el sı́mbolo anterior está prohibido), mientras que para la cuarta hay un sı́mbolo prohibido (el utilizado en 1 y 3). En total, n(n − 1)2 . Si, por el contrario, utilizamos sı́mbolos distintos en las posiciones 1 y 3, entonces tenemos n para la primera, n − 1 para la segunda, n − 2 para la tercera (el de la segunda no se puede usar, y por construcción, el de la primera tampoco) y n − 2 para la cuarta (prohibidos los sı́mbolos, distintos, de 1 y 3). En total, n(n − 1)(n − 2)2 . Ve rs ión Sumando los resultados, el número de listas con las caracterı́sticas buscadas resulta ser n(n − 1)2 + n(n − 1)(n − 2)2 = n(n − 1)(n2 − 3n + 3) . Es fácil imaginarse que este método resulta complicado de aplicar si manejamos listas más grandes. Veremos, como ya comentamos, métodos más generales (en realidad, otro lenguaje) para abordar este tipo de problemas en el capı́tulo de grafos. La clave para haber resuelto el problema es que los dos casos eran disjuntos (si una lista pertenece al primer caso, obviamente no pertenece al segundo) y que, entre los dos casos cubrı́amos todas las listas posibles. Estos son los requisitos necesarios para aplicar la regla de la suma, que pasamos a enunciar. Nos situamos ya en el caso general. Sea un conjunto A y una colección de subconjuntos suyos A1 , A2 , . . . , Ak de forma que k  Ai = A y, además, Ai ∩ Aj = Ø , si i = j . i=1 Es decir, cada elemento de A está en uno y sólo uno de los Ak —esto se llama hacer una partición de A—. Entonces, k |A| = i=1 |Ai |. (versión preliminar 11 de octubre de 2004) 2.3. La regla de la suma y el principio de inclusión/exclusión am 1 1 .. . 0 0 .. . ··· ··· .. . 0 1 .. . 0 1 ··· 1 Aj a los que pertenece el Aunque esta identidad es casi obvia, podemos comprobar su validez de una manera más formal con un argumento de doble conteo. Construyamos una matriz con los subconjuntos A1 , . . . , Ak para etiquetar las columnas y los elementos de A para etiquetar las filas. Sumando los unos de cada columna obtenemos el tamaño del subconjunto Aj que etiquete la columna. Y sumando en cada fila, obtenemos el número de subconjuntos elemento ai que etiqueta la fila. En total, k j=1 |Aj | = pr eli m in ar a1 a2 .. . A1 A2 · · · Ak 93 #{ subconjuntos A1 . . . , Ak a los que pertenece a} a∈A En el caso particular que nos incumbe ahora, en el que tenemos una partición, cada elemento de A estará en uno y sólo uno de los Aj ; ası́ que lo de la derecha vale exactamente a∈A y, tenemos lo que buscábamos. 1 = |A| ; Ejemplo 2.3.1 Contemos el número de 3-listas (con repetición permitida) formadas con los sı́mbolos {0, 1, . . . , 9} en las que en la primera y segunda posiciones de la lista ha de aparecer un cero o en la segunda y tercera, un nueve. Ve rs ión Algunos ejemplos de estas listas son (0, 0, 3), (1, 9, 9), (0, 0, 0) . . . Llamemos A al conjunto de listas con estas caracterı́sticas. Para contarlas, construyamos los subconjuntos A1 = {3-listas con {0, . . . , 9} con ceros en las dos primeras posiciones} , A2 = {3-listas con {0, . . . , 9} con nueves en las dos últimas posiciones} , que, como es fácil comprobar, forman una partición de A. Ası́ que |A| = |A1 |+|A2 | = # listas de la forma (0, 0, n) con 0 ≤ n ≤ 9 +# listas de la forma (n, 9, 9) con 0 ≤ n ≤ 9 . Y es sencillo evaluar el tamaño de estos dos últimos conjuntos, porque en ambos casos basta con decidir el valor de un sı́mbolo. Tendremos entonces 10 + 10 = 20 listas en total. ♣ Ejemplo 2.3.2 Sea n un número entero (muy grande) y formemos todas las listas sin repetición de cualquier longitud posible. ¿Cuál es la probabilidad q(n, k) de que si escogemos una de ellas al azar, ésta tenga longitud k, donde k ≤ n es un cierto número dado? El número de casos favorables coincide con el de listas de longitud k, n!/(n − k)!. Para contar el número de casos posibles, es decir, el total de las listas sin repetición que podemos formar, podemos hacer la partición siguiente: listas sin repetición formadas con {1, . . . , n} = n  j=1 j-listas sin repetición formadas con {1, . . . , n} (versión preliminar 11 de octubre de 2004) . 94 Capı́tulo 2. Las técnicas básicas de la Combinatoria # listas sin repetición con {1, . . . , n} pr eli m in ar Hay que asegurarse de que, efectivamente, esto es una partición. Es evidente que los conjuntos de la derecha son disjuntos dos a dos (si una lista tiene longitud j, no puede tener longitud j ′ , si j = j ′ ). Además, no hay listas de longitud mayor que n ni menor que 1. Por tanto, la regla de la suma nos permite concluir que n = # j=1 n j-listas sin repetición con {1, . . . , n} = j=1 n! = n! (n − j)! n−1 t=0 1 ; t! (en el último paso hemos hecho un cambio en el nombre del ı́ndice de sumación). Por tanto, la probabilidad que buscábamos es el cociente de los casos favorables por los posibles: q(n, k) = n! (n−k)! n−1 1 n! t=0 t! = 1 1 n−1 (n − k)! t=0 1 t! . Pero cuando n es grande, recordando la definición de la función exponencial, n−1 t=0 ası́ que q(n, k) ≈ (véase también el ejercicio 2.3.3). 1 ≈ e, t! 1 e (n − k)! si n es grande ♣ Ve rs ión Ejemplo 2.3.3 Queremos multiplicar una lista de n + 1 números, (a0 , a1 , . . . , an ). Sólo podemos hacer productos dos a dos, ası́ que tenemos que poner paréntesis (). Por ejemplo, para n = 3 podrı́amos hacer      (a0 a1 )(a2 a3 ) o quizás (a0 a1 )a2 a3 , u otras varias. Pues ésa es la pregunta: ¿de cuántas maneras se puede hacer? Llamemos Cn al número de maneras de multiplicar esos n + 1 números; por comodidad, pongamos que C0 = 1. Obsérvese que para especificar el orden en que se multiplican los números deberemos situar n − 1 paréntesis en la lista (luego consideraremos un paréntesis más, para describir la multiplicación final). Veamos los primeros casos: n=1 (a0 , a1 ) n=2 (a0 , a1 , a2 ) n=3 −→ a0 · a1 −→ (a0 , a1 , a2 , a3 ) −→ (a0 · a1 ) · a2 a0 · (a1 · a2 )  a0 · ((a1 · a2 ) · a3 )         a0 · (a1 · (a2 · a3 )) (a0 · a1 ) · (a2 · a3 )     (a0 · (a1 · a2 )) · a3     ((a0 · a1 ) · a2 ) · a3 (1 manera) (2 maneras) (5 maneras) (versión preliminar 11 de octubre de 2004) 2.3. La regla de la suma y el principio de inclusión/exclusión 95 pr eli m in ar En los siguientes casos obtendrı́amos 14, 42, 132. . . maneras. El objetivo es calcular el valor de Cn para un n general. Para ello, observemos que la última operación “·” estará en cierto lugar de la lista, digamos entre los números ak y ak+1 : ...a ) (a . . . a ) · (a  0  k  k+1 n k+1 n−k Esto quiere decir que los elementos a la izquierda ya se han multiplicado entre sı́; es decir, que se han situado los paréntesis de cierta manera, y hay tantas como nos diga Ck . Por su parte, los de la derecha también se han multiplicado entre sı́, y habrá Cn−k−1 formas de hacerlo. Aplicando la regla del producto, para un k fijo, tendremos Ck Cn−k−1 posibilidades. Pero k puede valer entre 0 y n − 1, y el ı́ndice describe una partición de los casos totales, ası́ que, con la regla de la suma, concluimos que, si n ≥ 1, n−1 Cn = k=0 Ck Cn−k−1 = C0 Cn−1 + C1 Cn−2 + · · · + Cn−1 C0 . Ésta es una regla de recurrencia, que nos permite conocer el valor de Cn si es que conocemos los de todos los de ı́ndice menor. Pese a su fiero aspecto, si tuviéramos ahora a nuestra disposición las herramientas potentes y generales de funciones generatrices que veremos en el capı́tulo 10, la resolverı́amos fácilmente. Ve rs ión Pero no es el caso todavı́a, ası́ que nos deberemos conformar con utilizar argumentos combinatorios. Lo haremos en el ejemplo 3.1.3, utilizando un argumento muy ingenioso. Estos números Cn son los llamados números de Catalan21 , y son la respuesta a numerosos problemas combinatorios, algunos de los cuales vamos a proponer aquı́ (en el ejercicio 2.3.4 se enumeran algunos más). Una interpretación gráfica Pongamos, como sugerı́amos antes, un paréntesis extra para describir la multiplicación final: ası́ tenemos que el problema consiste en situar n paréntesis a lo largo de la secuencia; y hay también n multiplicaciones “·”, Si ahora sustituimos cada sı́mbolo “·” por un +1 y cada cierre de paréntesis “)” por un −1, obtenemos una lista de 2n números (x1 , x2 , . . . , x2n ) , donde los xj son ±1, que suman, entre todos ellos, 0 (hay tantos +1 como −1); y que, además, cumplen otra condición: las sumas parciales x1 , x1 + x2 , x1 + x2 + x3 , x1 + x2 + x3 + x4 , . . . son todas no negativas (nunca hay más cierres de paréntesis que multiplicaciones). Con esta traducción, tenemos una interpretación gráfica divertida: hagamos que cada +1 represente 21 En honor de Eugène Catalan (1814-1894), matemático belga que publicó algunos trabajos sobre ellos. (versión preliminar 11 de octubre de 2004) 96 Capı́tulo 2. Las técnicas básicas de la Combinatoria pr eli m in ar una subida y cada −1, una bajada. Y ası́ tenemos que cada lista se corresponde con una montaña que empieza y acaba a la misma altura (y nunca baja de esa altura inicial). Por ejemplo, una de las formas de situar tres paréntesis que exhibı́amos antes se corresponden con las siguientes listas y montañas:     a4 a1 ( a2 a3 ) ❄ +1 ❄ +1 ❄❄ ❄ −1 −1 +1 ❄ −1 Para n = 3, las cinco montañas que se obtienen son: Véase también, insistimos, el ejercicio 2.3.4 (sobre esta interpretación gráfica volveremos, desde otro punto de vista, en la subsección 3.1.4). ♣ Ve rs ión Ejemplo 2.3.4 Calcular el tamaño del conjunto A formado por todas las 4-listas con los sı́mbolos {0, . . . , 9} tales que en la primera y segunda posiciones aparece un cero o bien en la tercera y cuarta, un nueve. Construimos los subconjuntos: A1 = {4-listas con sı́mbolos {0, . . . , 9} con 0 en la 1a y 2a posiciones} A2 = {4-listas con {0, . . . , 9} con 9 en la 3a y 4a posiciones} Cada uno de estos conjuntos tiene tamaño 102 (hay que elegir dos sı́mbolos en cada caso). Y es fácil comprobar que A = A1 ∪ A2 . Pero A1 ∩ A2 = 4-listas con {0, . . . , 9} tales que hay ceros en la 1a y 2a posiciones y nueves en la 3a y 4a = {(0, 0, 9, 9)} =  Ø. Ası́ que no se trata de una partición. En la suma |A1 | + |A2 | estamos contando dos veces el elemento (0,0,9,9), que está en la intersección de A1 y A2 . Ası́ que, adelantándonos al resultado que veremos en un momento, ya podemos decir que la respuesta correcta es |A1 ∪ A2 | = 102 + 102 − 1 = 199 . ♣ La regla de la suma no nos permite tratar este tipo de problemas, y tendremos que buscar una regla más general. Se trata, simplemente, de llevar con cuidado la contabilidad de las veces que contamos de más o de menos los elementos que están en las intersecciones. (versión preliminar 11 de octubre de 2004) 2.3. La regla de la suma y el principio de inclusión/exclusión 97 Principio de inclusión/exclusión (primera versión) Si A1 y A2 son dos conjuntos, entonces, A1 A2 pr eli m in ar |A1 ∪ A2 | = |A1 | + |A2 | − |A1 ∩ A2 |. Un vistazo al diagrama de Venn que exhibimos a la derecha nos permite convencernos de que los elementos de |A1 ∩ A2 | los contamos dos veces en la suma |A1 | + |A2 |. x1 x2 .. . xm A1 A2 A1 ∩ A2 1 0 .. . 1 1 .. . −1 0 .. . 1 0 0 A1 ∩ A2 Un argumento de doble conteo también nos permite llegar a la misma conclusión: llamemos {x1 , . . . , xm } a los elementos de A1 ∪ A2 . Construimos la matriz donde colocamos un 1 si el elemento xi está en el conjunto correspondiente (A1 ó A2 ), un −1 si está en A1 ∩ A2 y un cero en el resto de los casos. Al sumar por columnas obtenemos |A1 | + |A2 | − |A1 ∩ A2 | , mientras que cada fila (¡comprúebese!) aporta un uno, ası́ que entre todas ellas tendremos |A1 ∪ A2 | unos. Ve rs ión Ejemplo 2.3.5 Calculemos el tamaño del conjunto A formado por las 3-listas con los sı́mbolos {0, . . . , 9} tales que en las posiciones 1a y 2a aparece el mismo sı́mbolo o bien en las posiciones 2a y 3a aparece el mismo sı́mbolo. Formamos los subconjuntos: A1 = {3-listas con {0, . . . , 9} con igual sı́mbolo en 1a y 2a }, A2 = {3-listas con {0, . . . , 9} con igual sı́mbolo en 2a y 1a }, A1 ∩ A2 = {3-listas con {0, . . . , 9} con igual sı́mbolo en 1a , 2a y 3a }, y calculamos: |A1 | = #{3-listas con {0, . . . , 9} de la forma (n, n, m)} = 102 , |A2 | = #{3-listas con {0, . . . , 9} de la forma (n, m, m)} = 102 , |A1 ∩ A2 | = #{3-listas con {0, . . . , 9} de la forma (m, m, m)} = 10 . Por tanto, |A| = |A1 ∪ A2 | = |A1 | + |A2 | − |A1 ∩ A2 | = 100 + 100 − 10 = 190. También podrı́amos haber resuelto el problema calculando el tamaño del complementario de A dentro del conjunto X de todas las 3-listas, Ac = {3-listas tales que 1a = 2a y 2a = 3a } La regla del producto nos dice que |Ac | = 10 × 9 × 9, ası́ que |A| = |X| − |Ac | = 10 × 10 × 10 − 10 × 9 × 9 = 190. ♣ (versión preliminar 11 de octubre de 2004) 98 Capı́tulo 2. Las técnicas básicas de la Combinatoria A2 A3 pr eli m in ar A1 Por supuesto, nos encontraremos muchas veces con el problema de evaluar el tamaño de la unión de tres conjuntos, o quizás de cuatro, cinco, etc. Para el caso de tres con juntos, con la ayuda del diagrama de Venn correspondiente, que mostramos a la izquierda, o con el correspondiente argumento de doble conteo, es fácil convencerse de que la respuesta es |A1 ∪ A2 ∪ A3 | = |A1 | + |A2 | + |A3 | − |A1 ∩ A2 | − |A1 ∩ A3 | − |A2 ∩ A3 | + |A1 ∩ A2 ∩ A3 | Escribamos la expresión general. Principio de inclusión/exclusión (versión general) Consideremos una colección A1 , A2 , . . . , An de subconjuntos de un conjunto X. Entonces, n |A1 ∪ A2 ∪ · · · ∪ An | = (−1)n+1 αj , j=1 donde los αj son las sumas de los tamaños de todas las posibles intersecciones de j conjuntos: α1 = |A1 | + |A2 | + · · · + |An | α2 = |A1 ∩ A2 | + |A1 ∩ A3 | + · · · + |An−1 ∩ An | Ve rs ión α3 = |A1 ∩ A2 ∩ A3 | + · · · + |An−2 ∩ An−1 ∩ An | .. . αn = |A1 ∩ A2 ∩ · · · ∩ An | (veremos más adelante cuántos sumandos hay en cada αj ). La prueba de este resultado, utilizando un argumento de doble conteo, la daremos en la subsección 3.1.7. Casi siempre usaremos el principio de inclusión/exclusión para calcular el número de elementos de un conjunto X que respetan ciertas prohibiciones. Tendremos una serie de propiedades Pj , y nos interesará contar los elemento de X que no tienen ninguna de estas propiedades (consideraremos las Pj como propiedades no deseadas, como prohibiciones). Consideraremos entonces los subconjuntos Aj = {elementos de X que satisfacen la propiedad Pj } y buscaremos      X − Aj  = |X | −   j j |Aj | + i<j |Ai ∩ Aj | − · · · (versión preliminar 11 de octubre de 2004) 2.3. La regla de la suma y el principio de inclusión/exclusión 99 EJERCICIOS. pr eli m in ar 2.3.1 ¿Cuántos collares distintos —de longitud en principio arbitraria— se pueden fabricar con n colores de forma que los eslabones sean de colores distintos? Sugerencia. Introdúzcase un parámetro j, la longitud del collar. Solución. n n! j=1 j(n−j)! 2.3.2 ¿Cuántos números naturales n mayores que 1 tienen en su expresión en base 10 todos sus dı́gitos distintos? Sugerencia. Hágase una partición en función de la longitud del número. Para ello, hay que impedir que el 0 aparezca en la primera posición. Solución. 9 10 9! j=1 (10−j)! 2.3.3 Siguiendo con el ejemplo 2.3.2, comprúebese que la probabilidad de que la lista tenga longitud al menos n/2 tiende a 1 cuando n → ∞. Ve rs ión 2.3.4 Compruébese que si tenemos 2n puntos señalados sobre una circunferencia, Cn es el número de maneras en que podemos emparejarlas de forma que los segmentos determinados por las parejas no se corten. Consideremos ahora un polı́gono con n + 2 lados. ¿De cuántas maneras distintas se puede triangular (con n triángulos)? (Nota: éste fue el problema que trató originalmente Eugène Catalan.) 2.3.5 (Lewis Carroll) En una batalla entre 100 combatientes, 80 perdieron un brazo, 85 una pierna, 70 un ojo, y 75 una oreja. Un número indeterminado x perdió las cuatro cosas. Demuéstrese que 10 ≤ x ≤ 70. Sugerencia. Úsese el principio de inclusión/exclusión. (versión preliminar 11 de octubre de 2004)