You are on page 1of 136

Matemática Discreta I

FAMAF - UNC
Marzo 2020
AUTORES/COLABORADORES

• Obra original: coordinada y escrita por Alejandro Tiraboschi.


• Colaboración: Daniel Penazzi, colaborador de la sección “El criptosistema RSA”
y autor principal del apéndice de grafos planares. Fernando Levstein colaborador en
la sección “Máximo común divisor y mínimo común múltiplo”.
• Correcciones y sugerencias: Pedro Pury, Romina Arroyo, Leandro Cagliero,
Fredy Restrepo, Patricia Kysbye.

LEER

Este material es distribuido bajo la licencia Creative Commons

Atribución–CompartirIgual 4.0 Internacional

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.

Los detalles de la licencia pueden encontrarse en Creative Commons


Contenidos

. 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

5.6 Coloreando los vértices de un grafo 91


5.7 El algoritmo greedy para coloración de vértices 93
5.8 Ejercicios 96
6. Árboles (*) 99
6.1 Contando las hojas de un árbol con raíz 99
6.2 Árboles expandidos y el problema MST 102
6.3 Ejercicios 107
A. Permutaciones 109
A.1 Permutaciones 109
B. El principio del tamiz 113
B.1 El principio del tamiz 113
C. La función de Euler 117
C.1 La función de Euler 117
C.2 Una aplicación aritmética del principio del tamiz 119
D. Grafos planares 123
D.1 Grafos planares 123
D.2 El problema del agua-luz-gas 127
D.3 El teorema de los cuatro colores 128
. Indice 133
Prefacio

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.

Adoptaremos las notaciones usuales a + b para la suma de dos enteros a y b, y a × b


(frecuentemente a · b o solo ab) para su producto. Pensamos en + y × como operaciones que
a un par de enteros a y b les hacen corresponder un entero a + b y otro a × b. El hecho de

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).

En la siguiente lista de axiomas a, b, c denotan enteros arbitrarios, y 0 y 1 denotan enteros


especiales que cumplen las propiedades especificadas más abajo.

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.

Debido a la ley de asociatividad para la suma axioma (I3) (a + b) + c es igual a a + (b + c)


y por lo tanto podemos eliminar los paréntesis sin ambigüedad. Es decir, denotamos
a + b + c := (a + b) + c = a + (b + c).
De forma análoga, usaremos la notación
abc = (ab)c = a(bc).
Debido a la ley de conmutatividad axioma (I2), es claro que del axioma (I4) se deduce
que 0 + a = a + 0 = a y 1a = a1 = a. Análogamente, por (I2) e (I6) obtenemos que
−a + a = a + (−a) = 0.

Una propiedad que debemos mencionar es la siguiente: si a, b, c ∈ Z y a = b, entonces


a + c = b + c y ac = bc. Esto se debe a que la suma y el producto son operaciones que, como
acabamos de decir, toman un par de enteros y devuelven otro entero. Si a = b, entonces el
par a, c es igual al par b, c y por lo tanto devuelven la misma suma y el mismo producto. Esta
propiedad no es un axioma, sino una mera aplicación de la lógica formal.

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

Por lo tanto (−n) + n = 0. 

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.

Ahora demostremos una propiedad básica de la resta.


Ejemplo 1.1.2. Demostremos que para dos enteros m y n cualesquiera
m − (−n) = m + n.

Demostración. Por la definición de sustracción, m − (−n) es la suma m + (−(−n)),


es decir
m − (−n) = m + (−(−n)).
Por el ejemplo 1.1.1 sabemos que −(−n) = n y por lo tanto m − (−n) = m + (−(−n)) =
m + n. 

Tanto formalismo, como el usado en las demostraciones realizadas en el ejemplo anterior,


puede ser tedioso, pero nos permiten comenzar a comprender la estructura de una demostración
formal.
Ejemplo 1.1.3. Supongamos que existen dos enteros 0 y 00 ambos cumpliendo el axioma
(I4), esto es
a + 0 = a, a + 00 = a
para todo a de Z. Demostrar que esto implica 0 = 00 , por lo tanto 0 está en realidad
caracterizado de manera única por el axioma (I4) y es llamado el el elemento neutro de la
suma.

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

aditivo, de deduce que a(−b) = −(ab).


ab + a(−b) = a(b − b) axioma (I5)
= a0 axioma (I4)
=0 ejercicio (4).
Es decir a(−b) es el inverso aditivo de ab, luego por la unicidad del inverso aditivo axioma
(I6), a(−b) = −(ab). 

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

Ordenando los enteros


El orden natural de los enteros es tan importante como sus propiedades aritméticas. Desde
el comienzo aprendemos los números en el orden 1, 2, 3, 4, 5, y el hecho de que 4 es “mayor”
que 3 se convierte en algo de importancia práctica para nosotros. Expresamos esta idea
formalmente diciendo que existe una relación que indicamos “<” (a < b se lee: a es menor
que b o también b es mayor que a).

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.

a) (>) Si a > b y c > 0, entonces ac > bc.


b) (≤) Si a ≤ b y 0 ≤ c, entonces ac ≤ bc.
c) (≥) Si a ≥ b y c ≥ 0, entonces ac ≥ bc.

Usando las definiciones de ≥, <, > y el axioma (I11) original es muy sencillo demostrar estas
variantes. Por otro lado,

Proposición 1.2.1. Sean a, b, c ∈ Z.

a) Si c < 0, entonces 0 < −c.


b) Si a < b y c < 0, entonces ac > bc.

Demostración (*).

(a) Sumando −c a ambos miembros de la desigualdad c < 0, obtenemos c + (−c) <


0 + (−c) (compatibilidad de la suma con la relación de orden). Por los axiomas de inverso
aditivo y elemento neutro, la expresión se reduce a 0 < −c.

(b) Como a < b, si sumamos a ambos miembros de la desigualdad −a − b, por la com-


patibilidad de la suma con <, obtenemos a − a − b < b − a − b y por la aplicación reiterada
de los axiomas de inverso aditivo y elemento neutro obtenemos −b < −a. Por a) sabemos
que 0 < −c, por lo tanto, por I11), (−b)(−c) < (−a)(−c). Aplicando la regla de los signos
obtenemos bc < ac y por lo tanto ac > bc.

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”.

Observación 1.2.1. Demostremos que a 6< b es equivalente a a ≥ b: por la ley de


tricotomía axioma (I8) tenemos que solo vale una y solo una de las siguientes afirmaciones
a < b, a = b, b < a.
10 1. NÚMEROS ENTEROS

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.

Ejemplo 1.2.1. Demostremos las siguiente propiedades de ≤. Sean a, b y c enteros


arbitrarios, entonces

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.

(O1) Como a = a, tenemos entonces que a ≤ a (por definición de ≤).

(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.

(O3) Como a ≤ b, entonces a < b o bien a = b. Como b ≤ c, entonces b < c o bien


b = c. Para hacer la demostración, debemos pensar en todas las posibles combinaciones de
estas afirmaciones:

• a<b y b < c. Es este caso, por (I9), a < c. Luego a ≤ c.


• a<b y b = c. Luego a < c y eso implica que a ≤ c.
• a=b y b < c. Luego a < c y eso implica que a ≤ c.
• a=b y b = c. Es claro entonces que a = c, lo cual implica que a ≤ c.

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

una cota inferior de un conjunto X que es a su vez es un elemento de X, es conocido como


el mínimo de X .

−10, −9, −8, −7, −6, −5, −4, −3, −2, −1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Figura 1. El mínimo de S es −7.

Nuestro último axioma para Z afirma algo que es (aparentemente) una propiedad obvia.

I12) Si X es un subconjunto de Z que no es vacío y tiene una cota inferior, entonces X


tiene un mínimo.

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.

Figura 2. El dibujo correcto de Z.

Figura 3. El dibujo incorrecto de Z.

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.

Proposición 1.2.2. 1 es el menor entero mayor que 0.


12 1. NÚMEROS ENTEROS

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

9) Los enteros n que satisfacen 1 ≤ n ≤ 25 están acomodados en forma arbitraria en un


arreglo cuadrado de cinco filas y cinco columnas. Se selecciona el máximo de cada fila,
y se denota s al mínimo entre ellos. De manera similar, el mínimo de cada columna es
seleccionado y t denota al máximo entre ellos. Demostrar que s ≥ t y de un ejemplo en el
cual s 6= t.

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

y la ecuación nos da un valor único para um , contrariamente a la hipótesis. La contradicción


surge de suponer que no está bien definido para algún n, y por lo tanto esta suposición debe
ser falsa.

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.

Definición 1.3.1. Sea n ∈ N sean ai 1 ≤ i ≤ n una secuencia de números (enteros,


reales, etc.). Entonces ni=1 ai denota la función recursiva definida
P
1
X n
X n−1
X
ai = a1 , ai = ai + an (n ≥ 2).
i=1 i=1 i=1
En este caso decimos que ni=1 ai es la sumatoria de los ai de i = 1 a n. El símbolo ni=1 ai
P Q

denota la función recursiva definida


Y 1 Yn n−1
Y
ai = a1 , ai = ai · an (n ≥ 2).
i=1 i=1 i=1
Qn
En este caso decimos que i=1 ai es la productoria de los ai de i = 1 a n.

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

Otro caso que debemos mencionar es el de la definición de “n-ésima potencia”: sea x un


número, si n ∈ N definimos
x1 = x, xn = x · xn−1 (n ≥ 2).
Por completitud, definimos x0 = 1 cuando x 6= 0 y dejamos indefinido 00 .

§ 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.

La fórmula es ciertamente correcta cuando n = 1 puesto que 1 = 12 . Supongamos que es


correcta para un valor específico de n, digamos para n = k, de modo que
1 + 3 + 5 + · · · + (2k − 1) = k 2 .
Podemos usar esto para simplificar la expresión definida recursivamente a la izquierda cuando
n es igual a k + 1,
1 + 3 + 5 + · · · + (2k + 1) = 1 + 3 + 5 + · · · + (2k − 1) + (2k + 1)
= k 2 + (2k + 1)
= (k + 1)2 .
Por lo tanto si el resultado es correcto cuando n = k, entonces lo es cuando n = k + 1. Se
comienza observando que si es correcto cuando n = 1, debe ser por lo tanto correcto cuando
16 1. NÚMEROS ENTEROS

n = 2. Con el mismo argumento como es correcto cuando n = 2 debe serlo cuando n = 3.


Continuando de esta forma veremos que es correcto para todos los enteros positivos n.

La esencia de este argumento es comúnmente llamada principio de inducción. Es una


técnica poderosa, fácil de aplicar y la aplicaremos frecuentemente. Pero primero debemos
examinar sus bases lógicas y para hacerlo necesitamos una formulación más general. Con S
denotemos al subconjunto de N para el cual el resultado es correcto: por supuesto, nuestra
intención es probar que S es todo N. El primer paso es probar que 1 pertenece a S, y luego
demostraremos que si k pertenece a S, también k + 1. Entonces lo pensamos paso a paso, un
procedimiento infinito, y concluimos que S = N. Afortunadamente el pensarlo paso a paso no
es esencial debido a que el principio de inducción es consecuencia de los axiomas que elegimos
tan cuidadosamente para Z y N. Más específicamente es consecuencia del axioma del buen
orden.

Teorema 1.4.1. Supongamos que S es un subconjunto de N que satisface las condiciones

a) 1 ∈ S,
b) para cada k ∈ N, si k ∈ S entonces k + 1 ∈ S.

Entonces se sigue que S = N.

Demostración. Si la conclusión es falsa, S 6= N y el conjunto complementario S c


definido por
S c = {r ∈ N|r 6∈ S}
es no vacío. Por el axioma del buen orden, S c tiene un menor elemento m. Como 1 pertenece
a S, m 6= 1. Se sigue que m − 1 pertenece a N y como m es el mínimo de S c , m − 1 debe
pertenecer a S. Poniendo k = m − 1 en la condición (b), concluimos que m esta en S, lo
cual contradice el hecho de que m pertenece a S c . De este modo, la suposición S 6= N nos
lleva a un absurdo, y por lo tanto tenemos S = N. 

En la práctica, generalmente presentamos una “demostración por inducción” en términos


más descriptivos. El hecho de que el resultado es verdadero cuando n = 1 se llama base de
la inducción o caso base, (b) es llamado el paso inductivo y la suposición de que es verdadero
cuando n = k es llamada hipótesis inductiva. Cuando se utilizan estos términos, no es
necesario introducir explícitamente el conjunto S.

El principio de inducción es útil para probar la veracidad de propiedades relativas a los


números naturales. Por ejemplo, consideremos las siguientes propiedades P (n), Q(n) y R(n):

a) P (n) es la propiedad: 2n − 1 < n2 + 1,


b) Q(n) es la afirmación: si n es par entonces n es divisible por 4,
c) R(n) es la afirmación: 2n < n − 1.
1. EL PRINCIPIO DE INDUCCIÓN 17

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.

Teorema 1.4.2. Sea P (n) una propiedad para n ∈ N tal que:

a) P (1) es verdadera.
b) Para todo k ∈ N, P (k) verdadera implica P (k + 1) verdadera.

Entonces P (n) es verdadera para todo n ∈ N.

Demostración. Basta tomar


S = {n ∈ N|P (n) es verdadera}.
Entonces S es un subconjunto de N y las condiciones (a) y (b) nos dicen que 1 ∈ S y si k ∈ S
entonces k + 1 ∈ S. Por el teorema 1.4.1 se sigue que S = N, es decir que P (n) es verdadera
para todo n. natural. 

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.

(Caso base) El resultado es verdadero cuando n = 1 pues 0 < a = a1 .

(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. 

Ejemplo 1.4.2. El entero xn esta definido recursivamente por


x1 = 2, xn = xn−1 + 2n, n ≥ 2.
Demostremos que
xn = n(n + 1) para todo n ∈ N.

Demostración.

(Caso base) El resultado es verdadero cuando n = 1 pues 2 = 1 · 2.


18 1. NÚMEROS ENTEROS

(Paso inductivo) Supongamos que el resultado verdadero cuando n = k, o sea, que la


hipótesis inductiva es xk = k(k + 1). Entonces
xk+1 = xk + 2(k + 1) por la definición recursiva
= k(k + 1) + 2(k + 1) por hipótesis inductiva
= (k + 1)(k + 2).
Luego el resultado es verdadero cuando n = k + 1 y por el principio de inducción, es
verdadero para todos los enteros positivos n. 

Existen varias formas modificadas del principio de inducción. A veces es conveniente


tomar como base inductiva el valor n = 0, por otro lado puede ser apropiado tomar un valor
como 2 o 3 porque los primeros casos pueden ser excepcionales. Cada problema debe ser
tratado según sus características. Otra modificación útil es tomar como hipótesis inductiva la
suposición de que el resultado es verdadero para todos los valores n ≤ k, más que para n = k
solamente. Esta formulación es llamada a veces el principio de inducción completa. Todas
esas modificaciones pueden justificarse con cambios triviales en la demostración del teorema
1.4.1

El siguiente teorema incorpora todas las modificaciones del principio de inducción men-
cionadas más arriba.

Teorema 1.4.3. Supongamos que n0 es cualquier entero (no necesariamente positivo),


y sea X el conjunto de enteros n tal que n ≥ n0 . Sea S un subconjunto de X que satisface
las condiciones:

a) n0 ∈ S,
b) si h ∈ S para todo h en el rango n0 ≤ h ≤ k entonces k + 1 ∈ S.

Entonces se sigue que S = X.

Demostración (*). Si la conclusión es falsa, S 6= X y el conjunto complementario (en


X) S c definido por
S c = {r ∈ X|r 6∈ S}
es no vacío. Como X es un conjunto acotado inferiormente por n0 , por el axioma del buen
orden, S c tiene un menor elemento m. Como n0 pertenece a S, m 6= n0 . Se sigue que
m − 1 pertenece a X y como m es el mínimo de S c , m − 1 debe pertenecer a S. Poniendo
k = m − 1 en la condición (b), concluimos que m esta en S, lo cual contradice el hecho de
que m pertenece a S c . De este modo, la suposición S 6= X nos lleva a un absurdo, y por lo
tanto tenemos S = X. 

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.

Entonces P (n) es verdadera para todo n ≥ n0 .

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.

(Caso base) El resultado es verdadero cuando n = 1 pues 3 = 21 + 1 y para n = 2 pues


5 = 22 + 1.

(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

Solución. Veamos la afirmación (a). Se fijará n y se hará inducción sobre m.

(Caso base) Debemos ver que an ·a1 = an+1 , lo cual es verdadero por la definición recursiva
(1).

(Paso inductivo) Supongamos que el resultado es verdadero para m = k, es decir que


an · ak = an+k (hipótesis inductiva). Veamos que an · ak+1 = an+k+1 . Ahora bien,
an · ak+1 = an · ak · a definición (1)
n+k
=a ·a hipótesis inductiva
= an+k+1 definición (1).
20 1. NÚMEROS ENTEROS

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).

(Paso inductivo) Supongamos que el resultado es verdadero para m = k, es decir que


(an )k = ank (hipótesis inductiva). Veamos que (an )k+1 = an(k+1) .
(an )k+1 = (an )k · an definición (1)
= ank · an hipótesis inductiva
= ank+n por (a)
n(k+1)
=a .

§ 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

Intutivamente, diremos que un conjunto A es finito si podemos contar la cantidad de elementos


que tiene. En ese caso denotaremos |A| la cantidad de elementos de A y la llamaremos el
cardinal de A.

SECCIÓN 2.1

Principios básicos
El principio de adición

Se puede realizar una acción X de n formas distintas o, alternativamente, se puede realizar


otra acción Y de m formas distintas. Entonces el número de formas de realizar la acción “X
o Y ” es n + m.

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.

Proposición 2.1.1. Sean A1 , . . . , An conjuntos finitos tal que Ai ∩Aj = ∅ cuando i 6= j,


entonces
|A1 ∪ · · · ∪ An | = |A1 | + · · · + |An |.
21
22 2. CONTEO

Demostración. La prueba se hace por inducción en n. Debemos probar


P (n) = Si A1 , . . . , An conjuntos finitos disjuntos dos a dos, entonces
|A1 ∪ · · · ∪ An | = |A1 | + · · · + |An |.

(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 |.

Por la hipótesis inductiva tenemos que


|B| = |A1 ∪ · · · ∪ Ak | = |A1 | + · · · + |Ak |,
Luego
|A1 ∪ · · · ∪ Ak ∪ Ak+1 | = |B| + |Ak+1 | = |A1 | + · · · + |Ak | + |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.

Formalmente, si A, B conjuntos y definimos el producto cartesiano entre A y B por


A × B = {(a, b) : a ∈ A, b ∈ B}.
Entonces si A y B son conjuntos finitos se cumple que
|A × B| = |A| · |B|.
2. SELECCIONES ORDENADAS CON REPETICIÓN 23

SECCIÓN 2.2

Selecciones ordenadas con


repetición
Un aplicación inmediata del principio de multiplicación es que nos permite calcular la
cantidad de selecciones ordenadas con repetición.
Ejemplo 2.2.1. Sea X = [[1, 3]] = {1, 2, 3} ¿de cuántas formas se pueden elegir dos de
estos números en forma ordenada? Es decir, debemos elegir dos números a y b teniendo en
cuenta que si a 6= b no es lo mismo elegir a y luego b que b y a.

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.

Un diagrama arbolado ayuda a pensar.


24 2. CONTEO

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]].

El razonamiento anterior se puede extender:

Proposición 2.2.1. Sean m, n ∈ N. Hay nm formas posibles de elegir ordenadamente


m elementos de un conjunto de n elementos.

Idea de la prueba. La prueba de esta proposición se basa en aplicar el principio de


multiplicación m − 1 veces, es decir debemos hacer inducción sobre m y usar el principio de
multiplicación en el paso inductivo. 
2. SELECCIONES ORDENADAS CON REPETICIÓN 25

Observación 2.2.1. En el ejemplo denotamos [[1, 3]] = {1, 2, 3}. En general, si n ∈ N


denotaremos [[1, n]] al conjunto de los primeros n números naturales. Es decir:
[[1, n]] = {1, 2, . . . , n}.

Ejemplo 2.2.2. ¿Cuántos números de cuatro dígitos pueden formarse con los dígitos
1, 2, 3, 4, 5, 6?

Por la proposición anterior es claro que hay 64 números posibles.

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 .

Ejemplo 2.2.4. Sea X un conjunto de m elementos. Queremos contar cuántos sub-


conjuntos tiene este conjunto. Por ejemplo, si X = {a, b, c} los subconjuntos de X son
exactamente
∅, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}.
Es decir que existen 8 subconjuntos de X, un conjunto de 3 elementos. ¿Cómo podemos
encontrar razonando este número? Un forma sería la siguiente: cuando elijo un subconjunto
el a puede estar o no estar en el subconjunto, es decir hay dos posibilidades. Con el b pasa
lo mismo, puede estar o no estar y por lo tanto hay 2 posibilidades. Con el c se hace un
razonamiento análogo y por lo tanto tenemos que hay en total
2 · 2 · 2 = 23 = 8
posibles subconjuntos de X.

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

Observar entonces que seleccionar un subconjunto de X es equivalente a elegir en forma


ordenada 3 elementos del conjunto {0, 1}; y sabemos entonces que en ese caso tenemos 23
posibilidades.

En general, cuando X tiene n elementos, elegir un subconjunto de X es equivalente a


elegir en forma ordenada n elementos del conjunto {0, 1} y por lo tanto

Proposición 2.2.2. La cantidad de subconjuntos de un conjunto de n elementos es 2n .

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

Selecciones ordenadas sin repetición


Sea n ∈ N. Recordemos que definimos recursivamente factorial de n al número denotado
n!,
tal que
1! = 1
(n + 1)! = n!(n + 1)
Definimos también
0! = 1
Por ejemplo
2! = 2 · 1 = 2
3! = 3 · 2 · 1 = 6
4! = 3! · 4 = 6 · 4 = 24.

Ahora estudiaremos las selecciones ordenadas de m elementos entre n donde no se permite


la repetición. Es decir si el conjunto es A = {a1 , a2 , . . . , an }, las selecciones deben ser del
tipo
ai 1 ai 2 · · · ai m
donde aij 6= aik si i 6= k.

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.

En un diagrama arbolado la selección se puede representar de la siguiente forma:

2 3 123
1
3 2 132

1 3 213
2
3 1 231

1 2 312
3
2 1 321

El número total es entonces 3 · 2 · 1 = 6.

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.

Demostración. La prueba es una generalización del razonamiento aplicado más arriba


a los ejemplos: debemos seleccionar m-veces elementos de un conjunto que tiene n elementos.
La primera selección puede ser de cualquiera de los n objetos; la segunda selección debe recaer
28 2. CONTEO

en uno de los n − 1 elementos restantes. De manera similar, hay n − 2 posibilidades para la


tercera selección, y así sucesivamente. Cuando hacemos la m-ésima selección, m−1 elementos
ya han sido seleccionados, y entonces el elemento seleccionado debe ser uno de los n − (m − 1)
elementos restantes. Por consiguiente el número total de selecciones es el propuesto. 
Observación 2.3.1. El resultado anterior en particular nos dice que existen
n · (n − 1) · · · (n − (n − 1)) = n · (n − 1) · · · 1 = n!
selecciones ordenadas y sin repetición de n elementos en un conjunto con n elementos y esta
podría ser una motivación natural del factorial.

Las selecciones ordenadas y sin repetición de n elementos en un conjunto con n elementos


se denominan permutaciones de grado n.

Hay, pues, n! permutaciones de grado n.

Volviendo al resultado de la proposición 2.3.1, por ejemplo hay

• 7 · 6 · 5 selecciones ordenadas y sin repetición de 3 elementos de [[1, 7]],


• 7 · 6 · 5 · 4 · 3 selecciones ordenadas y sin repetición de 5 elementos de [[1, 7]] y
• 7! selecciones ordenadas y sin repetición de todos los elementos de [[1, 7]].

Notemos que si n ≥ m entonces


n!
n · (n − 1) · · · (n − (m − 1)) =
(n − m)!
pues
n! = n · (n − 1) · · · (n − (m − 1)) · (n − m)!

Por lo tanto la proposición 2.3.1 se puede reescribir de la siguiente manera:


Proposición 2.3.2. Si n ≥ m entonces existen
n!
(4)
(n − m)!
selecciones ordenadas y sin repetición de m elementos de un conjunto de n elementos.
Ejemplo 2.3.1. Si en un colectivo hay 10 asientos vacíos. ¿De cuántas formas pueden
sentarse 7 personas? Se trata de ver cuantas selecciones ordenadas y sin repetición de 7
asientos entre 10.

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.

Como hay 4! permutaciones de las letras a1 , a2 , a3 , a4 , y 2! de n1 , n2 el número buscado


es
10!
.
4!2!
Dejamos a cargo del lector probar que el número total de permutaciones de las letras de
arrivederci es
11!
3!2!2!

§ Ejercicios Simplificar las siguientes expresiones, sea n ∈ N

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

Selecciones sin orden


Consideremos un conjunto X finito de n elementos. Nos proponemos averiguar cuántos
subconjuntos de m elementos hay en X.

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

Habría, a priori, 5 · 4 · 3 subconjuntos pues ese es el número de selecciones ordenadas y sin


repetición de 3 elementos de [[1, 5]].

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)!

En el caso general de subconjuntos de m elementos de un conjunto de n elementos (m ≤ n)


podemos razonar en forma análoga. Cada subconjunto de m elementos está determinado por
una selección ordenada y todas las permutaciones de esta selección.

Por lo tanto el número total de subconjunto de m elementos de X es


n · (n − 1) · · · (n − (m − 1)) n!
=
m! (n − m)! m!
Definición 2.4.1. Sean n, m ∈ N0 , m ≤ n. Definimos
 
n n!
=
m (n − m)! m!
y por razones que se verán más adelante se denomina el coeficiente binomial o número com-
binatorio asociado al par n, m con m ≤ n.

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).

En resumen, tenemos la siguiente proposición.


Proposición 2.4.1. Sean n, m ∈ N0 , m ≤ n, y supongamos que el conjunto
  X tiene n
n
elementos. Entonces la cantidad de subconjuntos de X con m elementos es .
m

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

 Solución. Debemos4elegir 4 mujeres entre 6, y la cantidad de elecciones posibles es


6
4
. Por otro lado, hay 2 formas de elegir 2 hombres entre 4. Luego, por el principio de
multiplicación, el resultado es
   
6 4 6! 4! 6·5 4·3
· = · = · = 15 · 6 = 90.
3 2 2!4! 2!2! 2 2
Proposición 2.4.2 (Simetría del número combinatorio). Sean m, n ∈ N0 , tal que m ≤ n.
Entonces    
n n
= .
m n−m

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

Demostración. El enunciado nos dice que debemos demostrar que


(n + 1)! n! n!
= +
(n − m + 1)! m! (n − m + 1)! (m − 1)! (n − m)! m!
Hay varias forma de operar algebraicamente las expresiones y obtener el resultado. Nosotros
partiremos de la expresión de la derecha y obtendremos la de la izquierda:
 
n! n! n! 1 1
+ = +
(n − m + 1)! (m − 1)! (n − m)! m! (n − m)! (m − 1)! (n − m + 1) m
 
n! m+n−m+1
=
(n − m)! (m − 1)! (n − m + 1)m
 
n! n+1
=
(n − m)! (m − 1)! (n − m + 1)m
n!(n + 1)
=
(n − m)!(n − m + 1) (m − 1)! m
(n + 1)!
= .
(n − m + 1)! m!
32 2. CONTEO

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

Demostración. Haremos inducción en n. Si n = 1 los posibles números combinatorios


son    
1 1
= = 1 ∈ N.
1 0
n

Ahora supongamos que el resultado sea cierto para n ∈ N. Es decir, m ∈ N cualquiera
sea m tal que 0 ≤ m ≤ n (hipótesis inductiva). Probaremos entonces que
 
n+1
∈N
m
para todo m ∈ N tal que 0 ≤ m ≤ n + 1.

Consideremos tres casos: m = 0, 1 ≤ m ≤ n y m = n + 1.

Si m = 0, entonces    
n+1 n+1
= = 1 ∈ N.
m 0

Si 1 ≤ m ≤ n, entonces por el teorema anterior (en la segunda parte)


     
n+1 n n
= +
m m−1 m
n n
 
Como m−1 y m pertenecen a N por la hipótesis inductiva, su suma es también un número
natural, o sea  
n+1
∈N
m
para 1 ≤ m ≤ n.

Si m = n + 1, entonces  
n+1
= 1 ∈ N.
n+1

Por lo anterior, se concluye que


 
n+1
∈N
m
cualquiera sea m , 0 ≤ m ≤ n + 1.

Por lo tanto, es válido el paso inductivo y así nuestra afirmación queda probada. 

El teorema precedente permite calcular los coeficientes binomiales inductivamente. Escrib-


amos en forma de triángulo
2. EL TEOREMA DEL BINOMIO 33

 
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.)

El triángulo es denominado triángulo de Pascal. Entre las propiedades que cuenta el


triángulo de Pascal está la de ser simétrico respecto de su altura, como consecuencia de la
simetría de los números combinatorios (ver proposición 2.4.2).

SECCIÓN 2.5

El teorema del binomio


En álgebra elemental aprendemos las formulas
(a + b)2 = a2 + 2ab + b2 , (a + b)3 = a3 + 3a2 b + 3ab2 + b3 ,
y a veces nos piden desarrollar la formula para (a + b)4 y potencias mayores de a + b. El
resultado general que da una formula para (a + b)n es conocido como el teorema del binomio.
34 2. CONTEO

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

Demostración. (Primera) Considerar que ocurre cuando multiplicamos n factores


(a + b)(a + b) · · · (a + b).
Un término en el producto se obtiene seleccionando o bien a o bien b de cada factor. El número
de términos an−r br es solo el número de formas de seleccionar r b’s (y consecuentemente n − r
n

a’s), y por definición éste es el número binomial r . 

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 .

Demostración (*). (Segunda) Se hace por inducción en n. Si n = 1, el resultado es


trivial. Supongamos que el resultado es cierto para n − 1, es decir
n−1  
n−1
X n − 1 n−1−i i
(a + b) = a b.
i=0
i
2. EL TEOREMA DEL BINOMIO 35

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

Además de ser extremadamente útil en manipulaciones algebraicas, el teorema del binomio


puede usarse para deducir identidades en que estén involucrados los números binomiales.

Ejemplo 2.5.1. Probemos que


 2  2  2  2  
n n n n 2n
(5) + + + ··· + = .
0 1 3 n n

Demostración. Usamos la igualdad


(1 + x)n (1 + x)n = (1 + x)2n .
El resultado se demostrará encontrando el coeficiente del termino xn de ambos términos de
esta igualdad.

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

1) Desarrollar las fórmulas de (1 + x)8 y (1 − x)8 .


2) Calcular los coeficientes de:

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 .

3) Usar la identidad (1 + x)m (1 + x)n = (1 + x)m+n para probar que


          
m+n m n m n m n
= + + ···
r 0 r 1 r−1 r 0
donde m, n y r son enteros positivos y, m ≥ r, y n ≥ r.
2. EJERCICIOS 37

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:

a) x6 en (1 + x)12 ; b) a3 b7 en (a + b)10 ; c) a4 b6 en (a2 + b)8

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.

Teorema 3.1.1. Sean a y b números enteros cualesquiera con b ∈ N, entonces existen


enteros únicos q y r tales que
a=b·q+r y 0 ≤ r < b.

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

Ahora, como R es un subconjunto no vacío de N0 , tiene un mínimo r, y como r esta en


R se sigue que a = bq + r para algún q en Z. Además
a = bq + r ⇒ a = b(q + 1) + (r − b)
de manera que si r ≥ b entonces r − b esta en R. Pero r − b es menor que r, contradiciendo
la definición de r como el menor elemento de R. Como la suposición r ≥ b nos lleva a una
contradicción, solo puede ocurrir que r < b, como queríamos demostrar.

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.

§ Desarrollos en base b, (b ≥ 2) Una consecuencia importante del


teorema 3.1.1 es que justifica nuestro método usual de representación de enteros.

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

Observar entonces que


407 = 5 · 81 + 2 por (7)
= 5 · (5 · 16 + 1) + 2 por (8)
2
= 5 · 16 + 5 · 1 + 2
= 52 · (5 · 3 + 1) + 5 · 1 + 2 por (9)
= 53 · 3 + 52 · 1 + 5 · 1 + 2.
En este caso diremos que el desarrollo en base 5 de 407 es 3112 o, resumidamente, 407 =
(3112)5 . Observar que el desarrollo en base 5 de 407 viene dado por los restos de las divisiones
sucesiva, leídos en forma ascendente.

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 ?

Demostración. Dividiendo repetidamente por 2 obtenemos


109 = 2 · 54 + 1
54 = 2 · 27 + 0
27 = 2 · 13 + 1
13 = 2 · 6 + 1
6=2·3+0
3=2·1+1
1=2·0+1
42 3. DIVISIBILIDAD

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.

Ejemplo 3.1.4. Representemos 12488 en base 16.


12488 = 16 · 780+8
780 = 16 · 48 +12
48 = 16 · 3 +0
3 = 16 · 0 +3.
Luego 12488 = (30C8)16 .

§ 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. La demostración de estos hechos es sencilla, por ejemplo (c): como


a|b, existe q tal que b = aq. Análogamente, como a|c, existe q 0 tal que c = aq 0 . Entonces
b + c = aq + aq 0 = a(q + q 0 ), luego a|(b + c). Las demás demostraciones se dejan como
ejercicio para el lector. 

Ejemplo 3.2.1. Demostremos que si c, d y n son enteros tales que, d|n y c nd , entonces
n
c|n y d

c

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. 

Proposición 3.2.1. Sean a y b enteros.

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

(a) Si a o b valen 0, entonces ab = 0 6= 1. Luego a y b son distintos de 0. Si a > 0 y b < 0 por


los axiomas de compatibilidad del orden con el producto ab < 0. Lo mismo ocurre si a < 0 y
b > 0.

Es decir podemos suponer que o bien a > 0 y b > 0, o bien a < 0 y b < 0.

Si a > 0 y b > 0, entonces a ≥ 1 y b ≥ 1. Si a = 1, como ab = 1, tenemos que b = 1. Si


a > 1, como b > 0 por compatibilidad de < con el producto tenemos que ab > 1, lo cual no
es cierto. Es decir, hemos probado que si a > 0 y b > 0, entonces a = 1 y b = 1.

Si a < 0 y b < 0, entonces −a > 0 y −b > 0 y (−a)(−b) = ab = 1. Luego, por el párrafo


de arriba, −a = −b = 1 y en consecuencia a = b = −1.

(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. 

§ Ejercicios Usar el principio de inducción para demostrar que, para todo n ≥ 0 se


cumplen;

1) n2 + 3n es divisible por 2,
2) n3 + 3n2 + 2n es divisible por 6.

SECCIÓN 3.3

El máximo común divisor y el


mínimo común múltiplo
Definición 3.3.1. Si a y b son enteros algunos de ellos no nulo, decimos que un entero
no negativo d es un máximo común divisor, o mcd, de a y b si

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

Ejemplo 3.3.1. Los divisores positivos comunes de 60 y 84 son 1, 2, 3, 6 y 12, luego


aunque 6 es un divisor común, no satisface (b) de la definición, pues 12|60 y 12|84 pero 126 |6
(el símbolo significa “no divide”). En este caso, 12 claramente es el máximo común divisor.

En el ejemplo anterior usamos dos enteros pequeños y no tuvimos problemas en encontrar


el máximo común divisor. Pero ¿qué pasaría si consideráramos dos enteros muy grandes?
Consideremos las siguientes preguntas.

• Dados a, b ∈ Z arbitrarios, alguno de ellos no nulo ¿existe el máximo común divisor?


Si existe, ¿hay una forma eficiente de calcularlo?
• ¿Cuántos máximos común divisores puede tener un par de enteros?

En el desarrollo de esta sección responderemos estas preguntas.

Teorema 3.3.1. Dados a, b ∈ Z, alguno de ellos no nulo, existe un único d ∈ Z que es


el máximo común divisor.

Demostración. Sin pérdida de generalidad podemos suponer que a 6= 0. Sea


S = {ma + nb : m, n ∈ Z, ma + nb > 0}.
Como a o −a pertenecen a S, tenemos que S 6= ∅, luego, por el principio de buena ordenación,
S tiene un mínimo d. Probaremos ahora que d es un máximo común divisor de a y b.

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.

Unicidad. Sean d y d0 dos enteros no negativos que satisfacen las propiedades de la


definición del máximo común divisor, como d0 |a, d0 |b y d satisface la propiedad (b) de la
definición de mcd, se deduce que d|d0 . Intercambiando los papeles de d y d0 se obtiene que
d0 |d. Luego, como d, d0 ≥ 0, por proposición 3.2.1(b) se obtiene que d = d0 . 

Si a, b enteros, alguno de ellos no nulo, denotaremos al máximo común divisor de a y b


por mcd(a, b), o en caso de no haber confusión por (a, b).

Ejemplo 3.3.2. Hallar mcd(174, 72).

Solución.

Divisores de 174: 1, 2, 3, 6, 29, 58, 87, 174

Divisores de 72: 1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36, 72


46 3. DIVISIBILIDAD

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.

Demostración. Se deduce trivialmente de la demostración del teorema anterior. 


Corolario 3.3.3. Sean a y b enteros, b no nulo, entonces
(a, b) = 1 ⇔ existen s, t ∈ Z tales que 1 = sa + tb.

Demostración. (⇒) Es consecuencia trivial de la proposición anterior.

(⇐) 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

(1) mcd(b, a) = mcd(a, b) = mcd(±a, ±b),


(2) si a > 0, mcd(a, 0) = a y mcd(a, a) = a,
(3) mcd(1, b) = 1.

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:

(a) 1|1 y 1|b;


(b) si c|1 y c|b entonces c|1,

propiedades que son obviamente verdaderas.

1. y 2. se dejan a cargo del lector. 

La siguiente propiedad no es tan obvia y resulta muy importante.


Propiedad 3.3.5. Si a 6= 0, b ∈ Z, entonces mcd(a, b) = mcd(a, b − a).

Demostración. Sea d = mcd(a, b − a), luego

(a) d|a y d|b − a;


(b) si c|a y c|b − a entonces c|d.

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

(a’) d|a y d|b.

Por otro lado, si c|a y c|b, entonces c|b − a, luego por (ii) tenemos que c|d. Es decir,

(b’) si c|a y c|b, entonces c|d.

Luego, por definición de mcd, obtenemos que d = mcd(a, b). 

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.

Ejemplo 3.3.3. Encontrar el mcd entre 72 y 174.

Solución. Observar que


mcd(72, 174) = mcd(72, 174 − 72) = mcd(72, 102) = mcd(72, 30) = mcd(42, 30)
= mcd(12, 30) = mcd(12, 18) = mcd(12, 6) = mcd(6, 6) = 6.


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.

Proposición 3.3.6. Sean a, b enteros no negativos con b 6= 0, entonces


(11) a = bq + r ⇒ mcd(a, b) = mcd(b, r).

Demostración. Para demostrar esto debemos observar que si c divide a y b, entonces


también divide a a − bq; y como a − bq = r, tenemos que c|r. De este modo cualquier divisor
común de a y b es también divisor común de b y r. Por otro lado si c divide b y r también
divide a a = bq + r. Es decir,
(*) c es divisor común de a y b si y sólo si c es divisor común de b y r.
Luego, sea d = mcd(a, b), probaremos que d es el mcd entre b y r:

(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.

Al satisfacer (a) y (b), obtenemos que d = mcd(b, r). 


48 3. DIVISIBILIDAD

La aplicación repetida de este simple hecho, en combinación con el algoritmo de división,


nos da un método para calcular el mcd.

Ejemplo 3.3.4. Encuentre el mcd de 2406 y 654.

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,

Tabla 1. Algoritmo de Euclides

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.

Este procedimiento es conocido como el algoritmo de Euclides, debido al matemático griego


Euclides (300 a. c.). Es extremadamente útil en la práctica, y tiene importantes consecuencias.

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

Demostración. Observar que plicando repetidas veces (11) obtenemos


rk = mcd(rk , 0) = mcd(rk−1 , rk ) = mcd(rk−2 , rk−1 ) = · · ·
· · · = mcd(r2 , r3 ) = mcd(r1 , r2 ) = mcd(r0 , r1 ) = mcd(a, b)


Observación 3.3.1 (*). El algoritmo de Euclides es fácilmente implementable en un


lenguaje de programación. A continuación una versión del mismo en pseudocódigo.
Algoritmo de Euclides
# pre: a y b son números positivos
# post: Obtenemos d = mcd(a,b)
r(0), r(1) = a, b
i = 1
while r(i) != 0:
r(i+1) = r(i-1) % r(i) # a % b = resto de a / b
i = i + 1
d = r(i-1)

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 (∗))

De este modo, la expresión requerida d = sa + tb es


5 = 2 · 470 + (−17) · 55.

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.)

Demostración. Como el mcd(a, b) = 1 existen enteros s y t tales que sa + tb = 1. En


consecuencia
(a)
b0 = (sa + tb)b0 = sab0 + tbb0 = sa0 b + tb0 b = (sa0 + tb0 )b,
y por lo tanto b|b0 . Por un argumento similar y usando el hecho de que el mcd(a0 , b0 ) = 1
deducimos que b|b0 , por lo tanto b = b0 o b = −b0 y como b y b0 son ambos positivos debemos
tener b = b0 . Ahora de (a) deducimos que a = a0 y el resultado esta demostrado. 
Observación 3.3.2 (*). El algoritmo explicado anteriormente para obtener el mcd(a, b)
como combinación lineal entera sa + tb no es muy sencillo de programar. Más aún, requiere
terminar el cálculo del mcd usando el algoritmo de Euclides, para comenzar a calcular los
coeficientes enteros s, t. Veremos a continuación un algoritmo sencillo de programar que nos
devuelve s y t. El algoritmo se basa en el siguiente resultado.
Proposición 3.3.8. Sean, a, b enteros, b > 0, y ri , qi los restos y cocientes obtenido en
el algoritmo de Euclides (ver tabla 1). En entonces,

a) para 0 ≤ i ≤ k, existen si , ti ∈ Z tal que


ri = si a + ti b.
b) s0 , t0 = 1, 0 , s1 , t1 = 0, 1 y
(12) si = si−2 − qi−1 si−1 , ti = ti−2 − qi−1 ti−1 ,
para i ≥ 2.
3. EL MÁXIMO COMÚN DIVISOR Y EL MÍNIMO COMÚN MÚLTIPLO 51

Demostración. (a) Lo haremos por inducción sobre i.

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.

Paso inductivo. Si i > 1, tenemos


ri = ri−2 + (−qi−1 )ri−1
= si−2 a + ti−2 b + (−qi−1 )(si−1 a + ti−1 b) (hipótesis inductiva)
= (si−2 − qi−1 si−1 )a + (ti−2 − qi−1 ti−1 )b.

(b) Es claro por la demostración de (a). 

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]

Mínimo común múltiplo


Definición 3.3.3. Si a y b son enteros decimos que un entero no negativo m es el mínimo
común múltiplo, o mcm, de a y b si

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.

El siguiente teorema garantiza la existencia del mcm.


52 3. DIVISIBILIDAD

Teorema 3.3.9. Sean a y b enteros no nulos, entonces


ab
mcm(a, b) = .
mcd(a, b)

Demostración. Demostraremos que


ab
m=
mcd(a, b)
es el mínimo común múltiplo de a, b.

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. 

En particular este resultado implica que si a y b son enteros coprimos, entonces


mcm(a, b) = ab.

Ejemplo 3.3.6. Encontrar el mcm de 8 y 14.

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.

Luego si un entero m ≥ 2 no es un primo si y sólo si existe m1 divisor de m tal que


m1 6= 1, m, es decir con 1 < m1 < m. Sea m2 el cociente de m por m1 : es claro que
m2 6= 1, m y por lo tanto 1 < m2 < m. Concluyendo,

un entero m ≥ 2 no es un primo si y sólo si m = m1 m2 donde m1 y m2 son enteros


estrictamente entre 1 y m.

Enfaticemos que de acuerdo a la definición, 1 no es primo.

Los primeros primos (los menores que 100) son


2, 3, 5, 11, 17, 19, 23, 129, 31, 37, 41, 47, 49, 53, 59, 61, 67, 71, 79, 83, 89, 91, 97.

Observación 3.4.1 (Criba de Eratóstenes *). Un forma de encontrar números primos


es con la criba de Eratóstenes. Es un algoritmo que permite hallar todos los números primos
menores que un número natural dado n. Se forma una lista con todos los números naturales
comprendidos entre 2 y n, y se van tachando los números que no son primos de la siguiente
manera: comenzando por el 2, se tachan todos sus múltiplos; comenzando de nuevo, cuando
se encuentra un número entero que no ha sido tachado, ese número es declarado primo, y
se procede a tachar todos sus múltiplos y así sucesivamente. El proceso termina cuando
alcanzamos n.

Podemos expresar el algoritmo en pseudocódigo:


Criba de Eratóstenes
# pre: n número natural
# post: se obtiene ’’primos’’ la lista de números primos hasta n
primos = lista vacía
inter = lista de 2 a n # en inter se tacharán los números compuestos
for i = 2 to n:
if i no está tachado en inter:
agregar i a primos
k = 2
while k * i <= n:
tachar k * i en la lista inter
k = k + 1

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.

Teorema 3.4.1. Todo entero mayor que 1 es producto de números primos.

Demostración. Sea B el conjunto de enteros positivos que no tienen una factorización


en primos.

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 .

Como estamos suponiendo que m es el menor entero (≥ 2) que no tiene factorización


en primos, entonces m1 y m2 tienen factorización en primos. Pero entonces la ecuación
m = m1 m2 produce una factorización en primos de m, contradiciendo la suposición de que
m era un elemento de B. Por lo tanto B debe ser vacío, y la afirmación esta probada. 

Ejemplo 3.4.1. Encontremos la factorización en números primos de 201 000. Esto se


hace dividiendo sucesivamente los números hasta llegar a factores primos:
201 000 = 201 · 1000 = 3 · 67 · 10 · 10 · 10
= 3 · 67 · 2 · 5 · 2 · 5 · 2 · 5
= 23 · 3 · 53 · 67.
Como vimos más arriba 2, 3, 5 y 67 son números primos y por lo tanto hemos obtenido la
descomposición prima de 201 000.

Veamos ahora alguna propiedades básicas de los números primos.

Observación 3.4.2. Sea a ∈ Z y p primo. Entonces

a) Si p6 |a, entonces mcd(a, p) = 1.


b) Si p y p0 son primos y p|p0 entonces p = p0 .

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 . 

Para encontrar la descomposición prima de un número, digamos n, debemos ir tomando


todos los números menores a n y comprobando si estos lo dividen o no. En lo que sigue
veremos el criterio de la raíz, que se utiliza para comprobar si un número es primo en menos
pasos que la comprobación directa.

Lema 3.4.2. Si n > 0 no es primo, entonces existe m > 0 tal que m|n y m ≤ n.
3. FACTORIZACIÓN EN PRIMOS 55

Demostración. Si n no es primo, entonces n = m1 m2 con 1 < m1 , m2 < n. Supong-


√ √ √
amos que m1 , m2 > n, entonces n = m1 m2 > n n = n, lo cual es una contradicción.

Por lo tanto, m1 o m2 debe ser menor o igual que n y por consiguiente encontramos un

divisor de n menor o igual a n. 

Proposición 3.4.3 (Criterio de la raíz). Sea n ≥ 2. Si para todo m tal que 1 < m ≤ n
se cumple que m6 |n, entonces n es primo.

Demostración. Supongamos que n no es primo, luego, por el lema anterior, existe m



tal que m|n y 1 < m ≤ n y esto contradice nuestras hipótesis. La contradicción se produce
al suponer que n no es primo, por lo tanto n es primo. 

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.

Solución. Observar primero que si no utilizamos el criterio de la raíz deberíamos hacer


465 divisiones: deberíamos comprobar si m|467 con 1 < m < 467.

Como 467 < 22, por el criterio de la raíz, sólo debemos comprobar si m|467 para
2 ≤ m ≤ 21. Un sencilla comprobación (dividiendo) muestra que los números 2, 3, · · · , 20, 21
no dividen a 467 y por lo tanto 467 es primo. 2

La facilidad con la que establecemos la existencia de la factorización de primos conlleva


dos dificultades importantes. Primero el problema de encontrar los factores primos no es de
ningún modo directo; y segundo no es obvio que exista una única factorización en primos para
todo entero dado n ≥ 2 . El siguiente resultado es un paso clave en la demostración de la
unicidad.
Teorema 3.4.4. Sea p un número primo.

a) Si p|xy entonces p|x o p|y.


b) x1 , x2 , . . . , xn son enteros tales que
p|x1 x2 . . . xn
entonces p|xi para algún xi (1 ≤ i ≤ n).

Demostración.

(a) Si p|x ya está probado el resultado. Si p6 |x entonces tenemos mcd(x, p) = 1. Por


proposición 3.3.2, existen enteros r y s tales que rp + sx = 1. Por lo tanto tenemos
y = 1 · y = (rp + sx)y = (ry)p + s(xy).
Como p|p y p|xy, entonces divide a ambos términos y se sigue que p|y.

(b) Usemos el principio de inducción. El resultado es obviamente verdadero cuando n = 1


(base inductiva).
56 3. DIVISIBILIDAD

Ahora, supongamos que el resultado es verdadero cuando n = k, es decir si p|x1 x2 . . . xk ,


entonces p|xi para algún i con 1 ≤ i ≤ k (hipótesis inductiva).

Debemos probar que si p|x1 x2 . . . xk xk+1 , entonces p|xi para algún xi (1 ≤ i ≤ k + 1).

Supongamos p|x1 x2 . . . xk xk+1 y sea x = x1 x2 . . . xk . Si p|x entonces, por la hipótesis


inductiva, p|xi para algún xi en el rango 1 ≤ i ≤ k. Si p6 |x entonces, por 1), se sigue que
p|xk+1 . De este modo, en ambos casos p divide uno de los 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.

Teorema 3.4.5. La factorización en primos de un entero positivo n ≥ 2 es única, salvo


el orden de los factores primos.

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. 

En la práctica a menudo reunimos los primos iguales en la factorización de n y escribimos


(16) n = pe11 pe22 . . . perr ,
donde p1 , p2 , . . . , pr son primos distintos y e1 , e2 , . . . , er son enteros positivos. Por ejemplo
7000 = 23 · 53 · 7.

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.

Proposición 3.4.6. Existen infinitos números primos.

Demostración. Haremos la demostración por el absurdo: supongamos que existen en


total r números primos p1 , p2 , . . . , pr . Sea n = p1 p2 . . . pr + 1. Sea p primo tal que p|n. Como
la lista de primos es exhaustiva, existe i con 1 ≤ i ≤ r tal que p = pi . Ahora bien pi |n y
pi |p1 p2 . . . pr , luego pi |n − p1 p2 . . . pr = 1, lo cual es un absurdo que vino de suponer que el
número de primos es finito. 

Ejemplo 3.4.3. Probemos que si m y n son enteros tales que m ≥ 2 y n ≥ 2, entonces


m 6= 2n2 .
2

Demostración. Supongamos que la factorización prima de n contiene al 2 elevado a la


x (donde x es cero si 2 no es factor primo de n). Entonces n = 2x h, donde h es producto de
primos más grandes que 2, luego
2n2 = 2(2x h)2 = 22x+1 h2 .
Por lo tanto 2 está elevado a una potencia impar en la factorización prima de 2n2 .

Por otro lado, si m = 2y g, donde g es producto de primos mayores que 2, entonces


m2 = (2y g)2 = 22y g 2 ,
luego 2 está elevado a una potencia par (posiblemente cero) en la factorización prima de m2 .
se sigue entonces que de ser m2 = 2n2 deberíamos tener dos factorizaciones primas diferentes
del mismo número entero, contradiciendo al teorema 3.4.5. Entonces m2 6= 2n2 . 

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

Proposición 3.4.7. Sean m, n ≥ 2 con


m = pe11 pe22 . . . perr , n = pf11 pf22 . . . pfrr .
donde pi primo y ei , fi ≥ 0 para i = 1, . . . , r.

Entonces m|n si y sólo si ei ≤ fi para todo i.

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 .

(⇐) Como ei ≤ fi , tenemos que pei |pfi , para 1 ≤ i ≤ r. Luego


pe11 pe22 . . . perr |pf11 pf22 . . . pfrr .
Es decir m|n. 

Ahora veremos que es es posible calcular el mcd y el mcm de un par de números sabiendo
sus descomposiciones primas.

Proposición 3.4.8. Sean m y n enteros positivos cuyas factorizaciones primas son


m = pe11 pe22 . . . perr , n = pf11 pf22 . . . pfrr .

a) El mcd de m y n es d = pk11 pk22 . . . pkr r donde, para cada i en el rango 1 ≤ i ≤ r, ki es el


mínimo entre ei y fi .
b) El mcm de m y n es u = ph1 1 ph2 2 . . . phr r donde, para cada i en el rango 1 ≤ i ≤ r, hi es el
máximo entre ei y fi .

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.

(b) Se deja como ejercicio. 

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.

Ejemplo 3.4.4. Encontremos el mcd y el mcm de 825 y 385.

Como 825 = 3 · 52 · 11 y 385 = 5 · 7 · 11, tenemos que


mcd(825, 385) = 5 · 11 = 55, mcm(825, 385) = 3 · 52 · 7 · 11 = 5775.

§ 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.

Claramente esta definición se puede extender a cualquier entero positivo m.

Definición 4.1.1. Sean a y b enteros y m un entero positivo. Diremos que a es congru-


ente a b módulo m, y escribimos
a ≡ b (mod m)
si a − b es divisible or m.

Observar que a ≡ 0 (mod m) si y sólo si m|a y que a ≡ b (mod m) si y sólo si a − b ≡ 0


(mod m).

Proposición 4.1.1. Sean a y b enteros y m un entero positivo. Entonces a ≡ b (mod m)


si y sólo si a y b tienen el mismo resto en la división por m.
61
62 4. ARITMÉTICA MODULAR

Demostración. Si a = mh + r y b = mk + s, con 0 ≤ r, s < m, podemos suponer,


sin perdida de generalidad, que r ≤ s, luego
b − a = m(k − h) + (s − r) con 0 ≤ s − r < m.
Se sigue que s − r es el resto de dividir b − a por m.

Luego si a ≡ b (mod m), el resto de dividir b − a por m es 0, y por lo tanto s − r = 0 y


s = r.

Si a y b tienen el mismo resto en la división por m, entonces a = mh + r y b = mk + r,


luego a − b = m(h − k) que es divisible por m. 

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] .

Es fácil verificar que la congruencia módulo m verifica las siguientes propiedades

a) Es reflexiva es decir x ≡ x (mod m).


b) Es simétrica, es decir si x ≡ y (mod m), entonces y ≡ x (mod m).
c) Es transitiva, es decir si x ≡ y (mod m) e y ≡ z (mod m), entonces x ≡ z (mod m).

Demostración. La primera propiedad es debido a que x − x es cero y por lo tanto


divisible por m. La segunda se debe a que si x − y = km, entonces y − x = (−k)m.
Finalmente, podemos demostrar la tercera de la siguiente forma, puesto que x − y = km y
y − z = lm, tenemos que x − z = (x − y) + (y − z) = (k + l)m. 

La utilidad de las congruencias reside principalmente en el hecho de que son compatibles


con las operaciones aritméticas. Específicamente, tenemos el siguiente teorema.

Teorema 4.1.2. Sea m un entero positivo y sean x1 , x2 , y1 , y2 enteros tales que


x1 ≡ x2 (mod m), y1 ≡ y2 (mod m).
Entonces

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.

(b) Aquí tenemos


x1 y1 − x2 y2 = x1 y1 − x2 y1 + x2 y1 − x2 y2
= (x1 − x2 )y1 + x2 (y1 − y2 )
= mxy1 + x2 my
= m(xy1 + x2 y),
y de nuevo el lado izquierdo es divisible por m.

(c) Lo haremos por inducción sobre j.

Es claro que si j = 1 el resultado es verdadero. Supongamos ahora que el resultado vale


para j − 1, es decir que si x ≡ y (mod m), entonces
xj−1 ≡ y j−1 (mod m).
Como x ≡ y (mod m), por (b) tenemos que
xj−1 x ≡ y j−1 y (mod m),
es decir
xj ≡ y j (mod m).


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)

Demostración. Observemos primero que como 10 ≡ 1 (mod 9), entonces 10k ≡ 1k ≡


1 (mod 9). Esto es debido al teorema 4.1.2-(c)

Por la definición de representación en base 10, tenemos que


x = x0 + 10x1 + · · · + 10n xn ,
por el párrafo anterior y teorema 4.1.2-(b) obtenemos que xk 10k ≡ xk (mod 9) y por teorema
4.1.2-(a) se deduce que x ≡ x0 + x1 + · · · + xn (mod 9). 

El procedimiento anterior a veces es llamado “regla del nueve”.

Ejemplo 4.1.1. Verifiquemos el siguiente cálculo


54 321 · 98 765 = 5 363 013 565.
64 4. ARITMÉTICA MODULAR

Demostración. En la notación de la proposición 4.1.3 escribamos Σ x en vez de


Xn
xi = x0 + x1 + · · · + xn .
i=0
Hemos visto que Σ x ≡ x (mod 9). Por la parte (b) del teorema 4.1.2 tenemos
Σ x · Σ y ≡ xy (mod 9),
y por consiguiente si xy = z debemos tener Σ x · Σ y ≡ Σ z (mod 9). En el cálculo que se
tiene en el ejemplo
Σ 54 321 = 15, Σ 98 765 = 35, Σ 5 363 013 565 = 37,
y
Σ 15 = 6, Σ 35 = 8, Σ 37 = 10.
Puesto que 6 · 8 no es congruente a 10 (mod 9) se sigue que 15 · 35 no es congruente a 37
(mod 9) y que 54 321 · 98 765 no es congruente a 5 363 013 565 (mod 9). En consecuencia el
cálculo está errado. 

§ 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

Ecuación lineal de congruencia


Se trata primero de estudiar en general el problema de resolución de la ecuación en x
(17) ax ≡ b (mod m).
Es fácil ver que el problema no admite siempre solución, por ejemplo 2x ≡ 3 (mod 2) no
posee ninguna solución en Z, pues cualquiera se k ∈ Z, 2k − 3 es impar, luego no es divisible
por 2.
4. ECUACIÓN LINEAL DE CONGRUENCIA 65

Notemos además que si x0 es solución de la ecuación (17), también lo es x0 +km de manera


que si la ecuación posee una solución, posee infinitas soluciones. Para evitar la ambigüedad
de infinitas soluciones, nos limitaremos a considerar las soluciones tales que 0 ≤ x < m.

Ejemplo 4.2.1. La solución general de la ecuación 3x ≡ 7 (mod 11) es 6 + k7 con


k ∈ Z.

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. 

Analicemos ahora la situación general de la ecuación ax ≡ b (mod m). Si mcd(a, m) = 1,


entonces sabemos que existen enteros r y s tales que 1 = ra + sm y por lo tanto b =
(rb)a + (sb)m, o sea que
a(rb) ≡ b (mod m),
es decir rb es solución de la ecuación. Veremos que el caso general se hace en forma análoga
a lo anterior.

Teorema 4.2.1. Sean a, b números enteros y m un entero positivo y denotemos d =


mcd(a, m). La ecuación
(18) ax ≡ b (mod m)
admite solución si y sólo si d|b, y en este caso dada x0 una solución, todas las soluciones son
de la forma
m
x = x0 + kn, con k ∈ Z y n =
d

Demostración. Como d = mcd(a, m), existen r, s ∈ Z tales que


d = ra + sm.
Si d|b, entonces existe h ∈ Z tal que b = dh. Si multiplicamos por h la ecuación de arriba
obtenemos
dh = (rh)a + (sh)m.
Luego a(rh) ≡ a(rh) + (sh)m ≡ dh ≡ b (mod m), y por lo tanto rh es solución de la
ecuación lineal de congruencia.

Por otro lado si ax ≡ b (mod m), entonces ax − b = km para algún k, o sea


b = ax + (−k)m
de la cual se sigue que si d|a y d|m, entonces d|b y por lo tanto mcd(a, m)|b.

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).

Si mcd(a, m) = 1 es claro que la ecuación ay ≡ 0 (mod m) tiene como solución todos


los y tales que m|ay. Como m y a son coprimos, las soluciones son todos los y tal m|y, es
decir todos los múltiplos de m.

Si mcd(a, m) = d > 1, la ecuación ay ≡ 0 (mod m) tiene como solución todos los y


tales que ay = mk para algún k. Si dividimos por d, podemos decir que las soluciones son
todos los y tales que (a/d)y = (m/d)k, es decir todos los y tal que (m/d)|(a/d)y. Como
m/d y a/d son coprimos, las soluciones son todos los múltiplos de m/d.

Sean x0 y x tal que ax0 ≡ b (mod m) y ax ≡ b (mod m), entonces a(x0 − x) ≡ 0


(mod m) y por lo tanto x0 − x = kn para algún k. Es decir, cualquier x que es solución lineal
de congruencia es de la forma x0 = x + kn para algún k. 

De las demostraciones podemos obtener un método general para encontrar soluciones de


la ecuación lineal de congruencia
ax ≡ b (mod m).
con mcd(a, m)|b

a) Encontrar, usando el algoritmo de Euclides, r, s tales que


(20) d = mcd(a, m) = ra + sm.
b) Como d|b, tenemos que b = td y multiplicamos la ecuación (20) por t:
dt = (rt)a + (st)m.
c) b = dt = (rt)a + (st)m ≡ (rt)a (mod m).
Luego x0 = rt es solución de la ecuación lineal de congruencia.
d) Toda solución de la ecuación lineal de congruencia es x = x0 + k(m/d) con k ∈ Z.

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.

Demostración. Hagamos, paso a paso, el procedimiento explicado anteriormente.

(a) Usando el algoritmo de Euclides obtenemos el mcd(13, 15).


15 = 13 · 1 + 2
13 = 2 · 6 + 1
2=1·2+0
Luego 1 = mcd(13, 15). Como 1 divide a cualquier número, en este caso la ecuación tiene
solución. Del algoritmo de Euclides deducimos
1 = 13 − 2 · 6
= 13 − (15 − 13) · 6
= 13 · 7 − 15 · 6.
Es decir
(21) 1 = 13 · 7 − 15 · 6.
(b) Multiplicando la ecuación (21) por 7 obtenemos
7 = 13 · 49 − 15 · 42.
(c) Luego 13 · 49 ≡ 7 (mod 15), es decir 49 es solución de la ecuación y todas las soluciones
son de la forma x = 49 + 15k.

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.

Demostración. Como antes, hagamos paso a paso el procedimiento explicado anteri-


ormente.

(a) Usando el algoritmo de Euclides obtenemos el mcd(42, 76).


76 = 42 · 1 + 34
42 = 34 · 1 + 8
34 = 8 · 4 + 2
8=2·4
68 4. ARITMÉTICA MODULAR

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. 

§ Ejercicios Resolver las siguientes ecuaciones lineales de congruencia

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.

Lema 4.3.1. Sea p un número primo, entonces

a) p| pr , con 0 < r < p,




b) (a + b)p ≡ ap + bp (mod p).


4. TEOREMA DE FERMAT 69

Demostración.

(a) Escribamos el número binomial de otra forma:


 
p p! (p − 1)!
= =p·
r r!(p − r)! r!(p − r)!
es un número entero, digamos k, luego
(22) k · r!(p − r)! = p · (p − 1)!
Como p − 1, r y p − r son menores que p, entonces (p − 1)!, r! y (p − r)! son producto de
números menores que p y por lo tanto son producto de primos menores que p. Por lo tanto,
el primo p no aparece en la descomposición prima
p
 de (p − 1)!,
p
 r! y (p − r)!. Por la igualdad
de la ecuación (22), p debe ser factor de k = r , luego p| r .

(b) Por el teorema del binomio (teorema 2.5.1) sabemos que


p  
p
X p i p−i
(a + b) = ab .
i=0
i
Por (a) es claro que pi ai bp−i ≡ 0 (mod p), si 0 < i < p. Luego se deduce el resultado.



El siguiente es el llamado teorema de Fermat.

Teorema 4.3.2. Sea p un número primo y a número entero. Entonces


ap ≡ a (mod p).

Demostración. Supongamos que a ≥ 0, entonces hagamos inducción en a. Si a = 0,


el resultado es trivial. Supongamos el resultado probado para k, es decir k p ≡ k (mod p).
Entonces (k + 1)p ≡ k p + 1p ≡ k + 1 (mod p). La primera congruencia es debido al lema
4.3.1-(b) y la segunda es válida por hipótesis inductiva. Luego ap ≡ a (mod p) cuando a > 0.

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

El criptosistema RSA (*)


Una de las aplicaciones más elementales y difundidas de la aritmética es en el diseño de
sistemas criptográficos. El RSA es el más conocido de ellos y será presentado en esta sección.

Por criptosistema nos referimos a sistemas de encriptamiento o codificación esencialmente


pensados para proteger la confidencialidad de datos que se desean transmitir. Entre los
criptosistemas encontramos los simétricos y los de clave pública o asimétricos.

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.

Rivest, Shamir y Adleman descubrieron el primer criptosistema práctico de clave pública,


que es llamado RSA. La seguridad del RSA se basa en la dificultad de factorizar números
enteros grandes. Este sistema es el más comúnmente recomendado para uso en sistemas de
clave pública. La mayor ventaja del RSA es que puede ser usado para proveer privacidad
4. EL CRIPTOSISTEMA RSA (*) 71

y autenticación (firma digital) en las comunicaciones. Su principal desventaja es que su


implementación se basa en exponenciación de números enteros grandes, una operación que
consume recursos de la computadora, aunque esto es cada vez menos significativo.

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.

Idea del algoritmo

Supongamos que la persona B quiere enviar a la persona A un mensaje m pero encriptado


de tal forma que sólo A pueda leer su contenido. Por su parte A hace públicos dos números
e y n que son los que se utilizarán para encriptar los mensajes que le envíen.

Entonces a partir de m la persona B genera un mensaje cifrado c mediante la siguiente


operación:
c ≡ me (mod n) ,
donde e y n es la clave pública de A.

Ahora A recupera le mensaje m a partir del mensaje en clave c mediante la operación


inversa dada por
m ≡ cd (mod n) ,
donde d es la clave privada que solo A conoce.

§ Elección de claves

Dados primos distintos p y q suficientemente grandes tomamos n = pq.

• 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).

Observación 4.4.1. Algunos comentarios sobre la elección de p, q, e, d.

• 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.

§ Encriptar y desencriptar mensajes


72 4. ARITMÉTICA MODULAR

El receptor de mensajes publicita la clave pública (e, n). Obviamente no da a conocer ni


p, ni q y mantiene segura la clave privada d. Como mencionamos anteriormente, el envío del
mensaje y su decodificación requiere dos pasos

a) El emisor desea encriptar un número m ∈ {0, . . . , n − 1} y para ello calcula c ≡ me


(mod n) y envía c al receptor.
b) El receptor desea desencriptar el mensaje, es decir usando la clave pública (e, n) y c desea
recuperar m: calcula cd (mod n) y veremos a continuación que este número es m.

Proposición 4.4.1. Si m ∈ {0, . . . , n − 1} y c = me (mod n), entonces


m = cd (mod n).

Demostración. Como ed ≡ 1 (mod (p − 1)(q − 1)), entonces existe k tal que


(23) ed = 1 + k(p − 1)(q − 1).
Consideremos el mensaje m y si es o no coprimo con p.

Si mcd(m, p) = 1, el Teorema de Fermat dice que mp−1 ≡ 1 (mod p). Entonces


(mp−1 )x ≡ 1 (mod p) para cualquier x. En particular, para x = k(q − 1). Asi que ten-
emos:
mk(p−1)(q−1) = (mp−1 )k(q−1) ≡ 1 (mod p).
Multiplicando esta ecuación por m obtenemos
(24) m1+k(p−1)(q−1) ≡ m (mod p).
Usando las ecuaciones (23) y (24) obtenemos:
(25) med ≡ m (mod p)
Esto, si mcd(m, p) = 1. Pero si esto último no es cierto, entonces al ser p primo debemos
tener m ≡ 0 (mod p) y en ese caso (25) es trivial (dice que 0 ≡ 0). Con lo cual (25) es
verdadero para todo m.

Obviamente la elección u orden de p o q es arbitraria, así que (25) también es verdadera


si reemplazamos p por q. Así que tenemos:
p|(med − m) y q|(med − m).
Como p y q son primos distintos, entonces concluimos que pq|(med − m), es decir,
med ≡ m (mod pq).


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.

Busquemos ahora un e: tenemos que (p − 1)(q − 1) = 30 · 72 = 2 160. Vemos que 2, 3,


5 dividen a 2 160, pero 7 es coprimo con 2 160. Tomemos entonces e = 7.

Usando el algoritmo de Euclides obtenemos 1 = 2 · 2 160 + (−617) · 7. Luego, podemos


tomar d = 2 160 − 617 = 1 543.
4. EL CRIPTOSISTEMA RSA (*) 73

Por lo tanto el receptor tiene clave pública (7, 2 263) y conserva en secreto su clave privada
1 543

- Supongamos que el emisor ha nacido en el año 1993 y quiere enviarle en secreto al


receptor su año de nacimiento. Entonces encripta el año haciendo
1 9937 ≡ 1 417 (mod 2 160),
y envía, por una vía insegura, por ejemplo un email, el número 1 417 al receptor.

- 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).

Lo interesante de esto es que si el receptor envía m (el mensaje) y b (la codificación de


m), cualquiera puede comprobar que el mensaje ha sido codificado por el receptor (y no por
otra persona) verificando que m ≡ 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 .

a) La persona B desea enviar un mensaje m (en forma segura) a la persona A y quiere


certificar que el mensaje fue enviado por él.
0
b) B calcula x ≡ md (mod n0 ). Es decir encripta su mensaje usando su clave privada.
c) Ahora B codifica m y x con la clave pública de A, es decir calcula c ≡ me (mod n) e
y ≡ xe (mod n).
d) B envía c e y al receptor A.
e) La persona A recupera m y x calculando m ≡ cd (mod n) y x ≡ y d (mod n).
74 4. ARITMÉTICA MODULAR

f) A comprueba que el mensaje proviene de B o, mejor dicho, proviene de la persona con


0
clave pública (e0 , n0 ), verificando que m ≡ xe (mod n0 ).

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

Grafos y sus Representaciones


Los objetos a los cuales llamaremos grafos son muy útiles en matemática discreta. Su
nombre se deriva del hecho de que pueden ser entendidos con una notación gráfica (o pictórica),
y en este aspecto solamente se parecen a los familiares gráficos de funciones que son estudiados
en matemática elemental. Pero nuestros grafos son bastante diferentes de los gráficos de
funciones y están más relacionados con objetos que en el lenguaje diario llamamos “redes”
(networks).

Usaremos la siguiente definición en lo que sigue: dado un conjunto X un 2-subconjunto


es un subconjunto de X de dos elementos.

Definición 5.1.1. Un grafo G consiste de un conjunto finito V , cuyos miembros son


llamados vértices, y un conjunto de 2-subconjuntos de V , cuyos miembros son llamados aristas.
Nosotros usualmente escribiremos G = (V, E) y diremos que V es el conjunto de vértices y
E es el conjunto de aristas.

La restricción a un conjunto finito no es esencial, pero es conveniente para nosotros debido


a que no consideraremos “grafos” infinitos en este apunte.

Un ejemplo típico de un grafo G = (V, E) es dado por los conjuntos


(26) V = {a, b, c, d, z}, E = {{a, b}, {a, d}, {b, z}, {c, d}, {d, z}}.
Este ejemplo y la definición misma no son demasiado esclarecedores, y solamente cuando
consideramos la representación pictórica de un grafo es cuando se hace la luz.
75
76 5. GRAFOS

z b

d c

Figura 1. Una representación pictórica del grafo definido en (26).

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

Figura 2. La fiesta de Abril

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. 

Aunque la representación pictórica es intuitivamente atractiva para los seres humanos,


es claramente inútil cuando deseamos comunicarnos con una computadora. Para lograr esto
debemos representar el grafo mediante cierta clase de lista o tabla. Diremos que dos vértices
x e y de un grafo son adyacentes cuando {x, y} es una arista. (o también diremos que x e y
son vecinos). Entonces podemos representar un grafo G = (V, E) por su lista de adyacencia,
donde cada vértice v encabeza una lista de aquellos vértices que son adyacentes a v. El grafo
de Fig. 1 tiene la siguiente lista de adyacencia:

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.

Antes de definir isomorfismo de grafos repasaremos el concepto de función o aplicación


biyectiva. Dado dos conjuntos X, Y diremos que una aplicación f : X → Y es biyectiva
si para cada y ∈ Y existe un único x ∈ X tal que f (x) = y. Un propiedad importante,
de las funciones biyectivas es que f es biyectiva si y sólo sí f tiene inversa, es decir existe
f −1 : Y → X, tal que f (f −1 (y)) = y, ∀ y ∈ Y y f −1 (f (x)) = x, ∀ x ∈ X.
Ejemplo 5.2.1. La función
f : {1, 2, 3} → {a, b, c} definida f (1) = c, f (2) = b, f (3) = a
es biyectiva y su inversa es
f −1 (a) = 3, f −1 (b) = 2, f −1 (c) = 1.
También es biyectiva la aplicación
g : {x, y} × {u, w, z} → {1, 2, 3, 4, 5, 6} definida
g(x, u) = 1, g(x, w) = 2, g(x, z) = 3, g(y, u) = 4, g(y, w) = 5, g(y, z) = 6.
Definición 5.2.1. Dos grafos G1 y G2 se dicen que son isomorfos cuando existe una
biyección α entre el conjunto de vértices de G1 y el conjunto de vértices de G2 tal que si
{x, y} es una arista de G1 entonces {α(x), α(y)} es una arista de G2 y recíprocamente si
{z, w} es una arista de G2 entonces {α−1 (z), α−1 (w)} es una arista de G1 . La biyección α
es llamada un isomorfismo.

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

Figura 3. G1 y G2 son isomorfos

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

Figura 4. G1 y G2 no son isomorfos

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 .

Es claro, pero no lo demostraremos aquí, que un isomorfismo lleva un subgrafo a un


subgrafo isomorfo. Este resultado es una herramienta que puede ser útil para ver si dos grafos
no son isomorfos.
80 5. GRAFOS

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

Figura 5. Probar que estos grafos no son isomorfos

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

Demostración. La valencia de un vértice v indica la cantidad de “extremos” de aristas


que “tocan” a v. Es claro que hay 2|E| extremos de aristas, luego la suma total de las valencias
de los vértices es 2|E|. 

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:

Teorema 5.3.2. El número de vértices impares es par.

Este resultado es a veces llamado el “handshaking lemma” (handshake=estrechar la mano,


darse la mano), debido a que se puede interpretar en términos de gente y darse la mano: dado
un conjunto de personas, el número de personas que le ha dado la mano a un número impar
de miembros del conjunto es par.

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.

Una aplicación importante de la noción de valencia es en el problema de determinar si dos


grafos son o no isomorfos. Si α : V1 → V2 es un isomorfismo entre G1 y G2 , y α(v) = w,
entonces cada arista que contiene a v se transforma en una arista que contiene a w. En
82 5. GRAFOS

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.

Una extensión de esta idea se da en la siguiente proposición.

Proposición 5.3.3. Sean G1 y G2 grafos isomorfos. Para cada k ≥ 0 sea ni (k) el


número de vértices de Gi que tienen valencia k (i = 1, 2). Entonces n1 (k) = n2 (k).

Demostración. Hemos visto más arriba que si α : V1 → V2 es un isomorfismo entre


G1 y G2 y v ∈ V1 , entonces δ(v) = δ(α(v)). Luego la cantidad de vértices con valencia k en
G1 es igual a la cantidad de vértices con valencia k en G2 . 

Ejemplo 5.3.1. Revisemos los grafos de la Fig. 4 y la Fig. 5 de la sección anterior.

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.

2) Si G = (V, E) es un grafo, el complemento Gc de G es el grafo cuyo conjunto de vértices


es V y cuyas aristas unen aquellos vértices que no son unidos por G. Si G tiene n vértices
y sus valencias son d1 , d2 , . . . , dn , ¿cuáles son las valencias de Gc ?
3) Encuentrar todos los grafos posibles (no isomorfos) que pueda, que sean regulares, 4-
valentes y con 7 vértices. [Ayuda: considere el complemento de esos grafos.]
4) Probar que si G es un grafo con al menos dos vértices, entonces G tiene dos vértices con
la misma valencia.
5. CAMINOS Y CICLOS 83

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.

Definición 5.4.1. Una caminata en un grafo G es una secuencia de vértices


v1 , v2 , . . . , vk ,
tal que vi y vi+1 son adyacentes (1 ≤ i ≤ k − 1). Si todos los vértices son distintos, una
caminata es llamada un camino.

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.

Escribamos x ∼ y siempre y cuando los vértices x e y de G puedan ser unidos por un


camino en G: hablando en forma rigurosa, esto significa que hay un camino v1 , v2 , . . . , vk en
G con x = v1 e y = vk .

Lema 5.4.1. Sea G un grafo. x ∼ y si y sólo si x e y pueden ser unidos por una caminata

Demostración. Es claro que si x e y están unidos por un camino, como un camino es


un caso especial de caminata, x e y están 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

Figura 6. Un grafo con dos componentes

una caminata, más corta, entre x e y. Podemos repetir este procedimiento hasta eliminar
todos los “bucles” y obtener un camino. 

Debido a este lema es sencillo verificar la siguientes propiedades: sea G y x, y, z vértices


de G, entonces

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.

La terminología casi explica por si misma el significado de estas definiciones. El grafo


mostrado en la Fig. 6 tiene dos componentes, y por consiguiente no es conexo. La descom-
posición de un grafo en componentes es muy útil, puesto que muchas propiedades de los
grafos pueden ser establecidas considerando las componentes separadamente. Por esta razón,
teoremas acerca de grafos a menudo son probados solo para la clase de grafos conexos.

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.

Sin embargo, Juan está en un apuro. Llamemos x al punto de partida y llamemos y al


punto de llegada, y supongamos por el momento que x 6= y. Entonces él usa una arista con
extremo en x para partir y cada vez que vuelve a x debe arribar y partir por nuevas aristas.
Luego, usa un número impar de aristas con extremo en x, y por consiguiente x debe ser un
vértice impar. De manera análoga, y debe ser también un vértice impar, puesto que Juan usa
dos aristas cada vez que pasa por y, y una más al finalizar en y. Los restantes vértices deben
ser pares, puesto que cada vez que Juan llega a un vértice intermedio parte de nuevo, y por
consiguiente usa dos aristas.

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

Figura 7. El gran tour


86 5. GRAFOS

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.

Resumiendo las definiciones de más arriba:

Definición 5.4.3. Un ciclo hamiltoniano en un grafo G es un ciclo que contiene a todos


los vértices del grafo.

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.

El siguiente teorema resume los resultados sobre caminatas eulerianas. La demostración


no es demasiada complicada, pero excede los alcances de este curso.

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

Figura 8. El gran tour, reducido

(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

Existen muchas posibles caminatas eulerianas de p a r, por ejemplo le proponemos que


encuentre una cuya primera arista sea {p, t}.

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

a) todos los vértices son de valencia par, o bien


b) solo hay dos vértices de valencia impar.

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

1) Encontrar el número de componentes de el grafo cuya lista de adyacencia es


a b c d e f g h i j
f c b h c a b d a a
i g e g i c f f
j g j e
2) ¿Cuántas componentes conexas tiene el grafo de la fiesta de Abril (sección 5.1)?
3) Encontrar un ciclo hamiltoniano en el grafo formado por los vértices y aristas de un cubo.
4) El año que viene el Leandro y Juan desean visitar otra isla, donde los lugares interesantes
y las caminos que los unen están representados por el grafo que tiene la siguiente lista de
adyacencia
0 1 2 3 4 5 6 7 8
1 0 1 0 3 0 1 0 1
3 2 3 2 5 4 5 2 3
5 6 7 4 6 7 6 5
7 8 8 8 8 7.
¿Es posible encontrar rutas para Leandro y Juan que satisfagan lo pedido en el ejemplo
5.4.1?
5) Un ratón intenta comer un 3 · 3 · 3 cubo de queso. Él comienza en una esquina y come un
subcubo de 1 · 1 · 1, para luego pasar a un subcubo adyacente. ¿Podrá el ratón terminar
de comer el queso en el centro?

SECCIÓN 5.5

Árboles
Definición 5.5.1. Diremos que un grafo T es un árbol si cumple

T1) T es conexo y no hay ciclos en T .

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.

Figura 9. Algunos árboles


5. ÁRBOLES 89

El siguiente lema nos resultará útil para probar una parte del teorema fundamental de esta
sección.

Lema 5.5.1. Sea G = (V, E) un grafo conexo, entonces |E| ≥ |V | − 1.

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.

(T1 ⇒ T2) Puesto que T es conexo, existe un camino de x a y, digamos


x = v0 , v1 , . . . , vr = y.
Si existiera otro camino, digamos
x = u0 , u1 , . . . , us = y,
consideremos i el más pequeño subíndice para el cual se cumple que ui+1 6= vi+1 Fig. 10.

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

Figura 10. Dos caminos diferentes determinan un ciclo

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 .

Cada vértice en V1 se une por un camino en S a u, y cada vértice en V2 se une por un


camino en S a v, pero no existe camino de u a v en S. Se sigue entonces que V1 y V2 son las
dos componentes del conjunto de vértices de S. Cada componente es conexa (por definición),
y no contiene ciclos, pues sino habría ciclos en T . Es decir que las dos componentes son
árboles.

(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

y eso nos garantizaría la equivalencia entre P , Q y R. Si embargo, podemos ahorrar trabajo


demostrando solamente
P ⇒ Q, Q ⇒ R, R ⇒ P,
pues si queremos probar, por ejemplo P ⇔ Q, esto es equivalente a probar P ⇒ Q, ya sabido
por hipótesis, y Q ⇒ P , que se deduce de Q ⇒ R, R ⇒ P y la propiedad transitiva de ⇒.

Para el caso de cuatro proposiciones P1 , P2 , P3 , P4 la economía de demostraciones es aún


más drástica: para probar todas las equivalencias posibles de cuatro afirmaciones hacen falta
12 demostraciones (seis de ida y seis vuelta), pero alcanza haciendo sólo 4 demostraciones:
P1 ⇒ P2 , P2 ⇒ P3 , P 3 ⇒ P4 , P4 ⇒ P1 .

§ 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

Coloreando los vértices de un grafo


Un problema que se nos presenta frecuentemente en la vida moderna es aquel de confec-
cionar un horario para un conjunto de eventos de tal manera de evitar interferencias. Consid-
eremos ahora un caso muy simple, que nos servirá de ejemplo para mostrar como la teoría de
grafos puede ayudar al estudio de este problema.

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.

Un horario el cual cumple con la condición de evitar interferencias es el siguiente:


Hora 1 Hora 2 Hora 3 Hora 4
v1 y v3 v2 y v4 v5 v6
En términos matemáticos, tenemos una partición del conjuntos de vértices en cuatro partes,
con la propiedad que ninguna parte contiene un par de vértices adyacentes del grafo. Un
92 5. GRAFOS

v1 v2

v6 v3

v5 v4

Figura 11. El grafo para un problema de horarios

descripción más gráfica utiliza la función


c : {v1 , v2 , v3 , v4 , v5 , v6 } → {1, 2, 3, 4}
la cual asigna cada vértice (curso) a la hora que le corresponde. Usualmente, nosotros hablamos
de colores asignados a los vértices, en vez de horas, pero claramente la naturaleza exacta de
los objetos 1, 2, 3, 4 no es importante. Podemos usar el nombre de colores reales, rojo, verde,
azul , amarillo, o podemos hablar del color 1, color 2, etc. Lo importante es que los vértices
que son adyacentes en el grafo deben tener diferentes colores.
Definición 5.6.1. Una coloración de vértices de un grafo G = (V, E) es una función
c : V → N con la siguiente propiedad:
c(x) 6= c(y) si {x, y} ∈ E.
El número cromático de G, denotado χ(G), se define como el mínimo entero k para el cual
existe una coloración de vértices de G usando k-colores. En otra palabras, χ(G) = k si y sólo
si existe una coloración de vértices c la cual es una función de V a Nk , y k es el mínimo entero
con esta propiedad.

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:

a) encontrar una coloración de vértices usando k colores;


b) probar que ninguna coloración de vértices usa menos de k colores.

§ Ejercicios
5. EL ALGORITMO GREEDY PARA COLORACIÓN DE VÉRTICES 93

1) Encontrar el número cromático de los siguientes grafos:


a) un grafo completo Kn ;
b) un grafo cíclico C2r con un número par de vértices;
c) un grafo cíclico C2r+1 con un número impar de vértices.
2) Determinar los números cromáticos de los grafos descritos en la Fig. 12.

Figura 12. Encontrar el número cromático

3) Describir todos los grafos G tales que χ(G) = 1.

SECCIÓN 5.7

El algoritmo greedy para coloración


de vértices
Es bastante difícil encontrar el número cromático de un grafo dado. En realidad, no se
conoce ningún algoritmo para este problema que trabaje en “tiempo polinomial”, y la mayoría
de la gente cree que tal algoritmo no existe. Sin embargo hay un método simple de hacer una
coloración cromática usando un “razonable” número de colores.

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).

El algoritmo greedy para coloración de vértices es fácil de programar. Supóngase que


hemos dado a los vértices algún orden v1 , v2 , . . . , vn . Asignemos el color 1 a v1 ; para cada vi
(2 ≤ i ≤ n) formamos el conjunto S de colores asignados a los vértices vj (1 ≤ j < i) que
son adyacentes a vi , y le damos a vi el primer color que no está en S. (En la práctica, pueden
ser usados métodos más sofisticados de manejar los datos.)
94 5. GRAFOS

Algoritmo greedy para coloración de vértices


# pre: 1,...,n los vértices de un grafo G
# post: devuelve v[1],...,v[n] una coloración de G
v[1] = 1 # asignamos el color 1 al vértice 1
for i = 2 to n:
S = [] # S conjunto de colores asignados a los vértices j
# (1 <= j <i) que son adyacentes a i (comienza vacío)
for j = 1 to i-1:
if j es adyacente a i:
S.append(v[j]) # agrega el color de j a S
k=1
while k in S:
k = k+1
v[i] = k # Asigna el color k a i, donde k es el primer color que
# no esta en S.
Debido a que la estrategia greedy es corta de vista, el número de colores que usará será
normalmente más grande que le mínimo posible. Por ejemplo, el algoritmo greedy aplicado
en el grafo de Fig. 11 da precisamente le coloración de vértices con cuatro colores que fue
propuesta anteriormente, luego encontramos otra coloración con tres colores. Por supuesto
todo depende del orden que se elige inicialmente para los vértices. Es bastante fácil ver que
si se elige el orden correcto, entonces el algoritmo greedy nos da la mejor coloración posible
(ejercicio 5.7-(2)). Pero hay n! órdenes posibles, y si tuviéramos que controlar cada uno de
ellos, el algoritmo requeriría “tiempo exponencial”.

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.

Teorema 5.7.1. Si G es un grafo con valencia máxima k, entonces

a) χ(G) ≤ k + 1,
b) Si G es conexo y no regular , χ(G) ≤ k.

Demostración.

(a) Sea v1 , v2 , . . . , vn un ordenamiento de los vértices de G. Cada vértice tiene a lo más k


vecinos, y por consiguiente el conjunto S de los colores asignados por el algoritmo greedy
a los vértices vj que son adyacentes a vi (1 ≤ j < i) tiene como máximo cardinal k. Por
consiguiente al menos uno de los colores 1, 2, . . . , k + 1 no está en S, y el algoritmo greedy
asigna entonces el primero de estos a vi .

(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

Figura 13. El cubo es un grafo bipartito

Teorema 5.7.2. Un grafo es bipartito si y sólo si no contiene ciclos de longitud impar.

Demostración. Si hay un ciclo de longitud impar, entonces se requieren tres colores,


solamente para colorear este ciclo, y el número cromático del grafo es por ende al menos tres.
Luego si el grafo es bipartito, no puede tener ciclos de longitud impar.

Recíprocamente, supongamos que G es un grafo sin ciclos de longitud impar. Constru-


iremos un orden de G para el cual el algoritmo greedy producirá una coloración de vértices
con dos colores. Elijamos cualquier vértice y llamémoslo v1 ; diremos que v1 esta en el nivel
0. A continuación, listemos la lista de vecinos de v1 (excepto v1 ), llamémoslos v2 , v3 , . . . , vr ;
diremos que estos vértices están en el nivel 2. Continuando de esta manera, definimos el
nivel l como todos aquellos vértices adyacentes a los del nivel l − 1, exceptuando aquellos
previamente listados en el nivel l − 2. Cuando ningún nuevo vértice puede ser agregado de
esta forma, obtenemos la componente G0 de G (si G es conexo G0 = G).

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

Figura 14. Vértices adyacentes en el mismo nivel inducen un ciclo impar

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

sucesión d1 , d2 , . . . , dn es gráfica y d1 ≥ d2 ≥ · · · ≥ dn entonces


Xn
d1 + d2 + · · · + dn ≤ k(k − 1) + min(k, di )
i=k+1
para 1 ≤ k ≤ n.
18) Sea G = (V, E) un grafo con al menos tres vértices tal que
1
δ(v) ≥ |V |; v ∈ V.
2
Probar que G tiene un ciclo hamiltoniano.
19) Probar que si G̃ es el complemento del grafo G, entonces χ(G)χ(G̃) ≤ n, donde n es el
número de vértices de G.
6 Árboles (*)

SECCIÓN 6.1

Contando las hojas de un árbol con


raíz
Recordemos que un árbol es un grafo conexo que no contiene ciclos. Los árboles aparecen
en contextos diferentes y a menudo un vértice del árbol se distingue de los otros. Por ejemplo
en el árbol genealógico que describe la descendencia de un rey, nosotros podemos enfatizar la
posición especial del rey poniéndolo en lo más alto del árbol. En general, nosotros llamaremos
al vértice notable la raíz del árbol, y a un árbol con una raíz específica lo llamaremos árbol con
raíz. (Esta terminología, aunque estándar, tiene el defecto que en la representación pictórica
la raíz aparece en lo más alto del árbol y el árbol ’crece’ hacia abajo.)

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.

Un vértice en un árbol con raíz se llama una hoja si pertenece al nivel i (i ≥ 0) y no es


adyacente a ningún vértice del nivel i + 1. Un vértice que no es una hoja es llamado interno.
La altura de un árbol con raíz es el máximo valor de k para el cual el nivel k es no vacío.
Luego el árbol de la Fig. 1 tiene seis hojas, cuatro vértices internos y su altura es tres.

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

Figura 1. Un árbol con raíz y sus niveles

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.

Demostración. Puesto que


h ≥ logm l ⇔ mh ≥ l
es suficiente probar la afirmación equivalente: todo árbol con raíz m-ario de altura h tiene a
lo más mh hojas. La demostración es por inducción sobre h.

Claramente la afirmación es verdadera cuando h = 0 puesto que en este caso el árbol es


solo un vértice (la raíz) que es una hoja. Supongamos que la afirmación es verdadera cuando
0 ≤ h ≤ h0 y sea T un árbol con raíz m-ario de altura h0 + 1. Si eliminamos la raíz y las
aristas a las cuales pertenece obtenemos m árboles T1 , . . . , Tm cuyas raíces son los vértices
del nivel 1 de T . Cada Ti es un árbol con raíz de altura h0 o menos, luego por hipótesis
inductiva tiene a lo más mh0 hojas. Pero las hojas de T son precisamente las hojas de los
árboles T1 , . . . , Tm y por consiguiente el número de hojas es a lo más m · mh0 = mh0 +1 .

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

implica que h ≥ 3. En general podemos decir que


h ≥ dlogm le,
donde dxe denota el menor entero z tal que z ≥ x.

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.

Demostración. Hay 2r + 1 posibles resultados finales u hojas en el árbol de decisión:


B, 1P, 1L, . . . , rP, rL;
donde B significa que todas las monedas son buenas, iL significa que la moneda i es más
liviana y iP que es más pesada. El árbol de decisión es ternario, puesto que hay tres posibles
resultados de cada decisión (es decir de cada pesada entre un grupo de monedas y otro). Estos
son:

< : el grupo de la izquierda es más liviano


= : los dos grupos pesan igual
> : el grupo de la izquierda es más pesado.
Por consiguiente la altura del árbol de decisión es al menos dlog3 (2r + 1)e.

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

2|3 0|4 2|3

3H 1L 2H 4H G 4L 2L 1H 3L

Figura 2. Solución del problema de la moneda falsa cuando r = 4

los ejemplos para cada caso.


h: 1 2 3 4
n5 (h) : 1 4 3 1
2) Si se consideran los árboles comunes (sin raíz), ¿cuál es el número de árboles no isomorfos
con 5 vértices? Hacer una lista y controlar que la lista del ejercicio anterior sea completa.
3) Construir dos árboles con raíz no isomorfos ambos con 12 vértices, 6 hojas y altura 4.
4) Suponer que se organiza un campeonato de fútbol-5 donde participan 20 equipos. El cam-
peonato es por eliminación simple y no hay empates. Construir un esquema para el torneo
basado en un árbol con raíz y pruebar que son necesarias al menos 5 rondas.
5) ¿Cuál es la cota inferior en el número de pesadas necesarias en el problema de la moneda
falsa (ver el ejemplo 6.1.1) cuando son seis monedas? Desarrollar un esquema que logre
este número de pesadas.
6) Considerar la siguiente variante del problema de la moneda falsa. Hay ocho monedas y
sabemos que hay exactamente una que es más liviana. Todas las demás son genuinas pero
no hay ninguna moneda con la etiqueta 0. Encontrar una cota inferior teórica del número
de pesadas necesarias para detectar la moneda falsa y probar que este número puede ser
alcanzado.

SECCIÓN 6.2

Árboles expandidos y el problema


MST
Supongamos que G = (V, E) es un grafo conexo y que T es un subconjunto de E tal que

a) cada vértice de G pertenece a una arista en T ;


b) las aristas de T forman un árbol.

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

Figura 3. Un grafo y uno de sus árboles expandidos

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

Figura 4. Un árbol expandido mínimo

El algoritmo puede ser descripto informalmente en los siguientes pasos:

• Inicializar un árbol con un sólo vértice (elegido arbitrariamente).


• Agrandar el árbol agregando una arista: entre las aristas que conectan al árbol con
vértices que aún no están en el árbol, elegir una de peso mínimo.
• Repetir el paso anterior hasta que todos los vértices estén en el árbol

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.

Teorema 6.2.1. Sea G = (V, E) grafo conexo con función de pesos w : E → N, y


supongamos que T es el árbol expandido para G construido por el algoritmo greedy. Entonces
w(T ) ≤ w(U )
para todo árbol expandido U de G.

Demostración. Denotemos e1 , e2 , . . . , en−1 las aristas de T en el orden en que apli-


camos el algoritmo greedy. Si U = T el resultado es obviamente verdadero. Si U 6= T
entonces hay aristas de T que no están en U y supongamos que la primera es ek . Denotemos
6. ÁRBOLES EXPANDIDOS Y EL PROBLEMA MST 105

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 .

El resultado de remover e∗ de U y reemplazarla por e1 es un árbol expandido U1 , para el


cual
w(U1 ) = w(U ) − w(e∗ ) + w(ek ) ≤ w(U ).
Más aún, la primera arista de T que no está en U1 aparece después de ek en el orden dado. En
consecuencia podemos repetir el procedimiento obteniendo una sucesión de árboles expandidos
U1 , U2 , . . . , con la propiedad que cada uno tiene una secuencia inicial de aristas en común con
las aristas de T más larga que el anterior y además w(Ui ) ≥ w(Ui+1 ). El proceso termina
cuando obtenemos un árbol expandido Ur igual a T y tenemos
w(T ) = w(Ur ) ≤ w(Ur−1 ) ≤ · · · ≤ w(U1 ) ≤ w(U ),
como queríamos demostrar. 

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

progreso del algoritmo por medio de una tabla de tres columnas.


I II III
x y w(xy)
. . .
. . .
. . .

La Columna I lista los vértices que no están en S, que es el conjunto de vértices ya


conectados al árbol parcial. Para cada x en la Columna I la correspondiente entrada y en la
Columna II es un vértice en S tal que la arista xy es una de las aristas más baratas que unen
el vértice x con alguno de S. La Columna III contiene el valor w(xy).

En el i-ésimo paso de la construcción tenemos que |S| = i y hay n − i vértices en la


Columna I. Tenemos entonces que seleccionar una de las entradas más pequeñas de la Columna
III, digamos w(x0 y0 ), y esto conlleva n − i − 1 comparaciones. Ahora debemos actualizar la
tabla debido a que agregamos x0 a S por medio de la arista x0 y0 . Primero debemos borrar
la fila cuya primera posición tiene a x0 . Después en cada fila debemos verificar si la entrada
correspondiente a la Columna II puede ser reemplazada por x0 o no. Es decir para la fila
”x y w(xy)” debemos verificar si xx0 es arista y si lo fuera y además w(xx0 ) < w(xy),
entonces debemos reemplazar y por x0 . Esto agrega otras n − i − 1 comparaciones. El número
total de comparaciones requeridas es
n−1
X
2(n − i − 1) = (n − 1)(n − 2).
i=1
Esto nos dice que para encontrar un MST de un grafo deben hacerse alrededor de n2 opera-
ciones.

§ 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

Figura 5. Encontrar el MST


6. EJERCICIOS 107

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

En la práctica, usualmente asignamos alguna interpretación concreta a un elemento de


Sn . Como vimos en la sección 2.3, podemos usar la interpretación “selecciones ordenadas
sin repetición” donde, en este caso seleccionamos los elementos de {1, 2, 3, . . . , n} en algún
orden hasta que no queda ninguno. Una interpretación relacionada es que una permutación
efectúa un reacomodamiento de {1, 2, 3, . . . , n}; por ejemplo, la permutación α vista más
arriba efectúa el reacomodamiento de 12 345, en 24 513, así:
1 2 3 4 5
↓ ↓ ↓ ↓ ↓
2 4 5 1 3
En algunas circunstancias es conveniente mirar una permutación y el correspondiente reaco-
modamiento como la misma cosa, pero esto puede traer dificultades si debemos considerar

109
110 A. PERMUTACIONES

sucesivos reacomodamientos. Es importante tener en cuenta que


una permutación es una función con ciertas características.

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

Existen cuatro características de la composición de permutaciones de gran importancia, y


están listadas en el próximo teorema.

Teorema A.1.1. Las siguientes propiedades valen en el conjunto Sn de todas las per-
mutaciones de {1, 2, 3, ..., n}.

a) Si π y σ pertenecen a Sn , entonces πσ también.


b) Para cualesquiera permutaciones π, σ, τ en Sn ,
(πσ)τ = π(στ ).
c) La función identidad, denotada por id y definida por id(r) = r para todo r en Nn , es una
permutación y para cualquier σ en Sn , tenemos
id σ = σ id = σ.
d) Para toda permutación π en Sn hay una permutación inversa π −1 en Sn tal que
ππ −1 = π −1 π = id .

Demostración. Todas las afirmaciones se deducen de propiedades conocidas de fun-


ciones en general y funciones biyectivas en particular. Por otro lado, es fácil convencerse de la
validez de las mismas mirando las permutaciones como reacomodamiento de elementos. 

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:

• comencemos con algún símbolo (digamos el 1) y veamos el efecto de π sobre él y sus


sucesores hasta que alcancemos el 1 nuevamente;
• elijamos un símbolo que todavía no haya aparecido y construyamos el ciclo que se
deriva de él;
• repitamos el procedimiento hasta que se terminen los símbolos.

Por ejemplo, la permutación β definida antes tiene la notación cíclica


β = (1 3)(2 5)(4),
donde observamos que el símbolo 4 forma un ciclo “degenerado” por sí solo, puesto que
β(4) = 4. En algunas ocasiones podemos omitir estos ciclos de longitud 1 cuando escribimos
una permutación en notación cíclica, puesto que corresponden a símbolos que no son afectados
por la permutación. Sin embargo, usualmente es útil no adoptar esta convención hasta que
uno se familiariza con la notación.

Aunque la representación de una permutación en notación cíclica es esencialmente única,


hay dos manera obvias en las que podemos cambiar la notación sin alterar la permutación.
Primero, cada ciclo puede empezar en cualquiera de sus símbolos; por ejemplo (7 8 2 1 3) y
(1 2 7 8 2) describen el mismo ciclo. Segundo, el orden de los ciclos no es importante; por
ejemplo (1 2 4)(3 5) y (3 5)(1 2 4) denotan la misma permutación. Pero las características
importantes son el número de ciclos, la longitud del ciclo, y la disposición de los símbolos
dentro de los ciclos, y éstas están determinadas de manera única. Por eso, la rotación cíclica
nos dice bastantes cosas útiles sobre una permutación.

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?

Demostración. Sea π la permutación que efectúa el reordenamiento; esto es π(i) = j


si la carta j aparece en la posición previamente ocupada por la carta i. Trabajando con la
notación cíclica para π encontramos que
π = (1)(2 5 6 10 4)(3 9 11 8 7)(12).
112 A. PERMUTACIONES

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

3) Resolver el problema presentado en el ejemplo A.1.1 cuando hay 20 cartas acomodadas en


5 filas de 4.
4) Probar que hay exactamente tres elementos de S4 que tienen dos ciclos de longitud 2,
escritos en la notación cíclica.
5) Sea K el subconjunto de S4 que contiene la identidad y las tres permutaciones descritas en el
ejercicio previo. Escribir la “tabla de multiplicación” para K, interpretando la multiplicación
como la composición de permutaciones.
6) Calcular en número total de permutaciones σ de [[1, 6]] que satisfacen σ 2 = id y σ 6= id.
7) Sean α y β permutaciones de [[1, 9]] cuyas representaciones en la notación cíclica son:
α = (1237)(49)(58)(6), β = (135)(246)(789).
Escribir en notación cíclica αβ, βα, α2 , β 2 , α−1 , β −1 .
8) Sea X1 = {0, 1}, y para i ≥ 2 definamos Xi como el conjunto de subconjuntos de Xi−1 .
Encontrar el valor más pequeño para el cual |Xi | > 10100 .
9) Por cada entero i en el rango 1 ≤ i ≤ n − 1 definimos τi como la permutación de [[1, n]]
que intercambia i e i + 1 y no afecta los otros elementos. Explícitamente
τi = (1)(2) · · · (i − 1)(i i + 1)(i + 2) · · · (n).
Probar que toda permutación de [[1, n]] puede ser expresada en términos de τ1 , τ2 , . . . , τn−1 .
10) Una permutación de [[1, n]] que tenga solo un ciclo (necesariamente de longitud n) es
llamada cíclica . Probar que hay (n − 1)! permutaciones cíclicas de [[1, n]].
11) Un mazo de 52 cartas es dividido en dos partes iguales y luego se alternan las cartas de
una y otra parte. Es decir si la numeración original era 1, 2, 3, . . . , 54, el nuevo orden es
1, 27, 2, 28, . . .¿Cuántas veces se debe repetir este procedimiento para obtener de nuevo el
mazo original?
B El principio del tamiz

SECCIÓN B.1

El principio del tamiz


El principio más básico del conteo (proposición 2.1.1) dice que |A ∪ B| es la suma de |A|
y |B|, cuando A y B son conjuntos disjuntos. 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|:
|A ∪ B| = |A| + |B| − |A ∩ B|.

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.

Teorema B.1.1. Si A1 , A2 , . . . , An son conjuntos finitos, entonces


|A1 ∪ A2 ∪ . . . ∪ An | = α1 − α2 + α3 + · · · + (−1)n αn ,
donde αi es la suma de los cardinales de las intersecciones de los conjuntos tomados de a i
por vez (1 ≤ i ≤ n).
113
114 B. 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


x al lado derecho de la igualdad es


     
k k k−1 k
− + · · · + (−1) ,
1 2 k
porque los términos con i > k dan cero.

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?

Demostración. Con V , P y F denotaremos los conjuntos de estudiantes que saben


tocar el violín, el piano y la flauta respectivamente. Usando la información dada tenemos que
α1 = |P | + |V | + |F | = 52 + 25 + 20 = 97
α2 = |P ∩ V | + |V ∩ F | + |P ∩ F | = 17 + 7 + 12 = 36
α3 = |P ∩ V ∩ F | = 1.
Por consiguiente, el número de estudiantes que o pertenecen a ninguno de los tres conjuntos
P , V y F es
73 − 97 + 36 − 1 = 11.

Ejemplo B.1.2. Una secretaria ineficiente tiene n cartas distintas y n sobres con di-
recciones ¿De cuántas maneras puede ella arreglárselas para meter cada carta en un sobre
equivocado? (Esto es comúnmente llamado el problema del desarreglo del cual hay varias
formulaciones pintorescas.)

Demostración. Podemos considerar cada carta y su correspondiente sobre como si


estuvieran etiquetadas con un entero i en el rango 1 ≤ i ≤ n. El acto de poner las cartas en
los sobres puede describirse como una permutación π de Nn : π(i) = j si la carta i va en el
B. EL PRINCIPIO DEL TAMIZ 115

sobre j. Necesitamos saber el número de desarreglos, esto es, las permutaciones π tales que
π(i) 6= i para todo i en Nn .

Denotemos Ai (1 ≤ i ≤ n) el subconjunto de Sn (el conjunto de permutaciones de Nn )


que contiene aquellos π tales que π(i) = i. Diremos que los elementos de Ai fijan i. Por el
principio del tamiz, el número de desarreglos es
dn = n! − α1 + α2 − · · · + (−1)n αn ,
donde αr es la suma de los cardinales de las intersecciones de los Ai tomando r por vez. En
otras palabras, αr es el número de permutaciones que fijan r símbolos dados, tomando todas
las maneras de elegir los r símbolos. Ahora hay nr maneras de elegir r símbolos, y el número
de permutaciones que los fijan es solo el número de permutaciones de los restantes n − r
símbolos, que es (n − r)! Por lo tanto
   
n n! 1 1 n 1
αr = · (n − r)! = , dn = n! 1 − + − · · · + (−1) .
r r! 1! 2! n!


§ 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.

El teorema se refiere a las propiedades de divisibilidad de los enteros. Recordemos que


dos enteros x e y son coprimos si el mcd(x, y) = 1. Por cada n ≥ 1 sea φ(n) el número de
enteros x en el rango 1 ≤ x ≤ n tal que x y n son coprimos. Podemos calcular los primeros
valores de φ(n) haciendo una tabla (tabla 1).

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.

Debemos demostrar que la suma es siempre igual al entero n dado.

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.

Teorema C.1.1. Para cualquier n entero positivo,


X
φ(d) = n.
d|n

Demostración. Sea S el conjunto de pares de enteros (d, f ) que satisfacen


d|n, 1 ≤ f ≤ d, mcd(f, d) = 1.

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

En la tabla, β(d, f ) es la “marca” en la fila d y la columna f . Como d|n, el valor de β, es un


entero y como 1 ≤ f ≤ d, entonces β(d, f ) pertenece a Nn .

Para probar que β es una inyección observemos que


β(d, f ) = β(d0 , f 0 ) ⇒ f n/d = f 0 n/d0 ⇒ f d0 = f 0 d.
Pero f y d son coprimos, así como también lo son f 0 y d0 , así que podemos concluir que d = d0
y f = f 0.

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.

Luego β es biyectiva y |S| = n, como queríamos demostrar. 

§ 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

Una aplicación aritmética del


principio del tamiz
Por cientos de años los matemáticos han estudiado problemas sobre números primos y
la factorización de los enteros. Nuestra breve discusión sobre estos temas en los primeros
capítulos debería haber convencido al lector de que estos problemas son difíciles, porque los
120 C. LA FUNCIÓN DE EULER

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.

Un problema similar es encontrar el número de enteros x en el rango 1 ≤ x ≤ n que son


coprimos con n. En la sección C.1 denotamos este número con φ(n), el valor de la función
φ de Euler en n. Ahora demostraremos que si la factorización en primos de n es conocida,
entonces φ(n) puede ser calculado por el principio del tamiz.

Ejemplo C.2.1. ¿Cuál es el valor de φ(60)? En otras palabras, ¿cuántos enteros x en el


rango 1 ≤ x ≤ 60 satisfacen mcd(x, 60) = 1?

Demostración. Sabemos que 60 = 22 · 3 · 5, así que podemos contar el números de


enteros x en el rango 1 ≤ x ≤ 60 que no son divisibles por 2, 3 o 5. Con A(2) denotemos el
subconjunto de N60 que contiene los enteros que son divisibles por 2, con A(2, 3) aquellos
que son divisibles por 2 y 3, y así sucesivamente, entonces tenemos
φ(60) = 60 − |A(2) ∪ A(3) ∪ A(5)|
= 60 − |A(2) + A(3) + A(5)|
+ (|A(2, 3) + |A(2, 5)| + |A(3, 5)|) − |A(2, 3, 5)|,
por el principio del tamiz. Ahora |A(2)| es el número de múltiplos de 2 en N60 que
es 60/2 = 30. Del mismo modo |A(2, 3)| es el número de múltiplos de 2 · 3, que es
60/(2 · 3) = 10, y así siguiendo, por lo tanto
φ(60) = 60 − (30 + 20 + 10) + (10 + 6 + 4) − 2 = 16.


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

Demostración. Denotemos Aj el subconjunto de Nn que contiene los múltiplos de pj


(1 ≤ j ≤ r). Entonces
φ(n) = n − |A1 ∪ A2 ∪ · · · ∪ Ar |
= n − α1 + α2 − · · · + (−1)r αr
donde αi es la suma de los cardinales de las intersecciones de los conjuntos tomados de a i.
Una intersección típica como
Aj1 ∪ Aj2 ∪ · · · ∪ Aji
contiene los múltiplos de P = pj1 · pj2 · · · pji en Nn , y estos son los números
 
n
P, 2P, 3P, . . . , P.
p
Luego la cardinalidad de una intersección típica es n/P , y αi es la suma de términos como
    
n 1 1 1
=n ··· .
P pj1 pj2 pji
Se sigue que
   
1 1 1 1 1
φ(n) = n − n + + ··· + +n + + ··· + ···
p1 p2 pr p1 p2 p1 p3
 
r 1
· · · + (−1)
p p 2 · · · pr
   1  
1 1 1
=n 1− 1− ··· 1 − .
p1 p2 pr

D Grafos planares

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?

Observemos primero que si G es planar y H es subgrafo de G, entonces H es planar, pues,


si podemos dibujar a G en el plano sin cortes de aristas, entonces H que esta “metido” en
123
124 D. GRAFOS PLANARES

(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).

Figura 3. Un grafo planar

En realidad, también podríamos considerar a la región formada por las regiones 3 y 4


juntas, o 2, 5 y 6 juntas, etc. Pero nuestra preocupación estará centrada en una de estas
regiones “simples”, a las cuales llamaremos caras.

1 3
6 5 2
4 8
7

Figura 4. Regiones de un grafo planar


D. GRAFOS PLANARES 125

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.

Demostración del teorema D.1.1. Supongamos que la fórmula de Euler no sea


cierta. Es decir, supongamos que existen grafos planares para los cuales la fórmula no es
válida. Tomemos, de todos estos contraejemplos, alguno con e tan chico como sea posible,
y llamemos G a ese grafo. Observemos que G debe tener por lo menos un ciclo, pues
si fuera acíclico, como es conexo, sería un árbol. Ahora bien, en un árbol, e = v − 1.
Además, por ser acíclico, no hay caras, salvo la cara infinita, es decir, f seria 1. Pero entonces
v − e + f = v − (v − 1) + 1 = v − v + 1 + 1 = 2 y G no sería un contraejemplo. Así pues,
G tiene al menos un ciclo. Sea xy alguna arista perteneciente a algún ciclo, y consideremos
H = G − xy. Como xy pertenece a algún ciclo, es una arista que separa dos caras en G.
Esas dos caras ahora son una sola en H. Ver Fig. 5.

B
x x
y y
A

Figura 5. Eliminar una arista

Así, si fH , eH y vH denotan el número de caras, aristas y vértices de H respectivamente,


tenemos que fH = f − 1. Además, como borramos una arista, eH = e − 1, y como el número
de vértices no cambia, vH = v.

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

Corolario D.1.2. Sea G un grafo planar con al menos 3 vértices. Entonces, e ≤ 3v − 6,


donde e es el número de aristas y v el número de vértices de G.

Demostración. Consideremos las caras de G. Si es una cara distinta de la cara infinita,


es porque viene de un ciclo. Ahora bien, todo ciclo debe tener por lo menos 3 aristas, así
que podemos concluir que hay por lo menos 3 aristas en el borde de esa cara. Si, en cambio,
es la cara infinita y el grafo tiene más de tres aristas entonces “toca” 3 o más aristas. Si el
grafo tiene menos de 3 aristas (y ningún ciclo), es uno de los de la Fig. 6. Como estamos
suponiendo que hay al menos 3 vértices, en realidad solo hay que considerar el último caso, y
ese tiene e = 2, v = 3, y 2 ≤ 3 · 3 − 6.

Figura 6. Grafos acíclicos con menos de 3 aristas

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. 

Este corolario nos permite probar inmediatamente la no planaridad de un número signi-


ficativo de grafos. Por ejemplo, recordemos que queríamos ver que K5 era no planar. Esto lo
obtenemos en forma directa, pues K5 tiene 5 vértices y 10 aristas, por lo tanto, si fuera planar
debiéramos tener que 10 ≤ 3 · 5 − 6 = 15 − 6 = 9, lo cual no es cierto.
D. EL PROBLEMA DEL AGUA-LUZ-GAS 127

SECCIÓN D.2

El problema del agua-luz-gas


Este es un conocido problema de escuela primaria: existen tres casas, y tres centrales: la
del agua, la de la luz y la del gas. Trazar las cañerías desde las centrales a las casas sin que
se crucen. Una solución (pero haciendo trampa) es mandar las tres cañerías a una casa, y de
ella sacarlas las tres a la otra, y de ella las tres a la otra:

Primera casa Segunda casa Tercera casa

A L G

Figura 7. Una solución tramposa

En realidad, no permitiremos el uso de intermediarios, es decir el problema será llevar


directamente la cañería desde cada central a cada casa. En el lenguaje de la teoría de grafos,
consiste en representar, en el plano, al grafo K3,3 Fig. 8.

Primera casa Segunda casa Tercera casa

A L G

Figura 8. Luz-agua-gas es K3,3

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.

Demostración. Es similar a la demostración del corolario D.1.2, pero como no hay


triángulos, todo ciclo tiene por lo menos 4 aristas, es decir, cada cara esta bordeada por al
menos 4 aristas. Las únicas excepciones con al menos 3 vértices son:

En el primer caso, e = 2, v = 3 y 2 · 3 − 4 = 6 − 4 = 2. En el segundo y terceros, e = 3,


v = 4 y 2 · 4 − 4 = 8 − 4 = 4 ≥ 3. Así pues, podemos suponer que cada cara esta bordeada
128 D. GRAFOS PLANARES

Figura 9. Grafos acíclicos con menos de 4 aristas y al menos 3 vértices

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

El teorema de los cuatro colores


Juntaremos ahora lo que hemos visto en esta sección con lo que vimos en la anterior,
para tratar uno de los problemas mas famosos y recalcitrantes de la teoría de grafos, a saber:
¿cuántos colores se necesitan para colorear un grafo planar? En otras palabras, si quiero estar
seguro de poder colorear propiamente los vértices de cualquier grafo planar, ¿cuántos colores
necesito tener? De hecho, una pregunta más básica sería si existe una cantidad finita de
colores que me permitan colorear cualquier tipo de grafo planar, por grande que sea. (Es
claro que la respuesta para grafos en general es negativa, pues Kn requiere n colores.) Como
K4 es planar, sabemos que necesitamos por lo menos 4 colores. No podemos decir que
D. EL TEOREMA DE LOS CUATRO COLORES 129

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.

Lema D.3.1. Sea G un grafo planar. Entonces, existe un vértice de G de valencia 5 o


menos.

Demostración. Si el orden de G es menor o igual a 2, esto es obvio, pues la valencia


de cualquier vértice no superará 2. Así, podemos suponer que hay al menos 3 vértices, y por
lo tanto, sabemos que e ≤ 3v − 6, donde e es el numero de aristas y v el de vértices.

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

Teorema D.3.2. (Teorema de los cinco colores) Si G es planar, χ(G) ≤ 5.

Demostración. Supongamos que no sea cierto. De todos los contraejemplos al teo-


rema, escojamos uno con la menor cantidad de vértices posible y llamémosle G. Por el lema
anterior, existe un vértice x de G con valencia menor o igual a 5. Consideremos H = G − {x},
que es un grafo con menos vértices que G y por lo tanto no puede ser un contraejemplo; es
decir, χ(H) ≤ 5. Así, podemos colorear H con 5 colores. Si la valencia de x en G es 0, 1, 2, 3
o 4, los vértices adyacentes a x “usan” a lo sumo 4 de los 5 colores, así que podemos colorear
a x con el quinto color, y tendríamos que χ(G) = 5, lo cual no es posible pues G es un
contraejemplo. Así pues, podemos suponer que la valencia de x es 5. Ahora bien, si los cinco
vértices adyacentes a x no usan cinco colores, estamos como antes, y podemos colorear a x
con el color faltante. Así, no solo podemos suponer que hay cinco vértices adyacentes a x,
sino también que cada uno esta coloreado con un color distinto. Llamemos a estos vértices
y, z, u, w, t, y supongamos que y de color 1, z de color dos, etc.

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

Figura 12. Caminos de y a u y de z a w

Analicemos un poco la prueba: hemos probado dos cosas:


(1) todo grafo planar debe tener una de las siguientes “configuraciones”, es decir, parte de él
debe lucir como alguno de los grafos de la Fig. 13.

Figura 13. Posibles configuraciones

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

árbol, 88 grafo completo, 77


árbol binario, 100 grafo con pesos, 103
árbol con raíz, 99 grafo conexo, 84
árbol de decisión, 101 grafo de Petersen, 80
árbol expandido, 102 grafo impar, 97
árbol expandido mínimo, 103 grafo planar, 123
árbol ternario, 100 grafo regular, 81
grafos isomorfos, 78
algoritmo de Euclides, 48
algoritmo greedy (goloso), 93 Hamilton, W. R., 85
altura de un árbol con raíz, 99 handshaking lemma, 81
aristas de un grafo, 75 hijo de un vértice, 100
axioma del buen orden, 11 hipótesis inductiva, 16
hoja, 99
base (de un sistema de numeración), 41
isomorfismo de grafos, 78
caminata, 83
caminata euleriana, 86 lista de adyacencia, 77
camino, 83 longitud de un ciclo, 83
caras de un grafo planar, 124 mínimo, 11
cardinal de un conjunto, 21 mínimo común múltiplo, 51
ciclo, 83 máximo común divisor, 44
ciclo hamiltoniano, 85 módulo m, 61
codificar, 70 múltiplo, 43
coeficiente binomial, 30 minimum spanning tree, 103
coloración de vértices, 92 MST, 103
complemento de un grafo, 82
componente de un grafo, 84 número combinatorio, 30
congruencia, 61 número cromático, 92
coprimos, 46 número primo, 53
cota inferior, 10 niveles de un árbol, 99
cota superior, 12 notación cíclica, 111
criptografía asimétrica, 70
criptografía de clave pública, 70 padre de un vértice, 100
criptografía simétrica, 70 permutación, 28
permutación cíclica, 112
divide, 43 principio de buena ordenación, 11
divisor, 42 principio de inclusion y exclusion, 113
principio de inducción, 16
Ecuación lineal de congruencia, 64 principio de inducción completa, 18
encriptar, 70 principio de las casillas, 27
Euler, Leonhard, 117 principio del tamiz, 113
expresión binómica, 35 producto cartesiano, 22
fórmula de Euler, 124 raíz, 99
función de Euler, 69 redes, 75
función de pesos, 103 regla del nueve, 63
representación pictórica (de un grafo), 75
género de un grafo, 129 RSA, 70
grafo, 75
grafo bipartito, 95 símbolo de Prüfer, 107
grafo cíclico, 81 selección ordenada sin repetición, 109
133
134 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

You might also like