Professional Documents
Culture Documents
Matemática Discreta I 2020 Apunte
Matemática Discreta I 2020 Apunte
FAMAF - UNC
Marzo 2020
AUTORES/COLABORADORES
LEER
lo cual significa
- En cualquier explotación de la obra autorizada por la licencia será necesario reconocer los
autores, colaboradores, etc.
- La distribución de la obra u obras derivadas se debe hacer con una licencia igual a la que
regula la obra original.
. Prefacio 3
1. Números Enteros 5
1.1 Aritmética 5
1.2 Ordenando los enteros 8
1.3 Definiciones recursivas 13
1.4 El principio de inducción 15
2. Conteo 21
2.1 Principios básicos 21
2.2 Selecciones ordenadas con repetición 23
2.3 Selecciones ordenadas sin repetición 26
2.4 Selecciones sin orden 29
2.5 El teorema del binomio 33
2.6 Ejercicios 37
3. Divisibilidad 39
3.1 Cociente y resto 39
3.2 Divisibilidad 42
3.3 El máximo común divisor y el mínimo común múltiplo 44
3.4 Factorización en primos 53
3.5 Ejercicios 59
4. Aritmética Modular 61
4.1 Congruencias 61
4.2 Ecuación lineal de congruencia 64
4.3 Teorema de Fermat 68
4.4 El criptosistema RSA (*) 70
4.5 Ejercicios 74
5. Grafos 75
5.1 Grafos y sus Representaciones 75
5.2 Isomorfismo de grafos 78
5.3 Valencias 80
5.4 Caminos y ciclos 83
5.5 Árboles 88
1
2 CONTENIDOS
Las siguientes notas se han utilizado para el dictado del curso “Matemática Discreta I” del
primer año de la carrera de ciencias de la computación de FAMAF-UNC. Han sido las notas
principales en el dictado del año 2019 y en algunos años anteriores (desde 1995). Las notas
están basadas en diversas fuentes, principalmente en los libros “Discrete Mathematics” de N.
Biggs y “Notas de Álgebra I” de E. Gentile, pero a lo largo de los años ha habido numerosas
modificaciones y agregados por parte de los diferentes docentes de la cátedra.
El objetivo de las notas es tratar de explicar de una manera simple conceptos aritméticos y
algebraicos elementales, de tal forma que luego estos puedan ser utilizados como herramientas
en la práctica profesional. En particular, uno de nuestros principales objetivos es el desarrollo
de la madurez matemática y la habilidad para resolver problemas matemáticos relacionados
con la artitmética, conteo y grafos. A nivel metodológico, el curso comienza con un enfoque
formal pero intuitivo que se vuelve cada vez más riguroso a medida que aumenta el interés y
las capacidades de abstracción de los alumnos.
Las notas se limitan casi exclusivamente al contenido dictado en el curso y las partes
señaladas con (*) y los apéndices son optativos.
El primer capítulo introduce a los alumnos al formalismo de los números enteros como
sistema axiomático. En la mitad final de este capítulo ses estudia el concepto de definición
recursiva y se demuestra y aplica el principio de inducción. En el segundo capítulo se estudian
los principios de conteo y diversas técnicas relacionadas a los mismos. Diferentes aspectos de
la aritmética elemental son estudiados en el tercer y cuarto capítulo. Como aplicación de lo
aprendido en estos dos capítulos se explica el algoritmo RSA. Finalmente, los capítulos 5 y 6
estudian la teoría de grafos y árboles, temas clásicos de la matemática discreta.
3
1 Números Enteros
SECCIÓN 1.1
Aritmética
Todo lector de este apunte conoce los enteros. En una etapa muy temprana de nuestras
vidas conocemos los números enteros positivos o “números naturales”
1, 2, 3, 4, 5, . . .
Más adelante introducimos el 0 (cero), y los enteros negativos
−1, −2, −3, −4, −5, . . .
En este curso no nos preocupamos demasiado por el significado lógico y filosófico de estos
objetos, pero necesitamos saber las propiedades que se supone que tienen. Si todos parten de
las mismas suposiciones entonces todos llegarán a los mismos resultados. Estos supuestos son
los llamados axiomas.
El punto de vista adoptado en este apunte es el señalado antes. Aceptamos sin reparo
que existe un conjunto de objetos llamados enteros conteniendo los enteros positivos y los
negativos, y el cero, familiares en nuestra temprana educación y experiencia. El conjunto de
enteros se denotará por el símbolo especial Z. Las propiedades de Z serán dadas por una
lista de axiomas, a partir de las cuales seremos capaces de deducir todos los resultados sobre
números enteros que necesitaremos en las cuestiones subsiguientes. Empezaremos listando
aquellos axiomas que tratan la suma y la multiplicación.
5
6 1. NÚMEROS ENTEROS
que a × b y a + b son enteros, y no algún objeto extraño como elefantes, es nuestra primera
suposición axioma (I1).
I1) a + b y ab pertenecen a Z.
I2) Conmutatividad. a + b = b + a; ab = ba.
I3) Asociatividad. (a + b) + c = a + (b + c); (ab)c = a(bc).
I4) Existencia de elemento neutro. Existen números 0, 1 ∈ Z con 0 6= 1 tal que a+0 = a;
a1 = a.
I5) Distributividad. a(b + c) = ab + ac.
I6) Existencia del inverso aditivo, también llamado opuesto. Por cada a en Z existe un
único entero −a en Z tal que a + (−a) = 0.
I7) Cancelación. Si a es distinto de 0 y ab = ac, entonces b = c.
Todos los axiomas corresponden a propiedades familiares de los enteros que aprendemos
en distintos niveles de nuestra educación matemática. De ellas pueden deducirse la mayoría
de las reglas aritméticas comunes de los enteros como en el siguiente ejemplo.
Ejemplo 1.1.1. Demostremos que, para todo n entero, el opuesto de −n es n, es decir
que
−(−n) = n.
Demostración. El axioma (I6) nos dice que −(−n) es el único número que sumado a
−n, da cero. Por lo tanto, para demostrar que −(−n) = n basta ver que (−n) + n = 0. Esto
se cumple puesto que
(−n) + n = n + (−n) axioma (I2)
=0 axioma (I6)
1. ARITMÉTICA 7
Como ya dijimos, los números enteros vienen provistos con dos operaciones fundamentales,
la suma y la multiplicación. A continuación definimos la resta o sustracción.
Definición 1.1.1. Si a, b ∈ Z definimos a − b como la suma de a más el opuesto de b,
es decir que a − b = a + (−b) por definición.
Demostración.
0 = 0 + 00 axioma (I4) aplicado a 0 y con 00 como neutro
= 00 + 0 axioma (I2)
= 00 axioma (I4) aplicado a 00 y con 0 como neutro.
Ejemplo 1.1.4. (Regla de los signos) Veamos que si a, b ∈ Z entonces
(−a)(−b) = ab, a(−b) = (−a)b = −(ab).
Demostración. Veremos que a(−b) = −(ab). Los otros casos se dejan como ejercicio
para el lector.
Una forma de demostrar este caso es observando que −(ab) es el inverso aditivo de ab y
comprobando que a(−b) es también inverso aditivo de ab. Luego, por unicidad del inverso
8 1. NÚMEROS ENTEROS
Algunos resultados similares pueden encontrarse en los siguientes ejercicios. Como aún no
tenemos todos los axiomas correspondientes a los enteros, los resultados no son particularmente
interesantes, pero lo que importa es recordar que pueden ser probados sobre la base única de
los axiomas.
§ Ejercicios
1) Demostrar la regla (a + b)c = ac + bc, explicando cada paso.
2) Como siempre x2 denota xx. Demostrar que dados dos enteros a y b tal que a + b 6= 0,
entonces existe un único c tal que (a + b)c = a2 − b2 .
3) Probar que hay un único elemento neutro del producto.
4) La siguiente es una demostración de la fórmula 0x = 0 usando solo los axiomas planteados
antes. Escribir la demostración completa, explicando que axioma es usado en cada paso.
0x = (0 + 0)x axioma (.....)
= 0x + 0x. axioma (.....)
Luego 0x = 0x + 0x. Sumando −0x a ambos miembros de la igualdad, obtenemos
0x + (−0x) = 0x + 0x + (−0x) (usando lógica formal)
0 = 0x + 0 axioma (.....), 2 veces
0 = 0x. axioma (.....)
SECCIÓN 1.2
Solo cuatro axiomas se necesitan para especificar las propiedades básicas del símbolo < ,
y ellos son listados en lo que sigue. La numeración de los axiomas se continúa de la sección
1.1. Como antes, a, b y c denotan enteros arbitrarios.
1. ORDENANDO LOS ENTEROS 9
I8) Ley de tricotomía. Vale una y sólo una de las relaciones siguientes:
a < b, a = b, b < a.
I9) Ley transitiva. Si a < b y b < c, entonces a < c.
I10) Compatibilidad de la suma con el orden. Si a < b, entonces a + c < b + c.
I11) Compatibilidad del producto con el orden. Si a < b y 0 < c, entonces ac < bc.
Esta claro que podemos definir los otros símbolos de orden >, ≤ y ≥, en términos de los
símbolos < e =. Diremos que m > n si n < m, diremos que m ≤ n si m < n o m = n.
Finalmente, diremos que m ≥ n si m > n o m = n. Es importante notar que el axioma (I11)
tiene una versión valedera para estos nuevos símbolos.
Usando las definiciones de ≥, <, > y el axioma (I11) original es muy sencillo demostrar estas
variantes. Por otro lado,
Demostración (*).
Ya hemos usado (en axioma I4) el símbolo 6= que denota “no es igual a ” o bien “es distinto
a”. En general, cuando tachemos un símbolo, estamos indicando la negación de la relación
que define. Por ejemplo, a 6< b denota “a no es menor que b”.
Como a 6< b, entonces vale una de las dos afirmaciones siguientes, a = b o b < a, es decir
vale que a ≥ b. De forma análoga se prueba que a 6≤ b si y sólo si a > b, a 6> b si y sólo si
a ≤ b y a 6≥ b si y sólo si a < b.
O1) Reflexividad. a ≤ a.
O2) Antisimetría. Si a ≤ b y b ≤ a, entonces a = b.
O3) Transitividad. Si a ≤ b y b ≤ c, entonces a ≤ c.
Demostración.
(O2) Como a ≤ b, tenemos que a < b o bien a = b (por tricotomía no pueden valer
ambas). Si ocurriera que a < b, por la observación anterior, tendríamos que a 6≥ b, es decir
b 6≤ a, lo cual es absurdo pues una de nuestras hipótesis es, justamente, lo contrario: b ≤ a.
Es decir, la única posibilidad que queda es que a = b.
Una relación que satisfaga las tres propiedades anteriores (reflexividad, antisimetría y tran-
sitividad) es llamada una relación de orden. Observar que < no es una relación de orden, en
el sentido de la definición anterior.
A primera vista podría parecer que ya tenemos todas las propiedades que necesitamos de
Z, pero, sorprendentemente, aún falta un axioma de vital importancia. Supongamos que X
es un subconjunto de Z; entonces diremos que el entero b es una cota inferior de X si
b≤x para todo x ∈ X.
Algunos subconjuntos no tienen cotas inferiores: por ejemplo, el conjunto de los enteros
negativos −1, −2, −3, . . ., claramente no tiene cota inferior. Por otro lado, el conjunto S
denotado por los números resaltados en la Fig. 1 tiene muchas cotas inferiores. Una mirada
rápida nos dice que −9 por ejemplo es una cota inferior, mientras que una inspección más
minuciosa revela que −7 es la “mejor” cota inferior, pues en realidad pertenece a S. En general,
1. ORDENANDO LOS ENTEROS 11
−10, −9, −8, −7, −6, −5, −4, −3, −2, −1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Nuestro último axioma para Z afirma algo que es (aparentemente) una propiedad obvia.
El axioma (I12) es conocido como el axioma del buen orden o principio de buena orde-
nación. Una buena forma de entender su significado es considerar X un conjunto de entero
acotado inferiormente y un juego en el cual dos personas eligen alternativamente un elemento
de X, sujetos a la regla de que cada número debe ser estrictamente menor que el anterior.
El axioma nos dice que cuando los números son enteros, el juego terminará; además el final
se producirá cuando uno de los jugadores tenga el buen sentido de elegir el mínimo. Esta
propiedad aparentemente obvia no se mantiene necesariamente cuando tratamos con números
que no son enteros, pues X puede no tener un mínimo aunque tenga una cota inferior. Por
ejemplo supongamos que X es el conjunto de fracciones 3/2, 4/3, 5/4, . . . teniendo por forma
general (n + 1)/n, n ≥ 2. Este conjunto tiene una cota inferior (1, por ejemplo) pero no tiene
mínimo y por lo tanto los jugadores podrían seguir jugando para siempre, eligiendo fracciones
más y más cercanas a 1.
El axioma del buen orden nos da una justificación firme para nuestro intuitivo dibujo de los
enteros: un conjunto de puntos regularmente espaciados sobre una linea recta, que se extiende
indefinidamente en ambas direcciones Fig. 2. En particular dice que no podemos acercarnos
más y más a un entero sin alcanzarlo, de forma que el dibujo de la Fig. 3 no es correcto.
El hecho de que haya espacios vacíos entre los enteros nos lleva a decir que el conjunto Z
es discreto y es esta propiedad la que da origen al nombre “matemática discreta”. En cálculo
y análisis, los procesos de límite son de fundamental importancia, y es preciso usar aquellos
sistemas numéricos que son continuos, en vez de los discretos.
El siguiente resultado es obvio, pero debe ser demostrado. Sin embargo, la demostración
es bastante compleja y sólo se da por completitud.
Demostración (*). Primero debemos probar que 0 < 1. Ahora bien, como 0 6= 1
(por axioma I4), por la ley de tricotomía (axioma I8), debe ocurrir que 0 < 1 o 1 < 0.
Supongamos que 1 < 0, luego por proposición 1.2.1, 1 · 1 > 1 · 0. Como 1 es elemento neutro
de la multiplicación, obtenemos 1 > 0, que contradice nuestra suposición. Esta contradicción
vino de suponer que 1 < 0. Por lo tanto, 0 < 1.
Probaremos ahora que no existe a entero tal que 0 < a < 1 y lo haremos por el absurdo:
supongamos que existe a ∈ Z tal que 0 < a < 1 y sea
X = {a ∈ Z : 0 < a < 1}.
La suposición que hicimos implica que X es no vacío. Dado que todos los elementos de X
son positivos, X es un subconjunto de Z acotado inferiormente (0 es cota inferior). Por el
axioma del buen orden (I12) resulta que X tiene un elemento mínimo, que llamaremos a0 , y
cumple
0 < a0 < 1.
Usamos ahora la compatibilidad del producto con la relación de orden (I11): por un lado
multiplicamos por a0 la desigualdad 0 < a0 y obtenemos 0 < a20 , y por otro lado multiplicamos
por a0 la desigualdad a0 < 1 y obtenemos a20 < a0 . Es decir
0 < a20 < a0 < 1.
La desigualdad 0 < a20 < 1 dice que a20 ∈ X pero la desigualdad a20 < a0 dice que a0 no
es el mínimo elemento de X, lo cual es una contradicción pues dijimos que a0 es el mínimo
elemento de X. El absurdo vino de suponer que existe a ∈ Z tal que 0 < a < 1.
§ Ejercicios
1) Demostrar que ≥ es una relación de orden.
2) Demostrar que dados cualesquiera a, b, c ∈ Z vale que si a < b y 0 ≤ c, entonces ac ≤ bc.
3) Demostrar que si a ≤ b y c ≤ 0, entonces bc ≤ ac.
4) Demostrar que 0 ≤ x2 para todo x en Z.
5) Deducir de la proposición 1.2.2 que n + 1 es el menor entero mayor que n para todo n en
Z.
6) Demostrar que si un conjunto X tiene mínimo, este es único. Dicho más formalmente:
demostrar que si existen c, c0 ∈ X tal que c ≤ x y c0 ≤ x para todo x ∈ X, entonces
c = c0 .
7) En cada uno de los siguientes casos decir si el conjunto X tiene o no una cota inferior, y
si la tiene, encontrar el mínimo.
a) X = {x ∈ Z|x2 ≤ 16}.
b) X = {x ∈ Z|x = 2y para algún y ∈ Z}.
c) X = {x ∈ Z|x ≤ 100 x}.
8) Un subconjunto Y de Z se dice que tiene una cota superior c si c ≥ y para todo y ∈ Y .
Una cota superior que además es un elemento de Y es llamada el máximo de Y . Usar el
axioma (I12) para demostrar que si Y es no vacío y tiene una cota superior, entonces tiene
máximo. [Ayuda: aplicar el axioma al conjunto cuyos elementos son −y (y ∈ Y ).]
1. DEFINICIONES RECURSIVAS 13
SECCIÓN 1.3
Definiciones recursivas
Sea N el conjuntos de enteros positivos, esto es
N = {n ∈ Z|n ≥ 1},
y denotemos N0 el conjunto N ∪ {0}, esto es
N0 = {n ∈ Z|n ≥ 0}.
N es llamado el conjunto de números naturales. Si X es un subconjunto de N (o de N0 )
entonces automáticamente tiene una cota inferior, pues cada elemento x de X satisface x ≥ 1
(o x ≥ 0). Así, en este caso el axioma del buen orden toma la forma
si X es un subconjunto no vacío de N o N0 entonces X tiene un mínimo.
Esta la forma más usada en la práctica.
Nuestro primer uso del axioma del buen orden será para justificar un procedimiento muy
usual. Frecuentemente encontramos una expresión de la forma un , donde n indica cualquier
entero positivo: por ejemplo, podríamos tener un = 3n + 2, o un = (n + 1)(n + 2)(n + 3).
En estos ejemplos un es dado por una fórmula explícita y no existe dificultad en explicar como
calcular un cuando se nos da un valor específico para n. Sin embargo en muchos casos no
conocemos una fórmula para un ; es más, nuestro problema puede ser encontrarla. En estos
casos pueden darnos ciertos valores de un para enteros positivos n pequeños, y una relación
entre el un general y algunos de los ur con r < n. Por ejemplo, supongamos nos es dado
u1 = 1, u2 = 2, un = un−1 + un−2 , n ≥ 3.
Para calcular los valores de un para todo n de N podemos proceder como sigue:
u3 = u2 + u1 = 2 + 1 = 3,
u4 = u3 + u2 = 3 + 2 = 5,
u5 = u4 + u3 = 5 + 3 = 8,
y así siguiendo. Éste es un ejemplo de una definición recursiva. Es “obvio” que el método dará
un valor único de un para todo entero positivo n. Pero hablando estrictamente necesitamos
el axioma del buen orden para justificar la conclusión a través de las siguientes líneas.
Supongamos que existe un entero positivo n para el cual un no está definido de manera
única. Entonces por el axioma del buen orden existe un entero positivo mínimo m con esta
propiedad. Como u1 y u2 están explícitamente definidos, m no es 1 o 2 y la ecuación um =
um−1 +um−2 es aplicable. Por la definición de m, um−1 y um−2 están definidos de manera única,
14 1. NÚMEROS ENTEROS
El lector no debe desanimarse por el uso de argumentos tan retorcidos para establecer algo
que es “obviamente” verdadero. En primer lugar, no debemos usar resultados ilegítimamente
(sin demostrarlos), y en segundo lugar, el hecho de que el resultado sea “obvio” simplemente
indica que estamos trabajando con la correcta representación mental de N y Z. Una vez que
hemos establecido esa representación sobre bases firmes podemos empezar a extendernos y
obtener resultados que no sean tan “obvios”.
El método de definición recursiva aparecerá bastante seguido en el resto del apunte. Existen
otras formas de este procedimiento que se “esconden” por su notación. ¿Qué significan las
siguientes expresiones?
Xn
2r − 1, 1 + 3 + 5 + · · · + (2n − 1).
r=1
Claramente no basta decir que uno significa lo mismo que el otro, porque cada uno contiene
P
un misterioso símbolo, y · · · , respectivamente. Lo que deberíamos decir es que cada uno
de ellos es equivalente a la expresión sn , dada por la siguiente definición recursiva:
s1 = 1, sn = sn−1 + (2n − 1), n ≥ 2.
Esto hace ver claro que ambos símbolos misteriosos son, en realidad, una forma de acortar
una definición recursiva, y que por lo tanto son expresiones definidas para todo n en N.
Ideas similares pueden aplicarse a la definición de productos tal como n! (que se lee n
factorial). Si decimos que
n! = 1 · 2 · 3 · · · n,
el significado es bastante claro para cualquiera. Pero para precisar (y hacerlo claro para una
computadora) debemos usar las definiciones recursivas.
Qn
En el caso de n! se puede o bien definir como i=1 i, o bien como
1! = 1, n! = n · (n − 1)! (n ≥ 2).
1. EL PRINCIPIO DE INDUCCIÓN 15
§ Ejercicios
1) En el caso siguiente calcule (donde sea posible) los valores de u1 , u2 , u3 y u4 dados por
las ecuaciones. Si no puede calcular los valores explicar porque la definición no esta bien.
a) u1 = 1, u2 = 1, un = un−1 + 2un−2 , n ≥ 3.
b) u1 = 1, un = un−1 + 2un−2 , n ≥ 2.
c) u1 = 0, un = nun−1 , n ≥ 2.
2) Sea un definido por las ecuaciones
u1 = 2, un = 2un−1 , n ≥ 2.
¿Cuál es el primer valor de n para el cual no se puede calcular un usando una calculadora
de bolsillo o de su celular?
3) Escribir fórmulas explícitas para las expresiones un definidas por las siguientes ecuaciones.
a) u1 = 1, un = un−1 + 3, n ≥ 2.
2
b) u1 = 1, un = n un−1 , n ≥ 2.
SECCIÓN 1.4
El principio de inducción
Supongamos que nos piden que demostremos el resultado
1 + 3 + 5 + · · · + (2n − 1) = n2 .
En otras palabras, debemos demostrar que la expresión de la izquierda definida recursivamente
es igual a la expresión definida explícitamente por la fórmula de la derecha, para todos los
enteros positivos n. Podemos proceder como sigue.
a) 1 ∈ S,
b) para cada k ∈ N, si k ∈ S entonces k + 1 ∈ S.
Intuitivamente notamos que P (n) es verdadera para cualquier n natural, Q(n) lo es para
algunos valores de n y es falsa para otros y R(n) es falsa para todo valor de n. Sin embargo,
para verificar realmente que la propiedad P (n) es verdadera para todo n natural no podemos
hacerlo probando para cada n en particular. Resulta entonces muy útil la siguiente versión
equivalente del principio de inducción.
a) P (1) es verdadera.
b) Para todo k ∈ N, P (k) verdadera implica P (k + 1) verdadera.
En la notación del teorema anterior, (a) es llamado el caso base, (b) es llamado el paso
inductivo y P (k) es llamada la hipótesis inductiva. El paso inductivo consiste en probar que
P (k) ⇒ P (k + 1) o, equivalentemente, podemos suponer P (k) verdadera y a partir de ella
probar P (k + 1).
Ejemplo 1.4.1. Sea a ∈ Z tal que 0 < a. Probemos que 0 < an para todo n ∈ N.
Demostración.
(Paso inductivo) Supongamos que el resultado verdadero cuando n = k, o sea, que la hipótesis
inductiva es 0 < ak . Entonces, como 0 < a, multiplicando por a ambos lados de la desigualdad
obtenemos, por la compatibilidad de < con el producto, que a · 0 < ak · a, es decir 0 < ak+1 .
Luego el resultado es verdadero cuando n = k + 1 y por el principio de inducción, es verdadero
para todos los enteros positivos n.
Demostración.
El siguiente teorema incorpora todas las modificaciones del principio de inducción men-
cionadas más arriba.
a) n0 ∈ S,
b) si h ∈ S para todo h en el rango n0 ≤ h ≤ k entonces k + 1 ∈ S.
Como se podrá observar, la demostración es muy similar a la del teorema 1.4.1. El teorema
anterior lo podemos utilizar para la demostración de propiedades dependientes de números
enteros.
Teorema 1.4.4 (Inducción completa). Sea n0 número entero y sea P (n) una propiedad
para n ≥ n0 tal que:
1. EL PRINCIPIO DE INDUCCIÓN 19
a) P (n0 ) es verdadera.
b) Si P (h) verdadera para toda h tal que n0 ≤ h ≤ k implica P (k + 1) verdadera.
Demostración. Ejercicio.
Ejemplo 1.4.3. Sean
u1 = 3, u2 = 5, un = 3un−1 − 2un−2 , n ≥ 3.
n
Probemos que un = 2 + 1, para todo n ∈ N.
Solución. Aquí usaremos una extensión natural del principio de inducción: en este caso,
el caso base es n = 1 y n = 2.
(Paso inductivo) Supongamos que k ≥ 2 y el resultado es cierto para los h tales que
1 ≤ h ≤ k. Es decir que uh = 2h + 1 para 1 ≤ h ≤ k y k ≥ 2 (hipótesis inductiva),
entonces
uk+1 = 3uk − 2uk−1 por definición recursiva
k k−1
= 3(2 + 1) − 2(2 + 1) por hipótesis inductiva
= 3 · 2k + 3 − 2 · 2k−1 − 2
= 3 · 2k + 1 − 2k
= 2 · 2k + 1
= 2k+1 + 1.
Ejemplo 1.4.4. Sea a ∈ Z y n ∈ N. Definimos an de la siguiente manera:
(1) a1 = a, an+1 = an · a para n > 1.
Si n, m ∈ N verifiquemos las siguientes propiedades
a) an · am = an+m .
b) (an )m = anm
(Caso base) Debemos ver que an ·a1 = an+1 , lo cual es verdadero por la definición recursiva
(1).
Probemos ahora (b). Al igual que antes, Se fijará n y se hará inducción sobre m.
(Caso base) Debemos ver que (an )1 = an , lo cual es verdadero por la definición recursiva
(1).
§ Ejercicios
1) Usar el principio de inducción para demostrar que
1
12 + 22 + · · · + n2 = n(n + 1)(2n + 1)
6
para todos los enteros positivos n.
2) Hacer una tabla de valores de
Sn = 13 + 23 + · · · + n3
para 1 ≤ n ≤ 6. Basándose en su tabla sugiera una fórmula para Sn . [Ayuda: los valores de
Sn son cuadrados perfectos.] Usar el principio de inducción para establecer que la fórmula
es correcta para todo n ≥ 1. (Si el método falla ¡su fórmula es equivocada!)
3) Probar que
1
14 + 24 + · · · + n4 = n(n + 1)(2n + 1)(3n2 + 3n + 1).
30
4) Usar el principio de inducción para probar que 2n > n + 1 para todo entero n ≥ 2.
5) Encontrar el menor entero positivo n0 para el cual sea verdadero que n! ≥ 2n . Tomando
el caso n = n0 como la base inductiva, demostrar que el resultado vale para n ≥ n0 .
6) En los siguientes casos encontrar los valores apropiados de n0 para la base inductiva y
demostrar que la afirmación es verdadera para todos los n ≥ n0 .
a) n2 + 6n + 9 ≥ 0,
b) n3 ≥ 6n2 .
2 Conteo
SECCIÓN 2.1
Principios básicos
El principio de adición
Ejemplo 2.1.1. Supongamos que una persona va a salir a pasear y puede ir al cine donde
hay 3 películas en cartel o al teatro donde hay 4 obras posibles. Entonces, tendrá un total de
3 + 4 = 7 formas distintas de elegir el paseo.
Este principio es el más básico del conteo y más formalmente dice que si A y B son
conjuntos finitos disjuntos, entonces
(2) |A ∪ B| = |A| + |B|.
El principio es fácilmente generalizable a varios conjuntos.
(Caso base n = 1) En este caso no hay nada que probar pues |A1 | = |A1 |.
(Paso inductivo) La hipótesis inductiva es P (k) y debemos probar que P (k) ⇒ P (k + 1). Si
denotamos B = A1 ∪ · · · ∪ Ak , entonces
A1 ∪ · · · ∪ Ak+1 = B ∪ Ak+1
Ahora bien, si x ∈ B ∩ Ak+1 , entonces x ∈ Ai para algún i < k + 1 y x ∈ Ak+1 . Como
Ai ∩ Ak+1 = ∅, se produce un absurdo que viene de suponer que existía un elemento en
B ∩ Ak+1 . Luego B ∩ Ak+1 = ∅ y por el principio de adición |B ∪ Ak+1 | = |B| + |Ak+1 |.
Si A y B no son disjuntos, cuando sumamos |A| y |B| estamos contando A ∩ B dos veces.
Entonces, para obtener la respuesta correcta debemos restar |A ∩ B| y obtenemos
|A ∪ B| = |A| + |B| − |A ∩ B|.
Generalizar la fórmula de arriba a más conjuntos no es del todo sencillo y es el llamado principio
del tamiz o principio de inclusión-exclusión (ver apéndice B).
El principio de multiplicación
Suponga que una actividad consiste de 2 etapas y la primera etapa puede ser realizada de
n1 maneras y la etapa 2 puede realizarse de n2 maneras, independientemente de como se ha
hecho la etapa 1. Entonces toda la actividad puede ser realizada de n1 · n2 formas distintas.
Ejemplo 2.1.2. Supongamos que la persona del ejemplo 2.1.1 tiene suficiente tiempo y
dinero para ir primero al cine y luego al teatro. Entonces tendrá 3 · 4 = 12 formas distintas
de hacer el paseo.
SECCIÓN 2.2
Para no escribir demasiado vamos a adoptar una notación muy conveniente: si elegimos a
y b en forma ordenada, denotamos ab. Entonces, en muy breve espacio seremos capaces de
escribir todas las selecciones ordenadas de 2 elementos del conjunto [[1, 3]]:
11 12 13
21 22 23
31 32 33
Son 9 = 32 formas. ¿Cómo justificamos esto? Es claro que para la primera elección tenemos
3 valores posibles y para la segunda elección tenemos también 3 valores posibles, entonces,
por el principio de multiplicación, tenemos en total 3 · 3 elecciones posibles.
Avancemos un poco más y ahora elijamos en forma ordenada 3 elementos de [[1, 3]], es
claro que estas elecciones son
111 211 311
112 212 312
113 213 313
121 221 321
122 222 322
123 223 323
131 231 331
132 232 332
133 233 333.
El total de elecciones posibles 27 = 33 . Esto se justifica usando dos veces el principio de
multiplicación: para la primera elección tenemos 3 valores posibles. Para la segunda elección
tenemos también 3 valores posibles, entonces, por el principio de multiplicación, tenemos en
total 3 · 3 valores posibles para la elección de los dos primeros números. Como para la tercera
elección tenemos 3 valores posibles, por el principio de multiplicación nuevamente, tenemos
3 · 3 · 3 elecciones posibles.
1 111
1 2 112
3 113
1 121
1 2 2 122
3 123
1 131
3 2 132
3 133
1 211
1 2 212
3 213
1 221
2 2 2 222
3 223
1 231
3 2 232
3 233
1 311
1 2 312
3 313
1 321
3 2 2 322
3 323
1 331
3 2 332
3 333
Cada rama del árbol representa una selección ordenada de elementos de [[1, 3]].
Ejemplo 2.2.2. ¿Cuántos números de cuatro dígitos pueden formarse con los dígitos
1, 2, 3, 4, 5, 6?
Ejemplo 2.2.3. ¿Cuántos números de 5 dígitos y capicúas pueden formarse con los
números dígitos 1, 2, 3, 4, 5, 6, 7, 8? Un número capicúa de cinco dígitos es de la forma
xyzyx
Se reduce a ver cuántos números de tres dígitos pueden formarse con aquéllos dígitos. Exac-
tamente 83 .
Otra forma de verlo: podemos identificar cada subconjunto de X con una terna ordenada
de 0’s y 1’s de la siguiente manera: si a está en el subconjunto la primera coordenada de la
terna es 1, si no es 0; si b está en el subconjunto la segunda coordenada de la terna es 1, si
no es 0; si c está en el subconjunto la tercera coordenada de la terna es 1, si no es 0. Es decir
tenemos la identificación
∅ ↔ 000
{a} ↔ 100
{b} ↔ 010
{c} ↔ 001
{a, b} ↔ 110
{a, c} ↔ 101
{b, c} ↔ 011
{a, b, c} ↔ 111.
26 2. CONTEO
Dado X un conjunto, denotamos P(X) el conjunto formado por todos los subconjuntos
de X, por ejemplo
P({1, 2}) = {∅, {1}, {2}, {1, 2}}.
Si X es un conjunto finito la proposición 2.2.2 nos dice que
|P (X)| = 2|X|
SECCIÓN 2.3
Por ejemplo, las selecciones de 3 elementos en forma ordenada y sin repetición de [[1, 3]]
son exactamente
123, 132, 213, 231, 312, 321
2. SELECCIONES ORDENADAS SIN REPETICIÓN 27
(son las ternas donde los tres números son distintos). O sea hay 6 selecciones ordenadas y sin
repetición de elementos de [[1, 3]].
Notemos que
3 · 2 · 1 = 6 = 3!
Esta forma de escribir nos da la razón de que haya 6 selecciones ordenadas y sin repetición de
elementos de [[1, 3]]: para la elección del primer elemento tenemos 3 posibilidades (el 1, 2 o 3).
Cuando elegimos el segundo elemento, si queremos que no haya repetición, debemos excluir
el valor elegido en primer lugar, o sea que tenemos solo 2 elecciones. Análogamente para la
tercera elección solo hay solo una posibilidad, pues debemos descartar los valores elegidos en
el primer y segundo lugar. Tenemos entonces 3 · 2 · 1 selecciones posibles.
2 3 123
1
3 2 132
1 3 213
2
3 1 231
1 2 312
3
2 1 321
Pensemos ahora que queremos elegir en forma ordenada y sin repetición 3 elementos entre
5. Entonces para la primera elección tenemos 5 posibilidades, para la segunda 4 posibilidades
y para la tercera 3 posibilidades haciendo un total de
5·4·3
selecciones posibles.
Se puede demostrar que si n < m, no hay ninguna selección ordenada y sin repetición de
m elementos de un conjunto de n elementos (lo cual se ve muy bien intuitivamente: si hay
más personas que asientos, ¡alguien se quedará parado!). Este hecho es llamado el principio
de las casillas en la literatura.
Proposición 2.3.1. Si n ≥ m entonces existen
(3) n · (n − 1) · · · (n − (m − 1)), m - factores
selecciones ordenadas y sin repetición de m elementos de un conjunto de n elementos.
Este número es
10 · 9 · 8 · 7 · 6 · 5 · 4, 7 - factores.
Ejemplo 2.3.2. ¿Cuántas permutaciones pueden formarse con las letras de silvia?
6!
Afirmamos que se pueden formar palabras usando las letras de silvia.
2!
Si escribo en lugar de silvia,
s i l v i’ a
2. SELECCIONES SIN ORDEN 29
Es decir si cambio la segunda i por i’, todas las letras son distintas, luego hay 6! permutaciones,
pero cada par de permutaciones del tipo
· · · i · · · i’ · · ·
· · · i’ · · · i · · ·
coinciden, por lo tanto tengo que dividir por 2 el número total de permutaciones.
Tomemos la palabra
ramanathan
10!
el número total de permutaciones es .
4!2!
En efecto, escribiendo el nombre anterior así
r a1 m a2 n1 a3 t h a4 n1
el número total de permutaciones es 10! Pero permutando las ai y las ni sin mover las otras
letras obtenemos la misma permutación de ramanathan.
n! n!
1) , si n ≥ 2. 3) , si n ≥ 2.
(n − 2)! (n − 2)!2!
(n + 2)! (n + 2)!
2) , si n ≥ 2. 4) .
(n − 2)! n!
(n − 1)!
5) .
(n + 2)!
SECCIÓN 2.4
Ejemplo 2.4.1. Por ejemplo, sea X = {1, 2, 3, 4, 5} y nos interesan los subconjuntos
de tres elementos. ¿Cuántos habrá? Una forma de individualizar un subconjunto de tres
elementos en X, consiste en, primero, seleccionar ordenadamente 3 elementos de [[1, 5]].
30 2. CONTEO
Pero es claro que algunas de las selecciones ordenadas pueden determinar el mismo sub-
conjunto. En efecto, por ejemplo, cualesquiera de las selecciones
123, 132, 213, 231, 312, 321
determina el subconjunto {1, 2, 3} . Es decir las permutaciones de {1, 2, 3} determinan el
mismo subconjunto. Y así con cualquier otro subconjunto de tres elementos. Por lo tanto, el
número total de subconjuntos de 3 elementos debe ser
5·4·3 5!
=
3! 3!(5 − 3)!
Definimos también
n
= 0, si m > n.
m
Observación 2.4.1. Hay unos pocos números combinatorios que son fácilmente calcu-
lables:
n 0 n n
= =1 y = = n.
0 0 1 n−1
Estos resultados se obtienen por aplicación directa de la definición (recordar que 0! = 1).
Como vimos anteriormente el número combinatorio suele resultar de utilidad para resolver
problemas de conteo. Veamos un ejemplo.
Ejemplo 2.4.2. ¿Cuántos comités pueden formarse de un conjunto de 6 mujeres y 4
hombres, si el comité debe estar compuesto por 4 mujeres y 2 hombres?
2. SELECCIONES SIN ORDEN 31
Demostración.
n n! n! n! n
= = = = .
n−m (n − (n − m))! (n − m)! m! (n − m)! (n − m)! m! m
Nota 2.4.1. El hecho de que
n n
= .
m n−m
n
se puede interpretar en términos de subconjuntos: es el número de subconjuntos de m
m
elementos de un conjunto de n elementos. Puesto que con cada subconjunto de m elementos
hay unívocamente
asociadoun subconjunto de n − m elementos, su complemento en X, es
n n
claro que = .
m n−m
Teorema 2.4.3 (Fórmula del triángulo de Pascal). Sean m, n ∈ N, tal que m ≤ n.
Entonces
n+1 n n
= +
m m−1 m
Aunque por razones de conteo es obvio que los números combinatorios son números nat-
urales, esto no es claro por la definición formal.
n
Corolario 2.4.4. Si n ∈ N y 0 ≤ m ≤ n entonces ∈ N.
m
Si m = 0, entonces
n+1 n+1
= = 1 ∈ N.
m 0
Si m = n + 1, entonces
n+1
= 1 ∈ N.
n+1
Por lo tanto, es válido el paso inductivo y así nuestra afirmación queda probada.
0
0
1 1
0 1
2 2 2
0 1 2
3 3 3 3
0 1 2 3
4 4 4 4 4
0 1 2 3 4
· · · · · ·
En virtud del teorema 2.4.3 cada término interior es suma de los dos términos inmediatos
superiores. Los elementos en los lados valen 1 por lo tanto se puede calcular cualquiera de
ellos.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
· · · · · ·
(Lector: calcule el valor de la suma total de cada fila del triángulo.)
SECCIÓN 2.5
Teorema 2.5.1. Sea n un entero positivo. El coeficiente del termino an−r br en el desar-
rollo de (a + b)n es el número binomial nr . Explícitamente, tenemos
n n n n n−1 n n−2 2 n n
(a + b) = a + a b+ a b + ··· + b .
0 1 2 n
Observación 2.5.1. Antes de hacer una segunda demostración del teorema del binomio
veamos el siguiente resultado que nos resultará útil: sea ak , ak+1 , . . . , am−1 , am una sucesión
de números reales (k ≤ m) y sea r ∈ N0 . Entonces
m
X m−k+r
X
ai = ai+k−r .
i=k i=r
La sumatoria de la derecha es la de la izquierda con un “cambio de variable” en el índice.
La demostración de este hecho se puede hacer por inducción sobre m (caso base m = k) o
simplemente escribiendo ambas sumatorias con la notación de puntos suspensivos y verificando
que ambas son iguales a
ak + ak+1 + · · · + am−1 + am .
Luego
(a + b)n = (a + b)(a + b)n−1
n−1 !
X n − 1 n−1−i i
= (a + b) a b por hip. inductiva
i=0
i
n−1 n−1
X n − 1 n−i i X n − 1 n−1−i i+1
= a b + a b propiedad distributiva
i=0
i i=0
i
n−1 n
X n − 1 n−i i X n − 1 n−i i
= a b + a b ver observación 2.5.1
i=0
i i=1
i−1
n−1
n
X n−1 n−1
=a + { + }an−i bi + bn agrupar por potencias iguales
i=1
i i − 1
n−1
X n
n
=a + an−i bi + bn por teorema 3.4.1
i=1
i
n
X n
= an−i bi .
i=0
i
Los coeficientes en el desarrollo pueden por lo tanto ser calculados con el método recursivo
usado para los números binomiales (triángulo de Pascal) o usando la formula. Por ejemplo,
6 6 6 6 5 6 4 2 6 3 3
(a + b) = a + a b+ ab + ab
0 1 2 3
6 2 4 6 6 6
+ ab + ab5 b
4 5 6
= a6 + 6a5 b + 15a4 b2 + 20a3 b3 + 15a2 b4 + 6ab5 + b6 .
Por supuesto, podemos obtener otras formulas útiles si reemplazamos a y b por otras expre-
siones. Algunos ejemplos típicos son:
(1 + x)4 = 1 + 4x + 6x2 + 4x3 + x4 ;
(1 − x)7 = 1 − 7x + 21x2 − 35x3 + 35x4 − 21x5 + 7x6 − x7 ;
(x + 2y)5 = x5 + 10x4 y + 40x3 y 2 + 80x2 y 3 + 80xy 4 + 32y 5 ;
(x2 + y)4 = x8 + 4x3 y + 6x4 y 2 + 4x2 y 3 + y 4 .
La expresión a +b es conocida como un expresión binómica porque tiene dos términos.
Como los números nr aparecen como los coeficientes en el desarrollo de (a+b)n , generalmente
se los llama, como ya fue dicho, coeficientes binomiales. De todos modos esta claro por la
prueba del teorema 2.5.1 que estos números aparecen en este contexto porque representan
el número de formas de hacer ciertas selecciones. Por esta razón continuaremos usando el
nombre de números binomiales, que se aproxima más al concepto que simbolizan.
36 2. CONTEO
De acuerdo con el teorema del binomio el miembro izquierdo es el producto de dos factores,
ambos iguales a
n n n r n n
1+ x + ··· + x + ··· + x .
0 1 r n
Cuando los dos factores se multiplican, un termino en xn se obtiene tomando un termino
del primer factor de tipo xi y un termino del segundo factor de tipo xn−i . Por lo tanto los
coeficientes de xn en el producto son
n n n n n n n n
(6) + + + ··· + .
0 n 1 n−1 2 n−2 n 0
n
= nr , vemos que (6) es el lado izquierdo de la igualdad (5). Pero el lado derecho
Como n−r
es 2n
n
que es también el coeficiente de xn en el desarrollo de (1 + x)2n , y entonces obtenemos
la igualdad que buscábamos.
§ Ejercicios
a) x5 en (1 + x)11 ; c) a6 b6 en (a2 + b3 )5 ;
b) a2 b8 en (a + b)10 ; d) x3 en (3 + 4x)6 .
SECCIÓN 2.6
Ejercicios
1) Una ficha del juego de dominó puede ser representada con el símbolo [x|y], donde x e y son
miembros del conjunto {0, 1, 2, 3, 4, 5, 6}. Los números x e y pueden ser iguales. Explicar
por que el número total de fichas de dominó es 28 y no 49.
2) ¿De cuántas formas se pueden elegir un casillero negro y uno blanco en un tablero de
ajedrez de tal forma que los dos casilleros no estén ni en la misma fila ni en la misma
columna?
3) Suponer que en clase hay m mujeres y n varones. ¿De cuántas formas puedo ordenar a
todos los alumnos en una hilera de manera que todas las mujeres queden juntas?
4) Suponer que tenemos un dominó generalizado en que las fichas toman su par de valores
entre 0 y n. Sea k un entero en el rango 0 ≤ k ≤ n. Probar que el número de fichas [x|y]
en que x + y = n − k es igual al número de fichas en que x + y = n + k.
5) Denotar un la cantidad de palabras de longitud n en el alfabeto {0, 1} que tienen la
propiedad de no tener dos ceros consecutivos. Probar que
u1 = 2, u2 = 3, un = un−1 + un−2 , n ≥ 3.
9 9
6) Desarrollar (x + y) y (x − y) .
7) Calcular el coeficiente de:
8) Probar que
n r n n−k
= .
r k k r−k
9) Se dibujan todas las posibles diagonales que conectan a un conjunto de n puntos en el
círculo y se observa que no hay tres rectas que se cruzan en un mismo punto ¿Cuántos
puntos internos de intersección hay?
10) Probar que el número de formas de distribuir n bolas idénticas en m cajas con etiquetas,
algunas de las cuales puede quedar vacía es
n+m−1
.
n
11) Probar que si n ≥ m, entonces
m m+1 n n+1
+ + ··· + = .
m m m m+1
12) Sea X un n-conjunto. Probar que
a) existe un conjunto de n−1
k−1
k-subconjuntos de X tales que cada par de ellos tiene
intersección no vacía.
b) existe un conjunto de nn∗ subconjuntos de X con la propiedad que ninguno contiene a
otro. Aquí n∗ es igual a n/2 si n es par y a 12 (n − 1) si n es impar.
3 Divisibilidad
SECCIÓN 3.1
Cociente y resto
Cuando somos chicos aprendemos que 6 “cabe” cuatro veces en 27 y el resto es 3, o sea
27 = 6 · 4 + 3.
Un punto importante es que el resto debe ser menor que 6. Aunque, también es verdadero
que, por ejemplo
27 = 6 · 3 + 9,
debemos tomar el menor valor para el resto, de forma que “lo que queda” sea un número
no negativo lo más chico posible. El hecho de que el conjunto de posibles “restos” tenga un
mínimo es una consecuencia del axioma del buen orden.
Demostración. Debemos aplicar el axioma del buen orden al conjunto de los “restos”
R = {x ∈ N0 |a = by + x para algún y ∈ Z}.
Primero demostraremos que R no es vacío. Si a ≥ 0 la igualdad
a=b·0+a
demuestra que a ∈ R, mientras que si a < 0 la igualdad
a = b · a + (1 − b) · a
demuestra que (1 − b) · a ∈ R (en ambos casos es necesario controlar que el elemento es no
negativo.)
39
40 3. DIVISIBILIDAD
Es fácil ver que el cociente q y el resto r obtenidos en el teorema son únicos. Supongamos
que q 0 y r0 , también satisfacen las condiciones, esto es
a = bq 0 + r0 y 0 ≤ r0 < b.
Si q > q 0 , entonces q − q 0 ≥ 1 y tenemos que
r0 = a − bq 0 = (a − bq) + b(q − q 0 ) ≥ r + b.
Como r + b ≥ b, se sigue que r0 ≥ b contradiciendo la segunda propiedad de r0 . Por lo tanto
la suposición q 0 > q es falsa. El mismo argumento con q y q 0 intercambiados demuestra que
q < q 0 también es falsa. Entonces debemos tener q = q 0 , y en consecuencia r = r0 , puesto
que
r = a − bq = a − bq 0 = r0 .
Ejemplo 3.1.1.
• Si a = 10 y b = 3, entonces 10 = 3 · 3 + 1. Es decir q = 3, r = 1.
• Si a = 2 y b = 5, entonces 2 = 5 · 0 + 2. Es decir q = 0, r = 2.
• Si a = −10 y b = 3, entonces −10 = 3 · (−4) + 2. Es decir q = −4, r = 2. En
algunos viejos compiladores del lenguaje C, la división entera estaba mal definida,
pues consideraban, por ejemplo, −10 = 3 · (−3) − 1. Es decir, si el número a ser
dividido era negativo, tomaban el resto también como un número negativo, lo cual
no está de acuerdo al teorema 3.1.1.
• Si a = −2 y b = 3, entonces 10 = 3 · (−1) + 1. Es decir q = −1, r = 1.
Ejemplo 3.1.2. Deseamos escribir el número 407 con una expresión de la forma
407 = rn 5n + rn−1 5n−1 + · · · + r1 5 + r0 ,
con 0 ≤ ri < 5. Veamos que esto es posible y se puede hacer de forma algorítmica. La forma
de hacerlo es, primero, dividir el número original y los sucesivos cocientes por 5:
(7) 407 = 5 · 81+2
(8) 81 = 5 · 16+1
(9) 16 = 5 · 3 +1
(10) 3 = 5 · 0 +3.
3. COCIENTE Y RESTO 41
Sea b ≥ 2 un número entero, llamado base para los cálculos. Para cualquier entero positivo
x tenemos, por la aplicación repetida del teorema 3.1.1,
x = bq0 +r0
q0 = bq1 +r1
···
qn−2 = bqn−1 +rn−1
qn−1 = bqn +rn .
Aquí cada resto es uno de los enteros 0, 1, . . . , b−1, y paramos cuando qn = 0. Reemplazando
sucesivamente los cocientes qi , como lo hicimos en el ejemplo, obtenemos
x = rn bn + rn−1 bn−1 + · · · + r1 b + r0 .
Hemos representado x (con respecto a la base b) por la secuencia de los restos, y escribimos
x = (rn rn−1 . . . r1 r0 )b . Convencionalmente b = 10 es la base para los cálculos hechos “a
mano” y omitimos ponerle el subíndice, entonces tenemos la notación usual
1984 = (1 · 103 ) + (9 · 102 ) + (8 · 10) + 4.
Esta notación posicional requiere símbolos solo para los enteros 0, 1, . . . , b − 1. La base
b = 2 es particularmente adaptable para los cálculos en computadoras porque los símbolos 0
y 1 pueden representarse físicamente por la ausencia o presencia de un pulso de electricidad o
luz.
Ejemplo 3.1.3. ¿Cuál es la representación en base 2 de (109)10 ?
Por lo tanto
(109)10 = (1101101)2 .
La base 16 también es usada en computación pues se utiliza el byte como unidad básica
de memoria y debido a que un byte puede tomar 28 posibles valores, tenemos que
28 = 24 · 24 = 16 · 16 = 1 · 162 + 0 · 161 + 0 · 160 .
Luego un byte puede representar (100)16 valores. Más allá de la justificación, es claro que los
dígitos disponibles (del 0 al 9) no nos alcanzan para representar un número en base 16, pues
se requieren 16 símbolos. La convención usada es
A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.
§ Ejercicios
1) Encontrar q y r que satisfagan el teorema 3.1.1 cuando
a) a = 1001, b = 11;
b) a = 12345, b = 234.
2) Encontrar las representaciones de (1985)10 en:
a) Base 2,
b) Base 5,
c) Base 11.
3) Encontrar las representación usual (base 10) de:
a) (11011101)2 ,
b) (4165)7 .
SECCIÓN 3.2
Divisibilidad
Definición 3.2.1. Dados dos enteros x e y decimos que y es un divisor de x, y escribimos
y|x, si
x = yq para algún q ∈ Z.
3. DIVISIBILIDAD 43
También decimos que y es un factor de x, que y divide a x, que x es divisible por y, y que x
es múltiplo de y.
Cuando y|x podemos usar el símbolo xy (o x/y) para denotar el entero q tal que x = yq.
Cuando y no es un divisor de x tenemos que asignar un nuevo significado a la fracción x/y,
puesto que este número no es un entero. El lector indudablemente, esta familiarizado con las
reglas para manejar fracciones, y usaremos esas reglas de tanto en tanto, pero es importante
recordar que las fracciones no han sido aún formalmente definidas en el contexto de este
apunte. Y es aún más importante recordar que x/y no es un elemento de Z a menos que y
divida a x1.
Observación 3.2.1. Veamos ahora alguna propiedades básicas de la relación “divide a”.
Sean a, b, c enteros, entonces
a) 1|a, a|0, a| ± a;
b) si a|b, entonces a|bc para cualquier c;
c) si a|b y a|c, entonces a|(b + c);
d) si a|b y a|c, entonces a|(rb + sc) para cualesquiera r, s ∈ Z.
Demostración. Como d|n existe un entero s tal que n = ds, y n/d denota al entero
s. Puesto que c|(n/d) existe un entero t tal que
n
s = = ct.
d
Se sigue que
n = ds = d(ct) = c(dt)
entonces c|n y n/c denota al entero dt. Finalmente, como n/c = dt tenemos d|(n/c), como
queríamos demostrar.
a) Si ab = 1 entonces a = b = 1 o a = b = −1.
b) Si x e y son enteros tales que x|y e y|x, entonces x = y o x = −y.
Demostración.
1En algunos lenguajes de programación si x, y son enteros, entonces la operación x/y devuelve el cociente
entero q. No usaremos esa convención en este apunte.
44 3. DIVISIBILIDAD
Es decir podemos suponer que o bien a > 0 y b > 0, o bien a < 0 y b < 0.
(b) Sean x, y tales que x|y e y|x. Como x|y, existe q ∈ Z tal que y = qx. Análogamente,
como y|x existe q 0 tal que x = q 0 y. Luego
y = qx = q(q 0 y) = (qq 0 )y.
Por el axioma de cancelación (cancelando y) obtenemos que 1 = qq 0 . Por lo demostrado más
arriba tenemos que, o bien q = q 0 = 1 y en consecuencia x = y, o bien q = q 0 = −1 y en
consecuencia x = −y.
1) n2 + 3n es divisible por 2,
2) n3 + 3n2 + 2n es divisible por 6.
SECCIÓN 3.3
a) d|a y d|b;
b) si c|a y c|b entonces c|d.
La condición (a) nos dice que d es un común divisor de a y b y la condición (b) nos dice
que cualquier divisor común de a y b es también divisor de d. Por ejemplo, 6 es un divisor
común de 60 y 84, pero no es el mayor divisor común, porque 12|60 y 12|84 pero 126 |6 (el
símbolo significa “no divide”.)
3. EL MÁXIMO COMÚN DIVISOR Y EL MÍNIMO COMÚN MÚLTIPLO 45
Propiedad (b). Puesto que d ∈ S, existen s, t ∈ Z tal que d = sa + tb. Sea c tal que c|a
y c|b, por (d) de la observación 3.2.1, tenemos que c|sa + tb, es decir c|d.
Propiedad (a). Supongamos ahora que d 6 |a, entonces |a| = qd + r con 0 < r < d y
q ≥ 0, luego r = ±a − qd = ±a − q(sa + tb) = a(±1 − qs) + (−qt)b. Por lo tanto, r < d
pertenece a S, contradiciendo el hecho de que d es un mínimo de S. La contradicción vino
de suponer que d 6 |a, por lo tanto d|a. En forma análoga podemos probar que d|b.
Solución.
Luego, 6 es divisor común de 174 y 72, y todos los demás divisores comunes (1, 2 y 3)
dividen a 6. Por lo tanto mcd(174, 72) = 6.
Proposición 3.3.2. Sean a, b ∈ Z, alguno de ellos no nulo. Entonces existen s, t ∈ Z
tal que
(a, b) = sa + tb.
(⇐) Sea d = (a, b), entonces d|a y d|b y por lo tanto d|sa + tb para cualesquiera s, t ∈ Z.
En particular, la hipótesis implica que d|1 y, en consecuencia d = 1.
Definición 3.3.2. Si el (a, b) = 1 entonces decimos que a y b son coprimos.
Podemos enunciar las propiedades más sencillas del mcd en la siguiente proposición
Proposición 3.3.4. Sean a, b enteros con a 6= 0, entonces
Demostración. Estas propiedades son de demostración casi trivial, por ejemplo para
demostrar que mcd(1, b) = 1 comprobamos que 1 cumple con la definición:
Ahora bien, como d|a y d|b − a, entonces d|a + (b − a) = b. Es decir, para recalcar,
3. EL MÁXIMO COMÚN DIVISOR Y EL MÍNIMO COMÚN MÚLTIPLO 47
Por otro lado, si c|a y c|b, entonces c|b − a, luego por (ii) tenemos que c|d. Es decir,
La propiedad anterior nos provee un método práctico para encontrar el máximo común
divisor entre dos números, como vemos en el siguiente ejemplo.
En general no es sencillo encontrar todos los divisores de un número entero grande. Por
ejemplo, para los números de más de cien dígitos no es posible, en general, calcular sus divisores
ni con las computadoras más poderosas de la actualidad. Por lo tanto, no es factible calcular
el mcd de números grandes revisando todos los divisores comunes. El algoritmo que nos provee
la propiedad 3.3.5 nos da un método práctico y relativamente eficiente para calcular el mcd.
Veremos a continuación un método similar pero mucho más eficiente para calcular el mcd de
dos enteros no negativos a, b con b 6= 0. Este método esta basado en la técnica del cociente
y el resto y depende del siguiente hecho.
(a) como d|a y d|b, entonces por (*) tenemos que d|b y d|r;
(b) si c|a y c|r entonces por (*) c|a y c|b y debido a que d = mcd(a, b), se deduce que
c|d.
Solución. Tenemos
mcd(2406, 654) = mcd(654, 444) porque 2406 = 654 · 3 + 444,
= mcd(444, 210) porque 654 = 444 · 1 + 210,
= mcd(210, 24) porque 444 = 210 · 2 + 24,
= mcd(24, 18) porque 210 = 24 · 8 + 18,
= mcd(18, 6) porque 24 = 18 · 1 + 6,
= mcd(6, 0) = 6 porque 18 = 6 · 3 + 0
Este ejemplo es un caso particular o una aplicación del algoritmo que nos permite calcular
el máximo común divisor.
Algoritmo de Euclides
Por lo general, para calcular el mcd de enteros a y b, con b > 0, definimos qi y ri
recursivamente de la siguiente manera: r0 = a, r1 = b, y
(e1 ) r0 = r1 q1 + r2 (0 < r2 < r1 )
(e2 ) r1 = r2 q2 + r3 (0 < r3 < r2 )
(e3 ) r2 = r3 q3 + r4 (0 < r4 < r3 )
···
(ei ) ri−1 = ri qi + ri+1 (0 < ri+1 < ri )
···
(ek−1 ) rk−2 = rk−1 qk−1 + rk (0 < rk < rk−1 )
(ek ) rk−1 = rk qk + 0,
El proceso se detiene cuando uno de los restos ri es igual a 0 y queda claro que el proceso
debe detenerse, porque cada resto no nulo es positivo y estrictamente menor que el anterior.
Teorema 3.3.7. Sean a y b enteros con b > 0, entonces el máximo común divisor existe
y es el último resto no nulo obtenido en el algoritmo de Euclides (con la notación anterior es
rk ).
3. EL MÁXIMO COMÚN DIVISOR Y EL MÍNIMO COMÚN MÚLTIPLO 49
Sean a y b enteros, b no nulo y sea d = mcd(a, b). Entonces sabemos que existen enteros
s y t tales que
d = sa + tb.
La idea ahora es calcular s y t. En el caso que b > 0, de acuerdo con el cálculo hecho antes
d = rk y usando la ecuación (ek−1 ) tenemos
rk = rk−2 − rk−1 qk−1 .
Así, d puede escribirse en la forma d = sk rk−2 + tk rk−1 ,donde sk = 1 y tk = −qk−1 . Usando
la ecuación (ek−2 ), sustituyendo rk−1 en términos de rk−3 y rk−2 obtenemos
d = sk (rk−3 − rk−2 qk−2 ) + tk rk−3 = sk−1 rk−3 + tk−1 rk−2
donde sk−1 = sk +tk y tk−1 = −sk qk−2 . Aplicando repetidas veces las ecuaciones del algoritmo
de Euclides obtenemos, en general que
d = si ri−2 + ti ri−1
con si , ti ∈ Z, para 2 ≤ i ≤ k. En particular
d = s2 r0 + t2 r1 = s2 a + t2 b.
Por el ejemplo, de los cálculos usados para encontrar el mcd de 470 y 55 obtenemos
470 = 55 · 8 + 30 ⇒ 30=470 + (−8) · 55 (∗)
55 = 30 · 1 + 25 ⇒ 25=55 + (−1) · 30 (∗∗)
30 = 25 · 1 + 5 ⇒ 5 =30 + (−1) · 25 (∗ ∗ ∗)
25 = 5 · 5 + 0.
50 3. DIVISIBILIDAD
Luego
5 = 30 + (−1) · 25 (por (∗ ∗ ∗))
= 30 + (−1) · (55 + (−1) · 30) = 2 · 30 + (−1) · 55 (por (∗∗))
= 2 · (470 + (−8) · 55) + (−1) · 55 = 2 · 470 + (−17) · 55 (por (∗))
El hecho de que el máximo común divisor de dos enteros a y b puede ser escrito como una
combinación lineal entera de a y b (proposición 3.3.2) es una herramienta de suma utilidad
para trabajar en problemas relacionados con el mcd. Por ejemplo, todos estamos familiarizados
con la idea de que una fracción puede reducirse al “mínimo término”, o sea a la forma a/b con
a y b coprimos. El siguiente ejemplo establece que esta forma es única, y como veremos, el
hecho clave de la demostración es que podemos expresar a 1 como sa + tb.
Ejemplo 3.3.5. Supongamos que a, a0 , b, b0 son enteros positivos que satisfacen
(a) ab0 = a0 b; (b) mcd(a, b) = mcd(a0 , b0 ) = 1.
Entonces a = a0 y b = b0 .
(La condición (a) podría escribirse como a/b = a0 /b0 , pero preferimos usar esta forma que
no asume ningún conocimiento sobre fracciones.)
Como ri se define con una recursión que se basa en los dos casos anteriores, el caso base
debe hacerse en dos valores: i = 0 e i = 1, pero como r0 = a (en este caso s0 = 1, s1 = 0) y
r1 = b (en este caso s0 = 0, s1 = 1), se cumple el enunciado para el caso base.
Con el uso de (b) de la proposición anterior, podemos escribir el algoritmo para obtener
s, t tal mcd(a, b) = sa + tb con el siguiente pseudocódigo.
Algoritmo de Euclides 2
# pre: a y b son números positivos
# post: Obtenemos s y t tal que mcd(a,b) = a*s + b*t
r[0], r[1] = a, b
s[0], t[0] = 1, 0
s[1], t[1] = 0, 1
i = 1
while r[i] != 0:
# invariante: r[i] = a * s[i] + b * t[i]
q, r[i+1] = r[i-1] / r[i], r[i-1] % r[i]
s[i+1] = s[i-1] - s[i] * q
t[i+1] = t[i-1] - t[i] * q
i = i+1
s, t = s[i-1], t[i-1]
a) a|m y b|m;
b) si a|n y b|n entonces m|n.
La condición (a) nos dice que m es múltiplo común de a y b, la condición (b) nos dice
que cualquier otro múltiplo de a y b también debe ser múltiplo de m. Por ejemplo hallemos el
mínimo común múltiplo entre 8 y 14. Escribamos los múltiplos de ambos números y busquemos
el menor común a ambos. Los primeros múltiplos de 8 son: 8, 16, 24, 32, 40, 48, 56, . . .. Los
primeros múltiplos de 14 son: 14, 28, 42, 56, 72, . . .. Luego se tiene mcm(8, 14) = 56. Nos
faltaría comprobar que cualquier múltiplo de 8 y 14 es múltiplo de 56, pero eso se deduce
fácilmente de los resultados que veremos a continuación.
Como
ab a b
m= = b=a
mcd(a, b) mcd(a, b) mcd(a, b)
resulta que m es múltiplo de a y b, y por lo tanto se satisface (a) de la definición de mínimo
común múltiplo. Veamos ahora (b): sea n ∈ Z tal que a|n y b|n. Como existen enteros r, s
tales que
(13) mcd(a, b) = ra + sb,
dividiendo la ecuación (13) por mcd(a, b) y multiplicando por n, obtenemos la siguiente
ecuación:
a b
(14) n=r n+s n.
mcd(a, b) mcd(a, b)
Escribiendo n = b0 b = a0 a (a0 , b0 en Z) y haciendo los reemplazos en (14), resulta finalmente
ab ab ab
(15) n = rb0 + sa0 = (rb0 + sa0 )
mcd(a, b) mcd(a, b) mcd(a, b)
lo cual demuestra que m divide a n.
Solución. Es claro que 2 = mcd(8, 14), luego mcm(8, 14) = 8 · 14/2 = 56.
§ Ejercicios
1) Encontrar el mcd de 721 y 448 y expresarlo en la forma 721m + 448n con m, n ∈ Z.
2) Usar proposición 3.3.2 para demostrar que si a, b y n son enteros no nulos, entonces
mcd(na, nb) = n mcd(a, b).
3) Usar el Ej. 2 para demostrar que si el mcd(a, b) = d , entonces
a b
mcd , = 1.
d d
4) Sean a y b enteros positivos y sea d = mcd(a, b). Probar que existen enteros x e y que
satisfacen la ecuación ax + by = c si y solo si d|c.
5) Encontrar enteros x e y que satisfagan 966x + 685y = 70.
3. FACTORIZACIÓN EN PRIMOS 53
SECCIÓN 3.4
Factorización en primos
Definición 3.4.1. Se dice que un entero positivo p es primo si p ≥ 2 y los únicos enteros
positivos que dividen p son 1 y p mismo.
El lector debe estar casi totalmente familiarizado con la idea de que cualquier entero
positivo puede expresarse como producto de primos: por ejemplo
825 = 3 · 5 · 5 · 11.
54 3. DIVISIBILIDAD
La existencia de esta factorización en primos para cualquier entero positivo es una consecuencia
del axioma del buen orden.
Si B no es vacío entonces, por el axioma del buen orden, tiene un mínimo m. Si m fuera
un primo p entonces tendríamos la factorización trivial m = p; por lo tanto m no es primo y
existen m1 , m2 enteros positivos con 1 < m1 < m y 1 < m2 < m tal que m = m1 m2 .
Demostración.
(a) Como los únicos divisores de p son p y 1, y p6 |a, el único divisor común de p y a es 1.
(b) p0 es primo, por lo tanto tiene sólo dos divisores positivos 1 y p0 . Como p no es 1, tenemos
que p = p0 .
Este criterio reduce enormemente la cantidad de pruebas que debemos hacer para verificar
si un número es primo.
Ejemplo 3.4.2. Verifiquemos si 467 es primo o no.
Demostración.
Debemos probar que si p|x1 x2 . . . xk xk+1 , entonces p|xi para algún xi (1 ≤ i ≤ k + 1).
Un error común es asumir que el teorema 3.4.4 se mantiene verdadero cuando reem-
plazamos el primo p por un entero arbitrario . Pero esto claramente falso: por ejemplo
6|3 · 8 pero 66 |3 y 66 |8.
Ejemplos como éste nos ayudan a entender que el teorema 3.4.4 expresa una propiedad muy
significativa de los números primos. Además veremos que esta propiedad juega un papel crucial
en el siguiente resultado, que a veces es llamado el Teorema Fundamental de la Aritmética.
Demostración. Por el axioma del buen orden, si existe un entero para el cual el teorema
es falso, entonces hay un entero mínimo n0 ≥ 0 con esta propiedad. Supongamos entonces
que
n0 = p1 p2 . . . pk y n0 = p01 p02 . . . p0l ,
donde los pi (1 ≤ i ≤ k) son primos, no necesariamente distintos, y los p0i (1 ≤ i ≤ l) son
primos, no necesariamente distintos. La primera ecuación implica que p1 |n0 , y la segunda
ecuación implica que p1 |p01 p02 . . . p0l . Por consiguiente por teorema 3.4.4 tenemos que p1 |p0j
para algún j (1 ≤ j ≤ l). Reordenando la segunda factorización podemos asumir que p1 |p01 ,
y puesto que p1 y p01 son primos, se sigue que p1 = p01 (observación 3.4.2-(3)). Luego por el
axioma (I7), podemos cancelar los factores p1 y p01 , y obtener
p2 p3 . . . pk = p02 p03 . . . p0l ,
y llamemos a esto n1 . Pero supusimos que n0 tenía dos factorizaciones diferentes, y hemos
cancelado el mismo número (p1 = p01 ) en ambas factorizaciones, luego n1 tiene también dos
factorizaciones primas diferentes. Esto contradice la definición de n0 como el mínimo entero
sin factorización única. Por lo tanto el teorema es verdadero para n ≥ 2.
La factorización prima nos dice que los números primos son los “ladrillos” esenciales para
“construir” los números enteros usando multiplicaciones. Ahora bien, podría ocurrir que haya
3. FACTORIZACIÓN EN PRIMOS 57
un número finitos de ellos y que podamos escribir cada número como producto de primos en
forma muy sintética. Pero este no es el caso.
Es claro que la conclusión del ejemplo vale también si nosotros permitimos que alguno de
los enteros m o n valga 1. Luego podemos expresar el resultado diciendo que no hay enteros
positivos m y n que cumplan m 2
=2
n
o equivalentemente, diciendo que la raíz cuadrada de 2 no puede ser expresada como una
fracción m/n.
Una notación conveniente para nuestros propósitos será la siguiente: sean m y n dos enteros
positivos, a veces es conveniente escribir la factorización prima de ambos números usando los
mismos primos, y los primos que usamos son los que se encuentran en la factorización prima
de ambos. Es decir escribimos
m = pe11 pe22 . . . perr , n = pf11 pf22 . . . pfrr .
con ei , fi ≥ 0 para i = 1, . . . , r y ei o fi distinto de cero.
Veremos ahora un resultado que se puede deducir fácilmente del Teorema Fundamental de
la Aritmética (TFA).
58 3. DIVISIBILIDAD
Demostración.
(⇒) Por la descomposición de m es claro que pei |m. Como m|n entonces pei |n. Es decir
n = pei u. Es claro por TFA entonces que ei ≤ fi .
Ahora veremos que es es posible calcular el mcd y el mcm de un par de números sabiendo
sus descomposiciones primas.
Demostración.
(a) Sea c tal que c|n y c|m, entonces los primos que intervienen en la factorización de c son
p1 , . . . , pr y por lo tanto c = pt11 pt22 . . . ptrr . Además, como c|n y c|m tenemos que ti ≤ ei , fi y
por lo tanto ti ≤ ki = min(ei , fi ). De esto se deduce que c|pk11 pk22 . . . pkr r = d. Por otro lado,
es claro que p1k1 pk22 . . . pkr r divide a m y n y se deduce el resultado.
Observación 3.4.3. La proposición anterior nos puede llevar a pensar que una forma
sencilla de encontrar el mcd y mcm es usando la descomposición en factores primos de los
números involucrados. Esto, en general, no es así para números grandes: no hay un método
eficiente para encontrar la descomposición prima de un número grande. Esencialmente, el
mejor método para encontrar un divisor de un número grande es el criterio de la raíz, es decir
probando si algún número menor que la raíz del número original lo divide. El criterio de la raíz
√
baja el número de comprobaciones de n a n y eso no ayuda mucho cuando n es grande.
3. EJERCICIOS 59
Ahora bien, ¿qué es un “número grande”? En la actualidad, por ejemplo, con todos los
recursos computacionales de que se disponen no es posible factorizar números de 200 dígitos
o más.
§ Ejercicios
1) Sean m, n enteros con m, n ≥ 2. Probar que, m y n son coprimos si y sólo si no comparten
ningún primo en la factorización.
En otras palabras, sean
m = pe11 pe22 . . . perr , n = q1f1 q2f2 . . . qsfs ,
las descomposiciones primas de m y n. Entonces mcd(m, n) = 1 si y sólo si con pi 6= qj
para todos los i, j.
2) Probar que si m y n son enteros positivos, tales que m ≥ 2 y n ≥ 2, y m2 = kn2 , entonces
k es el cuadrado de un entero.
3) Usar la identidad
2rs − 1 = (2r − 1)(2(s−1)r + 2(s−2)r + · · · + 2r + 1)
para probar que si 2n − 1 es primo, entonces n es primo.
4) Encontrar el mínimo n para el cual la recíproca del ejercicio anterior es falsa: esto es, n es
primo pero 2n − 1 no lo es.
SECCIÓN 3.5
Ejercicios
1) Probar que 42n − 1 es divisible por 15 para todo entero n ≥ 1.
2) Encontrar el mcd entre 1320 y 714, y expresar el resultado en la forma 1320x + 714y,
donde x, y ∈ Z.
3) Probar que 725 y 441 son coprimos y encontrar enteros x e y tales que 725x + 441y = 1.
4) Encontrar una solución con números enteros de la ecuación
325x + 26y = 91.
5) El entero fn es definido recursivamente por la ecuación
f1 = 1, f2 = 1, fn+1 = fn + fn−1 , n ≥ 2.
Probar que mcd(fn+1 , fn ) = 1 para todo n ≥ 2.
6) Probar que si mcd(a, x) = d y mcd(b, x) = 1, entonces mcd(ab, x) = d.
60 3. DIVISIBILIDAD
7) Usted tiene a disposición una cantidad ilimitada de agua, un gran contenedor y dos jarras
de 7 y 9 litros respectivamente. ¿Cómo se las arreglaría usted para poner un litro de agua
en el contenedor? Explicar la relación entre su método y el proposición 3.3.2.
8) Siguiendo la definición de mcd de dos enteros, defina el mcd de n enteros a1 , a2 , . . . , an .
Probar que si d = mcd(a1 , a2 , . . . , an ), entonces existen enteros x1 , x2 , . . . , xn tales que
d = x 1 a1 + x 2 a2 + · · · + x n an .
9) Sea n un entero con las siguientes propiedades:
a) la descomposición prima de n no tiene factores repetidos (es decir n es de cuadrado
libre),
b) si p cualquier primo, entonces p|n si y sólo si (p − 1)|n.
Encontrar el valor de n.
10) El entero un es definido por las ecuaciones
u1 = 2, un+1 = u2n − un + 1; n ≥ 1.
Encontrar el menor valor de n para el cual un no es primo y encontrar los factores de este
un . ¿Es u6 primo?
11) Probar que los enteros definidos en el ejercicio anterior satisfacen
un+1 = 1 + u1 u2 . . . un .
Deducir que un+1 tiene un factor primo que es diferente de todo factor primo que aparece
en la descomposición de los u1 , u2 , . . . , un . Con esto probar que el conjunto de primos no
tiene máximo.
12) ¿Es 65 537 primo?
13) Probar que no existen enteros x, y, z, t para los cuales valga la relación
x2 + y 2 − 3z 2 − 3t2 = 0.
14) Probar que si mcd(x, y) = 1 y xy = z 2 para algún entero z, entonces x = m2 y y = n2
para ciertos enteros m, n.
15) Probar que si mcd(a, b) = 1, entonces mcd(a + b, a − b) es 1 o 2.
4 Aritmética Modular
SECCIÓN 4.1
Congruencias
Una de las más familiares particiones de un conjunto es la partición de Z en enteros pares
y enteros impares. Es decir Z es la unión disjunta del conjunto de números pares y el de los
números impares. Es claro que dos números a, b tienen la misma paridad si a − b es divisible
por 2. Para expresar este hecho es usual la notación
a ≡ b (mod 2)
y se dice que a es congruente a b módulo 2. Es decir a y b son ambos pares o ambos impares
si y solo si a es congruente a b módulo 2.
Así como antes podíamos separar Z en los números pares e impares, la propiedad anterior
nos permite expresar Z como una unión disjunta de m subconjuntos. Es decir si Z[r] = {x ∈ Z :
el resto de dividir x por m es r}, entonces dado m ∈ N,
Z = Z[0] ∪ Z[1] ∪ · · · ∪ Z[m−1] .
a) x1 + y1 ≡ x2 + y2 (mod m),
b) x1 y1 ≡ x2 y2 (mod m),
c) Si x ≡ y (mod m) y j ∈ N, entonces xj ≡ y j (mod m).
Demostración.
4. CONGRUENCIAS 63
(a) Por hipótesis tenemos que existen enteros x, y tales que x1 − x2 = mx e y1 − y2 = my.
Se sigue que
(x1 + y1 ) − (x2 + y2 ) = (x1 − x2 ) + (y1 − y2 )
= mx + my
= m(x + y),
y por consiguiente el lado izquierdo es divisible por m, como queríamos demostrar.
Proposición 4.1.3. Sea (xn xn−1 . . . x0 )10 la representación del entero positivo x en base
10, entonces
x ≡ x0 + x1 + · · · + xn (mod 9)
§ Ejercicios
1) Sin hacer ninguna “multiplicación larga” probar que
a) 1 234 567 · 90 123 ≡ 1 (mod 10)
b) 2468 · 13 579 ≡ −3 (mod 25)
2) Usar la regla del nueve para verificar que dos de las siguientes ecuaciones son falsas. ¿Qué
se puede decir de la otra ecuación?
a) 5783 · 40 162 = 233 256 846,
b) 9787 · 1258 = 12 342 046,
c) 8901 · 5743 = 52 018 443.
3) Encontrar el resto de dividir 315 por 17 y el de dividir 1581 por 13.
4) Sea (xn xn−1 . . . x0 )10 la representación en base 10 de un entero positivo x. Probar que
x ≡ x0 − x1 + x2 + · · · + (−1)n xn (mod 11),
y use este resultado para verificar si 1 213 141 516 171 819 es divisible por 11.
SECCIÓN 4.2
Demostración. Si probamos con los enteros x tal que 0 ≤ x < 11, veremos que la
ecuación admite una única solución, a saber x = 6. Otras soluciones se obtienen tomando
6 + 11k. Por otra parte si u es también solución de la ecuación, se tiene 3u ≡ 3 · 6 (mod 11),
por lo tanto 3(u − 6) es múltiplo de 11. Como 11 no divide a 3 se tiene que 11|(u − 6), o sea
u = 6 + 11k.
Por lo tanto hemos demostrado que la condición necesaria y suficiente para que la ecuación
ax ≡ b (mod m) admita una solución es que mcd(a, m)|b.
66 4. ARITMÉTICA MODULAR
En el caso que d|b veamos ahora cuales son todas las soluciones posibles de la ecuación
(18). Sean x1 , x2 soluciones, es decir
ax1 ≡ b (mod m)
ax2 ≡ b (mod m),
entonces, restando miembro a miembro, obtenemos
ax1 − ax2 ≡ b − b ≡ 0 (mod m).
Es decir, x1 , x2 son soluciones de la ecuación (18) si y sólo si y = x1 − x2 es solución de la
ecuación lineal de congruencia
(19) ay ≡ 0 (mod m).
Observemos que, en las hipótesis del teorema, si mcd(a, m) = 1, entonces siempre existen
soluciones a la ecuación ax ≡ b (mod m) y todas las soluciones son de la forma x0 + km,
donde x0 es una solución particular. Más aún, debido a esto, hay una única solución x, con
0 ≤ x < m.
4. ECUACIÓN LINEAL DE CONGRUENCIA 67
Ejemplo 4.2.2. Hallemos las soluciones de la ecuación 13x ≡ 7 (mod 15) con 0 ≤ x <
15.
Debemos ver ahora cuales soluciones x cumplen 0 ≤ x < 15. La forma más sencilla de
hacerlo es buscando por tanteo: 49 + 15(−1) = 34, 49 + 15(−2) = 19, , 49 + 15(−3) = 4,
49 + 15(−4) = −11. Es decir la solución que buscamos es x = 4.
Ejemplo 4.2.3. Hallemos las soluciones de la ecuación 42x ≡ 50 (mod 76) con 0 ≤ x <
76.
Luego 2 = mcd(42, 76). Como 2|50 la ecuación tiene solución. Del algoritmo de Euclides
deducimos
2 = 34 − 8 · 4
= 34 − (42 − 34) · 4 = 34 · 5 − 42 · 4
= (76 − 42) · 5 − 42 · 4
= 76 · 5 − 42 · 9.
Es decir
2 = (−9) · 42 + 5 · 76.
(b) 50 = 2 · 25 y tenemos que
50 = (−9 · 25) · 42 + (5 · 25) · 76
50 = (−225) · 42 + 125 · 76
(c) Luego x0 = −225 es una solución de la ecuación lineal de congruencia y todas las solu-
ciones son de la forma −225 + (76/2)k, es decir x = −225 + 38k.
Debemos ver ahora cuales soluciones x cumplen 0 ≤ x < 76. Como en el caso anterior
podemos hacer esto por tanteo, pero en aquí la forma más sencilla de hacerlo es escribir las
inecuaciones
0 ≤ −225 + 38k < 76
225 ≤ 38k < 76 + 225 = 301
225/38 ≤ k ≤ 301/38
5.9 ≤ k ≤ 7.9
Luego k = 6 o k = 7 y entonces x1 = −225 + 38 · 6 = 3 y x2 = −225 + 38 · 7 = 41 son las
soluciones que buscamos.
1) 2x ≡ 1 (mod 7),
2) 3 970 x ≡ 560 (mod 2755).
SECCIÓN 4.3
Teorema de Fermat
El siguiente lema nos sirve de preparación para la demostración del Teorema (o fórmula)
de Fermat.
Demostración.
Si a < 0, entonces −a > 0 y ya vimos que (−a)p ≡ −a (mod p), es decir que (−1)p ap ≡
(−1)a (mod p). Si p 6= 2, entonces (−1)p = −1 y se deduce el resultado. Si p = 2, entonces
(−1)p = 1, pero como 1 ≡ −1 (mod 2), obtenemos también ap ≡ a (mod p).
Supongamos que a y p son coprimos, por Fermat p|(ap − a) = a(a(p−1) − 1). Como p no
divide a a, tenemos que p|(a(p−1) − 1), es decir
si a y p coprimos, entonces a(p−1) ≡ 1 (mod p).
Este último enunciado es también conocido como teorema de Fermat.
La función de Euler φ(n), para n ≥ 1, está definida como el cardinal del conjunto de los x
entre 1 y n que son coprimos con n. El teorema de Fermat admite la siguiente generalización,
llamada teorema de Euler: si n un entero positivo y a un número entero coprimo con n,
entonces
aφ(n) ≡ 1 (mod n)
(ver ejercicio (4)).
70 4. ARITMÉTICA MODULAR
§ Ejercicios
1) Usar el teorema de Fermat para calcular el resto de dividir 347 por 23.
2) Si m coprimo con n, entonces ma ≡ mb (mod n) si y solo si a ≡ b (mod m).
3) Sean x1 , . . . , xk los números coprimos con n comprendidos entre 1 y n (es decir k = φ(n))
y sea y coprimo con n. Entonces hay un reordenamiento de yx1 , . . . , yxk , es decir una
permutación σ de 1, . . . , k, tal que xi ≡ yxσi (mod n), para 1 ≤ i ≤ k. [Ayuda: como y
coprimo con n, existe v tal que yv ≡ 1 (mod n)].
4) Demostrar el teorema de Euler. [Ayuda: Sean x1 , . . . , xk los números coprimos con n
comprendidos entre 1 y n, por el ejercicio anterior y φ(n) x1 . . . xk = yx1 . . . yxk ≡ x1 . . . xk
(mod n). Como u = x1 . . . xk coprimo con n, existe v tal que uv ≡ 1 (mod n)].
SECCIÓN 4.4
Los sistemas criptográficos simétricos son aquellos en que tanto el emisor como el receptor
conocen una función, digamos f y una palabra, digamos x (la clave), tanto la función como la
clave deben ser confidenciales o más comúnmente solo la clave debe ser confidencial. Cuando el
emisor desea enviar un mensaje M , entonces aplica la función a M y x, es decir M 0 = f (M, x),
envía M 0 y el receptor aplica la función inversa y recupera M , es decir M = f −1 (M 0 , x). Es
llamada simétrica porque tanto el emisor como el receptor manejan las mismas claves y el
emisor puede pasar a receptor y viceversa usando la misma encriptación.
En los sistemas de clave pública el receptor conoce una clave privada y (no compartida
por nadie) y publicita una clave pública x, de la misma manera que antes, si alguien desea
enviar un mensaje M al receptor debe hacer M 0 = f (M, x), pero el receptor para decodificar
debe hacer M = g(M 0 , y), donde g es una función adecuada. Una ventaja evidente de los
sistemas de clave pública es que no es necesario poner en conocimiento del emisor ninguna
clave confidencial, más aún cualquier persona puede enviar en forma confidencial datos a otra
persona que ha publicitado su clave.
Antes de describir el RSA digamos que se basa fuertemente en el teorema de Fermat visto
en la sección anterior.
En el sistema RSA deben realizarse algunos paso previos para fijar ciertos parámetros que
luego nos permitirán encriptar y desencriptar los mensajes.
§ Elección de claves
• La clave pública es n y e con 1 < e < (p−1)(q−1) tal que mcd(e, (p−1)(q−1)) = 1.
• La clave privada es un d tal que ed ≡ 1 (mod (p−1)(q−1)) y 0 ≤ d < (p−1)(q−1).
• Los dos primos p y q deberían tener alrededor de 100 dígitos cada uno (longitud
considerada segura en este momento).
• El número e puede elegirse pequeño y se selecciona haciendo prueba y error con el
algoritmo de Euclides, es decir probando hasta encontrar un e tal que mcd(e, (p −
1)(q − 1)) = 1.
• La existencia de d está garantizada por el teorema 18 (ecuación lineal de congruencia),
pues e y (p − 1)(q − 1) son coprimos.
Ejemplo 4.4.1. Probemos el sistema en forma práctica usando primos pequeños, por
ejemplo p = 31, q = 73. En este caso n = pq = 2 263.
Por lo tanto el receptor tiene clave pública (7, 2 263) y conserva en secreto su clave privada
1 543
- El receptor calcula
1 4171 543 (mod 2 160)
y obtiene nuevamente 1 993 (si quiere convencerse de esto ingrese (1 417 ˆ 1 543) mod
2 160 a la ventana de búsqueda de Wolfram Alpha).
Pese a que el cálculo de desencriptado (en este caso 1 4171 543 (mod 2 160)) puede parecer
costoso computacionalmente, hay métodos eficientes para hacerlo.
Una propiedad importante del RSA es que puede ser usado para firma digital o autenti-
cación. En las hipótesis de la proposición 4.4.1, es claro que lo que probamos es que
(me )d ≡ m (mod n),
para m ∈ {0, . . . , n − 1}. Ahora bien
(me )d = med = (md )e ,
es decir
(md )e ≡ m (mod n),
para m ∈ {0, . . . , n − 1}. Por lo tanto, el receptor puede codificar un número o mensaje
m calculando b ≡ md (mod n) y cualquiera que conozca la clave pública puede obtener el
original calculando be (mod n).
Ejemplo 4.4.2. Como ya hemos mencionado, podemos ver que el RSA también puede
ser usado para un sistema de autenticación, es decir es posible comprobar quien es la persona
que envía el mensaje. Veamos una forma de hacerlo: la persona A tiene clave pública (e, n)
y clave privada d y la persona B tiene clave pública (e0 , n0 ) y clave privada d0 .
SECCIÓN 4.5
Ejercicios
1) Determinar todas las posibles soluciones de las congruencias
a) 5x ≡ 1 (mod 11),
b) 5x ≡ 7 (mod 15).
2) Sin hacer demasiadas cuentas verifique que 192 837 465 564 738 291 es divisible por 11.
3) Resolver la ecuaciones
a) 5x ≡ 12 (mod 13),
b) x2 − x ≡ 1 (mod 11).
4) ¿Cuál es el último dígito de la representación en base 10 de 793 .
5) Usar que 1 001 = 7 · 11 · 13 para construir una prueba para la división para los número 7,
11 y 13 similar a la prueba del 9.
5 Grafos
SECCIÓN 5.1
z b
d c
Nosotros representamos los vértices como puntos, y unimos dos puntos con una linea
siempre y cuando el correspondiente par de vértices está en una arista. Luego la Fig. 1 es una
representación pictórica del grafo dado en el ejemplo arriba. Esta clase de representación es
extremadamente conveniente para trabajar “a mano” con grafos relativamente pequeños. Más
aún, esta representación es de gran ayuda para formular y comprender argumentos abstractos.
Nosotros damos a continuación un ejemplo frívolo.
3 2
4 1
5 0
?
6 M
7 8
Ejemplo 5.1.1. Mario y su mujer Abril dan una fiesta en la cual hay otras cuatro parejas
de casados. Las parejas, cuando arriban, estrechan la mano a algunas personas, pero, natu-
ralmente, no se estrechan la mano entre marido y mujer. Cuando la fiesta finaliza el profesor
pregunta a los otros a cuantas personas han estrechado la mano, recibiendo 9 respuestas
diferentes. ¿Cuántas personas estrecharon la mano de Abril?
Solución. Construyamos un grafo cuyos vértices son las personas que asisten a la fiesta.
Las aristas del grafo son las {x, y} siempre y cuando x e y se hayan estrechado las manos.
Puesto que hay nueve personas aparte de Mario, y que una persona puede estrechar a lo sumo
a otras 8 personas, se sigue que las 9 respuestas diferentes que ha recibido el profesor deben
ser 0, 1, 2, 3, 4, 5, 6, 7, 8. Denotemos los vértices con estos números y usemos M para Mario.
Así obtenemos la representación pictórica de la Fig. 2
5. GRAFOS Y SUS REPRESENTACIONES 77
Ahora, el vértice 8 alcanza a todos los otros vértices excepto uno, el cual debe por lo tanto
representar a la esposa de 8. Este vértice debe ser el 0 el cual por cierto que no está unido
al 8 (ni obviamente a ningún otro). Luego 8 y 0 son una pareja de casados y 8 está unido
a 1, 2, 3, 4, 5, 6, 7 y M . En particular el 1 está unido al 8 y ésta es la única arista que parte
del 1. Por consiguiente 7 no esta unido al 0 y al 1 (únicamente), y la esposa de 7 debe ser
1, puesto que 0 esta casado con 8. Continuando con este razonamiento vemos que 6 y 2, y
5 y 3 son parejas de casados. Se sigue entonces que M y 4 están casados, luego el vértice 4
representa a Abril, quien estrechó la mano de cuatro personas.
a b c d z
b a d a b
d z c d
z
Las listas de adyacencia son redundantes (cada arista está representada dos veces) pero
como todo lenguaje de programación de alto nivel maneja la estructura tipo lista, preferimos
esta representación pues un grafo resulta ser como una lista de listas o un arreglo de listas.
Ejemplo 5.1.2. Por cada entero positivo n definimos el grafo completo Kn como el grafo
con n vértices y en el cual cada par de vértices es adyacente.
¿Cuántas aristas tiene Kn ? De cada vértice “salen” n − 1 aristas, las que van a otros
vértices. Si sumamos n-veces las n − 1 aristas es claro que estamos contando cada arista dos
veces, luego el número total de aristas es n(n − 1)/2 (observar que esta es una demostración,
usando grafos, de que ni=1 i = n(n − 1)/2).
P
§ Ejercicios
1) A tres casas A, B, C se les debe conectar el gas, el agua y la electricidad: G, W, E.
Escribir la lista de adyacencia para el grafo que representa este problema y construir una
representación pictórica del mismo. ¿Puede usted encontrar un dibujo en el cual las líneas
que representan las aristas no se crucen?
2) Los senderos de un jardín han sido diseñados dándoles forma de grafo rueda Wn , cuyos
vértices son V = {0, 1, 2, . . . , n} y sus aristas son
{0, 1}, {0, 2}, . . . , {0, n},
{1, 2}. {2, 3}, . . . , {n − 1, n}, {n, 1}.
78 5. GRAFOS
Describir una ruta por los senderos de tal forma que empiece y termine en le vértice 0 y
que pase por cada vértice una sola vez.
3) ¿Para cuales valores de n se puede hacer una representación pictórica de Kn con la
propiedad que las líneas que representan las aristas no se corten?
4) Un 3-ciclo en un grafo es un conjunto de tres vértices mutuamente adyacentes. Construir
un grafo con cinco vértices y seis aristas que no contenga 3-ciclos.
SECCIÓN 5.2
Isomorfismo de grafos
En este punto nosotros debemos enfatizar que un grafo esta definido como una entidad
matemática abstracta. Es en este contexto que nosotros discutiremos el importante problema
de que queremos decir cuando decimos que dos grafos son “el mismo”.
Claramente lo importante de un grafo no son los nombres con que designamos a los vértices,
ni su representación pictórica o cualquier otra representación. La propiedad característica de
un grafo es la manera en que los vértices están conectados por aristas.
Por ejemplo, considere los dos grafos de la Fig. 3. En este caso hay una biyección entre el
conjunto de vértices de G1 y el conjunto de vértices de G2 la cual tiene la propiedad requerida;
esta biyección es dada por
α(a) = t, α(b) = v, α(c) = w, α(d) = u.
5. ISOMORFISMO DE GRAFOS 79
Podemos comprobar que a cada arista de G1 le corresponde una arista de G2 y viceversa. Por
ejemplo, a la arista bc de G1 le corresponde la arista vw de G2 , y así siguiendo. (Usaremos
la abreviación xy para la arista {x, y}, recordando que una arista es un par desordenado, es
decir xy es lo mismo que yx.)
a b t
w
d c u v
G1 G2
Cuando, como en la Fig. 3, dos grafos G1 y G2 son isomorfos usualmente nos referiremos
a ellos como que son “el mismo” grafo.
Para mostrar que dos grafos no son isomorfos, nosotros debemos demostrar que no hay
una biyección entre el conjunto de vértices de uno con el conjunto de vértices de otro, que
lleve las aristas de uno en las aristas del otro.
a 1
e b 5 2
d c 4 3
G1 G2
Si dos grafos tienen diferente número de vértices, entonces no es posible ninguna biyección,
y los grafos no pueden ser isomorfos. Si los grafos tienen el mismo número de vértices, pero
diferente número de aristas, entonces hay biyecciones de vértices pero ninguna de ellas puede
ser un isomorfismo.
Definición 5.2.2. Sea G = (V, E) un grafo. Se dice que G0 = (V 0 , E 0 ) es subgrafo de
G = (V, E) si V 0 ⊂ V , E 0 ⊂ E y todos los vértices que son extremos de las aristas de E 0
están en V 0 .
Por ejemplo, los dos grafos de la Fig. 4 tienen cada uno cinco vértices y siete aristas
pero no son isomorfos. Una manera de ver esto es observar que los vértices a, b, d, e forman
un subgrafo completo de G1 (cada par de ellos está conectado por una arista). Cualquier
isomorfismo debe llevar estos vértices en cuatro vértices de G2 con la misma propiedad, y
puesto que no hay tal conjunto de vértices en G2 no puede haber ningún isomorfismo.
§ Ejercicios
1) Probar que los grafos mostrados en la Fig. 5 no son isomorfos.
G1 G2
2) Encontrar un isomorfismo entre los grafos definidos por las siguientes listas de adyacencias.
(Ambas listas especifican versiones de un grafo famoso conocido como grafo de Petersen).
a b c d e f g h i j 0 1 2 3 4 5 6 7 8 9
b a b c d a b c d e 1 2 3 4 5 0 1 0 2 6
e c d e a h i j f g 5 0 1 2 3 4 4 3 5 7
f g h i j i j f g h 7 6 8 7 6 8 9 9 9 8
3) Sea G = (V, E) el grafo definido como sigue. El conjunto de vértices V es el conjunto
de todas las palabras de longitud tres en el alfabeto {0, 1}, y el conjunto de aristas E
contiene aquellos pares de palabras que difieren exactamente en una posición. Probar que
G es isomorfo al grafo formado por las esquinas y aristas de un cubo.
SECCIÓN 5.3
Valencias
La valencia de un vértice v en un grafo G = (V, E) es el número de aristas de G que
contienen a v. Usaremos la notación δ(v) para la valencia de v, formalmente
δ(v) = |Dv |, donde Dv = {e ∈ E|v ∈ e}.
5. VALENCIAS 81
El grafo descrito en Fig. 1 tiene δ(a) = 2, δ(b) = 2, δ(c) = 1, δ(d) = 3, δ(z) = 2. El primer
teorema de la teoría de grafos nos dice que la suma de estos números es dos veces el número
de aristas.
Teorema 5.3.1. La suma de los valores de las valencias δ(v), tomados sobre todos los
vértices v del grafo G = (V, E), es igual a dos veces el número de aristas:
X
δ(v) = 2|E|.
v∈V
Hay un útil corolario de este resultado. Diremos que un vértice de G es impar si su valencia
es impar, y par si su valencia es par. Denotemos Vi y Vp los conjuntos de vértices impares y
pares respectivamente, luego V = Vi ∪ Vp es una partición de V . Por teorema 5.3.1, tenemos
que X X
δ(v) + δ(v) = 2|E|.
v∈Vi v∈Vp
Ahora cada término en la segunda suma es par, luego esta suma es un número par. Puesto
que el lado derecho también es un número par, la primera suma debe ser también par. Pero
la suma de números impares solo puede ser par si el número de términos es par. En otra
palabras:
Un grafo en el cual todos los vértices tienen la misma valencia r se llama regular (con
valencia r), o r-valente. En este caso, el resultado del teorema 5.3.1 se traduce
r|V | = 2|E|.
Muchos de los grafos que aparecen en las aplicaciones son regulares. Ya conocemos
los grafos completos Kn ; ellos son regulares, con valencia n − 1. De geometría elemental
conocemos los polígonos de n lados, los cuales en teoría de grafos son llamados grafos cíclicos
Cn . Formalmente, podemos decir que el conjunto de vértices de Cn es Zn , y los vértices i y j
están unidos si j = i + 1 o j = i − 1 en Zn . Claramente, Cn es un grafo regular con valencia
2, si n ≥ 3.
consecuencia δ(v) = δ(w). Por otro lado, si G1 tiene un vértice x, con valencia δ(x) = δ0 , y
G2 no tiene vértices con valencia δ0 , entonces G1 y G2 no pueden ser isomorfos. Esto nos da
otra manera para distinguir los grafos de la Fig 4, puesto que el primer grafo tiene un vértice
de valencia 1 y el segundo no.
Los dos grafos de la Fig. 4 no son isomorfos debido a que en el primer grafo existen tres
vértices con valencia 3 mientras que en el segundo existen sólo dos.
Observar que los criterios vistos hasta ahora relativos a cantidad de vértices, cantidad
de aristas y valencias, incluyendo el de la proposición 5.3.3, no son útiles para determinar si
los grafos de la Fig. 5 son isomorfos o no: ambos tienen 6 vértices, 9 aristas y todos los
vértices son de valencia 3. Sin embargo, en el caso de la Fig. 5 podemos determinar que los
grafos no son isomorfos observando los subgrafos de cada uno. Ahora bien, no hay ningún
criterio general eficiente para determinar si dos grafos son isomorfos o no: en los casos difíciles
esencialmente debemos probar con todas las biyecciones posibles de los vértices de un grafo a
los vértices del otro y eso es no computable para casos no demasiado grandes.
§ Ejercicios
1) ¿Es posible que las siguientes listas sean las valencias de todos los vértices de un grafo? Si
así lo fuera, dar una representación pictórica de tal grafo. (Recordar que hay a lo más una
arista que una un par de vértices dados.)
a) 2, 2, 2, 3. c) 2, 2, 4, 4, 4.
b) 1, 2, 2, 3, 4. d) 1, 2, 3, 4.
SECCIÓN 5.4
Caminos y ciclos
Frecuentemente usamos grafos como modelos de situaciones prácticas que involucran rutas:
los vértices representan ciudades o cruces, y cada arista representa una ruta o cualquier otro
forma de comunicación. Las definiciones de esta sección se comprenderán mejor con esta clase
de ejemplo en mente.
Llamaremos ciclo a una caminata v1 , v2 , . . . , vr+1 cuyos vértices son distintos excep-
tuando los extremos, es decir que v1 = vr+1 y a menudo diremos que es un r-ciclo, o un
ciclo de longitud r en G.
Es decir, una caminata especifica una ruta en G: del primer vértice vamos a uno adyacente,
de éste a otro adyacente y así siguiendo. En una caminata podemos visitar cualquier vértice
varias veces, y en particular, podemos ir de un vértice x a otro y y luego tomar la dirección
contraria y regresar a x. En un camino, cada vértice es visitado solo una vez.
Lema 5.4.1. Sea G un grafo. x ∼ y si y sólo si x e y pueden ser unidos por una caminata
Veamos que si x e y están unidos por una caminata, entonces están unidos por un camino.
Sea
x = x1 , x2 , . . . , xk = y,
una caminata entre x e y. Si ninguno de los xi se repite, entonces tenemos un camino y
terminado el problema. Si hay repetición, entonces existe j tal que xj = xj+r con r > 0, es
decir tenemos una caminata
x = x1 , x2 , . . . , xj , . . . , xj+r , . . . , xk = y,
Como xj = xj+r podemos eliminar la subcaminata xj+1 , . . . , xj+r (un “bucle” dentro de la
caminata) y nos queda
x = x1 , x2 , . . . , xj , xj+r+1 , . . . , xk = y,
84 5. GRAFOS
una caminata, más corta, entre x e y. Podemos repetir este procedimiento hasta eliminar
todos los “bucles” y obtener un camino.
a) x ∼ x (reflexividad de ∼).
b) x ∼ y, entonces y ∼ x (simetría de ∼).
c) x ∼ y, y ∼ z, entonces x ∼ z (transitividad de ∼).
En un lenguaje formal, una relación que cumple las tres propiedades anteriores es llamada
una relación de equivalencia del conjunto, en este caso tenemos una relación de equivalencia
del conjunto de vértices V de G.
Estas tres propiedades nos permiten partir a V en conjuntos disjuntos: dos vértices están en
el mismo conjunto si ellos pueden ser unidos por un camino, y están en conjuntos diferentes
si no podemos encontrar tal camino. llamaremos a estos conjuntos disjuntos las clases de
equivalencia de ∼.
Definición 5.4.2. Supongamos que G = (V, E) es un grafo y que la partición de V en
las clases de equivalencia de ∼ es
V = V1 ∪ V2 ∪ · · · ∪ Vr .
Denotemos con Ei (1 ≤ i ≤ r) al subconjunto de E que contiene todas las aristas cuyos
finales están en Vi . Entonces los grafos Gi = (Vi , Ei ) son llamados las componentes de G.
Si G tiene solo una componente diremos entonces que el grafo es conexo.
Cuando un grafo de moderado tamaño es dado por una representación pictórica es bastante
fácil determinar si es o no conexo. Sin embargo, cuando un grafo es dado por una lista de
adyacencia necesitaremos un algoritmo eficiente para decidir si es o no conexo.
5. CAMINOS Y CICLOS 85
Ejemplo 5.4.1. Leandro y Juan, dos amigos, planean tomar sus vacaciones en determi-
nada isla. La Fig. 7 representa los lugares de interés turístico de la isla y las carreteras que
los unen. Leandro es un turista por naturaleza, y desea visitar cada lugar una vez y volver al
punto de partida. Juan es un explorador, y desea atravesar todos los caminos solo una vez, a
él lo tiene sin cuidado si regresa o no al lugar del cual partió. ¿Podrán encontrar las rutas que
desean Leandro y Juan?
Solución. Leandro puede usar diferentes rutas para alcanzar su objetivo: una posibilidad
es el ciclo p, q, t, s, u, r, p.
Resumiendo, una ruta para Juan que empiece y finalice en vértices distintos x e y, es solo
posible si hay dos vértices impares (que son x e y) y el resto de los vértices es par. Pero en
el grafo de la Fig. 7 el valor de las valencias es: δ(p) = 4, δ(q) = 4, δ(r) = 5, δ(s) = 5,
δ(t) = 5, y δ(u) = 3. Luego hay demasiados vértices impares, y por lo tanto no existe la ruta
que Juan desea. Si permitimos la posibilidad de que x = y , la situación es aún peor, pues en
este caso todos los vértices deberían ser pares.
En general, la ruta de Leandro es un ciclo que contiene todos los vértices del grafo dado.
Tales ciclos fueron estudiados por el matemático irlandés W.R. Hamilton (1 805 − 65), y
en consecuencia un ciclo con esta propiedad es llamado un ciclo hamiltoniano. En nuestro
ejemplo, fue muy fácil encontrar un ciclo hamiltoniano, pero este fue un caso muy especial
y no representativo. Para ciertos grafos, puede ser un problema difícil decidir si un ciclo
hamiltoniano existe o no.
p q
s
r t
Por otro lado, el problema de Juan puede ser fácilmente resuelto. Una caminata que use
cada arista de un grafo solo una vez es llamada una caminata euleriana, debido a que Euler
fue el primero en estudiar estas caminatas y encontró que si x 6= y, una condición necesaria
para que exista una caminata euleriana que comience en x y finalice en y es que x e y deben
ser vértices impares y el resto debe ser par, mientras que si x = y la condición es que todos los
vértices deben ser pares. Es decir que una condición necesaria para que exista una caminata
euleriana en un grafo G es que G debe tener a lo más dos vértices impares. Más aún, puede
probarse que esta condición es también suficiente. Puesto que es sencillo calcular las valencias
de los vértices de un grafo, es relativamente sencillo decidir si un grafo tendrá o no una
caminata euleriana.
Una caminata euleriana en un grafo G es un caminata que usa todas las aristas de G
exactamente una vez. Una caminata euleriana que comienza y termina en un mismo vértice
se llama también circuito euleriano.
Teorema 5.4.2. Un grafo conexo con más de un vértice posee una caminata euleriana
de v a w, con v 6= w si y sólo si v y w son los únicos vértices de grado impar. Un grafo conexo
con más de un vértice tiene un circuito euleriano si y sólo si todos los vértices tienen grado
par.
Más allá del resultado del teorema, existe un algoritmo fácilmente implementable para
encontrar caminatas eulerianas de v a w, con v 6= w y es esencialmente “parta del vértice v
y recorra el grafo sin pasar dos veces por la misma arista. Cuando no pueda avanzar más se
encontrará en w y habrá hecho una caminata euleriana.” El caso de un grafo donde todas
las valencias son pares se puede reducir al anterior: si deseamos una caminata euleriana que
empiece y termine en v, eliminamos una arista del grafo que contenga a v, digamos la arista
{v, w} (con lo cual queda un grafo con solo dos vértices, v y w, de valencia impar), aplicamos
el caso anterior, con lo cual hacemos una caminata euleriana que termina en w, y terminamos
la caminata agregando la arista {v, w}.
Ejemplo 5.4.2. Dado el grafo de de la Fig. 8, encontremos una caminata euleriana con
origen en p y final en r.
Debemos primero observar que la caminata euleriana debe existir pues δ(p) = 3, δ(q) = 4,
δ(r) = 3, δ(s) = 4, δ(t) = 4, y δ(u) = 2.
Como fue mencionado más arriba, el algoritmo más sencillo es en este caso el que sirve:
debemos partir de p y recorrer el grafo sin repetir aristas. Cuando no podamos avanzar más
5. CAMINOS Y CICLOS 87
p q
s
r t
(bajo estas condiciones) habremos obtenido la caminata euleriana. Una posible solución es,
por ejemplo,
p, s, q, p, t, u, r, s, t, q, r
Observación 5.4.1. (*) Escribiremos en pseudocódigo el algoritmo para hallar una cam-
inata euleriana. Partimos de un grafo G con n vértices tal que o bien
Tomamos como comienzo del recorrido a un vértice arbitrario v, con la restricción en el caso
(b) de que δ(v) sea impar.
Caminata euleriana
# pre: G grafo, v vértice de G (G y v en las condiciones de arriba)
# post: devuelve ’recorrido’ la lista de vertices de la caminata
# euleriana. La caminata empieza desde v.
recorrido = [v] # lista de vértices recorridos
libres = lista de adyacencia de G
usados = lista de adyacencia con los vértices de G y sin aristas
pos = v # nos ubicamos en el primer vértice
while len(libres[pos]) > 0:
prox = libres[pos][1] # ’pos, prox’ arista no utilizada
recorrido.append(prox) # agrega prox a recorrido
libres = quitar de libres la arista ’pos, prox’
usados = agregar a usados la arista ’pos, prox’
pos = prox # nos ubicamos en el próximo vértice
En todo el programa libres es una lista de adyacencia que nos va dando las aristas no
utilizadas. Es decir si w es un vértice libres[w] es una lista de los vértices u tal que la arista
wu no ha sido utilizada. En forma opuesta, usados es la lista de las aristas que ya han sida
utilizadas.
§ Ejercicios
88 5. GRAFOS
SECCIÓN 5.5
Árboles
Definición 5.5.1. Diremos que un grafo T es un árbol si cumple
Algunos árboles típicos han sido dibujados en la Fig. 9. A causa de su particular estructura
y propiedades, los árboles aparecen en diversas aplicaciones de la matemática, especialmente
en investigación operativa y ciencias de la computación. Comenzaremos el estudio de ellos
estableciendo algunas propiedades sencillas.
El siguiente lema nos resultará útil para probar una parte del teorema fundamental de esta
sección.
Demostración. Como G es conexo existe una caminata que recorre todos los vértices
de G:
v1 , v2 , . . . , vr .
Renombremos los vértices de G con números naturales de tal forma que el primer vértice de
la caminata sea 1, el segundo 2 y cada vez que aparece un vértice que no ha sido renombrado
se le asigna el número siguiente. Luego la caminata comienza en 1 y termina en n, donde
n = |V |. Observar que cada vez que renombramos un vértice (excepto el primero) su antecesor
es menor, es decir dado i tal que 1 < i ≤ n tenemos que la caminata tiene la forma
1, . . . , ji , i, . . . , jn , n
donde ji < i, luego es claro que
{j2 , 2}, {j3 , 3}, . . . , {jn , n}
forman un conjunto de n − 1 aristas distintas en G.
Teorema 5.5.2. Si T = (V, E) es un grafo conexo con al menos dos vértices, entonces
son equivalentes las siguientes propiedades
T1) T es un árbol.
T2) Para cada par x, y de vértices existe un único camino en T de x a y.
T3) El grafo obtenido de T removiendo alguna arista tiene dos componentes, cada una
de las cuales es un árbol.
T4) |E| = |V | − 1.
Demostración.
Puesto que ambos caminos finalizan en y ellos se encontrarán de nuevo, y entonces pode-
mos definir j como el más pequeño subíndice tal que
j>i y vj = uk para algún k.
Entonces vi , vi+1 , . . . , vj , uk−1 , uk−2 , . . . , ui+1 , vi es un ciclo en T , y esto contradice a las
hipótesis. Por consiguiente solo existe un camino en T de x a y.
(T2 ⇒ T3) Supongamos que uv es una arista en T , y sea S = (V, E 0 ) el grafo con el mismo
conjunto de vértices que T y con el conjunto de aristas E 0 = E − uv. Sea V1 el conjunto
90 5. GRAFOS
vi+1 vj−1
• • •
v0 v1 vi vj vr
x= • • • • • • =y
u0 u1 ui uk us
• • •
ui+1 uk−1
de los vértices x de T para los cuales existe un único camino en T de x a v que pasa por u.
Claramente, este camino debe finalizar con la arista uv, pues sino T tendría un ciclo. Sea V2
el complemento de V1 en V .
(T3 ⇒ T4) El resultado es cierto cuando |V | = 1, puesto que el árbol de un vértice no tiene
aristas.
Supongamos que es cierto para árboles con k o menos vértices. Sea T un árbol con
|V | = k + 1, y sea uv una arista en T . Si T1 = (V1 , E1 ) y T2 = (V2 , E2 ) son los árboles que
se obtienen removiendo uv en T , tenemos que
|V1 | + |V2 | = |V |, |E1 | + |E2 | = |E| − 1.
Aplicando la hipótesis inductiva a T1 y T2 obtenemos
|E| = |E1 | + |E2 | + 1 = |V1 | − 1 + |V2 | − 1 + 1 = |V | − 1,
como nosotros deseábamos. Por consiguiente el resultado es cierto para todos lo enteros
positivos.
(T4 ⇒ T1) Supongamos que T satisface (T4) pero no es árbol. Por lo tanto T tiene al menos
un ciclo. Si eliminamos una arista del ciclo, el grafo sigue siendo conexo, pero con una arista
menos (y la misma cantidad de vértices), es decir obtenemos un grafo G0 = (V 0 , E 0 ) conexo
y con |E 0 | = |V 0 | − 2. Pero esto contradice el resultado obtenido en el lema 5.5.1.
Las propiedades (T2)-(T3)-(T4) nos dan maneras alternativas de definir árboles. Por
ejemplo la propiedad (T2) puede ser considerada como la propiedad que define un árbol, en
vez de (T1).
Observación 5.5.1. El teorema anterior nos muestra un recurso muy usado para probar
que una cierta cantidad de afirmaciones son equivalentes. En el caso de 3 afirmaciones P , Q,
R, uno debería probar
P ⇔ Q, P ⇔ R, Q ⇔ R,
5. COLOREANDO LOS VÉRTICES DE UN GRAFO 91
§ Ejercicios
1) Hay seis diferentes (es decir, no isomorfos entre si) árboles con seis vértices: hacer un
dibujo de ellos.
2) Sea T = (V, E) un árbol con |V | ≥ 2. Usando la propiedad (T4) y el teorema 5.3.1 probar
que T tiene al menos dos vértices con valencia 1.
3) Una foresta es un grafo que satisface que no contiene ciclos pero no necesariamente es
conexo. Probar que si F = (V, E) es una foresta con c componentes entonces
|E| = |V | − c.
SECCIÓN 5.6
Supongamos que deseamos hacer un horario con seis cursos de una hora,
v1 , v2 , v3 , v4 , v5 , v6 . Entre la audiencia potencial hay gente que desea asistir a v1 y v2 , v1
y v4 , v3 y v5 , v2 y v6 , v4 y v5 , v5 y v6 y v1 y v6 . ¿Cuántas horas son necesarias para poder
confeccionar un horario en el cual no haya interferencias?
Podemos representar la situación por un grafo Fig. 11. Los vértices corresponden a las
seis clases, y las aristas indican las interferencias potenciales.
v1 v2
v6 v3
v5 v4
Volviendo al ejemplo de la Fig. 11, vemos que nuestro primer intento de horario es
equivalente a una coloración de vértices con cuatro colores. El mínimo número de horas
necesarias será el número cromático del grafo, y la pregunta es ahora si este número es cuatro
o menor que cuatro. Un rápido intento con tres colores nos da la solución de este problema:
Color 1 Color 2 Color 3
v1 v2 y v5 v3 , v4 y v6 .
Más aún, hacen falta por lo menos tres colores, puesto que v1 , v2 , y v6 son mutuamente
adyacentes y por lo tanto deben tener diferentes colores. Luego concluimos que el número
cromático del grafo es 3.
En general, para probar que el número cromático de un grafo dado es k, debemos hacer
dos cosas:
§ Ejercicios
5. EL ALGORITMO GREEDY PARA COLORACIÓN DE VÉRTICES 93
SECCIÓN 5.7
El método consiste en asignar los colores de los vértices en orden, de tal manera que cada
vértice recibe el primer color que no haya sido ya asignado a alguno de sus vecinos. En este
algoritmo insistimos en hacer la mejor elección que podemos en cada paso, sin mirar más allá
para ver si esta elección nos traerá problemas luego. Un algoritmo de esta clase se llama a
menudo un algoritmo greedy (goloso).
Más allá de esto, el algoritmo greedy es útil tanto en la teoría como en la práctica.
Probaremos ahora dos teoremas por medio de la estrategia greedy.
a) χ(G) ≤ k + 1,
b) Si G es conexo y no regular , χ(G) ≤ k.
Demostración.
(b) Para probar esta parte debemos elegir un orden especial de los vértices, comenzando con
vn y yendo hacia atrás. Puesto que G tiene valencia máxima k y es no regular, existe al menos
un vértice G cuya valencia es menor que k: llamémoslo vn . Listemos los vecinos de vn como
vn−1 , vn−2 , . . . , vn−r ; hay a lo más k − 1 de ellos. A continuación listemos los vecinos de vn−1
(excepto vn y sus vecinos), y observemos que como la valencia es a lo más k hay a lo más
k − 1 de estos vértices. A continuación listemos los vecinos de vn−2 que no hayan sido listados
antes, y así siguiendo. Puesto que G es conexo, en determinado momento podremos listar
5. EL ALGORITMO GREEDY PARA COLORACIÓN DE VÉRTICES 95
todos los vértices de G. Más aún, el método de construcción asegura que cada vértice es
adyacente a lo más a k − 1 de sus predecesores en el orden v1 , v2 , . . . , vn .
Usando el mismo argumento que en la parte (a) (pero para este orden) se sigue que el
algoritmo greedy requerirá a lo más k colores. Luego χ(G) ≤ k.
La parte (b) del teorema es falsa si permitimos que G sea regular. El lector que haya
respondido correctamente al ejercicio 5.6-(1) será capaz de dar dos ejemplos de este hecho:
los grafos completos, y los grafos cíclicos de longitud impar, ambos requieren k + 1 colores.
Si embargo, puede ser demostrado que estos son los únicos contraejemplos.
Otra consecuencia útil del algoritmo greedy se refiere a grafos G son χ(G) = 2. Para
tales grafos, los conjuntos V1 y V2 de vértices de colores 1 y 2 respectivamente, forman una
partición de V , con la propiedad que cada arista tiene un vértice en V1 y el otro en V2 . Por
esta razón, cuando χ(G) = 2, diremos que G es bipartito. Una coloración de vértices con
dos colores de un cubo se ilustra en la Fig. 13, junto a un dibujo alternativo que enfatiza la
naturaleza bipartita del grafo. Usualmente usaremos esta clase de dibujo cuando trabajemos
con grafos bipartitos.
2 1 1 2
1 2 1 2
1 2 1 2
2 1 1 2
El hecho crucial producido por este orden es que un vértice del nivel l solo puede ser
adyacente a vértices de los niveles l − 1 y l + 1, y no a vértices del mismo nivel. Supongamos
96 5. GRAFOS
que x e y son vértices en el mismo nivel; entonces ellos son unidos por caminos de igual
longitud m a algún vértice z de un nivel anterior, y los caminos pueden ser elegidos de tal
manera que z sea el único vértice común Fig. 14. Si x e y fueran adyacentes, habría un ciclo
de longitud 2m + 1, lo cual contradice la hipótesis.
x y
Se deduce entonces que el algoritmo greedy asigna el color 1 a los vértices en el nivel
0, 2, 4, . . ., y el color 2 a los vértices en los niveles 1, 3, 5, . . .. Por consiguiente χ(G0 ) =
2. Repitiendo el mismo argumento para cada componente de G obtenemos el resultado
deseado.
§ Ejercicios
1) Encontrar órdenes de los vértices del grafo del cubo Fig. 13 para los cuales el algoritmo
greedy requiera 2, 3 y 4 colores respectivamente.
2) Probar que para cualquier grafo G existe un orden de los vértices para el cual el algoritmo
greedy requiera χ(G) colores. [Ayuda: use un coloreado de vértices de χ(G) colores para
definir el orden.]
3) Denotar ei (G) el número de vértices del grafo G cuya valencia es estrictamente mayor
que i. Usar el algoritmo greedy para probar que si ei (G) ≤ i + 1 para algún i, entonces
χ(G) ≤ i + 1.
4) El grafo Mr (r ≥ 2) se obtiene a partir del grafo cíclico C2r añadiendo aristas extras que
unen los vértices opuestos. Probar que
a) Mr es bipartito cuando r es impar,
b) χ(Mr ) = 3 cuando r es par y r 6= 2,
c) χ(M2 ) = 4.
SECCIÓN 5.8
Ejercicios
1) ¿Para qué valores de n es verdadero que el grafo completo Kn tiene una caminata euleriana.
5. EJERCICIOS 97
2) Usar el principio de inducción para probar que si G = (V, E) es un grafo con |V | = 2m, y
G no tiene 3-ciclos, entonces |E| ≤ m2 .
3) Sea X = {1, 2, 3, 4, 5} y denotemos V el conjunto de los 2-subconjuntos de X. Denotar
con E al conjunto de pares de elementos de V que son disjuntos entre si (como subconjuntos
de X). Probar que este grafo es otra versión del grafo de Petersen (ejercicio 5.2-(2) ).
4) Sea G un grafo bipartito con un número impar de vértices. Probar que G tiene un ciclo
hamiltoniano.
5) El k-cubo Qk es el grafo cuyos vértices son las palabras de longitud k en el alfabeto {0, 1}
y cuyas aristas unen palabras que difieren en exactamente una posición. Probar que:
a) Qk es regular de valencia k,
b) Qk es bipartito
6) Probar que el grafo Qk definido en el ejercicio anterior tiene un ciclo hamiltoniano.
7) Probar que el grafo de Petersen no tiene ciclos hamiltonianos.
8) En el juego del dominó las reglas especifican que las fichas deben ser puestas en una linea
de tal forma que en dos fichas adyacentes coinciden los números adyacentes, es decir si
[x|y] está al lado de [x0 |y 0 ] debe ser y = x0 . Mirar las fichas de dominó [x|y] con x 6= y
como las aristas del grafo completo K7 probar que existe un juego de dominó donde se
utilizan todas las fichas.
9) Calcular el número de caminatas eulerianas de K7 y el número de juegos de dominó com-
pletos.
10) Probar que si α : V1 → V2 es un isomorfismo de grafos entre G1 = (V1 , E1 ) y G2 = (V2 , E2 )
entonces la función β : E1 → E2 definida por
β{x, y} = {α(x), α(y)} ({x, y} ∈ E1 )
es una biyección.
11) Si G es un grafo regular k-valente con n vértices, entonces
n
χ(G) ≥ .
n−k
12) Construir cinco grafos regulares conexos mutuamente no isomorfos con valencia 3 y ocho
vértices.
13) Probar que el grafo completo K2n+1 es la unión de n ciclos hamiltonianos sin aristas
comunes.
14) ¿Es posible para un caballo visitar todos los casilleros de un tablero de ajedrez exacta-
mente una vez y volver al casillero original? Interpretar su respuesta en términos de ciclos
hamiltonianos en un cierto grafo.
15) El grafo impar On se define de la siguiente manera (cuando k ≥ 2): los vértices son los
(k − 1)-subconjuntos de un (2k − 1)-conjunto, y las aristas unen los conjuntos disjuntos.
(Luego O3 es el grafo de Petersen). Probar que χ(Ok ) = 3 para k ≥ 2.
16) Probar que si G es un grafo con n vértices, m aristas y c componentes entonces
1
n − c ≤ m ≤ (n − c)(n − c + 1).
2
Construir ejemplos mostrando que ambos extremos de las desigualdades pueden ser alcan-
zados para todos los valores de n y c con n ≥ c.
17) Una sucesión d1 , d2 , . . . , dn es gráfica si existe un grafo cuyos vértices pueden ser ordenados
en la forma v1 , v2 , . . . , vn de tal forma que δ(vi ) = di (1 ≤ i ≤ n). Probar que si una
98 5. GRAFOS
SECCIÓN 6.1
Para el estudio de un árbol con raíz es natural ubicar los vértices en niveles, de la misma
manera que lo hicimos para los grafos bipartitos en la sección 5.7. Diremos que el vértice raíz
es el nivel 0 y que sus vecinos forman el nivel 1. Para cada k ≥ 2, el nivel k está formado
por aquellos vértices que son adyacentes a vértices del nivel k − 1, excepto aquellos que ya
pertenecen al nivel k − 2. El árbol con raíz representado en la Fig. 1 puede ser dibujado
nuevamente como se lo muestra a la derecha de manera de visualizar los niveles.
Las dos propiedades que usamos en la sección 5.5 para definir un árbol, ser un grafo conexo
y sin ciclos, tienen consecuencias obvias cuando pensamos los vértices por niveles. Puesto que
99
100 6. ÁRBOLES
r Nivel 0
a b c
b c g Nivel 1
r
e g a h i Nivel 2
f
d h i f e d Nivel 3
todo árbol es conexo entonces cada vértice pertenece a algún nivel. Más importante aún,
puesto que un árbol no tiene ciclos cada vértice v del nivel i es adyacente a uno y solo uno u
del nivel i − 1. A veces enfatizaremos esto diciendo que u es el padre de v o que v es un hijo
de u. Cada vértice, excepto el raíz, tiene un único padre, pero un vértice puede tener una
cantidad arbitraria de hijos (incluso ninguno). Claramente, un vértice es una hoja si y solo si
no tiene hijos.
En muchas aplicaciones ocurre que cada padre (vértice interno) tiene la misma cantidad de
hijos. Cuando cada padre tiene m hijos diremos que el árbol es m-ario, en particular cuando
m = 2 diremos que el árbol es binario y cuando m = 3 diremos que es ternario.
Teorema 6.1.1. La altura de un árbol con raíz m-ario con l hojas es por lo menos
logm l.
Por el principio de inducción completa se sigue que la afirmación es verdadera para todo
h ≥ 0.
Puesto que logm l no es generalmente un número entero, el teorema anterior puede ser
mejorado un poco. Por ejemplo si m = 3 y l = 10 la desigualdad
h ≥ logm l = 2, 0959 . . .
6. CONTANDO LAS HOJAS DE UN ÁRBOL CON RAÍZ 101
Una aplicación frecuente del teorema 6.1.1 es en los árboles de decisión. Cada vértice
interno de un árbol de decisión representa una decisión y los posibles resultados de esa decisión
son las aristas que unen ese vértice con los vértices del nivel siguiente. Los posibles resultados
finales del procedimiento son las hojas del árbol. Si el resultado de una decisión puede ser solo
verdadero o falso entonces tenemos un árbol binario. A continuación daremos un ejemplo con
un árbol ternario.
Ejemplo 6.1.1. (El problema de la moneda falsa) Supongamos que tenemos una moneda
genuina con la etiqueta 0 y que tenemos otras r monedas indistinguibles de 0 por la apariencia
excepto que tienen las etiquetas 1, 2, . . . , r. Se sospecha que una moneda podría ser falsa,
es decir o más liviana o más pesada. Probemos que son necesarias al menos dlog3 (2r + 1)e
pesadas en una balanza para decidir que moneda (si hay alguna) es falsa y en ese caso ver si
es más pesada o liviana. Mostremos un procedimiento que use exactamente este número de
pesadas cuando r = 4.
Cuando r = 4 entonces dlog3 (2r + 1)e = 2, y la solución con dos pesadas se gráfica en la
Fig. 2
§ Ejercicios
1) En la siguiente tabla n5 (h) es el número de árboles con raíz no isomorfos que tienen 5
vértices y altura h. (Dos árboles con raíz son isomorfos si hay un isomorfismo de grafos, sin
considerar la raíz, que lleva la raíz de uno en la del otro.) Verificar la tabla construyendo
102 6. ÁRBOLES
0, 1|2, 3
3H 1L 2H 4H G 4L 2L 1H 3L
SECCIÓN 6.2
En esta caso decimos que T es un árbol expandido para G. Por ejemplo, un árbol expandido
para el grafo de la Fig. 3 se indica con las líneas más gruesas.
6. ÁRBOLES EXPANDIDOS Y EL PROBLEMA MST 103
Es fácil hacer “crecer” un árbol expandido: tome un vértice arbitrario v del “árbol parcial”
inicial y agregue aristas con un extremo en v y el otro extremo que no pertenezca al árbol
parcial inicial. El árbol expandido de la Fig. 3 puede construirse haciéndolo crecer desde el
vértice a y conectando los otros vértices en el orden b, c, e, f , d, h, g, usando las aristas ab,
ac, ae, cf , f d, f h, hg. En general, si hay n vértices nosotros deberemos hacer n − 1 pasos,
después de los cuales tendremos 1 + (n − 1) = n vértices y n − 1 aristas (el cual es el número
correcto de acuerdo al teorema 5.5.2).
b d e
c
f
g h
Verifiquemos que el método siempre funciona: sea S el conjunto de vértices del árbol
parcial que se ha logrado en un paso intermedio, es decir que S no es ni vacío ni todo V . Si
no existe una arista que tenga un extremo en S y el otro en el complemento S, entonces no
existe un camino entre S y S y por lo tanto G es disconexo, lo cual contradice las hipótesis.
Por consiguiente siempre existe una arista disponible en cada etapa de la construcción.
Los árboles expandidos son útiles en muchos contextos. Por ejemplo, supongamos que
cierta cantidad de ciudades deben ser unidas de a pares por gasoductos de tal forma que
quede una red de gasoductos conexa. Algunos pares de ciudades puede ser imposible unirlas
por razones geográficas y cada posible conexión tiene asociada un costo de construcción.
Formalmente, tenemos un grafo G = (V, E) cuyos vértices son ciudades y sus aristas son
las posibles conexiones. Además tenemos una función w de E a N de tal forma que w(e)
representa el costo de construcción de la arista e. Diremos que G y w es un grafo con pesos
y que w es la función de pesos.
En el problema del gasoducto lo que se pretende es construir una red conexa al mínimo
costo. Un red de ese tipo corresponde a un árbol expandido T para G cuyo peso total
X
w(T ) = w(e)
e∈T
es lo mas pequeño posible. Nos referiremos a este problema como el problema MST (del inglés
MST = minimum spanning tree = árbol expandido mínimo) para el grafo con pesos G.
Dado que los valores de w son enteros positivos, claramente el problema MST debe tener
solución, puesto que hay solo un número finito de árboles expandidos T para G y cada uno de
ellos da un valor entero positivo w(T ). En otras palabras, existe un árbol expandido mínimo
104 6. ÁRBOLES
T0 tal que
w(T0 ) ≤ w(T )
para todos los árboles expandidos T de G. Sin embargo puede haber varios con la misma
propiedad.
Un algoritmo simple para el problema MST se basa en aplicar la estrategia greedy al método
explicado anteriormente. Específicamente: en cada paso se agrega la arista “más barata” que
une un nuevo vértice al árbol parcial. (Si hay varias aristas con la misma propiedad se selecciona
una de ellas.) Por ejemplo, si en la Fig. 4 comenzamos con u, luego debemos agregar aristas
en el orden uv, ux, uy, yz. Por otro lado, si comenzáramos por y, entonces agregamos las
aristas en el orden yz, yu, uv, ux.
6 2
z 8 v
5 4
2 6 7 5
y 7 x
Un primera impresión nos dice que sería bastante sorprendente que el algoritmo greedy
funcione para el problema MST, especialmente cuando recordamos que el algoritmo greedy
para el problema de coloración de vértices no siempre produce una coloración con el menor
número posible de colores. Pero en el caso del problema MST se tiene más suerte.
S el conjunto de vértices en el árbol parcial que se construye por el greedy justo antes de
agregar ek y sea ek = xy donde x está en S e y no está en S. Puesto que U es un árbol
expandido existe un camino de x a y y si uno viaja a través de este camino encontrará una
arista e∗ con un vértice en S y el otro no. Ahora bien, cuando ek es seleccionada para T en el
algoritmo greedy, e∗ es también candidata a ser seleccionada, pero no lo es. Por consiguiente
debemos tener que w(e∗ ) ≥ w(e). Si e∗ aparece en T , entonces por el razonamiento anterior
es una arista que viene después (en el orden dado) de ek .
En forma más detallada, el algoritmo puede ser implementado con el siguiente pseu-
docódigo:
Algoritmo de Prim
# pre: G grafo con vértices 1,...,n y pesos w(i,j)
# (w(i,j) = infinito si ij no es arista de G)
# post: devuelve F un MST de G
S = [1] # lista de vértices utilizados en el MST (comienza con 1)
Q = [2,...,n] # lista de vértices aún no utilizados en el MST
L = [[2,1,p2],...,[n,1,pn]]] # con pi = w(i,1)
# se irá modificando L de tal forma que si Q = [u1,...,ur],
# L = [[u1,v1,p1],...,[ur,vr,pr]] donde
# vi = vértice en S adyacente a ui tal que w(ui,vi) es mínimo,
# pi = w(ui,vi)
F = grafo con vértices 1,...,n y sin aristas.
while Q != []:
uk = vértice en Q tal que pk = w(uk,vk) es mínimo
F.append(arista uk,vk)
Q = Q - {uk}
S.append(uk)
L = L - {[uk,vk,pk]}
for [ui,vi,pi] in L:
if w(ui,uk) < pi:
vi = uk
pi = w(ui,uk)
# el for modifica L
Notemos que terminamos el proceso no cuando S contiene todos los vértices, si no cuando,
de manera equivalente, su complemento Q queda vacío. Existe una forma de ir viendo el
106 6. ÁRBOLES
§ Ejercicios
1) Encontrar árboles expandidos para el cubo Fig. 13 y para el grafo de Petersen.
2) Muestrar esquemáticamente todos los árboles expandidos del grafo completo K4 (hay 16).
3) Usar el algoritmo greedy para encontrar un MST del grafo representado en la Fig. 5. ¿Es
en este caso el MST único?
b 1 e 2 h
2 6 5 3 9 7 9
a 8 c 1 f 6 i 2 k
1 7 2 4 3 1 4
d 9 g 1 j
4) Sea G un grafo con pesos cuyos vértices son x, a, b, c, d, e, f y cuyas aristas y pesos vienen
dados por la siguiente tabla:
xa xb xc xd xe xf ab bc cd de ef fa
6 3 2 4 3 7 6 2 3 1 8 6.
Encontrar todos los árboles expandidos mínimos para G.
5) Suponer que T es un árbol expandido mínimo en un grafo con pesos K y sea e∗ una arista
de K que no es de T . Sea e una arista de T perteneciente al único camino en T que une
los vértices de e∗ . Probar que w(e) ≤ w(e∗ ).
6) Escribir un “programa” para el algoritmo greedy basado en el método tabular mostrado más
arriba.
SECCIÓN 6.3
Ejercicios
1) Sea T un árbol con raíz m-ario con n vértices, l hojas e i vértices internos. Probar que
n = mi + 1
y encontrar la ecuación de l en términos de m y n.
2) Para cada uno de los seis diferentes árboles (sin raíz) con seis vértices (ver el ejercicio 5.5)
(1), encontrar el número de elecciones esencialmente diferentes que se pueden hacer de un
vértice para designarlo como raíz. En base a esto calcular el número de árboles con raíz
diferentes que tengan seis vértices.
3) Probar que el número de árboles expandidos mínimos diferentes en K5 es 125 (no trate de
listarlos).
4) Denotar los vértices del grafo completo Kn con 1, 2, . . . , n, y para cada árbol expandido T
de Kn definir el símbolo de Prüfer (p1 , p2 , . . . , pn−2 ) de la siguiente manera: el símbolo de
Prüfer de un árbol con dos vértices es 0, el símbolo de Prüfer de un árbol T con n vértices
es (j, q1 , . . . , qn−3 ) donde
a) Si i es el primer vértice de T (en el orden dado) que tiene valencia uno, entonces j es
el único vértice adyacente a i.
b) (q1 , . . . , qn−3 ) es el símbolo de Prüfer del árbol que se obtiene a partir de T eliminando
la arista ij.
Probar que la construcción del símbolo de Prüfer define una biyección desde el conjunto de
árboles expandidos de Kn al conjunto de (n−2)-uplas ordenadas del conjunto {1, 2, . . . , n}.
Deducir de lo anterior que Kn tiene nn−2 árboles expandidos.
5) Suponer que tenemos cuatro monedas y sabemos que una de ellas puede ser falsa (más
liviana o más pesada) . Probar que encontrar la moneda falsa (si existe) requiere teóri-
camente al menos dos pesadas, pero que este número no es posible lograrlo. (En este
problema no se da un moneda verdadera.)
A Permutaciones
SECCIÓN A.1
Permutaciones
Recordemos que una permutación de un conjunto finito no vacío X es una biyección
de X en X. (Frecuentemente tomamos X como [[1, n]] = {1, 2, . . . , n}.) Por ejemplo una
permutación típica de [[1, 5]] es la función α definida por las ecuación
α(1) = 2, α(2) = 4, α(3) = 5, α(4) = 1, α(5) = 3.
Denotemos el conjunto de todas las permutaciones de [[1, n]] con Sn . Por ejemplo, S3
contiene las 3! = 6 permutaciones siguientes:
1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1
109
110 A. PERMUTACIONES
Cuando las permutaciones son tratadas como funciones es claro como deben combinarse.
Consideremos α la permutación de [[1, 5]] antes mencionada, y sea β la permutación de [[1, 5]]
dada por
β(1) = 3, β(2) = 5, β(3) = 1, β(4) = 4, β(5) = 2.
La función compuesta βα es la permutación definida por (βα)(i) = β(α(i)) (1 ≤ i ≤ 5), esto
es
βα(1) = 5, βα(2) = 4, βα(3) = 2, β(4)α = 3, βα(5) = 1.
(Recordemos que, como siempre, βα significa “primero α, entonces β”.) En términos de
reacomodamientos tenemos
1 2 3 4 5
α ↓ ↓ ↓ ↓ ↓
2 4 5 1 3
1 2 3 4 5
β ↓ ↓ ↓ ↓ ↓
5 4 2 3 1
Teorema A.1.1. Las siguientes propiedades valen en el conjunto Sn de todas las per-
mutaciones de {1, 2, 3, ..., n}.
Es conveniente tener una notación más compacta para las permutaciones. Consideremos
otra vez la permutación α de {1, 2, 3, 4, 5}, y notemos en particular que
α(1) = 2, α(2) = 4, α(4) = 1.
Así α lleva 1 a 2, 2 a 4 y 4 a 1, y por esta razón decimos que los símbolos 1, 2, 4 forma un
ciclo (de longitud 3). Del mismo modo, los símbolos 3 y 5 forman un ciclo de longitud 2, y
A. PERMUTACIONES 111
escribimos:
α = (1 2 4)(3 5).
Esta es la notación cíclica para α. Cualquier permutación π puede ser escrita cíclicamente de
la siguiente manera:
Ejemplo A.1.1. Cartas numeradas del 1 al 12 son distribuidas en una mesa en la manera
en que se muestra en la parte izquierda de la tabla que sigue. Luego las cartas son levantadas
por filas (de izquierda a derecha y de arriba hacia abajo) y se redistribuyen con el mismo
arreglo, pero por columnas, no por filas (de arriba hacia abajo y de izquierda a derecha),
apareciendo como se muestra en la parte derecha de la tabla.
1 2 3 1 5 9
4 5 6 2 6 10
7 8 9 3 7 11
10 11 12 4 8 12
¿Cuántas veces debe repetirse este procedimiento hasta que las cortas aparezcan dispuestas
como estaban inicialmente?
Los ciclos degenerados (1) y (12) indican que las cartas 1 y 12 nunca cambian de posición.
Las otros ciclos tienen longitud 5, así que cuando el proceso se haya realizado 5 veces las
cartas reaparecerán en sus posiciones originales. Otra forma de expresar el resultado es decir
que π 5 = id, donde π 5 representa las cinco repeticiones de la permutación π.
§ Ejercicios
1) Escribir en notación cíclica la permutación que realiza el siguiente reordenamiento:
1 2 3 4 5 6 7 8 9
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
3 5 7 8 4 6 1 2 9
2) Sean σ y τ las permutaciones de [[1, 8]] cuyas representaciones en la notación cíclica son
σ = (1 2 3)(4 5 6)(7 8), τ = (1 3 5 7)(2 6)(4)(8).
Escribir en notación cíclica στ , τ σ, σ , σ , τ −1 .
2 −1
SECCIÓN B.1
Un método similar puede aplicarse a tres conjuntos. Cuando sumamos |A|, |B| y |C|,
los elementos de A ∩ B, B ∩ C, y C ∩ A son contados dos veces (si no están en los tres
conjuntos). Para corregir esto, restamos |A ∩ B|, |B ∩ C| y |C ∩ A|. Pero ahora los elementos
de A ∩ B ∩ C, contados originalmente tres veces, han sido descontados tres veces. Luego,
para conseguir la respuesta correcta, debemos sumar |A ∩ B ∩ C|. Así
|A ∪ B ∪ C| = α1 − α2 + α3 ,
donde
α1 = |A| + |B| + |C|, α2 = |A ∩ B| + |B ∩ C| + |C ∩ A|,
α3 = |A ∩ B ∩ C|.
Este resultado es un caso simple de lo que suele ser llamado, por razones obvias, el principio
de inclusión y exclusión. También se lo llama el principio del tamiz.
Demostración. Debemos demostrar que cada elemento x de la unión hace una con-
tribución neta de 1 al miembro de la derecha. Supongamos que x pertenece a k de los
conjuntos A1 , Az , . . . , An . Entonces x contribuye con k en la suma α1 = |A1 | + · · · + |An |.
En la suma α2 , x contribuye
k
1 en |Ai ∩ Aj | cuando Ai ykAj están entre los k conjuntos que
contienen a x. Existen 2 de esos pares, por lo tanto 2 es la contribución de x a α2 . En
general la contribución de x a αi (1 ≤ i ≤ n) es ki . Por lo tanto el total con que contribuye
Por el teorema del binomio aplicado a (1 − 1)k = 0, se deduce que la expresión de arriba
k
es igual a 0 , que vale 1.
Un corolario simple del teorema B.1.1 es a menudo más útil en la práctica. Supongamos
que X es un conjuntos finito y A1 , A2 , . . . , An son subconjuntos de X (cuya unión no nece-
sariamente es igual a X). Si |X| = N , entonces el número de elementos de X que no están
en ninguno de esos subconjuntos es
|X − (A1 ∪ A2 ∪ . . . ∪ An )| = |X| − |A1 ∪ A2 ∪ . . . ∪ An |
= N − α1 + α2 − · · · + (−1)n αn .
Ejemplo B.1.1. Hay 73 estudiantes en el primer año de la Escuela de Artes de la uni-
versidad. De ellos, 52 saben tocar el piano, 25 el violín y 20 la flauta; 17 pueden tocar tanto
el piano como el violín, 12 el piano y la flauta; pero solo Juan Rictero puede tocar los tres
instrumentos ¿Cuántos alumnos no saben tocar ninguno de esos instrumentos?
sobre j. Necesitamos saber el número de desarreglos, esto es, las permutaciones π tales que
π(i) 6= i para todo i en Nn .
§ Ejercicios
1) En una clase de 67 estudiantes de matemática, 47 leen francés, 35 leen alemán y 23 leen
ambos lenguajes ¿Cuántos estudiantes no lee ninguno de los dos lenguajes? Si además 20
leen ruso, de los cuales 12 también leen francés, 11 leen alemán y 5 leen los tres lenguajes,
¿cuántos estudiantes no leen ninguno de los tres lenguajes?
2) Encontrar el número de formas de ordenar las letras A, E, M, O, U, Y en una secuencia de
tal forma que las palabras ME e YOU no aparezcan.
3) Calcular el número d4 de desarreglos de {1, 2, 3, 4} y escriba, en la notación cíclica, las
permutaciones relevantes.
4) Usar el principio de inducción para probar que la fórmula para dn satisface la recursión
d1 = 0, d2 = 1, dn = (n − 1)(dn−1 + dn−2 ) (n ≥ 3).
5) Probar que el número de desarreglos de {1, 2, . . . , n} en el cual un objeto dado (digamos
el 1) está en un 2-ciclo es (n − 1)dn−2 . Utilizar esto para dar una prueba directa de la
fórmula recursiva del ejercicio anterior.
C La función de Euler
SECCIÓN C.1
La función de Euler
En esta sección probaremos un útil e importante teorema, usando sólo los conceptos de
conteo más básicos.
La función es llamada función de Euler, debido a Leonhard Euler (1 707 − 1 783). Cuando
n es primo, digamos n = p, cada uno de los enteros 1, 2, . . . , p − 1 es coprimo con p, entonces
tenemos
φ(p) = p − 1, p primo.
Nuestra tarea ahora es probar un resultado respecto a la suma de los valores φ(d), donde
los d son todos los divisores de un número positivo n dado. Por ejemplo, cuando n = 12, lo
divisores d son 1, 2, 3, 4, 5, 6 y 12, podemos ver que
φ(1) + φ(2) + φ(3) + φ(4) + φ(6) + φ(12)
=1+1+2+2+2+4
= 12.
117
118 C. LA FUNCIÓN DE EULER
n Coprimos a n φ(n)
1 1 1
2 1 1
3 1, 2 2
4 1, 3 2
5 1, 2, 3, 4 4
6 1, 5 2
7 1, 2, 3, 4, 5, 6 6
8 1, 3, 5, 7 4
Tabla 1.
f 1 2 3 4 5 6 7 8 9 10 11 12 φ(d)
d
1 12 1
2 6 1
3 4 8 2
4 3 9 2
6 2 10 2
12 1 5 7 11 4
12
Tabla 2.
La tabla 2 muestra S cuando n = 12; la “marca” que indica que (d, f ) pertenece a S es
un número cuya importancia explicaremos en seguida. Por lo general, el número de “marcas”
en la fila d es el número de f ’s en el rango 1 ≤ f ≤ d que satisfacen que el mcd(d, f ) = 1;
esto es φ(d). Por lo tanto, contando S por el método de las filas obtenemos
X
|S| = φ(d).
d|n
Para demostrar que |S| = n debemos construir una biyección β de S en Nn . Dado un par
(d, f ) en S, definimos
β(d, f ) = f n/d.
C. UNA APLICACIÓN ARITMÉTICA DEL PRINCIPIO DEL TAMIZ 119
Para demostrar que β es una suryección, supongamos que nos dan un x que pertenece a
Nn . Sea gx el mcd de x y n, y sea
dx = n/gx , fx = x/gx .
Puesto que gx es un divisor de x y n, entonces dx y fx son enteros, y como gx es el mcd, dx
y fx son coprimos. Ahora
β(dx , fx ) = fx n/dx = x,
y por lo tanto β es suryectiva.
§ Ejercicios
1) Encontrar los valores de φ(19), φ(20), φ(21).
2) Probar que si x y n son coprimos, entonces lo son n − x y n. Deducir que φ(n) es par
para todo n ≥ 3.
3) Probar que, si p es un primo y m es un entero positivo, entonces un entero x en el
rango 1 ≤ x ≤ pm no es coprimo a pm si y solo si es un múltiplo de p. Deducir que
φ(pm ) = pm − pm−1 .
4) Encontrar un contraejemplo que confirme que es falsa la conjetura φ(ab) = φ(a)φ(b), para
enteros cualesquiera a y b. Trate de modificar la conjetura de tal forma que no pueda
encontrar un contraejemplo.
5) Probar que para cualesquiera enteros positivos n y m se cumple:
φ(nm ) = nm−1 φ(n).
6) Calcular φ(1 000) y φ(1 001).
SECCIÓN C.2
primos mismos se encuentran irregularmente distribuidos, y porque no hay una forma directa
de encontrar la factorización en primos de un entero dado. De todos modos, si se nos da la
factorización en primos de un entero, es relativamente fácil responder ciertas preguntas sobre
sus propiedades aritméticas. Supongamos, por ejemplo que queremos listar todos los divisores
de un entero n y sabemos que la factorización de n es
n = pe11 pe22 · · · perr .
Entonces un entero d es divisor de n si y solo si no tiene divisores primos distintos de los de
n, y ningún primo divide más veces a d que a n. Visto así, los divisores son precisamente los
enteros que pueden escribirse de la forma
d = pf11 pf22 · · · pfrr ,
donde cada fi (1 ≤ i ≤ r) satisface 0 ≤ fi ≤ ei . Por ejemplo dado que 60 = 22 · 3 · 5 podemos
listar rápidamente todos los divisores de 60.
El mismo método puede ser usado para dar una fórmula explícita para φ(n) en el caso
general.
Teorema C.2.1. Sea n ≥ 2 un entero cuya factorización es n = pe11 pe22 . . . perr . Entonces
1 1 1
φ(n) = n 1 − 1− ··· 1 − .
p1 p2 pr
C. UNA APLICACIÓN ARITMÉTICA DEL PRINCIPIO DEL TAMIZ 121
SECCIÓN D.1
Grafos planares
Usualmente el diagrama de un grafo se realiza en el plano por la comodidad que esto
representa. Esto no significa que todo grafos sea lo que se denomina un grafo planar. ¿Qué
es un grafo planar? Es un grafo tal que existe un diagrama del grafo en el plano tal que no
hay ningún cruce de aristas. Por ejemplo, el grafo K3 es claramente planar Fig. 1-(a). Claro
que podríamos dibujar a K3 como en la Fig. 1-(b) y no parecería planar.
(a) (b)
Figura 1. Dibujos de K3
Pero la definición es que un grafo es planar si se puede dibujar en el plano sin cruces de
aristas, no si todo dibujo no tiene cruces. (Si la definición fuera así, ningún grafo seria planar,
pues siempre se puede dibujar cualquier grafo con cruces). Otro ejemplo, ya visto, K4 puede
ser dibujado como en la Fig. 2-(a) y no parece planar, pero dibujado como en la Fig. 2-(b)
muestra que K4 es planar.
En vista de estos ejemplos, una pregunta es ¿existen grafos no planares? Por ejemplo si
dibujáramos K16 parecería imposible que fuera planar, dada la gran cantidad de cortes, pero
¿cómo podemos estar seguros?
(a) (b)
Figura 2. Dibujos de K4
G, también puede ser así dibujado. Así, como ya vimos que K4 es planar, sabemos que todo
subgrafo de él es planar; es decir, todo grafo con cuatro o menos vértices es planar. Esta
observación tiene consecuencias en la otra dirección también: si encontramos un grafo H que
no sea planar, entonces todo grafo G que lo tenga como subgrafo deberá necesariamente ser
no planar, pues si G fuera planar, H también lo seria. Así, si queremos probar que K16 no
es planar, bastará con encontrar algún subgrafo mas sencillo de el que no lo sea. De hecho,
probaremos que K5 no es planar, con lo cual todos los grafos Kn , con n ≥ 5 son no planares.
En lo que sigue veremos un arma poderosa para probar que un grafo es no planar: la
llamada “fórmula de Euler”. Supongamos que un grafo sí es planar. Escojamos un diagrama
de él en el plano (puede haber muchos, escojamos uno). Este diagrama divide al plano en
varias regiones. Por ejemplo, si G esta representado por el dibujo de la Fig. 3, entonces se
obtienen regiones que numeraremos como en la Fig. 4 (1 es la región “exterior” a todo el
grafo).
1 3
6 5 2
4 8
7
Observemos que no podemos hablar propiamente de las caras del grafo (aunque a veces lo
haremos así) pues ellas son en realidad dependientes del diagrama, no del grafo. Sin embargo,
algo puede decirse acerca de ellas:
Teorema D.1.1. (Fórmula de Euler) Sea G un grafo conexo, con v vértices, y e aristas.
Supongamos que en algún diagrama planar de G, existen f caras. Entonces, v − e + f = 2.
Antes de ver la prueba, observemos que, puesto que v y e dependen de G y no del diagrama,
la fórmula de Euler dice que no importa como dibujemos a G en el plano (siempre y cuando
esto sea posible), entonces siempre obtendremos e − v + 2 caras. Por lo tanto, el número de
caras es algo independiente del diagrama, y podemos hablar del “número de caras de un grafo
planar”. Otra observación es que en el número de caras estamos contando la cara infinita, es
decir, la exterior a todo el grafo. Finalmente, observemos que se pide que G sea conexo. La
fórmula debe ser alterada en caso contrario.
B
x x
y y
A
Pero, eH = e−1 es menor que e, y G era un contraejemplo con un número tan chico como
fuera posible de aristas, por lo tanto, H no es un contraejemplo, es decir, vH − eH + fH = 2.
Reemplazando, obtenemos:
v − e + f = vH − (eH + 1) + fH + 1 = vH − eH − 1 + fH + 1 = vH − eH + fH = 2,
lo cual dice que G no es un contraejemplo, absurdo.
126 D. GRAFOS PLANARES
La fórmula de Euler es una herramienta muy poderosa en la teoría de grafos planares. Para
empezar, permite probar que un grafo planar no puede tener muchas aristas, en relación a sus
vértices
Así pues, podemos suponer que en nuestro grafo, todas las caras tienen al menos 3 aristas
en su borde. Es decir:
3 ≤ Número de aristas en el borde de cara 1
3 ≤ Número de aristas en el borde de cara 2
..
.
3 ≤ Número de aristas en el borde de cara f.
Si sumamos estas desigualdades, del lado izquierdo obtendremos 3f . En el lado derecho, cada
arista puede, o bordear dos caras, o bordear una. Pero ciertamente, no puede haber aristas
que sean borde de 3 caras. Así, si sumamos en el lado izquierdo, la suma nos dará menor
o igual a 2e. Por lo tanto, 3f ≤ 2e. Tomando la fórmula de Euler y multiplicándola por 3,
obtenemos: 3v − 3e + 3f = 6. Usando ahora 3f ≤ 2e, tenemos
6 = 3v − 3e + 3f ≤ 3v − 3e + 2e = 3v − e,
es decir, e ≤ 3v − 6.
SECCIÓN D.2
A L G
A L G
La pregunta es entonces si K3,3 es planar o no. Veamos si podemos usar esta fórmula que
probamos recién: K3,3 tiene 9 aristas, y 6 vértices. Desafortunadamente, 3·6−6 = 18−6 = 12
es ciertamente mayor que 9, así que solo sabemos que quizás es planar. Pero, observemos que
K3,3 , por ser bipartito, no tiene ningún triángulo como subgrafo. Así pues, deduciremos la no
planaridad de K3,3 del siguiente
Corolario D.2.1. Si G es un grafo planar con por lo menos 3 vértices y que no tiene
ningún triángulo como subgrafo, entonces e ≤ 2v − 4.
por al menos 4 aristas. Sumando cara a cara, como antes, obtenemos ahora 4f ≤ 2e, es decir,
2f ≤ e. Multiplicando la fórmula de Euler por 2, tenemos: 4 = 2v − 2e + 2f ≤ 2v − 2e + e =
2v − e, es decir, e ≤ 2v − 4.
Retornando a K3,3 , como no tiene triángulos, podemos aplicar este corolario, y si fuera
planar, debería cumplirlo. Pero habíamos dicho que K3,3 tiene 9 aristas y 6 vértices, y 2·6−4 =
12 − 4 = 8. Por lo tanto, K3,3 no es planar.
Una ultima observación acerca de grafos planares: existe un teorema muy interesante, de
difícil demostración (la prueba tiene 31 casos y subcasos para considerar) debido a Kuratowski,
que dice que K5 y K3,3 son los dos grafos “básicos” no planares, en el siguiente sentido: un
grafo G es no planar si y solo si existe un subgrafo de G, digamos H, tal que H se “ve” como
K5 o como K3,3 , es decir, H es uno de ellos, excepto que tal vez, “agregue” en alguna o
algunas aristas, vértices en el medio. Por ejemplo, H puede lucir como
Figura 10.
SECCIÓN D.3
necesitamos necesariamente 5, pues hemos visto que K5 no es planar. Pero, podría haber otro
grafo, complicado pero planar, que requiera 5, o más, colores. A mediados del siglo pasado
la conjetura de que bastan 4 colores fue hecha, y en 1 879 A. Kempe publicó una prueba de
este hecho, que paso a llamarse el teorema de los cuatro colores. Desafortunadamente para
Kempe, en 1 889 (diez años después) otro matemático, P. Heawood, probó que la prueba de
Kempe contenía un error. Heawood no fue completamente destructivo: mostró que adaptando
la prueba de Kempe, podía probarse que con 5 colores bastaba para colorear cualquier grafo
planar (el teorema de los cinco colores). Así pues, quedo planteado el problema de saber si
el teorema de los cuatro colores era cierto, o bien si existía algún grafo planar para el cual
5 colores fueran necesarios. (Pero, al menos, gracias a Heawood, no era necesario buscar
alguno que necesitara 6, o 7 u 8 colores, pues no existen, gracias al teorema de los cinco
colores.) De hecho, en ese mismo artículo, Heawood probó más cosas: existe algo llamado
género de un grafo, que es un número entero no negativo. Heawood demostró que existía
una fórmula (expresión aritmética) que para cada género g ≥ 1 da la cantidad de colores que
permite colorear todos los grafos de género g. Los grafos planares tiene género igual a 0 y
aplicando la fórmula para g = 0 obtenemos el número 4. Sin embargo, Heawood pudo probar
que la fórmula es válida si g es mayor o igual a 1. El hecho de que esta fórmula existiera
“convenció” a mucha gente de que el teorema de los cuatro colores debía ser cierto y que
una prueba no tardaría en hallarse. Sin embargo, pese al esfuerzo de muchos matemáticos y
pese al desarrollo de la teoría, el teorema de los cuatro colores no pudo probarse hasta 1975,
cuando dos matemáticos norteamericanos, K. Appel y W. Haken, lo probaron. Más aún, no
pudieron probarlos solos, sino que debieron usar la “ayuda” de un poderoso (para esa época)
computador. Así, aún cuando el teorema fue probado, un gran sentimiento de desconfianza
se generó, sobretodo en una época en la cual el acceso fácil a tiempo de computador no era
común. Veinte años han pasado y la prueba ahora ha sido controlada numerosas veces y no
genera tanta resistencia como antes. Aún así, si alguien pudiese publicar una prueba que fuese
“leíble por humanos” sería muy bien bienvenido.
Obviamente por lo dicho arriba, no daremos una prueba del teorema de los cuatro colores.
Sí daremos una del teorema de los cinco colores, mencionando donde se encuentra la dificultad
de la demostración del teorema de los cuatro colores, y dando una idea de que es lo que Appel
y Haken (y el computador) hicieron.
Supongamos ahora que la valencia de todos los vértices sea al menos 6. Entonces, si
sumamos las valencias de todos los vértices, la suma sera mayor o igual a 6v. Pero la suma de
todos las valencias es igual a 2e (lema del apretón de manos). Así, tenemos que 2e ≥ 6v. Por
otro lado, como e ≤ 3v−6, tenemos que 2e ≤ 6v−12, es decir, obtenemos 6v−12 ≥ 2e ≥ 6v,
o −12 ≥ 0, lo cual es un absurdo.
130 D. GRAFOS PLANARES
y (1) z (2)
t (5) x
w (4) u (3)
Figura 11.
Supongamos primero que no haya, entre y y u, ningún camino tal que el color de todos sus
vértices sea 1 o 3. Entonces, podemos cambiarle el color a y, de color 1 a color 3. Además, a
los vértices adyacentes a y que tengan color 3, les cambiamos el color de 3 a 1. A los vértices
adyacentes a estos, que tengan color 1, los cambiamos a 3, y así sucesivamente. Después de
realizar todos estos cambios, todavía tenemos un coloreo propio. Ahora bien, como estamos
suponiendo que no hay ningún camino de color 1 y 3 exclusivamente entre y y u, resulta que
u no cambia de color, es decir, retiene el color 3. Pero y ahora tiene también el color 3, y
ningún otro vértice adyacente a x tiene el color 1. Pero, entonces, podemos colorear a x con
el color 1 sin problemas, absurdo pues χ(G) ≥ 6.
Así pues, existe un camino con todos los vértices de color 1 y 3 entre y y u. Igualmente,
si no hubiera ningún camino con todos los vértices de color 2 y 4 entre z y w, le podemos
cambiar el color a z de 2 a 4 sin problemas, y colorear a x con el color 2. Así, también
podemos suponer que existe un camino con todos los vértices de color 2 y 4 entre z y w.
Por la Fig. 12 es claro que tenemos un problema: ¿por donde se cruzan los caminos A y
B? Más precisamente, el camino A, junto con las aristas xy y xu, forma un ciclo C. Este
ciclo tiene un interior y un exterior. El ciclo D formado por B y las aristas xz, xw cruza al
ciclo C en el punto x, pues la arista xz esta en el interior y la arista xw en el exterior de
C. Por lo tanto, D debe cruzar a C en algún otro punto. Pero no puede hacerlo, pues en el
resto, C esta coloreado con los colores 1 y 3, y D con los colores 2 y 4. Hemos llegado a una
contradicción.
D. EL TEOREMA DE LOS CUATRO COLORES 131
y z
t x
w u
Esto lo probamos con el lema D.3.1. Es decir, probamos que ese conjunto de configura-
ciones es lo que se llama inevitable.
Además, probamos que si un grafo planar tiene una de esas configuraciones, puede ser
coloreado con 5 colores (esto es lo que hicimos en el teorema). Es decir, probamos que ese
conjunto de configuraciones es lo que se llama irreducible (para 5 colores). Kempe creyó
que había sido capaz de probar que todo grafo planar que tuviera esas configuraciones podía
ser coloreado con 4 colores, y muchos autores después de Heawood trataron de probar lo
mismo. Pero luego se descubrieron nuevas técnicas, tanto para probar que un conjunto de
configuraciones es irreducible, como para probar que es inevitable. Lo que no se podía hacer
era encontrar un conjunto que fuera al mismo tiempo irreducible (para 4 colores) e inevitable.
Finalmente, Appel y Haken encontraron un conjunto que satisfacía esas propiedades. Solo que
en vez detener 6 elementos, como en el caso del teorema de 5 colores, el conjunto de Appel y
Haken tiene 1 480 elementos, y ningún ser humano es capaz de probarlo, sino que es necesario
un computador para comprobar la inevitabilidad e irreducibilidad.
Indice
Teorema de Euler, 69
Teorema de Fermat, 68
Teorema de Kuratowski, 128
Teorema de los cinco colores, 129
Teorema de los cuatro colores, 129
Teorema del binomio, 33
vértice impar, 81
vértice interno, 99
vértice par, 81
vértices adyacentes, 77
vértices de un grafo, 75
valencia de un vértice, 80