Vous êtes sur la page 1sur 490

Fundamentos de Informtica

Fundamentos
de
Informtica
Horst H. von Brand
13 de septiembre de 2013
Departamento de Informtica
Universidad Tcnica Federico Santa Mara
2013 Horst H. von Brand
Todos los derechos reservados.
Versin 0.75
Se autoriza el uso de esta versin preliminar para cualquier n educacional en una institucin de enseanza
superior, en cuyo caso slo se permite el cobro de una tarifa razonable de reproduccin.
Agradezco a mi familia, a quienes he descuidado demasiado durante el desarrollo del presente texto.
El Departamento de Informtica de la Universidad Tcnica Federico Santa Mara provee el ambiente
ideal de trabajo.
Dedico este texto a mis estudiantes, que sufrieronversiones preliminares del mismo. Sus sugerencias
y preguntas ayudaron inmensamente a mejorarlo.
ndice general
ndice general VII
ndice de guras XIV
ndice de cuadros XVII
ndice de listados XIX
ndice de algoritmos XX
1 Preliminares 1
1.1. Notacin de lgica matemtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Proposiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2. Conectivas lgicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.3. Lgica de predicados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.4. Cuanticadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Tuplas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4. Multiconjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5. Sumatorias, productorias y yerbas anes . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6. Potencias factoriales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.7. Funciones oor y ceil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.8. Otros resultados de inters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.9. Notacin asinttica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.10. Notacin asinttica en algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2 Relaciones y funciones 25
2.1. Relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2. Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3. Operaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3 Demostraciones 35
3.1. Desenrollar deniciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2. Implicancias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.1. Primer mtodo Demostracin directa . . . . . . . . . . . . . . . . . . . . . 38
3.2.2. Segundo mtodo Demostrar el contrapositivo . . . . . . . . . . . . . . . . 39
3.3. Demostrando un Si y slo si . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.1. Primer mtodo Cada una implica la otra . . . . . . . . . . . . . . . . . . . 39
VII
VIII NDICE GENERAL
3.3.2. Segundo mtodo Cadena de equivalencias . . . . . . . . . . . . . . . . . . 40
3.4. Demostracin por casos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.5. Demostracin por contradiccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.6. Induccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.6.1. El caso ms comn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.6.2. Otro punto de partida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.6.3. Paso diferente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.6.4. Ida y vuelta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.6.5. Mltiples variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.6.6. Induccin fuerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.6.7. Induccin estructural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.7. Demostrar existencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.8. Refutaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.8.1. Refutar aseveraciones universales: Contraejemplo . . . . . . . . . . . . . . . 62
3.8.2. Refutar existencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.8.3. Refutar por contradiccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.9. Conjetura a teorema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4 Correctitud de programas 69
4.1. Lgica de Hoare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2. Bsqueda binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2.1. Escribiendo el programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3. Exponenciacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4. Algunos principios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5 Teora de nmeros 77
5.1. Mximo comn divisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.1.1. Obtener los coecientes de Bzout . . . . . . . . . . . . . . . . . . . . . . . . 81
5.1.2. Nmeros primos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.2. Congruencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.3. Aritmtica en Z
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.3.1. Curvas elpticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3.2. Anillos cuadrticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.3.3. Cuaterniones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.3.4. Los teoremas de Lagrange, Euler y Fermat . . . . . . . . . . . . . . . . . . . . 100
5.3.5. Unidades de Z
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6 Estructura de Z
m
y Z

m
103
6.1. Descomposiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.1.1. Homomorsmos e isomorsmos . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.1.2. Sumas directas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.1.3. Sumas directas externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.1.4. Comentarios nales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.2. Estructura de Z

m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7 Anillos de polinomios 123
7.1. Dominios euclidianos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.2. Factorizacin de polinomios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.3. Races primitivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
NDICE GENERAL IX
8 Campos nitos 137
8.1. Espacios vectoriales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
8.2. Estructura de los campos nitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8.3. Cdigos de deteccin y correccin de errores . . . . . . . . . . . . . . . . . . . . . . . 147
8.3.1. Cdigos de Hamming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
8.3.2. Vericacin de redundancia cclica . . . . . . . . . . . . . . . . . . . . . . . . 148
9 Algoritmos aritmticos 151
9.1. Mximo comn divisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
9.2. Potencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
9.3. Factorizar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
9.4. Factorizacin con curvas elpticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
9.5. Determinar primalidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
9.6. Nmeros de Carmichael . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
10 Criptografa 163
10.1. Nomenclatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
10.2. Protocolo Dife-Hellman de intercambio de claves . . . . . . . . . . . . . . . . . . . 164
10.3. Sistema de clave pblica de Rivest, Shamir y Adleman (RSA) . . . . . . . . . . . . . . 165
10.3.1. Firma digital usando RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
10.4. El estndar de rma digital (DSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
10.4.1. Seleccin de parmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
10.4.2. Generar claves para un usuario . . . . . . . . . . . . . . . . . . . . . . . . . . 167
10.4.3. Firmar y vericar rma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
10.4.4. Correctitud del algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
10.4.5. Ataques a DSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
10.5. Otras consideraciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
10.6. Criptografa de curvas elpticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
10.6.1. Intercambio de claves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
10.6.2. Firmas digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
11 Combinatoria elemental 171
11.1. Tcnicas bsicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
11.2. Principios bsicos de conteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
11.3. Manos de poker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
11.3.1. Royal Flush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
11.3.2. Straight Flush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
11.3.3. Four of a Kind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
11.3.4. Full House . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
11.3.5. Flush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
11.3.6. Manos con dos pares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
11.3.7. Manos con todas las pintas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
11.4. El tao de BOOKKEEPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
11.5. Juegos completos de poker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
11.6. Secuencias con restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
12 Funciones generatrices 187
12.1. Algunas series tiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
12.1.1. Serie geomtrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
12.1.2. Teorema del binomio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
X NDICE GENERAL
12.1.3. Otras series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
12.1.4. Trabajando con series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
12.2. Notacin para coecientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
12.3. Algunos ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
12.4. Manipulacin de series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
12.4.1. Reglas OGF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
12.4.2. Reglas EGF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
12.5. El truco zDlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
12.6. Ejemplos de manipulacin de series . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
12.7. Funciones generatrices en combinatoria . . . . . . . . . . . . . . . . . . . . . . . . . 203
12.8. Aceite de serpiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
12.9. Retrospectiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
13 Principio de inclusin y exclusin 211
14 Series formales de potencias 217
14.1. Unidades y recprocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
14.2. Secuencias de series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
14.3. El principio de transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
14.4. Derivadas e integrales formales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
14.5. Series en mltiples variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
15 La frmula de Euler-Maclaurin 227
15.1. Suma de potencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
15.2. Nmeros harmnicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
15.3. Frmula de Stirling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
15.4. Propiedades de los polinomios y nmeros de Bernoulli . . . . . . . . . . . . . . . . . 235
15.5. El resto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
16 Aplicaciones 241
16.1. Nmeros harmnicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
16.2. Potencias factoriales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
16.3. Nmeros de Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
16.3.1. Solucin mediante funciones generatrices ordinarias . . . . . . . . . . . . . 243
16.3.2. Solucin mediante funciones generatrices exponenciales . . . . . . . . . . . 244
16.3.3. Nmeros de Fibonacci y fuentes . . . . . . . . . . . . . . . . . . . . . . . . . . 245
16.3.4. Bsqueda de Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
16.4. Coecientes binomiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
16.5. Otras recurrencias de dos ndices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
16.6. Dividir y conquistar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
16.6.1. Anlisis de divisin ja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
16.6.2. Quicksort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
17 Recurrencias 263
17.1. Recurrencias lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
17.2. Recurrencias lineales de primer orden . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
17.3. Recurrencias lineales de coecientes constantes . . . . . . . . . . . . . . . . . . . . . 265
17.4. Recurrencia de Ricatti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
17.4.1. Va recurrencia de segundo orden . . . . . . . . . . . . . . . . . . . . . . . . . 267
17.4.2. Reduccin a una recurrencia de primer orden . . . . . . . . . . . . . . . . . 268
NDICE GENERAL XI
17.4.3. Transformacin de Mbius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
18 El mtodo simblico 273
18.1. Objetos sin rotular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
18.1.1. Algunas aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
18.1.2. Palabras que no contienen un patrn dado . . . . . . . . . . . . . . . . . . . 278
18.1.3. Construccin ciclo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
18.2. Objetos rotulados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
19 Nmeros combinatorios 287
19.1. Subconjuntos y multiconjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
19.2. Cuntas secuencias de 2n parntesis balanceados hay? . . . . . . . . . . . . . . . . 287
19.3. Nmeros de Schrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
19.4. Nmeros de Stirling de segunda especie . . . . . . . . . . . . . . . . . . . . . . . . . . 289
19.5. Nmeros de Stirling de primera especie . . . . . . . . . . . . . . . . . . . . . . . . . . 291
19.6. Nmeros de Lah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
19.7. Potencias, nmeros de Stirling y de Lah . . . . . . . . . . . . . . . . . . . . . . . . . . 293
19.8. Desarreglos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
19.9. Resultados de competencias con empate . . . . . . . . . . . . . . . . . . . . . . . . . 298
19.10. Particiones de enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
19.10.1. Particiones en general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
19.10.2. Sumandos diferentes e impares . . . . . . . . . . . . . . . . . . . . . . . . . . 300
19.10.3. Un problema de Moser y Lambek . . . . . . . . . . . . . . . . . . . . . . . . . 300
19.11. Contando secuencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
20 Grafos 303
20.1. Representacin de grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
20.1.1. Lista de adyacencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
20.1.2. Matriz de adyacencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
20.1.3. Representacin enlazada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
20.1.4. Representacin implcita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
20.2. Isomorsmo entre grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
20.3. Algunas familias de grafos especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
20.4. Grado de un vrtice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
20.5. rboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
20.6. rboles con raz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
20.7. rboles ordenados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
20.7.1. rboles de decisin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
20.7.2. Anlisis de algoritmos de ordenamiento . . . . . . . . . . . . . . . . . . . . . 321
20.7.3. Generar cdigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
20.8. Grafos planares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
20.9. Algoritmos de bsqueda en grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
20.9.1. Bsqueda en profundidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
20.9.2. Bsqueda a lo ancho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
20.9.3. Bsqueda a lo ancho versus bsqueda en profundidad . . . . . . . . . . . . 331
20.10. Colorear vrtices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
20.10.1. El algoritmo voraz para colorear grafos . . . . . . . . . . . . . . . . . . . . . . 335
20.11. Colorear arcos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
20.12. Grafos bipartitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
20.12.1. Matchings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
XII NDICE GENERAL
20.12.2. Transversales de familias de conjuntos nitos . . . . . . . . . . . . . . . . . . 343
20.13. Grafos rotulados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
20.13.1. rboles rotulados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
20.13.2. Costo mnimo para viajar entre vrtices . . . . . . . . . . . . . . . . . . . . . 347
20.13.3. rbol recubridor mnimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
21 Digrafos, redes, ujos 355
21.1. Orden topolgico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
21.2. Redes y rutas crticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
21.3. Redes y ujos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
21.3.1. Trabajando con ujos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
21.3.2. Mtodo de Ford-Fulkerson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
21.3.3. Redes residuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
21.3.4. Caminos aumentables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
21.3.5. Cortes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
22 Permutaciones 369
23 Teora de coloreos de Plya 377
23.1. Grupos de permutaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
23.2. rbitas y estabilizadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
23.3. Nmero de rbitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
23.4. ndice de ciclos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
23.5. Nmero de coloreos distinguibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
24 Introduccin al anlisis complejo 395
24.1. Aritmtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
24.2. Un poquito de topologa del plano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
24.3. Lmites y derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
24.4. Funciones elementales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
24.5. Logaritmos y potencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
24.6. Integrales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
24.6.1. Integrales y antiderivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
24.6.2. El teorema de Cauchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
24.6.3. La frmula integral de Cauchy . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
24.7. Secuencias y series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
24.7.1. Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
24.8. Series de Taylor y Laurent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
24.8.1. Serie de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
24.8.2. Singularidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
24.8.3. Series de Laurent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
24.8.4. Residuos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
24.8.5. Principio del argumento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
24.9. Aplicaciones discretas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
24.9.1. Sumas innitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
24.9.2. Nmeros de Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
24.10. La funcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
25 Estimaciones asintticas 439
25.1. Estimar sumas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
NDICE GENERAL XIII
25.2. Estimar coecientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
25.2.1. Cota trivial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
25.2.2. Singularidades dominantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
25.2.3. Nmero de palabras sin k smbolos repetidos . . . . . . . . . . . . . . . . . . 443
25.2.4. Singularidades algebraicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
25.2.5. El mtodo de Hayman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Bibliografa 453
ndice de guras
1.1. Diagramas de Venn para operaciones entre conjuntos . . . . . . . . . . . . . . . . . . . . 5
1.2. Desigualdad triangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3. Relacin entre f (n) y g(n) en notaciones de Bachmann-Landau . . . . . . . . . . . . . . 20
2.1. Funciones compuestas inyectivas y sobreyectivas . . . . . . . . . . . . . . . . . . . . . . 32
3.1. Diagrama para demostrar que
_
2 es irracional . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2. Forma de una losa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3. Intento fallido de induccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4. Divisin del patio de 2
n+1
2
n+1
en cuatro de 2
n
2
n
. . . . . . . . . . . . . . . . . . . . 57
3.5. Anlisis del patio de 44 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.6. Induccin dejando libre cualquier cuadradito . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.7. Chapas posibles con n 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.8. Chapas posibles con n 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.9. Chapa de 77 como chapa de 55 con borde . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1. Un cuadrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2. Curvas elpticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3. Sumas en curvas elpticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.1. Elementos de circuitos lgicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
8.2. Circuito para x
8
+x
4
+x
3
+x
2
+1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
12.1. 52 centavos en monedas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
12.2. Coleccin de monedas como producto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
12.3. Series para 1 o 5 centavos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
12.4. Serie para combinaciones de 1 y 5 centavos . . . . . . . . . . . . . . . . . . . . . . . . . . 195
12.5. Una fuente de bloque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
13.1. Intersecciones entre tres conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
15.1. Suma e integral como reas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
15.2. Polinomios de Bernoulli en [0, 1] (escalados de mnimo a mximo) . . . . . . . . . . . . 238
16.1. Bsqueda de Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
16.2. Bsqueda de Fibonacci: Juego nal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
16.3. Idea de Quicksort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
16.4. Particionamiento en Quicksort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
XIV
ndice de guras XV
18.1. Ciclos de largo seis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
20.1. Diagrama de circuito de un ltro de paso bajo de tercer orden . . . . . . . . . . . . . . . 303
20.2. Esquema del metro de Londres (1908) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
20.3. Un grafo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
20.4. Ejemplo de isomorsmo entre grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
20.5. Dos formas de dibujar el grafo de Petersen . . . . . . . . . . . . . . . . . . . . . . . . . . 307
20.6. Algunos grafos P
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
20.7. Algunos grafos C
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
20.8. Algunos grafos K
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
20.9. Algunos grafos W
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
20.10. Algunos cubos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
20.11. Un grafo con grados 1, 2, 2, 3 y 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
20.12. La operacin 2-switch entre los arcos uv y xy . . . . . . . . . . . . . . . . . . . . . . . . . 310
20.13. Un grafo con dos componentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
20.14. Puentes de Knigsberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
20.15. Dibuja una casita. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
20.16. Queso cortado en nueve cubitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
20.17. Cubitos de queso de colores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
T3 20.9 20.18. Esquema de vrtices en la parte T3 el teorema 20.9 . . . . . . . . . . . . . . . . . . . . . . 318
20.19. Los 6 rboles con 6 vrtices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
20.20. Ejemplos de rbol con raz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
20.21. Vrtice del rbol de decisin al pesar monedas . . . . . . . . . . . . . . . . . . . . . . . . 321
20.22. rbol de decisin al ordenar 3 objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
20.23. rbol sintctico de una expresin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
20.24. Ilustracin de la demostracin de la frmula de Euler . . . . . . . . . . . . . . . . . . . . 325
20.25. El grafo K
3,3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
20.26. El grafo del dodecaedro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
20.27. Grafo para ejemplos de recorrido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
20.27 20.28. El grafo de la gura 20.27 recorrido en profundidad . . . . . . . . . . . . . . . . . . . . . 328
20.27 20.29. El grafo de la gura 20.27 recorrido a lo ancho . . . . . . . . . . . . . . . . . . . . . . . . 330
20.30. Grafo representando charlas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
20.31. Asignacin de horas a charlas como colores . . . . . . . . . . . . . . . . . . . . . . . . . . 332
20.32. Otra asignacin de horas a charlas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
20.33. Grafo a colorear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
20.33 20.34. Un ciclo de largo impar en el grafo de la gura 20.33 . . . . . . . . . . . . . . . . . . . . . 333
20.33 20.35. Un coloreo con tres colores del grafo de la gura 20.33 . . . . . . . . . . . . . . . . . . . 333
20.36. Otro grafo a colorear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
20.36 20.37. Subgrafos del grafo de la gura 20.36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
20.36 20.38. Coloreo con cuatro colores del grafo de la gura 20.36 . . . . . . . . . . . . . . . . . . . . 334
20.39. Un coloreo de arcos del grafo de Frucht . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
20.40. Algunas estrellas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
20.41. Algunos grafos bipartitos completos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
20.42. Un ciclo de largo 2l +1 si hay conexiones cruzadas . . . . . . . . . . . . . . . . . . . . . . 338
20.17 20.43. Cmo operar en el teorema 20.17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
20.44. Matchings en un grafo bipartito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
20.45. Aumentando un matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
20.46. Matching resultante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
20.47. Comits de la Universidad de Miskatonic . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
20.48. Ejemplo de grafo para rbol recubridor mnimo . . . . . . . . . . . . . . . . . . . . . . . 350
XVI ndice de guras
20.48 20.49. El algoritmo de Prim aplicado al grafo de la gura 20.48 . . . . . . . . . . . . . . . . . . . 351
20.48 20.50. El algoritmo de Kruskal aplicado al grafo de la gura 20.48 . . . . . . . . . . . . . . . . . 352
20.51. Esquema de redes interconectadas por bridges . . . . . . . . . . . . . . . . . . . . . . . . 353
20.51 20.52. La red de la gura 20.51 como grafo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
21.1. Ejemplos de digrafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
21.2. Una red de actividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
21.3. Una red, sus capacidades y un ujo en la red . . . . . . . . . . . . . . . . . . . . . . . . . 361
21.4. Una red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
21.4 21.5. Flujo y red residual en la red de la gura 21.4 . . . . . . . . . . . . . . . . . . . . . . . . . 365
21.5b 21.6. El ujo aumentado segn el camino aumentable de la gura 21.5b . . . . . . . . . . . . 365
21.4 21.5a 21.7. Un corte en la red de la gura 21.4 con el ujo de la gura 21.5a . . . . . . . . . . . . . . 366
22.1. Ordenamiento de cartas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
22.2. Puede hacerse? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
23.1. Un cuadrado y sus simetras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
23.2. Un grafo de seis vrtices y sus automorsmos . . . . . . . . . . . . . . . . . . . . . . . . . 378
23.3. Un ejemplo de grafo y los generadores de su grupo de automorsmos . . . . . . . . . . 379
23.4. Rotaciones de un tetraedro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
23.5. Icosaedro trunco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
23.6. Ejemplos de tarjetas de identidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
23.7. Conguraciones jas bajo rotacin en . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
23.8. Conguraciones jas bajo reexin en la vertical . . . . . . . . . . . . . . . . . . . . . . . 383
23.9. Conguraciones jas bajo reexin en la diagonal . . . . . . . . . . . . . . . . . . . . . . 384
23.10. Las ocho tarjetas distinguibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
23.11. Efecto de la permutacin g sobre un coloreo . . . . . . . . . . . . . . . . . . . . . . . . 386
23.12. Algunos compuestos aromticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
23.13. Los tres ismeros del xyleno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
23.14. Operaciones de simetra (rotaciones) de un tetraedro . . . . . . . . . . . . . . . . . . . . 391
23.15. Un rbol binario completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
23.16. Un cubo visto desde un vrtice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
24.1. Operaciones entre complejos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
24.2. Dominio alternativo de logz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
24.3. Ejemplos de homotopa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
24.4. Curva para integral ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
24.5. Secuencia de funciones continuas con lmite discontinuo . . . . . . . . . . . . . . . . . 412
ndice de cuadros
1.1. Tablas de verdad para conectivas bsicas . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Identidades adicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Propiedades importantes de las operaciones lgicas . . . . . . . . . . . . . . . . . . . . . 3
1.4. Valores de n
2
+n +41 para 1 n 39 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5. Propiedades de las operaciones entre conjuntos . . . . . . . . . . . . . . . . . . . . . . . 7
1.6. Notaciones de Bachmann-Landau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1. Traza del algoritmo extendido de Euclides . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.2. El grupo D
8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.3. Multiplicacin de cuaterniones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.4. La tabla de multiplicacin en Z
12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.1. El grupo D
8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.2. Los grupos Z

8
y Z

12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.3. Los grupos Z

5
y Z
4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.4. Potencias en Z

21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.1. rdenes de los elementos en Z

8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.1. Paridades para el cdigo de Hamming (15, 4) . . . . . . . . . . . . . . . . . . . . . . . . . 148
9.1. Traza del algoritmo binario para mximo comn divisor . . . . . . . . . . . . . . . . . . 154
9.2. Clculo de 3
10
por el mtodo binario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
9.3. Condiciones a x e y al factorizar 8 616 460 799 . . . . . . . . . . . . . . . . . . . . . . . . . 156
9.4. Ejemplo de Pollard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
11.1. Nmero de alumnos por curso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
12.1. Tabla para calcular p
50
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
13.1. Posibilidades con un nmero par de ceros . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
15.1. Polinomios y nmeros de Bernoulli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
16.1. Tringulo de Pascal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
16.2. Complejidad de algunos algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
18.1. Clculo de c
xy
(t ) t
4
+t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
18.2. Combinando los ciclos (1 2) y (1 3 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
XVII
XVIII ndice de cuadros
19.1. Las 7 particiones de 4 elementos en 2 clases . . . . . . . . . . . . . . . . . . . . . . . . . . 289
19.2. Nmeros de Stirling de segunda especie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
19.3. Nmeros de Stirling de primera especie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
19.4. Nmeros de Lah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
20.3 20.1. Lista de adyacencia para el grafo de la gura 20.3 . . . . . . . . . . . . . . . . . . . . . . . 305
20.3 20.2. Matriz de adyacencia del grafo de la gura 20.3 . . . . . . . . . . . . . . . . . . . . . . . . 306
20.3. Cdigo ptimo para la expresin ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
20.4. Poliedros regulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
21.1. Actividades y dependencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
21.2 21.2. Trminos ms tempranos por actividad para la red de la gura 21.2 . . . . . . . . . . . . 358
21.2 21.3. Inicio ms tardo por actividad para la red 21.2 . . . . . . . . . . . . . . . . . . . . . . . . 359
21.2 21.4. Holguras para las actividades de la gura 21.2 . . . . . . . . . . . . . . . . . . . . . . . . . 359
23.1. Los subgrupos de S
3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
23.4 23.2. Pares (, y) para demostracin del teorema 23.4 . . . . . . . . . . . . . . . . . . . . . . . 380
23.3. Nmero de conguraciones de tarjetas respetadas por cada simetra del cuadrado . . . 384
23.4. Elementos del grupo para pulseras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
23.5. Las operaciones sobre tarjetas y sus tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
23.6. Rotaciones de un tetraedro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
23.7. El grupo de operaciones del rbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
23.8. Operaciones de simetra rotacional de caras de un cubo . . . . . . . . . . . . . . . . . . 392
25.1. Nmeros de Bell ordenados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
25.2. Nmeros de Bernoulli pares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
25.3. Nmeros de Motzkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
25.4. Nmeros de Motzkin nuevamente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
ndice de listados
1.1. Ordenamiento por insercin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1. Bsqueda binaria en C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
16.1. Versin simple de Quicksort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
XIX
ndice de algoritmos
4.1. Esbozo de bsqueda binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2. Bsqueda binaria: Segundo esbozo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3. Bsqueda binaria: Pseudocdigo nal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.4. Exponenciacin binaria recursiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.5. Exponenciacin binaria no recursiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.6. Clculo de ]
_
n] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.1. Algoritmo de Euclides para calcular gcd(a, b) . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2. Algoritmo extendido de Euclides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
9.1. Algoritmo de Euclides para calcular gcd(a, b) . . . . . . . . . . . . . . . . . . . . . . . . 151
9.2. Mximo comn divisor binario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
9.3. Clculo binario de potencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
9.4. Factorizar segn Fermat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
9.5. Detectar ciclos (Floyd) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
9.6. de Pollard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
9.7. Prueba de primalidad de Miller-Rabin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
16.1. Bsqueda de Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
20.1. Recorrer rboles con raz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
20.2. Bsqueda en profundidad, versin recursiva . . . . . . . . . . . . . . . . . . . . . . . . 329
20.3. Bsqueda en profundidad, versin no recursiva . . . . . . . . . . . . . . . . . . . . . . 329
20.4. Bsqueda a lo ancho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
20.5. Coloreo voraz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
20.6. Costos mnimos desde el vrtice v (Dijkstra) . . . . . . . . . . . . . . . . . . . . . . . . 347
20.7. Costos mnimos desde el vrtice v (Bellman-Ford) . . . . . . . . . . . . . . . . . . . . 348
20.8. Costos mnimos entre todos los vrtices (Floyd-Warshall) . . . . . . . . . . . . . . . . 350
21.1. Ordenamiento topolgico de Kahn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
21.2. Ordenamiento topolgico de Tarjan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
21.3. El mtodo de Ford-Fulkerson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
XX
Prefacio
Este documento presenta la materia de los ramos Fundamentos de Informtica I y Fundamentos
de Informtica II como dictados durante los aos 2009, 2010, 2011, 2012 y 2013 en la Casa Central
de Universidad Tcnica Federico Santa Mara por el autor. El tratamiento de algunos temas es de-
nitivamente no tradicional, y en algunas reas el autor sigue lneas de razonamiento que le parecen
interesantes, an si no son directamente parte del curso. As hay material adicional a la materia
ocial del curso en estos apuntes, que no se vio en clase. Se notan resultados que estn fuera del te-
mario donde ayudan a iluminar los temas tratados. Se ha hecho el intento de juntar todo al material
relevante, en forma accesible para el no especialista. Intentamos tambin seguir la exhortacin de
Knuth de no perderse en abstraccin excesiva.
Veremos una coleccin de temas que en conjunto se conocen bajo el nombre de matemticas
discretas. Trataremos de razonamiento matemtico, y nos ocuparemos ms que nada de fenmenos
discretos, en contraposicin de lo continuo que es el mbito del clculo. Siendo un rea menos
conocida, encontraremos en ella resultados sorprendentes y tcnicas ingeniosas. La importancia en
la informtica es que en computacin no se tratan fenmenos continuos. El aprender a razonar en
el mbito de objetos discretos, y las tcnicas que veremos durante el curso de estos ramos, sern
tiles a la hora de disear sistemas y evaluar su desempeo. El anlisis complejo ofrece herramientas
poderosas, particularmente para derivar estimaciones asintticas de muchas de las cantidades de
inters. Al no ser materia cubierta en el currculum tradicional de las carreras de ingeniera, se
incluye una breve resea de los resultados requeridos.
La razn de fondo de preocuparse de cmo razonar, en particular en el mbito de la informti-
ca, es que cada da dependemos ms de sistemas informticos, que han dejado de ser accesorios
para transformarse en parte indispensable de nuestra vida diaria. Fallas en tales sistemas pueden
tener consecuencias desastrosas. Ejemplos de estas situaciones abundan, lamentablemente. Parti-
cularmente preocupantes son cuando errores lgicos son los causantes. En este sentido, parte del
objetivo de los presentes ramos en el currculum de informtica es entrenar en el arte de enfrentar
problemas en forma estructurada, y de reconocer cundo se tiene una solucin correcta.
XXI
1 Preliminares
El presente captulo resume algunas nociones y notaciones que usaremos en el resto del texto.
No debiera presentar material realmente nuevo para el lector. El rango de nociones manejados
en matemticas es muy amplio, y la notacin bastante variada. La notacin (y la nomenclatura)
usada por distintos autores no es uniforme, por tanto esta seccin servir tambin para denir la
notacin que usaremos. Donde hay diversas notaciones en uso ms o menos comn, se anotarn
las alternativas.
1.1. Notacin de lgica matemtica
Usaremos la notacin de la lgica matemtica con frecuencia en lo que sigue, la introduciremos
informalmente ac.
1.1.1. Proposiciones
Denicin 1.1. Una proposicin es una aseveracin que puede ser verdadera o falsa.
Algunos ejemplos son:
Proposicin 1.1. Est lloviendo en Valparaso.
Proposicin 1.2. El nmero 2
32
+1 es primo
Proposicin 1.3. El nmero real
(5)

k1
k
5
es irracional.
La verdad de 1.1 depende del momento, 1.2 es falsa (es 2
32
+1 6416700417), y nadie sabe si 1.3
es cierta o no.
Gran parte de nuestro lenguaje no son proposiciones, con lo que la lgica no es capaz de repre-
sentarlo todo. Por ejemplo, a una pregunta, a una orden o a una interjeccin no se le puede asignar
verdad o falsedad.
1.1.2. Conectivas lgicas
Comnmente combinamos proposiciones como Si llueve, uso paraguas, Se puede viajar a
Concepcin en bus o en avin, No traje mis documentos, Apruebo el ramo slo si obtengo al
menos 35 enla prueba o El cartel es rojo y azul. Para precisar el signicado de estas combinaciones
usamos tablas de verdad. Al combinar proposiciones P y Q mediante las operaciones indicadas
1
2 CAPTULO1. PRELIMINARES
PPP PPP
F V
V F
(a) Negacin
PPP QQQ PPP QQQ PPP QQQ PPP QQQ PPP QQQ
F F F F V V
F V V F V F
V F V F F F
V V V V V V
(b) Conectivas
Cuadro 1.1 Tablas de verdad para conectivas bsicas
obtenemos el cuadro 1.1, donde falso se indica mediante F y verdadero mediante V . Se anota para
o (disyuncin), usamos para y (conjuncin), para si . . . entonces escribimos (implicancia), y
para expresar si y slo si usamos (equivalencia). Estas operaciones no son todas necesarias, por
ejemplo P Q es equivalente a P Q, y P Q no es ms que (P Q) (Q P). Ntese que
la tabla de verdad para P Q coincide con Q P, su contrapositivo.
En castellano (como en la mayora de los lenguajes modernos) hay ambigedad, en que A o B
puede entenderse como A o B, o ambos (inclusivo), o tambin como A o B, pero no ambos (exclusivo).
Un mito [147] bastante extendido entre los lgicos es que en el latn hay dos disyunciones; vel,
que expresa el sentido inclusivo, y aut, que expresa el exclusivo. En realidad, ambas son ambiguas
como en los lenguajes modernos. La nocin empleada en lgica matemtica es inclusiva, y nuestra
notacin sugiere el latn vel.
Suele decirse A es suciente para B si A B (si la implicancia es cierta, saber que A es cierto
asegura que B es cierto, si A es falso B puede ser cierto como no serlo), y que A es necesario para B
o A slo si B si B A (saber que A es cierto permite concluir que debe serlo B). As suele decirse
A es necesario y suciente para B o A si y slo si B para expresar A B. Note que hay diversas
formas de expresar lo mismo, y es fcil confundirse.
Al decir Hoy almorzar bife a lo pobre o pescado frito con ensalada se entiende que es uno o
el otro, no ambos; en Leo novelas policiales o histricas se subentiende que son ambas; mientras
Sus mascotas son perros o gatos no queda claro si es slo uno o el otro, o posiblemente ambas. De
la misma forma, Si llueve, llevo paraguas puede entenderse como que llevo paraguas exclusiva-
mente cuando llueve, nuestra conectiva implica incluye la posibilidad de llevarlo incluso si no llueve.
La aseveracin sobre hbitos de lectura se interpretara como que no leo nada ms que novelas
policiales o histricas, nuestra formalizacin no es as de excluyente. Hay cosas que se subentienden
u omiten en el lenguaje cotidiano, si se quiere lograr precisin eso no es aceptable.
Leyes Nombre(s)
P P Doble negacin
P P V P P F Medio excluido/contradiccin
P F P P V P Identidad
P V V P F F Dominacin
P P P P P P Idempotencia
(P Q) P Q (P Q) P Q de Morgan
P Q QP P Q QP Conmutatividad
(P Q) R P (QR) (P Q) R P (QR) Asociatividad
P (QR) (P Q) (P R) P (QR) (P Q) (P R) Distributividad
P (P Q) P P (P Q) P Absorcin
Cuadro 1.2 Identidades adicionales
1.1. NOTACINDE LGICA MATEMTICA 3
Identidades tiles resea la tabla 1.2, propiedades importantes da el cuadro 1.3. Ntese que la
segunda columna del cuadro 1.2 se obtiene de la primera intercambiando con y V con F. Esto
es lo que se conoce como dualidad, obtenemos dos equivalencias por el precio de una. A Q P se
Nombre Propiedad
Denicin de implicancia P Q P Q
Denicin de si y slo si P Q (P Q) (Q P)
Absorcin
P (P Q) P
P (P Q) P
Contrapositivo P Q Q P
Reduccin al absurdo P Q P Q F
Transitividad de implicancia (P Q) (Q R) (P R)
Cuadro 1.3 Propiedades importantes de las operaciones lgicas
le llama la recproca de P Q (en ingls, converse). No hay relacin entre los valores de verdad de
una implicancia y su recproca, como es fcil demostrar. Estas debieran memorizarse.
1.1.3. Lgica de predicados
Queremos razonar sobre individuos de un conjunto, no slo de proposiciones que son verdade-
ras o falsas. Usaremos la convencin que letras maysculas representan variables, y letras minscu-
las constantes.
Denicin 1.2. Un predicado es una funcin cuyo valor es verdadero o falso.
Usaremos la convencin que letras maysculas denotan constantes, y letras minsculas varia-
bles. Por ejemplo, tenemos el predicado prime(x) que es verdadero exactamente cuando x es un
nmero primo. As, tanto prime(2) como prime(2
16
+1) son verdaderos, mientras prime(2743) es
falso (2743 13 211).
Podemos considerar la expresin:
a 3b
como un predicado de dos parmetros (a y b) que es verdadero exactamente cuando a 3b. Asimis-
mo,
17 3x
es un predicado que es falso para todos los naturales x y es cierto para el racional 17/3.
Usamos las conectivas lgicas para combinar predicados, construyendo predicados ms com-
plejos. Por ejemplo,
ax
2
+bx +c 0 x
b
_
b
2
4ac
2a
resulta ser cierto si consideramos a, b, c y x como nmeros complejos. Est claro que es importante
indicar de qu conjunto se toman los parmetros indicados.
4 CAPTULO1. PRELIMINARES
1.1.4. Cuanticadores
Desearemos expresar que un predicado es cierto para todos los posibles valores de las variables
involucradas, o que es cierto al menos para uno de ellos. Esto se expresa mediante cuanticadores.
Los que usaremos son (para todo) y (existe). Una proposicin expresada concisamente es
n: prime(n
2
+n +41)
donde prime(x) es el predicado discutido antes. La variable usada queda atada al cuanticador y no
tiene signicado fuera. Explicitando el conjunto al que pertenecen las variables, escribiremos por
ejemplo:
n N: prime(n
2
+n +41) (1.1)
Veamos diferentes valores de n, como resume el cuadro 1.4. Hasta n 39 vamos bien. Pero resulta
n Valor Primo?
1 41 Si
2 43 Si
3 53 Si
.
.
.
.
.
.
.
.
.
39 1 601 Si
Cuadro 1.4 Valores de n
2
+n +41 para 1 n 39
40
2
+40 +41 1681 41 41, con lo que la proposicin 1.1 es falsa. Al polinomio de (1.1) se le
conoce como polinomio de Euler, hay una variedadde polinomios que danprimos para sus primeros
valores.
1.2. Conjuntos
Una de las nociones ms importantes en las matemticas actuales es la de conjunto. En trminos
simples, un conjunto es una coleccin de elementos bien denida, vale decir, para cada elemento
se puede determinar claramente si pertenece o no al conjunto. Para indicar que el elemento a
pertenece al conjunto A, se escribe a A, para indicar que no pertenece se anota a A. A veces
resulta ms cmodo escribir estas relaciones al revs, o sea anotar A a o A / a, respectivamente.
Ciertos conjuntos tienen notacin especial por su frecuente uso. El conjunto especial que no
tiene elementos se llama el conjunto vaco y se anota . Otros son el conjunto de los nmeros
naturales, N {1, 2, 3, . . . }; el de los nmeros enteros, Z {. . . , 3, 2, 1, 0, 1, 2, 3, . . . }; los nmeros
racionales, Q; los reales, R; y los complejos, C. El conjunto de los naturales ms el cero lo anotaremos
N
0
. Anotaremos Q
+
para los nmeros racionales mayores a cero, y similarmente R
+
para los reales.
Una manera de describir un conjunto es por extensin, nombrando cada uno de sus elementos:
A {1, 2, 3, 4, 5}
Esto resulta incmodo para conjuntos grandes, por lo que suele usarse alguna notacin como la
siguiente para no dar explcitamente todos los elementos:
B{1, 2, . . . , 128}
Esto tambin se usa si estamos frente a conjuntos innitos:
C {1, 2, 4, 8, . . . }
1.2. CONJUNTOS 5
El problema es que no queda claro exactamente cules son los elementos a incluir. Una forma
alternativa de describir conjuntos es por intencin, describiendo de alguna forma los elementos que
lo componen. Haciendo referencia a los conjuntos denidos antes:
B{x : 1 x 128} (aunque tal vez es B{2
k
: 0 k <8})
C {2
k
: k 0}
Es importante tener presente que un elemento pertenece o no al conjunto, no puede pertenecer
ms de una vez a l. Otro detalle es que no hay ningn orden entre los elementos de un conjunto. El
conjunto {1, 2, 3, 4, 5} es exactamente el mismo que {4, 2, 1, 5, 3}, o que {2, 1, 2, 5, 4, 2, 3}.
Operaciones comunes entre conjuntos se describen mediante diagramas de Venn en la gura 1.1.
A B
A B
(a) Unin
A B
A B
(b) Interseccin
A B
A B
(c) Diferencia
A B
A B
(d) Diferencia simtrica
A
U
A
(e) Complemento
Figura 1.1 Diagramas de Venn para operaciones entre conjuntos
6 CAPTULO1. PRELIMINARES
Unin: Los elementos que pertenecen a A o a B o a ambos se anota A B. Es fcil ver que
A B BA. Como (A B) C A (BC), se suele omitir el parntesis en tales
expresiones.
Interseccin: Aquellos elementos que pertenecen a A y a Bse anotan A B. Es A BBA.
Nuevamente, (A B) C A (BC), y convencionalmente se omiten los parntesis. Si
tienen interseccin vaca (o sea, A B), se dice que son disjuntos.
Resta: Los elementos de A que no pertenecen a Bse usa A B.
Diferencia simtrica: Los que pertenecena A o a B, pero no a ambos, se escribenA B. Tambin
tenemos A BBA.
Complemento: Si estamos considerando un conjunto de elementos como mbito de discusin, lo
tomamos como universo (comnmente anotado U), y tenemos el complemento del conjunto
A como aquellos elementos de U que no pertenecen a A. Esto lo anotaremos A.
Resulta importante comparar conjuntos.
Igualdad: Dos conjuntos son iguales cuando tienen los mismos elementos. Esto se anota A B.
Subconjunto: Si todos los elementos de A pertenecen a B se anota A B, y se dice que A es
subconjunto de B. Si queremos excluir la posibilidad A B, escribimos A B (a veces se
le llama subconjunto propio). Para indicar que A no es subconjunto de B se anota A / B.
Ntese que algunos usan la notacin A B para lo que anotamos A B, y usan A B
para lo que llamamos A B.
Superconjunto: Si A B, tambin anotamos BA, y similarmente si A Banotamos tambin
BA. Decimos que Bes superconjunto de A.
Las operaciones entre conjuntos pueden expresarse usando notacin lgica:
A B{x : x A x B} (1.2)
A B{x : x A x B} (1.3)
A Bx A x B (1.4)
A Bx Bx A (1.5)
La forma de la unin y la interseccin sugieren la forma de la conectiva lgica en (1.2) y en (1.3). La
direccin de la implicancia en (1.4) puede recordarse como ambas apuntando en la misma direccin.
Podemos denir diferencia y diferencia simtrica en trminos de las operaciones tradicionales:
A BA B
A B(A B) (A B)
(A B) (A B)
Algunas propiedades simples de las anteriores son las dadas en la tabla 1.5, donde A, By C repre-
sentan conjuntos cualquiera. Comprese con la tabla 1.2. Tambin tenemos que si A By BC
entonces A C. Una manera de demostrar igualdad entre conjuntos es usar el hecho que si A B
y BA, entonces A B.
Otra nocin importante es el nmero de elementos del conjunto, su cardinalidad. La cardinali-
dad del conjunto A se anotar [A[. Para conjuntos nitos, es simplemente el nmero de elementos
del conjunto. Si A {1, 2, 4, 8, 16, 32}, tenemos [A[ 6. Slo para se cumple [[ 0. Tambin
tenemos que si A Bentonces [A[ [B[.
1.3. TUPLAS 7
Leyes Nombre(s)
A A Doble complemento
A A U A A Complemento
A A A U A Identidad
A A A U A Dominacin
A BA B A BA B de Morgan
A BBA A BBA Conmutatividad
(A B) C (A B) C Asociatividad
A (BC) (A B) (A C) A (BC) (A B) (A C) Distributividad
A (A B) A A (A B) A Absorcin
Cuadro 1.5 Propiedades de las operaciones entre conjuntos
Es comn referirse a rangos de elementos de algn conjunto, tpicamente R y ocasionalmente N.
Para ello usaremos las notaciones siguientes.
(a, b) {x : a <x <b}
[a, b) {x : a x <b}
(a, b] {x : a <x b}
[a, b] {x : a x b}
Si un extremo es abierto (no incluye el elemento del caso) usamos parntesis, en caso que el extremo
es cerrado (el elemento indicado est incluido) usamos corchetes (parntesis cuadrados). En el caso
especial de un rango de los primeros naturales anotaremos:
[1, n] [n]
Al conjunto de todos los subconjuntos de algn conjunto A (el conjunto potencia de A) lo
anotaremos 2
A
. Tambin es comn notacin como P(A). Por ejemplo:
2
{1,2,3}
{, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}
1.3. Tuplas
A objetos que combinan varios elementos se les llama tuplas. Escribimos las componentes de
la tupla separados por comas y la tupla completa encerrada entre parntesis. El caso ms comn
es el de pares de elementos, como (1, 2), pero tambin podemos tener tros como (x, y, z), y as
sucesivamente. Es lamentable que esta notacin para pares pueda confundirse con rangos abiertos,
como descritos antes. Deber quedar claro del contexto lo que se est discutiendo.
El orden importa, el par (1, 2) no es lo mismo que (2, 1). Pueden repetirse elementos, (5, 2, 1, 5) es
una tupla vlida. Nada dice que los elementos deban ser tomados del mismo conjunto, podemos
tener pares formados por un polinomio y un nmero complejo, como (3x
2
5x +2, 3+5i).
Una manera de construir tuplas es mediante producto cartesiano entre conjuntos:
A B{(a, b) : a A b B}
Podemos construir tros va A BC y as sucesivamente, donde interpretamos A BC como
(A B)C, y la tupla (a, b, c) como una abreviatura del par ((a, b), c), y de forma similar para largos
8 CAPTULO1. PRELIMINARES
mayores. Usaremos potencias para indicar tuplas de un largo dado. Formalmente, para cualquier
conjunto A denimos:
A
1
A
A
n+1
A
n
A si n 1
(1.6)
Tuplas de elementos de un mismo conjunto, particularmente si son de largos posiblemente dife-
rentes, se llaman secuencias. En una secuencia interesa el largo (que para la secuencia anotaremos
[[) y el elemento en cada posicin. Hay una nica secuencia de largo 0, que generalmente llamare-
mos . Si las secuencias son nitas y de elementos atmicos (smbolos) se les suele llamar palabras
o strings (por el trmino en ingls). Ms adelante trataremos extensamente con secuencias innitas.
1.4. Multiconjuntos
Un elemento puede pertenecer varias veces a un multiconjunto. Anotamos las repeticiones
mediante exponentes. Un ejemplo es {a, b, a, c, b, a} {a, a, a, b, b, c} {a
3
, b
2
, c
1
}.
Las operaciones entre multiconjuntos son anes a las de conjuntos: La unin es juntar todos
los elementos de los multiconjuntos que se unen, la interseccin es lo que tienen en comn. Por
ejemplo:
{a
2
, b
5
, c
2
} {b
2
, c
3
, d
1
} {a
2
, b
7
, c
5
, d
1
}
{a
2
, b
5
, c
2
} {b
2
, c
3
, d
1
} {b
2
, c
2
}
En forma similar a las dems operaciones entre conjuntos denimos las operaciones respectivas
para multiconjuntos. Para multiconjuntos tiene sentido hablar del universo del que se toman los
elementos, pero no la idea de complemento. Por ejemplo:
{a
2
, b
5
, c
2
} {b
2
, c
3
, d
1
} {a
2
, b
3
}
{a
2
, b
5
, c
2
} {b
2
, c
3
, d
1
} {a
2
, b
3
, c
1
, d
1
}
Un multiconjunto es subconjunto de otro si todos sus elementos (con las repeticiones respectivas)
aparecen en el segundo:
{a
2
, b
5
, c
2
} {a
3
, b
5
, c
6
, d
1
}
{a
4
, b
5
, c
2
} /{a
3
, b
5
, d
3
}
Una manera de asimilar las operaciones con las de conjuntos es que la unin considera sumar los
elementos de ambos, la interseccin es el mnimo.
1.5. Sumatorias, productorias y yerbas anes
Es comn referirse a sumas de trminos parecidos, como:
a +a
2
+ +a
16
La notacin indicada es sugestiva, pero no queda realmente claro cules son los trminos a incluir.
Esto lo anotamos mediante sumatoria:

1k16
a
k
1.5. SUMATORIAS, PRODUCTORIAS Y YERBAS AFINES 9
Aunque podramos tambin referirnos a

0k4
a
2
k
Ntese que la variable ndice es irrelevante:

1k16
a
k

1r 16
a
r
Adems, esa variable queda atada a la suma, de forma que no tiene signicado fuera:

1r 10
a
r
+

1s10
b
s

1k10
a
k
+

1k10
b
k

1i 10
_
a
i
+b
i
_
Un caso tpico es cuando tenemos un conjunto A, y queremos sumar sobre los k A, como en:

kA
a
k
Incluso podemos tener varias condiciones, en cuyo caso se entiende que estamos sumando sobre el
valor del ndice que cumple con todas ellas:

0k10
k mltiplo de 3
a
k
a
0
+a
3
+a
6
+a
9
Con esta convencin, expresamos sumas innitas como por ejemplo la del problema de Basilea:

k1
1
k
2


2
6
Una notacin til es la convencin de Iverson [146], uno de cuyos campeones es Knuth [119, 171].
Se anota una condicin entre corchetes para indicar el valor 0 si la condicin es falsa, y 1 si es
verdadera. Sirve, entre otras cosas, para eliminar condiciones de las sumas, transformndolas en
sumas innitas y llevando las condiciones a una posicin ms visible y manipulable. Una aplicacin
simple es:

kA
f (k) +

kB
f (k)

k
f (k)[k A] +

k
f (k)[k B]

k
f (k)([k A] +[k B])
Como estamos incluyendo dos veces los elementos en la interseccin:
[k A] +[k B] [k A B] +[k A B]
O sea:

k
f (k)([k A] +[k B])

k
f (k)[k A B] +

k
f (k)[k A B]
Nuestra suma original en notacin ms tradicional es:

kA
f (k) +

kB
f (k)

kAB
f (k) +

kAB
f (k) (1.7)
10 CAPTULO1. PRELIMINARES
Tambin ayuda al intercambiar rdenes de sumas. El multiplicar smbolos de Iverson corresponde a
que ambas condiciones sean ciertas:

1j n

1kj
f ( j , k)

j ,k
f ( j , k)[1 j n][1 k j ]

j ,k
f ( j , k)[1 k j n]

j ,k
f ( j , k)[1 k n][k j n]

1kn

kj n
f ( j , k) (1.8)
Otro ejemplo interesante es:

2kn

1j k1
1
k j

k
[2 k n]

j
[1 j k 1]
1
k j

k, j
[2 k n] [1 j k 1]
1
k j
(1.9)
Podemos reorganizar:
[2 k n] [1 j k 1] [1 j <k n] [1 j n 1] [ j +1 k n] (1.10)
Introduciendo la nueva variable mk j , tenemos:
[ j +1 k n] [ j +1 m+ j n] [1 mn j ] (1.11)
Usando (1.10) con (1.11) en (1.9) permite cambiar el orden de las sumas:

2kn

1j k1
1
k j

k, j
[1 j n 1] [ j +1 k n]
1
k j

1j n1

1mnj
1
m
(1.12)

1j n1
H
nj
(1.13)
Ac usamos la denicin de los nmeros harmnicos:
H
n

1kn
1
k
(1.14)
La suma (1.13) es sobre n j entre 1 y n 1 en reversa, que es lo mismo que sumar sobre j de 1 a
n 1:

2kn

1j k1
1
k j

1j n1
H
j
(1.15)
De forma similar a las sumas podemos expresar productos, por ejemplo factoriales:

1kn
k n!
1.6. POTENCIAS FACTORIALES 11
Tambin productos innitos, como el producto de Wallis (lo demostraremos en el teorema 15.2):

k1
2k
2k 1

2k
2k +1

2
1

2
3

4
3

4
5

6
5

6
7

8
7

8
9


2
Esta idea es aplicable a toda operacin asociativa y conmutativa, ya que implcitamente estamos
obviando completamente el orden en que se efectan las operaciones entre los elementos consi-
derados. Claro que tal cosa slo es vlida en sumas (o productos, etc) nitas o sumas innitas que
convergen en forma incondicional. Podemos expresar uniones e intersecciones:

1k10
A
k

1k10
A
k
Hace falta denir qu se entender por una suma sin trminos, un producto sin factores, etc. La
convencin general es que el resultado es el valor neutro para la operacin indicada. Vale decir, con
U el conjunto universo:

k
t
k
0 porque t +0 t

k
t
k
1 porque t 1 t

k
t
k
porque t t

k
t
k
U porque t U t
Podemos partir con esto y extender la suma (o el producto, etc) un elemento a la vez. La denicin
completa de la sumatoria es:

k
t
k
0

kA{n}
t
k

kA
t
k
+t
n
si n A
El caso ms comn, claro est, es extender un rango. Expresamos k mediante el rango 0 k 1:

0k1
t
k
0

0kn+1
t
k

0kn
t
k
+t
n+1
1.6. Potencias factoriales
Siguiendo a Knuth (ver por ejemplo [119]) usamos las siguientes notaciones para x cualquiera y
entero no negativo n:
x
n

0k<n
(x k) (1.16)
x (x 1) (x (n 1))
x (x 1) (x n +1)
x
n

0k<n
(x +k) (1.17)
x (x +1) (x +n 1)
Ntese que son exactamente n factores, como en las potencias convencionales. Siguiendo la con-
vencin de que productos vacos son 1:
x
0
x
0
1 (1.18)
12 CAPTULO1. PRELIMINARES
Les llamamos potencias factoriales en bajada y en subida (en ingls falling factorial power y rising
factorial power), respectivamente. Hay una variedad de otras notaciones en uso para esto; particular-
mente comn es (x)
k
(smbolo de Pochhammer) para la potencia en bajada (aunque ocasionalmente
se usa para potencias factoriales en subida). Se usa tambin x
(n)
para la potencia factorial en subida.
Algunos autores usan (x)
+
n
y (x)

n
para potencias factoriales en subida y bajada, respectivamente.
Una de las razones que hacen til esta notacin es lo siguiente:
d
n
du
n
u
x
x(x 1)(x 2) (x n +1)u
xn
x
n
u
xn
Esto vale para x C, y con la convencin que la 0-sima derivada es no hacer nada, vale para todo
n N
0
.
Ntese que si m, n y k son enteros no negativos:
m
n+k
m
n
(mn)
k
(1.19)
m
n+k
m
n
(m+n)
k
(1.20)
En particular:
(m+n)
n
m! (m+1)
n
m! (m+n)! (1.21)
Esto porque:
(m+n)
n
m! (m+n)(m+n 1) (m+1) m! (m+n)!
(m+1)
n
m! (m+1)(m+2) (m+n) m! (m+n)!
Tenemos tambin:
n
n
1
n
n! (1.22)
Otra relacin notable es la siguiente:
x
k
(1)
k
(x)
k
(1.23)
Si denimos el operador :
f (n) f (n +1) f (n) (1.24)
El operador es claramente lineal:
(f (n) +g(n)) f (n) +g(n) (1.25)
Tenemos el operador inverso, que tambin es lineal:
f (n)

0k<n
f (k) +c (1.26)
El lmite inferior de la suma es arbitrario, pero hay que jar alguno. Como c 0 vale para cualquier
constante c:
f (n) f (n)
f (n) f (n) +c
(1.27)
1.6. POTENCIAS FACTORIALES 13
para alguna constante arbitraria c. Tenemos:
n
k
(n +1)
k
n
k
(n +1)n
k1
n
k1
(n k +1)
(n +1(n k +1))n
k1
kn
k1
(1.28)
De (1.27) y (1.28) tenemos tambin:
n
k

n
k+1
k +1
+c (1.29)
Otras relaciones de inters son:
c 0 (c es una constante)
2
n
2
n
Demostrar relaciones similares para potencias factoriales en subida queda de ejercicio.
Un resultado interesante es la suma por partes, afn a la integracin por partes. Comenzamos
con:
x
k
y
k
x
k+1
y
k+1
x
k
y
k
x
k+1
y
k+1
x
k
y
k+1
+x
k
y
k+1
x
k
y
k
y
k+1
x
k
+x
k
y
k
(1.30)
De (1.30) reorganizando y sumando tenemos:

0kn
x
k
y
k
x
n+1
y
n+1
x
0
y
0

0kn
y
k+1
x
k
(1.31)
La relacin (1.31) es muy til. Podemos completar as la suma (1.9). En (1.15) habamos llegado a:

2kn

1j k1
1
k j

1j n1
H
j
Podemos considerar:
x
j
y
j
H
j
1 x
j
H
j +1
H
j

1
j +1
y
j
j
Substituyendo en (1.31), con ajustes de ndices:

1j n1
H
j
nH
n
1 H
1

1j n1
( j +1)
1
j +1
nH
n
n
y nalmente:

2kn

1j k1
1
k j
nH
n
n (1.32)
Estas relaciones recuerdan a las del clculo innitesimal, y son base del clculo de diferencias
nitas, con aplicaciones en la aproximacin de funciones mediante polinomios y la interpolacin.
Referencia obligada es Milne-Thomson [208], una visin ms moderna ofrecen Graham, Knuth
y Patashnik [119]. Extensiones de las paralelas indicadas dan pie al clculo umbral, formalizado por
Roman y Rota [247], una visin general dan Bucchianico y Loeb [45].
14 CAPTULO1. PRELIMINARES
1.7. Funciones oor y ceil
Siguiendo nuevamente a Knuth, usaremos la notacin ]x] para el entero inmediatamente infe-
rior a x (en ingls le llaman oor, piso) y ]x] para el entero inmediatamente superior (le llaman ceil,
por ceiling, techo en ingls). La notacin es mnemnica en que indica el entero inferior a travs
de marcar un piso, y el entero superior mediante un techo. Fue Gau quien introdujo la nocin
de oor con la notacin [x], que se mantuvo como estndar indiscutible hasta que Iverson [146]
introdujera las usadas ac en 1962. La notacin de Gau sigue siendo comn en teora de nme-
ros. Algunos usan ]x[ para ]x], y hay quienes interpretan ]x] como la parte entera, el entero ms
cercano en direccin al cero. Nuestra denicin es ms regular, no depende del signo. Por ejemplo:
_

2
3
_
1
]] 3
]] 4
]3] ]3] 3
Una funcin relacionada es la parte fraccional, o funcin diente de sierra (en ingls sawtooth):
{x} x ]x] (1.33)
Se cumplen las siguientes relaciones bsicas para estas funciones:
]x] x <]x] +1 (1.34)
]x] 1 <x ]x] (1.35)
Expresado de otra forma:
x 1 <]x] x (1.36)
x ]x] <x +1 (1.37)
0 {x} <1 (1.38)
Es claro que:
]x] ]x] (1.39)
]x] ]x] (1.40)
De la denicin, ecuacin (1.33), tenemos directamente:
]x] x {x} (1.41)
Usando las relaciones para cambio de signo tenemos:
x ]x] +(x ]x]) ]x] (x +]x])
y resulta
]x] x +{x} (1.42)
Si n es un entero y x un real cualquiera, se cumplen:
]x +n] ]x] +n (1.43)
]x +n] ]x] +n (1.44)
{x +n} {x} (1.45)
1.7. FUNCIONES FLOOR Y CEIL 15
En cambio, para x e y reales cualquiera tenemos:
]x] +]y] ]x +y] ]x] +]y] +1 (1.46)
]x] +]y] 1 ]x +y] ]x] +]y] (1.47)
Algunas identidades ms interesantes con x real, m entero y n natural son [119]:
_
x +m
n
_

_
]x] +m
n
_
(1.48)
_
x +m
n
_

_
]x] +m
n
_
(1.49)
La primera servir de ejemplo de demostracin con estas nociones:
_
x +m
n
_

_
]x] +{x} +m
n
_

_
]x] +m
n
+
{x}
n
_
Como {x} <1, el trmino nal no inuye.
Con m positivo:
n
_
n
m
_
+
_
n +1
m
_
+
_
n +2
m
_
+ +
_
n +m1
m
_
(1.50)
n
_
n
m
_
+
_
n 1
m
_
+
_
n 2
m
_
+ +
_
n m+1
m
_
(1.51)
Para demostrar la primera de stas, llamemos n q m+r , con 0 r <m. Escribamos:

0k<m
_
n +k
m
_

0k<m
_
q +
r +k
m
_
m q +

0k<m
_
r +k
m
_
Los trminos de la ltima suma son 0 si r +k <m y 1 si r +k m, que es el rango mr k <m con
exactamente r elementos, y resulta lo indicado.
Ms generalmente, con x R:
]mx] ]x] +
_
x +
1
m
_
+
_
x +
2
m
_
+ +
_
x +
m1
m
_
(1.52)
]mx] ]x] +
_
x
1
m
_
+
_
x
2
m
_
+ +
_
x
m1
m
_
(1.53)
A la relacin (1.52) se le conoce como identidad de Hermite. La siguiente demostracin es debida a
Matsuoka [202]. Sea:
f (x) ]mx] ]x]
_
x +
1
m
_

_
x +
2
m
_

_
x +
m1
m
_
Entonces:
f
_
x +
1
m
_
]mx +1]
_
x +
1
m
_

_
x +
2
m
_

_
x +
m1
m
_
]x +1]
]mx] ]x]
_
x +
1
m
_

_
x +
2
m
_

_
x +
m1
m
_
f (x)
16 CAPTULO1. PRELIMINARES
Por el otro lado, para 0 x <1/m tenemos f (x) 0, con lo que f (x) 0 para todo x, que es lo que
queramos probar. La relacin (1.53) se demuestra de forma similar.
Alternativamente, para la identidad de Hermite por (1.48) podemos escribir:
_
]mx] +k
m
_

_
mx +k
m
_

_
x +
k
m
_
Por (1.50) resulta lo indicado.
Para m positivo, las siguientes permiten transformar pisos en techos y viceversa:
_
n
m
_

_
n m+1
m
_

_
n +1
m
_
1 (1.54)
_
n
m
_

_
n +m1
m
_

_
n 1
m
_
+1 (1.55)
Para demostrar (1.54), sea n qm+r con 0 r <m. Entonces:
n m+1 (q 1)m+r +1
n +1 qm+r +1
Como 1 r +1 m, resultan las relaciones indicadas en (1.54).
A veces resultan tiles:
_
]x/m]
n
_

_
x
mn
_
(1.56)
_
]x/m]
n
_

_
x
mn
_
(1.57)
Estas sonreejo de lo siguiente: Sea f (x) una funcincontinua montona creciente conla propiedad
especial que si f (x) es entero entonces x es entero. Entonces:
]f (]x])] ]f (x)]
]f (]x])] ]f (x)]
Veremos el primer caso, el otro es anlogo. Cuando x ]x] no hay nada que demostrar. Supongamos
entonces que ]x] < x, con lo que f (]x]) < f (x) ya que f es montona, y ]f (]x])] ]f (x)]. Si fuera
]f (]x])] <]f (x)], habra un nmero y tal que ]x] < y x con f (y) ]f (x)] dado que f es continua.
Pero entonces f (y) es entero, luego por la propiedad especial y es entero tambin. Como no hay
enteros y que cumplen ]x] < y x, debe ser ]f (]x])] ]f (x)].
Esto da:
]
_
]x]] ]
_
x]
1.8. Otros resultados de inters
En esta seccin recogeremos la demostracin de algunos resultados que usaremos ms adelante.
Teorema 1.1 (Desigualdad de Cauchy-Schwarz). Sean vectores de nmeros reales a (a
1
, a
2
, . . . , a
n
)
y b (b
1
, b
2
, . . . , b
n
). Denamos:
p

1kn
a
2
k
q

1kn
a
k
b
k
r

1kn
b
2
k
Entonces q
2
pr .
1.8. OTROS RESULTADOS DE INTERS 17
Demostracin. Sea x R, y consideremos la suma
s(x)

1kn
(a
k
x +b
k
)
2
Siendo s(x) una suma de cuadrados de nmeros reales, s(x) 0. Expandiendo los cuadrados y
agrupando trminos la suma se expresa:
s(x) px
2
+2qx +r
Este polinomio tiene a lo ms un cero real, por lo que su discriminante no es positivo:
4q
2
4pr 0
Esto equivale a lo anunciado.
Teorema 1.2 (Desigualdad triangular). Sean a y b nmeros complejos. Entonces [a +b[ [a[ +[b[.
Se le llama desigualdad triangular porque si se consideran a y b como los lados de un tringulo,
a +b es el tercer lado (vea la gura 1.2), y el teorema dice que la suma de los largos de dos lados del

a
b
a +b
Figura 1.2 Desigualdad triangular
tringulo es mayor que el largo del tercero (salvo cuando el tringulo es en realidad una nica lnea,
en cuyo caso la suma de los largos de dos de los lados es igual al largo del tercero).
Demostracin. Sean a u +i v y b x +i y. En estos trminos, anotando a para el conjugado de a:
[a[
2
u
2
+v
2
a a
[a +b[
2
(a +b) (a +b)
(a +b) (a +b)
a a +b b +a b +a b
[a[
2
+[b[
2
+a b +a b
Por otro lado:
a b +a b (u +i v) (x i y) +(u i v) (x +i y) 2ux +2vy
Por la desigualdad de Cauchy-Schwarz es (ux +vy)
2
(u
2
+v
2
) (x
2
+y
2
), as que ux +vy [a[ [b[ y
resulta:
[a +b[
2
[a[
2
+[b[
2
+a b +a b [a[
2
+2[a[ [b[ +[b[
2
([a[ +[b[)
2
Tomando races cuadradas obtenemos lo prometido.
18 CAPTULO1. PRELIMINARES
Es obvio que esto puede extenderse a sumas nitas:

1kn
a
k

1kn
[a
k
[ (1.58)
Una observacin simple es lo que llaman el principio del palomar (en ingls pigeonhole princi-
ple): Si hay n palomares, y hay ms de n palomas, hay al menos un palomar con ms de una paloma.
Si hay innitas palomas, al menos uno de los palomares tiene innitos huspedes.
Teorema 1.3 (Principio extendido del palomar). Si hay n palomares, y r palomas, hay un palomar
con al menos ]r /n] palomas.
Demostracin. La demostracin es por contradiccin. Supongamos que todos los palomares tienen
menos de ]r /n] palomas. Entonces el nmero total de palomas cumple:
r n
__
r
n
_
1
_
<n
r
n
r
Concluimos r <r , lo que es absurdo.
Para un ejemplo, considere los nmeros 1, 2, . . . , 2n, y elija n+1 de ellos formando el conjunto A.
Entonces hay dos nmeros relativamente primos en A, porque hay dos nmeros que dieren en 1
(considere los n palomares formados por pares adyacentes (1, 2), (3, 4), . . . , (2n 1, 2n), al menos
uno contiene dos nmeros).
Considere nuevamente la situacin anterior. Entonces entre los nmeros de A hay uno que
divide a otro. Ac podemos escribir cada uno de los 2n elementos como 2
k
m, con m impar en el
rango 1 m 2n 1. Como hay n +1 nmeros, pero slo n posibles partes impares, alguna debe
repetirse, y en consecuencia tenemos un par que slo diere en la potencia de 2.
1.9. Notacin asinttica
Notacin Denicin
f (n)
n
O(g(n)) k >0, n
0
n >n
0
: [ f (n)[ k g(n)
f (n)
n
(g(n)) k >0, n
0
n >n
0
: [ f (n)[ k g(n)
f (n)
n
(g(n)) k
1
>0, k
2
>0, n
0
n >n
0
: k
1
g(n) [ f (n)[ k
2
g(n)
f (n)
n
o(g(n)) >0n
0
n >n
0
: [ f (n)[ g(n)
f (n)
n
(g(n)) >0n
0
n >n
0
: [ f (n)[ g(n)
f (n)
n
g(n) lm
n
f (n)/g(n) 1
Cuadro 1.6 Notaciones de Bachmann-Landau
A la familia del cuadro 1.6 se le llama notaciones de Bachmann-Landau, aunque en realidad fue
Knuth [169] quien las deni como las damos ac. Por convencin se escriben las cosas de la forma
ms simple posible, vale decir no se escribe O() sino O(1), tampoco O(3n
2
+17) sino simplemente
O(n
2
). Aunque ac esto se ha anotado en trminos de la variable n, lo que hace subentender n N,
la notacin tiene perfecto sentido para n R.
Intuitivamente:
1.9. NOTACINASINTTICA 19
f (n)
n
O(g(n)): Indica que f crece a lo ms como (una constante por) g cuando n , que g
acota a f por arriba. Se aplica cuando lm
n
f (n) .
f (n)
n
(g(n)): Signica que f crece a lo menos como (una constante por) g cuando n ,
que g acota a f por abajo. Al igual que el caso anterior, se aplica ms que nada cuando
lm
n
f (n) .
f (n)
n
(g(n)): En este caso f est acotada por arriba y abajo por g, ambas crecen a la misma
tasa (dentro de un factor constante) cuando n . Resume el caso en que f (n)
n
O(g(n))
y tambin f (n)
n
(g(n)).
f (n)
n
o(g(n)): Ac f es dominada asintticamente por g, f disminuye ms rpidamente que g
cuando n . Esto se usa ms que nada para comparar funciones tales que lm
n
f (n) 0.
f (n)
n
(g(n)): La situacin ac es la inversa de la anterior, f domina asintticamente a g, g dis-
minuye ms rpidamente que f cuando n . til principalmente cuando lm
n
f (n) 0.
f (n)
n
g(n): Asintticamente, ambas funciones son iguales.
Ms que nada usaremos las primeras tres, las otras se mencionan por completitud.
Es comn el caso de considerar el caso en que x 0 (o alguna otra constante), no n , y por
ejemplo la denicin de O() se debe leer como:
f (x)
xa
O(g(x)) si k >0 x : [x a[ [ f (n)[ k g(n)
Para las dems notaciones se denen en forma afn.
Ntense las similitudes con las deniciones de los lmites respectivos:
lm
n
f (n) a cuando >0N : n N [ f (n) a[
lm
xx
0
f (x) a cuando >0 : 0 <[x x
0
[ [ f (n) a[
Lejos las ms usadas son n , y se suele slo indicar explcitamente en otros casos. Si la variable
es real normalmente se estar frente a la situacin x 0.
Podemos deducir relaciones entre las distintas situaciones, suponiendo que f (n) y g(n) no se
anulan. Las deniciones inmediatamente indican que f (n) (g(n)) si f (n) (g(n)) y tambin
f (n) O(g(n)). Es fcil ver que si f (n) O(g(n)) entonces g(n) ( f (n)), y viceversa. Similarmente,
f (n) o(g(n)) si y slo si g(n) ( f (n)). Vemos tambin que si f (n) o(g(n)) no puede ser simul-
tneamente f (n) (g(n)). Si f (n) g(n), es claro que f (n) (g(n)), pero por ejemplo 3n (n)
y 3n /n. La gura 1.3 resume las relaciones indicadas.
Las notaciones dadas son abusivas. Por ejemplo, n
1
/2
O(n
2
) y 3n
2
17 O(n
2
) denitivamente
no permiten concluir que n
1
/2
3n
2
17. Una notacin ms ajustada sera considerar O(g(n)) como
el conjunto de funciones que cumplen lo indicado, y decir f (n) O(g(n)). La forma ms simple de
evitar problemas es considerar siempre que el lado derecho de igualdades que usan estas notaciones
es una versin menos precisa del lado izquierdo.
Tambin se usa notacin como:
f (n) 3n
3
+2n
2
+O(n)
con la intencin de indicar que hay una funcin g(n) que da:
f (n) 3n
3
+2n
2
+g(n)
20 CAPTULO1. PRELIMINARES
f (n) g(n)
f (n) =O(g(n))
g(n) =( f (n))
f (n) =o(g(n))
g(n) =( f (n)) f (n) =(g(n))
g(n) =( f (n))
g(n) =O( f (n))
f (n) =(g(n))
g(n) =o( f (n))
f (n) =(g(n))
Figura 1.3 Relacin entre f (n) y g(n) en notaciones de Bachmann-Landau
donde g(n) O(n). Este uso hace preferible el no considerar las notaciones como conjuntos de
funciones.
Recordemos la denicin:
lm
n
f (n) a
si para todo >0 existe n
0
tal que para todo n n
0
se cumple [ f (n) a[ . Considerar los lmites
suele ser til para determinar relaciones asintticas. Incluso hay quienes usan resultados como el
teorema siguiente para denirlas.
Teorema 1.4. Dadas funciones f (n) y g(n), si lm
n
f (n)/g(n) es nito, entonces f (n) O(g(n)).
Si adems el lmite es positivo, entonces f (n) (g(n)) (en particular, tenemos f (n) (g(n))). Si
lm
n
f (n)/g(n) , entonces f (n) (g(n)).
Demostracin. Por denicin
lm
n
f (n)
g(n)
a
con a nito cuando para todo >0 hay n
0
tal que siempre que n n
0
tenemos [ f (n)/g(n) a[ .
Esto puede expresarse como:
(a )g(n) f (n) (a +)g(n) cuando n n
0
La segunda desigualdad corresponde a la denicin de f (n) O(g(n)).
Si el lmite a > 0, podemos elegir < a, lo que da constantes positivas en ambas desigualda-
des, y corresponde a f (n) (g(n)). La denicin de f (n) (g(n)) es simplemente una de las
desigualdades del caso anterior.
Por denicin,
lm
n
f (n)
g(n)

1.9. NOTACINASINTTICA 21
signica que para todo c >0 hay n
0
tal que si n n
0
:
f (n)
g(n)
c f (n) cg(n)
En esto basta elegir c con su correspondiente n
0
para satisfacer la denicin de f (n) (g(n)).
Ntese que hay situaciones en las cuales esto no es aplicable. Por ejemplo, sea
f (n) 3n
2
sin
2
n +n/2
Sabemos que 0 sin
2
n 1, con lo que para todo n >1:
f (n)
1
2
n
f (n) 3n
2
+
1
2
n
7
2
n
2
Estas corresponden directamente a f (n) (n) y f (n) O(n
2
). Pero los lmites a los que hace
referencia el teorema 1.4 no ayudan: lm
n
f (n)/n
2
no existe (la razn oscila entre 0 y 3) y tampoco
existe lm
n
f (n)/n (la razn oscila entre 1/2 y 3n). No hay tal que f (n) (n

).
Sabemos del teorema de Taylor (para condiciones sobre la funcin y otros vase un texto de
clculo, por ejemplo [274]) que si a x y x est dentro del radio de convergencia podemos escribir:
f (x)

0i k
f
(i )
(a)
i !
(x a)
i
+R
k
(x)
La forma de Lagrange del residuo es:
R
k
(x)
f
(k+1)
()
(k +1)!
(x a)
k+1
donde a x. Si f
(k+1)
(x) es acotado en el rango de inters, podemos decir:
f (x)

0i k
f
(i )
(a)
i !
(x a)
i
+O((x a)
k+1
)
Por ejemplo:
n
n 1

1
11/n
Aplicando el teorema de Maclaurin:
1
1x
1+x +O(x
2
)
porque
d
2
dx
2
1
1x

2
(1x)
3
En el rango de inters (digamos n 2, que se traduce en 0 <1/n 1/2, donde lo nico que realmente
interesa es que 1/n <1) la derivada est acotada. Resulta:
n
n 1

1
11/n
1+
1
n
+O(n
2
)
22 CAPTULO1. PRELIMINARES
Suponiendo que a
r
/0, tenemos que:
a
r
n
r
+a
r 1
n
r 1
+ +a
0
(n
r
)
Esto porque:
lm
n
a
r
n
r
+a
r 1
n
r 1
+ +a
0
n
r
a
r
Tambin:
a
r
n
r
+a
r 1
n
r 1
+ +a
0
a
r
n
r
Para demostrar esto debemos calcular:
lm
n
a
r
n
r
+a
r 1
n
r 1
+ +a
0
a
r
n
r
lm
n
_
1+
a
r 1
n
r 1
+ +a
0
a
r
n
r
_
1
Es fcil demostrar que para valores reales de a <b:
n
a
O(n
b
) n
b
(n
a
)
Porque tenemos:
lm
n
n
b
n
a
lm
n
n
ba

Por el teorema 1.4 se cumple lo indicado. Lo otro se demuestra de forma similar.


Tambin resulta para a 0 y b >1:
n
a
O(b
n
)
Si a 0, el resultado es inmediato. Si a >0, hacemos:
lm
n
n
a
b
n
exp
_
lm
n
(alnn nlnb)
_
0
El teorema 1.4 entrega lo aseverado. Ntese que esto signica, por ejemplo, que n
100
O(1, 01
n
),
aunque las constantes involucradas son gigantescas.
Hay que tener cuidado de no interpretar f (n) O(g(n)) en el sentido que g(n) es de alguna
forma mejor posible. Por ejemplo,
_
5n
2
+2 O(n
3
), como es fcil demostrar, y eso est lejos de
ser ajustado. Como:
lm
n
_
5n
2
+2
n

_
5
sabemos del teorema 1.4 que
_
5n
2
+2 (n). Pero tambin, dado que para x 0 es 1+x (1+x)
2
,
o (1+x)
1/2
1+x, lo que es lo mismo que (1+x)
1/2
1+O(x):
_
5n
2
+2 n
_
5
_
1+
2
5n
2
n
_
5
_
1+O(1/n
2
)
_
n
_
5+O(1/n)
Ac usamos que f (n) O(g(n)) O( f (n) g(n)), como se demuestra fcilmente. Este tipo de ideas
pueden extenderse bastante, hasta obtener reglas para manipular y simplicar toda variedad de
expresiones asintticas. Para mayores detalles rerase por ejemplo a [119] o a [258, captulo 4]. En
1.10. NOTACINASINTTICA ENALGORITMOS 23
resumen, se aplican las reglas bsicas del lgebra, con algn cuidado: Hay que recordar que las no-
taciones de Bachmann-Landau representan cotas, no valores exactos. Debemos siempre ponernos
en el peor caso, en particular no podemos contar con cancelaciones en sumas. As:
O( f (n)) O(g(n)) O( f (n) +g(n))
O( f (n)) O(g(n)) O( f (n) g(n))
Como un ejemplo obtengamos una aproximacin para e
1/n
_
n
2
2n. Primeramente, por el teo-
rema de Maclaurin:
e
1/n
1+
1
n
+O
_
n
2
_
_
n
2
2n n
_
12/n
n
_
1
1
n

1
2n
2
+O
_
n
3
_
_
Multiplicando directamente tenemos:
e
1/n
_
n
2
2n
_
1+
1
n
+O
_
n
2
_
_
n
_
1
1
n

1
2n
2
+O
_
n
3
_
_
n
1
n
+O(n
2
)
Suele ocurrir que la cota para el resultado es mucho peor que las cotas que entran. Si la cota O(n
2
)
que resulta no fuera suciente, deberemos volver atrs y obtener mejores aproximaciones de partida.
Normalmente deben entrar cotas de la misma precisin para no desperdiciarla en el proceso.
1.10. Notacin asinttica en algoritmos
Comnmente se usa notacin asinttica para expresar tiempos de ejecucin de algoritmos. En
este tipo de aplicacin el que O(g(n)) oculte factores constantes es cmodo, as los resultados no
dependen de detalles de la mquina ni de cmo se program el algoritmo. Para obtener esta clase
de estimaciones basta jarse en alguna operacin clave, tal que el costo de las dems operaciones
sean proporcionales (o menos) que las operaciones claves. Por ejemplo, en el listado 1.1 aparece una
rutina de ordenamiento por insercin codicada en C [162].
1 voi d s o r t ( doubl e a [ ] , i nt n)
2 {
3 i nt i , j ;
4 doubl e tmp ;
5
6 f or ( i = 1; i < n ; i ++) {
7 tmp = a [ i ] ;
8 f or ( j = i 1; j >= 0 && tmp < a [ j ] ; j )
9 a [ j + 1] = a [ j ] ;
10 a [ j + 1] = tmp ;
11 }
12 }
Listado 1.1 Ordenamiento por insercin
Ac las lneas 6, 7 y 10 se ejecutan n 1 veces, mientras las lneas 8 y 9 se ejecutan entre n 1 y
n(n 1)/2 veces, respectivamente cuando el arreglo ya est ordenado y si viene exactamente en
orden inverso. Si simplemente contamos lneas de C ejecutadas (lo que es vlido bajo el supuesto
24 CAPTULO1. PRELIMINARES
que cada lnea toma un tiempo mximo, independiente de los valores de las variables involucradas)
para un valor dado de n, el tiempo de ejecucin ser alguna expresin de la forma
T
min
(n) 3(n 1) +2(n 1)
5n 5
T
max
(n) 3(n 1) +2
n(n 1)
2
n
2
+2n 3
Podemos decir que para el tiempo de ejecucin T(n) del programa tenemos una cota superior dado
que los ciclos anidados de las lneas 6 a 11 dan que la lnea 9 se ejecuta a lo ms n
2
veces, mientras
que en el mejor caso se ejecuta slo n veces, lo que da:
T(n) O(n
2
)
T(n) (n)
Esto coincide con lo obtenido antes. Puede verse que esta clase de estimaciones son simples de
obtener, y son ms sencillas de usar que funciones detalladas. Adems tienen la ventaja de obviar
posibles diferencias en tiempos de ejecucin entre instrucciones. Cabe notar que las anteriores cotas
son las mejores posibles, y en este caso no se puede obtener la misma funcin como cota inferior y
superior (). De todas formas, es til contar con valores asintticos del tiempo de ejecucin [258], el
que unO() o incluso () oculte constantes hace fcil obtener la cota, pero poder decir que el tiempo
de ejecucin (o el nmero de ciertas operaciones) cumple T(n) ag(n) es mucho ms valioso.
Est claro que se puede hacer un anlisis mucho ms detallado, contabilizando cada tipo de
operacin que ejecuta el programa, y considerando el tiempo que demanda en una implementacin
particular. El ejemplo clsico es el monumental trabajo de Knuth [174177] en anlisis de algoritmos.
Esto es mucho ms trabajo, y en caso de cambiar de plataforma (diferente compilador, cambian op-
ciones de compilacin, otro lenguaje o nuevo computador) gran parte del anlisis hay que repetirlo.
Para la mayor parte de los efectos basta con nuestro anlisis somero. Si tenemos que elegir entre
un algoritmo con tiempo de ejecucin O(n
2
) y otro con tiempo de ejecucin O(n
3
), para valores
sucientemente grandes de n ganar el primero. Sin embargo, puede ocurrir que los valores de n de
inters prctico sean ms importantes los factores constantes ocultados por la notacin. Mucho ms
detalle de cmo lograr esta clase de estimaciones se encuentra en textos sobre algoritmos o estructu-
ras de datos, por ejemplo en [2, 65, 258, 263]. Otros algoritmos son mucho ms complejos de manejar,
el desarrollo de mejores algoritmos y el anlisis de su desempeo son reas de investigacin activa.
En [28, 29, 161] se discute cmo llevar algoritmos a buenos programas.
Los algoritmos efectan operaciones discretas sobre estructuras de datos discretas, evaluar su
rendimiento es estudiar esas estructuras y contar las operaciones efectuadas sobre ellas. Esta es una
de las razones que hacen que las matemticas discretas sean fundamentales en la informtica.
2 Relaciones y funciones
Conceptos bsicos de todas las matemticas son los de relacin y funcin. A pesar de su simpli-
cidad, ofrecen aspectos de bastante inters.
2.1. Relaciones
Denicin 2.1. Sean A y Bconjuntos. Una relacin R entre A y Bes un subconjunto de A B.
Si (a, b) R, se anota a R b. Similarmente, para (a, b) R se anota a /R b.
Esto en rigor slo describe relaciones binarias, es perfectamente posible considerar relaciones de
unsolo elemento, de dos, tres o ms elementos. Las relaciones binarias sonlejos las ms importantes,
as que nos restringiremos a ellas ac.
Segn esta denicin son relaciones menor a entre nmeros naturales, pololea con entre
personas, precio de entre libros y sus precios en las libreras de la ciudad. Ntese que perfecta-
mente pueden haber varios elementos relacionados, como por ejemplo 1 <2, 1 <17, 1 <31. De la
misma forma, el mismo libro puede tener precios diferentes en distintas libreras, pueden haber
varias ediciones, o una librera tiene copias usadas ms o menos deterioradas.
Relacionado a lo anterior estn los siguientes conceptos:
Denicin 2.2. Sea R una relacin entre A y B. A la relacin:
R
1
{(y, x) : x R y}
se le llama la transpuesta de R.
Denicin 2.3. Sea R
1
una relacin entre A y B, y R
2
una relacin entre B y C. A la relacin R
denida mediante:
R {(x, z) : y B: x R
1
y y R
2
z}
se le llama la composicin de R
1
y R
2
, y se anota R R
2
R
1
Si consideramos que x R
1
y como que la relacin R
1
lleva de x a y, y de la misma forma y R
2
z
que R
2
lleva de y a z, entonces R
2
R
1
es una relacin que lleva de x a z.
El caso ms comn de relacin es el en que ambos conjuntos son el mismo. Si R UU se habla
de una relacin sobre U. Algunas propiedades de relaciones entre elementos del mismo conjunto
tienen nombres especiales:
Denicin 2.4. Sea R una relacin sobre U. Entonces:
Si para todo a U se cumple a R a, la relacin se llama reexiva.
Si para ningn a U se cumple a R a, la relacin se llama irreexiva.
25
26 CAPTULO2. RELACIONES Y FUNCIONES
Si para todo a, b, c U se cumple que si a R b y b R c entonces a R c la relacin se dice
transitiva.
Si para todo a, b U siempre que a R b se tiene que b R a, a la relacin se le llama simtrica.
Si para todo a, b U, siempre que a R b y b R a entonces a b se dice que la relacin es
antisimtrica.
Si para todo a, b U, se cumple a R b o b R a, se le llama relacin total.
Ejemplos de relaciones reexivas son y sobre Z. La relacin / no es reexiva ni transitiva
ni antisimtrica, pero es simtrica, la relacin < en R es irreexiva, es transitiva, no es simtrica
y es antisimtrica (en forma vaca, ya que no hay a, b R con a < b y b < a). La relacin pololea
con es simtrica, y denitivamente no es antisimtrica. La relacin en Z es antisimtrica, y no es
simtrica. Tanto como sobre R son totales (para cada par a, b se cumple una de a b o b a,
incluso cuando a b). La relacin conoce a entre personas no es total (hay gente que no se conoce
entre s).
Ntese que una relacin total sobre un conjunto no vaco necesariamente es reexiva, ya que
la denicin exige que para cualquier par a, b (incluyendo el caso a b) debe darse una de a R b o
b R a.
Algunas combinaciones de las propiedades se repiten frecuentemente y llevan a propiedades
interesantes de la relacin, con lo que merecen nombres especiales.
Denicin 2.5. Sea R una relacin sobre U. Si R es reexiva, simtrica y transitiva se le llama
relacin de equivalencia.
El caso clsico de relacin de equivalencia es la igualdad. Otros ejemplos son la congruencia y
semejanza geomtricas. Veremos (y usaremos) muchas ms en lo que sigue.
La caracterstica ms importante de las relaciones de equivalencia est dada por el siguiente
teorema.
Teorema 2.1. Sea R U
2
una relacin de equivalencia. Entonces los conjuntos denidos por:
[a]
R
{x U : a R x}
son disjuntos y su unin es todo U.
Demostracin. Hay dos cosas que demostrar ac:
1.

aU
[a]
R
U
2. [a]
R
[b]
R
o [a]
R
[b]
R
Para el primer punto, por reexividad x [x]
R
, con lo que todo elemento x U aparece al menos
en la clase [x]
R
, y la unin de todas las clases es U.
Para el segundo punto consideremos dos elementos distintos a, b U, y veamos las clases [a]
R
y
[b]
R
. Si estos conjuntos son disjuntos, no hay nada que demostrar. Si no son disjuntos, habr x U
en la interseccin, o sea x [a]
R
y x [b]
R
. Tenemos:
x R a por suposicin (2.1)
x R b por suposicin (2.2)
a R x por simetra de R y (2.2) (2.3)
a R b por transitividad de R con (2.2) y (2.3) (2.4)
2.1. RELACIONES 27
Ahora bien, si elegimos y [a]
R
:
y [a]
R
por suposicin (2.5)
y R a por denicin de [a]
R
(2.6)
y R b por transitividad, de (2.6) con (2.4) (2.7)
y [b]
R
por denicin de [b]
R
(2.8)
Vale decir [a]
R
[b]
R
. Por simetra, tambin [b]
R
[a]
R
, y as [a]
R
[b]
R
.
Denicin 2.6. A los conjuntos [a]
R
les llamamos clases de equivalencia de R, al conjunto [a]
R
le
llamamos la clase de equivalencia de a (en R).
Omitiremos la relacin en la notacin de clases de equivalencia cuando se subentienda cul es
la relacin considerada.
A la situacin del teorema 2.1 se le dice que las clases particionan el conjunto U. Las clases
corresponden precisamente a los conjuntos de elementos que la relacin considera equivalentes.
Ejemplo 2.1. Una relacin R tal que si a R b y a R c entonces b R c se llama euclidiana. Demuestre
que toda relacin euclidiana reexiva es una relacin de equivalencia.
Para demostrar que R es relacin de equivalencia, debemos demostrar que es reexiva, simtrica
y transitiva. La relacin dada es reexiva por hiptesis, falta demostrar las otras dos propiedades.
Simetra: Supongamos que a R b. Por reexividad de R, sabemos que a R a; y de a R b y a R a
deducimos b R a.
Transitividad: Supongamos a R b y b R c. Por simetra, es b R a; y de b R a y b R c concluimos a R c.
Ejemplo 2.2. Consideremos las siguientes relaciones. Ntese que para demostrar que una de las
propiedades no vale, basta encontrar un nico caso en que falla; para demostrar que si vale hay que
cubrir todos los casos.
a R
1
b si ab 100, sobre N: Analizamos las distintas propiedades en turno:
No es reexiva, ya que por ejemplo 5 5 /100.
Es simtrica (si ab 100, entonces ba 100).
No es transitiva, ya que ab 100 y bc 100 no signica ac 100. Por ejemplo, tenemos
5 20 100 y 20 5 100, pero 5 5 /100.
No es antisimtrica, ya que por ejemplo 5 R
1
20 y 20 R
1
5, pero 5 /20.
No es total, ya que por ejemplo el natural 3 no tiene ningn natural relacionado.
a R
2
b si a +b es par, sobre N: Esta es una relacin de equivalencia. Las clases son los nmeros
pares y los impares. No es total.
x R
3
y siempre que x y es racional, sobre R: Es relacin de equivalencia. En detalle:
Reexiva: x R
3
x corresponde a x x racional, y 0 es racional.
Transitiva: Si x R
3
y y tambin y R
3
z, quiere decir que x y e y z son racionales, con lo que
x z (x y) +(y z) tambin es racional.
Simtrica: Si x R
3
y, entonces x y es racional, y lo es (x y) y x, o sea, y R
3
x.
Sabemos que hay clases de equivalencia de R
3
, aunque no son fciles de describir.
28 CAPTULO2. RELACIONES Y FUNCIONES
(x
1
, y
1
) R
4
(x
2
, y
2
) cuando x
2
1
+y
2
1
x
2
2
+y
2
2
, sobre R
2
: Equivalencia en R
2
. Las clases de equivalen-
cia son circunferencias de radio r alrededor del origen, denidas por x
2
+y
2
r
2
.
Considere una relacin R y su transpuesta R
1
sobre algn universo U. Veamos qu podemos decir
acerca de R
1
si sabemos que:
R es simtrica: Que R sea simtrica signica que siempre que a R b tambin b R a. Expresando
esto en trminos de R
1
, es que b R
1
a siempre que a R
1
b, y la transpuesta tambin lo es.
R es antisimtrica: Similar al caso anterior, se ve que en tal caso R
1
tambin es antisimtrica.
R es transitiva: Si R es transitiva, R
1
tambin lo es (caminando en la direccin contraria).
R es reexiva: Si a R a, entonces a R
1
a, y R
1
tambin es reexiva.
R es total: Si a R b o b R a entonces tambin a R
1
b o b R
1
a, y R
1
tambin es total.
Se recomienda al lector analizar en detalle estas observaciones, algunas no son tan simples como
parecen.
Denicin 2.7. Sea R una relacin sobre un conjunto U. Si R es reexiva, transitiva y antisimtrica
se le llama relacin de orden. A una relacin de orden que es total se le llama relacin de orden total,
en caso contrario es parcial.
Ejemplos clsicos de relaciones de orden son y . En Z ambas son totales. Otra relacin de
orden es entre conjuntos. No es total, ya que dos conjuntos no necesariamente se relacionan uno
como subconjunto del otro.
Otro ejemplo es la relacin divide a, denida sobre Nmediante:
a [ b si y slo si existe c Ntal que b a c
Veamos en detalle esto ltimo:
Reexividad: a [ a ya que a a 1 y 1 N.
Transitividad: a [ b y b [ c signica que existen m, n Ntales que:
b a m c b n
con lo que:
c b n (a m) n a (m n)
que es decir a [ c.
Antisimetra: Supongamos a [ b y b [ a. Entonces existen m, n Ntales que:
b a m a b n
Esto lleva a:
a (a m) n
a 1 a (m n)
1 m n
2.2. FUNCIONES 29
Si ahora demostramos m1, tenemos b a ma 1 a. Esto lo haremos por contradiccin.
Sabemos que 1 m; supongamos entonces que 1 <m, vale decir que para algn c N:
1+c m
1 n +c n m n
n +c n 1
Esto signica que n <1, y tal n no existe.
Este no es un orden total, ya que por ejemplo no se da ni 6 [ 15 ni 15 [ 6.
Otros ejemplos dan las notaciones asintticas de Bachmann-Landau denidas en la seccin 1.9.
Consideremos la relacin entre funciones f y g dada cuando f (n) (g(n)). Si f (n) (g(n)),
hay n
0
y constantes positivas c
1
y c
2
tales que para todo n n
0
se cumple c
1
g(n) f (n) c
2
g(n).
Esta relacin es reexiva (podemos tomar n
0
1, c
1
1/2 y c
2
2), con lo que f (n) ( f (n)). Es
simtrica, ya que para n n
0
tenemos:
1
c
2
f (n) g(n)
1
c
1
f (n)
vale decir, g(n) ( f (n)). Tambin es transitiva, ya que si f (n) (g(n)) y adems g(n) (h(n)),
existen constantes n
t
0
y c
t
1
y c
t
2
con c
t
1
h(n) g(n) c
t
2
h(n) cuando n n
t
0
. Al tomar n m ax(n
0
, n
t
0
),
combinando resulta c
1
c
t
1
h(n) f (n) c
2
c
t
2
h(n). Esto corresponde a la denicin de f (n) (g(n)).
Si consideramos f (n) (g(n)) como una especie de igualdad entre funciones, un desarrollo
similar har considerar f (n) O(g(n)) como un menor o igual que, y similarmente f (n) (g(n))
como mayor o igual a. Ntese eso s que estas relaciones no son totales. Tmense por ejemplo las
funciones:
f (n)
_
1 si n es par
n caso contrario
g(n)
_
n si n es par
1 caso contrario
No se cumple f (n) (g(n)) ni f (n) O(g(n)), y tampoco g(n) ( f (n)) ni g(n) O( f (n)). Estas
funciones resultan ser no comparables.
2.2. Funciones
Histricamente, en los inicios del anlisis se hablaba de curvas (ver por ejemplo incluso el
ttulo del texto de lHpital [143]), el que Euler hablara de funciones (que inicialmente deniera
esencialmente como expresiones algebraicas, para ms adelante acercarse al concepto actual) fue
un importante avance. El concepto se ren, llegando a hacerse central en matemtica en su forma
actual, en que la funcin f asigna exactamente un valor f (x) a cada x.
Una funcin es simplemente un tipo especial de relacin. Para ser ms precisos:
Denicin 2.8. Sean D y R conjuntos. Decimos que una relacin f es una funcin de D a R si a
cada x D le relaciona exactamente un elemento z de R. Se anota f : D R, llamamos dominio a
D y codominio o recorrido a R. Si (x, z) f llamamos a z el valor de f en x, o imagen de x, y anotamos
f (x). Al conjunto de todos los valores de la funcin se le llama su rango. Se le llama preimagen de z a
cualquier x tal que f (x) z.
Los puntos centrales de la denicin son:
30 CAPTULO2. RELACIONES Y FUNCIONES
1. f (x) est denido para todos los x D.
2. A cada x D la funcin le asigna exactamente un valor en R.
En vez de escribir f (x) x
2
+2 anotaremos tambin f : x x
2
+2.
El caso ms comn de funciones en matemtica elemental tiene dominio y rango conjuntos de
nmeros, por ejemplo N. Si rango y dominio son conjuntos de nmeros, el mtodo ms simple de
especicar la funcin es mediante una frmula, como:
f (n) n
2
+n +41
No siempre es posible llegar a una frmula cerrada. En el caso particular en que el dominio es Nuna
alternativa es usar una denicin recursiva. Un ejemplo importante es:
f (1) 1, f (2) 1, f (n +2) f (n +1) + f (n) (n 1)
Esta funcin es la secuencia de los nmeros de Fibonacci, que comienza:
1, 1, 2, 3, 5, 8, 13, 21, 34, . . .
Nuevamente, hay clasicaciones:
Denicin 2.9. Sea f : D R una funcin. Entonces:
Si para todo x, y D con x / y, f (x) / f (y), se dice inyectiva (o uno a uno).
Si para todo y R hay x D tal que f (x) y se le llama sobreyectiva (o simplemente sobre).
Si la funcin es inyectiva y sobreyectiva se dice biyectiva, tambin se le llama biyeccin.
Para demostrar que una funcin f : X Y es inyectiva, debemos demostrar que si a / b en-
tonces f (a) / f (b). La manera ms sencilla de hacer esto suele ser demostrar el contrapositivo: Si
f (a) f (b), entonces a b. Para demostrar que una funcin f : X Y es sobreyectiva, hay que
demostrar que para cada y Y hay al menos un x X tal que f (x) y. Para demostrar que una
funcin es biyectiva hay que demostrar las dos anteriores.
Como un ejemplo, anotamos para a, b R con a <b el intervalo abierto (a, b) {x : a <x <b}, y
R
+
para los reales positivos. Denimos la funcin f : (a, b) R
+
mediante:
f (t )
t a
b t
Primeramente, f es una funcin, ya que a cada t (a, b) le asigna un nico valor en R
+
. Tambin es
inyectiva, ya que:
f (t ) z

t a
b t
t
a +zb
z +1
As, a un valor dado de z >0 le corresponde a un nico valor de t . Adems es sobreyectiva, ya que
si z > 0 la ltima expresin siempre est denida. Como hay una biyeccin entre R y un rango,
podemos concluir que hay tantos nmeros reales en un rango cualquiera como el total de los reales.
Podemos construir nuevas funciones partiendo de funciones dadas, dado que son simplemente
relaciones:
2.2. FUNCIONES 31
Denicin 2.10. Sean f : A B y g : B C funciones. La composicin de f y g est denida
ya que son relaciones. La funcin inversa de f , f
1
: B A se dene como la transpuesta de la
relacin, f
1
(z) x siempre que f (x) z.
La funcin inversa slo puede existir si el rango de f es su recorrido B ( f es sobreyectiva), y
adems un elemento de B tiene una nica preimagen ( f es inyectiva). Combinando ambas, f es
biyectiva. Adems es fcil ver que en tal caso ( f
1
)
1
f .
Si f , g, h son funciones, es simple demostrar que ( f g)h f (g h) (ac los parntesis indican
en qu orden se componen las funciones).
Teorema 2.2. Sean f : A By g : BC funciones. Entonces:
1. Si f y g son inyectivas, lo es g f .
2. Si f y g son sobreyectivas, lo es g f .
3. Si f y g son biyectivas, lo es g f . La funcin inversa de la composicin es (g f )
1
f
1
g
1
.
4. Si g f es inyectiva, f es inyectiva (g puede no serlo).
5. Si g f es sobreyectiva, g es sobreyectiva ( f puede no serlo).
Demostracin. Demostramos cada punto por turno.
1. Supongamos (g f )(x) (g f )(y). Esto es g( f (x)) g( f (y)), y como supusimos g inyectiva,
quiere decir que f (x) f (y), y esto a su vez que x y ya que f es inyectiva.
2. Si f y g son sobreyectivas, quiere decir que para cada c C hay algn b Btal que g(b) c, y
tambin que para cada b Bhay a A tal que f (a) b. Combinando estas, para cada c C
hay algn a A tal que g( f (a)) c, que es decir (g f )(a) c, y g f es sobreyectiva tambin.
3. Esto se obtiene combinando las partes (1) y (2). La funcin g f lleva (va f ) de A a B, y luego
(va g) de Ba C.
Para la inversa de g f usamos asociatividad y la denicin de inversa:
( f
1
g
1
) (g f ) f
1
(g
1
g) f f
1
f
Terminamos donde comenzamos, realmente es la inversa prometida.
4. Sean x, y A tales que f (x) f (y). Entonces g( f (x)) g( f (y)), y como suponemos g f
inyectiva, x y, con lo que f es inyectiva. Mostraremos ms adelante que g no tiene porqu
ser inyectiva.
5. Como g f es sobreyectiva, para cada c C hay a A para el cual (g f )(a) g( f (a)) c,
y podemos elegir b f (a) para demostrar que para todo c C hay b B tal que g(b) c.
Mostraremos ms adelante que f no tiene porqu ser sobreyectiva.
Ntese que en la demostracin de la parte (4) nada podemos concluir sobre g, puede ser que en
lo anterior no usamos valores de g que hacen fallar la inyeccin. Ver gura 2.1a. De forma similar,
en la parte (5) nada podemos decir sobre f , ver gura 2.1b.
En el caso especial en que dominio y codominio son iguales, podemos hacer algunas cosas
adicionales:
La funcin identidad, : A A, se dene mediante (x) x para todo x A. Claramente
cumple con f f f para toda funcin f . Adems,
1
.
32 CAPTULO2. RELACIONES Y FUNCIONES
(a) Inyectiva (b) Sobreyectiva
Figura 2.1 Funciones compuestas inyectivas y sobreyectivas
Es obvio de la denicin que f f
1
f
1
f si f es biyectiva.
En el caso de una funcin f : X Z, con A X se usa la notacin f (A) { f (x) : x A} para
la imagen de un subconjunto del dominio. Igualmente, para BZ se anota f
1
(B) {x : f (x) B}
para la preimagen de un conjunto. En el ltimo caso la funcin inversa no tiene porqu existir para
que la notacin tenga sentido.
2.3. Operaciones
Un caso particular importante de funciones son las operaciones sobre un conjunto A, que for-
malmente no son ms que funciones op: A
n
A. Ntese que esta denicin trae implcito que
la operacin entrega un valor en A para todos sus posibles argumentos, cosa que suele indicarse
diciendo que la operacin es cerrada. Se suelen distinguir operaciones unarias si tienen un nico
argumento, y binarias si tienen dos. Pueden considerarse operaciones de ms de dos argumentos,
pero son raras en la prctica. Ntese tambin que por ejemplo la divisin entre nmeros reales
no es una operacin segn nuestra denicin (a/b no est denido si b 0). Tampoco lo son las
relaciones, ya que por ejemplo a <b toma dos reales y entrega verdadero o falso.
Las operaciones de uso comn suelen anotarse en forma especial, por ejemplo para la operacin
binaria de suma de a y b anotamos a +b. Esto se conoce como notacin injo. Para operaciones
unarias es posible la notacin prejo (como en a o tan) o postjo (es el caso del factorial, como
en n!).
En rigor, una expresin como a +b +c no tiene sentido, debiera indicarse el orden en que se
efectan las operaciones mediante parntesis. Para ahorrar notacin, se suelen adoptar convencio-
nes: Si a b c ha de interpretarse como (a b) c se dice que la operacin asocia hacia la izquierda
(o que es asociativa izquierda), si en cambio a b c signica a (b c) se dice que asocia hacia la
derecha o es asociativa derecha. En caso que a b c no se le d sentido, se le llama no asociativa.
Las operaciones comunes se consideran todas asociativas izquierdas; salvo las potencias, que son
asociativas derechas (o sea, 2
3
4
2
(3
4
)
).
Si tenemos dos operaciones c y , y se interpretan a cb c como (a cb) c y a b cc como
a (b cc) (siempre se efecta c antes de ) se dice que c tiene mayor precedencia que . En caso
que ambas operaciones sean asociativas izquierdas, y acbc se interpreta como (acb)c y abcc
2.3. OPERACIONES 33
como (a b) cc (siempre se efectan las operaciones de izquierda a derecha), se dice que tienen la
misma precedencia.
Hay ciertas propiedades de las funciones mismas que son de inters tambin.
Si a b b a la operacin se dice conmutativa.
Si (a b) c a (b c), la operacin se llama asociativa. Esto no debe confundirse con las
convenciones de notacin mencionadas antes.
De existir un elemento e tal que ae e a a para todos los a, a e se le llama elemento neutro
de la operacin.
Si siempre se cumple (ab)cc (acc)(bcc), se dice que cdistribuye sobre por la derecha,
en forma similar si a c(b c) (a cb) (a cc) por la izquierda. Si c distribuye sobre tanto
por la derecha como por la izquierda, se dice simplemente que distribuye sobre ella.
3 Demostraciones
La forma general de funcionar de las matemticas es deducir nuevos resultados partiendo de
cosas ya demostradas. Se busca tener una cadena slida de deducciones, no se aceptan cosas ob-
vias ni razonamientos por analoga. Aun as, las matemticas son una actividad humana, repleta de
errores y paradojas [167]. Incluso Barbeau [21] se dedic durante ms de una dcada a recopilar erro-
res, desde desarrollos completamente incorrectos que llevan a la solucin correcta a razonamientos
cuyo rango de validez no es simple de determinar, y los discute en detalle.
Se ha dicho que la efectividad de las matemticas en las ciencias naturales no es para nada razo-
nable [290]. La simplicidad de las matemticas y la aplicabilidad de los mismos conceptos en reas
totalmente diferentes tampoco tiene explicacin racional [130]. El papel de una demostracin en las
matemticas ha ido cambiando, junto con lo que se considera una demostracin vlida [242]. Una
discusin mucho ms detallada de tcnicas de demostracin que la que puede darse en este exiguo
espacio ofrece Hammack [128], incluyendo un amplio rango de ejercicios. Precisamente el siglo XX
vio profundas controversias sobre el signicado de las matemticas y las demostraciones en parti-
cular (ver Kleiner [166] para una perspectiva histrica; de Millo [70] arguye que debe considerarse
como una actividad social, en las lneas en que Kuhn [183] dene ciencia).
Para construir una cadena slida de conclusiones debemos comenzar con alguna base, que
asumimos verdadera sin demostracin. Esto (que fue el aporte ms importante de Euclides) es
lo que se conoce como el mtodo axiomtico, y los puntos de partida son los axiomas. Claro que
Euclides y sus sucesores hasta la poca de Gau (17771855) consideraban un axioma como una
verdad simple, indiscutible. La visin actual (desde alrededor de 1900, de manos particularmente
de Hilbert) es que un axioma simplemente describe la relacin entre los trminos no denidos de
la teora entre manos, y se usan como punto de partida para deducir nuevas relaciones. Cuando los
axiomas se cumplen, estamos resolviendo problemas en reas diversas de una sola vez.
Ntese que en matemtica (como en las dems ciencias) teora es un cuerpo organizado de
conocimiento aplicable a un rango relativamente amplio de situaciones. No se reere, como suele
usarse el trmino coloquialmente, a una sospecha que puede o no ser cierta.
Por ejemplo, al hablar de grupos (cosa que haremos en mayor detalle en la seccin 5.3) partimos
con un conjunto de elementos y una operacin que cumplen ciertos axiomas. Estas propiedades
simples se cumplen en una gran variedad de situaciones, y la teora es de amplia aplicacin.
Algunos trminos para indicar el papel que una proposicin tiene en un cuerpo mayor son los
siguientes:
Un teorema es una proposicin importante, un resultado central.
Un corolario es un resultado (teorema) que se obtiene casi inmediatamente de alguna propo-
sicin anterior.
Un lema es un resultado preliminar, un paso para demostrar proposiciones ms adelante.
35
36 CAPTULO3. DEMOSTRACIONES
Esto no es para nada una divisin precisa, hay lemas que resultaron mucho ms importantes que
los teoremas que se demostraron usndolos. Un poco en broma se dice que el sueo de todo ma-
temtico no es ser conocido por algn teorema, sino por un lema. No es uniforme el uso de esta
nomenclatura, hay autores que llaman proposicin a todos los resultados que demuestran, in-
dependiente de su importancia o de cun fcil resultan de demostrar de proposiciones anteriores.
Usaremos la divisin tradicional, y nombraremos simplemente proposicin a un resultado inde-
pendiente, sin mayor relevancia posterior.
Los teoremas y lemas suelen nombrarse por quienes los demostraron por primera vez, aunque
hay bastantes excepciones a esta regla. Por ejemplo, el importante resultado conocido como lema de
Burnside el mismo Burnside se lo atribuye a Frobenius, aunque mucho antes lo haba demostrado
Cauchy. Burnside demostr su utilidad en una inuyente publicacin [46]. Algunos lo llaman el
lema que no es de Burnside por esta enrevesada historia. El teorema de Borges es llamado as en
honor al cuento La biblioteca de Babel, del ilustre escritor argentino por Flajolet y Sedgewick [101].
La conocida regla de lHpital para calcular lmites en realidad se debe a Johann Bernoulli, a
quien el marqus de lHpital haba contratado como tutor en matemticas, con un contrato que
deca en parte darle sus resultados, para usarlos a gusto. El marqus public el primer texto impreso
de clculo diferencial [143], basado en gran medida en el trabajo de Bernoulli. En el prefacio de su
libro lHpital indica que us libremente resultados de otros y que felizmente dara el crdito a
quienes los reclamaran como suyos. Igual Bernoulli se quej amargamente que sus aportes no eran
reconocidos como deban.
Otro caso interesante lo provee el postulado de Bertrand, que dice que entre los naturales n y
2n siempre hay un nmero primo, cosa que not Bertrand en 1845 y veric hasta 3000000; pero
fue demostrado por primera vez por Chebyshev. Y este resultado se conoce como postulado, no
como teorema. Tambin se conoce por los nombres de teorema de Bertrand-Chebyshev o teorema de
Chebyshev.
Tal vez el caso ms famoso es el del ltimo (o gran) teorema de Fermat, quien en 1637 anot
en el margen de un libro que tena una maravillosa demostracin de que x
n
+ y
n
z
n
no tiene
soluciones en nmeros naturales x, y, z si n >2, pero que la demostracin no caba en ese margen.
Este resultado se demostr recin en 1995 [291], usando tcnicas muy recientes. Se le llam ltimo
teorema porque de muchos resultados anunciados sin demostracin por Fermat fue el ltimo en
ser resuelto.
Es comn que resultados importantes tengan muchas demostraciones diferentes. Se ha dicho
que el teorema de Pitgoras es el que ms demostraciones tiene, slo en [196] se listan 367 de-
mostraciones distintas. Hay que considerar que un teorema (u otro resultado) tiene inters como
herramienta a ser aplicada, pero su demostracin tambin sirve para iluminar relaciones entre dis-
tintos resultados. Seleccionar la demostracin ms simple de entender es vital a la hora de elegir
cmo ensear a nuevas generaciones, muchas de las demostraciones que veremos son radicalmente
diferentes a las demostraciones originales de los mismos resultados (a veces incluso cubren el te-
ma en forma mucho ms amplia). Contar con varias demostraciones independientes de resultados
importantes adems ayuda a aumentar la conanza en ellos.
Hay varios esquemas de demostracin con las que uno debe familiarizarse. En el resto del texto
usaremos estos esquemas con frecuencia. Algunas pistas adicionales sobre cmo estructurar una
demostracin da Cusick [69]. Taylor [282] da las siguientes recomendaciones:
Conozca y entienda las deniciones Razonamiento preciso requiere saber sobre qu esta-
mos razonando. Si un trmino no es familiar, busque su denicin.
Desarrolle ejemplos Asegrese que lo que intenta demostrar tiene alguna posibilidad de ser
cierto. Son pocas las instancias en que exhibir un ejemplo es demostracin suciente (salvo
que queramos demostrar que algo existe), pero un par de ejemplos ayudan a familiarizarse
3.1. DESENROLLAR DEFINICIONES 37
con el terreno. Es un buen momento para vericar que aplica correctamente las deniciones.
Por lo dems, en el desarrollo de ejemplos puede tropezar con una idea o relacin til para
demostrar el caso general. La inspiracin nace en los lugares ms extraos.
Busque contraejemplos Si sospecha que lo que intenta demostrar es falso, busque un con-
traejemplo. Incluso si es cierto, buscar contraejemplos y analizar porqu la bsqueda falla
puede indicar mtodos de ataque.
Intente usar las tcnicas estndar de demostracin Las tcnicas que discutiremos ms
abajo han sido probadas y renadas por generaciones. Hay situaciones en que ninguna de
ellas es aplicable, pero son muy raras. No se encasille en una tcnica, intente variantes.
Parta con un esqueleto Escriba lo que quiere demostrar, y un esbozo a llenar para la demos-
tracin. Vaya completando detalles. Puede ser til trabajar desde ambos extremos (desde las
hiptesis hacia la conclusin, y desde la conclusin hacia las hiptesis), en la esperanza que
se encuentren al medio. No se desanime si el primer intento no funciona, pruebe otro camino.
Navaja de Ockham Si todo lo dems es igual, la solucin ms simple es mejor.
3.1. Desenrollar deniciones
Una estrategia bsica, aplicable siempre que no se conozcan relaciones directas que ayuden, es
reducir trminos a sus deniciones.
Denicin3.1. Un nmero se dice algebraico si es un cero de un polinomio con coecientes enteros.
Proposicin 3.1. La suma de un nmero racional y uno algebraico es algebraico.
No tenemos nada que relacione nmeros racionales y algebraicos, as que partimos de las de-
niciones.
Demostracin. Sea un nmero algebraico, y un nmero racional. Por denicin de nmero
algebraico, hay un polinomio p(x) a
n
x
n
+a
n1
x
n1
+ +a
0
tal que p() 0. Por la denicin de
nmero racional, a/b, con a y b enteros y b /0. Entonces q(x) b
n
p(x ) es un polinomio
de coecientes enteros. Pero q(+) b
n
p() 0, con lo que + es un cero de un polinomio de
coecientes enteros, y + es algebraico.
Esta tcnica la usaremos con mucha frecuencia en lo que sigue.
Se suele marcar el comienzo de la demostracin mediante algo como la palabra Demostracin,
y el n de la misma mediante algo como o Q.E.D. (abreviatura del latn quod erat demostrandum,
que es decir lo que se quera demostrar).
3.2. Implicancias
Interesan proposiciones de la forma Si P, entonces Q. Tambin se expresan como P implica
Q, diciendo Q es necesario para P, mediante P slo si Q o tambin P es suciente para Q.
Esta nomenclatura se aclara si se revisa la tabla de verdad de nuestra relacin implica. Si P Q
es verdadero, y Q es falso, denitivamente es falso P; por lo que P verdadero es posible slo si Q
es verdadero. Por otro lado, si P es verdadero, siempre es verdadero Q; pero Q puede ser verdadero
siendo P falso.
Proposiciones relacionadas a P Q son su converso Q P, su inverso P Q y su contra-
positivo Q P. Es importante distinguirlas; la implicancia y su contrapositivo son equivalentes,
y el converso y el inverso son equivalentes (el inverso es el contrapositivo del converso).
38 CAPTULO3. DEMOSTRACIONES
3.2.1. Primer mtodo Demostracin directa
Para demostrar que P implica Q:
1. Escriba Supongamos P
2. Demuestre que Q es una consecuencia lgica.
Por ejemplo:
Proposicin 3.2. Si 0 x 2, entonces x
3
+4x +1 >0
Antes de demostrar esto, haremos algn trabajo de borrador para ver porqu es cierto. La de-
sigualdad es cierta si x 0, el lado izquierdo es 1 y 1 > 0. Al aumentar x, el trmino 4x (que es
positivo) inicialmente es de mayor magnitud que x
3
(que es negativo). Por ejemplo, para x 1
tenemos 4x 4, mientras x
3
1. Considerando estos dos trminos, da la impresin que x
3
recin comienza a dominar cuando x >2. O sea, x
3
+4x no ser negativo para todo x entre 0 y 2, lo
que signicara que x
3
+4x +1 es positivo.
Hasta ac vamos bien. Necesitamos reemplazar los da la impresin y parece en lo anterior
por pasos lgicos slidos. Una manera de enfrentar el trmino x
3
+4x es factorizando:
x
3
+4x x(2x)(2+x) (3.1)
Bien! Para 0 x 2, ninguno de los factores del lado izquierdo de (3.1) es negativo, y por tanto el
producto no es negativo.
Formalmente, esto queda expresado en la siguiente demostracin. Probablemente alguien que
se encuentre con ella quedar convencido que el resultado es correcto, pero igual se preguntar de
dnde sali este razonamiento.
Demostracin. Por hiptesis 0 x 2. Entonces ninguno de x, 2x o 2+x es negativo, y su producto
no es negativo. Sumando 1 al producto de estos tres factores da un resultado positivo:
x(2x)(2+x) +1 x
3
+4x +1 >0
Un par de puntos ac que son aplicables a toda demostracin.
Frecuentemente habr que hacer trabajo en borrador mientras se construye la demostracin.
El trabajo en borrador puede ser todo lo desorganizado que se quiera, lleno de ideas que no
resultaron, diagramas extraos, palabrotas, lo que sea.
La versin denitiva de la demostracin debe ser concisa y clara. Las matemticas tienen sus
propias reglas de esttica, y una demostracin elegante es altamente apreciada. Un ejemplo
es la coleccin de demostraciones hermosas en [3]. Algunos de los grandes teoremas de las
matemticas se han comparado con las mximas obras de arte [86], que debieran apreciarse
como tales.
Organizar una demostracin compleja tiene mucho en comn con escribir un programa: Hay
que dividirla en trozos digeribles, particularmente en lemas fciles de usar (y reusables). Si
alguna parte de la demostracin es repetitiva, tal vez vale la pena abstraerla, y explicarla una
vez solamente.
3.3. DEMOSTRANDOUNSI Y SLOSI 39
3.2.2. Segundo mtodo Demostrar el contrapositivo
Una implicacin P implica Q, es lgicamente equivalente a su contrapositiva, No Q implica
no P, como puede verse de las tablas de verdad correspondientes. Demostrar una es tan bueno
como demostrar la otra, y puede ser mucho ms fcil demostrar el contrapositivo. De ser as, el
esquema es:
1. Escriba Demostraremos el contrapositivo, luego enuncie ste.
2. Aplique alguna de las otras tcnicas.
Proposicin 3.3. Si r es irracional, entonces
_
r tambin es irracional.
Recuerde que un nmero es racional si es la razn entre nmeros enteros, e irracional en caso
contrario.
Demostracin. Demostraremos el contrapositivo: Si
_
r es racional, entonces r es racional.
Supongamos que
_
r es racional. Esto signica que existen enteros a y b tales que:
_
r
a
b
(3.2)
Entonces, elevando (3.2) al cuadrado:
r
a
2
b
2
(3.3)
Como en (3.3) a
2
y b
2
son enteros, r es racional.
3.3. Demostrando un Si y slo si
Muchos teoremas aseguran que dos proposiciones son lgicamente equivalentes; vale decir, una
vale si y slo si vale la otra. A esto tambin se le llama necesario y suciente, como habamos
indicado antes; a veces lo expresaremos mediante exactamente cuando. Tambin se dice que P
implica Q y a la inversa. La frase si y slo si aparece tan comnmente que se suele abreviar ssi (en
ingls, if and only if se abrevia iff ). Nos abstendremos de usar estas abreviaturas, es demasiado
fcil omitir una letra (o no verla al leer).
3.3.1. Primer mtodo Cada una implica la otra
La proposicin P si y slo si Q equivale a la conjuncin de las dos proposiciones P implica Q
y Q implica P. As demostramos dos implicancias:
1. Escriba Demostraremos que P implica Q, y viceversa.
2. Escriba Primero demostraremos P implica Q. Hgalo usando alguna de las tcnicas para
demostrar implicancias.
3. Escriba Ahora demostraremos que Q implica P. Nuevamente, aplique una de las tcnicas
para demostrar implicancias.
Una variante de esto se da cuando se quiere demostrar que una coleccin de proposiciones
son equivalentes entre s. Por ejemplo, para demostrar que P, Q y R son equivalentes, podemos
demostrar que P implica Q, que Q implica R, y nalmente que R implica P.
Una situacin a primera vista sorprendente se da cuando se demuestra el contrapositivo de la
conversa. O sea, demostramos P Q y P Q.
40 CAPTULO3. DEMOSTRACIONES
3.3.2. Segundo mtodo Cadena de equivalencias
Otra alternativa es demostrar una cadena de equivalencias. Para demostrar que P si y slo si Q:
1. Escriba Construimos una cadena de si y slo si.
2. Demuestre que P es equivalente a una segunda proposicin, que es equivalente a una tercera,
y as sucesivamente hasta llegar a Q.
Esto muchas veces requiere ms ingenio que el primer mtodo, pero suele dar una demostracin
simple y clara.
La desviacin estndar de un conjunto de valores reales x
1
, x
2
, . . . , x
n
se dene como:

_
(x
1
)
2
+(x
2
)
2
+ +(x
n
)
2
n
(3.4)
donde la media est dada por:

x
1
+x
2
+ +x
n
n
(3.5)
Proposicin 3.4. La desviacin estndar de un conjunto de valores x
1
, x
2
, . . . , x
n
es cero si y slo si
todos los valores son iguales.
Demostracin. Construiremos una cadena de si y slo si, comenzando con la proposicin de que
la desviacin estndar es cero:
_
(x
1
)
2
+(x
2
)
2
+ +(x
n
)
2
n
0 (3.6)
Como el nico nmero cuya raz cuadrada es cero es cero, la ecuacin (3.6) vale si y slo si:
(x
1
)
2
+(x
2
)
2
+ +(x
n
)
2
0 (3.7)
Como el cuadrado de un nmero real nunca es negativo, cada trmino del lado izquierdo de (3.7) es
no-negativo. Luego, el lado izquierdo de (3.7) es cero si y slo si cada trmino es cero. Pero el trmino
(x
i
)
2
es cero si y slo si x
i
, o sea, todos son iguales a la media.
Requeriremos lo que viene, que es un resultado sin particular importancia por s mismo, en la
demostracin de la proposicin siguiente. Excusa perfecta para un lema. Usaremos demostracin
por induccin, que se discute en mayor detalle en la seccin 3.6.
Lema 3.1. El entero 10
k
1 es divisible por 3 para todo k 0.
Demostracin. Por induccin sobre k.
Base: Para k 0, dice que 0 es divisible por 3, lo que es cierto.
Induccin: Suponemos que 10
k
1 3c para c N
0
. Entonces:
10
k+1
1 ((10
k
1) +1) 101
(3c +1) 101
30c +9
Como ambos trminos son divisibles por 3, lo es la suma.
3.4. DEMOSTRACINPOR CASOS 41
Por induccin, vale para k N
0
.
Proposicin 3.5. El entero m es divisible por 3 si y slo si la suma de sus dgitos es divisible por 3.
Demostracin. Sea s la suma de los dgitos de m, o sea si d
k

k0
son los dgitos de m, con lo que
0 d
k
<10, tenemos:
md
n
10
n
+d
n1
10
n1
+ +d
1
10+d
0
(3.8)
s d
n
+d
n1
+ +d
1
+d
0
(3.9)
ms d
n

_
10
n
1
_
+d
n1

_
10
n1
1
_
+ +d
1
(101) +d
0
(11) (3.10)
Cada uno de los factores 10
k
1 en (3.10) es divisible por 3 por el lema 3.1, con lo que ms es siempre
divisible por 3; y m es divisible por 3 si y slo si s lo es.
3.4. Demostracin por casos
Ac la idea es dividir una demostracin complicada en casos ms simples, y luego demostrar
cada caso en turno. Es importante asegurarse que los casos resulten exhaustivos, vale decir, que no
queden cabos sueltos.
Muchas veces los casos aparecen en el problema mismo, tpicamente en forma de una disyun-
cin. Si alguno de los conceptos involucrados est denido por casos puede ser necesario conside-
rarlos por separado.
Proposicin 3.6. Para x R, se cumple x [x[.
Simplemente seguimos la denicin:
[x[
_
x si x 0
x si x <0
Demostracin. Consideramos por separado los casos x 0 y x <0.
x 0: En este caso es [x[ x, y lo anunciado se cumple.
x <0: En este caso [x[ x >0, y x <0 <x [x[. Tambin se cumple.
Estas son todas las posibilidades.
En otras ocasiones conviene introducir casos de manera de tener ms con qu trabajar.
Proposicin 3.7. Si n es un entero, entonces n
2
+n es par.
Demostracin. Conviene separar la demostracin en dos casos:
n es par: En este caso, n
2
y n son ambos pares, y su suma es par.
n es impar: Ac n
2
y n son ambos impares, y su suma es par.
Como estos casos cubren todas las posibilidades de n, vale para todo entero.
Como en este ejemplo, suele ser til considerar casos de enteros pares e impares. Tambin es
comn separar en menor, igual o mayor a cero.
Dadas dos personas, estas se han encontrado o no. A un conjunto de personas en el que cada
par de personas se han encontrado lo llamaremos club, a un conjunto de personas en el que ningn
par se ha encontrado lo llamaremos extraos.
42 CAPTULO3. DEMOSTRACIONES
Teorema 3.2. Toda coleccin de 6 personas incluye un club de 3 personas o un grupo de 3 extraos.
Claramente si esto se cumple con 6 personas, se cumplir con todo grupo mayor tambin. Al
decir que hay un club de 3 personas, estamos indicando que hay un club de al menos tres personas
(podemos tomar tres cualquiera de ellas como un club de tres).
Demostracin. La demostracin es por casos. Sea x una de las 6 personas. Hay dos posibilidades:
1. Entre las 5 personas restantes, al menos 3 se han encontrado con x.
2. Entre las 5 personas restantes, al menos 3 no se han encontrado con x.
Tenemos que asegurarnos que debe darse uno de los dos casos. Pero esto es fcil: Hemos dividido el
grupo de 5 en dos, los que se han encontrado con x y los que no; uno de los dos grupos debe tener
al menos 3 miembros. Ahora consideraremos cada caso por turno:
1. Consideremos el caso en que hay al menos 3 personas se han encontrado con x, y tomemos 3
de ellas. Tenemos dos casos, que nuevamente son exhaustivos:
a) Ningn par de estas 3 personas se han encontrado. Tenemos un grupo de 3 extraos, con
lo que el teorema vale en este caso.
b) Algn par de estas 3 personas se han encontrado, con lo que este par con x forman un
club, y el teorema vale en este caso.
O sea, el teorema vale si hay 3 personas que se han encontrado con x.
2. Supongamos que a lo menos 3 personas nunca se han encontrado con x, y consideremos 3 de
ellas. Este caso tambin se divide en dos:
a) Cada par de estas personas se han encontrado entre s. Entonces forman un club, y el
teorema vale en este caso.
b) Algn par de estas 3 personas no se han encontrado nunca, con lo que forman un grupo
de 3 extraos con x, y en este caso el teorema vale.
As el teorema tambin vale en caso que hayan 3 que no se han encontrado con x.
Hemos cubierto todas las distintas alternativas, y en todas ellas hemos demostrado que el teorema
se cumple.
En general no seremos tan detallistas en nuestras demostraciones. En particular, se ve que los
distintos casos son todos muy similares, y en la prctica bastara detallar uno e indicar que los dems
se manejan de forma afn. De todas maneras nuestras demostraciones sern ms detalladas que las
usuales entre matemticos profesionales. Es comn usar la frase sin prdida de generalidad (en
ingls without loss of generality, comnmente abreviado wlog) para indicar que slo se tratar uno
de varios casos muy similares.
Proposicin 3.8. Si dos enteros son de paridad opuesta, su suma es impar.
Demostracin. Sean m y n enteros de paridad opuesta. Sin prdida de generalidad, sea m par y n
impar. Vale decir m2a y n 2b +1 con a y b enteros. Entonces m+n 2a +2b +1 2(a +b) +1,
que es impar.
Las demostraciones por casos se consideran poco elegantes, particularmente si los casos a consi-
derar son muchos. Pero por ejemplo para el famoso problema de los cuatro colores la demostracin
ms simple a la fecha involucra analizar alrededor de 600 casos.
3.5. DEMOSTRACINPOR CONTRADICCIN 43
3.5. Demostracin por contradiccin
A veces una demostracin toma la forma a la que alude la famosa cita de Sherlock Holmes:
How often have I said to you that when you have eliminated the impossible, whatever remains,
however improbable, must be the truth? (Conan Doyle [60]). A esta importante tcnica tambin se
le llama demostracin indirecta o por reduccin al absurdo (en ingls se suele usar la frase del
latn reductio ad absurdum). La idea bsica es partir con lo contrario de lo que se quiere demostrar,
y llegar a una contradiccin. Suele ser una manera fcil de demostrar algo; pero la descripcin como
indirecta es bastante adecuada, puede llevar a demostraciones complejas, difciles de entender.
Por esta razn se recomienda [178] evitarla en lo posible.
Partimos de la negacin de lo que se quiere demostrar, y deducimos algo que se sabe es falso
(una contradiccin). Sabemos que si P implica falso, la nica manera en que esta proposicin puede
ser verdadera es que P sea falso. Debe tenerse cuidado de no usar los resultados intermedios de tales
demostraciones fuera de ellas, como de ellos se deduce algo falso son falsos.
La forma de construir una demostracin segn este esquema es como sigue:
1. Escriba La demostracin es por contradiccin. Enuncie la negacin de lo que se desea de-
mostrar, indicando que se supone que esto es cierto.
2. Deduzca de lo anterior algo que se sabe es falso. Concluya Esta contradiccin demuestra el
teorema.
Ya vimos unejemplo de esta tcnica al demostrar el principio extendido del palomar, teorema 1.3.
El ejemplo clsico es la demostracin de que
_
2 es irracional. Dice la leyenda que Pitgoras se enoj
tanto con la demostracin de la existencia de irracionales (que echaba por tierra su losofa de
todo se expresa en nmeros, donde nmeros hay que entenderlo como nmeros naturales y sus
razones) que hizo ahogar a quien descubri esto. En realidad, este resultado produjo un escndalo
maysculo en la matemtica: Gran parte de la teora de semejanza de guras se basaba en que
obviamente todas las proporciones podan expresarse como razones entre enteros. Fue el genio de
Eudoxo de Cnido quien resolvi el tema mediante su teora de proporciones, precursor de la actual
denicin de lmite.
Teorema 3.3 (Hipasso de Metaponto).
_
2 es irracional
Demostracin. La demostracin es por contradiccin. Consideremos el tringulo ABC (vase la
gura 3.1), tal que AC a y AB BC b, con el ngulo ABC recto. Por el teorema de Pitgoras,
a
2
2b
2
, o sea
_
2 a/b. Claramente b <a <2b (la desigualdad triangular). Supongamos ahora que
a y b son mltiplos enteros de una unidad, elegida tal que b es el mnimo de los enteros que dan la
relacin dada. Extendemos la recta AB, y con centro en A dibujamos los arcos BD y CE, y dibujamos
la recta ED que corta BC en F. Por construccin los tringulos ABC y ADE son congruentes (tienen
el ngulo ABC en comn, y respectivamente iguales los lados AD AB y AC AE). En particular,
el ngulo ADE es recto, con lo que es recto CDE. El tringulo CDF es semejante a ABC (comparten
el ngulo ACB, y ambos son tringulos rectos), as que DC DF. De la misma forma, EBF es
semejante a ABC, y como BE DC, CDF es congruente a EBF. Ahora bien, BF BE a b, y
CF BC BF b (a b) 2b a. Si a y b son enteros, tambin lo son a b y 2b a, que son
menores que a y b y estn en la misma relacin por similitud. Esto es absurdo, habamos supuesto
que b era el mnimo entero que sirve de denominador en esta razn.
Las demostraciones corrientes actualmente son algebraicas, hay que recordar que en tiempos
de Pitgoras no haba nada parecido a nuestra lgebra. Precisamente el problema que planteaban
los irracionales hizo que desde los griegos se usara casi exclusivamente la geometra como lenguaje
44 CAPTULO3. DEMOSTRACIONES
A
B C
D
E
F
Figura 3.1 Diagrama para demostrar que
_
2 es irracional
matemtico para expresar cantidades continuas, recin por la poca de Newton se retom la idea
de expresiones numricas.
Demostracin. La demostracines por contradiccin. Supongamos que
_
2 fuera racional. Entonces
existen nmeros naturales a y b tales que:
_
2
a
b
(3.11)
En (3.11) podemos suponer que la fraccin est expresada en mnimos trminos, vale decir, a y b no
tienen factores en comn. En particular, a lo ms uno de los dos es par. Ahora bien, elevando (3.11)
al cuadrado tenemos:
a
2
2b
2
(3.12)
De (3.12) sabemos que a
2
es par, por lo que a debe ser par, digamos a 2c. Pero esto lleva a:
4c
2
2b
2
2c
2
b
2
con lo que tambin b es par. Esta contradiccin de nmeros de los cuales a lo ms uno puede ser par
pero que resultan ser ambos pares demuestra que tales a y b no pueden existir, y
_
2 es irracional.
Una demostracin alternativa es la siguiente:
Demostracin. La demostracin es por contradiccin. Supongamos que
_
2 es racional, y sea q el
menor natural tal que q
t
(
_
21)q es entero. Entonces 0 <q
t
<q, pero (
_
21)q
t
q 2q
t
>0 es
entero. Esto contradice la anterior eleccin de q.
Una demostracin que no hace uso de divisibilidad se debe a Leo Moser [211].
3.5. DEMOSTRACINPOR CONTRADICCIN 45
Demostracin. Suponga
_
2 a/b, conb lo ms pequeo posible, con lo que 0 <b <a ya que
_
2 >1.
Entonces:
2ab
ab
2 (3.13)
a
2
b
2
2 (3.14)
De (3.13) y (3.14) por propiedades de las proporciones, como b <a <2b:
2
2ab a
2
ab b
2

a(2b a)
b(a b)
(3.15)
Simplicando (3.15) usando la denicin de a y b resulta:
_
2
2b a
a b
Como b <a <2b tenemos 0 <a b <b, obtenemos una fraccin con un denominador menor que
el mnimo, lo que es imposible.
Muchas veces la forma ms cmoda de demostrar una desigualdad es por contradiccin.
Proposicin 3.9. Sean x, y reales mayores a cero. Si y(y +1) (x +1)
2
entonces y(y 1) x
2
.
Demostracin. La demostracin es por contradiccin. Sean y(y +1) (x +1)
2
y x
2
< y(y 1). En tal
caso claramente y >1.
La primera condicin se traduce en:
y
2
+y x
2
+2x +1
Con la suposicin x
2
< y(y 1):
y
2
+y < y
2
y +(2x +1)
y <x +
1
2
y 1 <x
1
2
Como y >1, el lado izquierdo es positivo, y podemos multiplicar las ltimas dos desigualdades:
y(y 1) <x
2

1
4
Esto ltimo contradice a x
2
< y(y 1).
Otro buen ejemplo de demostracin por contradiccin es debido a Fourier de un resultado que
Euler originalmente demostr en 1737.
Teorema 3.4. El nmero e es irracional.
46 CAPTULO3. DEMOSTRACIONES
Demostracin. La demostracin es por contradiccin. Supongamos que e es racional. Entonces
existen enteros a y b tales que:
e
a
b
(3.16)
Tambin sabemos:
e

k0
1
k!
(3.17)
Consideremos la siguiente expresin, que debiera ser entera bajo nuestra suposicin:
b!e

k0
b!
k!

0kb
b!
k!
+

k>b
b!
k!
(3.18)
La primera suma en (3.18) es un entero, nos concentraremos en acotar la segunda, a la que llamare-
mos S, para demostrar que no es un entero. Ms precisamente, mostraremos que 0 <S <1:
S

k>b
b!
k!

k>b
1
(b +1)(b +2) k

r 1
1
(b +1)(b +2) (b +r )
(3.19)
Cada trmino de la suma (3.19) es positivo, y es una fraccin cuyo denominador son r factores, cada
uno (salvo el primero) mayor a b +1, con lo que:
1
(b +1)(b +2) (b +r )

1
(b +1)
r
(3.20)
En consecuencia:
0 <S <

r 1
(b +1)
r
(b +1)
1

r 0
(b +1)
r

1
b +1

1
11/(b +1)

1
b
1 (3.21)
Resulta por (3.21) que b!e no es entero, cuando por nuestra suposicin debiera serlo. Esta contradic-
cin completa la demostracin que e es irracional.
Una interesante demostracin alternativa es la siguiente:
Demostracin. Si e
1
es irracional, tambin lo es e. Demostraremos por contradiccin que e
1
es
irracional.
3.5. DEMOSTRACINPOR CONTRADICCIN 47
Sabemos que:
e
1

n0
(1)
n
n!
(3.22)
Al ser (3.22) una serie de trminos nonulos, que disminuyenenvalor absoluto consignos alternantes,
las sumas parciales son alternativamente mayores y menores que el lmite. O sea, para m cualquiera
es:

0n2m1
(1)
n
n!
<e
1
<

0n2m
(1)
n
n!
(3.23)
Pero la diferencia entre las dos sumas de (3.23) es el ltimo trmino, que es 1/(2m)!, y as e
1
no
puede ser expresado como una fraccin con (2m)! de denominador, con lo que su denominador no
puede ser divisor de esto. Pero al ser m arbitrariamente grande, e
1
no puede ser expresado como
fraccin, y e debe ser irracional.
Otro bonito ejemplo es la demostracin de Niven [217]:
Teorema 3.5. El nmero es irracional.
Demostracin. Por contradiccin. Supongamos a/b, con a y b enteros positivos. Denamos los
polinomios:
f (x)
x
n
(a bx)
n
n!
F(x) f (x) f
(2)
(x) + f
(4)
(x) +(1)
n
f
(2n)
(x)
El entero n lo jaremos ms adelante.
El coeciente de x
k
en f (x) es f
(k)
(0)/k!. Por otro lado, como f (x) x
n
(abx)
n
/n! el coeciente
de x
k
puede escribirse c
k
/n! para un entero c
k
. O sea:
f
(k)
(0)
k!
n!
c
k
Para 0 k <n, el coeciente c
k
0; para k n es entero k!/n!. En resumen, las derivadas f
(k)
(0) son
todas enteras. Como f (a/b x) f (x), lo mismo vale para x a/b.
Por clculo elemental:
d
dx
_
F
t
(x) sinx F(x) cosx
_
F
tt
(x) sinx +F(x) sinx f (x) sinx
por lo que:
_

0
f (x) sinxdx
_
F
t
(x) sinx F(x) cosx
_

0
F() +F(0) (3.24)
Ahora F() +F(0) es un entero, dado que las derivadas de f en 0 y lo son. Pero para 0 < x <
claramente ambos factores son positivos, y tenemos la cruda cota superior resultante de tomar el
valor mximo de cada factor de f (x):
0 < f (x) sinx <

n
a
n
n!
con lo que la integral de (3.24) es positiva, pero arbitrariamente pequea para n sucientemente
grande. Esto es absurdo, no hay enteros positivos arbitrariamente pequeos.
48 CAPTULO3. DEMOSTRACIONES
3.6. Induccin
Una tcnica importante para demostrar un nmero innito de casos es induccin. Algunos
puntos de lo que sigue se tomaron del resumen de Tufey [286]. Esta importante tcnica de demos-
tracin se ha usado implcitamente desde pocas antiguas. Lambrou [185, 186] da una breve resea
de su historia, y plantea muchos ejemplos.
Supongamos que queremos demostrar que una proposicin es vlida para todo n N. La manera
de hacer esto es:
1. Escribir Usamos induccin.
2. Escribir: Caso base: Plantear la proposicin para n 1, y demostrarla.
3. Escribir Induccin: Asumiendo que la proposicin es verdadera para n k, demostrar que
vale para n k +1.
Hay algunas variantes que vale la pena distinguir.
3.6.1. El caso ms comn
A una secuencia r
n

r 0
se le llama geomtrica (con razn r ), nuestro resultado es la suma de la
serie geomtrica.
Teorema 3.6.

0kn
r
k
1+r +r
2
+ +r
n

1r
n+1
1r
Demostracin. Usamos induccin.
Caso base: Cuando n 1, tenemos:

0kn
r
k
1+r
(1r )(1+r )
1r

1r
2
1r
Esto demuestra el caso base.
Induccin: Suponemos que para n m vale:

0km
r
k

1r
m+1
1r
Entonces:

0km+1
r
k

0km
r
k
+r
m+1

1r
m+1
1r
+r
m+1

1r
m+1
+r
m+1
r
m+2
1r

1r
m+2
1r
que es precisamente la proposicin para n m+1.
3.6. INDUCCIN 49
Por induccin, lo aseverado es verdadero para todo n natural.
En realidad, el resultado tambin se cumple para n 0, y por tanto vale para todo n N
0
.
Hay que tener cuidado en la demostracin del paso de induccin. La tentacin de trabajar a
ambos lados suele ser fuerte, pero conlleva el riesgo de terminar enuna identidad que no demuestra
lo que se desea obtener. La forma ms simple de evitar problemas es partir del lado izquierdo
y derivar el lado derecho. El desarrollo debe ser estrictamente hacia adelante, lo que debemos
demostrar es la implicancia P(n) P(n +1).
Del teorema 3.6 sigue que si [r [ <1 entonces:
lm
n

0kn
r
k
lm
n
1r
n+1
1r

1
1r
(3.25)
Esto lo usamos antes en nuestra primera demostracin que e es irracional (teorema 3.4).
Otro caso importante es el siguiente:
Teorema 3.7. Para m N
0
tenemos:

1kn
k
m

n
m+1
m+1
Demostracin. La demostracin es por induccin sobre n.
Base: Cuando n 1 el lado izquierdo de lo planteado se reduce a:
1
m
m!
mientras el lado derecho da:
1
m+1
m+1

(m+1)!
m+1
m!
Esto coincide, incluso en el caso m0.
Induccin: Suponiendo que vale para n, demostramos que vale para n +1. Tenemos:

1kn+1
k
m

1kn
k
m
+n
m
Por la hiptesis:

1kn+1
k
m

n
m+1
m+1
+n
m

n (n +1)
m
+(m+1) n
m
m+1

(n +m+1) (n +1)
m
m+1

(n +1)
m+1
m+1
Por induccin vale para todo n N. Pero vale tambin para n 0, como es simple vericar.
Una relacin similar se cumple para potencias factoriales en bajada, cuya demostracin quedar
de ejercicio. Es interesante el paralelo entre el teorema 3.7 y la integral de x
m
.
50 CAPTULO3. DEMOSTRACIONES
3.6.2. Otro punto de partida
Es comn querer demostrar que un predicado vale no desde 1, sino desde algn otro valor m. En
tal caso formalmente tenemos dos maneras de proceder:
Denir un nuevo predicado:
P
t
(n)
_
Verdadero si n <m
P(n) caso contrario
Denir un nuevo predicado:
P
tt
(n) P(n m+1)
y aplicar induccin a P
t
(n) o P
tt
(n), segn corresponda. En la prctica, esto se reduce a indicar que
la induccin comienza con otra base. Podemos tambin trabajar en N
0
, iniciando la induccin con
0. Incluso puede comenzar la induccin en un valor negativo.
3.6.3. Paso diferente
Otra variante se da cuando no es claro obtener el caso n +1 directamente del caso n, pero s
podemos obtener el caso n +2 de n (y n +3 de n +1). Ms en general, hay algn k tal que P(n)
permite concluir P(n +k). En tal caso debemos tener k puntos de partida, y razonar las distintas
secuencias entrelazadas.
Un ejemplo es el siguiente:
Proposicin 3.10. Para ningn n natural es n
2
+n +1 divisible por 5.
Demostracin. La demostracin es por induccin.
Casos base: Para los casos base:
0
2
+0+1 1
1
2
+1+1 3
2
2
+2+1 7
3
2
+3+1 13
4
2
+4+1 21
Ninguno es divisible por 5.
Induccin: Demostramos que si n
2
+n +1 no es divisible por 5, tampoco lo es (n +5)
2
+(n +5) +1.
Vemos que:
(n +5)
2
+(n +5) +1 n
2
+10n +25+n +5+1
(n
2
+n +1) +(10n +30) (3.26)
En (3.26) el segundo trmino es divisible por 5; como el primer trmino no lo es, la suma no
es divisible por 5.
El lector podr entretenerse demostrando que si contamos con estampillas de 5 y 8 centavos
podemos franquear cualquier cantidad mayor a 27 centavos.
3.6. INDUCCIN 51
3.6.4. Ida y vuelta
La media aritmtica de a
1
, a
2
, . . . , a
n
(suponemos todos positivos) es:
a
1
+a
2
+ +a
n
n
La media geomtrica de estos mismos valores es:
n
_
a
1
a
2
a
n
Un caso especial de induccin se da en la demostracin de Cauchy [52] de la relacin entre las
medias aritmtica y geomtrica. Resulta simple demostrar el caso 2
k+1
a partir del caso 2
k
, y usamos
induccin en reversa (de n concluimos n 1) para rellenar los espacios.
Teorema 3.8 (Desigualdad entre las medias geomtrica y aritmtica). Para nmeros reales no nega-
tivos a
1
, a
2
, . . . , a
n
se cumple:
(a
1
a
2
a
n
)
1/n

a
1
+a
2
+ +a
n
n
Demostracin. Usamos una forma especial de induccin. Primeramente demostramos por induc-
cin sobre k que si la desigualdad se cumple para 2
k
vale para 2
k+1
; y luego completamos los casos
faltantes a travs de demostrar que si vale para n tambin vale para n 1.
Primero para potencias de dos. Es claro que la desigualdad se cumple para 2
0
.
Base: Para el caso 2
1
2, consideremos a y b positivos:
(a b)
2
0
a
2
+b
2
2ab
Si substituimos a
_
a
1
, b
_
a
2
, resulta:
a
1
+a
2
2

_
a
1
a
2
que es el caso n 2.
Induccin: Del caso 2
k
concluimos el caso 2
k+1
. Para ello dividimos los 2
k+1
valores en dos grupos
de 2
k
, y combinamos. De la hiptesis de induccin:
a
1
+ +a
2
k
2
k
(a
1
a
2
k )
1/2
k
a
2
k
+1
+ +a
2
k+1
2
k
(a
2
k
+1
a
2
k+1 )
1/2
k
Aplicando el caso n 2 a las anteriores:
a
1
++a
2
k
2
k
+
a
2
k
+1
++a
2
k+1
2
k
2

_
a
1
+ +a
2
k
2
k

a
2
k
+1
+ +a
2
k+1
2
k
_
1/2
a
1
+ +a
2
k+1
2
k+1

_
_
a
1
a
2
k
_
1/2
k

_
a
2
k
+1
a
2
k+1
_
1/2
k
_
1/2

_
a
1
a
2
k+1
_
1/2
k+1
52 CAPTULO3. DEMOSTRACIONES
Por induccin vale para todo n 2
k
con k N
0
.
Resta demostrar que si vale para n, vale para n 1, induccin en reversa. Supongamos que vale
para n:
a
1
+a
2
+ +a
n
n
(a
1
a
2
a
n
)
1/n
y consideremos:

a
1
+a
2
+ +a
n1
n 1
Entonces:
a
1
+a
2
+ +a
n1
+
n

(n 1)+
n

Por el otro lado, usando la hiptesis de induccin:
a
1
+a
2
+ +a
n1
+
n
(a
1
a
2
a
n1
)
1/n
con lo que

n
a
1
a
2
a
n1

n1
a
1
a
2
a
n1
esto ltimo equivale a lo anunciado.
Uniendo ambos casos, tenemos que la desigualdad vale para todo n N.
La tercera media que reconoca Pitgoras es la media harmnica:
n
1
a
1
+
1
a
2
+ +
1
a
n
(3.27)
Tenemos:
Teorema 3.9 (Desigualdad entre las medias geomtrica y harmnica). Para nmeros reales positivos
a
1
, a
2
, . . . , a
n
se cumple:
n
1
a
1
+
1
a
2
+ +
1
a
n
(a
1
a
2
a
n
)
1/n
Demostracin. Usemos el teorema 3.8 con los recprocos:
1
a
1
+
1
a
2
+ +
1
a
n
n

_
1
a
1

1
a
2

1
a
n
_
1/n
(a
1
a
2
a
n
)
1/n
n
1
a
1
+
1
a
2
+ +
1
a
n
(a
1
a
2
a
n
)
1/n
Hay igualdad si y slo si los a
i
son todos iguales.
3.6. INDUCCIN 53
3.6.5. Mltiples variables
Se da la situacin en la cual hay varias variables involucradas. La mayora de las veces puede
resolverse va jar algunas de las variables y aplicar induccin sobre otra, pero en raras ocasiones
realmente se requiere induccin sobre ms de una variable. Suponiendo variables m y n, una opcin
es intentar induccin sobre alguna combinacin como m+n. Sin embargo, hay situaciones en las
que esto no funciona.
Un ejemplo de induccin sobre mltiple variables es demostrar que:
C(m, n)
(2m)!(2n)!
n!m!(m+n)!
(3.28)
siempre es un entero para m, n 0. Nuestra estrategia es demostrar (por induccin) que C(m, 0) es
siempre unentero, y luego derivar una relacinentreC(m, n), C(m+1, n) yC(m, n+1) que demuestra
que si los primeros dos son enteros lo es el tercero. Esto lo usamos para demostrar por induccin
que C(m, n) es siempre entero.
El siguiente resultado es ms general que lo que necesitamos, pero resulta ms simple de demos-
trar.
Teorema 3.10. Un producto de n enteros consecutivos, siempre es divisible por n!.
Demostracin. Podemos escribir el producto de n enteros consecutivos como m
n
, con lo que que-
remos demostrar que n! [ m
n
para todo m y n. Esto lo hacemos por induccin sobre n para m dado.
Base: El caso n 0 se reduce a 0! [ m
0
, que es 1 [ 1.
Induccin: Suponiendo que es vlido para n, demostramos que vale para n +1. Sabemos de (1.29)
que:
m
n+1
(n +1)

1km
k
n
(3.29)
Como (por induccin) cada trmino de la suma del lado derecho de (3.29) es divisible por n!,
su lado izquierdo es divisible por (n +1)n! (n +1)!.
Por induccin, vale para n N
0
.
Vamos ahora a nuestro inters original.
Proposicin 3.11. El valor C(m, n) denido por (3.28) es un entero.
Calculamos la suma dada enel paso de induccinenesperanza de factores comunes que resulten
en una expresin simple.
Demostracin. Por induccin sobre n.
Bases: Primeramente, si n 0, se reduce a:
C(m, 0)
(2m)!
m!m!

(2m)
m
m!
(3.30)
que por (3.29) es un entero para todo m N
0
.
54 CAPTULO3. DEMOSTRACIONES
Induccin: Suponemos C(m, n) entero para todo m N
0
Consideremos:
C(m+1, n) +C(m, n +1)
(2m+2)!(2n)!
(m+1)!n!(m+n +1)!
+
(2m)!(2n +2)!
m!(n +1)!(m+n +1)!

(2m)!(2n)!
m!n!(m+n +1)!

_
(2m+1)(2m+2)
m+1
+
(2n +1)(2n +2)
n +1
_

(2m)!(2n)!
m!n!(m+n +1)!
4 (m+n +1)
4C(m, n) (3.31)
Por induccin sabemos que son enteros C(m+1, n) y C(m, n). Por lo tanto tambin es entero
C(m, n +1) 4C(m, n) C(m+1, n).
Por induccin es entero C(m, n) para m, n N
0
.
A pesar de ser ocialmente induccin sobre n, tambin estamos usando el resultado para varios
valores de m.
3.6.6. Induccin fuerte
Una variante de la tcnica de induccin es lo que se conoce como induccin fuerte, donde
suponemos no slo la validez para n k al demostrar el caso n k +1, sino la validez en todos los
casos 1 k n. Ntese que no se requiere usar todos los casos anteriores, es comn que slo se
necesiten algunos de ellos. En todo caso, es raro que se haga la distincin en la literatura profesional.
Para justicar esto, recurrimos a denir un nuevo predicado

P(n) que es cierto si P(k) es verda-
dero para 1, 2, . . . , n. Una denicin recursiva de

P(n) en trminos de P(n) es:

P(n)
_
P(1) si n 1

P(n 1) P(n) si n >1


(3.32)
Aplicando la equivalencia A B A AB, a denicin (3.32) de

P(n) podemos escribir:
(

P(n) P(n +1)) (

P(n)

P(n) P(n +1))
(

P(n)

P(n +1)) (3.33)
y con (3.33) la induccin fuerte sobre P(n) no es ms que induccin tradicional sobre

P(n).
Un ejemplo simple ofrece la proposicin siguiente.
Proposicin 3.12.
T(n)
_
0 si n 0
n +T(0) +T(1) + +T(n 1) si n >0
Entonces:
T(n) 2
n
1
Demostracin. Usamos induccin fuerte sobre n.
Caso base: Para n 0, tenemos T(0) 0 2
0
1, que sigue de la denicin de T.
3.6. INDUCCIN 55
Induccin: Suponemos cierto el resultado para 0 k <n, y tenemos:
T(n) n +

0k<n
T(k)
n +

0k<n
(2
k
1)

0k<n
2
k

2
n
1
21
2
n
1
En esto hemos usado la suma de una serie geomtrica (teorema 3.6).
Por induccin, vale para todo n N.
Ac tuvimos que usar todos los casos anteriores.
Otro ejemplo lo pone el juego de Nim, en el cual dos jugadores se enfrentan con dos pilas de
fsforos. Por turno cada jugador saca un nmero de fsforos de una de las pilas. Gana quien toma el
ltimo fsforo.
Proposicin3.13. En el juego de Nim, si a la partida ambas pilas tienen el mismo nmero de fsforos,
el segundo jugador gana.
La estrategia para el segundo jugador es mantener esta situacin, vale decir si el primer jugador
saca m fsforos de una pila, el segundo saca el mismo nmero de fsforos de la otra.
Demostracin. Usamos induccin fuerte sobre el nmero n de fsforos en las pilas.
Base: Cuando n 1, la nica movida posible para el primer jugador es sacar un fsforo de una pila,
y el segundo jugador se queda con el ltimo.
Induccin: Supongamos que esto es vlido para todos los nmeros de fsforos en las pilas entre 1
y n, demostraremos que vale para pilas con n +1 fsforos. Consideremos el caso de dos pilas
de n+1 fsforos, con el turno del primer jugador. Si este saca m fsforos de una de las pilas, el
segundo puede sacar m de la otra, y quedamos en la situacin con dos pilas de n +1mn
fsforos cada una. Por hiptesis, el segundo jugador gana desde esta posicin.
Por induccin, si al comienzo las dos pilas tienen el mismo nmero de fsforos, gana el segundo
jugador.
Recurrimos slo a uno de los casos anteriores en esta demostracin, pero al no estar jo cul
necesitamos debemos suponerlos todos.
Un ejemplo ms tentador es el siguiente: Se tiene una barra de chocolate que se divide en n
cuadraditos. Se pide determinar cuntas veces como mnimo se debe partir la barra para dividirla
en sus cuadraditos individuales.
Proposicin 3.14. Para dividir una barra de chocolate de n cuadraditos en sus cuadraditos indivi-
duales se requieren exactamente n 1 cortes.
Demostracin. Usamos induccin fuerte.
Base: Cuando n 1, claramente se requieren n 1 0 cortes.
56 CAPTULO3. DEMOSTRACIONES
Induccin: Suponiendo que la aseveracin es cierta para 1 k n, demostramos que es cierta para
n +1. En el primer paso dividimos la barra en dos partes, de n
1
y n
2
cuadraditos respectiva-
mente, donde n
1
+n
2
n +1. Por hiptesis de induccin, requeriremos n
1
1 y n
2
1 cortes
para las partes, respectivamente; en total se requieren (n
1
1) +(n
2
1) +1 (n
1
+n
2
) 1 n
cortes.
Por induccin queda demostrado que se requieren n 1 cortes para todo n N.
Ntese que esta demostracin es aplicable a cualquier forma de la barra original, no slo a las
tradicionales barras rectangulares que se dividen en rectangulitos. La nica restriccin es que cada
corte divida una barra en dos partes.
En esta demostracin usamos dos casos anteriores, y (como en el ejemplo precedente) no poda-
mos jar de antemano cules seran, por lo que fue necesario suponerlos todos.
Es comn que no resulte posible demostrar el paso inductivo. Nuestro instinto nos dice que
en tal caso lo que debe hacerse es hacer ms dbil lo que deseamos demostrar; pero eso no sirve,
ya que (de resultar) terminamos demostrando menos de lo pedido. La solucin es demostrar una
proposicin ms fuerte (lo que tambin da ms con que trabajar).
Un mecenas (llammosle August) dona un pavimento para el patio de la Universidad de Miska-
tonic, que casualmente tiene tamao 2
n
2
n
. Pone como condicin que debe instalarse una estatua
suya adyacente al centro del patio. Archer Harris (el arquitecto de la Universidad) tiene sus propias
ideas, todo debe pavimentarse con losas de forma en L (ver la gura 3.2). La base de la estatua de
Figura 3.2 Forma de una losa
August tiene exactamente el tamao de uno de los tres cuadrados que forman la losa.
Lo que buscamos entonces es demostrar:
Proposicin 3.15. Dadas las condiciones enunciadas, es posible pavimentar un patio de tamao
2
n
2
n
dejando un espacio adyacente al centro para la estatua de August.
Figura 3.3 Intento fallido de induccin
Demostracin (Intento fallido). Usamos induccin.
Caso base: Claramente se puede lograr lo pedido cuando n 1, con una losa y la estatua ocupando
la esquina faltante (queda lo ms cerca del centro posible de esta forma).
3.6. INDUCCIN 57
Induccin: Suponiendo que se puede ubicar a August adyacente al centro para tamao 2
n
, inten-
tamos ahora demostrar que se puede hacer para 2
n+1
. Pero esto lleva a la situacin de la
gura 3.3, que no ayuda en nada.
La solucin es demostrar una cosa ms fuerte, debemos buscar la condicin que nos permita
cerrar el ciclo. Es claro que 2
n+1
2
n+1
es el cuadrado en el cual la estatua de August est en la
esquina adyacente al centro rodeado por tres otros cuadrados similares llenos, como en la gura 3.4.
Algunos dibujos para el caso 44 muestran que la manera de cubrir excluyendo el cuadrado 22 en
Figura 3.4 Divisin del patio de 2
n+1
2
n+1
en cuatro de 2
n
2
n
la esquina inferior izquierda es la que da la gura 3.5a. Esto puede considerarse como tres cuadrados
(a) Alrededores (b) Otra vista (c) Solucin
Figura 3.5 Anlisis del patio de 44
de 22 con cuadraditos faltantes en esquinas que se unen al centro, como la gura 3.5b. La solucin
completa de 44 la muestra la gura 3.5c.
Ahora tenemos dos caminos posibles:
Notando que nuestro patio de 44 lo hemos dividido como en la gura 3.4 en un rea de la
forma de una losa y un cuadrado del doble tamao, podemos construir cuatro cuadrados de
2
n1
2
n1
con un cuadradito faltante en una esquina cada uno, unir tres de las esquinas al
centro y cubrirlas con una losa, dejando la cuarta adyacente al centro como en la gura 3.5c.
El espacio libre de la gura 3.5a en un cuadrado de 44 podemos cubrirlo de forma de de
dejar el espacio para la estatua de August en cualquiera de las posiciones en la esquina inferior,
y por simetra en cualquiera de las posiciones en el patio completo. Esto hace sospechar que
se puede ubicar a August en cualquier posicin en el patio.
La segunda estrategia lleva a la siguiente demostracin, dejamos el detalle de la primera como
entretencin al lector.
Demostracin. Usamos induccin para demostrar que la estatua de August puede ubicarse en cual-
quier posicin en un patio de 2
n
2
n
.
Caso base: Para n 1 es simplemente que la losa se puede ubicar en cualquier orientacin.
58 CAPTULO3. DEMOSTRACIONES
Figura 3.6 Induccin dejando libre cualquier cuadradito
Induccin: Suponiendo que es posible ubicar a August en cualquier lugar en un patio de 2
n
2
n
,
podemos dividir nuestro patio de 2
n+1
2
n+1
en cuatro cuadrados de 2
n
2
n
. La posicin
designada de August estar en uno de los cuadrantes, y por hiptesis podemos cubrir el resto
de ste. En los otros tres cuadrantes ubicamos el espacio que August ocupara en una de
las esquinas, ver la gura 3.6. Tambin estos pavimentos son posibles, por hiptesis. Pero
entonces podemos cubrir las tres esquinas adyacentes al centro con una losa, y es posible
ubicar a August en cualquier posicin en un patio de 2
n+1
2
n+1
.
Por induccin, es posible ubicar a August en cualquier posicin en un patio de 2
n
2
n
para todo
n N. En particular, es posible ubicarlo adyacente al centro.
El que resulte ms fcil demostrar algo ms general que lo que se busca directamente se conoce
como la paradoja del inventor. Otro ejemplo de este fenmeno es el siguiente:
Teorema 3.11.
1+
1
4
+
1
9
+ +
1
n
2
<2
Esto no se puede demostrar por induccin directamente, ya que al sumar algo al lado derecho
se echa a perder la condicin. Para poder cerrar el ciclo con un valor menor a 2 buscamos alguna
diferencia d
n
, lo ms simple posible, que d:
2d
n
+
1
(n +1)
2
2d
n+1
(3.34)
o, lo que es lo mismo:
d
n

1
(n +1)
2
d
n+1
(3.35)
Debe ser 0 <d
n
1 para no meternos en problemas. En realidad queremos que:
d
n
<

kn+1
1
k
2
(3.36)
Podemos estimar crudamente la suma mediante una integral:

kn+1
1
k
2

_

n+1
dx
x
2

1
n +1
(3.37)
La relacin (3.37) hace sospechar que algo como d
n
1/n (1/n es ms simple que 1/(n +1), adems
que siendo mayor da mayor holgura) pueda funcionar, lo que lleva a la demostracin siguiente.
3.6. INDUCCIN 59
Demostracin. Por induccin demostramos un resultado ms fuerte:
1+
1
4
+
1
9
+ +
1
n
2
2
1
n
(3.38)
Caso base: Cuando n 1 (3.38) se reduce a 1 1, que ciertamente es verdad.
Induccin: Suponiendo que (3.38) vale para n, demostramos que vale para n +1. Partiendo de
nuestra hiptesis:
1+
1
4
+
1
9
+ +
1
n
2
2
1
n
1+
1
4
+ +
1
n
2
+
1
(n +1)
2
2
1
n
+
1
(n +1)
2
(3.39)
Consideremos los ltimos dos trminos de (3.39), donde como n 1:
1
n

1
(n +1)
2

n
2
+n +1
n(n +1)
2
>
n
2
+n
n(n +1)
2

1
n +1
(3.40)
Con (3.40) en (3.39) tenemos:
1+
1
4
+ +
1
n
2
+
1
(n +1)
2
2
1
n
+
1
(n +1)
2
2
1
n +1
como se prometi.
Por induccin (3.38) vale para todo n N. Pero:
1+
1
4
+
1
9
+ +
1
n
2
2
1
n
<2
que es lo que se quera probar.
3.6.7. Induccin estructural
Esta es una generalizacin del mtodo de demostracin por induccin. La idea es aplicable a
estructuras denidas recursivamente, como rboles binarios, expresiones aritmticas o listas.
Supongamos un orden parcial bien fundado (una relacin R es bien fundada si todo subconjunto
de X tiene un mnimo respecto de R, o sea, si todo subconjunto no vaco S de X contiene al menos
un elemento m tal que para todo s S es s /R m. Dicho de otra forma, toda secuencia x
1
>x
2
>x
3
. . .
en X termina, si anotamos > para la transpuesta de R.
Para demostrar que P(x) es cierto para todo x X, demostramos (base) que vale para las ele-
mentos mnimos, y que (induccin) si vale para todo y tal que y R x, entonces vale para x. Esto se
justica suponiendo que algn elemento x X es el mnimo contraejemplo. Entonces no puede
ser un elemento mnimo de X, ya que por la base para todos ellos se cumple P(); y como vale para
todos los y con y R x ya que x es el mnimo contraejemplo, vale para x, una clara contradiccin.
Por ejemplo, consideremos listas, denidas mediante:
60 CAPTULO3. DEMOSTRACIONES
[] es una lista (la lista vaca)
Si H es un elemento y T es una lista, H : T es una lista. Llamaremos cabeza a H, y cola a T.
Esto dene un orden parcial entre listas, en que T L si L H : T o L T.
Para listas denimos una operacin length mediante:
LEN1 length([]) 0
LEN2 length(H : T) 1+length(T)
Denimos la operacin de concatenacin de listas por:
CAT1 [] L L
CAT2 (H : T) L H : (T L)
Interesa demostrar:
Teorema 3.12.
length(L M) length(L) +length(M) (3.41)
Demostracin. Esto lo demostramos por induccin estructural sobre listas. P(L) asevera que (3.41)
vale para toda lista L.
Base: Primero demostramos que P([]) es verdadero:
length([] M) length(M) por CAT1
0+length(M)
length([]) +length(M) por LEN1
Induccin: Si L no es vaca, consta de cabeza y cola, o sea L H : T. Nuestra hiptesis de induccin
es que si P(T) vale para la cola T de la lista, entonces vale para la lista. En detalle, nuestra
hiptesis es:
length(T M) length(T) +length(M)
y tenemos:
length(L M) length((H : T) M)
length(H : (T M)) por CAT2
1+length(T M) por LEN2
1+length(T) +length(M) por hiptesis
length(H : T) +length(M) por LEN2
length(L) +length(M)
Por induccin estructural, vale para todas las listas.
Si denimos expresiones algebraicas como:
Un tomo (una variable o constante)
Una expresin entre parntesis
3.7. DEMOSTRAR EXISTENCIA 61
Dos expresiones unidas por un operador, uno de {+, , , /}
Esto dene una relacin, en la cual todas las cadenas terminan en tomos; por tanto es bien fundada.
Teorema 3.13. En toda expresin con n tomos hay n 1 operadores.
Demostracin. Por induccin estructural.
Base: Si la expresin es un nico tomo, tiene 1 tomo y 0 operadores.
Induccin: Si la expresin es una expresin entre parntesis, tiene el mismo nmero de tomos y
operadores que esta ltima.
Si la expresin consta de dos expresiones E
1
y E
2
unidas por un operador, por induccin si E
1
tiene n
1
tomos tiene n
1
1 operadores, y si E
2
tiene n
2
tomos tiene n
2
1 operadores. La
expresin completa tiene n n
1
+n
2
tomos y n
1
1+n
2
1+1 n 1 operadores.
Por induccin estructural, vale para todas las expresiones.
A esta tcnica se le conoce como induccin estructural porque (como muestran los ejemplos)
la aplicacin tpica es a estructuras denidas recursivamente, partiendo de estructuras mnimas
y reglas para combinarlas creando estructuras ms complejas. La demostracin por induccin es-
tructural en tal caso corresponde a demostrar que la propiedad vale para las estructuras mnimas, y
que si la propiedad vale para las estructuras componentes tambin vale para la estructura que las
incluye.
Las demostraciones por induccin vistas en la seccin 3.6 corresponden a considerar el conjunto
N con la relacin sucesor que relaciona a n con n +1; la induccin fuerte corresponde a N con la
relacin menor que.
3.7. Demostrar existencia
Muchas veces interesa demostrar que algn objeto que cumple ciertas condiciones existe. La
forma ms simple de hacer esto es exhibir el objeto del caso (para demostrar que hay primos pares,
basta exhibir el primo 2) o dar un mecanismo claro que permite construirlo. Sin embargo, se da
tambin la situacin que podemos demostrar la existencia del objeto, sin poder asirlo de forma
ms concreta. Esto denitivamente es bastante poco satisfactorio, pero vlido de todas formas. Un
ejemplo es lo siguiente:
Proposicin 3.16. Hay nmeros irracionales y tales que

es racional.
Demostracin. Sabemos que
_
2 es irracional. Entonces:
_
_
2
_
2
_
_
2

_
2
2
2
Ahora bien, hay dos opciones para
_
2
_
2
: Si es racional, entonces podemos tomar
_
2 como
ejemplo. Si es irracional, tomamos
_
2
_
2
y
_
2 como ejemplo.
Bonito, pero es frustrante en que no da un ejemplo concreto. Otro ejemplo clsico es la demos-
tracin de Cantor que hay innitos nmeros trascendentes (nmeros irracionales que no son ceros
de un polinomio con coecientes enteros) sin dar luces de cmo obtener alguno.
Una demostracin alternativa, que da ejemplos concretos, es:
62 CAPTULO3. DEMOSTRACIONES
Demostracin. Sea
_
2, log
2
9, con lo que

3.
Sabemos que es irracional por el teorema 3.3. Demostramos que es irracional por contra-
diccin. Supongamos que fuera racional, digamos que para naturales m y n tenemos m/n.
Entonces sera 9
n
2
m
, pero 9
n
es impar, mientras 2
m
es par. Esto es imposible.
Se ha demostrado que el nmero de Hilbert (tambin conocido como constante de Gelfond-
Schneider) 2
_
2
es irracional (incluso es trascendente), y da otro ejemplo concreto al elevar a
_
2.
Por lo dems, siendo trascendente 2
_
2
, su raz (el nmero que consideramos arriba) tambin es
trascendente. Claro que para discutir estos temas habra que profundizar mucho ms. . .
3.8. Refutaciones
Nos hemos concentrado hasta ac en demostrar cosas que sabemos ciertas. En la cruda realidad
de las matemticas nos encontramos con mayor frecuencia con aseveraciones que no sabemos si
son ciertas o falsas (conjeturas). La tarea se compone, entonces, de determinar si la conjetura es
verdadera o no, y luego demostrar que es verdadera o que no se cumple. Si no somos capaces de
demostrar que la conjetura es cierta, esto no demuestra que sea falsa: Puede ser cierta, simplemente
no hemos sido capaces de demostrarlo.
Igual que para demostrar que una aseveracin es cierta, hay ciertas tcnicas para demostrar
que es falsa. La forma ms simple de refutar la aseveracin P es demostrar P. Esta ltima a su
vez es susceptible de cualquiera de las tcnicas ya discutidas. Igual hay una variedad de situaciones
especiales que merecen atencin [128].
3.8.1. Refutar aseveraciones universales: Contraejemplo
Si debemos demostrar que la aseveracin x S.P(x) es falsa, nuestra indicacin general es
demostrar su negacin:
(x S.P(x)) x S.P(x)
Osea, debemos hallar x tal que P(x) sea falso. Basta exhibir un solo contraejemplo para que no valga
para todo x. Por ejemplo:
Conjetura 3.1. Si n
2
n es par, entonces n es par.
Refutacin. Exhibimos un contraejemplo: Para n 1 tenemos n
2
n 0, que es par. Pero n es
impar.
3.8.2. Refutar existencia
Si queremos demostrar que es falso x S.P(x), nuevamente es demostrar la negacin:
(x S.P(x)) x S.P(x)
Como esto es una aseveracin universal, un ejemplo no es suciente.
Conjetura 3.2. Hay nmeros primos p y q tales que p q 97.
Refutacin. Demostramos que si q es primo, entonces q +97 no es primo. Dividimos la demostra-
cin en dos casos:
q 2: En este caso, q +97 99 3 3 11, que no es primo.
q es un primo impar: Si q es impar, entonces q +97 es un par mayor a 2, y por tanto no es primo.
3.9. CONJETURA A TEOREMA 63
3.8.3. Refutar por contradiccin
Ciertamente es posible aplicar la tcnica de reduccin al absurdo a la tarea de refutar. Slo que
en este caso lo que buscamos es obtener una contradiccin de la aseveracin misma, no de su
negacin.
Conjetura 3.3. Hay un real x para el cual x
4
<x <x
2
.
Refutacin. Por contradiccin. Supongamos que la conjetura es cierta. Sea x un nmero real para
el cual x
4
<x <x
2
. Como x >x
4
, x es positivo. Tenemos:
x
4
<x <x
2
Dividiendo por x:
x
3
<1 <x
x
3
1 <0 <x 1
Factorizamos:
(x 1)(x
2
+x +1) <0
Como x 1 >0, podemos dividir:
x
2
+x +1 <0
Pero esto ltimo es imposible, ya que x >0.
3.9. Conjetura a teorema
Una pregunta abierta luego de lo anterior es cmo se transforma una buena sospecha en un
teorema (una solucin al problema). Daremos un ejemplo simple, que ms adelante servir para
ilustrar algunas de las tcnicas ms poderosas que presenta este texto. Ejemplos mucho ms acaba-
dos muestran Bruckner, Thomson y Bruckner [44].
Ejemplo 3.1. En la Competencia de Ensayos de la Universidad de Miskatonic los ensayos deben
entregarse annimamente, cada uno acompaado por una tarjeta que identica al autor. Las tarjetas
codicadas son tarjetas cuadradas idnticas de n n [mm] (n es un nmero impar) divididas por
ambos lados en cuadrados de 1 [mm]. En uno de estos cuadrados se perfora un agujero redondo.
Sea b
n
el nmero de tarjetas diferentes que se pueden producir de esta forma, bajo el supuesto
que las tarjetas se pueden rotar e invertir. Se pide encontrar una frmula para b
n
en trminos de n,
y usarla para determinar cunto debe ser n si se esperan 100 participantes en el concurso.
Solucin Atacaremos el problema en etapas.
Paso 1: Experimentar. Como nos dijeron que n es impar, analizaremos los casos n 1, 3, 5 para
comenzar. En el caso n 1, hay un nico cuadradito, y por tanto es posible una nica chapa.
b
1
1.
En el caso n 3, un par de intentos muestran que slo hay 3 posibilidades diferentes, como
indica la gura 3.7. Cualquier otra alternativa puede rotarse de forma de obtener una de estas.
O sea, b
3
3.
Algo de trabajo adicional lleva a concluir que b
5
6, vase la gura 3.8.
64 CAPTULO3. DEMOSTRACIONES
Figura 3.7 Chapas posibles con n 3
Figura 3.8 Chapas posibles con n 5
Paso 2: Adivinar. Hay dos estrategias posibles para adivinar la solucin. La heroica es adivinar una
frmula para b
n
directamente, en base a la informacin obtenida hasta ac (posiblemente
complementada con valores adicionales). De ser as, se puede proceder directamente al paso
5.
La otra es usar la estrategia segura, que pasa por encontrar una relacin recursiva entre los
valores buscados. Ac la pregunta es cmo pasar de n 1 a n 3, y de n 3 a n 5, y as
sucesivamente. Tenemos hasta ac:
b
1
1 (3.42)
b
3
b
1
+2 (3.43)
b
5
b
3
+3 (3.44)
Tal vez b
7
b
5
+4 10, y en general se cumple:
b
2r +1
b
2r 1
+r +1 (3.45)
Con esto tenemos una conjetura.
3.9. CONJETURA A TEOREMA 65
Paso 3: Entender. Debemos corroborar nuestra conjetura (3.45), con el caso siguiente n 7. Esto
puede hacerse vericando b
7
10 directamente, pero es mucho mejor analizar cmo se re-
lacionan b
3
con b
5
(deben analizarse las guras 3.7 y 3.8) y b
7
con b
5
. Esto ltimo lo ilustra
la gura 3.9. Puede verse que la chapa de 77 puede considerarse como una de 55 con un
Figura 3.9 Chapa de 77 como chapa de 55 con borde
borde. Si se perfora alguno de los cuadraditos del centro, se obtienen b
5
posibilidades. Las
otras opciones resultan de perforar el borde. Un momento de reexin, tambin comparando
el caso n 3 con el n 5, muestra que slo la mitad del borde superior aporta alternativas
esencialmente diferentes, o sea, aporta 4 ms. Hemos demostrado que b
7
b
5
+4.
Con esto se completa el trabajo pesado. El mismo razonamiento conrma la conjetura (3.45)
para el caso general.
Paso 4: La frmula. Nos piden una frmula para los b
n
, y ahora sabemos que quedan descritos por
la secuencia denida recursivamente por:
b
2r +1

_
1 si r 0
b
2r 1
+r +1 si r 1
(3.46)
Ya conocemos los valores b
1
1, b
3
3, b
5
6, b
7
10, y podemos calcular valores adicionales
segn se requieran. Posiblemente ya hayamos dado en cuenta que:
1 (1 2)/2, 3 (2 3)/2, 6 (3 4)/2, 10 (4 5)/2 (3.47)
lo que lleva a sospechar:
b
2r +1

1
2
(r +1)(r +2) para todo r N (3.48)
Paso 5: Demostracin. Resta demostrar que la frmula (3.48) es correcta.
Proposicin 3.17. Para todo r N
0
, b
2r +1

1
2
(r +1)(r +2)
Demostracin. Por induccin sobre r .
Base: La frmula (3.48) vale cuando r 0, ya que b
1
1 y
1
2
(0+1)(0+2) 1.
66 CAPTULO3. DEMOSTRACIONES
Induccin: Supongamos que (3.48) se cumple para r k, vale decir, b
2k+1

1
2
(k +1)(k +2).
Usando la relacin (3.45) descubierta en el paso 3:
b
2(k+1)+1
b
2k+1
+k +2

1
2
(k +1)(k +2) +k +2

1
2
(k +2)(k +3)
La frmula vale para todo r N
0
por induccin.
Paso 6: La respuesta. El duro trabajo de los matemticos se aprecia slo cuando entrega una res-
puesta denitiva a un problema prctico. En este caso, la respuesta denitiva es el tamao
de la tarjeta necesaria para 100 participantes, o sea, el valor r

tal que b
2r

+1
100 <b
2r

+3
.
Planteamos:
1
2
(r +1)(r +2) 100 (3.49)
Los ceros del polinomio que corresponde a (3.49) son r 3, 217 y r 12, 65. Como para r 0
la expresin del lado izquierdo de la desigualdad (3.49) es creciente, aproximamos al entero
superior y tenemos r

13. Las chapas son de 2727 [mm], lo que da para 105 participantes.
Para mayor detalle sobre cmo resolver problemas, particularmente en el mbito matemtico,
dirigimos al lector al clsico de Plya [234], quien plantea cuatro pasos esenciales:
1. Entender el problema. Muchas veces este paso se omite como obvio, pero es frecuente empan-
tanarse por no entender completamente el problema. Como remedio se sugieren preguntas
como:
Que se busca encontrar?
Plantee el problema en sus propias palabras.
Se le ocurre un dibujo o diagrama que ayude a entender el problema?
Hay suciente informacin para resolver el problema?
2. Idear un plan. Hay muchas maneras razonables de resolver problemas. La habilidad de ele-
gir la estrategia apropiada se adquiere resolviendo sistemtica y ordenadamente problemas
diversos. Una lista parcial de estrategias a considerar es:
Adivine y verique.
Elabore una lista ordenada.
Elimine posibilidades.
Use simetra.
Considere casos especiales.
Razonamiento directo.
Busque patrones.
Resuelva un problema ms simple.
Trabaje en reversa.
3.9. CONJETURA A TEOREMA 67
3. Lleve a cabo el plan. Esto suele ser ms fcil que idear el plan. Generalmente slo requiere
cuidado y paciencia, si tiene las habilidades requeridas. Persista. Si no funciona, descrtelo e
intente otro.
4. Revise/extienda. Puede ganar mucho tomndose el tiempo de reexionar, mirando atrs pa-
ra ver qu funcion y qu no. Esto ayuda a elegir la estrategia adecuada en casos futuros
relacionados con este.
4 Correctitud de programas
Cada da dependemos ms de programas. Lamentablemente, muchos programas han demos-
trado ser incorrectos, errores de programacin han dado lugar a costos inmensos (el reporte [49] da
algunos ejemplos notorios, pero todos hemos sufrido en menor o mayor medida a causa del com-
portamiento errneo de programas). Dijkstra [75] observa que la computacin signica un cambio
radical en nuestro mundo, al introducir artefactos cuyo funcionamiento no es continuo, y ms an
dar lugar a fenmenos que abarcan rdenes de magnitud absolutamente inimaginables en otras
disciplinas.
Ya a nes de los aos 60, Floyd [104] y luego Hoare [140] propusierondemostrar formalmente que
los programas cumplen con sus especicaciones, idea que fue luego desarrollada por Dijkstra [77]
y de alguna manera completada por Gries [122]. Posiblemente la formalizacin ms completa es la
que da Apt [11, 12]. Una descripcin formal reciente (con orientacin pedaggica) dan Gordon y Co-
llavizza [116]. Jones [150] resume la historia desde sus comienzos. Una crtica del rea da Gutmann
en su tesis [124, captulos 4 y 5].
Demostrar correctitud de programas aumenta la conanza de que funcionen correctamente, pe-
ro las tcnicas formales son complejas y caras de aplicar en general. An con ayuda del computador
hoy slo es posible vericar completamente programas relativamente pequeos. Tal vez el ejemplo
ms notable de vericacin es la del microncleo seL4 [164, 165], un sistema de unas 8700 lneas
de C de las cuales se vericaron formalmente unas 7500. Para contraste, el ncleo de un sistema
operativo de uso comn, como Linux, tiene ms de diez millones de lneas de cdigo.
Sigue vigente el famoso dicho: Beware of bugs in the above code; I have only proved it correct,
not tried it (Donald E. Knuth [170]). Al efecto, Berry [36] cita el ejemplo de un programita de 25 l-
neas de Algol especicado y demostrado correcto informalmente en 1969 por Naur [215], publicado
sin probarlo. El ao siguiente, revisando la publicacin de Naur Leavenworth [188] encontr un
error que habra sido evidente de ejecutar el programa. An despus, London [194] hall tres errores
adicionales que habran sido fciles de hallar probando el programa. Ofreci un programa corre-
gido, acompaando esta vez una demostracin formal de correctitud. Igualmente, Goodenough y
Gerhart [114] hallaron tres errores adicionales en el programa de London, que nuevamente habran
sido evidentes al probar el programa. A su vez, las especicaciones dieron lugar a una comedia de
errores adicional. El hecho que incluso ejemplos mnimos, de las manos de los mximos expertos
del rea, den lugar a tal espectculo es prueba patente de lo complejo del tema.
4.1. Lgica de Hoare
La idea tras el trabajo de Hoare y sus sucesores es que durante su ejecucinunprograma pasa por
estados bien denidos, y que estos estados cambian conforme se ejecutan instrucciones. Mediante
predicados sobre los valores de las variables se describen los aspectos de inters de cada estado, y
se busca demostrar que dadas ciertas condiciones iniciales al nalizar el programa se cumple lo
solicitado (correctitud parcial) y, generalmente en forma separada de lo anterior, que el programa
69
70 CAPTULO4. CORRECTITUDDE PROGRAMAS
siempre termina conel resultado correcto (correctitudtotal). Esto involucra relacionar los predicados
antes y despus de las distintas instrucciones del lenguaje empleado.
La forma general de expresar los resultados es:
{P} programa {Q}
para expresar que si se cumple P antes del programa, cuando ste termine se cumple Q.
4.2. Bsqueda binaria
Como un ejemplo, desarrollaremos paso a paso una funcin de bsqueda binaria, siguiendo la
exposicin de Bentley [29, captulo 4]. Es tambin de inters histrico, la primera exposicin del
programa fue publicada en 1946, la primera versin correcta recin en 1962. Bentley reporta haber
usado el programa como ejercicio en cursos para programadores profesionales. Al cabo de una hora,
revisaban sus programas durante media hora adicional, y consistentemente 90% de ellos hallaban
errores. Bentley reconoce que no est seguro si el 10% restante era correcto.
Nuestro problema es determinar si el arreglo ordenado x[1..N] contiene el valor t . Ms precisa-
mente, sabemos que N 0 y que X[1] X[2] . . . X[N]. Los tipos de t y de los elementos de x son
los mismos, el pseudocdigo debiera funcionar igualmente bien para enteros, reales o strings. La
respuesta es el entero p; si p es cero t no est en x[1..N], en caso contrario 1 p N y t x[p].
Bsqueda binaria resuelve este problema siguiendo la pista a un rango dentro del arreglo en
el que t tiene que estar si es que est en el arreglo. Inicialmente el rango es el arreglo completo.
El rango se acorta comparando t con el elemento medio del rango y descartando la mitad que no
puede contenerlo. El proceso contina hasta que se halle el elemento o el rango est vaco.
4.2.1. Escribiendo el programa
La idea clave es que siempre sabemos que si t est en alguna parte de x[1..N], est en un cierto
rango. Usaremos DebeEstar(rango) para signicar que si t est en el arreglo, debe estar en el rango
indicado. Con esto, la descripcin informal se puede transformar en el esbozo de programa 4.1.
Algoritmo 4.1: Esbozo de bsqueda binaria
Inicialice rango para designar x[1..N]
loop
{ Invariante: DebeEstar(rango) }
if rango es vaco then
Retorne que t no est en el arreglo
end
Calcule m, el punto medio de rango
Use m como prueba para encoger el rango, si halla t en el proceso retorne su posicin
end
Parte crucial de nuestro esbozo es el invariante de ciclo, que encerramos entre llaves. Se cumple
siempre al comienzo de cada ciclo (de all su nombre), y formaliza nuestra idea intuitiva presentada
antes.
Renamos el esbozo, asegurndonos que nuestras acciones respetan el invariante. Primeramen-
te debemos decidir cmo representar el rango. Usaremos dos ndices i (inferior) y s (superior) para
el rango i ..s. (Hay otras opciones, como inicio y largo.) El siguiente paso es la inicializacin: Qu
valores deben tener i y s para que DebeEstar(i , s) se cumpla inicialmente? La respuesta obvia es
i 1 y s N: DebeEstar(1, N) dice que si t est en x, est en x[1..N], exactamente lo que sabemos al
4.2. BSQUEDA BINARIA 71
comenzar el programa. El siguiente paso es vericar si el rango es vaco, cosa que se da siempre que
i >s. Hallar el punto medio del rango es:
m
_
i +s
2
_
Uniendo las piezas obtenemos el segundo esbozo 4.2. Para evitar confusiones con la relacin de
igualdad u otras, en nuestros algoritmos usaremos para indicar asignacin. Resta renar la ltima
Algoritmo 4.2: Bsqueda binaria: Segundo esbozo
i 1; s N
loop
{ Invariante: DebeEstar(i , s) }
if i >s then
p 0; break
end
m](i +s)/2]
Use m como prueba para encoger el rango i ..s, si halla t en el proceso retorne su posicin
end
accin del ciclo. Corresponder a comparar t con x[m] y tomar la accin apropiada:
case t <x[m]: Accin a
case t x[m]: Accin b
case t >x[m]: Accin c
Sabemos que la accin correcta en el segundo caso es asignar m a p y quebrar el ciclo. En el primer
caso el rango se reduce a i ..m1, en el tercero a m+1..s. Esto se logra asignando a s o i , respecti-
vamente. Expresado en trminos de las estructuras de control comunes resulta 4.3. En rigor, slo
Algoritmo 4.3: Bsqueda binaria: Pseudocdigo nal
i 1; s N
loop
{ Invariante: DebeEstar(i , s) }
if i >s then
p 0; break
end
m](i +s)/2]
if t <x[m] then
s m1
if t x[m] then
p m; break
else
i m+1
end
end
72 CAPTULO4. CORRECTITUDDE PROGRAMAS
hemos demostrado (muy informalmente, claro est) que si el ciclo termina entrega el resultado
correcto. Debemos asegurar adems que el ciclo siempre termina, vale decir, que el largo del rango
disminuye en cada paso. Como el largo es un entero, no puede disminuir indenidamente.
Igualmente, en implementaciones en mquinas reales el algoritmo 4.3 tiene un error fatal: Si la
suma de i +s es mayor que el mximo entero representable, el clculo del nuevo valor de m falla.
Esto puede sonar a sosma, pero fue un error real en la biblioteca de Java. La solucin correcta es
escribir esa lnea como mi +](s i )/2]. De esa forma, las variables y valores intermedios estn
acotados por n, y no hay rebalses.
Sea l el largo del rango al comenzar un ciclo. Llamemos l
t
al largo despus del ciclo, suponiendo
t /x[m]. Entonces:
l
t

_
(m1) i +1 (](i +s)/2] 1) i +1 (s i )/2 (l +1)/2 si t <x[m]
s (m+1) 1 s (](i +s)/2] +1) 1 s (i +s)/21 l /23/2 <l si t >x[m]
En el caso t < x[m], si l >1 claramente l
t
(l +1)/2 <l , pero para l 1 resulta la cota intil l
t
1.
En esta ltima situacin es i s, y el algoritmo asigna s m1 i 1, cumpliendo la condicin de
trmino. Cada iteracin nos acerca a la condicin que hace terminar el ciclo, el programa termina.
Es sencillo ahora traducir el pseudocdigo 4.3 a un lenguaje de programacin como C, ver el
listado 4.1. Nuestra versin incluye la precaucin contra rebalses aritmticos mencionada antes.
/ @ f i l e bi nar y s e ar c h . c /
#i ncl ude " bi nar y s e ar c h . h"
i nt b i n a r y s e a r c h ( DataType t , DataType x [ ] , i nt n)
{
i nt l , u , m;
l = 0; u = n 1;
whi l e ( l <= u) {
/ I f @a t i s i n @a x ,
i t must be i n @a x [ @a l . . @a u ] /
m = l + ( u l ) / 2;
i f ( x [m] < t )
l = m + 1;
el s e i f ( x [m] == t )
r etur n m;
el s e / x [m] > t /
u = m 1;
}
r etur n 1;
}
Listado 4.1 Bsqueda binaria en C
Nuestro desarrollo cuidadoso da gran conanza de que el programa resultante sea correcto. El
registrar el invariante del ciclo ayudar a nuestros lectores convencerse de ello.
Para no caer en un programa demostrado correcto que falla con el primer caso de prueba (como
se narra en la introduccin del presente captulo), usamos el computador para lo que es mejor:
Tareas rutinarias. Un pequeo programa bombardea esta funcin con casos de prueba: Se crea un
arreglo de 22 elementos que se llena con los valores 0 a 21, luego se buscan los valores de 1 a N en l
4.3. EXPONENCIACIN 73
dando el rango de 1 a N para la bsqueda. Despus se buscan los valores 0 y N+1 (ambos presentes,
pero fuera del rango indicado), y nalmente los valores de 0,5 a N +0, 5. Con esto cubrimos valores
populares para errores: 1, 2, 3, algunas potencias de 2, nmeros que dieren de potencias de 2 en 1. Y
se cumpli lo indicado respecto de que los errores se cometen principalmente en las partes simples
del programa: Algunos de los casos de prueba iniciales fallaron, estaban escritos incorrectamente. . .
4.3. Exponenciacin
El calcular una potencia va multiplicaciones sucesivas viene directamente de la denicin de
potencia. Sin embargo, hay mtodos ms ecientes. Partiendo de la identidad:
n d
_
n
d
_
+n m od d
donde n m od d es el resto de la divisin de n por d, podemos expresar potencias:
x
n

_
x
]n/2]
_
2
x
n m od 2
(4.1)
Tenemos inmediatamente el algoritmo recursivo 4.4. La justicacin es que suponiendo que la
Algoritmo 4.4: Exponenciacin binaria recursiva
function power (x, n)
if n 0 then
return 1
else
s power(x, ]n/2])
r s
2
if n m od 2 1 then
r r x
end
return r
end
funcin power(x, k) hace correctamente su trabajo para k < n, por la identidad (4.1) calcula co-
rrectamente la potencia n. Para justicar que termina, vemos que cada vez se invoca la funcin
recursivamente con un valor menor para el parmetro n, por lo que tarde o temprano llega al valor
0, que no involucra recursin. Esto es en esencia una demostracin por induccin fuerte.
Una versin alternativa (no recursiva) del algoritmo 4.4 es el algoritmo 4.5. Usamos operaciones
estilo C [162].
Un ejemplo adicional es el algoritmo 4.6 para obtener la raz cuadrada entera, vale decir, calcular
]
_
n]. Todas las variables del algoritmo son enteras. Es simple vericar el invariante, y con la condi-
cin de trmino del ciclo tenemos que u
2
n <(u +1)
2
, vale decir, u
_
n <u +1, o sea u ]
_
n].
En cada ciclo aumenta u o disminuye v, por lo que el algoritmo termina.
4.4. Algunos principios
El ejemplo de bsqueda binaria ilustra las fortalezas de la vericacin de programas: El proble-
ma a resolver es importante y requiere cdigo cuidadoso, lo desarrollamos guiados por ideas de
vericacin, y el anlisis de correctitud usa herramientas generales. En todo caso, en la prctica el
nivel de detalle del desarrollo ser substancialmente menor. Algunos principios generales resultan
de la discusin:
74 CAPTULO4. CORRECTITUDDE PROGRAMAS
Algoritmo 4.5: Exponenciacin binaria no recursiva
function power (x, n)
if n 0 then
return 1
end
for i 0; n &(1 <i ); i i +1 do
/* Nada */
end
/* Ahora (i 0) (2
i
n <2
i +1
) */
r x
for ; i >0; n i 1 do
/* Invariante: u ]n/2
i
], v n m od 2
i
, (r x
u
) (x
n
r
2
i
x
v
) */
r r
2
if n &(1 <(i 1)) then
r r x
end
end
/* Del invariante con i 0 resulta r x
n
*/
return r
Algoritmo 4.6: Clculo de ]
_
n]
function isqrt (n)
u 0
v n +1
while u +1 /v do
/* Invariante: u
2
n v
2
y u +1 v */
x ](u +v)/2]
if x
2
n then
u x
else
v x
end
end
return u
4.4. ALGUNOS PRINCIPIOS 75
Armaciones: Permiten expresar las relaciones entre datos de entrada, variables internas y resulta-
dos en forma precisa.
Estructuras de control secuenciales: La estructura de control ms simple es ejecutar una accin,
seguida por otra. Entendemos un programa por armaciones entre las instrucciones y razo-
namos de una a la siguiente.
Estructuras de seleccin: Durante la ejecucin, se toma una de varias acciones. Demostramos la
correctitud de tales estructuras razonando de la armacin antes de la estructura junto a la
condicin especial que nos lleva al presente caso. Lo que podemos concluir luego de cada una
de las opciones se cumple al nalizar la estructura completa.
Estructuras de iteracin: Argir la correctitud de un ciclo tiene tres fases: Inicializacin, preserva-
cin y trmino. Primero demostramos que el invariante del ciclo se establece antes del ciclo
(inicializacin), luego que si el invariante se cumple al comienzo del ciclo se cumple cuando
el ciclo termina, y nalmente demostramos que el ciclo se ejecuta un nmero nito de veces.
Despus del ciclo sabemos que se cumple el invariante y la condicin de trmino se cumpli.
Variables: Muchos programas modican los valores de variables, pero interesa expresar que cierta
relacin se cumple respecto de los valores iniciales. Una posibilidad es usar la convencin que
si la variable es n, su valor original se representa mediante n
0
. Otra opcin es denir variables
fantasmas que recogen valores de inters. Usamos variables fantasmas en el algoritmo 4.5
para expresar el invariante en forma ms sencilla.
Subrutinas: Para vericar una subrutina, explicitamos su propsito mediante dos armaciones: Su
precondicin describe el estado antes de ejecutarla, la postcondicin describe lo que garantiza
del estado una vez que naliza. Externamente usamos estas armaciones para razonar sobre
sus usos, internamente vericamos que dadas las precondiciones estamos garantizando las
postcondiciones. Esto es vlido tambin en el caso de rutinas recursivas: Suponemos que las
llamadas recursivas hacen lo correcto, y en base a ello demostramos que la rutina cumple
su contrato.
Recursin: Vericar la versin recursiva de la exponenciacinbinaria resulta substancialmente ms
sencillo que vericar la versin no recursiva. Esta observacin es aplicable en general.
Hallar armaciones simples (particularmente invariantes de ciclos) no es nada fcil. Esta manera de
enfrentar el problema de escribir unprograma formaliza la manera enque entendemos unprograma
(muchas veces la explicacin del funcionamiento es a travs de una traza de la ejecucin, pero est
claro que el detalle de los valores que toman las variables en esa instancia particular no es todo lo
que se est transmitiendo). Por esta razn conviene familiarizarse con este enfoque.
Las partes difciles de un programa hacen que se recurra a mtodos ms formales, mientras las
partes simples se desarrollan de la forma tradicional. La experiencia comn es que las partes difciles
luego funcionan correctamente la primera vez, las fallas estn en las partes simples.
No se ha logrado el objetivo inicial de estos esfuerzos: Contar con algn artilugio que tome un
programa e indique correcto o incorrecto. Igualmente logramos algo muy valioso: Una compren-
sin mejor del proceso de programacin. Lenguajes de programacin actuales se denen al menos
en parte cuidando que sea fcil razonar con sus operaciones. Tcnicas similares a las usadas ac
para demostrar correctitud emplean los compiladores para optimizar cdigo (en realidad, slo
intentan mejorar caractersticas de ejecucin): Dependiendo de restricciones deducidas sobre los
valores, el cdigo puede especializarse o incluso omitirse sin cambiar los resultados. Renamientos
del anlisis son tcnicas de ejecucin simblica, que pueden hallar errores o al menos generar au-
tomticamente casos de prueba para la mayora del cdigo, un ejemplo es KLEE [47]. Tambin hay
herramientas que ayudan a construir y vericar demostraciones de correctitud, como Frama-C [67].
5 Teora de nmeros
Parte de la presentacinpresente sigue a [243]. La importancia de la teora de nmeros encompu-
tacin es en parte porque mucho de lo que se hace en el computador es trabajar con nmeros (o
cosas que se representan como tales, o debemos contar objetos con ciertas caractersticas para de-
terminar los recursos que se requieren). Mucha de la tecnologa criptogrca moderna se basa en
resultados de la teora de nmeros.
Para calcular con nmeros grandes resulta cmodo el programa bc(1), para computaciones
ms complejas son tiles PARI/GP [224] o maxima [203]. Para uso en programas se recomiendan las
bibliotecas GMP [120], CLN [125] o NTL [262]. Detalles de muchos algoritmos en C++ da Arndt [14].
Ya sabemos (ver el captulo 2) que la relacin divide a es una relacin de orden en N(en Zno es
antisimtrica, ya que por ejemplo 3 [ 3 y 3 [ 3, pero 3 /3). Algunas propiedades adicionales son:
1. Si a [ b, entonces a [ b c
2. Si a [ b y a [ c, entonces a [ (sb +t c) para todo s, t Z
3. Siempre que c /0, a [ b si y slo si ac [ bc
Si a [ b, decimos que b es mltiplo de a, o que a es un factor de b.
Una propiedad bsica de los enteros es la siguiente:
Teorema 5.1 (Algoritmo de divisin). Sean n, d Z con d > 0. Entonces existen enteros q, r nicos
tales que:
n q d +r 0 r <d
Demostracin. El conjunto de restos es:
R{n sd : s Zn sd 0} (5.1)
Este conjunto no es vaco, siempre ser n+([n[+1)d >0, y esto est en R. Siendo Run conjunto de
enteros acotado por debajo, contiene su mnimo, llammosle r , que podemos expresar r n q d.
Debemos demostrar que r <d. Esto lo haremos por contradiccin. Si suponemos r d, podemos
escribir:
r d n (q +1) d
donde r d 0, pertenece a R y es menor que r , contradiciendo la eleccin de r como el menor
elemento en R.
Falta demostrar que q y r son nicos. Nuevamente procedemos por contradiccin. Supongamos
dos soluciones diferentes q
1
, r
1
y q
2
, r
2
, donde podemos tomar r
2
r
1
sin prdida de generalidad.
77
78 CAPTULO5. TEORA DE NMEROS
Entonces:
n q
1
d +r
1
n q
2
d +r
2
0 (q
2
q
1
) d +(r
2
r
1
) (5.2)
Sabemos que 0 r
2
< d por lo anterior. Como asumimos r
1
r
2
, tenemos que 0 r
2
r
1
. Pero
tambin, dado que 0 r
1
<d:
r
2
<d
r
2
r
1
<d r
1
d
En resumen, resulta:
0 r
2
r
1
<d (5.3)
Pero de la ecuacin (5.2) tenemos:
(q
1
q
2
) d r
2
r
1
(5.4)
Como el lado izquierdo de (5.4) es divisible por d tambin lo es el derecho; pero por (5.3) esto es
menor que d, y la nica posibilidad es que sea cero. Concluimos que r
1
r
2
. Pero siendo cero el
lado derecho de (5.4), y el izquierdo el producto de d y q
1
q
2
, concluimos que q
1
q
2
0, o sea
q
1
q
2
. Pero habamos supuesto que (q
1
, r
1
) /(q
2
, r
2
), contradiccin que demuestra que q y r son
nicos.
Es comn que queramos hablar del resto de la divisin, para ello introducimos la notacin:
r a m od b
El cociente respectivo puede expresarse simplemente como:
q
_
a
b
_
No se requiere una notacin especial para esto, se usa con menos frecuencia que el resto.
5.1. Mximo comn divisor
Sean a, b Z, y consideremos I {ua +vb: u, v Z}. Si a b 0, entonces I {0}. En ca-
so contrario, este conjunto no es vaco, y contiene elementos positivos (siempre es a
2
+b
2
I).
Consideremos el mnimo elemento positivo de I, llammosle m. Entonces hay s, t Z tales que:
msa +t b (5.5)
Demostraremos que m divide a todos los elementos de I.
Sea n I, que signica n s
t
a +t
t
b para algn s
t
y t
t
. Por el algoritmo de divisin:
n qm+r 0 r <m (5.6)
Pero:
n q(sa +t b) +r
s
t
a +t
t
b
r (s
t
qs)a +(t
t
qt )b
5.1. MXIMOCOMNDIVISOR 79
con lo que r I. Como m es el mnimo elemento positivo de I, por (5.6) slo puede ser r 0, y
m[ n; e I es el conjunto de los mltiplos de m. Como a y b pertenecen a I, m es un divisor comn
de ambos. Pero por otro lado, cualquier divisor de a y b debe dividir a msa +t b, con lo que m es
mximo. Este nmero lo anotaremos gcd(a, b) (por greatest commondivisor eningls). Otra notacin
comn es (a, b). Para completar la denicin de esta funcin, el mximo comn divisor entre a /0
y 0 es simplemente a, y podemos denir gcd(0, 0) 0. A la importante relacin gcd(a, b) sa +t b se
le llama identidad de Bzout. En caso que gcd(a, b) 1 se dice que a y b son relativamente primos o
coprimos.
Ntese que si:
gcd(a, b) sa +t b (5.7)
tambin son soluciones para todo k Z:
s
t
s +
kb
gcd(a, b)
t
t
t
ka
gcd(a, b)
(5.8)
Esto es fcil de ver substituyendo (5.8) en (5.7).
Lema 5.2. Tenemos las siguientes propiedades del mximo comn divisor:
1. gcd(a, b) gcd(b, a)
2. gcd(a, b) gcd(a, b)
3. Todo divisor comn de a y b divide a gcd(a, b).
4. gcd(ka, kb) [k[ gcd(a, b).
5. Si mgcd(a, b), entonces gcd(a/m, b/m) 1. Ntese que a/m y b/m sonenteros ac, la divisin
es exacta.
6. Si gcd(a, b) 1 y gcd(a, c) 1, entonces gcd(a, bc) 1.
7. Si a [ bc y gcd(a, b) 1, entonces a [ c.
8. Si gcd(a, b) 1, y a [ c y b [ c, entonces ab [ c.
Demostracin. Demostramos cada parte por turno.
1. Los elementos de I {ua +vb: u, v Z} e I
t
{ub +va: u, v Z} son los mismos, y lo son
sus mnimos elementos positivos.
2. Nuevamente, los elementos del conjunto I respectivo son los mismos para ambos lados de la
ecuacin.
3. Esto lo vimos antes.
4. De la identidad de Bzout sabemos que hay s, t Z tales que:
gcd(ka, kb) s([k[ a) +t ([k[ b)
[k[ (sa +t b)
En particular, este es el mnimo de todos los valores positivos que se pueden obtener eligiendo
s, t Z, por lo que sa +t b debe tambin ser el mnimo positivo de esta ltima expresin,
sa +t b gcd(a, b).
80 CAPTULO5. TEORA DE NMEROS
5. De la identidad de Bzout sabemos que hay s y t que dan mgcd(a, b) como:
msa +t b
1 s(a/m) +t (b/m)
con lo que gcd(a/m, b/m) 1. Esto tambin implica que gcd(s, t ) 1.
6. Si gcd(a, b) gcd(a, c) 1 existen s, t , u, v Z tales que:
1 sa +t b
1 ua +vc
Entonces:
t b 1sa
vc 1ua
t vbc 1(s +u)a +sua
2
1 (s +u sua)a +(t v)bc
Esto es el mnimo positivo, y por tanto es gcd(a, bc).
7. a [ bc signica que existe k tal que bc ka. Tenemos:
1 sa +t b
c sac +t bc
(sc +t k) a
y esto ltimo dice que a [ c.
8. Existen x, y Z tales que c ax by. Por la identidad de Bzout existen u, v Z con:
au +bv 1
acu +bcv c
abuy +abvx c
ab(uy +vx) c
con lo que ab [ c.
Como ejemplo demostramos gcd(x
2
, y
2
)
_
gcd(x, y)
_
2
. Si gcd(x, y) 1, aplicando la propie-
dad (6) con a x, b c y tenemos gcd(x, y
2
) 1. Repitiendo esto con a y
2
y b c x re-
sulta gcd(x
2
, y
2
) 1. En realidad, podemos demostrar de la misma forma que gcd(x
m
, y
n
) 1, para
m 1 y n 1. Ahora, por (4), si x ku y y kv, donde k gcd(u, v) tendremos gcd(u, v) 1, y
gcd(x
2
, y
2
) gcd(k
2
u
2
, k
2
v
2
) k
2
gcd(u
2
, v
2
)
_
gcd(x, y)
_
2
. Queda como ejercicio demostrar de
forma similar que gcd(x
m
, y
m
)
_
gcd(x, y)
_
m
.
El mximo comn divisor es muy importante, interesa obtener una forma de calcularlo eciente-
mente. De partida, sabemos que si mgcd(a, b), entonces m[ u a+v b para todo par u, v. En parti-
cular, m[ a m od b, ya que a m od b aqb. Al revs, cualquier divisor comnde a m od b y b divide
a a a m od b +qb y a b, y por lo tanto a su mximo comn divisor. As gcd(a, b) gcd(b, a m od b).
Esto lleva directamente al algoritmo de Euclides 5.1 (los 13 tomos de los Elementos de este alejan-
drino del siglo III AC incluyen teora de nmeros en los tomos 7 a 9). El algoritmo de Euclides de
5.1. MXIMOCOMNDIVISOR 81
Algoritmo 5.1: Algoritmo de Euclides para calcular gcd(a, b)
function gcd(a, b)
while b >0 do
(a, b) (b, a m od b)
end
return a
inters histrico tambin, es el algoritmo ms antiguo que involucra ciclos, y fue el primer algo-
ritmo cuyo rendimiento se analiz matemticamente (por Gabriel Lam en 1844). El anlisis lo
discutiremos en la seccin 9.1.
Una funcin ntimamente relacionada con el mximo comn divisor es el mnimo comn mlti-
plo, que anotaremos lcm(a, b) (por least common multiple en ingls). Sea m un mltiplo comn de
a y b, vale decir mha kb. Sean a a
1
gcd(a, b) y b b
1
gcd(a, b), dividiendo la relacin para m
por gcd(a, b) resulta ha
1
kb
1
. Como por el lema 5.2 parte 5 es gcd(a
1
, b
1
) 1, por la parte 7 debe
ser a
1
[ k, y obtenemos el mnimo cuando a
1
k, vale decir:
lcm(a, b)
[ab[
gcd(a, b)
(5.9)
Una aplicacin simple de lo anterior es el siguiente teorema:
Teorema 5.3 (Criterio de cero racional). Sea p(x) a
n
x
n
+ +a
0
un polinomio de coecientes
enteros. Todo cero racional r u/v de p(x) expresada en mnimos trminos cumple u [ a
0
y v [ a
n
.
Demostracin. Sin prdida de generalidad podemos suponer que los a
i
no tienen factores en co-
mn, que a
n
/0 y que a
0
/0. Substituyendo u/v en p(x) 0, y multiplicando por v
n
, resulta:
a
n
u
n
+a
n1
u
n1
v + a
1
uv
n1
+a
0
v
n
0
Observamos que todos los trminos, salvo posiblemente el primero, son divisibles por v. En con-
secuencia, como la expresin completa es divisible por v, tiene que serlo el primer trmino, o sea
v [ a
n
, ya que supusimos que u y v no tienen factores en comn. Asimismo, todos los trminos, salvo
posiblemente el ltimo, son divisibles por u. Por el mismo razonamiento anterior, la nica forma
que esto se puede cumplir es que u [ a
0
.
El teorema 5.3 restringe los posibles ceros racionales del polinomio a un nmero nito. En el
caso de polinomios mnicos (cuyo coeciente del trmino de mayor grado es uno) vemos que los
ceros son enteros de ser racionales. Esto da una manera adicional de demostrar que
_
2 es irracional:
Es cero de x
2
2, como
_
2 no es entero, es irracional. Incluso ms, toda raz de un entero o es entera
o es irracional, por un razonamiento similar.
5.1.1. Obtener los coecientes de Bzout
Sabemos por la identidad de Bzout que existen enteros s, t tales que:
gcd(a, b) sa +t b
y encontrar estos es de inters tambin. Una manera de proceder es ir registrando paso a paso los
valores en el algoritmo de Euclides, y luego ir reemplazando en reversa. Por ejemplo, para calcular
gcd(40902, 24140) hacemos:
82 CAPTULO5. TEORA DE NMEROS
40 902 24 140 1+16 762
24 140 16 762 1+ 7 378
16 762 7 378 2+ 2 006
7 378 2 006 3+ 1 360
2 006 1 360 1+ 646
1 360 646 2+ 68
646 68 9+ 34
68 34 2+ 0
Sabemos entonces que gcd(40902, 24140) 34. De lo anterior tambin tenemos que:
34 646 68 9
68 1 360 646 2
646 2 006 1 360 1
1 360 7 378 2 006 3
2 006 16 762 7 378 2
7 378 24 14016 762 1
16 762 40 90224 140 1
Substituyendo las expresiones para los restos nalmente obtenemos 34 337 40902571 24140.
Una manera de organizar mejor el trabajo es el algoritmo 5.2, debido a Blankinship [37]. Usa
vectores auxiliares (x
1
, x
2
, x
3
), (y
1
, y
2
, y
3
) y (t
1
, t
2
, t
3
), que manipula de forma que siempre se cumple
que:
x
1
a +x
2
b x
3
y
1
a +y
2
b y
3
t
1
a +t
2
b t
3
El algoritmo 5.2 es exactamente el mismo que el algoritmo 5.1 respecto de la manipulacin de x
3
e
Algoritmo 5.2: Algoritmo extendido de Euclides
function xgcd(a, b)
(x
1
, x
2
, x
3
) (1, 0, a)
(y
1
, y
2
, y
3
) (0, 1, b)
while y
3
/0 do
q ]x
3
/y
3
]
(t
1
, t
2
, t
3
) (x
1
, x
2
, x
3
) q (y
1
, y
2
, y
3
)
(x
1
, x
2
, x
3
) (y
1
, y
2
, y
3
)
(y
1
, y
2
, y
3
) (t
1
, t
2
, t
3
)
end
return x
3
x
1
a +x
2
b
y
3
, con lo que calcula gcd(a, b) correctamente; y por la relacin que se mantiene entre a, b, x
1
, x
2
y
x
3
obtenemos los coecientes de Bzout.
Podemos eliminar buena parte de la computacin del algoritmo 5.2 si omitimos x
2
, y
2
y t
2
, y
obtenemos x
2
de la relacin x
1
a +x
2
b x
3
al nal. Manejar los casos de a o b negativos queda de
ejercicio.
La traza del algoritmo 5.2 para gcd(40902, 24140) da el cuadro 5.1. nuevamente:
gcd(40902, 24140) 34 337 40902571 24140
5.1. MXIMOCOMNDIVISOR 83
x
1
x
2
x
3
y
1
y
2
y
3
q
1 0 40 902 0 1 24 140 1
0 1 24 140 1 -1 16 762 1
1 -1 16 762 -1 2 7 378 2
-1 2 7 378 3 -5 2 006 3
3 -5 2 006 -10 17 1 360 1
-10 17 1 360 13 -22 646 2
13 -22 646 -36 61 68 9
-36 61 68 337 -571 34 2
337 -571 34 -710 1203 0
Cuadro 5.1 Traza del algoritmo extendido de Euclides
5.1.2. Nmeros primos
Denicin 5.1. Un entero positivo p 2 se llama primo si siempre que p [ ab es p [ a o p [ b.
Esto lo usamos al demostrar antes que
_
2 es irracional (teorema 3.3): Si 2 [ a
2
, debe ser 2 [ a ya
que 2 es primo.
La denicin ms tradicional es que p es primo si sus nicos divisores positivos son 1 y p:
Denicin 5.2. A un entero e se le llama irreductible si siempre que e ab es a 1 o b 1.
Y resulta:
Teorema 5.4. Si p es irreductible, p es primo.
Demostracin. Por contradiccin. Supongamos p primo y reductible, con lo que p ab para a /1
y b /1. As p [ ab, con lo que por denicin de primo p [ a o p [ b. Si p [ a, es a mp para un entero
m. Pero entonces:
p ab mpb
con lo que:
p(1mb) 1
O sea, p [ 1, lo que es absurdo.
Todo nmero natural se puede escribir como un producto de primos. Para demostrarlo usamos
un truco bastante comn: Nos jamos en el mnimo supuesto contraejemplo y usamos contradic-
cin.
Teorema 5.5. Todo nmero natural se puede expresar como producto de nmeros primos.
Demostracin. Por convencin, 1 es el producto de cero primos.
Para nmeros mayores a 1, la demostracin es por contradiccin. Llammosle m al mnimo
nmero que no es un producto de primos. Entonces m no puede ser primo, ya que de serlo sera el
producto de primos (uno solo); y podemos escribir m a b, donde 1 < a, b <m y por tanto a y b
son productos de primos. Pero entonces podemos escribir m como producto de primos, contrario a
nuestra suposicin de que tal cosa no era posible.
Nuestro siguiente objetivo es demostrar que la factorizacin en primos es nica. Un paso clave
en esa direccin es:
84 CAPTULO5. TEORA DE NMEROS
Lema 5.6. Sea p primo y x
1
, x
2
, . . . , x
n
enteros tales que p [ x
1
x
2
x
n
. Entonces p [ x
i
para algn i .
Demostracin. Usamos induccin.
Base: Cuando n 1, el supuesto se reduce a p [ x
1
, y el resultado es inmediato. Por la denicin de
primo, para n 2 si p [ x
1
x
2
, divide a uno de los dos.
Induccin: Supongamos que el resultado es cierto para n, y queremos demostrar que es vlido para
n +1. Tenemos p [ x
1
x
n
x
n+1
. Por la denicin de primo, es p [ x
1
x
n
o p [ x
n+1
. En el
primer caso (por induccin) p [ x
i
para algn 1 i n, en el segundo p [ x
n+1
. En resumen,
p [ x
i
para algn 1 i n +1.
Teorema 5.7 (Teorema fundamental de la aritmtica). Un entero positivo n 2 tiene una factoriza-
cin nica en nmeros primos, salvo el orden de los factores.
Demostracin. Por contradiccin, aplicando el mismo truco anterior. Si hay enteros para los que
esto no es cierto, hay uno mnimo, llammosle N. Vale decir, podemos escribir N p
1
p
2
p
k
y
tambin N q
1
q
2
q
l
, donde los p
i
son primos (no necesariamente distintos), y similarmente los
q
j
. Ahora bien, como p
1
[ N, sabemos que p
1
[ q
1
q
2
q
l
, y por tanto p
1
[ q
j
para algn 1 j l .
Como q
j
es primo, es irreductible y esto signica que p
1
q
j
. Pero entonces tenemos
N
t
p
2
p
3
p
k
q
1
q
2
q
j 1
q
j +1
q
l
y N
t
<N tambin tendra dos factorizaciones diferentes, contrario a la eleccin de N como el mni-
mo natural con esa caracterstica.
Otro hecho fundamental fue demostrado primeramente por Euclides. De este importante resul-
tado se da una variedad de bonitas demostraciones, basadas en conceptos totalmente diferentes,
en [3]. Nuestra variante de la demostracin clsica de Euclides se debe a Ernst Kummer.
Teorema 5.8. Hay innitos nmeros primos.
Demostracin. Procedemos por contradiccin. Supongamos que hay un nmero nito de primos,
p
1
, p
2
, . . . p
r
, donde sabemos que r >1. Consideremos:
N p
1
p
2
p
r
El nmero N 1 es compuesto, ya que es mayor que p
r
y no es primo (no aparece en nuestra lista).
Luego tiene un factor primo p, y este factor lo tiene en comn con N. Entonces p divide tanto a N
como a N 1, y divide a su diferencia, que es decir p [ 1, lo que es absurdo.
Incluso se puede demostrar ms. El siguiente resultado se debe a Leonhard Euler, la brillante
demostracin siguiente es de Paul Erd os [95]. La importancia del mismo radica en que la divergencia
de la serie da un indicio de la tasa de crecimiento de los nmeros primos. Como dijo el mismo
Euler, hay ms primos que cuadrados (por el teorema 3.11 la serie de recprocos de los cuadrados
converge).
Teorema 5.9. La serie

p
1
p
(donde la suma es sobre los nmeros primos) diverge.
5.2. CONGRUENCIAS 85
Demostracin. Por contradiccin. Enumeremos los primos como p
1
, p
2
, . . . en orden creciente. Si
la serie converge, hay un punto a partir del cual la suma es menor que 1/2, con lo que podemos
escribir:

i k+1
1
p
i
<
1
2
Llamaremos primos chicos a p
1
, p
2
, . . . p
k
y primos grandes a p
k+1
, p
k+2
, . . .. Tomemos algn N >p
k
a determinar ms adelante, y llamemos N
1
a la cantidad de nmeros hasta N divisibles slo por
primos chicos, y similarmente N
2
los que tienen divisores grandes. Debe ser N N
1
+N
2
, pero
dada la suposicin de arriba veremos que podemos elegir N tal que al acotar N
1
y N
2
de forma
sucientemente precisa concluimos que N
1
+N
2
<N.
Como ]N/p] de los nmeros entre 1 y N son divisibles por el primo p y ]x] x, tenemos que:
N
2

i k+1
_
N
p
i
_

i k+1
N
p
i
N

i k+1
1
p
i
<
N
2
(5.10)
Consideremos ahora los nmeros menores que N que slo tienen factores primos chicos. Si toma-
mos uno cualquiera de ellos y le llamamos x, podemos escribir x y z
2
, donde y no es divisible
por el cuadrado de ningn primo. Obviamente z
2
N, con lo que hay a lo ms
_
N valores posibles
de z. Como hay k primos chicos, hay a lo ms 2
k
posibles valores distintos de y. Esto da una sobre
estimacin bastante burda, pero suciente para nuestras necesidades presentes:
N
1
2
k

_
N (5.11)
Ahora queremos elegir N de forma que N
1
<N/2, o sea por la cota (5.11):
2
k

_
N <
N
2
2
2k+2
<N (5.12)
Combinando (5.12) con nuestra estimacin (5.10), para el valor elegido de N tenemos:
N N
1
+N
2
<
N
2
+
N
2
N
Esto es ridculo.
Nuevamente, si la serie diverge no puede tener nitos trminos y hay innitos nmeros primos.
5.2. Congruencias
El concepto de congruencia est ntimamente relacionado con el resto de la divisin, e incluso
usan notaciones similares. De todas formas es importante distinguirlos.
86 CAPTULO5. TEORA DE NMEROS
Denicin 5.3. Sean a, b, m Z, con m/0. Denimos:
a b (m od m)
si m[ a b. Esto se expresa diciendo que a es congruente con b mdulo m.
Esta es una relacin de equivalencia:
Reexiva: Si a b, la denicin se reduce a m[ 0, lo que siempre es cierto.
Simtrica: a b (m od m) signica que m [ a b, pero entonces m [ b a, que es decir b a
(m od m).
Transitiva: a b (m od m) y b c (m od m) signican m [ a b y m [ b c, que es a b k
1
m y
b c k
2
m; pero entonces a c (k
1
+k
2
)m, o sea m[ a c, que es decir a c (m od m).
Algunas propiedades importantes las dan los siguientes teoremas.
Teorema 5.10. Sea m un entero positivo y sean x
1
, x
2
, y
1
, y
2
enteros tales que:
x
1
x
2
(m od m)
y
1
y
2
(m od m)
Entonces:
x
1
+y
1
x
2
+y
2
(m od m)
x
1
y
1
x
2
y
2
(m od m)
Demostracin. Nos dieron que x
1
x
2
ma, y
1
y
2
mb, para algunos x, y Z. Entonces para la
suma
(x
1
+y
1
) (x
2
+y
2
) (x
1
x
2
) +(y
1
y
2
)
ma +mb
m(a +b)
lo que es decir
x
1
+y
1
x
2
+y
2
(m od m)
Similarmente, para el producto:
x
1
y
1
x
2
y
2
x
1
y
1
x
2
y
1
+x
2
y
1
x
2
y
2
(x
1
x
2
)y
1
+x
2
(y
1
y
2
)
may
1
+x
2
mb
m(ay
1
+bx
2
)
con lo que
x
1
y
1
x
2
y
2
(m od m)
5.3. ARITMTICA ENZ
m
87
Teorema 5.11. Sean m, n enteros positivos. Entonces, si
a b (m od mn)
tenemos
a b (m od m)
a b (m od n)
Adems, si
a b (m od m)
a b (m od n)
entonces
a b (m od lcm(m, n))
En particular, si gcd(m, n) 1, entonces:
a b (m od mn)
Demostracin. Para la primera aseveracin, tenemos por denicin que mn [ a b, pero en tal caso
m[ a b y tambin n [ a b.
Para la segunda, tenemos que:
m[ a b
n [ a b
Como tanto m y n dividen a a b, el mnimo comn mltiplo lo divide:
lcm(m, n) [ a b
y obtenemos nuestro resultado.
5.3. Aritmtica en Z
m
Para cualquier entero x y un entero positivo m anotaremos [x]
m
para la clase de equivalencia
de x en la relacin de congruencia mdulo m. Vale decir, [x]
m
es el conjunto de todos los enteros x
t
tales que x x
t
es mltiplo de m:
[5]
3
{. . . , 4, 1, 2, 5, 8, . . . }
[3]
7
{. . . , 10, 3, 4, 11, . . . }
Sabemos que las clases de equivalencia particionan Z. Por ejemplo:
Z[0]
3
[1]
3
[2]
3
Para cualquier m dado, las clases son [0]
m
, [1]
m
, . . . , [m1]
m
, lo que sigue del algoritmo de divisin,
ya que cualquier entero x puede expresarse como:
x q m+r
con 0 r <m, y x [r ]
m
en tal caso. Esto motiva:
88 CAPTULO5. TEORA DE NMEROS
Denicin 5.4. Sea m un entero positivo. El conjunto de enteros mdulo m, anotado Z
m
, es el
conjunto de las clases de equivalencia [x]
m
.
Vale decir, Z
m
{[0]
m
, [1]
m
, . . . , [m1]
m
}.
Cabe enfatizar que los elementos de Z
m
son subconjuntos de Z, pero muchas veces resulta
conveniente considerarlos como los enteros 0, 1, . . . , m1 (aunque podramos elegir otro conjunto
de representantes si resulta conveniente) con una estructura aritmtica diferente. Denimos las
operaciones:
[x]
m
[y]
m
[x +y]
m
[x]
m
c[y]
m
[x y]
m
Por nuestro teorema 5.10 estas operaciones estn bien denidas.
Teorema 5.12. Sea m un entero positivo, y sean a, b, c Z
m
cualquiera. Para simplicar anotaremos
0 [0]
m
, 1 [1]
m
. Entonces:
G1: a (b c) (a b) c
G2: Hay 0 Z
m
tal que para todo a Z
m
se cumple a 0 0a a
G3: Para todo a Z
m
existe a Z
m
tal que a (a) 0
G4: a b b a
R1: (a cb) cc a c(b cc)
R2: a c(b c) (a cb) (a cc) y (a b) cc (a cc) (b cc)
R3: Hay 1 Z
m
tal que para todo a Z
m
se cumple a c1 1ca a
R4: a cb b ca
Demostracin. Demostraremos algunas cosas, dejamos el resto a la imaginacin del lector.
Para G4, sean a [x]
m
y b [y]
m
. Entonces:
a b [x]
m
[y]
m
[x +y]
m
(denicin de )
[y +x]
m
(en Z)
[y]
m
[x]
m
(denicin de )
b a
Para G3, tomamos [x]
m
[x]
m
, que cumple lo solicitado.
Si un conjunto G con una operacin cumple G1 a G3 para algn elemento 0 se le llama grupo,
y se anota G, . Un grupo que cumple G4 es un grupo conmutativo o abeliano. Si es un grupo abe-
liano con y hay una segunda operacin c y un elemento 1 que cumple con R1 hasta R3 se le llama
anillo, y se anota G, , c. Si adems cumple R4 es un anillo conmutativo. Nuestro teorema arma
entonces que Z
m
con las operaciones y c es un anillo conmutativo. Cuidado, hay quienes omiten
el axioma R3 al denir anillos, y le llaman anillos con unidad a lo que nosotros llamamos anillos.
Para abreviar, generalmente slo se nombra el conjunto, omitiendo las operaciones como obvias.
As, en vez de hablar del grupo Z
m
, o de los anillos Z
m
, , c o C, +, se habla simplemente de
Z
m
o C, subentendiendo las operaciones tradicionales. Esto no debiera llevar a confusin. Temas
como este son el mbito del lgebra abstracta, para profundizar en ellos se recomienda el texto de
Pinter [230] o el de Judson [152].
5.3. ARITMTICA ENZ
m
89
En el caso de grupos abelianos por convencin se le llama o anota como suma a la operacin,
y al neutro se le designa con 0. Al inverso a de la suma se le llama inverso aditivo en tal caso.
Escribiremos ab a(b) para grupos abelianos. Por convencin se anota como multiplicacin
la operacin en grupos generales, al neutro se le llama 1 y el inverso de a en tal caso se anota a
1
.
Los elementos que llamamos 0 y 1 arriba (axiomas G2 y R3) no son necesariamente los ente-
ros cero y uno, simplemente los usamos como nombres convenientes. Ntese que en el caso de
grupos y anillos las operaciones son esenciales, debiera anotarse (R, +) y (R, +, ) para explicitar
las operaciones. Los elementos especiales resultan de las operaciones, no vale la pena nombrarlos.
Generalmente se indica nicamente el conjunto.
Al nmero de elementos de un grupo o de un anillo R se le llama su orden, anotado [R[. Si un
subconjunto del grupo es a su vez un grupo con la operacin del caso se le llama subgrupo. De la
misma forma podemos denir subanillos. Si A es subgrupo (o subanillo) de B, se anota A B.
Un caso es el conjunto de un nico elemento e, y denimos e e e. Por razones obvias se le
llama el grupo trivial.
Otro grupo es el de las operaciones en el cubo de Rubik, que intercambian las posiciones de las
caras de colores de los cubitos. Joyner [151] usa este juguete como excusa para introducir la teora
de grupos, y muestra cmo aplicarla para resolver este puzzle y otros similares.
Un ejemplo importante lo proveen las simetras de objetos al moverse en el espacio. Por ejemplo,
si consideramos un cuadrado (como el de la gura 5.1), tenemos las siguientes operaciones que lo
1
2 3
4
Figura 5.1 Un cuadrado
hacen coincidir con su posicin original:
No hacer nada (identidad, ).
Girar en sentido contra reloj en /2, , 3/2 (r
1
, r
2
y r
3
).
Reejar verticalmente ( f
v
), horizontalmente ( f
h
), y a travs de las diagonales 1 3 y 2 4 ( f
c
y f
d
).
Podemos componer estas operaciones va efectuar una y luego la otra. En otras palabras, b a
describe aplicar a y luego b. Como una combinacinde operaciones vuelve el cuadrado a suposicin
original (aunque intercambiando vrtices), la composicin es cerrada. Por ejemplo, si rotamos el
cuadrado en 3/2 y luego lo reejamos en la horizontal el efecto es el mismo que si lo reejamos en
una diagonal:
f
h
r
3
f
d
Esto lleva al cuadro 5.2, que describe al grupo conocido como D
8
. Es D por diedro, el 8 por el nmero
de operaciones del grupo. En general, el polgono regular de n lados da lugar al grupo denomi-
nado D
2n
, hay n rotaciones y n reexiones para un total de 2n operaciones. Estos grupos no son
conmutativos.
Unpoco ms de la teora elemental de grupos provee Chen[58, captulo 4]. Enparticular, constru-
ye sistemticamente todos los grupos de orden hasta 7. Resultados importantes son los siguientes:
90 CAPTULO5. TEORA DE NMEROS
r
1
r
2
r
3
f
v
f
h
f
d
f
c
r
1
r
2
r
3
f
v
f
h
f
d
f
c
r
1
r
1
r
2
r
3
f
v
f
h
f
d
f
c
r
2
r
2
r
3
r
1
f
c
f
d
f
v
f
h
r
3
r
3
r
1
r
2
f
d
f
c
f
h
f
v
f
v
f
v
f
d
f
h
f
c
r
2
r
1
r
3
f
h
f
h
f
c
f
v
f
d
r
2
r
3
r
1
f
d
f
d
f
h
f
c
f
v
r
3
r
1
r
2
f
c
f
c
f
v
f
d
f
h
r
1
r
3
r
2

Cuadro 5.2 El grupo D
8
Teorema 5.13. El elemento neutro de un grupo es nico.
Demostracin. Supongamos que en el grupo (G, ) los elementos a y b son ambos neutros. Entonces:
a a b b
Teorema 5.14 (Ley de cancelacin). Si a, b, c G son tales que a c b c, entonces a b.
Demostracin. Tenemos:
a a 1 a (c c
1
) (a c) c
1
(b c) c
1
b (c c
1
) b
Puede aplicarse exactamente la misma tcnica para demostrar cancelacin a la izquierda.
Teorema 5.15 (Mutualidad). Si en un grupo a b 1, entonces b a 1.
Demostracin. Escribamos:
1 b b 1 b (a b) (b a) b
Luego aplicamos la ley de cancelacin.
Esto nos dice que (a
1
)
1
a.
Teorema 5.16. El inverso de un elemento es nico.
Demostracin. Sea a G un elemento cualquiera, y supongamos que se cumplen a b 1 y a c 1.
Por cancelacin por la izquierda, b c. Por mutualidad, si a b 1 entonces b a 1, y b a
1
.
Vamos ahora a anillos, que son las estructuras que realmente nos interesan ac.
Denicin 5.5. En un anillo R, si para r hay un x tal que r cx x cr 1, se dice que r es invertible,
que x es su inverso y escribimos x r
1
. Ntese que tambin es x
1
r . A los elementos invertibles
del anillo R se les llama unidades, y su conjunto se denota R

.
Notaciones alternativas para el grupo de unidades de R sonU(R), R

y E(R).
Teorema 5.17. El conjunto de unidades de un anillo forma un grupo con la multiplicacin.
Demostracin. La multiplicacin es asociativa en R, as que lo es en el subconjunto R

. Toda unidad
tiene inverso por denicin, y 1 siempre es una unidad. Si a y b son invertibles, entonces a cb tiene
inverso b
1
ca
1
, y la multiplicacin es cerrada en R

. Estas son las propiedades que denen a un


grupo.
5.3. ARITMTICA ENZ
m
91
Un caso especial muy importante es:
Denicin 5.6. Un anillo conmutativo en el que todos los elementos distintos de 0 son invertibles
se llama campo
Ejemplos conocidos son el campo de los nmeros racionales Q, el de los nmeros reales R y el
de los nmeros complejos C.
Para simplicar la notacin usaremos x con 0 x m1 para denotar al conjunto [x]
m
, y usare-
mos + y (o simplemente omitiremos la multiplicacin) en vez de y c. Para eliminar parntesis,
usaremos la convencin comn de multiplicaciones antes de sumas. El valor de m se debe indicar
o quedar claro por el contexto.
Ntese que en Z
m
no hay orden ni idea de positivo. Como en Z
m
es
0, 1, . . . , m1, 0, 1, . . .
(al llegar al nal comienza nuevamente) a veces se le llama aritmtica de reloj.
Algunas de las propiedades conocidas de Zno siempre valenenZ
m
. Por ejemplo, enZsi ac bc
con c /0 entonces a b. Sin embargo, en Z
15
tenemos
4 9 14 9 6
e incluso
12 10 0
Tambin pueden haber elementos que tienen ms de dos races cuadradas. Por ejemplo:
4 2 2 7 7 8 8 13 13
Ntese que mdulo 15 tenemos 13 2 y 8 7, con lo que las races cuadradas de 4 en Z
15
son 2
y 7, mientras en Z slo estn 2. Algunos elementos tienen inverso multiplicativo en Z
15
, como:
7 13 8 2 1
Otros no lo tienen, por ejemplo 6, como es fcil vericar revisando todos los productos 6 k con
0 k < 15 mdulo 15. Hay elementos con una nica raz cuadrada, como 15 15 15 en Z
30
, que
incluso es su propia raz cuadrada.
Denicin 5.7. Si en un anillo hay elementos a, b distintos de cero tales que a cb 0 se les llama
divisor izquierdo de cero a a y divisor derecho de cero a b. A ambos se les llama divisores de cero.
Casos muy importantes de anillos son:
Denicin 5.8. Un anillo conmutativo sin divisores de cero se llama dominio integral.
El ejemplo clsico de dominio integral es Z. En un dominio integral podemos cancelar en productos:
Teorema 5.18. En un dominio integral, si ax bx con x /0 entonces a b.
Demostracin. Tenemos:
ax bx
ax bx 0
(a b)x 0
Como x /0 es a b 0, o sea a b.
92 CAPTULO5. TEORA DE NMEROS
Veamos criterios para identicar subgrupos.
Teorema 5.19. Sea G un grupo, y H G. Si para todo a, b H es a cb
1
H, H es un subgrupo de G.
Demostracin. Que H sea subgrupo de G signica simplemente que ese subconjunto es cerrado
respecto de la operacin e inversos (las dems propiedades se heredan del grupo), y que contiene
al neutro e.
Si a H, por hiptesis est a ca
1
e. Pero as tambin est e ca
1
a
1
. Con esto, si a, b H,
tenemos que a c(b
1
)
1
a cb H, completando la demostracin.
Por ejemplo, podemos ver que en el grupo D
8
mostrado en la tabla 5.2 los elementos {, r
1
, r
2
, r
3
}
forman un subgrupo.
Lema 5.20. Sean A y B subgrupos de G. Entonces AB es un subgrupo de G.
Demostracin. Supongamos x, y AB. Entonces y
1
A y tambin y
1
B, por ser grupos. Pero
entonces y
1
AB. De forma similar, x y
1
AB, y por el teorema 5.19 AB es un subgrupo
de G.
Tambin para anillos:
Lema 5.21. Sean A y B subanillos de R. Entonces AB es un subanillo de R.
La demostracin se omite, sigue la misma idea que la del lema 5.20.
Los axiomas de anillo tienen algunas consecuencias simples.
Teorema 5.22. En un anillo, 0 y 1 son nicos, y para cada a hay un nico a.
Demostracin. Para la suma, el que 0 es nico no es ms que el teorema 5.13; la misma tcnica de
la demostracin puede aplicarse a 1 y la multiplicacin.
Que hay un nico a es el teorema 5.16 aplicado a la suma.
Para evitar parntesis, usaremos la convencin tradicional que las operaciones son asociativas
izquierdas, y que c tiene mayor precedencia que . A veces anotaremos a b para a (b).
Otras consecuencias simples son:
Teorema 5.23. En un anillo, para todo a tenemos 0ca a c0 0
Demostracin. Es aplicar los axiomas de anillo. Para 0ca:
0ca (00) ca
(0ca) (0ca)
Sumando (0ca) a ambos lados obtenemos la conclusin buscada. La otra parte se demuestra de
forma similar.
De ac, si a es una unidad del anillo, entonces no es un divisor de cero, ya que si:
a cb 0
a
1
c(a cb) (a
1
ca) cb
1cb
b
5.3. ARITMTICA ENZ
m
93
Por el otro lado:
a
1
c0 0
O sea, b 0, y a no es divisor de cero.
Teorema 5.24. En un anillo, tenemos (a) cb a c(b) (a cb).
Demostracin. Primero demostramos (1) ca a c(1) a.
(1) ca a (1) ca 1ca
((1) 1) ca
0ca
0
Por conmutatividad de la suma en un anillo a ((1) ca) 0, y en conjunto estas dos corresponden
precisamente a la denicin de a en un grupo. La otra parte se demuestra de forma afn.
Usando esto:
(a) cb ((1) ca) cb
(1) c(a cb)
(a cb)
La otra parte se demuestra de la misma forma.
Tenemos tambin:
Teorema 5.25. En un anillo nito R, los elementos no cero son unidades o divisores de cero.
Demostracin. Tomemos un elemento a /0 del anillo, y consideremos el conjunto aR {a cx : x
R}. Supongamos que hay elementos repetidos en aR, digamos a cx
1
a cx
2
con x
1
/x
2
. Entonces:
a cx
1
a cx
2
a cx
1
a cx
2
0
a c(x
1
x
2
) 0
Como x
1
x
2
/0, a es un divisor de cero.
Si no hay elementos repetidos en aR, como hay [R[ elementos en ese conjunto tiene que estar 1,
digamos ab 1. Entonces:
a cb 1
(a cb) ca a
a c(b ca) a 0
a c((b ca) 1) 0
Sabemos que a c0 0, como en aR no hay elementos repetidos es:
b ca 1 0
b ca 1
y b es el inverso de a, a es un una unidad.
94 CAPTULO5. TEORA DE NMEROS
(a) y
2
x
3
x (b) y
2
x
3
x +1
Figura 5.2 Curvas elpticas
Una consecuencia inmediata del teorema 5.25 es:
Teorema 5.26. Todo dominio integral nito es un campo.
Ejemplos adicionales de anillo los ponen los enteros Z, los complejos C y matrices cuadradas
sobre R.
5.3.1. Curvas elpticas
Una curva elptica est denida por una ecuacin de la forma:
y
2
x
3
+ax +b
que no tiene puntos aislados, no se intersecta a s misma y no tiene cuernos. Algebraicamente, el
discriminante 16(4a
3
+27b
2
) /0. El grco de la curva tiene dos componentes si >0 y uno
solo si <0, ver la gura 5.2. El nombre no tiene relacin con la forma de la curva, sino con el hecho
que se requieren funciones elpticas para representarlas paramtricamente.
Dados dos puntos P
1
(x
1
, y
1
) y P
2
(x
2
, y
2
) sobre una curva elptica podemos denir la suma
como el punto donde la recta entre los puntos corta la curva reejado en el eje x, vase 5.3a para
un ejemplo. Esto hace que si P
1
, P
2
y P
3
son puntos sobre la curva, es P
1
+P
2
+P
3
0, donde 0 es
el punto en el innito. En caso que x
1
x
2
hay dos posibilidades: Si y
1
y
2
, (incluyendo el caso
en que los puntos coinciden), la suma se dene como 0 (el punto en el innito). Tenemos as para
P (x, y) que P (x, y). En caso contrario denimos P
1
+P
2
P
3
con P
3
(x
3
, y
3
) mediante:
s
y
2
y
1
x
2
x
1
x
3
s
2
x
1
x
2
(5.13)
y
3
y
1
+s(x
3
x
1
)
5.3. ARITMTICA ENZ
m
95
P
1
P
2
P
3
(a) Suma de P
1
(x
1
, y
1
) y P
2
(x
2
, y
2
)
P
2P
(b) Doble de P (x, y)
Figura 5.3 Sumas en curvas elpticas
Para sumar el punto P (x, y) consigo mismo corresponde usar la tangente a la curva, ver la gu-
ra 5.3b, lo que da P
2
(x
2
, y
2
):
s
3x +a
2y
x
2
s
2
2x (5.14)
y
2
y +s(x
2
x)
Es rutina vericar que esto dene un grupo abeliano.
Lo interesante es que las relaciones que denen la suma en curvas elpticas valen en cualquier
campo, por lo que podemos considerar el grupo denido por la curva elptica sobre un campo
cualquiera. Si la caracterstica del campo F no es 2 ni 3 (vale decir, no es 2x 0 ni 3x 0 para todo
x F; la discusin formal deber esperar al captulo 8), toda curva elptica puede escribirse en la
forma:
y
2
x
3
px q
tal que el lado derecho no tiene ceros repetidos. Interesan los puntos con coordenadas en F. El
teorema de Hasse [132134] da las cotas para el nmero N de elementos en curvas elpticas sobre el
campo nito de q elementos:
[N (q +1)[ 2
_
q
Las curvas elpticas son importantes en teora de nmeros, y tienen bastantes aplicaciones prc-
ticas, particularmente se estn haciendo muy populares en criptografa. El sistema PARI/GP [224]
incluye soporte para operar en los grupos respectivos. El paquete GAP [110] tiene extenso soporte
para trabajar con grupos, incluyendo grupos de curvas elpticas.
5.3.2. Anillos cuadrticos
Un ejemplo menos conocido de anillo conmutativo lo pone Z[
_
2], denido como el conjunto
{a +b
_
2: a, b Z}, con las operaciones tradicionales de los reales. Primeramente, las operaciones
96 CAPTULO5. TEORA DE NMEROS
en Z[
_
2] estn bien denidas:
(a
1
+b
1
_
2) +(a
2
+b
2
_
2) (a
1
+a
2
) +(b
1
+b
2
)
_
2
(a
1
+b
1
_
2) (a
2
+b
2
_
2) (a
1
a
2
+2b
1
b
2
) +(a
1
b
2
+a
2
b
1
)
_
2
Los coecientes en estas expresiones son todos enteros, y al ser
_
2 irracional no hay maneras alter-
nativas de representar el mismo elemento. Como los elementos son simplemente nmeros reales,
las asociatividades y conmutatividades de las operaciones, y la distributividad, se heredan de R.
Podemos representar:
0 0+0
_
2
1 1+0
_
2
Tenemos
_
a +b
_
2
_
+
_
(a) +(b)
_
2
_
0
lo que provee de un inverso aditivo. Como este es un subanillo de los reales, no hay divisores de cero,
y es un dominio integral.
Busquemos el inverso de a +b
_
2 en Z[
_
2]:
1
a +b
_
2

a b
_
2
a
2
2b
2
(5.15)
Para que (5.15) pertenezca a nuestro anillo, debe ser:
a
2
2b
2
1 (5.16)
Una solucin es a b 1, con lo que 1+
_
2 es una unidad.
A ecuaciones de la forma
x
2
dy
2
1 (5.17)
con d > 1 se les llama ecuaciones de Pell [79]
1
, nos interesa el caso d 2. Vemos que si d es un
cuadrado perfecto, slo es posible la solucin trivial x 1, y 0. Enseguida, podemos suponer que x
e y son no negativos, por los cuadrados sus signos no importan. Podemos factorizar el lado derecho
de la ecuacin (5.17)
x
2
dy
2
(x +y
_
d)(x y
_
d)
lo que nos lleva de vuelta al anillo Z[
_
d].
Denicin 5.9. En el anillo Z[
_
d] el conjugado de z a +b
_
d es z a b
_
d, y su norma es
N(z) z z a
2
db
2
. Llamamos parte entera a a y parte irracional a b.
En estos trminos, son unidades de Z[
_
d] exactamente los elementos de norma 1. El inverso
de la unidad z es z, dependiendo del signo de N(z). Resulta:
Teorema 5.27. En Z[
_
d] la norma y el conjugado son multiplicativos, o sea N(z
1
z
2
) N(z
1
) N(z
2
)
y z
1
z
2
z
1
z
2
1
Euler errneamente se la atribuy a John Pell (1611-1685), probablemente confundindolo con WilliamBrounker (1620-
1684) quien fue el primer europeo en estudiarla. Brahmagupta en la India en 628 ya describe cmo resolverla. Los nmeros
de Pell (soluciones para el caso d 2) se conocen desde Pitgoras.
5.3. ARITMTICA ENZ
m
97
Demostracin. Primeramente, con z
1
a
1
+b
1
_
d y z
2
a
2
+b
2
_
d, tenemos:
z
1
z
2
(a
1
b
1
_
d) (a
2
b
2
_
d)
(a
1
a
2
+db
1
b
2
) (a
1
b
2
+a
2
b
1
)
_
d
z
1
z
2
(5.18)
Con esto:
N(z
1
z
2
) (z
1
z
2
) (z
1
z
2
)
(z
1
z
1
) (z
2
z
2
)
N(z
1
) N(z
2
)
Pero tambin:
Teorema 5.28. Si z
0
es el elemento mnimo de Z[
_
d] con z
0
> 1 y N(z
0
) 1, todos los elementos
z Z[
_
d] con N(z) 1 estn dados por z z
n
0
con n Z.
Demostracin. Suponga que N(z) z z 1 para z >1, con lo que z
1
z. Hay un nico k N
0
tal
que z
k
0
z < z
k+1
0
. As z
1
zz
k
0
z(z
0
)
k
cumple 1 z
1
< z
0
, y tenemos N(z
1
) N(z) N(z
0
)
k
1.
Por la minimalidad de z
0
, es z
1
1 y z z
k
0
.
Al par (x
0
, y
0
) o a z
0
x
0
+y
0
_
d se le llama solucin fundamental de la ecuacin de Pell.
Todos los anillos Z[
_
d] tienen innitas unidades.
Teorema 5.29 (Dirichlet). Sea un nmero irracional y n un entero positivo. Entonces hay p Z y
q [1, n] tales que:

p
q

<
1
(n +1)q
(5.19)
Demostracin. La desigualdad (5.19) es equivalente a [qp[ <1/(n +1). Entre los n +2 nmeros
0, {}, {2}, . . . , {n}, 1, por el principio del palomar (teorema 1.3) en el segmento [0, 1] hay dos que
dieren en menos de 1/(n +1) (si es racional podran diferir en exactamente 1/(n +1)). Si stos
son {a} y {b} basta hacer q [a b[; si son {a} y 0 o 1, basta hacer q a. En cualquiera de los
casos, p es el entero ms cercano a a.
De ac, como n +1 >q es 1/((n +1)q) <1/q
2
, sigue inmediatamente:
Corolario 5.30. Si es un real arbitrario, hay innitos pares de enteros positivos (p, q) tales que:

p
q

<
1
q
2
As resulta:
Teorema 5.31. La ecuacin de Pell
x
2
dy
2
1
donde d no es un cuadrado tiene una solucin no trivial en los enteros.
98 CAPTULO5. TEORA DE NMEROS
Demostracin. Aplicando el corolario 5.30 con
_
d, vemos que hay innitos pares (a, b) tales
que:

a b
_
d

<
1
b
Notamos que por la desigualdad triangular, teorema 1.2:

a +b
_
d

a b
_
d

2b
_
d


1
b
+2b
_
d
Con esto:

a
2
b
2
d

a +b
_
d

a b
_
d


_
1
b
+2b
_
d
_

1
b
2
_
d +1
Pero al haber innitos pares con normas

N(a +b
_
d)

2
_
d +1, y siendo enteras las normas por
el principio del palomar hay innitos pares con una misma norma N. Ac N /0, ya que slo para
z 0 es N(z) 0. Si ahora consideramos todos los pares de norma N, nuevamente por el principio
del palomar hay innitos pares z
1
(a
1
, b
1
) y z
2
(a
2
, b
2
) tales que a
1
a
2
y b
1
b
2
(m od N), por
lo que debe haber z
1
/z
2
entre ellos. Consideremos:
z a +b
_
d
z
1
z
2

z
1
z
2
N(z
2
)
N(z)
N(z
1
)
N(z
2
)
1
Como z
1
/z
2
, sabemos que z /1. Como N(z
2
) N, resultan:
a
a
1
a
2
db
1
b
2
N
b
a
1
b
2
a
2
b
1
N
Observamos que, ya que a
1
a
2
(m od N) y b
1
b
2
(m od N):
a
1
a
2
db
1
b
2
a
1
a
1
db
1
b
1
0 (m od N)
a
1
b
2
a
2
b
1
a
1
b
1
a
1
b
1
0 (m od N)
con lo que a, b Z, o sea z Z[
_
d] con N(z) 1.
Tambin nos interesa saber si hay soluciones a x
2
dy
2
1, ya que tambin son unidades de
Z[
_
d].
Teorema 5.32. La ecuacin x
2
dy
2
1 tiene solucin si y slo si existe z
1
Z[
_
d] tal que z
2
1
z
0
.
Demostracin. Demostramos implicancias en ambas direcciones. Si hay tal z
1
es menor que z
0
, y
como N(z
0
) N(z
2
1
) N(z
1
)
2
1, debe ser N(z
1
) 1.
Si z es solucin de N(z) 1, entonces N(z
2
) 1. En particular, la mnima solucin z
1
Z[
_
d]
de la ecuacin N(z) 1 tal que z
1
>1 da lugar a la mnima solucin z
0
z
2
1
de N(z) 1.
Hace falta determinar races cuadradas en Z[
_
d]:
(x
1
+y
1
_
d)
2
(x
2
1
+dy
2
1
) +2x
1
y
1
_
d (2dy
1
1) +2x
1
y
1
_
d x
0
+y
0
_
d
5.3. ARITMTICA ENZ
m
99
Ac usamos x
2
1
+dy
2
1
1. O sea:
y
1

x
0
+1
2d
x
1

y
0
2y
1

dy
0
x
0
+1
En Z[
_
2] la solucin fundamental es (3, 2), como su raz cuadrada resulta el par (1, 1) Z[
_
2], con
N(1+
_
2) 1, con lo que todas las unidades son (1+
_
2)
n
para n Z.
Lenstra [193] da algo de la historia de la ecuacin de Pell y describe algoritmos para obtener
la solucin fundamental. Mayores detalles de la fascinante teora relacionada con estos anillos se
encuentran por ejemplo en [78].
5.3.3. Cuaterniones
Otro ejemplo interesante de anillo lo ponen los cuaterniones [127], una extensin de los nmeros
complejos inventada para manejar posiciones en el espacio como se pueden manejar puntos en el
plano con nmeros complejos. Hoy han sido reemplazados casi universalmente por vectores, ms
exibles y generales. Considerados una curiosidad histrica por mucho tiempo, ltimamente han
encontrado utilidad en diversas reas, como representacin eciente de movimientos y rotaciones
en el espacio en computacin grca, ver por ejemplo [84].
Con a, b, c, d R el cuaternin z Hpuede describirse
z a +bi +cj +dk (5.20)
donde
i
2
j
2
k
2
ijk 1 (5.21)
Denimos las operaciones con estos objetos como para polinomios en i, j y k, aplicando (5.21) luego.
Resulta que el anillo de cuaterniones no es conmutativo, la tabla de multiplicacin de los elemen-
tos unitarios es el cuadro 5.3, pero todo elemento diferente de cero tiene inverso multiplicativo. En
1 i j k
1 1 i j k
i i 1 k j
j j k 1 i
k k j i 1
Cuadro 5.3 Multiplicacin de cuaterniones
detalle, si denimos el conjugado del cuaternin q a+bi +cj +dk como q abi cj dk, resulta
que qq a
2
+b
2
+c
2
+d
2
; y la norma de q se dene como |q|
_
qq. Ntese que pq q p. Con
esto, resulta que la norma es multiplicativa, ya que la multiplicacin entre un cuaternin cualquiera
y un real conmuta:
|pq|
2
(pq) (pq)
p qq p
|p|
2
|q|
2
As resulta el recproco
q
1

q
|q|
100 CAPTULO5. TEORA DE NMEROS
que claramente cumple qq
1
q
1
q 1. La notacin p/q no tiene sentido, ya que pq
1
/q
1
p en
general.
5.3.4. Los teoremas de Lagrange, Euler y Fermat
En lo que sigue consideraremos un grupo G con operacin c (o simplemente se omite). El
elemento neutro de G lo denotaremos 1. Para simplicar notacin, en un grupo con operacin
multiplicacin usaremos la denicin para potencias enteras, donde a es un elemento cualquiera
del grupo:
a
n
a ca c ca
. .
n veces
Formalmente:
a
0
1 (5.22)
a
k+1
a
k
ca si k 0 (5.23)
Es fcil ver que si denimos:
a
k

_
a
1
_
k
(5.24)
se cumplen las propiedades tradicionales de las potencias:
a
m+n
a
m
ca
n
(5.25)
(a
m
)
n
a
mn
(5.26)
Si la operacin es suma usamos la notacin n a con n Z; si anotamos 0 para el neutro aditivo:
n a a a a
. .
n veces
Formalmente:
0 a 0
(k +1) a k a a si k 0
k a k (a)
Sea a un elemento de un grupo G, en el cual usamos notacin de multiplicacin. Los elementos
a
k
con k Z forman un subgrupo abeliano de G. Si G es nito, el conjunto de los a
n
para n N
tiene que contener repeticiones, ya que son todos elementos de G. Si resulta que a
m
a
n
con
m>n, tendremos a
mn
1. El mnimo n >0 tal que a
n
1 (siempre existe si G es nito) se llama
el orden de a, que se anota ord
G
(a) (o simplemente ord(a), si el grupo se subentiende). Ms an, si
a
k
1, entonces ord
G
(a) [ k. Para demostrar esto, usamos el algoritmo de divisin. Con n ord
G
(a)
podemos escribir k qn +r , donde 0 r <n, y:
a
k
a
qn+r
1 a
qn
ca
r
(a
n
)
q
ca
r
a
r
(5.27)
Como 0 r <n, por la denicin de orden la nica opcin en (5.27) es r 0, y n [ k.
5.3. ARITMTICA ENZ
m
101
Denicin5.10. Sea G un grupo. Si todos los elementos de G se pueden escribir como g
k
para algn
elemento g G y k Z a G se le llama grupo cclico, y a g se le llama generador del grupo.
En particular, consideremos el subgrupo generado por el elemento a G, vale decir, si el orden
de a es n los elementos a
0
, a
1
, . . . , a
n1
. Este subgrupo tiene orden n, con lo que n divide a [G[.
En caso que el grupo sea nito, para que un subconjunto sea un subgrupo basta que sea cerrado
respecto de la operacin. En este caso el subconjunto contiene los grupos generados por cada
elemento a, y si a tiene orden n tenemos a
n1
a
1
, y con esto completamos la condicin de
subgrupo que dimos antes en el teorema 5.19.
Un resultado importante que relaciona grupos y subgrupos es el siguiente:
Teorema 5.33 (Lagrange). Sea G un grupo nito, y H un subgrupo de G. Entonces [H[ divide a [G[.
Demostracin. Sea a G. Al conjunto aH {a ch: h H} se le llama coset (izquierdo) de H (de
forma afn el coset derecho Ha {h ca: h H}). Demostraremos que todos los cosets tienen el
mismo nmero de elementos, y que particionan G, de lo que el resultado es inmediato.
Primeramente, el coset aH {a ch: h H} no tiene elementos repetidos, porque supongamos
que hay h, g H tales que a ch a cg, por la ley de cancelacin es h g. Resulta simplemente
[aH[ [H[.
Denamos la relacin R sobre G mediante x R y si y slo si hay h H tal que x y ch. Entonces
R es una relacin de equivalencia:
Reexiva: Necesariamente 1 H, con lo que x R x.
Simtrica: Esto porque x R y corresponde a x ych para h H, pero entonces tambin y xch
1
,
y como h
1
H tenemos y R x.
Transitiva: Si x R y y y R z entonces hay h
1
, h
2
H tales que x y ch
1
y y z ch
2
. Combinando
stos, x z c(h
2
ch
1
), y h
2
ch
1
H, con lo que x R z.
Las clases de equivalencia de R son precisamente los cosets de H: x [y] siempre que podemos
escribir x y ch con h H, o sea, x yH, con lo que [y] yH. Pero [aH[ [H[ como vimos antes, y
tenemos nuestro resultado.
5.3.5. Unidades de Z
m
Nos abocaremos a un estudio ms detallado de Z

m
, una vez adquiridas algunas herramientas
algebraicas adicionales.
Teorema 5.34. El elemento a Z
m
es invertible si y slo si a y m son coprimos. En particular, si p es
primo todos los elementos de Z
p
(salvo 0) son invertibles, y Z
p
es un campo.
Demostracin. Supongamos a invertible. Entonces existen enteros b y k tales que ab 1 km, que
es decir ab km1. Pero si existen tales b y k entonces gcd(a, m) 1.
Al revs, supongamos gcd(a, m) 1. Entonces (por la identidad de Bzout) existen s, t tales que:
s a +t m1
s a 1 (m od m)
y s es el inverso de a.
102 CAPTULO5. TEORA DE NMEROS
0 1 2 3 4 5 6 7 8 9 10 11
0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7 8 9 10 11
2 0 2 4 6 8 10 0 2 4 6 8 10
3 0 3 6 9 0 3 6 9 0 3 6 9
4 0 4 8 0 4 8 0 4 8 0 4 8
5 0 5 10 3 8 1 6 11 4 9 2 7
6 0 6 0 6 0 6 0 6 0 6 0 6
7 0 7 2 9 4 11 6 1 8 3 10 5
8 0 8 4 0 8 4 0 8 4 0 8 4
9 0 9 6 3 0 9 6 3 0 9 6 3
10 0 10 8 6 4 2 0 10 8 6 4 2
11 0 11 10 9 8 7 6 5 4 3 2 1
Cuadro 5.4 La tabla de multiplicacin en Z
12
Resulta que el nmero de unidades de Z
m
es una cantidad muy importante. Por el teorema 5.34,
no es ms que la cantidad de nmeros en 1, 2, . . . , m que son relativamente primos a m, que se anota
(m) (funcin de Euler).
Un ejemplo lo pone Z
12
, donde tenemos la tabla de multiplicacin 5.4. Pueden apreciarse los
elementos invertibles Z

12
{1, 5, 7, 11}, con lo que (12) 4. Se ve tambin que los dems son todos
divisores de cero.
Al considerar el subgrupo de Z

m
generado por a tenemos del teorema de Lagrange que el orden
de a divide al orden de Z

m
, que es (m), y as:
Teorema 5.35 (Euler). Si a y m son relativamente primos, entonces
a
(m)
1 (m od m)
En el caso de que m sea primo, como (p) p 1 para p primo, el teorema de Euler se reduce a:
Teorema 5.36 (Pequeo teorema de Fermat). Si p es primo, y p/[ a entonces
a
p1
1 (m od p)
El hecho de que a este se le llame pequeo no tiene ninguna relacin con su importancia,
veremos una gran variedad de aplicaciones en lo que sigue. El gran (o ltimo) teorema de Fermat
es uno de los resultados ms famosos de las matemticas. Fermat anot por 1637 en el margen de
una copia de la Aritmtica de Diofanto que haba descubierto una demostracin verdaderamente
maravillosa de que a
n
+b
n
c
n
no tiene soluciones para nmeros naturales a, b, c si n >2, pero que
esta no caba en el margen (tena esta mala costumbre, la publicacin del libro rayado despus de
su muerte dio trabajo a ejrcitos de matemticos durante bastante tiempo). Se le llam el ltimo
teorema no por ser la ltima de sus innumerables conjeturas, sino por ser la ltima importante
que quedaba sin resolver una vez que Euler termin de trabajar en ellas. Recin en 1995 Andrew
Wiles con la ayuda de su estudiante Richard Taylor [281, 291] demostr el ltimo teorema de Fermat,
aunque mediante mtodos muy recientes (y no es precisamente una demostracin maravillosa).
Generalmente se piensa que Fermat se equivoc al creer que tena una demostracin.
6 Estructura de Z
m
y Z

m
Suele resultar fructfero descomponer estructuras complejas en piezas ms simples para ayudar
a su anlisis. Incursionaremos un poco en el rea de analizar la estructura de grupos abelianos.
Aplicando lo aprendido a los grupos numricos obtendremos varios resultados muy importantes.
6.1. Descomposiciones
Consideremos nuevamente el grupo D
8
, que vimos en la seccin 5.3, vase el cuadro 6.1. Si
r
1
r
2
r
3
f
v
f
h
f
d
f
c
r
1
r
2
r
3
f
v
f
h
f
d
f
c
r
1
r
1
r
2
r
3
f
v
f
h
f
d
f
c
r
2
r
2
r
3
r
1
f
c
f
d
f
v
f
h
r
3
r
3
r
1
r
2
f
d
f
c
f
h
f
v
f
v
f
v
f
d
f
h
f
c
r
2
r
1
r
3
f
h
f
h
f
c
f
v
f
d
r
2
r
3
r
1
f
d
f
d
f
h
f
c
f
v
r
3
r
1
r
2
f
c
f
c
f
v
f
d
f
h
r
1
r
3
r
2

Cuadro 6.1 El grupo D
8
analizamos las operaciones que lo componen, vemos que las operaciones {, r
1
, r
2
, r
3
} por s solas
tambinconformanungrupo (correspondena slo girar el cuadrado enel plano, sinsalir de l), o sea
forman un subgrupo de D
8
. Otros subgrupos estn formados por solo (el grupo trivial, nuevamente),
{, r
2
}, {, f
d
}.
Un ejemplo ms simple (porque es un grupo abeliano) lo da Z
12
con la suma, vase el cuadro 5.4.
En Z
12
son subgrupos {0}, {0, 6}, {0, 4, 8}, {0, 3, 6, 9}, {0, 2, 4, 6, 8, 10} y {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}.
6.1.1. Homomorsmos e isomorsmos
Consideremos los grupos Z

8
y Z

12
, que casualmente tienen el mismo nmero de elementos.
Estas tablas (cuadros 6.2a y 6.2b) son diferentes, pero podemos ver que tienen la misma estructura,
por ejemplo el mapa
1 1
3 5
5 7
711
103
104 CAPTULO6. ESTRUCTURA DE Z
m
Y Z

m
1 3 5 7
1 1 3 5 7
3 3 1 7 5
5 5 7 1 3
7 7 5 3 1
(a) Z

8
1 5 7 11
1 1 5 7 11
5 5 1 11 7
7 7 11 1 5
11 11 7 5 1
(b) Z

12
Cuadro 6.2 Los grupos Z

8
y Z

12
1 2 3 4
1 1 2 3 4
2 2 4 1 3
3 3 1 4 2
4 4 3 2 1
(a) Z

5
+ 0 1 2 3
0 0 1 2 3
1 1 2 3 0
2 2 3 0 1
3 3 0 1 2
(b) Z
4
Cuadro 6.3 Los grupos Z

5
y Z
4
traduce entre ellos. Sin embargo, hay grupos diferentes con cuatro elementos. Por ejemplo, tenemos
Z

5
(cuadro 6.3a) y Z
4
(cuadro 6.3b). Ntese que entre Z
4
y Z

5
tambin podemos construir una
correspondencia, a pesar que la operacin involucrada es diferente:
01
12
24
33
No hay correspondencia posible entre Z

5
y Z

8
: En la diagonal de la tabla para Z

5
(cuadro 6.3a)
aparecen dos valores diferentes, mientras para Z

8
(cuadro 6.2a) hay uno solo.
Esta idea de misma estructura es importante, y la capturamos con lo siguiente.
Denicin 6.1. Sean dos grupos (G, 1
G
, c) y (H, 1
H
, ), un homomorsmo de G a H es una funcin
h: G H tal que h(a cb) h(a) h(b). A un homomorsmo que es una biyeccin se le llama
isomorsmo, y se dice en tal caso que los grupos son isomorfos, y se anotaG

H. Un caso importante
de isomorsmos son los isomorsmos de G a G, los automorsmos.
Las mismas ideas son aplicables a otras estructuras algebraicas, como anillos, si la funcin es
homomorsmo (o isomorsmo) para ambas operaciones.
Un ejemplo conocido de homomorsmo es la clasicacin de nmeros en pares e impares, con
las correspondientes reglas de sumas y productos. Un isomorsmo til es el entre (R
+
, ) y (R, +)
dado por los logaritmos.
Si h: G H es un homomorsmo, y 1
G
y 1
H
son los elementos neutros de G y H, respectiva-
mente, claramente h(1
G
) 1
H
, y h(a
1
) (h(a))
1
.
Una manera simple de entender un isomorsmo es considerando que los dos grupos son el
mismo, slo cambiando los nombres de los elementos y la operacin. Es fcil demostrar que los
grupos cclicos nitos de orden n son isomorfos a Z
n
, y los innitos isomorfos a Z.
En Z
p
para p primo hay automorsmos que asocian 1 con cada elemento no cero. Esto no es
ms que otra forma de decir que mdulo p todos los elementos tienen inverso.
6.1. DESCOMPOSICIONES 105
El isomorsmo entre grupos es una relacin de equivalencia: Es reexiva, un grupo es isomorfo
a s mismo; es simtrica, ya si hay una biyeccin como la indicada, existe la funcin inversa que
cumple las mismas condiciones; y es transitiva, siendo la composicin de los isomorsmos el iso-
morsmo buscado. Es por ser una equivalencia que tiene sentido considerar iguales estructuras
algebraicas isomorfas.
Una aplicacin es la prueba de los nueves, popular en la poca en que operaciones aritmticas
se hacan manualmente. Consiste en vericar operaciones aritmticas (sumas, restas y multiplica-
ciones) va calcular el residuo mdulo nueve de los operandos, operar con los residuos, y comparar
con el residuo mdulo nueve del resultado. El punto es que (por el teorema 5.12) el reducir mdulo
m es un homomorsmo del anillo Z a Z
m
, por lo que ambos residuos debieran coincidir. Calcular
el residuo mdulo nueve de un nmero escrito en decimal es simplemente sumar sus dgitos hasta
llegar a un resultado de un nico dgito: Como 10 1 (m od 9), tenemos:

0kn
d
k
10
k

0kn
d
k
(m od 9)
6.1.2. Sumas directas
En lo que sigue discutiremos grupos abelianos, pero la operacin que interesa puntualmente
es la multiplicacin entre enteros. Para evitar confusiones, usaremos notacin de multiplicacin y
potencias, y no sumas como sera por convencin general. Por lo dems, la notacin como multipli-
cacin es ms compacta.
Siempre es til tratar de descomponer estructuras complejas en piezas ms simples. Considere-
mos el grupo de unidades Z

8
{1, 3, 5, 7} y dos de sus subgrupos, {1, 3} y {1, 5}. Todo elemento de Z

8
puede escribirse como un producto de un elemento de cada uno de estos:
1 1 1 5 1 5
3 3 1 7 3 5
Otro ejemplo provee Z

15
{1, 2, 4, 7, 8, 11, 13, 14}, con subgrupos {1, 2, 4, 8} y {1, 11}:
1 1 1 8 8 1
2 2 1 11 1 11
4 4 1 13 8 11
7 2 11 14 4 11
Esto motiva la siguiente:
Denicin 6.2. Sean A y B subgrupos del grupo abeliano G tales que todo g G puede escribirse
de forma nica como g a b, con a A y b B. Entonces escribimos G AB y decimos que G es la
suma directa de A y B.
La utilidad de esta nocin se debe en buena parte a que si sabemos qu son A y B conocemos
AB:
Teorema 6.1. Si G AB, G
t
A
t
B
t
y A

A
t
, B

B
t
, entonces G

G
t
.
Demostracin. Supongamos que f : A A
t
y h: B B
t
son isomorsmos, construimos un isomor-
smo k : G G
t
deniendo:
k(g) f (a) h(b)
106 CAPTULO6. ESTRUCTURA DE Z
m
Y Z

m
donde a A, b B y g a b. Primeramente, esta denicin tiene sentido, ya que para g G los
elementos a y b son nicos, con lo que k es una funcin. Es uno a uno, ya que si tomamos g
1
/g
2
,
al escribir g
1
a
1
b
1
y g
2
a
2
b
2
, necesariamente estos pares son diferentes, y como f y h son uno
a uno, tendremos k(g
1
) f (a
1
) h(b
1
) / f (a
2
) h(b
2
) k(g
2
). Es sobre ya que si tomamos g
t
G
t
,
este puede escribirse de forma nica como g
t
a
t
b
t
, y usando las inversas de f y h esto lleva al
elemento nico g f
1
(a
t
) h
1
(b
t
) G tal que k(g) g
t
.
Este enredo oculta algo muy simple: Si G AB, se puede expresar g G mediante las coorde-
nadas (a, b) con g a b, y considerar AB como A B con operacin (a, b) (a
t
, b
t
) (a a
t
, b b
t
).
En estos trminos, la operacin en AB est completamente determinada por las operaciones en A y
B; si A
t
es una copia de A y B
t
es una copia de B, entonces G
t
A
t
B
t
es simplemente una copia de
G AB.
Analicemos Z

15
y Z

16
. Ya vimos que Z

15
{1, 2, 4, 8}{1, 11}; mientras Z

16
{1, 3, 5, 7, 9, 11, 13, 15},
con subgrupos {1, 3, 9, 11} y {1, 7}, y tenemos Z

16
{1, 3, 9, 11}{1, 7}. Pero {1, 2, 4, 8} y {1, 3, 9, 11} son
grupos cclicos de orden 4, y por tanto isomorfos a Z
4
; y por el otro lado {1, 11} y {1, 7} son cclicos de
orden 2, isomorfos a Z
2
. Entonces Z

15

16
.
Para clculos concretos el siguiente teorema es til:
Teorema 6.2. Si A y B son subgrupos del grupo abelianoG tales que AB {1} y [A[[B[ [G[ entonces
G AB.
Demostracin. Consideremos los productos ab con a A y b B. Demostramos que son diferentes
por contradiccin. Supongamos pares distintos (a
1
, b
1
) y (a
2
, b
2
) tales que a
1
cb
1
a
2
cb
2
. Entonces
a
1
ca
1
2
b
1
1
cb
2
. Pero a
1
ca
1
2
A y b
1
cb
1
2
B, con lo que esto tiene que estar en la interseccin
entre ambos, o sea a
1
ca
1
2
b
1
cb
1
2
1, con lo que a
1
a
2
y b
1
b
2
.
Con esto hay exactamente [A[ [B[ [G[ productos a cb diferentes, que tienen que ser todos los
elementos de G.
El grupo Z

16
tiene 8 4 2 elementos, con lo que de los subgrupos {1, 3, 9, 11} y {1, 7} tenemos
Z

16
{1, 3, 9, 11}{1, 7}, ya que {1, 3, 9, 11} {1, 7} {1}.
Esto puede extenderse a ms de dos subgrupos. Por ejemplo, Z
30
tiene subgrupos {0, 6, 12, 18, 24}
y {0, 5, 10, 15, 20, 25}, de rdenes 5 y 6, con interseccin {0}. Por el teorema 6.2 tenemos la descomposi-
cin Z
30
{0, 6, 12, 18, 24}{0, 5, 10, 15, 20, 25}. Por su lado, {0, 5, 10, 15, 20, 25} tiene subgrupos {0, 10, 20}
y {0, 15}, de rdenes 3 y 2, y es {0, 5, 10, 15, 20, 25} {0, 10, 20}{0, 15}. Esto sugiere extender la deni-
cin 6.2 y escribir Z
30
{0, 6, 12, 18, 24}{0, 10, 20}{0, 15}.
Denicin 6.3. Sea G un grupo abeliano, y sean A
1
, A
2
, . . . , A
n
subgrupos de G tales que todo
elemento de G puede escribirse de forma nica como a
1
a
2
a
n
, con a
i
A
i
para todo 1 i n.
Entonces G es la suma directa de los subgrupos A
1
, A
2
, . . . , A
n
, y anotamos G A
1
A
2
A
n
.
Si G A
1
A
2
A
n
y g a
1
a
2
. . . a
n
con a
i
A
i
decimos que a
i
es el componente de g en A
i
. Por
la denicin de suma directa el componente de g en A
i
es nico. Una relacin til entre el orden del
elemento y los rdenes de sus componentes es la siguiente:
Teorema 6.3. Si G A
1
A
2
A
n
y g G, entonces el orden de g es el mnimo comn mltiplo de los
rdenes de los componentes de g
Demostracin. Sea g a
1
a
2
a
n
con a
i
A
i
. Para cualquier entero s tendremos g
s
a
s
1
a
s
2
a
s
n
.
Como a
s
i
A
i
, el componente en A
i
de g
s
es a
s
i
. Por otro lado, el componente de 1 en A
i
es 1, y g
s
1
slo si a
s
i
1 para todo 1 i n, con lo que s es un mltiplo del orden de a
i
para cada 1 i n, y el
orden de g es el menor de todos los posibles mltiplos.
6.1. DESCOMPOSICIONES 107
11 4 8 1
11
2
16 4
2
16 8
2
1
11
3
8 4
3
1
11
4
4
11
5
2
11
6
1
Cuadro 6.4 Potencias en Z

21
Para ilustrar lo anterior, consideremos Z

21
{1, 4, 16}{1, 8}{1, 13}. Si tomamos 11 Z

21
, se descom-
pone en 11 4 8 1. Las potencias respectivas las da el cuadro 6.4, lo que conrma que el orden de
11 es 6 3 2 1.
6.1.3. Sumas directas externas
Hasta ac hemos descompuesto un grupo en la suma directa de subgrupos. La pregunta inversa
es si dados grupos A
1
, A
2
, . . . , A
n
, podemos construir G con subgrupos H
1
, H
2
, . . . , H
n
tales que
G H
1
H
2
H
n
con A
i

H
i
para todo 1 i n. La respuesta es armativa, y la construccin
es muy simple. Vimos que si G H
1
H
2
H
n
, entonces g G puede escribirse g h
1
h
2
h
n
en
forma nica, con h
i
H
i
. Especicar g es lo mismo que especicar la tupla de coordenadas h
i
.
De igual manera, dado k G podemos escribirlo k k
1
k
2
k
n
en forma nica, con k
i
H
i
, y
gk h
1
h
2
. . . h
n
k
1
k
2
k
n
(h
1
k
1
)(h
2
k
2
) (h
n
k
n
), donde h
i
k
i
H
i
resulta ser la coordenada de
gk. Esta situacin motiva la denicin siguiente:
Denicin 6.4. Sean A
1
, A
2
, . . . , A
n
grupos abelianos. La suma directa (externa) de A
1
, A
2
, . . . , A
n
es el conjunto de tuplas (a
1
, a
2
, . . . , a
n
) con a
i
A
i
y operacin dada por:
(a
1
, a
2
, . . . , a
n
) (b
1
, b
2
, . . . , b
n
) (a
1
b
1
, a
2
b
2
, . . . , a
n
b
n
)
Escribiremos G A
1
A
2
A
n
para la suma directa externa de los grupos A
1
, . . . , A
n
.
De ac resulta:
Teorema 6.4. La suma directa (externa) de los grupos abelianos A
1
, A
2
, . . . , A
n
es un grupo abeliano,
G H
1
H
2
H
n
, donde H
i
es el conjunto de tuplas de la forma (1, . . . , 1, a
i
, 1, . . . , 1) con a
i
A
i
(todas
las componentes, salvo la i -sima, son 1). Adems, H
i

A
i
para todo 1 i n.
Demostracin. Demostrar que G es un grupo abeliano es automtico; hay que vericar que la opera-
cin es cerrada (inmediato de la denicin), asociatividad (resulta directamente de la asociatividad
en cada A
i
), existencia de neutro (resulta ser (1, 1, . . . , 1)), conmutatividad (directamente de cada A
i
)
e inverso (el inverso de (a
1
, a
2
, . . . , a
n
) es (a
1
1
, a
1
2
, . . . , a
1
n
)).
Podemos escribir un elemento g G como:
(a
1
, a
2
, . . . , a
n
) (a
1
, 1, . . . , 1) (1, a
2
, . . . , 1) (1, 1, . . . , a
n
)
Ac (1, . . . , 1, a
i
, 1, . . . , 1) H
i
, lo que puede hacerse de una nica forma, y los H
i
son subgrupos de G.
Resulta G H
1
H
2
H
n
, y f
i
: H
i
A
i
que mapea (1, . . . , 1, a
i
, 1, . . . , 1) a a
i
es un isomorsmo.
La nocin de sumas directas externas da una notacin conveniente para describir grupos abe-
lianos. Por ejemplo, vimos Z

15
{1, 2, 4, 8}{1, 11}; pero estos dos son grupos cclicos de orden 4 y 2,
respectivamente, con lo que Z

15

Z
4
Z
2
dice todo lo que hay que saber sobre Z

15
.
108 CAPTULO6. ESTRUCTURA DE Z
m
Y Z

m
6.1.4. Comentarios nales
Temas relacionados con grupos, anillos y otras estructuras algebraicas se profundizan bastante
en [61, 152].
Lo que nosotros llamamos Z
m
se conoce formalmente como Z/mZ. Para justicar esta notacin,
primeramente denimos:
Denicin 6.5. Sea G un grupo. Un subgrupo N de G se dice normal (se anota N G) si para todo
n N y g G tenemos gng
1
N.
Los subgrupos de un grupo abeliano son siempre normales.
En ciertas situaciones los cosets de un subgrupo se pueden dotar con una operacin heredada
del grupo G para dar un nuevo grupo, el grupo cociente o factor
G/N {g N : g G}
con operacin
(g N) (hN) (gh)N
Esto slo funciona si N G, en cuyo caso el mapa g g N es un homomorsmo de G a G/N.
Ahora bien, el coset mZ es un subgrupo de Z, y es un subgrupo normal ya que todos los sub-
grupos de un grupo abeliano son normales. Vemos que a +mZ es precisamente el conjunto r +mZ,
donde r a m od m, y la suma en Z/mZ es exactamente como la describimos en 5.3.
Otra notacin comn es Z/(m), usando la misma idea anterior pero describiendo el conjunto de
los mltiplos de m como el ideal generado por m, vale decir el conjunto {r m: r Z}. Estudiaremos
este importante concepto en la seccin 7.1.
Nuestra primera tarea es descomponer Z
m
en forma ms sistemtica. Lo que hemos hecho hasta
ahora es tomar elementos que se ven bien y considerar los subgrupos que generan, tratando de
encontrar intersecciones y rdenes adecuados. Ac veremos un mtodo general para descomponer
el grupo Z
m
, y plantear el camino para entender mejor los grupos Z

m
.
Por ejemplo, Z
30
{0, 6, 12, 18, 24}{0, 5, 10, 15, 20, 25} o sea Z
30
es la suma directa de un grupo
cclico de orden 5 y otro de orden 6, y por el teorema 6.1 esto es Z
30

Z
5
Z
6
. Por otro lado, hay
una funcin obvia f : Z
30
Z
5
Z
6
: Si conocemos un entero x mdulo 30, sabemos sus residuos
mdulos 5 y 6. Por ejemplo, si x 13 (m od 30), entonces x 13 3 (m od 5) y x 13 1 (m od 6).
En este caso, tendramos f (13) (3, 1). Una tabla completa para f es:
f (0) (0, 0) f (6) (1, 0) f (12) (2, 0) f (18) (3, 0) f (24) (4, 0)
f (1) (1, 1) f (7) (2, 1) f (13) (3, 1) f (19) (4, 1) f (25) (0, 1)
f (2) (2, 2) f (8) (3, 2) f (14) (4, 2) f (20) (0, 2) f (26) (1, 2)
f (3) (3, 3) f (9) (4, 3) f (15) (0, 3) f (21) (1, 3) f (27) (2, 3)
f (4) (4, 4) f (10) (0, 4) f (16) (1, 4) f (22) (2, 4) f (28) (3, 4)
f (5) (0, 5) f (11) (1, 5) f (17) (2, 5) f (23) (3, 5) f (29) (4, 5)
El que f es uno a uno se ve directamente de la tabla. Las restantes propiedades son obvias si consi-
deramos que cada entrada como f ([x]
30
) ([x]
5
, [x]
6
). Tenemos el siguiente teorema general:
Teorema 6.5. Sea mab con a, b enteros positivos tales que gcd(a, b) 1. Entonces la funcin:
f ([x]
m
) ([x]
a
, [x]
b
) x Z
es un isomorsmo entre los anillos Z
m
y Z
a
Z
b
.
6.1. DESCOMPOSICIONES 109
Demostracin. Primero debemos demostrar que f siquiera tiene sentido, hay muchas elecciones
de x que dan la misma clase [x]
m
en Z
m
. El teorema 5.11 asegura que f es una biyeccin, ya que
gcd(a, b) 1.
Adems tenemos del teorema 5.10 que:
f ([x +y]
m
) ([x +y]
a
, [x +y]
b
)
([x]
a
+[y]
a
, [x]
b
+[y]
b
)
([x]
a
, [x]
b
) +([y]
a
, [y]
b
)
f (x) + f (y)
f ([xy]
m
) ([xy]
a
, [xy]
b
)
([x]
a
[y]
a
, [x]
b
[y]
b
)
([x]
a
, [x]
b
) ([y]
a
, [y]
b
)
f (x) f (y)
y es isomorsmo de anillo.
Hay que tener cuidado en esto, la condicin de que gcd(a, b) 1 es necesaria. Por ejemplo,
Z
8
Z
2
Z
4
, ya que:
2 0 (m od 2) 2 2 (m od 4)
6 0 (m od 2) 6 2 (m od 4)
Esta no es una biyeccin.
Aplicando el teorema 6.5 repetidas veces tenemos:
Corolario 6.6. Sean a
1
, a
2
, . . . , a
r
naturales relativamente primos a pares (o sea, gcd(a
i
, a
j
) 1 si
i / j ), y ma
1
a
2
a
r
. Entonces la funcin:
f ([x]
m
) ([x]
a
1
, [x]
a
2
, . . . , [x]
a
r
)
es un isomorsmo de anillo entre Z
m
y Z
a
1
Z
a
2
Z
a
r
Una consecuencia inmediata es el siguiente importante teorema:
Teorema 6.7 (Teorema chino de los residuos). Sean a
1
, a
2
, . . . , a
r
naturales relativamente primos a
pares, y b
1
, b
2
, . . . , b
r
enteros cualquiera. Entonces hay un entero x tal que:
x b
1
(m od a
1
)
x b
2
(m od a
2
)
.
.
.
x b
r
(m od a
r
)
El entero x es nico mdulo n a
1
a
2
a
r
.
Demostracin. Considere el elemento ([b
1
]
a
1
, [b
2
]
a
2
, . . . , [b
r
]
a
r
) en Z
a
1
Z
a
r
. Por el isomorsmo
del corolario 6.6 hay un nico [x]
m
Z
m
tal que [x]
a
1
[b
1
]
a
1
, [x]
a
2
[b
2
]
a
2
, . . . , [x]
a
r
[b
r
]
a
r
, lo
que no es ms que otra forma de decir que hay un entero x, nico mdulo n, que cumple el sistema
de ecuaciones indicado.
110 CAPTULO6. ESTRUCTURA DE Z
m
Y Z

m
Al teorema 6.5 (o tambin al corolario 6.6) se le debiera llamar el padre del teorema chino de los
residuos, son estos resultados los que en realidad ms se usan bajo ese nombre. En ingls se abrevia
CRT, por Chinese Remainder Theorem.
Usando la notacin del teorema chino de los residuos, para clculo concreto esto se puede
expresar mediante lo siguiente. Dena s
i
como s
i
(n/a
i
) 1 (m od a
i
), y dena m
i
s
i
(n/a
i
), con
lo que m
i
[i j ] (m od a
j
). Considere:
x

1i r
m
i
b
i
Entonces:
x

1i r
m
i
b
i
(m od a
k
)
m
k
b
k
(m od a
k
)
b
k
(m od a
k
)
Con esto el isomorsmo del corolario 6.6 puede usarse en la prctica. La demostracin del teore-
ma 6.7 no da luces de cmo obtener el valor x, slo asegura que si probamos todas las opciones
hallaremos exactamente una solucin.
Para claricar ideas, resolveremos un ejemplo. Buscamos x tal que:
x 3 (m od 5)
x 5 (m od 7)
x 1 (m od 9)
Los mdulos son primos entre s, hay una solucin nica mdulo n 5 7 9 315. Necesitamos los
siguientes inversos:
s
5
(315/5)
1
2 en Z
5
s
7
(315/7)
1
5 en Z
7
s
9
(315/9)
1
8 en Z
9
lo que da los coecientes, ahora mdulo 315:
m
5
2 (315/5) 126
m
7
5 (315/7) 225
m
9
8 (315/9) 280
Para resolver nuestro problema concreto:
x 126 3+225 5+280 1
1783
208 (m od 315)
Como ejercicio, dejamos el problema planteado por Sunzi en el siglo IV.
Hay cierto nmero de objetos cuyo nmero es desconocido.
Dividido por 3, el resto es 2;
por 5 el resto es 3;
y por 7 el resto es 2.
Cuntos sern los objetos?
6.1. DESCOMPOSICIONES 111
Supongamos ahora que piden:
x 2 (m od 6)
x 1 (m od 7)
x 3 (m od 9)
Los mdulos no son relativamente primos, puede no haber solucin. Tenemos para el par en con-
icto:
x 6s +2 9t +3
6s 9t 1
Esto ltimo es imposible, ya que signicara que el mximo comn divisor entre 6 y 9 divide a 1,
pero gcd(6, 9) 3. No hay solucin.
Antes de continuar, algunas propiedades adicionales del mximo comn divisor y el mnimo
comn mltiplo.
Lema 6.8. Se cumplen:
gcd(a, gcd(b, c)) gcd(gcd(a, b), c)
lcm(a, lcm(b, c)) lcm(lcm(a, b), c)
Adems:
gcd(lcm(a
1
, b), lcm(a
2
, b), . . . , lcm(a
r
, b)) lcm(gcd(a
1
, a
2
, . . . , a
r
), b)
lcm(gcd(a
1
, b), gcd(a
2
, b), . . . , gcd(a
r
, b)) gcd(lcm(a
1
, a
2
, . . . , a
r
), b)
Bsicamente, las operaciones son asociativas y cumplen leyes distributivas.
Demostracin. Por el teorema fundamental de la aritmtica, todo entero puede representarse por
el conjunto de los divisores que son potencias de nmeros primos. En estos trminos, el mximo
comn divisor es la interseccin de sus argumentos, y el mnimo comn mltiplo su unin. Las
identidades indicadas son entonces reejo de la asociatividad de la unin e interseccin, y la distri-
butividad de la unin sobre la interseccin y viceversa.
Podemos extender el teorema chino de los residuos:
Teorema 6.9 (Teorema chino de los residuos generalizado). Para a
1
, b
1
, . . . , a
r
, b
r
cualquiera sean:
x a
1
(m od b
1
)
x a
2
(m od b
2
)
.
.
.
x a
r
(m od b
r
)
Estas congruencias tienen solucin si y slo si a
i
a
j
(m od gcd(b
i
, b
j
)) para todo i , j . Mdulo
lcm(b
1
, b
2
, . . . , b
r
) la solucin es nica en tal caso.
Demostracin. Por induccin sobre r . Cuando r 1, el resultado es obvio. Partiremos con el caso
r 2 porque lo usaremos en el paso de induccin.
112 CAPTULO6. ESTRUCTURA DE Z
m
Y Z

m
Base: Tenemos las congruencias:
x a
1
(m od b
1
)
x a
2
(m od b
2
)
Si d [ b
1
, claramente x a
1
(m od d). En particular, para m
2
gcd(b
1
, b
2
) debe ser:
x a
1
(m od m
2
)
x a
2
(m od m
2
)
con lo que no hay solucin a menos que a
1
a
2
(m od m
2
). Esta es la condicin sobre los b
i
para el caso r 2.
Si a
1
a
2
(m od m
2
), por la identidad de Bzout sabemos que existen enteros u
2
y v
2
tales
que:
u
2
b
1
+v
2
b
2
gcd(b
1
, b
2
) m
2
Como a
1
a
2
(m od m
2
), hay c
2
Z tal que a
1
a
2
c
2
m
2
, y a
1
a
2
c
2
u
2
b
1
+c
2
v
2
b
2
. Con
esto:
s
2
a
1
c
2
u
2
b
1
a
2
+c
2
v
2
b
2
cumple ambas congruencias.
Para demostrar que es nica, consideremos soluciones s y s
t
. Vemos que s s
t
(m od b
1
) y
s s
t
(m od b
2
), y el teorema 5.11 asegura que s s
t
(m od lcm(b
1
, b
2
)).
Induccin: Suponiendo que vale para r congruencias, demostramos que vale para r +1:
x a
1
(m od b
1
)
x a
2
(m od b
2
)
.
.
.
x a
r
(m od b
r
)
x a
r +1
(m od b
r +1
)
Sea s
r
la solucin a las primeras r congruencias, que por induccin existe y es nica mdulo
lcm(b
1
, b
2
, . . . , b
r
). Consideremos las congruencias:
x s
r
(m od lcm(b
1
, b
2
, . . . , b
r
))
x a
r +1
(m od b
r +1
)
Por el caso r 2 sabemos que hay solucin nicamente si:
s
r
a
r +1
(m od gcd(lcm(b
1
, . . . , b
r
), b
r +1
))
Por el lema 6.8:
gcd(lcm(b
1
, . . . , b
r
), b
r +1
) lcm(gcd(b
1
, b
r +1
), gcd(b
2
, b
r +1
), . . . , gcd(b
r
, b
r +1
))
que es equivalente a:
a
r +1
a
i
(m od gcd(b
i
, b
r +1
)) para todo 1 i r
6.1. DESCOMPOSICIONES 113
Esto extiende la condicin sobre los a
i
.
De cumplirse la condicin sobre los a
i
, hay una solucin s
r +1
nica mdulo lcm(b
1
, . . . , b
r +1
),
que podemos calcular como antes. Sean u
r +1
y v
r +1
tales que:
u
r +1
s
r
+v
r +1
b
r +1
gcd(s
r
, b
r +1
)
Como s
r
a
r +1
(m od b
r +1
), existe c
r +1
Z en s
r
a
r +1
c
r +1
gcd(s
r
, b
r +1
), y s
r +1
denido
como sigue cumple las r +1 congruencias:
s
r +1
s
r
c
r +1
u
r +1
lcm(b
1
, . . . , b
r
) a
r +1
+c
r +1
v
r +1
b
r +1
Por induccin lo indicado vale para r N.
La demostracinda unalgoritmo para obtener la solucin. Por ejemplo, consideremos el sistema:
x 3 (m od 4)
x 5 (m od 6)
x 2 (m od 9)
Para las primeras dos congruencias tenemos:
3u
2
+6v
2
gcd(4, 6) 2
Obtenemos u
2
1, v
2
1, y tenemos a
1
a
2
35 2 que da c
2
1, por lo que:
s
2
3(1)(1)4 1
Como lcm(4, 6) 12, para el segundo paso queda el sistema:
x 1 (m od 12)
x 7 (m od 9)
Tenemos:
12u
3
+9v
3
gcd(12, 9) 3
Esto resulta en u
3
1 y v
3
1, para s
2
a
3
12 3 es c
3
1, y queda:
s
3
1(1) 1 12 11
La solucin es nica mdulo lcm(4, 6, 9) 36.
El algoritmo implcito en el teorema 6.9 es bastante engorroso. Una forma diferente de enfocar
el tema es dividir las congruencias segn los mximos comunes divisores. Veamos el ejemplo:
x 9 (m od 12)
x 12 (m od 21)
Tenemos gcd(12, 21) 3, con lo que 12 3 4 y 21 3 7. La primera congruencia se descompone:
x 9 0 (m od 3)
x 9 1 (m od 4)
114 CAPTULO6. ESTRUCTURA DE Z
m
Y Z

m
La segunda da:
x 12 0 (m od 3)
x 12 5 (m od 7)
Las congruencias comunes (mdulo 3) son consistentes, hay solucin mdulo lcm(12, 21) 84. El
sistema se reduce a:
x 0 (m od 3)
x 1 (m od 4)
x 5 (m od 7)
El teorema chino de los residuos da:
s
3
(4 7)
1
1 m
3
1 4 7 28
s
4
(3 7)
1
1 m
4
1 3 7 21
s
7
(3 4)
1
3 m
7
3 3 4 36
y la solucin es:
x 0 28+1 21+5 36
33 (m od 84)
Un problema en esta lnea plante Brahmagupta en el siglo VII.
Una anciana va al mercado, y un caballo pisa su canasto y le aplasta los huevos.
El jinete ofrece pagar el dao y le pregunta cuntos huevos traa.
Ella no recuerda el nmero exacto, pero al sacarlos de a dos sobraba un huevo. Lo
mismo ocurra si los sacaba de a tres, cuatro, cinco y seis a la vez, pero al sacarlos
de a siete no sobr ninguno.
Cul es el mnimo nmero de huevos que podra haber tenido?
Una aplicacin adicional es la prueba del once: Vimos antes (seccin 6.1) que una manera de
vericar operaciones aritmticas es la prueba de los nueves, que es simple de aplicar porque cal-
cular el residuo mdulo nueve de un nmero escrito en decimal es sumar sus dgitos, repitiendo
el proceso hasta reducir a uno solo. Resulta que calcular el residuo mdulo once es sumar y res-
tar alternativamente los dgitos comenzando por el menos signicativo: Como 10 1 (m od 11),
tenemos:

0kn
d
k
10
k

0kn
(1)
k
d
k
(m od 11)
Si aplicamos la prueba del nueve y la prueba del once, como gcd(9, 11) 1, estamos vericando el
resultado mdulo 9 11 99.
El teorema 6.7 (ms bien, el corolario 6.6) ofrece una importante estrategia adicional para de-
mostrar teoremas en Z:
1. Primeramente, demuestre el resultado para p primo.
2. Enseguida, demuestre que es vlido para p
k
, potencias de primos.
3. Use el (padre del) teorema chino de los residuos para combinar los resultados anteriores y
obtener el caso general.
Ms adelante aparecern muchas aplicaciones de esta idea.
6.2. ESTRUCTURA DE Z

m
115
6.2. Estructura de Z

m
El isomorsmo del teorema 6.5 permite demostrar:
Teorema 6.10. Si a y b son naturales relativamente primos, entonces:
Z

ab

a
Z

b
Demostracin. Sabemos que Z
ab
y Z
a
Z
b
son anillos isomorfos, con lo que Z

ab
es isomorfo al
grupo de unidades de Z
a
Z
b
. Ahora bien, un elemento de Z
a
Z
b
es invertible si lo son sus com-
ponentes:
(x, y) (x
t
, y
t
) (xx
t
, y y
t
) (1, 1)
con x Z

a
e y Z

b
, con lo que el grupo de unidades de Z
a
Z
b
es exactamente Z

a
Z

b
.
Como corolario, tenemos para la funcin de Euler:
Corolario 6.11. Sea la funcin de Euler. Si a y b son naturales relativamente primos, entonces
(ab) (a) (b)
Demostracin. Del teorema 6.10 sabemos que:
(ab) [Z

ab
[ [Z

a
Z

b
[ [Z

a
[ [Z

b
[ (a) (b)
Esta propiedad es importante:
Denicin 6.6. Una funcin f : NC se llama aritmtica. Anotaremos Apara el conjunto de fun-
ciones aritmticas. Una funcin aritmtica f se llama multiplicativa si f (a b) f (a) f (b) siempre
que gcd(a, b) 1. A su conjunto lo llamamos M.
Supongamos que f es multiplicativa, y que para algn n Nes f (n) /0. Como gcd(1, n) 1:
f (n) f (n 1) f (n) f (1)
con lo que f (1) 1 o f (n) 0 para todo n N.
Por el teorema fundamental de la aritmtica todo entero se puede descomponer en un producto
de potencias de primos distintos. Como potencias de primos diferentes son relativamente primas,
una funcin multiplicativa queda determinada por su valor para potencias de primos.
Como acabamos de demostrar que es multiplicativa, tenemos una manera de calcularla:
Corolario 6.12. Sea n p

1
1
p

2
2
p

r
r
la factorizacin completa de n en primos distintos p
i
. Enton-
ces:
(n) p

1
1
1
(p
1
1)p

2
1
2
(p
2
1) p

r
1
r
(p
r
1)
n
_
1
1
p
1
_

_
1
1
p
2
_

_
1
1
p
r
_
Demostracin. Del corolario 6.11 sabemos que (n) (p

1
1
)(p

2
2
) (p

r
r
). Necesitamos el valor
de (p

), para p primo y natural. Hay p


k
nmeros entre 1 y p
k
, no son relativamente primos a p

los p
1
mltiplos de p en este rango:
(p

) p

p
1
p
1
(p 1) p

_
1
1
p
_
Multiplicando esto sobre las potencias de primos factores de n da lo anunciado.
116 CAPTULO6. ESTRUCTURA DE Z
m
Y Z

m
Algunas funciones aritmticas interesantes adicionales son:
La identidad: (n) n
Potencias de n:
a
(n) n
a
El nmero de divisores de n: (n) [{d N: d [ n}[
La suma de los divisores de n: (n)

d[n
d
El producto de los divisores de n: (n)

d[n
d
Ac hemos usado nuestra convencin general de indicar los ndices de sumas o productos mediante
condiciones, en este caso de divisibilidad.
Un resultado importante para funciones multiplicativas es:
Teorema 6.13. Sea f una funcin aritmtica y S denida por:
S(n)

d[n
f (d)
Entonces f es multiplicativa si y slo si lo es S.
Demostracin. Demostramos implicancia en ambas direcciones. Sean x, y N relativamente pri-
mos, y sea f multiplicativa. Sean adems x
1
, x
2
, . . . , x
r
e y
1
, y
2
, . . . , y
s
todos los divisores de x e y,
respectivamente. Entonces gcd(x
i
, y
j
) 1, y {x
i
y
j
}
i , j
son todos los divisores de xy:
S(x) S(y)

i
f (x
i
)

j
f (y
j
)

i , j
f (x
i
) f (y
j
)

i , j
f (x
i
y
j
) S(xy)
y S es multiplicativa.
Para el converso, sea S multiplicativa. Demostramos por induccin fuerte sobre n que cuando
n n
1
n
2
con gcd(n
1
, n
2
) 1 es f (n) f (n
1
) f (n
2
).
Base: El caso n 1 es trivial: f (1) S(1).
Induccin: Para nuestros n
1
e n
2
tenemos, usando la hiptesis de induccin:
S(n
1
n
2
)

d
1
[n
1
d
2
[n
2
f (d
1
d
2
)

d
1
[n
1
d
2
[n
2
d
1
d
2
<n
f (d
1
) f (d
2
) + f (n
1
n
2
)
Por otro lado, sacando de las sumatorias los trminos para d
i
n
i
queda:
S(n
1
)S(n
2
)

d
1
[n
1
f (d
1
)

d
2
[n
2
f (d
2
)

d
1
[n
1
d
2
[n
2
d
1
d
2
<n
f (d
1
) f (d
2
) + f (n
1
) f (n
2
)
Ambas expresiones son iguales ya que S es multiplicativa, y es f (n
1
n
2
) f (n
1
) f (n
2
).
Por induccin vale para todo n N.
Corolario 6.14. Sea f una funcin multiplicativa, y sea S su funcin suma:
S(n)

d[n
f (d)
Si n p

1
1
p

2
2
p

r
r
es la descomposicin de n en factores primos distintos p
i
, entonces:
S(n)

1i r
_
1+ f (p
i
) + f (p
2
i
) + + f (p

i
i
)
_
6.2. ESTRUCTURA DE Z

m
117
Demostracin. Si f es multiplicativa, lo es S. El valor indicado de S(n) corresponde para potencias
de primos.
Del teorema 6.13 vemos que son multiplicativas:
(n) S
1
(n)

d[n
1
(n) S

(n)

d[n
d
Por el corolario 6.14 en trminos de la factorizacin completa n p

1
1
p

2
2
p

r
r
tenemos:
(n)

1i r
(
i
+1)
(n)

1i r
p

i
+1
i
1
p
i
1
La funcin (n) no es multiplicativa.
Para los griegos la relacin de un nmero con sus divisores propios tena relevancia mstica.
As reverenciaban especialmente a los nmeros perfectos, que son la suma de sus divisores propios.
Conocan los casos 6 1 +2 +3, 28 1 +2 +4 +7 +14, 496 y 8128. En trminos de las funciones
denidas antes, n es perfecto cuando (n) 2n (los factores propios de n suman a n, con n suman
2n). Tenemos tambin, si p es primo:
(p) p +1
(p
n
) 1+p + +p
n

p
n+1
1
p 1
Del resultado siguiente cada uno de los participantes demostr una implicancia.
Teorema 6.15 (Euclides Euler). Un par n es perfecto si y slo si n 2
m1
(2
m
1) con 2
m
1 primo.
Demostracin. Demostramos implicancia en ambas direcciones.
Si n 2
m1
(2
m
1) con 2
m
1 primo, entonces como es multiplicativa:
(n)
_
2
m1
_

_
2
m
1
_

2
m
1
21

_
(2
m
1) +1
_
2
m
_
2
m
1
_
2n
y n es perfecto.
Para el converso, sea n 2
m1
u un nmero perfecto con m>1 y u impar. Entonces:
2
m
u
_
2
m1
u
_

_
2
m
1
_
(u)
(u)
2
m
u
2
m
1
u +
u
2
m
1
Claramente el ltimo trmino es un divisor de u. Como m>1, 2
m
1 >1. Osea, estamos expresando
(u) como la suma de dos divisores distintos de u, por lo que u es primo; tiene que ser u 2
m
1.
Esto resuelve completamente el caso de nmeros perfectos pares. Es fcil ver que si m es com-
puesto lo es 2
m
1, por lo que basta considerar 2
p
1 con p primo. A tales primos se les llama primos
de Mersenne, quien los estudi a principios del siglo XVII. Se conocen 48 primos de Mersenne a
febrero de 2013, incluso el mayor primo conocido a la fecha es 2
57885161
1.
Es primo 2
2
1 3 y 2
21
(2
2
1) 6 es perfecto. De la misma forma 2
31
(2
3
1) 28, 2
51
(2
5
1)
496 y 2
71
(2
7
1) 8128 son perfectos.
Por el otro lado, determinar si hay nmeros perfectos impares es un problema abierto desde
antes de Euclides.
118 CAPTULO6. ESTRUCTURA DE Z
m
Y Z

m
Denicin 6.7. Sean f y g funciones aritmticas. Su convolucin de Dirichlet es:
( f g)(n)

d[n
f (d)g(n/d)

abn
f (a)g(b) (6.1)
Es claro que la operacin es conmutativa, y es fcil demostrar que es asociativa. Con:
(n)
_
1 si n 1
0 si n >1
(6.2)
para la funcin aritmtica f tenemos f f f , lo que da un neutro multiplicativo. En parti-
cular:
Teorema 6.16. El conjunto Mde funciones aritmticas multiplicativas es cerrado respecto de la con-
volucin de Dirichlet.
Demostracin. Sean f , g M, sea h f g, y a, b N con gcd(a, b) 1. Como gcd(a, b) 1 los
factores de ab resultan de todas las combinaciones de factores de a y b por separado:
h(a)h(b) ( f g)(a) ( f g)(b)

u
1
v
1
a
f (u
1
)g(v
1
)

u
2
v
2
b
f (u
2
)g(v
2
)

u
1
v
1
a
u
2
v
2
b
f (u
1
)g(v
1
) f (u
2
)g(v
2
)

u
1
u
2
v
1
v
2
ab
f (u
1
) f (u
2
)g(v
1
)g(v
2
)

uvab
f (u)g(v)
( f g)(ab)
h(ab)
Incluso podemos calcular inversos.
Lema 6.17. Toda funcin aritmtica tal que f (1) /0 dada por:
f
1
(n)
_

_
1
f (1)
si n 1

1
f (1)

abn
b<n
f (a) f
1
(b) si n >1
Demostracin. Corresponde a plantear el sistema de ecuaciones, escrito usando la convencin de
Iverson:
f f
1
[n 1]

abn
f (a) f
1
(b)
La expresin indicada para f
1
satisface este sistema.
Una funcin importante es:
6.2. ESTRUCTURA DE Z

m
119
Denicin 6.8. La funcin de Mbius se dene mediante:
(n)
_

_
1 si n 1
0 si n es divisible por el cuadrado de un primo
(1)
k
si n es el producto de k primos diferentes
(6.3)
Un momento de reexin muestra que es multiplicativa.
Lema 6.18. Para n N, la funcin de Mbius satisface:

d[n
(d)
_
1 si n 1
0 si n 2
Demostracin. Como es multiplicativa, por el teorema 6.13 lo es la suma indicada. Basta entonces
hallar el valor de la suma en potencias de un primo p. Hay dos casos a considerar:
p
0
1: En este caso la suma es simplemente (1) 1.
p
n
, con n 1: Ac, como (p
k
) 0 si k >1:

d[p
n
(d) (1) +(p) +(p
2
) + 1+(1) +0+ 0
Multiplicando sobre los factores primos de n se obtiene lo prometido.
La curiosa denicin de resulta ser simplemente el inverso de la funcin 1, 1, cosa que
puede vericarse usando el lema 6.17. En detalle, llamando 1
1
, tenemos:
n 1: Es (1) 1/1(1) 1.
n >1: En general es:
(n)
1
1

abn
b<n
1 (b)

d[n
d<n
(d)
O sea, sucesivamente por el lema 6.17:
(2)

d[2
d<2
(d) (1) 1
(3)

d[3
d<3
(d) (1) 1
(4)

d[4
d<4
(d) ((1) +(2)) 0
(5)

d[5
d<5
(d) (1) 1
(6)

d[6
d<6
(d) ((1) +(2) +(3)) 1
120 CAPTULO6. ESTRUCTURA DE Z
m
Y Z

m
Es claro que calcular la inversa por esta va es bastante engorroso.
Esto hace til la funcin de Mbius:
Teorema 6.19 (Inversin de Mbius). Sean dos funciones aritmticas (no necesariamente multipli-
cativas) tales que para todo n Nse cumple:
g(n)

d[n
f (d)
entonces para todo n N:
f (n)

d[n
(d)g(n/d)
Demostracin. Tenemos:
g 1 f
f g
Tenemos tambin:
Lema 6.20. Si g es multiplicativa, y lo es f g, entonces es multiplicativa f .
Demostracin. La demostracin es por contradiccin. Denamos h f g para comodidad. Su-
ponemos que f no es multiplicativa, con lo que existen m, n mnimos con gcd(m, n) 1 tales que
f (mn) / f (m) f (n). No puede ser mn 1, ya que h(1) f (1)g(1), como h y g son multiplicativas,
h(1) g(1) 1, con lo que f (1) 1 y f (1) f (1) f (1).
Sabemos entonces que mn /1. Calcularemos h(mn) h(m)h(n) de dos maneras, dejando fue-
ra el trmino que involucra a mn con f en ambos casos. Comparando ambas llegaremos a una
contradiccin.
h(mn)

uvmn
f (u)g(v)

uvmn
u<mn
f (u)g(v) + f (mn)g(1)

uvmn
u<mn
f (u)g(v) + f (mn)
h(m)h(n)

u
1
v
1
m
f (u
1
)g(v
1
)

u
2
v
2
n
f (u
2
)g(v
2
)

u
1
v
1
m
u
2
v
2
n
f (u
1
)g(v
1
) f (u
2
)g(v
2
)

u
1
u
2
v
1
v
2
mn
f (u
1
) f (u
2
)g(v
1
)g(v
2
)

u
1
u
2
v
1
v
2
mn
u
1
<m
u
2
<n
f (u
1
) f (u
2
)g(v
1
)g(v
2
) + f (m) f (n)g(1)g(1)
Pero f es multiplicativa hasta antes de mn, y g es multiplicativa:

uvmn
u<mn
f (u)g(v) + f (m) f (n)
h(mn) h(m)h(n) f (mn) f (m) f (n)
/0
Tenemos una contradiccin, f g no es multiplicativa, contrario a la hiptesis.
6.2. ESTRUCTURA DE Z

m
121
Corolario 6.21. La inversa de una funcin multiplicativa es multiplicativa.
Demostracin. Si f es multiplicativa, entonces f f
1
cumplen las hiptesis del lema 6.20.
Uniendo las piezas:
Teorema 6.22. El conjunto de funciones aritmticas Aes un anillo conmutativo. Su grupo de unida-
des es el conjunto de funciones multiplicativas que no son cero, M{0}.
Tenemos tambin:
Teorema 6.23 (Identidad de Gau). Tenemos:

d[n
(d) n
Demostracin. La suma es multiplicativa, basta evaluarla para las potencias de un primo p. Pero:

d[p
e
(d) (p
0
) +

1ke
(p
k
)
1+

1ke
(p
k
p
k1
)
p
e
Resulta la frmula prometida.
Usando la convolucin de Dirichlet resulta simple demostrar frmulas que de otra forma seran
casi imposibles. Considere:
11
1

La ltima no es ms que la identidad de Gau, que as podemos reescribir:

d[n
d(d) (n)
Evaluemos ahora:
11 1 1
Tambin:
11 1
Pero tambin:

d[n
(d)(d)
Como y son multiplicativas, lo es la funcin que estamos sumando. Consideremos p primo y
e 1:

d[p
e
(d)(d)

0ke
(p
k
)(p
k
) 1 1+(1) 2 1
La suma resulta ser 1 si n es divisible por un nmero par de primos distintos y 1 en caso contrario.
Una aplicacin entretenida es:
122 CAPTULO6. ESTRUCTURA DE Z
m
Y Z

m
Teorema 6.24. Sean a
i

i 0
y b
i

i 0
secuencias de nmeros complejos tales que:
a
n

1i n
b
i
Entonces:
b
n

1i n
(1)
ni
a
i
Demostracin. Sea p
1
, p
2
, . . . la secuencia de los nmeros primos, y denamos las funciones aritm-
ticas:
a(n)
_
a
r
si n p
1
p
2
p
r
0 caso contrario
b(n)
_
b
r
si n p
1
p
2
p
r
0 caso contrario
Es claro que b 1a, inversin de Mbius da a b, o sea:
a(n)

d[n
(n/d)b(d)
Para n p
1
p
2
p
r
por las particulares deniciones de las funciones a y b los nicos d que aportan
a la suma son de la forma d p
1
p
2
p
i
y resulta:
a
r

1i r
(p
i +1
p
i +2
p
r
)b
i

1i r
(1)
r i
b
i
Puede profundizarse bastante partiendo de los conceptos anteriores, an sin usar tcnicas sos-
ticadas, como muestra magistralmente Moser [211].
7 Anillos de polinomios
Estudiaremos los polinomios en algo ms de detalle, desde un punto de vista abstracto. Un
paquete de lgebra simblica, como maxima [203], ayuda bastante con la operatoria. El paquete
PARI/GP [224] incluye extenso soporte para trabajar con polinomios. La biblioteca GiNaC [22, 112]
permite manipular expresiones simblicas y numricas directamente en C++ [145, 277].
Denicin 7.1. Sea (R, +, ) un anillo. Denimos R[x], los polinomios sobre R, como el conjunto de
las expresiones:
f (x) a
n
x
n
+a
n1
x
n1
+ +a
0
El grado de f es la mxima potencia de x que aparece multiplicada por un coeciente no cero, se
anota deg( f ). Al polinomio con todos los coecientes cero (el polinomio cero) se le asigna el grado
. Si slo el trmino constante (a
0
) es diferente de cero, el grado del polinomio es cero, y se
dice que es un polinomio constante. A polinomios de grado 1 se les llama lineales, a los de grado 2
cuadrticos y a los de grado 3 cbicos. Se habla del coeciente principal para referirse al coeciente
de la mxima potencia de x en el polinomio. Si el coeciente principal es 1, el polinomio se llama
mnico.
Ntese que algunos autores simplemente no le asignan grado al polinomio cero.
No asignamos signicado a x ni a sus potencias. Podemos desarrollar toda la teora hablando
nicamente de tuplas de coecientes. La notacin es sugestiva, y ms adelante s consideraremos
los polinomios como deniendo funciones.
Denicin 7.2. Para polinomios f , g R[x], denimos la suma y producto entre ellos (bajo el su-
puesto de que es una secuencia innita de coecientes 0 a partir de un cierto punto para simplicar)
como si tratramos con expresiones en R, slo que x
k
conmuta con los elementos de R y se cumple
x
i
x
j
x
i +j
:
f (x) a
0
+a
1
x +a
2
x
2
+ (7.1)
g(x) b
0
+b
1
x +b
2
x
2
+ (7.2)
f (x) +g(x) (a
0
+b
0
) +(a
1
+b
1
) x + +(a
k
+b
k
) x
k
+

k0
(a
k
+b
k
)x
k
(7.3)
f (x) g(x) a
0
b
0
+(a
1
b
0
+a
0
b
1
) x +(a
2
b
0
+a
1
b
1
+a
0
b
2
) x
2
+

0i m
0j n
a
i
b
j
x
i +j

k0
_

0i k
a
ki
b
i
_
x
k
(7.4)
123
124 CAPTULO7. ANILLOS DE POLINOMIOS
Resulta que R[x] conlas operaciones denidas por (7.3) y (7.4) es unanillo. Es cmodo considerar
R como el polinomio constante R[x]. Las unidades de R[x] son los polinomios constantes
R

. Es fcil ver que:


deg( f +g) m ax{deg( f ), deg(g)} (7.5)
deg( f g) deg( f ) +deg(g) (7.6)
Por esto resulta til denir el grado del polinomio 0 como , evita requerir casos especiales.
En caso que no hayan divisores propios de cero en R, en (7.6) es igualdad. Si R es un dominio
integral (un anillo conmutativo sin divisores de cero), R[x] tambin es un dominio integral (el coe-
ciente del trmino de mayor grado del producto f (x) g(x) no es cero si ambos polinomios son
diferentes de cero).
Denimos la derivada formal de un polinomio mediante:
f (x)

0kn
a
k
x
k
Df (x)

0kn1
(k +1)a
k+1
x
k
Anotaremos alternativamente:
f
t
(x) Df (x)
Es fcil vericar que se cumplen las propiedades conocidas de las derivadas:
Teorema 7.1. Sean f (x) y g(x) polinomios sobre el dominio integral R, y elementos de R. Entonces:
D(f (x) +g(x)) f
t
(x) +g
t
(x)
D( f (x) g(x)) f
t
(x)g(x) + f (x)g
t
(x)
D( f (x)
m
) mf (x)
m1
f
t
(x)
Demostracin. Denamos:
f (x)

0km
f
k
x
k
g(x)

0kn
g
k
x
k
Por comodidad, anotaremos sumas innitas bajo el entendido que los trminos son todos cero
desde un ndice en adelante.
Para la primera parte, tenemos que:
f (x) +g(x)

k0
(f
k
+g
k
)x
k
D(f (x) +g(x))

k0
(k +1)(f
k+1
+g
k+1
)x
k

k0
(k +1) f
k+1
x
k
+

k0
(k +1)g
k+1
x
k
f
t
(x) +g
t
(x)
Ac usamos el que para k Ny a, b R:
k(ab) ab +ab + +ab
a(b +b + +b)
a(kb)
125
Para la segunda parte:
f
t
(x)g(x) + f (x)g
t
(x)

k0
_

0j k
( j +1) f
j +1
g
kj
+

0j k
(k +1 j ) f
j
g
k+1j
_
x
k

k0
_

0j k+1
j f
j
g
k+1j
+

0j k+1
(k +1 j ) f
j
g
k+1j
_
x
k

k0
(k +1)
_

0j k+1
f
j
g
k+1j
_
x
k
D( f (x)g(x))
Para la tercera parte, usamos induccin sobre m.
Base: Cuando m1 lo aseverado ciertamente se cumple.
Induccin: Suponiendo que vale para m, demostramos que vale para m+1:
D( f (x)
m+1
) D( f (x)
m
f (x))
mf (x)
m1
f
t
(x) f (x) + f (x)
m
f
t
(x)
(m+1) f (x)
m
f
t
(x)
Ac usamos la conmutatividad de R[x].
Por induccin, vale para todo m N.
Los anillos de polinomios tienen varias propiedades interesantes, por ejemplo un algoritmo de
divisin afn al de los enteros:
Teorema 7.2. Sean a(x), b(x) polinomios sobre un campo F, con b(x) /0. Entonces existen polino-
mios nicos q(x), r (x) tales que:
a(x) b(x) q(x) +r (x)
con deg(r ) <deg(b)
Demostracin. Consideremos el conjunto:
R{a(x) c(x) b(x) : c(x) F[x]}
Elijamos un elemento r de R de grado mnimo. Entonces deg(r ) <deg(b), ya que en caso contrario
podramos restar un mltiplo de b(x) que anule el trmino de grado mayor en r (x) y as obtener uno
de grado menor.
Demostramos que son nicos por contradiccin. Supongamos que hay dos pares diferentes, o
sea:
a bq
t
+r
t
a bq
tt
+r
tt
Podemos suponer que deg(r
t
) deg(r
tt
). Como F[x] es un anillo, con F un campo:
r
tt
r
t
b(q
t
q
tt
)
deg(r
tt
r
t
) deg(b(q
t
q
tt
))
deg(b) +deg(q
t
q
tt
) (7.7)
126 CAPTULO7. ANILLOS DE POLINOMIOS
Pero:
deg(r
t
) deg(r
tt
) <deg(b)
deg(r
tt
r
t
) deg(r
tt
) <deg(b) (7.8)
En vista de (7.8) la nica posibilidad en (7.7) es deg(r
tt
r
t
) deg(q
t
q
tt
) , vale decir, q
t
q
tt
y r
t
r
tt
. Esto contradice nuestra eleccin de dos pares diferentes.
Vale la pena comparar esta demostracin con la del algoritmo de divisin entre enteros, teore-
ma 5.1.
7.1. Dominios euclidianos
A un dominio integral D equipado con una funcin euclidiana (a veces llamada funcin grado o
simplemente grado) f : D{0} Ntal que si a, b D, con b /0, hay q, r D tales que a qb+r con
r 0 o f (r ) < f (b) se le llama dominio euclidiano. Estas estructuras tienen mucho en comn con Z
(en particular, toman su nombre porque es aplicable el algoritmo de Euclides para calcular mximo
comn divisor, y tenemos el equivalente de la identidad de Bzout). En el caso de los polinomios, el
grado sirve como funcin euclidiana.
Tenemos algunos resultados simples:
Teorema 7.3. Sea D un dominio euclidiano con funcin euclidiana f . El valor f (a) es mnimo si a es
una unidad.
Demostracin. Tomemos a / 0 en D tal que f (a) es mnimo. Por el algoritmo de divisin, teore-
ma 7.2, tenemos 1 qa +r con r 0 o f (r ) < f (a). Pero f (a) es mnimo, por lo que debe ser r 0 y
a es una unidad.
Tambin [246, 250]:
Teorema 7.4. Sea D un dominio euclidiano con funcin euclidiana g. La funcin denida por:
f (a) mn
xD{0}
g(ax)
es una funcin euclidiana, y cumple:
(a) f (a) f (ab) si ab /0
(b) f (a) g(a) para todo a D{0}
(c) f (au) f (a) si y slo si u D

Demostracin. Por la denicin de f los puntos (a) y (b) son obvios.


Para demostrar que f es euclidiana, consideremos elementos a, b cualquiera enD{0}. Debemos
demostrar que si b qa +r entonces r 0 o f (r ) < f (a).
El caso r 0 es trivial. Supongamos entonces r / 0. Por denicin es f (a) g(ac) para algn
c D{0}. De la denicin de r tenemos que g(r ) <g(a) por ser g euclidiana. De bc qac +r c, por
ser g euclidiana es g(r c) < g(ac) f (a); y por la denicin de f es tambin f (r ) g(r c). Uniendo
las anteriores queda f (r ) < f (a), y f es euclidiana.
Para (c) demostramos implicancia en ambas direcciones. Primero, sea u D

. Por el punto (a)


es f (a) f (au) f ((au)u
1
) f (a). Por otro lado, si f (ac) f (a), escribimos a qac +r con
f (r ) < f (ac) f (a); siendo r a(1cq), por la parte (a) si r / 0 es f (r ) f (a), lo que es absurdo.
As r 0 y c es una unidad.
7.1. DOMINIOS EUCLIDIANOS 127
Supondremos una funcineuclidiana tal que f (a) f (ab) para todo a, b D desde ahora, ya que
simplica mucha de la discusin que sigue. Como la funcin euclidiana no es nica, no la incluimos
en la denicin del dominio.
Denicin 7.3. Sea R un dominio integral. Si podemos escribir mbc, decimos que b divide a m,
y anotamos b [ m.
Esto tambin se expresa diciendo que b es un factor de m, o que m es un mltiplo de b.
Denicin 7.4. Sea R un dominio integral. Dos elementos a, b R se dicen asociados si a ub,
donde u es una unidad. Se anota a b.
Es fcil ver que es una relacin de equivalencia.
Denicin 7.5. Sea R un dominio integral. Un elemento e R R

se llama irreductible si siempre


que e u v, u o v es una unidad. En caso contrario, decimos que e es reductible.
Denicin 7.6. Sea R un dominio integral, p R R

. Si p [ ab implica que p [ a o p [ b, se dice que


p es primo.
Ntese que esto es lo que dice el lema 5.6 en el caso de los enteros. All denimos como primo
lo que ac llamamos irreductible. Vemos que si un elemento es primo, es irreductible:
Lema 7.5. Sea R un dominio integral. Si p R es primo, entonces es irreductible.
Demostracin. Por contradiccin. Supongamos p primo pero no irreductible. As podemos escribir
p uv, donde u, v R

. Pero entonces p [ uv, y por la denicin de primo es p [ u o p [ v. Sin


prdida de generalidad podemos suponer u ap, con lo que:
p apv
0 p(1av)
Como no hay divisores de cero en R, debe ser av 1 y v es una unidad, lo que contradice su
eleccin.
El converso del lema 7.5 no siempre se cumple. Consideremos el dominio integral Z[
_
5] (ver
la seccin 5.3.2, slo que este es un subanillo de C). Si 3 u v, debe ser N(u) N(v) N(3) 9,
con lo que las normas posibles para u y v son los divisores de 9. Si N(u) 1, u es una unidad. Si
N(u) 3, con u u
1
+u
2
_
5 es u
2
1
+5u
2
2
3. Esto claramente es imposible con u
1
, u
2
enteros. As 3
es irreductible en Z[
_
5]. Por el otro lado:
(2+
_
5) (2
_
5) 9
con lo que
3 [ (2+
_
5) (2
_
5)
Claramente 3/[ 2
_
5, o sea 3 no es primo en Z[
_
5].
Denicin 7.7. Sea R un dominio integral, y sea a R con a / 0. Entonces se dice que a tiene
factorizacin nica en irreductibles si hay una unidad u e irreductibles p
i
tales que a up
1
p
2
p
r
,
y adems, si a vq
1
q
2
q
s
para una unidad v e irreductibles q
i
, entonces r s y p
i
u
i
q
i
para
unidades u
i
salvo reordenamiento.
128 CAPTULO7. ANILLOS DE POLINOMIOS
Denicin 7.8. Se dice que R es un dominio de factorizacin nica (en ingls Unique Factorization
Domain. abreviado UFD) si todo elemento de R tiene factorizacin nica en irreductibles.
En vista del algoritmo de divisin en el dominio euclidiano, tenemos:
Teorema 7.6. Sea D un dominio euclidiano con funcin euclidiana f y a, b D. Entonces el conjunto
I {ua +vb: u, v D} consta de todos los mltiplos de un elemento m.
La demostracin es muy similar a la discusin sobre mximo comn divisor en el captulo 5.
Demostracin. Si a b 0, claramente I {0}, y lo aseverado se cumple. Supongamos entonces que
al menos uno de a, b es diferente de 0, en cuyo caso I contiene elementos diferentes de 0. Elijamos
uno de ellos con f mnimo, llammosle m. Tomemos ahora n I cualquiera. Si n 0, se cumple
m[ n, y estamos listos. Si n /0, podemos aplicar el algoritmo de divisin y escribir:
n qm+r
donde r 0 o f (r ) < f (m). Dado que hay u, v, u
t
, v
t
tales que n ua +vb y mu
t
a +v
t
b resulta:
r n qm
(u qu
t
)a +(v qv
t
)b
conlo que r I . Pero no puede ser f (r ) < f (m), hemos elegido m precisamente por ser f (m) mnimo.
En consecuencia, r 0 y m[ n.
Conjuntos como I que aparece en la demostracin del teorema 7.6 son muy importantes. Pode-
mos denir m (o uno de sus asociados, que tambin son parte de I ; m no necesariamente es nico)
como un mximo comn divisor de a y b (mximo en el sentido de la funcin euclidiana f ).
Denicin 7.9. Sea R un anillo conmutativo. Un ideal de R es un conjunto I R tal que:
1. (I , +) es un subgrupo de (R, +)
2. Para todo x I y para todo r R se cumple r x I
Los ideales son casi subanillos de R (slo falta el elemento 1). Hay quienes denen anillos sin 1,
para ellos los ideales son subanillos.
Denicin 7.10. Sea R un anillo conmutativo, y {x
1
, x
2
, . . . , x
n
} R. Al ideal {

1kn
u
k
x
k
: u
k
R}
se le llama el ideal generado por {x
1
, x
2
, . . . , x
n
}, que se suele anotar (x
1
, x
2
, . . . , x
n
). Por la convencin
que sumas vacas son cero, {0} es generado por . A un ideal generado por un nico elemento x
1
,
anotado (x
1
), se le llama ideal principal. Si en R todos los ideales son principales, se dice que R es
un dominio de ideal principal (en ingls Principal Ideal Domain, abreviado PID).
En estos trminos, el teorema 7.6 asevera que todo dominio euclidiano es un dominio de ideal
principal.
Lema 7.7. Sea p irreductible en un dominio euclidiano D, y a otro elemento de D. Si p no divide a a,
entonces 1 es un mximo comn divisor entre a y p.
Demostracin. Sea m un mximo comn divisor de a y p. Por el teorema 7.6 existen x, y D tales
que:
mxa +yp
Como m divide a p, que es irreductible, m es una unidad o m p. Si m es una unidad, 1 es un
mximo comn divisor de a y p y estamos listos. En el otro caso, por ser m divisor de a es a cm
para algn c D y como a su vez mup para una unidad u, entonces a cup y p [ a.
7.1. DOMINIOS EUCLIDIANOS 129
Esto nos permite demostrar el converso del lema 7.5 en dominios euclidianos, como ya lo hici-
mos en el teorema 5.4 para los enteros:
Teorema 7.8. En un dominio euclidiano, si p es irreductible entonces p es primo.
Demostracin. Supongamos que el irreductible p divide a ab. Debemos demostrar que p divide a
a o a b (o a ambos). Si p [ a, estamos listos. En caso contrario, como p [ ab, hay un c D tal que
ab cp. Por el lema 7.7 tenemos que 1 es un mximo comn divisor de a y p, y por el teorema 7.6
podemos escribir:
1 up +va
b bup +vab
(bu +vc)p
con lo que p [ b.
Lema 7.9. Si el primo p divide al producto x
1
x
2
x
n
, entonces p [ x
i
para algn i .
Demostracin. Por induccin sobre n. Si n 1, no hay nada que demostrar.
Base: Para n 2, por la denicin de primo tenemos que si p [ x
1
x
2
, entonces p [ x
1
o p [ x
2
.
Induccin: Por la hiptesis de induccin, si p [ x
1
x
2
x
n
entonces p [ x
i
para 1 i n. Si ahora
p [ x
1
x
2
x
n
x
n+1
por el caso n 2 signica que ya sea p [ x
1
x
2
x
n
(lo que implica p [ x
i
para
1 i n) o p [ x
n+1
. En conjunto, p [ x
i
para 1 i n +1.
Por induccin, vale para todo n N.
As tenemos:
Teorema 7.10. Si D es un dominio de ideal principal, entonces es un dominio de factorizacin nica.
Demostracin. Por contradiccin. Consideremos un elemento a DD

(distinto de 0) con f (a)


mnimo y que no tiene factorizacinenirreductibles. Entonces a no es irreductible (sera el producto
de un irreductible), por lo que podemos escribir a bc, con b, c D

. Por el teorema 7.4 resulta


f (b) < f (a) y f (c) < f (a). Pero entonces b y c son producto de irreductibles, con lo que lo es a. Vale
decir, tal a no existe.
Para demostrar factorizacin nica usamos reduccin al absurdo. Sea a un elemento de mnimo
f que tiene dos factorizaciones esencialmente diferentes:
a up
1
p
2
p
m
vq
1
q
2
q
n
donde los p
i
son primos (no necesariamente diferentes), y similarmente los q
i
, y u y v son unidades.
Por el lema 7.9, esto signica que p
1
divide a q
i
para algn i , o sea q
i
u
i
p
i
para alguna unidad u
i
,
con lo que:
a/p
1
up
2
p
m
vu
i
q
1
q
i 1
q
i +1
q
n
tendra dos factorizaciones diferentes, pero f (a/p
1
) < f (a), lo que contradice la eleccin de a como
uno de mnimo f con dos factorizaciones.
Esto viene a ser el equivalente del teorema fundamental de la aritmtica (teorema 5.7): En un
dominio euclidiano todo elemento a es el producto de un nmero nito de primos. Adems, si
tenemos factorizaciones en primos p
i
y q
i
:
a p
1
p
2
p
m
q
1
q
2
q
n
entonces cada p es el asociado de uno de los q. En particular, mn.
130 CAPTULO7. ANILLOS DE POLINOMIOS
7.2. Factorizacin de polinomios
Vimos que el conjunto de polinomios F[x] sobre el campo F es un dominio euclidiano, el grado
del polinomio sirve de funcin euclidiana. Podemos elegir el polinomio mnico como el represen-
tante de la clase de asociados, con lo que tenemos:
Teorema 7.11 (Teorema fundamental de la aritmtica). Todo polinomio en F[x] es una unidad o
el producto de una unidad y polinomios mnicos irreductibles. Esta factorizacin es nica (salvo el
orden de los factores).
Podemos caracterizar polinomios con ceros repetidos:
Lema 7.12. Si es un cero repetido del polinomio f (x) F[x], es cero comn de f (x) y f
t
(x).
Demostracin. Consideremos f (x) (x )
m
g(x), donde (x )/[ g(x) y m>1. Tenemos:
f
t
(x) m(x )
m1
g(x) +(x )
m
g
t
(x) (x )
m1
(mg(x) +(x )g(x))
Como m>1, esto siempre es divisible por x .
Tenemos tambin:
Teorema 7.13 (Euclides). Hay innitos polinomios irreductibles sobre el campo F.
Demostracin. Por contradiccin. Supongamos que hay nitos irreductibles p
1
(x) a p
n
(x). Entonces
p
1
(x) p
n
(x) +1 no es divisible por ningn p
i
(x).
Sobre un campo innito no da nada nuevo (los polinomios lineales son todos irreductibles), pero
sobre un campo nito s es interesante.
Consideremos ahora los polinomios como funciones, substituyendo elementos del campo por
x.
Corolario 7.14. Sea F un campo, y f (x) a
n
x
n
+a
n1
x
n1
+ +a
0
un polinomio de grado n sobre
F, y F. Entonces f () 0 si y slo si f (x) (x )g(x) para algn polinomio g F[x].
Demostracin. Demostramos implicancia en ambas direcciones.
Primeramente, si f (x) (x )g(x), claramente f () 0 g() 0.
Por el algoritmo de divisin podemos escribir f (x) q(x) (x ) +r (x), donde deg(r ) <1 con lo
que r (x) es constante. Ahora bien, f () q() () +r () 0, con lo que al ser constante r (x) es
r (x) r () 0. As f (x) q(x) (x ), y llamando g(x) q(x) completa la demostracin.
Con esta herramienta bsica podemos demostrar el resultado siguiente:
Corolario 7.15. Si f (x) F[x] es un polinomio de grado n 0, entonces f (x) tiene a lo ms n ceros en
F
Demostracin. Por induccin.
Bases: Para n 0, no hay ceros.
Para n 1, tenemos:
a
1
x +a
0
0
x a
1
1
a
0
que claramente es nica.
7.2. FACTORIZACINDE POLINOMIOS 131
Induccin: Suponiendo ahora que todos los polinomios de grado n tienen a lo ms n ceros, consi-
deremos un polinomio f (x) de grado n +1. Si no hay tal que f () 0, f (x) tiene 0 ceros y
estamos listos. Si tiene un cero , por el corolario 7.14 podemos escribir f (x) (x ) g(x)
con deg(g) n. Por induccin, g(x) tiene a lo ms n ceros, y f (x) tiene a lo ms n +1 ceros.
Por induccin vale lo enunciado.
Suelen ser tiles los trminos ms fciles de calcular del polinomio con ceros
1
,
2
, . . . ,
m
; o
sea, los coecientes en el producto:
(x
1
) (x
m
) x
m
(
1
+
2
+ +
m
)x
m1
+ +(1)
m

1

2

m
(7.9)
El coeciente de x
m1
es el negativo de la suma de los ceros, y el trmino constante es su producto
con signo que depende de si m es par o impar. Las expresiones (7.9) son casos particulares de las
frmulas de Vieta: Para el polinomio a
n
x
n
+a
n1
x
n1
+ +a
0
, los ceros
1
,
2
, . . . ,
n
cumplen:

1i
1
i
2
i
k
n

i
1

i
2

i
k
(1)
k
a
nk
a
n
(7.10)
La suma en (7.10) es simplemente sobre todos los conjuntos de k de las ceros. Por ejemplo:
ax
3
+bx
2
+cx +d a(x
1
)(x
2
)(x
3
)
resulta en las siguientes tres expresiones:

1
+
2
+
3

b
a

2
+
1

3
+
2

c
a

d
a
Teorema 7.16. Sea F un campo nito, y F

su grupo de unidades. Entonces F

es cclico.
Demostracin. Sea e el exponente de F

, vale decir, el mnimo natural tal que a


e
1 para todo
a F

. Esto es el mnimo comn mltiplo de los rdenes de los elementos de F

. Por el teorema de
Lagrange todos ellos son factores de [F

[, con lo que e es factor de [F

[ y e [F

[.
Por otro lado, todos los elementos de F

cumplen:
x
e
1 0
En el campo F este polinomio puede tener a lo ms e ceros, o sea e [F

[, con lo que e [F

[.
Siendo e el mnimo comn mltiplo de los rdenes en F

, debe haber un elemento de orden e y F

es cclico.
Corolario 7.17. Si p es primo, Z

p
es cclico.
Demostracin. Z
p
es un campo nito, y Z

p
es su grupo de unidades.
Esto implica el curioso resultado:
Teorema 7.18 (Wilson). (n 1)! 1 (m od n) si y slo si n es primo.
132 CAPTULO7. ANILLOS DE POLINOMIOS
Demostracin. Demostramos implicancia en ambas direcciones. Si n es primo, Z
n
es un campo, y
por la demostracin del teorema 7.16 sabemos que:
x
n1
1

1kn1
(x k)
La frmula de Vieta (7.10) da para el trmino constante:
(1)
n1
(n 1)! 1 (m od n)
Si n 2, es (1)
n1
1 y 1 1 (m od n); si n es un primo impar, (1)
n1
1. De cualquier forma,
(n 1)! 1 (m od n).
Para el converso, demostramos el contrapositivo: Si n no es primo, (n 1)! /1 (m od n). Hay
varios casos: Si n 4 es 3! 6 2 /1 (m od 4), y se cumple lo enunciado. Sea ahora n >4 compues-
to. En tal caso podemos escribir n a b, con 2 a, b <n 1. De ser a /b, ambos factores aparecen
en (n 1)!, y por tanto n [ (n 1)!. Si es n a
2
, ser a > 2, y entre los factores de (n 1)! estarn a
y 2a, con lo que nuevamente n [ (n 1)!. En estas dos situaciones tenemos (n 1)! 0 (m od n), y
obtenemos lo enunciado.
Este resultado no es til para computacin, y de uso terico bastante limitado.
Una demostracin alternativa es considerar un primo impar p, y parear cada a Z
p
con su
inverso. Los nicos elementos que no tienen par en esto son 1 y 1 (son sus propios inversos, en el
campo Z
p
la ecuacin x
2
1 0 puede tener a lo ms dos ceros), por lo que el producto de todos
ellos es 1.
7.3. Races primitivas
Cuando R

es cclico, a un generador de R

se le llama elemento primitivo de R. En el caso de Z


n
se le llama una raz primitiva mdulo n (porque todo elemento de Z

n
puede escribirse como poten-
cia del generador). Lo anterior demuestra que todo primo p tiene races primitivas. Una pregunta
obvia es qu valores de n tienen races primitivas (o sea, cundo es cclico Z

n
).
Consideremos n 8, con (8) 4. Por clculo directo tenemos los rdenes de los elementos de
Z

8
dados en el cuadro 7.1. Se aprecia que no hay elementos de orden 4, y 8 no tiene races primitivas.
k ord
8
(k)
1 1
3 2
5 2
7 2
Cuadro 7.1 rdenes de los elementos en Z

8
Por otro lado, para n 2 tenemos (2) 1 y claramente 1 es raz primitiva mdulo 2. Para n 4
tenemos (4) 2, y 3 es raz primitiva mdulo 4.
Ms generalmente, tenemos:
Teorema 7.19. No hay races primitivas mdulo 2
m
si m3.
Demostracin. Demostraremos esto por induccin.
Base: Cuando m3, vimos antes que 2
m
8 no tiene races primitivas.
7.3. RACES PRIMITIVAS 133
Induccin: Suponemos que la aseveracin vale para m1. Como (2
m
) 2
m1
y el nico divisor
de 2
m1
es 2, basta demostrar que el orden de todo elemento en Z
2
m es divisor de 2
m2
.
Consideremos a cualquiera relativamente primo a 2
m
. Por induccin sabemos que a no es
raz primitiva de 2
m1
, que expresado en los trminos anteriores es:
a
2
m3
1 (m od 2
m1
)
a
2
m3
c 2
m1
+1
Elevando al cuadrado:
a
2
m2

_
a
2
m3
_
2
c
2
2
m
+2 c 2
m1
+1
(c
2
+c) 2
m
+1
1 (m od 2
m
) (7.11)
Por (7.11) el orden de a mdulo 2
m
es a lo ms 2
m2
<2
m1
(2
m
), y a no es raz primitiva.
Esto da un conjunto innito de enteros sin races primitivas. Pero an ms:
Teorema 7.20. No hay races primitivas mdulo mn si m y n son enteros impares relativamente
primos mayores que 2.
Demostracin. Como m y n son impares y mayores que 2, sabemos que 2 es un factor comn entre
(m) y (n) (un primo impar p aporta p
k1
(p 1) a ()). Para cualquier a tal que gcd(a, mn) 1,
por el teorema de Euler:
a
(m)(n)/2

_
a
(m)
_
(n)/2
1
(n)/2
1 (m od m) (7.12)
a
(m)(n)/2

_
a
(n)
_
(m)/2
1
(m)/2
1 (m od n) (7.13)
Combinando (7.12) con (7.13) mediante el teorema 5.11 resulta:
a
(m)(n)/2
1 (m od mn) (7.14)
Por (7.14) el orden de a divide a (mn)/2, y a no es raz primitiva de mn. Pero a es arbitrario, con lo
que mn no tiene races primitivas.
Lo anterior excluye 2
k
para k 3, y los nmeros compuestos impares con factores primos distin-
tos. Analicemos los restantes.
Teorema 7.21. Sea p un primo impar, entonces hay una raz primitiva mdulo p
2
Demostracin. Sea r una raz primitiva de p, o sea ord
p
(r ) p 1. Sabemos que si n ord
p
2 (r )
entonces n [ (p
2
), vale decir n [ p(p1). Sabemos que si r
n
1 (m od p
2
) entonces r
n
1 (m od p),
de forma que (p) [ n. Pero si p 1 [ n y n [ p(p 1), entonces n p(p 1) o n p 1. En el primer
caso, tenemos que r es raz primitiva de p
2
, y estamos listos.
En el segundo caso, consideremos el elemento r +p, que sigue siendo raz primitiva mdulo p,
con lo que su orden es p 1 o p(p 1) mdulo p
2
. Calculamos:
(r +p)
p1
r
p1
+
_
p 1
1
_
pr
p2
+

2kp1
_
p 1
k
_
p
k
r
p1k
(7.15)
134 CAPTULO7. ANILLOS DE POLINOMIOS
Todos los elementos de la sumatoria en (7.15) son divisibles por p
2
. Como estamos suponiendo que
el orden de r mdulo p
2
es p 1, y sabemos que:
(p 1)pr
p2
pr
p2
/0 (m od p
2
)
(ya que gcd(r, p) 1 tambin es gcd(r
p2
, p) 1), y queda:
(r +p)
p1
1pr
p2
/1 (m od p
2
)
y r +p es raz primitiva mdulo p
2
.
Esto parece ser slo un paso al ir de p a p
2
, pero resulta ser todo lo que se requiere. Antes de
seguir, un lema tcnico.
Lema 7.22. Sea p un primo impar, r una raz primitiva mdulo p
2
. Entonces para m2:
r
p
m2
(p1)
/1 (m od p
m
) (7.16)
Demostracin. La demostracin es por induccin desde m 2. De partida, si r es raz primitiva
mdulo p
2
, lo es mdulo p y gcd(r, p) 1.
Base: Para m2 el orden de la raz primitiva r de p
2
es (p
2
) p(p 1), por lo que:
r
p1
/1 (m od p
2
) (7.17)
Induccin: Supongamos que el resultado vale para m1. Del teorema de Euler tenemos:
r
(p
m2
)
1 (m od p
m2
)
r
p
m3
(p1)
1+c p
m2
(7.18)
Ntese que p/[ c, ya que de lo contrario tendramos:
r
p
m3
(p1)
1 (m od p
m1
) (7.19)
y esto contradice nuestra hiptesis de induccin (7.16). Elevando (7.19) a la potencia p, queda:
r
p
m2
(p1)

_
1+cp
m2
_
p
1+cp
m1
+

2kp
_
p
k
_
c
k
p
k(m2)
(7.20)
Interesa demostrar que cada trmino de la sumatoria (7.20) es divisible por p
m
. En ellos apa-
rece el factor p
k(m2)+1
(incluyendo p del coeciente binomial). Interesa acotar el exponente
k(m2) +1, con k 2 y m3. Es m2 1, el mnimo exponente se da para k 2 y tenemos
k(m2) +1 2m3 m. En consecuencia:
r
p
m2
(p1)
1+cp
m1
(m od p
m
)
/1 (m od p
m
)
como queramos probar.
Teorema 7.23. Toda raz primitiva mdulo p
2
para un primo impar p es raz primitiva mdulo p
m
con m2
7.3. RACES PRIMITIVAS 135
Demostracin. Sea r raz primitiva mdulo p
2
, con lo que ord
p
2 (r ) p(p1) ya que (p
2
) p(p1),
y llamemos n ord
p
m(r ). Como antes, por el teorema de Euler sabemos que:
r
(p
m
)
r
p
m1
(p1)
1 (m od p
m
)
con lo que:
n [ p
m1
(p 1)
Pero tambin:
r
n
1 (m od p
m
)
implica:
r
n
1 (m od p
2
)
con lo que p(p 1) [ n, y n p
k
(p 1) para algn 1 k m1. Por el lema 7.22 sabemos que:
r
p
m2
(p1)
/1 (m od p
m
)
con lo que k m1, y r es raz primitiva mdulo p
m
.
Resta el caso 2p
m
, donde por el corolario 6.6 resulta Z
2p
m

Z
2
Z
p
m, y Z

2p
m

Z

2
Z

p
m

Z

p
m
,
y hay una raz primitiva. En resumen, obtenemos el curioso resultado:
Teorema 7.24. Hay races primitivas mdulo n si y slo si n 2, 4, p
m
, 2p
m
, donde p es un primo
impar y m1.
Igual resulta interesante hallar el mximo orden mdulo n, al que llamaremos (n). En algunos
casos lo conocemos por el teorema 7.24, falta completarlo para los dems valores de n.
Lema 7.25. El mximo orden en Z
2
e con e 3 es (2
e
) 2
e2
Demostracin. Consideremos a impar. Entonces uno de a 1 es divisible por 4, y tenemos para
algn f 2 y un c:
a 2
f
1 (m od 2
f +1
)
c 2
f +1
+2
f
1
a
2
c
2
2
2( f +1)
+2
2f
+1+2 c 2
2f +1
2 c 2
f +1
2 2
f
2
f +1
+1 (m od 2
f +2
)
Continuando de la misma forma, concluimos que para r 1:
a
2
r
2
f +r
+1 (m od 2
f +r +1
) (7.21)
Cuando f +r +1 e, la ecuacin (7.21) lleva a:
a
2
ef 1
2
e1
+1 (m od 2
e
)
/1 (m od 2
e
)
a
2
ef
2
e
+1 (m od 2
e+1
)
1 (m od 2
e
)
O sea, ord
2
e (a) 2
ef
, donde f es el valor determinado anteriormente. El mnimo valor posible de
f es 2, y siempre podemos elegir a 41 3 que da f 2, as (2
e
) 2
e2
.
136 CAPTULO7. ANILLOS DE POLINOMIOS
Incidentalmente, hemos hallado una manera simple de calcular ord
2
e (a).
Teorema 7.26. El mximo orden est dado por:
(2) 1, (4) 2, (2
e
) 2
e2
si e 3
(p
e
) p
e1
(p 1) si el primo p >2
(p
e
1
1
p
e
2
2
p
e
r
r
) lcm((p
e
1
1
), (p
e
2
2
), . . . , (p
e
r
r
)) si p
1
, . . . , p
r
son primos
Demostracin. Los casos 2 y 4 son obvios. El caso 2
e
es el tema del lema 7.25, el caso p
e
es inmediato
del teorema 7.24 y (p
e
) p
e1
(p 1).
Ahora, para gcd(m, n) 1 sabemos del teorema chino de los residuos (en realidad, del corola-
rio 6.6) que Z

mn

Z

m
Z

n
. El orden de un elemento a Z

mn
, que podemos descomponer en uv
con u Z

m
y v Z

n
, es lcm(ord
m
(u), ord
n
(v)). Si elegimos elementos de orden mximo para u y v,
a ser de orden mximo, su orden es (mn) lcm((m), (n)), y el resultado sigue.
Algunos algoritmos requieren usar races primitivas de un primo grande p, y los anteriores no
dan muchas luces de cmo encontrar una. Por suerte son relativamente numerosas: Si tomamos
una raz primitiva r , todos los elementos r
k
con gcd(k, p 1) 1 tambin tendrn orden p 1 y son
races primitivas. Vale decir, hay (p 1) races primitivas del primo p.
8 Campos nitos
Gran parte de las matemticas giran alrededor del lgebra abstracta, que hemos conocido en
los grupos y anillos. Pero sin duda las estructuras algebraicas ms importantes son los campos, que
denimos en el captulo 5 como anillos conmutativos en los que todos los elementos (salvo 0) tienen
inverso multiplicativo. Implcitamente usamos el campo R, ocasionalmente nos aventuramos a C.
Pero en realidad nuestros clculos casi siempre son con aproximaciones en Q. De particular inters
son los campos nitos, con una bonita teora y abundantes aplicaciones prcticas.
El orden aditivo de 1 en el campo F determina en gran medida la estructura del campo, y se le
llama la caracterstica del campo. Se dice chr(F) n si el orden es n y chr(F) 0 si es innito.
Si F es un campo, y K es un subcampo de F (cosa que se anota K F) se dice que F es un campo
extensin de K; si K /F decimos que K es un subcampo propio de F (se anota K <F en este caso).
Se le llama subcampo primo de F a la interseccin entre todos los subcampos de F. El subcampo
primo no tiene subcampos a su vez. Anotamos K

F si los campos K y F son isomorfos
Teorema 8.1. Sea K el subcampo primo de F. Entonces:
(I) Si F tiene caracterstica 0, entonces K

Q
(II) Si F tiene caracterstica p, entonces p es primo y K

Z
p
Demostracin. Llamaremos 1
K
y 0
K
a los elementos distinguidos de K.
(I) En este caso para a Z tenemos que a 1
K
K, y como K es un campo para b N tambin
(a 1
K
)(b 1
K
)
1
K, y esto es isomorfo al campo Q. Como K no tiene subcampos, K

Q.
(II) Nuevamente para a Z tenemos que a 1
K
K, pero p 1
K
0
K
, con lo que hay un subcampo
de K que es isomorfo a Z
p
, y como K es mnimo es K

Z
p
. Pero Z
p
es campo si y slo si p es
primo.
Si el campo nito F no es isomorfo a ningn Z
p
, habr algn elemento que no pertenece a
su subcampo primo K, llammosle . Pero en tal caso, los elementos {k: k K} deben ser todos
distintos entre s, y salvo 0 ninguno pertenece a K. As tenemos elementos {k
0
+k
1
: k
0
, k
1
K}.
Debemos adems incluir las potencias de . Si la primera potencia de que pertenece a K es
m
,
tendremos elementos k
0
+k
1
+ +k
m1

m1
, todos diferentes. Cualquier elemento an no
considerado dar lugar a una construccin similar sobre los anteriores. Repitiendo este proceso,
vemos que habr entonces una coleccin de n elementos
i
F tales que eligiendo adecuadamente
los k
i
K podemos representar cualquier elemento f F mediante la expresin:
f

1i n
k
i

i
Por la construccin anterior, cada eleccin de los k
i
da lugar a un elemento diferente de F, con lo
que concluimos que si la caracterstica del campo es p, y el campo es nito, su orden debe ser p
n
para n N. Para discutir este fenmeno se requieren conceptos adicionales [275].
137
138 CAPTULO8. CAMPOS FINITOS
8.1. Espacios vectoriales
Una estructura algebraica comn es el espacio vectorial. Es aplicable a una gran variedad de
situaciones, algunas bastante inesperadas.
Denicin 8.1. Sea F un campo (sus elementos los llamaremos escalares) y V un conjunto (los
vectores, que por convencin anotaremos en negrita). Hay operaciones suma de vectores (anotada
+) y producto escalar entre un escalar y un vector (anotada ). Se dice que V es un espacio vectorial
sobre F si cumple con los siguientes axiomas, donde , , . . . F, y v
1
, v
2
, . . . V .
V1: (v
1
+v
2
) +v
3
v
1
+(v
2
+v
3
)
V2: Hay un elemento 0 V tal que para todo v V se cumple v+0 v
V3: Para cada v V hay v V tal que v+(v) 0
V4: v
1
+v
2
v
2
+v
1
V5: (v
1
+v
2
) v
1
+ v
2
V6: (+) v v+ v
V7: ( v) () v
V8: Si 1 es el neutro multiplicativo de F, 1 v v
En resumen, (V, +) es un grupo abeliano (axiomas V1 a V4), junto con el campo F y multiplicacin
escalar que cumple los axiomas adicionales V5 a V8. Normalmente indicaremos la multiplicacin
escalar por simple yuxtaposicin. Dejamos de ejercicio demostrar que 0v 0 y que ()v (v).
Denicin 8.2. Sea V un espacio vectorial sobre el campo F. Si para el conjunto de vectores B es:

bB

b
b 0
slo si
b
0 para todo b B se dice que esos vectores son linealmente independientes.
Si un conjunto de vectores no es linealmente independiente se dice que son linealmente depen-
dientes. Ntese que 0 nunca pertenece a un conjunto de vectores linealmente independientes, ya
que al multiplicarlo por cualquier escalar obtenemos 0.
Denicin 8.3. Sea V un espacio vectorial sobre F, y B V un conjunto de vectores. El espacio
vectorial generado por B es el conjunto:
B
_

bB

b
b:
b
F
_
Si V B, se dice que B abarca V .
En particular:
Denicin 8.4. Una base del espacio vectorial V es un conjunto linealmente independiente de
vectores B que abarca V .
8.1. ESPACIOS VECTORIALES 139
La representacin de v V en trminos de la base B es nica, ya que si hubieran dos representa-
ciones diferentes daran una dependencia lineal en B. Para el vector:
v

bB

b
b
a los coecientes
b
se les llama componentes de v (en la base B).
Denicin 8.5. Al nmero de vectores en una base de V se le llama la dimensin de V , anotada
dimV . Un espacio vectorial abarcado por un conjunto nito de vectores se dice de dimensin nita,
en caso contrario es de dimensin innita. Al espacio vectorial {0} se le asigna dimensin cero. Se
anota [V : F] para la dimensin de V sobre el campo F.
En el caso de espacios vectoriales de dimensin nita es simple demostrar que todas las bases
tienen la misma cardinalidad, con lo que nuestra denicin de dimensin tiene sentido.
Teorema 8.2. Si V es un espacio vectorial con base B {b
1
, b
2
, . . . , b
n
}, y A {a
1
, a
2
, . . . , a
r
} es un
conjunto linealmente independiente de vectores en V , entonces r n.
Demostracin. Como B abarca V , B {a
1
} tambin abarca V . Como a
1
/0 (A es linealmente inde-
pendiente), podemos expresar a
1
como combinacin lineal de los B, y en ella algn b
t
tendr coe-
ciente diferente de 0. Ese b
t
puede expresarse en trminos de B
1
{a
1
, b
1
, b
2
, . . . , b
t 1
, b
t +1
, . . . , b
n
}.
Como todo v V puede escribirse como combinacin lineal de los B, tambin puede escribirse
como combinacin lineal de los B
1
(substituyendo la combinacin de B
1
que da b
t
en la combi-
nacin lineal para v se obtiene una nueva combinacin lineal). Este proceso puede repetirse in-
tercambiando un A por uno de los B, manteniendo siempre B
k
como base, nalmente llegando a
B
r
{a
1
, . . . , a
r
, b
m
1
, b
m
2
, . . . , b
m
s
} (posiblemente no queden b
m
k
en B
r
). No pueden quedar A si se
acaban los B, ya que si fuera as un a
i
sobrante no podra representarse como combinacin lineal
de los B, y B no sera una base. Tenemos A B
r
, y claramente [A[ [B
r
[ [B[.
Esto justica la denicin de la dimensin en el caso de espacios vectoriales de dimensin nita:
Corolario 8.3 (Teorema de dimensin de espacios vectoriales). Si A y B son bases de un espacio
vectorial de dimensin nita, entonces [A[ [B[.
Demostracin. La base A es linealmente independiente, con lo que por el teorema 8.2 es [A[ [B[.
Por el mismo argumento, intercambiando los roles de A y B, [B[ [A[, con lo que [A[ [B[.
Esto nos lleva a:
Teorema 8.4. Todos los espacios vectoriales de la misma dimensin nita sobre F son isomorfos.
Demostracin. SeanU y V espacios vectoriales de la misma dimensin nita, con bases {a
k
}
1kn
y
{b
k
}
1kn
, respectivamente. Podemos representar todos los vectores uU y v V mediante:
u

1kn
a
k
a
k
v

1kn
b
k
b
k
Denimos la biyeccin f : U V mediante:
f :

1kn
a
k
a
k

1kn
a
k
b
k
Demostrar que la suma vectorial y el producto escalar se preservan es rutinario.
En vista de la demostracin del teorema 8.4, en un espacio vectorial de dimensin nita basta elegir
una base, cada vector puede representarse mediante la secuencia de los coecientes en F. La suma
vectorial es sumar componente a componente, el producto escalar es multiplicar cada componente
por el escalar. Es por esta representacin que a secuencias de largo jo les llaman vectores.
140 CAPTULO8. CAMPOS FINITOS
8.2. Estructura de los campos nitos
Profundizaremos nuestro estudio de los campos nitos, apoyados ahora en lo que sabemos de
espacios vectoriales.
Lema 8.5. Sea K el subcampo primo de F, y sea F el cero de un polinomio en K[x]. Entonces hay
un polinomio mnico nico de grado mnimo en K[x] con de cero.
Demostracin. Es simple demostrar que I { f K[x] : f () 0} es un ideal de K[x]. Como K[x] es
un dominio de ideal principal, I (h) para algn h K[x], donde h es mnico y de mnimo grado
entre los elementos de I , y es nico con estas caractersticas.
Al polinomio h de la demostracin del lema 8.5 se le llama el polinomio mnimo de sobre K.
Un elemento que es cero de un polinomio en K[x] se dice algebraico sobre K.
Teorema 8.6. Sea F el cero de un polinomio en K[x] y sea g el polinomio mnimo de . Entonces
(I) g es irreductible en K[x]
(II) f () 0 si y slo si g [ f
Demostracin. Por turno.
(I) Como g tiene un cero en F, deg(g) 1. Demostramos que g es irreductible por contradiccin.
Supongamos que podemos expresar g h
1
h
2
en K[x] con 1 deg(h
i
) < deg(g) para i 1, 2.
Entonces g() h
1
()h
2
() 0, por lo que h
1
() 0 o h
2
() 0; o sea uno de los polinomios
est en el ideal I de la demostracin del lema 8.5. Al ser K[x] un dominio de ideal principal,
ese ideal es el conjunto de los mltiplos de g, con lo que g [ h
1
o g [ h
2
, lo que es imposible
porque sus grados son menores al de g.
(II) Esto sigue de la denicin de g como generador del ideal I del mencionado lema.
Antes de continuar, demostraremos que todos los campos nitos de orden q son isomorfos (ya
sabemos que q p
n
para un primo p). De partida:
Teorema 8.7 (Polinomio universal). Sea F un campo nito de orden q. Entonces todos los elementos
a F cumplen la ecuacin:
x
q
x 0
Demostracin. Por el teorema de Lagrange, si a / 0 el orden multiplicativo de a divide a q 1; en
particular:
a
q1
1 0
Si multiplicamos esta ecuacin por a, resulta que para todo a F:
a
q
a 0
Ntese que el teorema 8.7 dice que los elementos del campo nito F de orden q son todas los
ceros del polinomio universal x
q
x. En particular, los polinomios mnimos de los elementos de F
dividen a x
q
x.
Teorema 8.8. Sean F y F
t
campos nitos de orden q. Entonces F

F
t
.
8.2. ESTRUCTURA DE LOS CAMPOS FINITOS 141
Demostracin. Sabemos que si [F[ [F
t
[ p
n
, la caracterstica de ambos campos es p, en particular,
el campo primo de ambos es isomorfo a Z
p
.
Sabemos que F

es cclico (teorema 7.16), elijamos un generador de F

, y sea m(x) el polino-


mio mnimo de , que por la observacin anterior (teorema 8.6) con q p
n
en F cumple:
m(x) [ x
q1
1
Consideremos el polinomio m(x) en F
t
ahora, donde tambin divide a x
q
x (los coecientes y las
operaciones al dividir son estrictamente en el subcampo primo, sern las mismas en F y F
t
). Ac
podemos escribir:
x
q1
1

a
t
F
t
(x a
t
)
por lo que m(x) se factoriza completamente en F
t
:
m(x) (x a
t
1
)(x a
t
2
) (x a
t
d
)
Elijamos un cero cualquiera de m(x) en F
t
, digamos
t
a
t
1
. Observamos primeramente que
t
genera F
t
, ya que si su orden fuera d <q 1, cumplira:
x
d
1 0
Pero como m(x) es un polinomio irreductible, debe ser su polinomio mnimo, y en F
t
:
m(x) [ x
d
1
Volviendo a F, esto signica que tambin satisface esta ecuacin, y tiene orden d <q 1 (o sea, no
sera generador de F

).
Hay un isomorsmo de grupo obvio entre (F

, ) y (F
t
, ):
(
k
)
tk
Podemos extenderlo a una biyeccin entre F y F
t
deniendo:
(0) 0
Resta demostrar que es un isomorsmo para la suma. Sean a, b F, debemos mostrar que:
(a +b) (a) +(b)
Si a 0 o b 0, el resultado es inmediato, as que en lo que sigue a /0 y b /0. Debemos considerar
los dos casos a +b 0 y a +b /0. Veamos primero el segundo, ms general. Sean:
a
i
b
j
a +b
k
Entonces en F:

i
+
j

k
Vale decir, satisface la ecuacin:
x
i
+x
j
x
k
0
142 CAPTULO8. CAMPOS FINITOS
Por el teorema 8.6 en F:
m(x) [ x
i
+x
j
x
k
Pero en tal caso esto tambin se cumple en F
t
:

ti
+
t j

tk
Esto es precisamente:
(a +b) (a) +(b)
Resta el caso a+b 0. Si la caracterstica de los campos es 2, esto signica a b, y en consecuen-
cia como (a) (b) es:
(a +b) (0) 0 (a) +(b)
Si la caracterstica de F es impar, notamos que 1 es el nico elemento de orden 2, ya que:
x
2
1 (x 1)(x +1)
no puede tener ms de dos ceros. En efecto, como F tiene q elementos (y as F

tiene q 1 elemen-
tos), debe ser:
1
q1
2
dado que el elemento al lado derecho tiene el orden correcto. Escribamos a
i
y b
j
, donde
podemos suponer sin prdida de generalidad que i > j , con lo que:

i
+
j
0

i j
1
i j
q 1
2

t(i j )
1
De ac, aplicando lo anterior en reversa en F
t
:

ti
+
t j
0
Vale decir:
(a +b) (a) +(b)
En resumen, la biyeccin preserva suma y multiplicacin, es un isomorsmo entre los campos.
Al campo nito de orden q se le anota F
q
(en la literatura ms antigua se suele encontrar la no-
tacin GF(q), por la abreviatura de campo de Galois en honor a quien comenz su estudio). Resulta
curioso que todo polinomio irreductible de grado n da el mismo campo. Resta demostrar que tales
campos existen para todo primo p y todo n.
Vimos (teorema 5.34) que Z
m
Z/(m) es un campo slo cuando m es primo. Hay notables simi-
litudes entre el anillo Z y los anillos de polinomios K[x] sobre un campo K particularmente si K
8.2. ESTRUCTURA DE LOS CAMPOS FINITOS 143
es nito. Ya vimos un ejemplo de esto: En los nmeros enteros hay innitos primos, y pueden ex-
presarse en forma esencialmente nica como producto de primos (y un signo, vale decir multiplicar
por una unidad), el teorema fundamental de la aritmtica. Para polinomios tenemos el teorema 7.11.
Los primos en Z corresponden a los polinomios mnicos irreductibles en K[x]. Igual que la relacin
de congruencia entre enteros, podemos denirla para polinomios f (x), g(x), m(x) K[x]:
f (x) g(x) (m od m(x))
siempre que para algn q(x) K[x]:
g(x) f (x) m(x)q(x)
Es rutinario vericar que es equivalencia en K[x], y que las clases de equivalencia forman un anillo
K[x]/(m(x)), el anillo de polinomios sobre K mdulo m(x). Este anillo contiene el campo K como
los polinomios constantes.
Teorema 8.9. El anillo cociente K[x]/(m(x)) es un campo si y slo si m(x) es irreductible.
Demostracin. Demostramos implicancia en ambas direcciones. Para el directo, sea f (x) K[x]
tal que m(x)/[ f (x). Sabemos (seccin 7.1) que los polinomios sobre un campo son un dominio
euclidiano, es aplicable la identidad de Bzout y tenemos un inverso de f .
Para el converso, usamos contradiccin. Supongamos que m(x) no es irreductible, vale decir:
m(x) a(x) b(x)
donde a(x) y b(x) no son constantes. Las clases de equivalencia correspondientes no son cero, pero:
[a(z)] [b(x)] [a(x) b(x)] [m(x)] 0
Al haber divisores de cero, no es campo.
Considerando K[x]/(m(x)) como campo vectorial, es una extensin de K:
Denicin 8.6. A la dimensin de F como campo vectorial sobre K la anotamos [F : K], y la llama-
mos el grado de la extensin.
Lema 8.10. Si m(x) es un polinomio irreductible de grado d, entonces las clases de equivalencia:
[1], [x], . . . , [x
d1
]
forman una base para K[x]/(m(x)). En particular:
dim
K
K[x]/(m(x)) degm(x)
Demostracin. Demostramos por contradiccin que las clases son linealmente independientes. Su-
pongamos:
c
0
[1] +c
1
[x] + +c
d1
[x
d1
] 0
Esto signica:
m(x) [ c
0
+c
1
x + +c
d1
x
d1
Esto slo es posible si todos los c
i
0, ya que el grado de m es d.
144 CAPTULO8. CAMPOS FINITOS
Para demostrar que las clases de equivalencia abarcan K[x]/(m(x)), elijamos f (x) K[x] cual-
quiera. Podemos dividir:
f (x) m(x) q(x) +r (x) degr (x) <degm(x)
As:
f (x) r (x) (m od m(x))
O sea, si:
r (x) r
0
+r
1
x + +r
d1
x
d1
entonces:
[ f (x)] [r (x)] r
0
[1] +r
1
[x] + +r
d1
[x
d1
]
Corolario 8.11. Si m(x) F
q
[x] es irreductible de grado n, entonces F
q
[x]/(m(x)) es de orden q
n
.
Demostracin. Inmediato del teorema 8.9: F
q
[x]/(m(x)) es un espacio vectorial de dimensin n
sobre F
q
, con lo que contiene q
n
elementos.
En lo anterior construimos un campo K[x]/(m(x)) partiendo de un campo K y un polinomio
irreductible sobre l. Vimos tambin que todos los campos nitos del mismo orden son isomorfos.
Ahora la construccin inversa, buscando la relacin entre un campo F y sus subcampos.
Denicin 8.7. Sean
1
,
2
, . . . ,
n
F, y sea K un subcampo de F. Al mnimo subcampo de F que
contiene
1
,
2
, . . . ,
n
y K se anota K(
1
,
2
, . . . ,
n
). A tales campos se les llama extensiones de K. Si
F K(), se dice que F es una extensin simple de K.
Ntese la similitud entre la denicin 8.7 y la nocin de anillos cuadrticos vistos en la sec-
cin 5.3.2. All usamos la notacin Z[
_
2] para el anillo, ac hablamos del campo Q(
_
2).
Por la discusin anterior K(
1
, . . . ,
n
) es un espacio vectorial sobre K.
Teorema 8.12. Sea F una extensin del campo K, y sea F el cero de un polinomio en K[x], con
polinomio mnimo g. Entonces:
(I) K() es isomorfo a K[x]/(g(x))
(II) [K() : K] deg(g) y {1, ,
2
, . . . ,
n1
} es una base de K() sobre K
(III) Si K() es el cero de un polinomio en K[x], el grado del polinomio mnimo de divide al
grado de g
Demostracin. Para el punto (I), por el lema 8.10 la clase [x] de K[x]/(g(x)) satisface la ecuacin:
g(x) 0
En consecuencia, K()

K[x]/(g(x)) ya que son campos nitos del mismo orden. El punto (II) es
inmediato de lo anterior.
Para (III), que K() es un espacio vectorial sobre K(), con lo que el grado del polinomio mnimo
de sobre K() da la condicin de divisibilidad prometida.
De lo anterior tenemos directamente:
8.2. ESTRUCTURA DE LOS CAMPOS FINITOS 145
Corolario 8.13. Sean F G H campos nitos. Entonces:
[H : F] [H : G] [G : F]
Lo anterior muestra un cero de cada polinomio irreductible, pero nos interesan todas los ceros.
Al efecto, denimos:
Denicin 8.8. Sea f K[x] un polinomio de grado positivo, y F una extensin de K. Decimos que
f se divide en F si hay a K y
i
F para 1 i n tales que podemos escribir:
f (x) a(x
1
)(x
2
) (x
n
)
El campo F se llama campo divisor de f sobre K si f se divide en F y adems es F K(
1
,
2
, . . . ,
n
).
El siguiente resultado es una pieza angular de la teora de campos.
Teorema 8.14 (Kroneker). Para todo polinomio irreductible f (x) sobre el campo F hay una extensin
en la cual f (x) tiene un cero.
Demostracin. Sea f (x) a
0
+a
1
x + +a
n
x
n
F[x] irreductible. Consideremos el elemento [x] en
el campo F[x]/( f (x)). Entonces en F[x]/( f (x)):
f ([x]) [a
0
] +[a
1
][x] + +[a
n
][x
n
]
[a
0
+a
1
x + +a
n
x
n
]
0
As F[x]/( f (x)) es campo divisor, y en el [x] es cero.
Esto parece ser slo jugar con la notacin, pero es ms profundo: Hay que distinguir entre x (el
smbolo usado para describir polinomios formales) y [x] (la clase de equivalencia del polinomio x
mdulo f (x) sobre F). Adems usamos las deniciones y propiedades de las operaciones entre clases
de congruencia. Tambin vemos que al aplicar repetidas veces el teorema de Kroneker obtenemos
nalmente el campo divisor de cualquier polinomio.
Teorema 8.15. Sea F un campo, f un polinomio irreductible sobre el campo K con ceros , F.
Entonces K()

K(), con un isomorsmo que mantiene jos los elementos de K e intercambia los
ceros y .
Demostracin. Por el teorema de Kroneker, ambos son isomorfos a K[x]/( f (x)), dado que el irreduc-
tible f es el polinomio mnimo de y . El isomorsmo claramente mantiene jos los elementos de
K, se expresa como una combinacin lineal en K() y similarmente en K().
Lo siguiente bsicamente recoge resultados previos.
Teorema 8.16 (Existencia y unicidad del campo divisor). Todo polinomio tiene campo divisor nico:
(I) Si K es un campo y f un polinomio de grado positivo en K[x], entonces existe un campo divisor
de f sobre K
(II) Cualquier par de campos divisores de f sobre K son isomorfos bajo un isomorsmo que man-
tiene jos los elementos de K y permuta ceros de f .
As podemos hablar de el campo divisor de f sobre K, que se obtiene adjuntando un nmero
nito de elementos algebraicos a K, y es una extensin nita de K.
146 CAPTULO8. CAMPOS FINITOS
Teorema 8.17 (Existencia y unicidad de campos nitos). Para cada primo p y natural n hay un
campo nito de orden p
n
. Todo campo nito de orden q p
n
es isomorfo al campo divisor de x
q
x
sobre Z
p
.
Demostracin. Sea F el campo divisor de f (x) x
q
x en Z
p
[x]. Como f
t
(x) qx
q1
1 1 sobre
Z
p
, por el lema 7.12 f (x) no tiene factores repetidos, con lo que f (x) tiene q ceros en F, exactamente
los q elementos de F.
Por el teorema 8.12, el campo divisor es nico.
El polinomio universal U
n
(x) x
p
n
x tiene como ceros todos los elementos de F
p
n . Resulta que
U
m
(x) [ U
n
(x) si y slo si m[ n, pero curiosamente es ms fcil demostrar algo bastante ms general:
Teorema 8.18. Sobre F
p
:
gcd(U
m
(x),U
n
(x)) U
gcd(m,n)
(x)
Demostracin. Si mn no hay nada que demostrar. Usamos induccin fuerte sobre n para m<n.
Base: Cuando n 1, no hay nada que demostrar.
Induccin: Sea r n m y consideremos:
(U
m
(x))
p
x
p
m+1
x
p
ya que al aplicar el teorema del binomio los trminos intermedios se anulan por ser divisibles
por p. Aplicando lo anterior r veces resulta:
(U
m
(x))
p
r
x
p
m+nm
x
p
r
x
p
n
x
p
r
U
n
(x) U
r
(x)
de lo que obtenemos:
gcd(U
m
(x),U
n
(x)) gcd(U
r
(x),U
m
(x))
Por induccin:
gcd(U
r
(x),U
m
(x)) U
gcd(r,m)
(x)
U
gcd(m,n)
(x)
ya que gcd(r, m) gcd(n m, m) gcd(m, n).
Por induccin lo prometido vale para todo m, n N.
As:
Corolario 8.19. Sobre F
p
es U
m
(x) [ U
n
(x) si y slo si m[ n.
Demostracin. Recurrimos a una cadena de equivalencias. Es claro que U
m
(x) [ U
n
(x) si y slo si
gcd(U
m
(x),U
n
(x)) U
m
(x). Por el teorema 8.18 esto es si y slo si gcd(m, n) m, que es si y slo si
m[ n.
Teorema 8.20. Sea F
q
un campo nito y F
r
una extensin nita de F
q
. Entonces
8.3. CDIGOS DE DETECCINY CORRECCINDE ERRORES 147
(I) F
r
es una extensin simple de F
q
, vale decir, hay F
r
tal que F
r
F
q
()
(II) Cualquier elemento primitivo de F
r
sirve como elemento denidor
Demostracin. Para (I), sea un elemento primitivo de F
r
, con lo que F
q
() F
r
. Por otro lado,
F
q
() contiene a 0 y todas las potencias de , que son los elementos de F

r
; con lo que F
r
F
q
().
En consecuencia F
r
F
q
(). El punto (II) es inmediato de lo anterior.
As tenemos
Corolario 8.21. Para cada primo p hay polinomios irreductibles de todo grado n 1 sobre Z
p
.
Demostracin. Por el teorema 8.12 toda extensin de Z
p
es isomorfa a algn Z
p
()

Z
p
[x]/(g(x))
donde g(x) es el polinomio mnimo de , por el teorema 8.6 el polinomio mnimo es irreductible. Por
el teorema 8.17 hay campos nitos de p
n
elementos para todo primo p y natural n. En consecuencia,
hay polinomios irreductibles de todos los grados sobre Z
p
.
Podemos hacer ms:
Teorema 8.22. Sea N
n
el nmero de polinomios irreductibles de grado n sobre F
q
. Entonces:
N
n

1
n

d[n
(n/d) q
d
(8.1)
Demostracin. En F
q
n cada elemento es cero de su polinomio mnimo. Tal polinomio mnimo de
grado d es irreductible sobre F
q
y tiene d ceros distintos en F
q
n . Contabilizando los elementos de
F
q
n como los ceros de sus polinomios mnimos:

d[n
dN
d
q
n
Aplicando inversin de Mbius (teorema 6.19) obtenemos lo anunciado.
Esto da otra demostracin de que hay polinomios irreductibles de grado n sobre Z
q
para todo
n N: Para n 1, todos los polinomios son irreductibles. Si n 2, en la suma (8.1) el trmino q
n
es
mayor que la suma de los dems, ya que como [(x)[ 1 podemos acotar:

d[n
d<n
(n/d)q
d

d[n
d<n
q
d

0dn1
q
d

q
n
1
q 1
<q
n
As la suma en (8.1) nunca se anula si n 2. Uniendo este resultado con el caso n 1, N
n
>0 para
todo n N. En vista del corolario 8.19, podemos obtener todos los polinomios irreductibles sobre F
p
de grado hasta n como factores de U
n
(x).
8.3. Cdigos de deteccin y correccin de errores
Consideremos mensajes de m bits de largo que se transmiten por algn medio (podra ser simple-
mente que se almacenan y se recuperan luego). En este proceso pueden ocurrir errores, que interesa
detectar o corregir. El tema fue estudiado inicialmente por Hamming [129]. Para ello usamos pala-
bras de cdigo de n bits de largo, donde obviamente n m, usando los bits adicionales para detectar
o corregir errores, usando slo 2
m
de las 2
n
palabras posibles. Si se recibe una palabra errada (que
no corresponde al cdigo), una estrategia obvia es suponer que el cdigo correcto es el ms cercano
148 CAPTULO8. CAMPOS FINITOS
al recibido, vale decir, el que diere en menos bits del recibido. Al nmero de bits en que dieren
dos palabras se les llama la distancia de Hamming entre ellas. Por ejemplo, la distancia de Hamming
entre 10111011 y 10010100 es 5. A la distancia de Hamming mnima entre dos palabras de un cdigo
se le conoce como distancia de Hamming del cdigo. Lo que interesa entonces es hallar cdigos
de distancia de Hamming mxima en forma uniforme (nos interesa que a cada cdigo correcto le
corresponda un nmero similar de palabras errneas) y por el otro lado hallar formas ecientes
de determinar si la palabra es correcta (slo detectar errores) o la ms cercana a la recibida (para
corregirlos). Para detectar d errores se requiere que la distancia de Hamming del cdigo sea mayor
a d +1 (as la palabra errada nunca coincide con una correcta, est al menos a un bit de distancia),
para corregir d errores la distancia debe ser 2d +1 (la palabra errada estar a distancia a lo ms d de
la correcta, la siguiente ms cercana estar a la distancia al menos d +1).
8.3.1. Cdigos de Hamming
Hamming [129] hall una manera de construir cdigos de deteccin y correccin de errores de
distancia 3 (capaces de detectar 2 errores y corregir 1). Suponiendo n 2
w
y contando los bits de 1 a
2
w
, se usan los bits en las posiciones k 1, 2, . . . , 2
w1
como bits de paridad y los dems como bits
de datos. La idea es calcular el bit en la posicin 2
k
de forma que los bits en las posiciones escritas
en binario que tienen 1 en la posicin k tengan un nmero par de unos, como muestra la tabla 8.1.
Para determinar el bit errado, lo que se hace es calcular los bits de paridad correspondientes a los
Paridad Posiciones
0 2
0
1 1, 3, 5, 7, 9, 11, 13, 15
1 2
1
2 2, 3, 6, 7, 10, 11, 14, 15
2 2
2
4 4, 5, 6, 7, 12, 13, 14, 15
3 2
3
8 8, 9, 10, 11, 12, 13, 14, 15
Cuadro 8.1 Paridades para el cdigo de Hamming (15, 4)
datos recibidos, si son iguales a lo calculado, no se detectan errores; en caso de haber diferencias
considerar los bits de paridad como un nmero binario da el bit errado. Por ejemplo, si w 15, el
cdigo tendr 4 bits de paridad (posiciones 1, 2, 4, 8) y 11 bits de mensaje (en las posiciones 3, 5,
6, 7, 9 y 10 a 15). Se recibe 0x6A6A, en binario 0110101001101010, revisamos los bits respectivos,
lo que da 3 para 0, 6 para 1, 6 para 2 y 4 para 3. Esto corresponde a 0001, que signica que hay un
error en la posicin 1. El cdigo correcto es 0110101001101011 o 0x6A6B, y los bits de mensaje
son 11010101100, o 0x6AC. El cdigo de Hamming es ptimo, en el sentido que tiene la mxima
distancia de Hamming para el nmero de bits dado.
8.3.2. Vericacin de redundancia cclica
Una manera de construir cdigos de deteccin de errores simples de analizar matemticamente
fue descubierta por Peterson [227]. La tcnica tiene adems la ventaja de poder implementarse en
circuitos sencillos y rpidos, como veremos luego. Se les llama vericacin de redundancia cclica (en
ingls, Cyclic Redundancy Check, o CRC) dado que se agregan bits de vericacin (check en ingls)
que son redundantes (no aportan informacin) segn un cdigo cclico.
Consideremos un mensaje binario de m bits, M M
m1
M
m2
. . . M
0
. Podemos considerarlo
como un polinomio sobre Z
2
:
M(x) M
m1
x
m1
+M
m2
x
m2
+ +M
1
x +M
0
8.3. CDIGOS DE DETECCINY CORRECCINDE ERRORES 149
Sea adems un polinomio G(x) de grado n 1. Si calculamos:
r (x) M(x)x
n
m od G(x)
T(x) M(x)x
n
r (x)
Es claro que T(x) es divisible por G(x). La estrategia es entonces tomar el mensaje, aadirle n1 bits
cero al nal, calcular el resto de esto al dividir por G(x) (un polinomio de grado n1) y substituir los
ceros aadidos por el resto (en Z
2
[x] suma y resta son la misma operacin). A estos bits agregados
los llamaremos bits de paridad. El resultado es el polinomio T(x), que se trasmite. Al recibirlo, se
calcula el resto de la divisin con G(x); si el resto es cero, el dato recibido es correcto. Al polinomio
G(x) se le llama generador del cdigo. Esto es similar a la prueba de los nueves que discutimos en el
captulo 6.
Si se transmite T y se recibe T
t
, el error (las posiciones de bit erradas) es simplemente la diferen-
cia entre los polinomios respectivos:
E(x) T(x) T
t
(x)
Para que nuestra tcnica detecte el error, debe ser que G(x) no divida a E(x). Nos interesa entonces
estudiar bajo qu condiciones G(x) divide a E(x) en Z
2
[x], de manera de obtener criterios que den
buenos polinomios generadores (capaces de detectar clases de errores de inters).
Claramente no todo G(x) sirve, usaremos la teora desarrollada antes para poner algunas condi-
ciones. De partida, el trmino constante de G(x) no debe ser cero, de otra forma se desperdician bits
de paridad:
_
x
n
M(x)
_
m od
_
x
k
p(x)
_
x
nk
_
M(x) m od p(x)
_
Si consideramos cmo se multiplican polinomios en Z
2
[x], vemos que si G(x) tiene un nmero
par de coecientes uno lo mismo ocurrir con el producto p(x)G(x), con lo que si G(x) tiene un
nmero par de coecientes uno detectar todos los errores que cambian un nmero impar de bits.
Por otro lado, si G(x) es de grado n 1 no puede dividir a polinomios de grado menor. Vale decir,
ser capaz de detectar todos los errores que cambian bits en un rango contiguo de menos de n bits.
Una rfaga es un bloque de bits cambiados, con lo que E 00 011 110 0. Si se cambian r
bits, esto signica que para algn k:
E(x) (x
r 1
+x
r 2
+ +1)x
k

(x
r
1)x
k
x 1
Esto es divisible por G(x) si lo es x
r
1. De la teora precedente sobre campos nitos sabemos que si
G(x) es el polinomio mnimo de un generador de F
2
n (lo que llaman un polinomio primitivo) dividir
a x
r
1 slo si r 2
n
1. Lamentablemente en Z
2
[x] el polinomio x +1 es primitivo y divide a todos
los polinomios con un nmero par de trminos (porque x 1 siempre divide a x
k
1).
Analicemos ahora cmo armar circuitos que calculen el resto de la divisin de polinomios en
Z
2
[x]. Requeriremos memorias de un bit, que al pulso de una lnea de reloj (que no se muestra)
aceptan un nuevo bit y entregan el anterior. La suma en Z
2
es la operacin lgica o exclusivo, co-
mnmente anotada . Los elementos de circuito que emplearemos se ilustran en la gura 8.1. El
amable lector vericar (por ejemplo dividiendo x
8
+x
5
+x
4
+x
2
+1 por x
4
+x +1) que el proceso
para obtener el resto puede describirse de la siguiente forma: Si el primer bit del dividendo actual es
1, sume los trminos de menor exponente a partir del segundo trmino del dividendo; en caso que
el primer bit del dividendo sea 0, no haga nada. Luego descarte el primer bit del dividendo. Esto es lo
mismo que sumar el primer bit del dividendo actual en ciertas posiciones, y luego correr todo en una
150 CAPTULO8. CAMPOS FINITOS
x
t
x
t1
(a) Registro
x
t
y
t
x
t1
y
t1
(b) O exclusivo
Figura 8.1 Elementos de circuitos lgicos
Figura 8.2 Circuito para x
8
+x
4
+x
3
+x
2
+1
posicin. En trminos de nuestros elementos, para el polinomio primitivo x
8
+x
4
+x
3
+x
2
+1 resulta
el circuito de la gura 8.2. La operacin es la siguiente: Inicialmente se cargan ceros en los registros,
luego se van ingresando los bits del dividendo (partiendo por el ms signicativo) al circuito. El
resto queda en los registros. Es claro que interesan polinomios primitivos con el mnimo nmero de
trminos (ya que esto minimiza la circuitera requerida).
Otro uso interesante resulta de inicializar los registros con un valor diferente de cero, y luego
alimentar el circuito con una corriente de ceros (lo que puede lograrse simplemente obviando la
primera operacin a la izquierda en la gura) Como hay un nmero nito de posibilidades para los
valores de los registros, en algn momento se repetirn. Si el valor inicial es p(x), lo que estamos
haciendo es calcular sucesivamente x
k
p(x) m od G(x). Si G(x) es primitivo, la repeticin ocurrir
cuando k 2
n
, por lo que los valores en los registros habrn recorrido todas las combinaciones
de n bits (salvo slo ceros). El resultado es un contador simple (si slo interesa obtener valores
diferentes, no necesariamente en orden), y la salida del circuito (que en nuestra aplicacin anterior
descartamos) es una corriente de nmeros aleatorios si se toman de a n bits. Si G(x) no es primitivo,
la teora precedente indica que habr un k menor a n que hace que x
k
p(x) p(x) (m od G(x)), y
nuevamente hay ciclos. El lector interesado determinar los posibles ciclos para algn polinomio
no primitivo, como (x
4
+x +1)(x +1) x
5
+x
4
+x
2
+1.
9 Algoritmos aritmticos
Hay aplicaciones en las cuales se requieren clculos con nmeros de muchos miles de bits de
largo. Interesa encontrar algoritmos ecientes, que usenel mnimo de tiempo posible. Una discusin
exhaustiva de algoritmos aritmticos y anes, con anlisis muy detallado de su rendimiento, es de
Knuth [175]. Detalles sobre algoritmos numricos adicionales, incluyendo resultados recientes en
el rea y con nfasis en algoritmos aplicables para criptografa, dan Brent y Zimmermann [43]. Una
discusin de algoritmos en C++ da Arndt [14]. Una implementacin libre de algoritmos aritmticos
de buen rendimiento es la biblioteca GMP [120]. Hay varias otras opciones, como NTL [262], que
ofrece una interfaz ms cmoda de usar, y CLN [125] para uso desde C++. Para cmputo en otras
estructuras algebraicas (por ejemplo, grupos elpticos o campos nitos) se recomienda GAP [110].
9.1. Mximo comn divisor
Para el mximo comn divisor (que ya discutimos en la seccin 5.1), notar que para q arbitrario
debe ser:
gcd(a, b) gcd(b, a qb)
Esto porque cualquier divisor comn de b y a qb necesariamente divide a a tambin. Interesa
disminuir lo ms posible los valores en cada iteracin, cosa que se logra si elegimos q ]a/b]. Como
los valores son enteros no negativos y disminuyen en cada paso, el proceso no puede continuar
indenidamente. Esta observacin lleva al algoritmo de Euclides, algoritmo 9.1, para calcular el
mximo comn divisor. Es interesante considerar el nmero de iteraciones del algoritmo. Sean r
i
Algoritmo 9.1: Algoritmo de Euclides para calcular gcd(a, b)
function gcd(a, b)
while b >0 do
(a, b) (b, a m od b)
end
return a
los restos en cada paso del algoritmo, con el entendido que r
0
a y r
1
b, y que a > b (en caso
contrario, lo nico que hace la primera iteracin es intercambiarlos). Estamos calculando:
r
i +2
r
i
m od r
i +1
O sea, para una secuencia de q
i
tenemos las relaciones:
r
i +2
r
i
q
i
r
i +1
151
152 CAPTULO9. ALGORITMOS ARITMTICOS
donde r
k
/0 y r
k+1
0 si hay k iteraciones. El peor caso se da cuando q
i
1 siempre, ya que en tal
caso los r
i
disminuyen lo ms lentamente posible. Adems, el caso en que gcd(a, b) 1 es el en el
cual ms terreno se debe recorrer. Podemos dar vuelta esto, y preguntarnos qu tan lejos del nal
estamos, y calcular desde all:
F
k+2
F
k+1
+F
k
F
0
0, F
1
1 (9.1)
Esto dene la famosa secuencia de Fibonacci:
0, 1, 1, 2, 3, 5, 8, 13, 21, . . .
El resultado es entonces que si el algoritmo efecta k iteraciones entonces b F
k
. Esto fue demos-
trado por Lam en 1844, lo que inaugur el rea de anlisis de algoritmos. Fue tambin el primer
uso serio de los nmeros de Fibonacci.
Para completar el anlisis interesa saber cmo crece F
k
. Ms adelante (captulo 16) veremos
cmo tratar esta clase de situaciones, por ahora nos contentamos con una cota. Si calculamos las
razones F
k+1
/F
k
, vemos que parecen converger a una constante cerca de 1,6. Llamemos:
lm
k
F
k+1
F
k
Podemos expresar:
F
k+2
F
k

F
k+1
F
k
+1
F
k+2
F
k+1

F
k+1
F
k

F
k+1
F
k
+1
Si ahora hacemos k , queda:

2
+1 (9.2)
El polinomio (9.2) tiene dos ceros, interesa el positivo (de mayor magnitud):

1+
_
5
2
1, 618
Se cumplen las siguientes relaciones para k 1:

k2
F
k

k1
(9.3)
Requerimos dos valores de partida, dado que a la recurrencia (9.1) entran dos valores. Estas se
demuestran por induccin.
Base: Cuando k 1 y k 2 tenemos:

1
F
1
1
1 F
2

Ambas son ciertas.


Induccin: Suponiendo que la aseveracin es cierta hasta k +1, planteamos las cotas (9.3) para k y
k +1:

k2
F
k

k1

k1
F
k+1

k
9.2. POTENCIAS 153
Sumando las relaciones resultantes, y viendo de la ecuacin (9.2) que
2
1+:

k2
+
k1
F
k
+F
k+1

k1
+
k

k2
(1+) F
k+2

k1
(1+)

k
F
k+2

k+1
que es el caso siguiente.
Con estas estimaciones de F
k
, tenemos que si el algoritmo da a lo ms k iteraciones:
b F
k

k2
k
logb
log
+2
O sea, k O(logb).
Puede analizarse el comportamiento promedio del algoritmo, pero eso lleva a profundidades
que escapan de este ramo. El detalle se encuentra en [175].
Un algoritmo alternativo (mximo comn divisor binario) se obtiene de aplicar repetidas veces
las siguientes observaciones:
1. gcd(a, b) gcd(b, a) nos permite reordenar a gusto.
2. gcd(a, 0) a da el resultado nal.
3. gcd(a, b) 2 gcd(a/2, b/2) cuando a y b son pares.
4. gcd(a, b) gcd(a/2, b) cuando a es par y b impar.
5. gcd(a, b) gcd(b, (a b)/2) cuando a y b son impares (en tal caso, a b es par).
En mquinas en las cuales la divisin es lenta este algoritmo puede ser ms eciente si se programa
con cuidado aprovechando operaciones con bits.
Nuestra versin (9.2) primero extrae la mxima potencia de 2 que tienen en comn a y b, de all
en adelante trabaja slo con nmeros impares, asegurndose de mantener siempre a b. Un
ejemplo del algoritmo binario sera el clculo de gcd(40902, 24140). Como 40902 2 20451 y
24140 4 6035, la mxima potencia de 2 que tienen en comn a y b es u 2, y el algoritmo
propiamente tal se inicia con a 20451, b 6035. La traza respectiva se resea en el cuadro 9.1. El
resultado nal es gcd(40902, 24140) 2 17 34.
El anlisis completo del algoritmo parece ser intratable, en [175] se analiza en detalle un modelo
aproximado y se dan algunos resultados exactos.
9.2. Potencias
Otra operacin importante es calcular potencias. Un algoritmo eciente para calcular potencias
es el 9.3. Es fcil ver que con este algoritmo el clculo de a
n
toma O(logn) multiplicaciones. En todo
caso, el algoritmo 9.3 no es lo mejor que se puede hacer, un tratamiento detallado de este espinudo
tema da Knuth [175].
Un ejemplo del mtodo binario da el clculo de 3
10
en el cuadro 9.2.
154 CAPTULO9. ALGORITMOS ARITMTICOS
Algoritmo 9.2: Mximo comn divisor binario
function gcd(a, b)
u 1
while (2 [ a) (2 [ b) do
(u, a, b) (2u, a/2, b/2)
end
while 2 [ a do
a a/2
end
while 2 [ b do
b b/2
end
if a <b then
(a, b) (b, a)
end
loop
t a b
if t 0 then
return a u
end
repeat
t t /2
until 2/[ t
(a, b) (b, t )
end
a b t
20 451 6 035 20 4516 035 16 901
6 035 901 6 035 901 2 2 567
2 567 901 2 567 901 2 833
901 833 901 833 4 17
833 17 833 17 16 51
51 17 51 17 2 17
17 17 17 17 0
Cuadro 9.1 Traza del algoritmo binario para mximo comn divisor
9.3. FACTORIZAR 155
Algoritmo 9.3: Clculo binario de potencias
function pow(a, n)
r 1
while n /0 do
if 2/[ n then
r r a
end
a a
2
n ]n/2]
end
return r
n a r
10 3 1
5 9 9
9 81 9
1 6 561 59 049
Cuadro 9.2 Clculo de 3
10
por el mtodo binario
9.3. Factorizar
Una tcnica bsica para factorizar es la que hemos aprendido en el colegio: Para factorizar N,
intentamos los primos entre 2 y ]
_
N]. Si ninguno divide a N, entonces N es primo. Si N es grande,
esto denitivamente no es viable, pero sirve muy bien para eliminar factores primos chicos de algn
nmero.
Una alternativa que sirve bien cuando N tiene factores grandes es debida esencialmente a Fer-
mat. Supongamos N UV , donde podemos suponer que N es impar (y por tanto lo son U y V ).
Entonces, deniendo X e Y como sigue:
X (U +V )/2
Y (U V )/2
N X
2
Y
2
La idea entonces es buscar sistemticamente valores de X e Y segn lo anterior. Aprovechando que
la suma de los primeros n nmeros impares cumple:

0kn
(2k +1) n
2
obtenemos el algoritmo 9.4, donde usamos las variables x, y y r para designar lo que enla exposicin
anterior llamamos 2X +1, 2Y +1 y X
2
Y
2
N, respectivamente. Durante la ejecucin tenemos
[r [ < x e y < x. Lo ms curioso es que no usa multiplicacin ni divisin para factorizar. El lector
podr entretenerse aplicando a mano este algoritmo a 377.
El mtodo de Fermat enrealidad era diferente, el algoritmo 9.4 es muy eciente encomputadores
pero no es muy adecuado para clculo manual. Fermat no mantena el valor de y, miraba x
2
N
y descartaba no cuadrados viendo sus ltimos dgitos (en base 10, deben ser 00, p1, p4, 25, i 6 o
p9, donde p es un dgito par e i uno impar); en caso de sospechar que fuera un cuadrado perfecto
156 CAPTULO9. ALGORITMOS ARITMTICOS
Algoritmo 9.4: Factorizar segn Fermat
function factor(N)
x 2
__
N
_
+1
y 1
r
__
N
_
2
N
while r /0 do
r r +x
x x +2
while r >0 do
r r y
y y +2
end
end
return N
_
(x y)/2
_

_
(x +y 2)/2
_
m Si x m od m es x
2
m od m es (x
2
N) m od m es
3 0, 1, 2 0, 1, 1 1, 2, 2
5 0, 1, 2, 3, 4 0, 1, 4, 4, 1 1, 2, 0, 0, 2
7 0, 1, 2, 3, 4, 5, 6 0, 1, 4, 2, 2, 4, 1 5, 6, 2, 0, 0, 2, 6
8 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 4, 1, 0, 1, 4, 1 1, 2, 5, 2, 1, 5, 2
11
0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 4, 9, 5, 3, 3, 5, 10, 0, 3, 8, 4, 2, 2, 4,
8, 9, 10 9, 4, 1 8, 3, 0
Cuadro 9.3 Condiciones a x e y al factorizar 8 616 460 799
extraa una raz. Esta misma idea puede extenderse a otras bases [175]. Tomemos por ejemplo N
8616460799, y consideremos el cuadro 9.3. Si x
2
N es un cuadrado perfecto y
2
, entonces debe
tener un residuo mdulo m consistente con esto, para todo m. Por ejemplo, con N 8616460799 y
x m od 3 /0, entonces (x
2
N) m od 3 2, y esto no puede ser un cuadrado perfecto, de forma que
x debe ser un mltiplo de 3 para que N x
2
y
2
. Nuestro cuadro dice que:
x m od 3 0
x m od 5 0, 2 3
x m od 7 2, 3, 4 5
x m od 8 0 4 (o sea, x m od 4 0)
x m od 11 0, 2, 4, 7, 9 10
Esto reduce la bsqueda en forma considerable. Por ejemplo, vemos que x debe ser mltiplo de 12.
Debe ser x ]
_
N] 92825, y el menor mltiplo de 12 que cumple es 92 832. Pero este valor tiene
residuos (2, 5, 3) mdulos (5, 7, 11), y falla nuestra condicin respecto del mdulo 11. Incrementar
x en 12 aumenta los residuos mdulo 5 en 2, mdulo 7 en 5, y mdulo 11 en 1. El primer x que
cumple todas las condiciones es 92 880, y 92880
2
N 10233601, que resulta ser el cuadrado de
3 199. Hemos encontrado la solucin x 92880 e y 3199, que entrega la factorizacin:
8616460799 (x y)(x +y) 89681 96079
9.3. FACTORIZAR 157
La importancia del nmero de marras es que el economista y lgico W. S. Jevons lo mencion en un
conocido libro en 1874 [148], diciendo que a pesar que es muy fcil multiplicar dos nmeros, proba-
blemente nunca nadie salvo l mismo conocera sus factores. Sin embargo, acabamos de demostrar
que Fermat podra haberlo factorizado en unos minutos. El punto central de que factorizar es difcil
es correcto, siempre que los factores no sean tan cercanos.
Un algoritmo curioso es rho de Pollard [232], que tiende a ser til para factores ms bien peque-
os. La idea bsica viene de lo que se conoce como la paradoja del cumpleaos (birthday paradox
en ingls): En el ao hay 365 das, si tomamos una persona la probabilidad que el cumpleaos de
una segunda no coincida con la primera es 11/365, para que el de una tercera no coincida con
ninguno de los dos anteriores es 12/365, y as sucesivamente. La probabilidad que en un grupo de
n personas no hayan cumpleaos repetidos es:
P(n)

1kn1
_
1
k
365
_
Resulta que para n 24 la probabilidad de que hayan dos (o ms) personas con el mismo cum-
pleaos ya es mayor a 1/2, cuando intuitivamente uno pensara que se requieren muchas ms. Una
manera alternativa de analizar el problema es considerar que hay n(n+1)/2 pares de personas, basta
que uno de los pares coincida, con lo que debiera ser suciente que n(n +1)/2 365 para que se
produzca una coincidencia. Esto se traduce en n
_
2 365 27. Ac lo que se busca es generar
rpidamente una gran coleccin de pares mdulo N y buscar coincidencias mdulo un primo que
divide a N. Un razonamiento como el anterior lleva a pensar que si p
1
es el menor primo que divide
a N con O(p
1
/2
1
) pares hallaremos una coincidencia, que lleva a determinar p
1
.
El nombre viene de considerar una secuencia eventualmente peridica en la cual hay ele-
mentos antes del primero que se repite (la cola de la letra ), y luego un ciclo de largo (la cabeza
de ). Vale decir, sea f : N {0, 1, . . . , m1} una funcin, y consideremos la secuencia denida
por x
i +1
f (x
i
). Entonces hay y tales que x
0
, x
1
, . . . , x

, . . . , x
+1
son todos diferentes, pero
x

x
+
. Estas relaciones denen y . Tenemos 0 <m, 0 <m y +m. As, x
j
x
k
con
j >k si y slo si j k es mltiplo de y k ; con esto x
2k
x
k
si y slo si k es mltiplo de y k .
Vale decir, hay un k > 0 con k + tal que x
k
x
2k
, lo que lleva al algoritmo de Floyd [105]
(ver 9.5) para detectar ciclos.
Algoritmo 9.5: Detectar ciclos (Floyd)
x x
0
;
y x
0
;
repeat
x f (x) ;
y f ( f (y)) ;
until x y;
Sea ahora f (x) un polinomio con coecientes enteros, p un factor primo de N, y consideremos
las secuencias denidas con un inicio A arbitrario:
x
0
y
0
A
x
m+1
f (x
m
) m od N
y
m+1
f (y
m
) m od p
Por el teorema chino de los residuos y
m
x
m
(m od p). La secuencia y
m
debe repetirse con un
perodo a lo ms p, digamos y
k+
y
k
. Entonces x
k+
x
k
(m od p), y gcd(N, x
k+
x
k
) da unfactor
158 CAPTULO9. ALGORITMOS ARITMTICOS
de N. Funciones de la forma f (x) (x +) m od N no sirven, ya que con ellas x
k+
x
k
(m od p)
exactamente cuando x
k+
x
k
(m od N). Se usa lo siguiente ms simple, f (x) (x
2
+1) m od N; y
si esto no tiene xito, se intenta f (x) (x
2
+c) m od N con c /0 y c /2 (porque estos caen en un
ciclo de unos al toparse con x 1 (m od N)). Todo esto lleva al algoritmo 9.6. Brent [42] da una
Algoritmo 9.6: de Pollard
function factor(N)
Elegir A al azar
x A
y A
repeat
x f (x)
y f ( f (y))
d gcd([x y[, N)
until d /1
if d N then
return Fall
else
return d [ N
end
variante usando un algoritmo de deteccin de ciclos ms rpido.
El mtodo descrito, con f (x) x
2
+1 y x
0
42, factoriza 16843009 257 65537 como muestra
el cuadro 9.4.
i x
i
x
2i
gcd
0 42
1 1 765 3 115 226 1
2 3 115 226 4 805 758 1
3 11 262 448 4 817 235 1
4 4 805 758 9 598 062 1
5 7 583 675 11 476 471 1
6 4 817 235 2 534 841 1
7 11 064 323 443 204 1
8 9 598 062 6 015 649 1
9 6 959 372 6 454 177 1
10 11 476 471 15 725 109 1
11 3 760 417 9 439 232 1
12 2 534 841 574 959 247
Cuadro 9.4 Ejemplo de Pollard
Otra tcnica es el mtodo p 1 de Pollard [231]. Recordemos el teorema de Fermat para p primo
y p/[ a:
a
p1
1 (m od p)
Podemos elevar esta congruencia a una potencia cualquiera k:
a
k(p1)
1 (m od p)
9.4. FACTORIZACINCONCURVAS ELPTICAS 159
Vale decir, p [ a
k(p1)
1. Consideremos ahora el entero N a factorizar y p un factor primo (descono-
cido) de N y un valor M a determinar. Si p 1 [ M tenemos:
p [ (a
M
m od N 1)
y gcd(a
M
m od N 1, N) dar un factor no trivial de N. La idea es elegir a pequeo y hacer M el
producto de muchos primos (ojal ms bien chicos). Si los factores de p 1 estn en este conjunto,
tendremos xito.
Otra coleccin de mtodos, ms apropiados para computacin distribuida y nmeros grandes,
se deben a una idea de Maurice Kraitchik en los 1920s. Supongamos que podemos encontrar la
congruencia:
a
2
b
2
(m od N) a /b (m od N)
Entonces N [ (a
2
b
2
), pero a
2
b
2
(a +b)(a b), y ninguno de estos dos factores son divisibles
por N, por lo que si N pq, entonces p divide a uno de los factores y q al otro, y gcd(a +b, N) y
gcd(ab, N) sonfactores no triviales de N. La manera de obtener esta ecuacines construir una gran
coleccin de relaciones de la forma a
2
q (m od N) en las cuales q es pequeo, e intentar factorizar
tales q, en particular en trminos de primos chicos. Para la mayora de los q esto no funcionar, pero
bastan unos pocos que se puedan factorizar completamente. Si consideramos la expresin a
2
q
(m od N), el lado izquierdo ya es un cuadrado, y lo hemos factorizado. Buscamos otros q factorizados
que completen las potencias de los primos factores de q a pares, o sea, tenemos:
a
2
1
q
1
(m od N)
a
2
2
q
2
(m od N)
.
.
.
a
2
n
q
n
(m od N)
(a
1
a
2
. . . a
n
)
2
q
1
q
2
q
n
(m od N)
donde conocemos b
2
q
1
q
2
q
n
, y esto entrega una factorizacin de N por lo anterior, claro que la
factorizacinpuede ser trivial. La bsqueda de los q y sufactorizacinentrminos de unconjunto de
primos predenidos puede distribuirse; para factorizar luego planteamos un sistema de ecuaciones
lineales mdulo 2 buscando una combinacinde q que sea uncuadrado. Hay varias variantes de esta
idea general, que dieren en la estrategia usada para buscar cuadrados pequeos (y ojal fcilmente
factorizables) para combinar. No entraremos en ese detalle ac, la historia se describe en [237] con
mltiples referencias.
9.4. Factorizacin con curvas elpticas
Un mtodo reciente es la factorizacin por curvas elpticas de Lenstra [192], basado en grupos
de curvas elpticas (ver la seccin 5.3.1). Es un mtodo cuyo tiempo de ejecucin depende del factor
primo ms chico, por lo que se usa para eliminar factores pequeos para luego ir a un mtodo
general con los factores remanentes. Primero, si se cumple:
y
2
x
3
+ax +b (m od n) (9.4)
por el (padre del) teorema chino de los residuos (corolario 6.6) tambin se cumple para los factores
primos de n. En el fondo, estamos efectuando clculos simultneos en los grupos elpticos para los
factores primos de n, y en alguno de ellos atinaremos al orden de P y obtenemos un factor de n. Por
160 CAPTULO9. ALGORITMOS ARITMTICOS
el teorema de Hasse [132134] el orden del grupo sobre Z
p
est entre p +12
_
p y p +1+2
_
p, no
depende directamente de p. En este sentido, este mtodo es un renamiento de mtodo p 1, que
busca detectar el orden de un elemento en Z

p
(pero all el orden del grupo es p 1, y el mtodo slo
funciona si p 1 tiene factores chicos).
Calcularemos mltiplos kP para diversos valores de k para un punto P de la curva usando la
suma del grupo de la curva elptica, ecuaciones (5.13) y (5.14). Para valores grandes de k se puede
usar un algoritmo afn al para calcular potencias, algoritmo 9.3, pero como en estos grupos calcular
restas es tan rpido como sumar se pueden usar variantes que las incluyen (por ejemplo, calcular
7P 2(2(2P)) P es ms rpido que calcular 7P P+2P+2(2P)).
Las frmulas de suma en el grupo involucran la pendiente s, que requiere un inverso multi-
plicativo mdulo n. Si s u/v, con v 0 (m od n), el punto resultante es el punto en el innito, el
elemento neutro del grupo. Si es gcd(v, n) / 1 y gcd(v, n) / n, no se obtiene un punto vlido en la
curva, pero s un factor no trivial de n.
El algoritmo contempla los siguientes pasos:
1. Elija una curva elptica sobre Z
n
, de la forma 9.4 y unpunto al azar P sobre ella. Una posibilidad
es elegir P (x, y) con coordenadas al azar diferentes de cero mdulo n, luego tomar un valor
a /0 (m od n) y calcular:
b (y
2
x
3
ax) m od n
2. Calcule mP para m un producto de muchos factores chicos, por ejemplo el producto de los
primeros primos elevados a potencias chicas o B! para un B pequeo. Si en el proceso halla
un factor de n, detngase. Si no halla factores o llega al punto en el innito, intente con otra
curva.
Hay maneras de acelerar los clculos usando curvas especiales o mediante descripciones alter-
nativas de los puntos o las curvas, ver discusiones de implementacin en [34]. Mtodos relacionados
usan grupos de curvas hiperelpticas, basadas en curvas de la forma y
2
f (x) para polinomios f (x)
de grado mayor a 4, ver [66].
9.5. Determinar primalidad
Para determinar si un nmero es primo, el teorema de Fermat es una herramienta poderosa. Por
ejemplo, para 2
32
+1 4294967297 mediante 32 elevaciones al cuadrado mdulo 2
32
+1 obtenemos
que:
3
2
32
3029026160 (m od 2
32
+1)
lo que dice que 2
32
+1 no es primo. Claro que no da ninguna luz sobre sus factores. En general,
para N compuesto es posible hallar a tal que 0 <a <N tal que a
N1
/1 (m od N), y la experiencia
muestra que tales a se hallan rpidamente. Hay casos raros en los cuales frecuentemente se da
a
N1
1 (m od N), pero entonces N tiene un factor menor que
3
_
N, como veremos ms adelante.
Para efectos prcticos basta considerar 3
N1
m od N.
La forma bsica de demostrar que N es primo para N grande es hallar una raz primitiva r de
N. Por suerte, las races primitivas de nmeros primos son bastante numerosas. De la discusin de
grupos cclicos de orden m sabemos que las potencias relativamente primas a m del generador del
grupo tambin son generadores, con lo que hay (p 1) races primitivas del primo p.
Consideremos p primo, con lo que hay una raz primitiva mdulo p, llammosle r . Tomemos
k tal que 0 k < p, sabemos que si ord
p
(r
k
) n entonces kn es el mnimo comn mltiplo de k y
9.5. DETERMINAR PRIMALIDAD 161
p 1, y ser n p 1 exactamente cuando gcd(k, p 1) 1. Si x es raz primitiva mdulo N, para
todo d que divide a N 1 debe ser:
x
(N1)/d
/1 (m od N)
porque esto asegura que ord
N
(x) N1. En todo caso, basta encontrar un x para cada primo p que
divide a N 1, el producto de todos ellos ser una raz primitiva. Los clculos involucrados (salvo
posiblemente la factorizacin de N 1) son simples de efectuar con los algoritmos discutidos antes.
Esto ya lo vimos en conexin con el algoritmo Dife-Hellman en la seccin 10.2. El cuello de botella
es factorizar N 1.
En la prctica, se usan mtodos que no garantizan que el nmero es primo, pero que tienen alta
probabilidad de detectar no-primos. El ms usado actualmente es el test de Miller-Rabin [207, 240].
Monier [210] compara en detalle dos algoritmos similares, y concluye que el de Miller-Rabin es ms
eciente en todos los casos.
Algoritmo 9.7: Prueba de primalidad de Miller-Rabin
function is_prime(N)
s 0
d N 1
while 2 [ d do
s s +1
d d/2
end
for i 1 to k do
Elija a al azar en el rango [2, N 2]
x a
d
m od N
if x 1 o x N 1 then
continue
end
for r 1 to s 1 do
x x
2
m od N
if x 1 then
return Compuesto
else if x N 1 then
break
end
end
if x /N 1 then
return Compuesto
end
end
return Probablemente primo
El test de Miller-Rabin se basa en la observacin que mdulo un primo p slo 1 y 1 pueden
ser races cuadradas de 1 (el polinomio x
2
1 puede tener a lo ms dos ceros en el campo Z
p
,
mientras por el teorema chino de los residuos en Z
n
con n compuesto hay un par diferente por
cada factor primo de n). Si p es un primo impar, podemos escribir p 1 2
s
d, con d impar. Con
esta notacin, del teorema de Fermat para a / 0 (m od p) tenemos que a
2
s
d
1 (m od p). Por la
observacin anterior sobre races cuadradas en Z
p
, sacando raz cuadrada sucesivamente partiendo
162 CAPTULO9. ALGORITMOS ARITMTICOS
de a
p1
1 debemos llegar a que a
d
1 o que alguno de los a
2
r
d
1 para 1 r < s. El test de
Miller-Rabinse basa enel contrapositivo de esto. Puede demostrarse que a lo ms 1/4 de los valores a
para un nmero compuesto mienten, con lo que repitiendo el proceso sucientes veces podemos
tener gran conanza de que el nmero realmente es primo. El algoritmo 9.7 repite la prueba k veces.
9.6. Nmeros de Carmichael
Queda la inquietud planteada antes sobre nmeros para los cuales falla el teorema de Fermat,
en el sentido que a
n1
1 (m od n) se cumple con gcd(a, n) 1, pero n no es primo. A tal nmero se
le llama pseudoprimo (de Fermat conbase a). El caso extremo lo danlos nmeros de Carmichael [50],
pseudoprimos de Fermat para todos los a relativamente primos a ellos.
Teorema 9.1. Todo nmero de Carmichael n es libre de cuadrados, y para p primo, si p [ n entonces
p 1 [ n 1.
Demostracin. Consideremos un nmero de Carmichael n p
k
1
1
p
k
2
2
p
k
r
r
donde los p
i
son primos
distintos, y un a relativamente primo a n. Del padre del teorema chino de los residuos (corolario 6.6)
sabemos que:
Z
n

Z
p
k
1
1
Z
p
k
2
2
Z
p
kr
r
con lo que a
n1
1 (m od n) si y slo si a
n1
1 (m od p
k
i
i
) para todos los i . Esto a su vez para el
primo p slo puede ser si ord
p
k (a) [ n 1. Sabemos por el teorema 7.24 que si p es un primo impar,
hay races primitivas mdulo p
k
para todo k, vale decir, hay elementos de orden (p) p
k1
(p 1).
(En realidad, basta con el teorema 7.21, ya que si un elemento es de orden p(p1) mdulo p
2
, tendr
que ser al menos de ese orden mdulo p
k
; en particular, p divide a su orden.) Pero si p [ n, entonces
p no puede dividir a n1, y n no puede tener factores primos repetidos. Ahora, si n fuera par y p un
primo impar que divide a n, tendramos que p 1 [ n 1, un nmero par dividiendo a uno impar, lo
que es imposible.
Esto fue demostrado por Korselt en 1899 [181], los nmeros llevan el nombre de Carmichael por
ser el primero de hallar uno.
Supongamos ahora que n pq, con p y q primos tales que p <q. Entonces debe ser q1 [ pq1,
pero esto es q 1 [ p(q 1) +(p 1), o sea q 1 [ p 1, tambin imposible. En resumen, un nmero
de Carmichael tiene al menos tres factores primos diferentes, todos impares.
Hay innitos nmeros de Carmichael [6], los primeros son:
561 3 11 17
1105 5 13 17
1729 7 13 19
El primero con cuatro factores primos es:
41041 7 11 13 41
10 Criptografa
La importancia prctica actual de la teora de nmeros est en sus aplicaciones a la criptografa,
algunas de las cuales describiremos ac. Es un rea muy amplia, hay algunos detalles adicionales
sobre la teora (y mucho sobre las aplicaciones prcticas) en [8]. Matt Curtin [68] discute signos de
alerta sobre criptografa poco conable. Bernstein, Lange y Schwabe [35] describen una biblioteca
simple de usar para criptografa prctica, y discuten algunos de los ataques recientes basados en la
operacin de programas criptogrcos.
Las aplicaciones de criptografa suelen discutirse en trminos de personajes A (tambin llamada
Alice) y B (apodado Bob) que desean intercambiar mensajes. A veces aparecen otros actores, comoC
(alias Charlie) o E (Eve), quien desea interceptar el trco o intervenirlo de alguna forma (eavesdrop,
en ingls), por ejemplo inyectando mensajes falsicados o modicando mensajes. Un divertido
resumen del tema, comentando las srdidas vidas de estos personajes, es la conferencia de John
Gordon [115].
No entraremos en ms detalles en este amplio y complejo campo, nuestro inters es slo mostrar
aplicaciones de la teora de nmeros vista hasta ac. Una referencia bsica es el manual de Menezes
y otros [205], el texto de Anderson [8] trata seguridad desde el punto de vista de ingeniera e incluye
un captulo accesible sobre el tema, mientras Schneier y coautores se concentran en aplicaciones
prcticas [96, 252].
Debe tenerse cuidado, se suele confundir la criptografa con seguridad. La criptografa moder-
na es indispensable en muchas aplicaciones, pero es slo una de una variedad de herramientas
requeridas para la seguridad computacional.
10.1. Nomenclatura
La idea central de la criptografa es ocultar el contenido de un mensaje, de forma que slo
partes autorizadas puedan leerlo. Se habla de un mensaje en texto claro (en ingls plaintext) y su
versin en texto cifrado (en ingls cyphertext). Para nuestros efectos, podemos considerar los textos
como nmeros grandes (por ejemplo, tomando el texto claro codicado en UTF-8), posiblemente
dividido en bloques de tamao cmodo. La transformacin de texto claro a texto cifrado se lleva a
cabo mediante una funcin de cifrado C, que toma el texto claro m y una clave k para producir el
respectivo texto cifrado c:
c C
k
(m)
Para descifrar el texto se usa la funcin de descifrado D con clave k
t
:
mD
k
t (c)
En el caso que k k
t
, se habla de un sistema simtrico o de clave privada (claramente, en esta
situacin debe mantenerse secreta la clave). En el caso que k /k
t
, obviamente habr una relacin
163
164 CAPTULO10. CRIPTOGRAFA
entre las dos claves. Particularmente interesante es el caso en el que conociendo una de las dos es
muy difcil obtener la otra. En tal caso, es perfectamente posible publicar k, manteniendo secreta
k
t
. A estos sistemas se les llama de clave pblica. Una aplicacin interesante de sistemas de clave
pblica es rmas digitales: Dado un mensaje m, se calcula una funcin de hash h(m) del mensaje, y
se enva m junto con f D
k
t (h(m)); quien lo recibe puede aplicar C
k
( f ), y comprobar que obtiene
h(m). Si la funcin de hash es tal que sea muy difcil construir un mensaje distinto que d el mismo
valor de la funcin, esto certica que nicamente quien conoce k
t
puede originar la rma.
El gran problema con los sistemas simtricos es que las partes deben tener algn canal de comu-
nicacin seguro mediante el cual distribuir las claves. Los sistemas de clave pblica no tienen esta
dicultad, pero por otro lado son muchsimo ms demandantes en computacin que los sistemas
simtricos tradicionales. Luego lo que se hace normalmente es generar una clave para un sistema
simtrico tradicional al azar, y luego usar un sistema de clave pblica para enviarle esta clave al
receptor.
10.2. Protocolo Dife-Hellman de intercambio de claves
En rigor, el protocolo no sirve para intercambiar claves sino para acordar una clave entre las
partes, pero el nombre es el tradicional. El algoritmo que discutiremos es de amplio uso [51], forma
la base de mucho de lo que es seguridad en Internet.
Supongamos que Alice y Bob desean acordar una clave K, usando un medio de comunicacin
que no es seguro. La idea bsica es que Alice elige un primo p y una raz primitiva g mdulo p.
Ambos valores puede incluso publicarlos, mantenerlos en secreto no es necesario para la seguridad
del esquema y pueden perfectamente reutilizarse muchas veces. Para generar una clave, Alice elige
un valor a (que mantiene en secreto), y enva A g
a
m od p a Bob. A su vez, Bob elige b (que
tambin mantiene en secreto), y enva B g
b
m od p a Alice. Ahora Alice calcula K B
a
m od p
g
ab
m od p, y Bob obtiene K A
b
m od p. Este valor puede usarse como clave por una sesin y
descartarse despus. El punto es que con los algoritmos conocidos actualmente si p es un primo
de unos 300 dgitos, y a y b son nmeros de 100 dgitos es imposible hallar a si slo se conocen p,
g y g
a
m od p. Hay que tener cuidado con primos tales que p 1 tiene slo factores primos chicos,
para ese caso hay algoritmos razonablemente ecientes que dan a. Por esta razn suele elegirse
un primo de Sophie Germain, vale decir, uno de la forma 2q +1 con q primo a su vez. Conviene
trabajar en el subgrupo de orden q, dado que de otra forma el valor de g
a
m od p revela el ltimo bit
de a (hay formas ecientes de determinar si un nmero es o no un cuadrado en Z
p
). Est claro que
exactamente lo mismo puede hacerse si g es un generador de algn otro grupo cclico. La seguridad
del esquema depende de la dicultad de calcular logaritmos discretos, vale decir, dados g y g
a
calcular a.
Sabemos (ver seccin 7.3) que hay (p 1) races primitivas mdulo p, con lo que son relati-
vamente numerosas y es razonable buscar una raz primitiva va intentar valores al azar. Para un
ejemplo numrico, tomemos p 601, conlo que p1 2
3
35
2
, y hay (p1) 160 races primitivas.
Una raz primitiva g deber cumplir:
g
600
/2
/1 (m od 601) g
600
/3
/1 (m od 601) g
600
/5
/1 (m od 601)
Intentando con 31 tenemos:
31
300
600 (m od 601) 31
200
1 (m od 601) 31
120
432 (m od 601)
La teora anterior dice que an requerimos algn valor u tal que u
200
/ 1 (m od 601) (ya tenemos
cubiertas las potencias de 2 y 5, falta 3), algunos intentos dan:
357
200
576 (m od 601)
10.3. SISTEMA DE CLAVE PBLICA DE RIVEST, SHAMIR Y ADLEMAN(RSA) 165
con lo que g 31 357 m od 601 249 es una raz primitiva mdulo p 601.
Si ahora Alice elige a 17, enva 249
17
m od 601 73 a Bob, quien a su vez elige b 58 y en-
va 249
58
m od 601 149 a Alice. Ambos estn ahora en condiciones de calcular K: Alice calcula
149
17
m od 601 366, y Bob obtiene 73
58
m od 601 366.
Este ejemplo muestra que se requiere la factorizacin completa de p 1 para obtener g, razn
por la que es imprescindible poder reusar estos valores.
10.3. Sistema de clave pblica de Rivest, Shamir y Adleman (RSA)
Es el sistema de clave pblica ms usado en la actualidad [245]. Se eligen dos nmeros primos p
y q, y se calcula el mdulo n pq. Se elige adems un exponente e, y la clave pblica es el par (n, e).
Para cifrar con RSA se usa:
c m
e
m od n
Conociendo p y q podemos generar la correspondiente clave privada (n, d) tal que:
c
d
m od n
_
m
e
_
d
m od n m
Por el teorema de Euler, si gcd(m, n) 1 es m
(n)
1 (m od n). Si de 1 (m od (n)), entonces
c
d
m
de
m (m od n). Ms adelante discutiremos cmo elegir los parmetros del caso.
Podemos elegir el exponente e como un nmero relativamente pequeo (recurdese que esta-
mos interesados en mdulos grandes; hoy se recomienda usar mdulos de 4 096 bits, unos 1 300 d-
gitos decimales) de forma que sea cmodo elevar a esa potencia al cifrar, pero el exponente de
descifrado resultar ser un nmero muy grande. Por el teorema chino de los residuos podemos
calcular mdulos p y q, o sea tenemos realmente:
c m
e
(m od p)
c m
e
(m od q)
Con esto requerimos que el exponente de descifrado d cumpla:
ed 1 (m od (p 1))
ed 1 (m od (q 1))
Para cumplir con ambas, por el teorema 5.11 basta que:
ed 1 (m od lcm(p 1, q 1))
Hoy tpicamente se usan claves (mdulos) de 4096 bits. Los primos p y q deben elegirse de
forma de no ser demasiado cercanos, y ninguno de p 1, q 1, p +1 y q +1 debe tener muchos fac-
tores primos chicos, ya que de ser as n resulta relativamente fcil de factorizar. Puede demostrarse
adems [289] que si d <n
1
/4
/3 es muy fcil recuperar d conociendo slo n y e.
Para elegir e, una consideracin importante es que sea relativamente pequeo y que su repre-
sentacin binaria tenga pocos unos, de forma que el clculo de la potencia resulte simple (ver el
algoritmo 9.3). Originalmente se recomendaba e 3, pero exponentes chicos hacen posibles ciertos
ataques que consideraremos luego. Hoy se recomienda e 2
16
+1 65537 (un primo de Fermat, de
la forma 2
2
k
+1). Adems de ser primo, este exponente tiene la virtud de tener slo dos unos en su
expansin binaria; elevar a esta potencia involucra 5 multiplicaciones, 4 veces elevar al cuadrado y
una multiplicacin adicional por la base
166 CAPTULO10. CRIPTOGRAFA
No hay similar control sobre d, el exponente para descifrar. Usar el mnimo comn mltiplo
lcm(p 1, q 1) en vez de (n) disminuye el valor, pero no signicativamente. Podemos acelerar el
proceso usando el teorema chino de los residuos, teorema 6.7. Precalculamos valores d
1
, d
2
, q
t
(as,
la clave privada es realmente (p, q, d
1
, d
2
, q
t
)), donde se cumplen las siguientes relaciones:
ed
1
1 (m od (p 1)) ed
2
1 (m od (q 1)) qq
t
1 (m od p)
Dado el mensaje cifrado c se obtiene el mensaje m mediante:
m
1
c
d
1
m od p
m
2
c
d
2
m od q
h ((m
1
m
2
) q
t
) m od p
mm
2
+qh
Los clculos de m
1
y m
2
se pueden efectuar en paralelo, e involucran exponentes y mdulos mucho
menores que en la formulacin original, lo que hace ms rpido el clculo an si es secuencial.
Est claro que exactamente la misma idea es aplicable a mdulos que son productos de ms de
dos primos, aunque en la prctica se usan slo dos (mientras menos factores tenga el mdulo, ms
difcil es factorizarlo).
La seguridad del sistema se basa en lo complejo que resulta factorizar nmeros grandes, aunque
hay algunas otras consideraciones [39, 89, 249]. El rcord actual (a comienzos del 2012) de facto-
rizacin de nmeros generales es RSA-768 [168], un nmero de 768 bits (232 dgitos decimales)
consumiendo el equivalente aproximado de 2 000 aos de procesamiento en un Opteron a 2,2 GHz.
Resulta que conocer d da una manera eciente de factorizar n. Podemos calcular k de1 2
s
r
con r impar y s >0. Entonces a
k
1 (m od n) para todo a, y a
k/2
es raz cuadrada de 1 mdulo n. Por
el teorema chino de los residuos, 1 tiene cuatro races cuadradas mdulo n pq: son x uv donde
u 1 (m od p) y v 1 (m od q). Como en la prueba de primalidad de Miller-Rabin, eligiendo a al
azar e intentando a
r
m od n, a
2r
m od n, . . . , a
k/2
m od n rpidamente hallaremos una raz cuadrada
x no trivial de 1, y obtenemos una factorizacin va gcd(x 1, n).
Un uso tpico de RSA es enviar el mismo mensaje m a un grupo de k personas, donde la persona
i usa clave pblica (n
i
, e
i
). Por simplicidad, supongamos e
i
3. Adems, los n
i
son relativamente
primos a pares (en caso contrario, factorizar algunos es trivial). Recolectando tres mensajes cifrados
c
i
m
3
m od n
i
, va el teorema chino de los residuos podemos calcular c
t
m
3
(m od n
1
n
2
n
3
), y
como m<n
i
esto da c
t
m
3
en Z, y basta calcular una raz cbica. Un ataque afn [107] funciona si
se tienen varios mensajes relacionados por una funcin lineal conocida (por ejemplo, si se rellena
unmensaje corto agregando bits jos o conocidos) cifrados conel mismo exponente. La complejidad
del ataque es cuadrtico en e y logn. Otro ataque [64] es aplicable cuando se conocen e mensajes
cifrados con el mismo mdulo relacionados por polinomios conocidos. Por esto se sugiere usar
e 2
16
+1 65537 (un primo de Fermat).
10.3.1. Firma digital usando RSA
Para rmar un mensaje usando RSA, se elige una funcin de hash criptogrca h. Se enva el
mensaje m junto con h(m)
d
m od n, cosa que slo puede hacer quien conozca el exponente secreto
d. Quien recibe el mensaje puede vericar la rma elevando al exponente pblico e mdulo n y
conrmando que el resultado coincide con el valor de h(m).
10.4. El estndar de rma digital (DSS)
El Digital Signature Algorithm (DSA) es un estndar del gobierno federal de Estados Unidos de
Norteamrica para rmas digitales, a ser usado en el Digital Signature Standard (DSS), estndar
10.4. EL ESTNDAR DE FIRMA DIGITAL (DSS) 167
FIPS 186 [98], adoptado en 1993. Es una modicacin del esquema de ElGamal [93], Anderson y
Vaudenay [7] discuten algo de su diseo y algunos ataques. Hubo una revisin menor en 1996 como
FIPS 186-1 [99], fue expandido en 2000 (FIPS 186-2) y se rehizo completo en 2009, especicando
algoritmos adicionales (FIPS 186-3 [100]). El algoritmo DSAtiene dos fases, enla primera se eligenlos
parmetros del algoritmo, que pueden compartirse entre diferentes usuarios; mientras la segunda
calcula claves pblicas y privadas para un usuario individual. Con la clave privada se rma un
documento, y con la correspondiente clave pblica se verica que la rma es genuina.
10.4.1. Seleccin de parmetros
Se efectan las siguientes operaciones:
Se elige una funcin de hash criptogrca aprobada H (la versin original de DSA usaba SHA-
1, actualmente tambin se especica SHA-2 [97]). La salida de H puede truncarse al largo de
la clave.
Decida largo de clave, el par (L, N), determinante para la seguridad del esquema. La versin
actual [100] especica pares (1024, 224), (2048, 224), (2048, 256) y (3072, 256).
Elija un primo q de N bits. Ntese que N debe ser menor o igual al largo de la salida de H.
Elija un primo p de L bits tal que p 1 es mltiplo de q.
Elija g, un nmero cuyo orden multiplicativo mdulo p es q. Esto se obtiene fcilmente como
h
(p1)/q
para 1 <h <p 1 arbitrario, intentando nuevamente si el resultado es 1. La mayora
de los h producen lo buscado, suele simplemente usarse h 2.
Los parmetros (p, q, g) pueden compartirse.
10.4.2. Generar claves para un usuario
Dado un conjunto de parmetros, se calculan las claves pblica y privada para un usuario.
Elija x al azar, donde 0 <x <q.
Calcule y g
x
m od p.
La clave pblica es (p, q, g, y), la clave privada es x.
10.4.3. Firmar y vericar rma
Sea m el mensaje. Para rmarlo, se procede como sigue:
Genere un valor k al azar para este mensaje, donde 0 <k <q
Calcule r (g
k
m od p) m od q, en el improbable caso que resulte r 0 elija un nuevo valor de
k
Calcule s (k
1
(H(m) +x r )) m od q. En el improbable caso que s 0, elija un nuevo valor
de k
La rma es (r, s).
Para vericar la rma, se procede como sigue. Si no se cumplen 0 <r <q y 0 <s <q, la rma se
rechaza. Enseguida:
168 CAPTULO10. CRIPTOGRAFA
Calcule w s
1
m od q
Calcule u
1
H(m) w m od q y u
2
r w m od q
Calcule v ((g
u
1
y
u
2
m od p) m od q)
La rma es vlida si v r .
10.4.4. Correctitud del algoritmo
El algoritmo es correcto, en el sentido que quien verica siempre acepta una rma vlida.
Primeramente, por el teorema de Fermat g
q
h
p1
1 (m od p); como g > 1 y q es primo, el
orden de g es q. Al rmar se calcula:
s k
1
(H(m) +xr ) m od q
por lo que:
k H(m) s
1
+xr s
1
H(m) w+xr w (m od q)
Como g es de orden q mdulo p, tenemos:
g
k
g
H(m)w
y
r w
g
u
1
y
u
2
(m od p)
y nalmente:
r (g
k
m od p) m od q (g
u
1
y
u
2
(m od p)) m od q v
10.4.5. Ataques a DSS
Si tenemos dos rmas efectuadas con el mismo k, es aplicable lo siguiente [187] en Z
q
:
r g
k
m od p (10.1)
S
a
k
1
(H(M
a
) +x r ) (10.2)
S
b
k
1
(H(M
b
) +x r ) (10.3)
De hallar dos rmas con el mismo r , sabemos que se repiti k; con r de (10.2) y (10.3) podemos
despejar k y en consecuencia calcular x. Un ataque similar es aplicable si se conocen algunos bits
de k, usando ms rmas.
El requerimiento de que k se elija al azar es crtico. Por ejemplo, el ampliamente publicitado
problema de seguridad en Debian restringi el nmero de posibles k a 32767, lo que hace viable
intentarlos todos para recuperar la clave. Ntese que esto no depende de lo seguro que haya sido el
proceso de generarla, un nico uso descuidado la revela.
10.5. Otras consideraciones
Los algoritmos criptogrcos basados en teora de nmeros usan nmeros primos como partes
de sus claves. En el caso de Dife-Hellman, el primo usado puede publicarse, en caso de RSA es
clave que los factores del mdulo permanezcan secretos (deben generarse al azar, haciendo que sea
10.6. CRIPTOGRAFA DE CURVAS ELPTICAS 169
difcil adivinarlos). Sin embargo, estudios recientes [137, 191] han mostrado que una fraccin no
despreciable de las claves usadas en la prctica comparten factores, lo que las hace vulnerables.
Para determinar factores comunes entre las claves, estos trabajos usan un truco debido a Dan
Bernstein [33], quien luego da una versin mejorada [32]. Supongamos el conjunto de mdulos
m
1
, m
2
, . . . , m
n
. En el caso de [191] son 4,7 millones de mdulos de 1024 bits, y calcular los m-
ximos comunes divisores de todos los pares para detectar factores comunes est fuera de cues-
tin. Pero se puede proceder calculando primero M m
1
m
2
m
n
, y luego para cada m
i
calcular
gcd(m
i
, M m od m
2
i
). Esto involucra un clculo largo inicial para calcular M, luego una operacin
costosa al calcular M m od m
2
i
y determinar un mximo comn divisor para cada mdulo en el
conjunto. Estas operaciones son razonablemente rpidas de efectuar en un computador comn.
10.6. Criptografa de curvas elpticas
Recientemente se han introducido variantes de algunos mtodos criptogrcos que en vez de
trabajar en el grupo Z

p
usan un grupo de una curva elptica [131]. La razn de usar curvas elpticas
es que el problema de obtener k dados Q kP y P en el grupo de una curva elptica parece ser
mucho ms difcil de resolver que el problema equivalente en Z

p
. Eso s que la seleccin de la curva
y los dems parmetros no son triviales, por lo que hay curvas sugeridas [216, 256, 257], mientras
paranoicos terminales generarn sus propias curvas y parmetros. Para determinar el orden del
grupo hay un algoritmo razonablemente eciente ideado por Schoof [255], con mejoras de Elkies
y Atkin que slo circulan como borradores, Dewaghe [73] describe la versin usada en la prctica.
En [90] se describe el proceso para generar curvas en detalle (y se dan curvas alternativas para uso
criptogrco). En 1997 Certicom public una coleccin de desafos [54], discusin de algoritmos
relevantes y estimaciones del trabajo para resolverlos se dan en [17], avances concretos a nes del
2009 respecto del menor problema an sin resolver en 2012 se discuten en [18].
Los algoritmos que siguen suponen que se acuerdan parmetros de dominio: El campo F, los
parmetros a y b de la curva, un generador g del grupo, el orden n de g (generalmente elegido como
un primo), y el cofactor h (el orden del grupo de la curva dividido por el orden de g, conviene que
sea pequeo, menor a 4 y ojal 1).
10.6.1. Intercambio de claves
Es usar la idea de Dife-Hellman (ver la seccin 10.2) en una curva elptica. En ingls le llaman
Elliptic Curve Dife-Hellman, abreviado ECDH. El funcionamiento es similar al algoritmo clsico.
Para generar una clave compartida entre Alice y Bob proceden como sigue:
1. Alice y Bob tienen claves privadas d
A
y d
B
(enteros en el rango 1 a n 1), y calculan Q
A
d
A
g
y Q
B
d
b
g
2. Intercambian Q
A
y Q
B
a travs del medio inseguro
3. Alice calcula K d
A
Q
B
, mientras Bob obtiene este valor como K d
B
Q
A
. Dado K (x
k
, y
k
),
la mayora de los protocolos usan x
k
para derivar la clave a ser usada.
Una variante resistente a ciertos ataques es FHMQV [251].
10.6.2. Firmas digitales
Esta es una variante del algoritmo DSA (seccin 10.4). Alice tiene una clave privada d
A
(un entero
al azar en el rango 1 a n1) y su clave pblica Q
A
d
A
g. Sea L
n
el largo en bits del orden n del grupo.
Si Alice quiere enviar un mensaje m rmado a Bob, procede como sigue:
170 CAPTULO10. CRIPTOGRAFA
1. Calcula e h(m), donde h es una funcin de hash criptogrca, y sea z los L
n
bits ms signi-
cativos de e
2. Elija un entero k al azar entre 1 y n 1
3. Calcule r x
1
m od n, donde (x
1
, y
1
) kg. Si r 0, vuelva al punto 2.
4. Calcule s k
1
(z +rd
A
) (m od n). Si s 0, vuelva al punto 2.
La rma es el par (r, s) resultante.
Para vericar la rma, Bob primero verica la clave pblica de Alice:
1. Verica que Q
A
/0 y que sus coordenadas son vlidas
2. Verica que Q
A
est en la curva
3. Verica que nQ
A
0
Enseguida, para vericar la rma del mensaje m, repite el clculo que lleva a z, luego:
1. Verica que r y s estn en el rango 1 a n 1. En caso contrario, la rma no es vlida.
2. Calcula w s
1
mdulo n, luego u
1
zw m od n y u
2
r w m od n. Con esto determina
(x
1
, y
1
) u
1
g +u
2
Q
A
.
La rma es vlida si r x
1
(m od n), en caso contrario no es vlida.
11 Combinatoria elemental
Consideremos ahora el problema de contar sistemticamente los elementos de colecciones de
objetos. Nuestro inters en el tema es que por ejemplo el comportamiento de un algoritmo de orde-
namiento depender del nmero de disposiciones distintas en que pueden venir los datos, y ciertas
caractersticas de dicho orden. Contar stos, particularmente para conjuntos de datos de tamao in-
teresante, generalmente no es posible manualmente. Para ello aplicaremos algunas tcnicas bsicas
simples, que nos llevarn bastante lejos. Ms adelante veremos herramientas adicionales.
11.1. Tcnicas bsicas
Las herramientas bsicas son:
Biyecciones (funciones 11): Si hay una funcin 1 a 1 como f : X Y, entonces [X[ [Y [. Ms
en general para funciones k a 1 (vale decir, funciones en las cuales k valores diferentes del
argumento dan el mismo valor de la funcin): Si hay una funcin k a 1 de X a Y , entonces
[X[ k [Y [.
Regla de la suma: Si A B, entonces [A B[ [A[ +[B[. Esto se generaliza en forma obvia a
un nmero mayor de conjuntos disjuntos a pares:
[A
1
A
2
. . . A
r
[ [A
1
[ +[A
2
[ + +[A
r
[
Si la interseccin no es vaca, al sumar los tamaos estamos contando la interseccin dos
veces, o sea para dos conjuntos debemos hacer:
[A B[ [A[ +[B[ [A B[
Ms adelante (captulo 13) veremos cmo se puede manejar esto si hay ms de dos conjuntos
involucrados.
Contar por las y por columnas: Si S X Y , y para x X e y Y denimos:
r
x
(S ) [{(x, y) S : y Y }[
c
y
(S ) [{(x, y) S : x X}[
Entonces:
[S [

xX
r
x
(S )

yY
c
y
(S )
En forma ms general, si hay dos (o ms) maneras de contar algo, debieran coincidir los
resultados.
171
172 CAPTULO11. COMBINATORIA ELEMENTAL
Regla del producto: Si al contar por las y columnas tomamos S X Y , resulta:
[S [ [X[ [Y [
dado que en ese caso r
x
(S ) [Y [ y c
y
(S ) [X[.
Algunos ejemplos simples:
Cuntas patentes antiguas (2 letras, pero no Q ni W; y 4 dgitos) hay?
Podemos considerarlo como una tupla. Como hay 24 letras permitidas y 10 dgitos, por la regla
del producto esto corresponde a:
24 24 10 10 10 10 5760000
posibilidades.
Se estaban acabando los nmeros con el esquema anterior, se agreg la letra W. Cuntos
nmeros se agregan?
Nuevamente una tupla, pero ahora de 25 letras y 10 dgitos. La regla del producto da para el
nuevo total:
25 25 10 10 10 10 6250000
Por la regla de la suma, las patentes actuales son las antiguas y las agregadas, con lo que las
agregadas son:
62500005760000 490000
Cuntas patentes nuevas (4 consonantes y 2 dgitos) hay?
Otra vez una tupla. Son 21 21 21 21 10 10 19448100.
Cuntas patentes hay en total?
Son el conjunto de patentes antiguas y las nuevas, lo que da por la regla de la suma:
6250000+19448100 25698100
En la Universidad de Miskatonic, el decano Halsey insiste en que todos los estudiantes deben
tomar exactamente cuatro cursos por semestre. Pide a los profesores que le hagan llegar las
listas de los alumnos en sus cursos, pero estos slo le informan los nmeros de estudiantes,
ver el cuadro 11.1. Qu puede decir el decano Halsey con estos datos?
Si consideramos los pares (alumno, curso), la suma de cada la es el nmero de cursos que el
alumno toma. Por tanto, si cada alumno toma cuatro cursos, la suma total debe ser divisible
por cuatro. La suma de cada columna es el nmero de alumnos en el curso. Pero en este caso
la suma total de los alumnos por curso es 331, as que la condicin del decano no se est
cumpliendo.
Como un ejemplo ms complejo, usando estas ideas podemos demostrar nuevamente para la
funcin de Euler:
Teorema 11.1 (Identidad de Gau). Para todo entero n, tenemos:
n

d[n
(d)
donde la suma se extiende sobre los enteros d que dividen a n.
11.1. TCNICAS BSICAS 173
Profesor Materia N
Ashley Fsica 45
Dexter Zoologa 29
Dyer Geologa 33
Ellery Qumica 2
Lake Biologa 12
Morgan Arqueologa 5
Pabodie Ingeniera 103
Upham Matemticas 95
Wilmarth Ingls 7
Cuadro 11.1 Nmero de alumnos por curso
Demostracin. Sean S los pares (d, f ) tales que d [ n, 1 f d y gcd( f , d) 1. Sumando por las
tenemos:
[S [

d[n
(d)
Para demostrar que n [S [, construimos una biyeccin entre S y los enteros entre 1 y n. La idea
viene del conjunto de fracciones:
_
1
n
,
2
n
, . . . ,
n 1
n
_

_
a
1
b
1
,
a
2
b
2
, . . . ,
a
n1
b
n1
_
donde a
i
/b
i
est en mnimos trminos, o sea con d
i
gcd(i , n):
a
i
b
i

i /d
i
n/d
i
Cada b
i
aparece exactamente (b
i
) veces.
Sea (d, f ) f n/d. Esto siempre es un entero positivo, ya que d [ n; y como 1 f d, es a lo
ms n. Para demostrar que es una inyeccin, consideremos:
(d, f ) (d
t
, f
t
)
f n/d f
t
n/d
t
f d
t
f
t
d
Esto ltimo es d [ f d
t
, y como f y d son relativamente primos, por el lema 5.2 signica que d [ d
t
. De
la misma forma d
t
[ d, y resulta d d
t
. Con esto tambin es f f
t
.
Para demostrar que es sobre, supongamos dado 1 k n, y sean:
g
k
gcd(k, n)
d
k
n/g
k
f
k
k/g
k
Tanto d
k
como f
k
son enteros, y adems gcd(d
k
, f
k
) 1. Resulta:
(d
k
, f
k
)
f
k
n
d
k

kn/g
k
n/g
k
k
174 CAPTULO11. COMBINATORIA ELEMENTAL
11.2. Principios bsicos de conteo
Algunos casos generalmente aplicables, pueden organizarse bajo las siguientes ideas [5]:
Objetos distinguibles o no: Al jugar cartas interesa fundamentalmente su pinta y valor, mientras al
discutir un canasto de frutas no interesa la identidad de cada una de las manzanas.
Repeticiones o no: En un juego de cartas se considera de bastante mal gusto que una misma carta
aparezca varias veces; si nos preguntamos de cuntas formas pueden entregarse $ 100 usando
monedas de $ 1, $ 5 y $ 10, claramente se permite que una moneda se repita.
Orden interesa: Al jugar cartas, una mano queda determinada por el conjunto de cartas (el orden
no importa), al discutir nmeros escritos en decimal el orden de los dgitos es fundamental.
Esto da lugar a varias situaciones diferentes, ordenadas aproximadamente en orden de complejidad
creciente del anlisis:
Secuencias: Se dan siempre que el orden interesa. Pueden darse tanto situaciones donde se permi-
ten repeticiones como cuando no se permiten.
Conjuntos: No hay repeticin y no interesa el orden, slo si el elemento pertenece a la coleccin o
no.
Multiconjuntos: Hay repeticin y no interesa el orden, un elemento dado puede pertenecer varias
veces a la coleccin.
Veamos las distintas situaciones por turno, buscando expresiones simples para el nmero total de
posibilidades suponiendo que estamos tomando k elementos de entre n opciones.
Secuencias sin repeticiones: Esta situacin se conoce como permutaciones, suele anotarse P(n, k)
para el nmero de permutaciones de k objetos tomados entre un total de n. El primer elemen-
to puede elegirse de n formas, el segundo de n 1 maneras, y as hasta llegar al ltimo, que se
puede elegir de n k +1 maneras. Aplicando la regla de la multiplicacin, tenemos:
P(n, k) n (n 1) (n k +1) n
k
En el caso particular en que k n resulta:
P(n, n) n
n
n!
Secuencias con repeticiones: Generalmente se llaman usando el trmino ingls strings (tambin
palabras, o las podemos considerar como tuplas cuyos elementos se toman todos del mismo
conjunto). No hay notacin en uso comn para este caso. Aplicando la regla de multiplicacin,
viendo que cada uno de los k elementos puede elegirse de n maneras independientemente,
en este tenemos:
n
k
Un caso de inters es contar todas las secuencias hasta cierto largo k. Vimos que hay n
r
secuencias de largo r , con lo que por el teorema 3.6 el nmero buscado es:

0r k
n
r

n
k+1
1
n 1
11.2. PRINCIPIOS BSICOS DE CONTEO 175
Conjuntos: Para elegir k elementos de entre n sin interesar el orden (lo que se llaman combina-
ciones, y suele anotarse C(n, k)) podemos elegirlos en orden (hay P(n, k) maneras de hacer
esto), y luego considerar que hay P(k, k) k! maneras de ordenar los k elementos elegidos (un
mapa k! a 1 entre las secuencias ordenadas y el conjunto de k elementos elegidos). Vale decir,
el nmero buscado es:
C(n, k)
P(n, k)
P(k, k)

n
k
k!

_
n
k
_
Debido a esto suele leerse
_
n
k
_
como n elija k (en ingls n choose k). Ntese que:
_
n
k
_

_
n
n k
_
lo que puede interpretarse diciendo que al elegir los k elementos incluidos en el subconjunto,
lo que en realidad estamos haciendo es elegir los n k elementos que estamos dejando fuera.
A esta clase de razonamiento se le llama demostracin combinatoria.
Multiconjuntos: No hay una notacin especial aceptada comnmente para este caso. Algunos au-
tores usan:
__
n
k
__
para el caso en que tenemos n tipos de elementos de los cuales tomamos en total k. Una
manera de representar esta situacin es mediante variables x
i
, donde x
i
representa el nmero
de elementos de tipo i elegidos ms 1. Entonces el nmero de multiconjuntos de tamao
k tomando de entre n alternativas es el nmero de soluciones en nmeros naturales a la
ecuacin:
x
1
+x
2
+ +x
n
n +k
A su vez, por ejemplo la solucin x
1
2, x
2
1, x
3
3, x
4
1 al caso n 4 y k 3 puede
mostrarse con un total de n+k 7 asteriscos para la suma, separados por n1 3 barras para
marcar las variables:
[ [ [
Visto de esta forma, lo que estamos haciendo es distribuir n1 barras enlas n+k1 posiciones
entre asteriscos, o sea, elegimos n1 entre n+k1, untotal deC(n+k1, n1) C(n+k1, k).
A este tipo de razonamiento se le conoce como stars and bars en ingls. As, el nmero de
soluciones se expresa:
__
n
k
__

_
n +k 1
k
_
Ntese que puede escribirse, de forma afn a los coecientes binomiales:
__
n
k
__

_
n +k 1
k
_

n
k
k!
176 CAPTULO11. COMBINATORIA ELEMENTAL
Como n
k
(1)
k
(n)
k
se cumple la curiosa identidad:
__
n
k
__
(1)
n
_
n
k
_
Una aplicacin simple de los resultados anteriores es la siguiente:
Teorema 11.2. Sean X e Y conjuntos nitos. Entonces el nmero total de funciones f : X Y es:
[Y [
[X[
Demostracin. Supongamos que [X[ m. Entonces podemos considerar esta situacin como con-
tar las tuplas ( f (1), f (2), . . . , f (m)), en las cuales cada elemento toma un valor de entre [Y [ n, con
lo que por la regla del producto hay n
m
funciones.
Es por este resultado que una notacin comn para el conjunto de funciones de X a Y es Y
X
.
Una manera de describir un subconjunto S de un conjunto U es mediante su funcin caracte-
rstica
S
: U {0, 1}, donde
S
(u) 0 signica que u no pertenece al subconjunto, y
S
(u) 1
que pertenece. Esta forma de ver las cosas lleva a:
Corolario 11.3. Sea A un conjunto nito. Entonces hay 2
[A[
subconjuntos de A.
Demostracin. Aplicar el teorema 11.2 al conjunto de funciones caractersticas.
Es por esta razn que el conjunto de los subconjuntos de A suele anotarse 2
A
.
Corolario 11.4. Sean A y Bconjuntos nitos. Entonces hay 2
[A[[B[
relaciones de A a B.
Demostracin. Una relacin entre A y B no es ms que un subconjunto de A B, aplicando la
regla del producto y luego (11.3) obtenemos lo prometido.
Otro caso importante es contabilizar el nmero de inyecciones.
Teorema 11.5. Sean X e Y conjuntos nitos, de cardinalidades [X[ m e [Y [ n. Entonces el
nmero total de funciones inyectivas i : X Y es n
m
n!/(n m)!
Demostracin. Si es una inyeccin, no se repitenvalores de la funcin(y por tanto mn). Si conside-
ramos que X son ndices (denen las posiciones), estamos frente a permutaciones de n elementos
de los que se eligen m, vale decir es:
P(n, m) n
m

n!
(n m)!
Directamente resulta:
Corolario 11.6. Sean X e Y conjuntos nitos tales que [X[ [Y [ n. Entonces el nmero de biyec-
ciones b: X Y es n!.
Demostracin. Para el caso n m el teorema 11.5 da n
n
n!.
Otra forma de interpretar el corolario 11.6 es que hay n! maneras de ordenar n elementos dife-
rentes.
Los nmeros de combinaciones cumplen una coleccin inmensa de equivalencias curiosas.
11.2. PRINCIPIOS BSICOS DE CONTEO 177
Teorema 11.7 (Tringulo de Pascal). Para n, k Nse cumplen:
_
n
0
_

_
n
n
_
1
_
n +1
k +1
_

_
n
k +1
_
+
_
n
k
_
Demostracin. Primero:
_
n
n
_

_
n
n n
_

_
n
0
_
_
n
0
_

n!
n! 0!
1
Por el otro lado, podemos considerar que
_
n+1
k+1
_
corresponde a elegir k +1 elementos de entre n +1,
cosa que se puede hacer jando uno de los elementos, y luego considerar aquellos conjuntos de k+1
elementos que lo incluyen (corresponde a elegir los dems k de entre los n restantes, hay
_
n
k
_
casos de
stos), y los que no (corresponde a elegir k +1 elementos de entre los n que son elegibles, hay
_
n
k+1
_
de estos casos). Como el conjunto de los subconjuntos que incluyen al elemento seleccionado y los
que no son disjuntos, podemos aplicar la regla de la suma para obtener la recurrencia indicada.
Una demostracin alternativa es:
Demostracin. Primeramente, siempre es:
_
n
0
_

n
0
0!
1
_
n
n
_

n
n
n!

n!
n!
1
Luego:
_
n
k +1
_
+
_
n
k
_

n
k+1
(k +1)!
+
n
k
k!

n
k
(n k) +(k +1)n
k
(k +1)!

n
k
(n +1)
(k +1)!

(n +1)
k+1
(k +1)!

_
n +1
k +1
_
Ntese que salvo en
_
n
n
_
1 no presupone n N
0
.
Un resultado extremadamente importante es el que sigue:
Teorema 11.8 (Binomio). Para n Ntenemos:
(a +b)
n

0kn
_
n
k
_
a
k
b
nk
178 CAPTULO11. COMBINATORIA ELEMENTAL
Demostracin. Por induccin sobre n.
Base: Cuando n 0, tenemos:

0k0
_
0
k
_
a
k
b
0k

_
0
0
_
a
0
b
0
1
Induccin: Tenemos:
(a +b)
n+1
(a +b)
n
(a +b)

_

0kn
_
n
k
_
a
k
b
nk
_
(a +b)

0kn
_
n
k
_
a
k+1
b
nk
+

0kn
_
n
k
_
a
k
b
n+1k

1kn+1
_
n
k 1
_
a
k
b
n+1k
+

0kn+1
_
n
k
_
a
k
b
n+1k

1kn+1
_
n
k
_
a
k
b
n+1k
+
_
n
0
_
a
0
b
n+10
+

1kn+1
_
n
k
_
a
k
b
n+1k

_
n
0
_
a
0
b
n+10
+

1kn+1
__
n
k 1
_
+
_
n
k
__
a
k
b
n+1

_
n
0
_
a
0
b
n+10
+

1kn+1
_
n +1
k
_
a
k
b
n+1k

0kn+1
_
n +1
k
_
a
k
b
n+1k
Por induccin, vale para n N
0
.
Por el teorema 11.8 es que los nmeros
_
n
k
_
se llaman coecientes binomiales.
Otro resultado importante es el siguiente.
Teorema 11.9 (Multinomio). Para n Ntenemos:
(a
1
+a
2
+ a
r
)
n

k
1
+k
2
++k
r
n
_
n
k
1
k
2
k
r
_
a
k
1
1
a
k
2
2
a
k
r
r
donde:
_
n
k
1
k
2
k
r
_

n!
k
1
!k
2
! k
r
!
Esta expresin est denida slo si n k
1
+k
2
+ +k
r
.
Demostracin. Por induccin fuerte sobre r .
Base: Cuando r 2, se reduce al teorema del binomio:

k
1
+k
2
n
_
n
k
1
k
2
_
a
k
1
1
a
k
2
2

0kn
_
n
k n k
_
a
k
1
a
nk
2

0kn
_
n
k
_
a
k
1
a
nk
2
11.3. MANOS DE POKER 179
Induccin: Tenemos:
((a
1
+ +a
r
) +a
r +1
)
n

0k
r +1
n
_
n
k
r +1
_ _

k
1
+k
2
++k
r
nk
r +1
_
n k
r +1
k
1
k
2
. . . k
r
_
a
k
1
1
a
k
2
2
a
k
r
r
_
a
nk
r +1
r +1

k
1
++k
r +1
n
_
n
k
r +1
__
n k
r +1
k
1
k
2
. . . k
r
_
a
k
1
1
a
k
2
2
a
k
r +1

k
1
++k
r +1
n
_
n
k
1
k
2
. . . k
r +1
_
a
k
1
1
a
k
2
2
a
k
r +1
Ac usamos:
_
n
k
r +1
__
n k
r +1
k
1
k
2
. . . k
r
_

n!
k
r +1
!(n k
r +1
)!

(n k
r +1
)!
k
1
! k
2
! k
r
!

n!
k
1
! k
2
! k
r +1
!

_
n
k
1
k
2
. . . k
r +1
_
Por induccin es vlido para r 2, y claramente es vlido para r 0 y r 1, con lo que vale para
r N
0
.
Por razones obvias, a los
_
n
k
1
k
2
...k
r
_
se les llama coecientes multinomiales, y tenemos tambin:
_
n
k n k
_

_
n
k
_
11.3. Manos de poker
Nuestro siguiente tema de inters es contar subconjuntos que cumplen ciertas restricciones.
Como conjuntos, siguiendo a [189], usaremos manos de poker.
En poker a cada jugador se le da una mano de cinco cartas, elegidas del mazo ingls, formado
por cuatro pintas: Pica (), corazn (), trbol () y diamante (); en cada pinta hay trece valores:
As, 2 a 10, Jack, Queen y King. El nmero total de manos posibles es:
_
52
5
_
2598960
Como estrategia general, buscaremos secuencias que describan las manos que queremos contar
(porque contar secuencias es fcil), y nos aseguraremos que hay una biyeccin (o que haya alguna
otra relacin clara, como un mapa 2 a 1) entre descripciones y manos.
11.3.1. Royal Flush
Es la mano ms alta en poker. Consta de As, King, Queen, Jack, 10 de la misma pinta, por ejemplo:
{A K Q J 10}
Est claro que hay una mano de stas para cada pinta, con lo que hay exactamente 4.
180 CAPTULO11. COMBINATORIA ELEMENTAL
11.3.2. Straight Flush
Consta de 5 cartas de la misma pinta en secuencia, donde As cuenta como 1 (no despus de King,
como en el Royal Flush). Ejemplos son:
{ 8 9 10 J Q}
{A 2 3 4 5}
{ 3 4 5 6 7}
Estas manos podemos describirlas mediante una secuencia que indica:
El valor de la primera carta en la secuencia. Este puede elegirse de 9 maneras (entre 1 y 9).
La pinta, que puede elegirse de 4 maneras.
En nuestros ejemplos:
(8, ) { 8 9 10 J Q}
(1, ) {A 2 3 4 5}
(3, ) { 3 4 5 6 7}
Por la regla del producto, el nmero total de estas manos es:
9
_
4
1
_
36
Como esto no describe un Royal Flush, no hace falta ningn ajuste adicional.
11.3.3. Four of a Kind
Esta es una mano con cuatro cartas del mismo valor. Por ejemplo:
{8 8 8 8 5}
{3 2 2 2 2}
Para calcular cuntas de estas hay, armamos unmapa de secuencias a manos de este tipo y contamos
las secuencias. En este caso, una mano queda descrita por:
El valor que se repite.
El valor de la quinta carta.
La pinta de la quinta carta.
Hay una biyeccin entre secuencias de estos tres elementos y manos. En nuestros ejemplos, las
correspondencias son:
(8, 5, ) {8 8 8 8 5}
(2, 3, ) {2 2 2 2 3}
Para el valor tenemos 13 posibilidades, para el valor de la quinta carta quedan 12 posibilidades, y hay
4 opciones para la pinta de la quinta carta. En total, usando la regla del producto, son 13 12 4 642
posibilidades. Hay 1 en 2598960/642 4048 manos, no sorprende que se considere muy buena.
11.3. MANOS DE POKER 181
11.3.4. Full House
Es una mano con tres cartas de un valor y dos de otro. Ejemplos:
{2 2 2 Q Q}
{5 5 5 K K}
Nuevamente un mapa con secuencias:
El valor del tro, que puede especicarse de 13 maneras.
Las pintas del tro, que son elegir 3 de entre 4.
El valor del par, que se puede tomar de 12 maneras.
Las pintas del par, que se eligen 2 entre 4.
Las manos ejemplo corresponden con:
(2, {, , },Q, {, }) {2 2 2 Q Q}
(5, {, , }, K, {, }) {5 5 5 K K}
Por la regla del producto el nmero de Full Houses es entonces:
13
_
4
3
_
12
_
4
2
_
3744
11.3.5. Flush
Mano con 5 cartas de la misma pinta, como por ejemplo:
{A 3 4 8 K}
Esto se describe mediante la secuencia que da:
Un conjunto de 5 valores, se eligen 5 de entre 13.
Una pinta, se elige una entre 4.
En nuestro ejemplo:
({A, 3, 4, 8, K}, ) {A 3 4 8 K}
De estas manos hay entonces:
_
13
5
_

_
4
1
_
5148
Esto tambin describe al Royal Flush y al Straight Flush, debemos restar stos (regla de la suma):
5148436 5108
182 CAPTULO11. COMBINATORIA ELEMENTAL
11.3.6. Manos con dos pares
Interesa calcular cuntas manos con dos pares hay, vale decir, dos cartas de un valor, dos cartas
de otro valor, y una carta de un tercer valor. Ejemplos son:
{3 3 Q Q 5}
{9 9 K K 2}
Cada mano queda descrita por:
El valor del primer par, puede elegirse de 13 maneras.
Las pintas del primer par, se toman 2 de entre 4.
El valor del segundo par, que se puede elegir de 12 maneras.
Las pintas del segundo par, se eligen 2 entre 4.
El valor de la carta extra, es uno de 11.
La pinta de la carta extra, que es una de 4.
Se pensara entonces que el nmero buscado es:
13
_
4
2
_
12
_
4
2
_
11
_
4
1
_
Esto es incorrecto! El mapa entre secuencias y manos no es una biyeccin, es 2 a 1 (podemos elegir
cualquiera de los dos pares como primero). El valor correcto es:
13
_
4
2
_
12
_
4
2
_
11
_
4
1
_
2
123552
No es una mano particularmente buena.
Pero adems es perturbadora: Es fcil omitir el detalle de que no es una biyeccin. Hay dos
salidas:
1. Cada vez que se usa un mapa f : A B, verique que el mismo nmero de elementos de A
llevan a cada elemento de B; si este nmero es k, aplique la regla de divisin con k.
2. Intente otra forma de resolver el problema. Muchas veces hay varias formas de enfrentarlo y
debieran dar el mismo resultado. Claro que suele ocurrir que mtodos distintos dan resultados
que se ven diferentes, aunque resultan ser iguales.
Arriba usamos un mtodo, veamos un segundo: Hay una biyeccin entre estas manos y secuen-
cias que especican:
Los valores de los dos pares, se pueden elegir 2 entre 13.
Las pintas del par de menor valor, se eligen 2 entre 4.
Las pintas del par de mayor valor, se eligen 2 entre 4.
El valor de la carta extra, es 1 entre 11.
La pinta de la carta extra, es 1 entre 4.
11.4. EL TAODE BOOKKEEPER 183
Para nuestro ejemplo:
({3,Q}, {, }, {, }, 5, }) {3 3 Q Q 5}
({9, K}, {, }, {, }, 2, }) {9 9 K K 2}
Esto lleva a:
_
13
2
_

_
4
2
_

_
4
2
_
11
_
4
1
_
Es el mismo resultado anterior, claro que escrito de forma ligeramente diferente.
11.3.7. Manos con todas las pintas
Buscamos el nmero de manos con cartas de todas las pintas. Por ejemplo:
{7 8 K A 3}
Esto podemos describirlo mediante:
Los valores de las cartas de cada pinta, o sea 13 13 13 13 posibilidades.
El valor de la carta extra, con 12 selecciones posibles.
La pinta de la carta extra, 4 opciones.
La mano del ejemplo se describe mediante:
(A, 7, 8, K, 3, ) {7 8 K A 3}
El problema es nuevamente que esto no es una biyeccin, en el ejemplo podemos considerar 3o
7como la carta extra, y el mapa es 2 a 1. El nmero buscado es:
13
4
4 12
2
685464
11.4. El tao de BOOKKEEPER
Veremos maneras de contar secuencias que incluyen elementos repetidos. Para llegar a la ilumi-
nacin [189], meditemos sobre la palabra BOOKKEEPER.
1. De cuntas maneras se pueden ordenar las letras de POKE?
2. De cuntas maneras se pueden ordenar las letras de BO
1
O
2
K? (Note que los subndices hacen
que las dos O sean distintas).
3. Pequeo saltamontes, mapea los ordenamientos de BO
1
O
2
K (las O son diferentes) a BOOK (las
dos O son idnticas). Qu clase de mapa es este?
4. Muy bien, joven maestro! Dime ahora, de cuntas maneras pueden ordenarse las letras de
KE
1
E
2
PE
3
R?
5. Mapea cada ordenamiento de KE
1
E
2
PE
3
R a un ordenamiento de KEEPER tal que, borrando los
subndices, lista todos los que leen REPEEK. Que clase de mapa es este?
6. En vista de lo anterior, cuntos ordenamientos de KEEPER hay?
184 CAPTULO11. COMBINATORIA ELEMENTAL
7. Ahora ya ests en posicin de enfrentarte al terrible BOOKKEEPER! Cuntos ordenamientos de
BO
1
O
2
K
1
K
2
E
1
E
2
PE
3
R hay?
8. Cuntos ordenamientos de BOOK
1
K
2
E
1
E
2
PE
3
R hay?
9. Cuntos ordenamientos de BOOKKEEPER hay?
10. Cuntos ordenamientos de VOODOODOLL hay?
11. Esta es muy importante, pequeo saltamontes. Cuntas secuencias de n bits tienen k ceros y
n k unos?
Prender subndices, apagar subndices. Ese es el tao de BOOKKEEPER.
11.5. Juegos completos de poker
Los seores George G. Akeley, Robert Blake, Randolph Carter y Edward P. Davis juegan poker.
Interesa saber de cuntas maneras se pueden repartir las 52 cartas en 4 manos de 5 cartas, quedando
32 cartas en el mazo.
Podemos atacar el problema considerando que Akeley elige 5 cartas de las 52, que Blake elige 5
de las restantes, y as sucesivamente. El resultado es:
_
52
5
_

_
525
5
_

_
522 5
5
_

_
523 5
5
_

52!
5! 5! 5! 5! 32!

_
52
5 5 5 5 32
_
Si consideramos las cartas en un orden cualquiera, podemos representar la distribucin aso-
ciando cada posicin con quien la tiene. De esta forma, tenemos una biyeccin entre secuencias de
52 dueos de las cartas respectivas y las distribuciones de las cartas. Para simplicar notacin, deno-
tamos a los caballeros por las primeras letras de sus apellidos, y el mazo por M. Buscamos entonces
el nmero de secuencias de 52 smbolos elegidos entre {A, B, C, D, M} formadas con 5 A, 5 B, 5 C, 5 D y
32 M. Esto nos lleva directamente al resultado anterior al aplicar el tao, seccin 11.4.
11.6. Secuencias con restricciones
Tambin interesa poder contar reordenamientos en los cuales hay ciertas restricciones, como
elementos en posiciones jas o elementos en posiciones jas relativas entre s.
Seguimos con nuestro ejemplo de BOOKKEEPER.
1. De cuntas formas se puede escribir esta palabra si las dos O siempre estn juntas?
2. Cuntas formas hay de ordenar las letras si siempre estn BPR juntas en ese orden?
3. Si BPR estn juntas, pero en cualquier orden?
4. En cuntos aparecen BPR en ese orden, no necesariamente juntas?
5. Cuntas maneras hay de ordenar las letras si las O estn separadas por una letra?
6. Cuntas maneras hay de ordenarlas si las E estn separadas siempre por una letra?
11.6. SECUENCIAS CONRESTRICCIONES 185
7. De cuntas maneras se pueden ordenar las letras si las 5 vocales estn al principio y las 5
consonantes al nal?
8. Y si las vocales estn en las posiciones impares?
9. Que pasa si las vocales ocupan las posiciones 2, 3, 6, 7, 9?
10. Cuntos ordenamientos hay en los cuales las vocales estn todas juntas?
11. Cuntos ordenamientos con B en una posicin impar hay?
12. Y si slo pedimos una O en una posicin par?
13. Cuntos ordenamientos hay con las tres E en posiciones impares?
14. Cuntos rdenes tienen la B separadas de la R por dos letras?
15. Cuntos tienen la B separadas de la R por k letras?
12 Funciones generatrices
En lo que sigue veremos cmo usar series de potencias (una herramienta del anlisis, vale decir
matemticas de lo continuo) para resolver una variedadde problemas discretos. La idea de funciones
generatrices permite resolver muchos problemas de forma simple y transparente. Incluso cuando
no da soluciones puede iluminar, indicando relaciones entre problemas que a primera vista no
son obvias. El aplicar herramientas analticas (especialmente la teora de funciones de variables
complejas) permite deducir resultados que de otra forma seran muy difciles de obtener.
Nos centramos en aplicaciones y en uso de las tcnicas discutidas ms que en exponer la teora,
nuestros ejemplos frecuentemente llevan a resultados de inters independiente. Para detalles de
la teora y aplicaciones adicionales vanse por ejemplo [101, 158, 292]. Referencia obligatoria para
todo lo que es combinatoria son los textos de Stanley [269, 270]. Un recurso indispensable es la
enciclopedia de secuencias de enteros [264], que registra muchos miles de secuencias, cmo se
generan y da referencias al respecto.
Sea una secuencia a
n

n0
a
0
, a
1
, a
2
, . . . , a
n
, . . . . La funcin generatriz (ordinaria) de la secuen-
cia es la serie de potencias:
A(z)

0n
a
n
z
n
(12.1)
El punto es que la serie (12.1) representa en forma compacta y manejable la secuencia innita.
Como veremos, operaciones sobre la funcin generatriz corresponden a actuar sobre la secuencia,
en muchos casos resulta bastante ms sencillo manipular la serie que trabajar directamente con la
secuencia.
Para un primer ejemplo, volveremos al problema de la Competencia de Ensayos de la Universi-
dad de Miskatonic (ver la seccin 3.9), que llev a la relacin:
b
2r +1
b
2r 1
+r +1 b
1
1 (12.2)
con lo que tenemos, como antes (arbitrariamente dando el valor cero a los que no quedan denidos
por la recurrencia):
b
n

n0
0, 1, 0, 3, 0, 6, 0, 10, 0, 15, . . .
Contar con algunos valores sirve para vericar (y para sentir cmo se comportan).
Para anotar en forma compacta recurrencias como (12.2) usaremos la notacin:
b
2r +1
b
2r 1
+r +1 (r 2) b
1
1 (12.3)
O sea, damos la recurrencia misma, los ndices para los que la recurrencia vale, y valores iniciales.
Normalmente ser que la recurrencia vale a partir del trmino siguiente al indicado como valor
inicial, y omitiremos el rango de validez.
187
188 CAPTULO12. FUNCIONES GENERATRICES
Denamos la serie:
B(z)

r 0
b
2r +1
z
r
(12.4)
Si multiplicamos la recurrencia (12.3) por z
r
y sumamos sobre r 1 queda:

r 1
b
2r +1
z
r

r 1
b
2r 1
z
r
+

r 1
(r +1)z
r
(12.5)
Expresando lo anterior en trminos de B(z), reconocemos:

r 1
b
2r +1
z
r

r 0
b
2r +1
z
r
b
1
B(z) 1 (12.6)

r 1
b
2r 1
z
r

r 0
b
2r +1
z
r +1
z

r 0
b
2r +1
z
r
zB(z) (12.7)
En la ecuacin (12.5) aparecen trminos (r +1)z
r
, que sugieren la derivada de z
r +1
. Por el otro lado,
de la seccin 3.6.1 sabemos que para [z[ <1 vale la serie geomtrica:
1
1z

r 0
z
r
(12.8)
Derivando la serie geomtrica respecto de z trmino a trmino, lo que es vlido dentro del radio de
convergencia (no nos detendremos en este punto, para la teora que lo justica vanse por ejem-
plo [56, 284], o rerase al captulo 24), queda:
d
dz
_
1
1z
_

r 0
d
dz
z
r
1
(1z)
2

r 1
r z
r 1

r 0
(r +1)z
r
(12.9)
Tambin:

r 1
(r +1)z
r

r 0
(r +1)z
r
1 (12.10)
Reemplazando (12.6), (12.7) y (12.10) en (12.5) queda:
B(z) 1 zB(z) +
1
(1z)
2
1
Despejando B(z):
B(z)
1
(1z)
3
(12.11)
Conociendo la funcin B(z), de cierta forma sabemos los valores b
2r +1
que interesan.
Para algunas aplicaciones basta llegar hasta ac, puede extraerse bastante informacin sobre los
coecientes de la funcin. Por ejemplo, claramente la serie (12.11) converge para 1 <z <1, y por la
prueba de la razn, sabemos que:
lm
r

b
2r +1
b
2r +3

1
12.1. ALGUNAS SERIES TILES 189
Pero interesa obtener una frmula explcita (ojal simple) para los coecientes, de forma de
poder determinar el tamao requerido de las tarjetas. Derivando la serie geomtrica por segunda
vez, de forma de obtener la expresin (1z)
3
, resulta:
d
2
dz
2
_
1
1z
_

r 1
d
dz
r z
r 1
2
(1z)
3

r 2
r (r 1)z
r 2

r 0
(r +2)(r +1)z
r
(12.12)
Con (12.12) y (12.11) resulta:
B(z)
1
2

r 0
(r +2)(r +1)z
r
(12.13)
y tenemos nuevamente la frmula explcita (3.48):
b
2r +1

1
2
(r +1)(r +2)
La ventaja frente al desarrollo de la seccin 3.9 es que no tuvimos que adivinar esta solucin y nos
ahorramos la demostracin por induccin.
Receta
Para resolver recurrencias se debe:
1. Plantear la recurrencia.
2. Recopilar valores iniciales.
3. Aclarar para qu valores de n vale la recurrencia.
4. Denir la funcin generatriz de inters.
5. Multiplicar la recurrencia de (1) por z
n
y sumar sobre todos los valores (3).
6. Expresar (5) en trminos de la funcin generatriz.
7. Despejar.
8. Extraer los coecientes.
12.1. Algunas series tiles
Al trabajar con funciones generatrices es importante tener algunas expansiones en serie conoci-
das a la mano. Las que ms aparecen son las siguientes.
12.1.1. Serie geomtrica
Es la serie ms comn en aplicaciones. Si [z[ <1, se cumple:

n0
z
n

1
1z
(12.14)
Una variante importante es la siguiente, expansin vlida para [az[ < 1 (siempre que usemos la
convencin 0
0
1):

n0
a
n
z
n

1
1az
(12.15)
190 CAPTULO12. FUNCIONES GENERATRICES
12.1.2. Teorema del binomio
Una de las series ms importantes es la expansin de la potencia de un binomio (ver tambin el
teorema 11.8):

n0
_

n
_
z
n
(1+z)

(12.16)
Siempre que [z[ < 1 esto vale no slo para valores reales de , sino incluso para complejos, si
denimos:
_

k
_


1

1
2

2
3

k +1
k


k
k!
(12.17)
y (consistente con la convencin que productos vacos son 1) siempre es:
_

0
_
1 (12.18)
A los coecientes (12.17) se les conoce como coecientes binomiales por su conexin con la potencia
de un binomio. La expansin (12.16) (tambin conocida como frmula de Newton si no es un na-
tural) es fcil de demostrar por el teorema de Maclaurin. Incluso resulta que (12.14) es simplemente
un caso particular de (12.16).
Si es un entero positivo, la serie (12.16) se reduce a un polinomio y la relacin es vlida para
todo z. Adems, en caso que n Npodemos escribir:
_
n
k
_

n!
k!(n k)!
(12.19)
donde por convencin:
_
n
k
_
0 si k <0 o k >n (12.20)
Ntese la simetra:
_
n
k
_

_
n
n k
_
(12.21)
Casos especiales notables de coecientes binomiales para Nson los siguientes:
Caso 1/2: Tenemos, como siempre:
_
1/2
0
_
1 (12.22)
12.1. ALGUNAS SERIES TILES 191
Cuando k 1:
_
1/2
k
_

1
2
(
1
2
1) (
1
2
k +1)
k!

1
2
k

1 (12) (14) (12k +2)
k!

(1)
k1
k!2
k
(1 3 (2k 3))

(1)
k1
k!2
k

1 2 3 4 (2k 3) (2k 2)
2 4 6 (2k 2)

(1)
k1
2
k
k!

(2k 2)!
2
k1
(k 1)!

(1)
k1
2
2k1
k

(2k 2)!
(k 1)! (k 1)!

(1)
k1
2
2k1
k

_
2k 2
k 1
_
(12.23)
Hay que tener cuidado, la ltima frmula no cubre el caso k 0.
Caso 1/2: Mucha de la derivacin es similar a la del caso anterior. Tenemos, para k >0:
_
1/2
k
_

(1/2) (1/21) (1/2k +1)


k!
(1)
k
1
2
k

1 3 (2k 1)
k!
(1)
k
1
2
k

(2k)!
k! 2
k
k!
(1)
k
1
2
2k
_
2k
k
_
(12.24)
Esta frmula con k 0 da:
_
1/2
0
_
1
as no se necesita hacer un caso especial ac. Una expansin comn es:
1
_
14z

n0
_
2n
n
_
z
n
(12.25)
Caso n: Cuando es un entero negativo, podemos escribir:
_
n
k
_

(n)
k
k!
(1)
k
n
k
k!
(1)
k
(n +k 1)
k
k!
(1)
k
_
k +n 1
n 1
_
(12.26)
192 CAPTULO12. FUNCIONES GENERATRICES
Ntense los casos particulares (aparecieron en nuestra derivacin de la solucin para la Com-
petencia de Ensayos de la Universidad de Miskatonic):
_
2
k
_
(1)
k
_
n +1
1
_
(1)
k
(k +1)
_
3
k
_
(1)
k
_
k +2
2
_
(1)
k
(k +1)(k +2)
2
En general, resulta:
1
(1z)
n+1

k0
_
n +k
n
_
z
k
(12.27)
Una derivacin interesante (y un resultado til) da la serie:

n0
_
n
k
_
y
n
(12.28)
Como n es un entero no-negativo, sabemos que
_
n
k
_
0 si no es que 0 k n, y podremos ahorrarnos
los lmites de las sumas para simplicar.
Primero, no es mucho lo que podemos hacer con la serie (12.28) como est, as que introducire-
mos una segunda variable:

k0
x
k

n0
_
n
k
_
y
n

n0
y
n

k0
_
n
k
_
x
k

n0
(1+x)
n
y
n
(12.29)
Vale decir, nuestra suma es el coeciente de x
k
en (12.29). Pero:

n0
(1+x)
n
y
n

1
1(1+x)y

1
1y

1
1
y
1y
x

k0
y
k
(1y)
k+1
x
k
(12.30)
Comparando coecientes de x
n
en (12.29) y (12.30) obtenemos:

n0
_
n
k
_
y
n

y
k
(1y)
k+1
(12.31)
Tambin resulta de (12.29):

k,n0
_
n
k
_
x
k
y
n

1
1(1+x)y
(12.32)
12.1.3. Otras series
Otra serie comn es la exponencial:
e
z

n0
z
n
n!
(12.33)
con sus variantes:
e
az

n0
a
n
z
n
n!
e
z

n0
(1)
n
z
n
n!
12.2. NOTACINPARA COEFICIENTES 193
A veces aparecen funciones trigonomtricas:
sinz

n0
(1)
n
z
2n+1
(2n +1)!
cosz

n0
(1)
n
z
2n
(2n)!
Una relacin til es la frmula de Euler:
e
u+iv
e
u
(cosv +i sinv) (12.34)
Es frecuente la serie para el logaritmo:
d
dz
ln(1z)
1
1z

n0
z
n
ln(1z)

n1
z
n
n
(12.35)
Muchos ejemplos adicionales de series tiles se hallan en [292].
12.1.4. Trabajando con series
Un par de ejemplos servirn para mostrar cmo se pueden usar las anteriores. Una serie comn
es:
1
_
14z
2z

1
2z
_
1

n0
_
1/2
n
_
(4z)
n
_

1
2z
_
1
_
1+

n1
(1)
n1
n2
2n1
_
2n 2
n 1
_
(4z)
n
__

1
2z
4z

n0
1
2(n +1)
_
2n
n
_
z
n

n0
1
n +1
_
2n
n
_
z
n
(12.36)
Los coecientes de (12.36) se conocen como nmeros de Catalan:
C
n

1
n +1
_
2n
n
_
(12.37)
La serie (12.36) aparece con regularidad, al igual que los coecientes (12.37). Stanley [268, 270] lista
un total de 205 interpretaciones combinatorias de los nmeros de Catalan.
12.2. Notacin para coecientes
Comnmente extraeremos el coeciente de un trmino de una serie. Para esto, dada la serie:
f (z)

n0
a
n
z
n
usaremos la notacin:
_
z
n
_
f (z) a
n
194 CAPTULO12. FUNCIONES GENERATRICES
Esta notacin fue introducida por Goulden y Jackson [117], aunque siguiendo a Knuth [173] inter-
pretaremos por ejemplo:
_
z +3z
3
_
f (z) a
1
+3a
3
Tenemos algunas propiedades simples:
_
z
n
_
z
k
f (z)
_
z
nk
_
f (z)
_
z
n
_
(f (z) +g(z))
_
z
n
_
f (z) +
_
z
n
_
g(z)
En trminos de esta notacin el teorema de Maclaurin queda expresado como:
_
z
n
_
f (z)
1
n!
f
(n)
(0)
Esta notacin puede extenderse muchsimo, ver por ejemplo a Knuth [173] y el tratamiento de Mer-
lini, Sprugnoli y Verri [206]. El uso de manipulaciones de coecientes se le atribuye a Egorychev [92],
aunque con una notacin mucho ms engorrosa.
Algunas frmulas tiles adicionales son las siguientes.
Teorema 12.1 (Transformacin de Euler). Sea A(z)

a
n
z
n
. Entonces:

0kn
_
n
k
_
a
k

_
z
n
_ 1
1z
A
_
z
1z
_
(12.38)
Demostracin. De las propiedades de coecientes binomiales:
_
n
k
_

_
n
n k
_

_
n +n k 1
n k
_
(1)
nk

_
k 1
n k
_
(1)
nk
Este es el coeciente de z
nk
en (1z)
k1
.
La suma del teorema es:

0kn
_
n
k
_
a
k

0kn
_
k 1
n k
_
(1)
nk
a
k

k0
_
z
nk
_
(1z)
k1
_
y
k
_
A(y)

_
z
n
_ 1
1z

k0
__
y
k
_
A(y)
__
z
1z
_
k

_
z
n
_ 1
1z

k0
a
k
_
z
1z
_
k

_
z
n
_ 1
1z
A
_
z
1z
_
Un ejemplo de la aplicacin de esto es el tratamiento de una suma discutido por Greene y
Knuth [121], originalmente de Jonassen y Knuth [149]:
S
m

0km
_
m
k
_
_

1
2
_
k
_
2k
k
_
Primero, del teorema del binomio sabemos que:
_
z
n
_ 1
_
1+2z

_
2n
n
_
_

1
2
_
n
12.3. ALGUNOS EJEMPLOS 195
Por la transformacin de Euler (12.38):

0km
_
m
k
__
2k
k
_
_

1
2
_
k

_
z
m
_ 1
1z
_
1+2
z
1z
_
1/2

_
z
m
_ 1
_
1z
2
Resulta:
S
m

_
_
2k
k
_
2
2k
m2k
0 m2k +1
Prodinger [239] incluso la usa de ejemplo para mostrar diversas tcnicas para obtener una frmula
cerrada.
12.3. Algunos ejemplos
Un problema antiguo popularizado por Plya [235] pide determinar de cuntas formas se puede
dar un dlar, usando monedas de 1, 5, 10, 25 y 50 centavos. La gura 12.1 muestra una manera
1 1 5 5 5 10 25
Figura 12.1 52 centavos en monedas
de dar 52 centavos. Podemos representar una coleccin de monedas como el producto de las
1 1 10 50
Figura 12.2 Coleccin de monedas como producto
cantidades de cada denominacin (el cuadrado representa una mesa vaca, ninguna moneda), vase
la gura 12.2 para una manera de tener 62 centavos. Todas las cantidades posibles usando slo
+ 1 + 1 1 + 1 1 1 + 1 1 1 1 +
+ 5 + 5 5 + 5 5 5 + 5 5 5 5 +
Figura 12.3 Series para 1 o 5 centavos
monedas de 1 o 5 centavos se ilustran en la gura 12.3, donde el signo + separa las alternativas. Si
multiplicamos las series, como muestra la gura 12.4 obviando las mesas vacas y los signos de
+ 1 + 5 + 1 1 + 1 5 + 5 5 +
Figura 12.4 Serie para combinaciones de 1 y 5 centavos
multiplicacin, resultan todas las opciones para entregar una cantidad usando esas monedas. Nos
196 CAPTULO12. FUNCIONES GENERATRICES
interesa el nmero de maneras de tener, digamos, 12 centavos, sin importar las monedas mismas.
Esto lo logramos poniendo la denominacin como exponente, o sea representando la moneda de
5 centavos como z
5
. Al multiplicar se suman los exponentes, y al juntar los trminos con el mismo
exponente en su coeciente estamos contando las maneras de tener esa suma. Las series de la
gura 12.3 quedan como:
1+z +z
2
+z
3
+z
4
+
1
1z
1+z
5
+z
10
+z
15
+z
20
+
1
1z
5
El coeciente de z
12
en (1 +z +z
2
+ )(1 +z
5
+z
10
+ ) da el nmero de maneras de entregar
12 centavos:
1
(1z)(1z
5
)
1+z +z
2
+z
3
+z
4
+2z
5
+2z
6
+2z
7
+2z
8
+3z
10
+3z
11
+3z
12
+3z
13
+
Hay 3 maneras, a saber: Slo monedas de 1 centavo, una moneda de 5 centavos y siete de 1 centavo,
o dos de 5 y dos de 1.
Las cantidades que se pueden entregar con la moneda de denominacin d se representan por:
1+z
d
+z
2d
+z
3d
+
1
1z
d
Como combinar denominaciones corresponde a multiplicar las series, para el conjunto completo
de denominaciones tenemos la funcin generatriz:
P(z)
1
(1z)(1z
5
)(1z
10
)(1z
25
)(1z
50
)
(12.39)
El valor buscado es el coeciente de z
100
en (12.39).
No es viable expandir (12.39) hasta z
100
, veremos un camino alternativo. La serie (12.39) es el
producto de cinco factores, conocemos el primero (la serie geomtrica) e iremos adicionando los
dems uno a uno. Supongamos que ya tenemos el producto de los dos primeros factores:
1
(1z)(1z
5
)
a
0
+a
1
z +a
2
z
2
+
y queremos aadir el tercero:
1
(1z)(1z
5
)(1z
10
)
b
0
+b
1
z +b
2
z
2
+
Vemos que:
(b
0
+b
1
z +b
2
z
2
+ )(1z
10
) a
0
+a
1
z +a
2
z
2
+
Comparando coecientes (es b
n
0 si n <0):
b
n
b
n10
+a
n
Esta relacinpermite calcular los b
n
si ya conocemos los a
n
, y obtenemos la serie completa encuatro
pasos similares al que discutimos recin. La tabla 12.1 resume el clculo hasta 50 centavos (slo se
dan los valores necesarios para obtener p
50
50), el amable lector completar el cuadro y vericar
que hay un total de 292 maneras de dar un dlar. En el clsico de Graham, Knuth y Patashnik [119]
12.3. ALGUNOS EJEMPLOS 197
n 0 5 10 15 20 25 30 35 40 45 50
(1z)
1
1 1 1 1 1 1 1 1 1 1 1
(1z
5
)
1
1 2 3 4 5 6 7 8 9 10 11
(1z
10
)
1
1 2 4 6 9 12 16 25 36
(1z
25
)
1
1 13 49
(1z
50
)
1
1 50
Cuadro 12.1 Tabla para calcular p
50
continan este desarrollo. Aprovechan la forma especial de las recurrencias resultantes y obtienen
una frmula cerrada para p
n
.
Un problema clsico propuesto por Sylvester en 1884 es el siguiente: Si slo se tienen estampillas
de 5 y 17 centavos, cul es el mximo monto que no se puede franquear con ellas?
La solucin de Bogomolny [38] muestra cmo representar conjuntos. Para generalizar, digamos
que los montos de las estampillas son p y q, ambos mayores a 1, con gcd(p, q) 1. Si no fueran rela-
tivamente primos, habran innitos valores imposibles de representar (slo es posible representar
mltiplos de gcd(p, q) mediante expresiones de la forma ap +bq).
Por la identidad de Bzout (ver la seccin 5.1) sabemos que hay u, v tales que up vq 1, sin
prdida de generalidad podemos suponer que u, v >0. Si tomamos xq para algn x por determinar,
para 1 k <q podemos escribir:
xq +k xq +k(up vq) kup +(x kv)q
El primer trmino es siempre positivo, interesa acotar kv para asegurar que ambos seanno negativos
y xq+k siempre sea representable. Como v es el inverso de q en Z
p
es 1 v <p, y por tanto al menos
a partir de (q 1)(p 1)q todos son representables.
Formemos la familia de secuencias aritmticas f
a
ap +bq
b0
:
f
0
0+0, 0+q, 0+2q, 0+3q, . . .
f
1
p +0, p +q, p +2q, p +3q, . . .
f
2
2p +0, 2p +q, 2p +2q, 2p +3q, . . .

f
q1
(q 1)p +0, (q 1)p +q, (q 1)p +2q, (q 1)p +3q, . . .
La idea es que la secuencia f
k
representa los franqueos posibles con k estampillas de p centavos
y algn nmero de estampillas de q centavos. Como gcd(p, q) 1, estas secuencias son disjuntas,
y cubren todas las posibilidades de ap +bq con a, b 0. Los elementos de f
a
son congruentes
mdulo q, siendo p y q relativamente primos el conjunto {ap m od q : 0 a < q} es simplemente
{k : 0 k < q}. Si las secuencias hubiesen comenzado con los residuos respectivos, las secuencias
cubriran todo N; pero como f
a
parte de ap la unin de las secuencias deja espacios al comienzo.
Interesa hallar el mximo nmero que no aparece en la unin, que llamaremos g(p, q).
Los elementos de la unin de las secuencias indicadas son los exponentes de la siguiente funcin
generatriz (los coecientes de la suma son todos uno, no hay interseccin entre las secuencias):
f (z)
1
1z
q
(1+z
p
+z
2p
+ +z
(q1)p
)
1z
pq
(1z
p
)(1z
q
)
Por el otro lado, el conjunto completo de los enteros no negativos se representa por:
h(z) 1+z +z
2
+z
3
+
1
1z
198 CAPTULO12. FUNCIONES GENERATRICES
La diferencia entre las dos es un polinomio, cuyos exponentes indican los nmeros que no se pueden
representar:
h(z) f (z)
1
1z

1z
pq
(1z
p
)(1z
q
)

(1z
p
)(1z
q
) (1z)(1z
pq
)
(1z)(1z
p
)(1z
q
)
(12.40)
Restar el grado del denominador del grado del numerador da el grado del polinomio:
g(p, q) (pq +1) (p +q +1) pq p q (12.41)
Esta teora nos dice que la respuesta al problema especco planteado es que el mximo valor que
no puede franquearse es
g(5, 17) 5 17517 63
Otra pregunta es cuntos son los valores que no pueden representarse, que no es ms que la
suma de los coecientes del polinomio (12.40), o sea, el valor del mismo evaluado en z 1. Aplicando
lHpital tres veces a (12.40) resulta:
lm
z1
_
h(z) f (z)
_

pq p q +1
2

g(p, q) +1
2
Los casos no representables resultan ser poco ms de la mitad desde 1 hasta el ltimo que no se
puede representar, 32 de 63 en nuestro caso especco.
Este problema es el caso particular n 2 del problema de Frobenius, determinar para un con-
junto de naturales relativamente primos {a
1
, a
2
, . . . , a
n
} cul es el mximo entero que no puede
representarse como combinacin lineal con coecientes naturales. A este nmero se le llama el
nmero de Frobenius del conjunto, y se anota g(a
1
, . . . , a
n
). Para n >2 no se conocen frmulas, slo
hay soluciones en casos particulares. A pesar de parecer muy especializado, este problema y va-
riantes aparecen en muchas aplicaciones. Un resumen reciente de la teora y algoritmos presenta
Ramrez Alfonsn [241].
12.4. Manipulacin de series
Sea una secuencia a
n

n0
a
0
, a
1
, a
2
, . . . , a
n
, . . . . La funcin generatriz (ordinaria) de la secuen-
cia es la serie de potencias:
A(z)

0n
a
n
z
n
Anotaremos A(z)
ogf
a
n

n0
en este caso (ogf es por Ordinary Generating Function).
La funcin generatriz exponencial de la secuencia es la serie:

A(z)

0n
a
n
z
n
n!
Anotaremos

A(z)
egf
a
n

0
en este caso (egf es por Exponential Generating Function).
Por comodidad, a veces escribiremos estas relaciones con la funcin generatriz al lado derecho.
12.4.1. Reglas OGF
Las propiedades siguientes de funciones generatrices ordinarias son directamente las denicio-
nes del caso o son muy simples de demostrar, sus justicaciones detalladas quedarn de ejercicios.
12.4. MANIPULACINDE SERIES 199
Linealidad: Si A(z)
ogf
a
n

n0
y B(z)
ogf
b
n

n0
, y y son constantes, entonces:
A(z) +B(z)
ogf

_
a
n
+b
n
_
n0
Secuencia desplazada a la izquierda: Si A(z)
ogf
a
n

n0
, entonces:
A(z) a
0
a
1
z a
k1
z
k1
z
k
ogf
a
n+k

0
Multiplicar por n: Consideremos:
A(z)
ogf
a
n

0
z
d
dz
A(z)
ogf
na
n

0
Esta operacin se expresa en trminos del operador zD. Adems:
(zD)
2
A(z)
ogf

_
n
2
a
n
_
n0
Ntese que (zD)
2
zD+z
2
D
2
es diferente de z
2
D
2
.
Multiplicar por un polinomio en n: Si p(n) es un polinomio, entonces:
p(zD)A(z)
ogf

_
p(n)a
n
_
n0
Convolucin: Si A
ogf
a
n

n0
y B
ogf
b
n

n0
entonces:
A(z) B(z)
ogf

_

0kn
a
k
b
nk
_
n0
Sea k un entero positivo y A(z)
ogf
a
n

n0
, entonces:
(A(z))
k
ogf

_

n
1
+n
2
++n
k
n
_
a
n
1
a
n
2
a
n
k
_
_
n0
Un caso especial vale la pena tenerlo presente:
(A(z))
2
ogf

_

0i n
a
i
a
ni
_
n0
Sumas parciales: Supongamos:
A(z)
ogf
a
n

n0
Podemos escribir:

0kn
a
n

0kn
1 a
n
Esto no es ms que la convolucin de las secuencias 1
n0
y a
n

n0
, y la funcin generatriz
de la primera es nuestra vieja conocida, la serie geomtrica, con lo que:
A(z)
1z
ogf

_

0kn
a
k
_
n0
200 CAPTULO12. FUNCIONES GENERATRICES
Un primer ejemplo clsico (ver por ejemplo Knuth [176]) es el anlisis de bsqueda binaria.
Supongamos que contamos con un arreglo ordenado de n claves k
1
<k
2
< <k
n
, dada una clave k
nos interesa identicar 1 j n tal que k k
j
(bsqueda exitosa). Bsqueda binaria compara k con
el elemento medio, en r ](n +1)/2]. Si k k
r
, estamos listos. En caso contrario, si k <k
r
seguimos
la bsqueda en k
1
, . . . , k
r 1
, mientras que si k >k
r
seguimos la bsqueda en k
r +1
, . . . , k
n
. Interesa el
nmero promedio b
n
de comparaciones en bsquedas exitosas, si k se elige al azar. Hay un nico
elemento que puede encontrarse con una comparacin, el elemento medio. Hay dos que pueden
encontrarse con dos comparaciones, y as sucesivamente hasta llegar a un mximo de 1+]log
2
n]
comparaciones. Si sumamos el nmero de comparaciones para cada una de las n claves:
b
n

1
n
_
1+2+2+3+3+3+3+ +(1+]log
2
n])
_
Para calcular la suma, consideramos la secuencia innita 0, 1, 2, 2, 3, 3, 3, 3, . . . , que se obtiene de su-
mar secuencias 0, 1, 1, . . . , 0, 0, 1, 1, . . . , y as sucesivamente, donde la k-sima secuencia comienza
con 2
k
ceros. Podemos representar la secuencia como los coecientes de la serie:
L(z)
z
1z
+
z
2
1z
+ +
z
2
k
1z
+

k0
z
2
k
1z
Nos interesan sumas parciales:
nb
n

_
z
n
_ 1
1z

k0
z
2
k
1z

_
z
n
_
k0
z
2
k
(1z)
2

k0
_
z
n2
k
_
z
2
k
(1z)
2

k0
_
n 2
k
+1
n 2
k
_

0k]log
2
n]
(n +12
k
)
(n +1)(]log
2
n] +1)

0k]log
2
n]
2
k
(n +1)]log
2
n] +n 2
]log
2
n]+1
+2
Manipulaciones formales que dan directamente lo que buscamos.
12.4.2. Reglas EGF
Las siguientes resumen propiedades de las funciones generatrices exponenciales. Son simples
de demostrar, y las justicaciones que no se dan ac quedarn de ejercicios.
Linealidad: Si

A(z)
egf
a
n

n0
y

B(z)
egf
b
n

n0
, y y son constantes, entonces:

A(z) +

B(z)
egf

_
a
n
+b
n
_
n0
Secuencia desplazada a la izquierda: Si

A(z)
egf
a
n

n0
, entonces:
D
k

A(z)
egf
a
n+k

n0
12.5. EL TRUCO zDlog 201
Multiplicacin por un polinomio en n: Si es

A(z)
egf
a
n

n0
, y p es un polinomio, entonces:
p(zD)

A(z)
egf

_
p(n)a
n
_
n0
Es la misma que en funciones generatrices ordinarias, ya que la operacin zD no altera el
exponente en z
n
.
Convolucin binomial: Si

A(z)
egf
a
n

n0
y

B(z)
egf
b
n

n0
entonces:

A(z)

B(z)

n0
_

0kn
a
k
k!
,
b
nk
(n k)!
_
z
n

n0
_

0kn
_
n
k
_
a
k
b
nk
_
z
n
n!
Vale decir:

A(z)

B(z)
egf

_

0kn
_
n
k
_
a
k
b
nk
_
n0
Trminos individuales: Es fcil ver que si

A(z)
egf
a
n

n0
entonces:
a
n


A
(n)
(0)
Esto en realidad no es ms que el teorema de Maclaurin.
12.5. El truco zDlog
Los logaritmos ayudan a simplicar expresiones con exponenciales y potencias. Pero termi-
namos con el logaritmo de una suma si el argumento es una serie, que es algo bastante feo de
contemplar. Eliminar el logaritmo se logra derivando:
dln(A)
dz

A
t
A
Esto es mucho ms decente. Multiplicamos por z para reponer la potencia perdida al derivar.
Receta:
1. Aplicar zDln.
2. Multiplicar para eliminar fracciones.
3. Igualar coecientes.
12.6. Ejemplos de manipulacin de series
Un ejemplo inicial de aplicacin de las ideas planteadas es obtener la suma de los primeros N
cuadrados. Por la suma de la serie geomtrica, teorema 3.6:
1+z +z
2
+ +z
N

1z
N+1
1z
(zD)
2
_
1+z +z
2
+ +z
N
_
(zD)
2
1z
N+1
1z
_
0
2
+1
2
z +2
2
z
2
+ +N
2
z
N
_

z1
lm
z1
(zD)
2
1z
N+1
1z
202 CAPTULO12. FUNCIONES GENERATRICES
Ntese que todas las expresiones involucradas son polinomios, con lo que cuestiones de convergen-
cia y validez de las operaciones no son problema.
El resto es derivar, calcular lmites y lgebra:

1kN
k
2

N(N +1)(2N +1)


6
La misma idea sirve para otras potencias.
La maquinaria de funciones generatrices permite obtener en forma rutinaria resultados que de
otra forma seran complicados de sospechar, y luego deberan ser demostrados por induccin. La
operatoria suele ser tediosa, es til tener un programa de lgebra simblica (como maxima [203]) a
la mano.
Otra aplicacin es obtener la serie para A(z)

, una potencia arbitraria ( C) de una serie A(z)


que ya conocemos. Sea entonces:
A(z)

n0
a
n
z
n
donde a
0
/0. Denimos:
B(z) A

(z)

n0
b
n
z
n
Aplicando la receta zDlog obtenemos:
zB
t
(z)
B(z)
z
A
t
(z)
A(z)
zB
t
(z) A(z) z A
t
(z) B(z)
_

n0
nb
n
z
n
_

_

n0
a
n
z
n
_

_

n0
na
n
z
n
_

_

n0
b
n
z
n
_

n0
_

0kn
kb
k
a
nk
_
z
n

n0
_

0kn
ka
k
b
nk
_
z
n
De ac sigue, igualando coecientes:

0kn
a
k
(n k)b
nk

0kn
ka
k
b
nk
Nuevamente, esto involucra slo nitas operaciones. Finalmente:

0kn
_
a
k
(n k)b
nk
ka
k
b
nk
_
0

0kn
(n k k)a
k
b
nk
0
de donde resulta:
na
0
b
n

_

1kn
(n k k)a
k
b
nk
_
b
n

1
na
0

1kn
(n k k)a
k
b
nk
Para comenzar la recurrencia, usamos:
b
0
a

0
Comprese esta recurrencia con la expresin explcita para una potencia entera de una serie que
derivamos antes.
12.7. FUNCIONES GENERATRICES ENCOMBINATORIA 203
12.7. Funciones generatrices en combinatoria
De nuevo la Competencia de Ensayos de la Universidad de Miskatonic. Para simplicar notacin,
sea a
r
b
2r +1
. Tenemos que:
a
r +1
a
r
r +2
La condicin de contorno es que a
0
b
1
1. Llamemos A(z) a la funcin generatriz ordinaria de la
secuencia a
r

r 0
:
A(z)

r 0
a
r
z
r
Las funciones generatrices de los primeros trminos de la recurrencia son:
a
r +1

r 0
ogf

A(z) a
0
z

A(z) 1
z
a
r

r 0
ogf
A(z)
Necesitamos adems la funcin generatriz de la secuencia r +2, que no es ms que la secuencia
1
r 0
multiplicada por el polinomio r +2, con lo que:
r +2
r 0
ogf
(zD+2)
1
1z

z
(1z)
2
+
2
1z
Combinando las anteriores, tenemos:
A(z) 1
z
A(z)
z
(1z)
2
+
2
1z
Despejando A(z) se tiene:
A(z)
1
(1z)
3
y los coecientes del caso son inmediatos:
a
r
(1)
r
_
3
r
_

_
2+r
2
_

(r +1)(r +2)
2
Nuevamente resulta:
b
2r +1

(r +1)(r +2)
2
Esta derivacin es an ms simple que la anterior.
Otro ejemplo lo ofrecen las fuentes (fountain en ingls), formadas por monedas de forma que
cada moneda est en contacto con dos monedas de la la anterior. Si la fuente es tal que las monedas
en cada la estn contiguas, se les llama fuentes de bloque (en ingls block fountain). Un ejemplo
muestra la gura 12.5. Interesa saber el nmero de fuentes de bloque cuya primera la (su base)
tiene n monedas, llammosle f
n
a este nmero.
Un poco de experimentacin lleva a f
0
1 (hay una nica forma de armar una fuente con base
0), f
1
1, f
2
2 y f
3
5. Es claro que si a una fuente con base n monedas le quitamos la base, queda
una fuente con base a lo ms n 1 monedas. Si no hay monedas en la segunda la, hay una sola
fuente; si es k 1 el largo de la segunda la de monedas, tenemos una fuente de base k a partir de
204 CAPTULO12. FUNCIONES GENERATRICES
Figura 12.5 Una fuente de bloque
la segunda la y esta fuente puede ubicarse sobre la base en (n 1) k +1 n k posiciones. En
consecuencia tenemos la recurrencia:
f
n
1+

1kn
(n k) f
k
(n 1) f
0
1 (12.42)
Esto da los valores:
1, 1, 2, 5, 13, 34, 89, 233, 610, 1597, . . . (12.43)
La sumatoria en (12.42) es la convolucin de n
n1
con f
n

n1
. Denimos la funcin generatriz
ordinaria:
f (z)

n0
f
n
z
n
(12.44)
Como:
1
1z
1
ogf
1
n1
1
(1z)
2
1
ogf
n
n1
f (z) 1
ogf
f
n

n1
aplicando las propiedades de las funciones generatrices ordinarias resulta:
f (z) 1
z
1z
+
z
(1z)
2
( f (z) 1) (12.45)
Despejando f (z) obtenemos:
f (z)
12z
13z +z
2

5+
_
5
10

1
1z
3
_
5
2
+
5
_
5
10

1
1z
3+
_
5
2
(12.46)
Ciertamente bastante feo, pero da lugar a la expansin explcita:
f
n

5+
_
5
10
_
3
_
5
2
_
n
+
5
_
5
10
_
3+
_
5
2
_
n
(12.47)
Una forma instructiva de obtener el nmero de subconjuntos de k elementos de un conjunto de
n elementos es partir de la recurrencia (ver el teorema 11.7):
_
n +1
k +1
_

_
n
k +1
_
+
_
n
k
_ _
0
k
_
[k 0]
_
n
0
_
1 (12.48)
Si denimos la funcin generatriz bivariada:
C(x, y)

k0
n0
_
n
k
_
x
k
y
n
(12.49)
12.7. FUNCIONES GENERATRICES ENCOMBINATORIA 205
Por las propiedades de las funciones generatrices ordinarias resulta:
C(x, y) C(0, y) C(x, 0) +C(0, 0)
xy
C(x, y) +
C(x, y) C(0, y)
x
(12.50)
El lado izquierdo es partir de la suma (12.49), restar la la con k 0 y la columna con n 0; pero al
hacerlo hay que reponer el coeciente con k n 0 que se rest dos veces. Luego se divide por xy
para ajustar los exponentes. Por las condiciones de contorno:
C(0, 0) 1 C(x, 0)

k0
_
0
k
_
x
k
1 C(0, y)

n0
_
n
0
_
y
n

1
1y
(12.51)
Resulta nuevamente la funcin generatriz (12.32).
La presente discusin se inspira en [27]. Consideremos rboles binarios ordenados completos,
denidos mediante:
(I) Un vrtice aislado es un rbol binario ordenado completo (esta es la raz del rbol y su nica
hoja)
(II) Si T
1
y T
2
son rboles binarios ordenados completos, lo es la estructura que agrega un nuevo
nodo como raz y pone la raz de T
1
como descendiente izquierdo de la raz y la raz de T
2
como su descendiente derecho.
Nos interesa determinar el nmero de estas estructuras con n hojas, que llamaremos b
n
. Claramente
b
0
0 y b
1
1. Para n >1, tendremos dos subrboles; si el izquierdo aporta k hojas el derecho aporta
nk, y el nmerode rboles que podemos crear enesta situacin, por la regla del productoes b
k
b
nk
.
Pero debemos considerar todos los posibles valores de k, la regla de la suma nos dice para n >1:
b
n

1kn1
b
k
b
nk
(12.52)
Fcilmente podemos calcular los primeros valores:
0, 1, 1, 2, 5, 14, 42, 132, . . . (12.53)
Si denimos la funcin generatriz ordinaria B(z) de los b
n
, aplicando nuestra receta queda para
n >1:

n2
b
n
z
n

n2
z
n

1kn1
b
k
b
nk
B(z) b
0
b
1
z

n2

1kn1
b
k
z
k
b
nk
z
n1k

k1
b
k
z
k
_

k1
b
k
z
k
_
(B(z) b
0
)
2
B(z) z B
2
(z) (12.54)
De (12.54) resulta:
B(z)
1
_
14z
2
Como debe ser b
0
0, el signo correcto es el negativo:
B(z)
1
_
14z
2
(12.55)
206 CAPTULO12. FUNCIONES GENERATRICES
Expandiendo la raz mediante el teorema del binomio:
B(z)
1
_
1+

n1
(1)
n1
n2
2n1
_
2n2
n1
_
(1)
n
2
2n
z
n
_
2

n1
1
n
_
2n 2
n 1
_
z
n

n1
C
n1
z
n
(12.56)
Nuevamente nmeros de Catalan. De la suma (12.56) y la condicin b
0
0 tenemos:
b
n

_
0 si n 0
C
n1
si n 1
(12.57)
Consideramos ahora rtulos a ser distribuidos entre las hojas, nos interesa determinar cuntas
estructuras rotuladas de esta forma pueden crearse. Llamemos c
n
a este nmero. Nuevamente es
c
0
0 y c
1
1, y al considerar cmo construir una estructura con n hojas para n > 1 nuevamente
tendremos que si el lado izquierdo tiene k hojas el derecho tiene n k. Falta distribuir los rtulos,
debemos elegir k entre n para el lado izquierdo (y quedan n k para el derecho), con lo que ahora
las posibilidades son:
_
n
k
_
c
k
c
nk
(12.58)
Considerando todas las opciones tenemos la recurrencia para n 2:
c
n

n1
_
n
k
_
c
k
c
nk
(12.59)
Como aparece una convolucin binomial, intentamos la funcin generatriz exponencial

C(z). Apli-
cando la receta:

n2
c
n
z
n
n!

n2

1kn1
_
n
k
_
c
k
c
nk
z
n
n!

C(z)
c
0
0!

c
1
z
1!

_

C(z)
c
0
0!
_
2

C(z) z

C
2
(z) (12.60)
Siguiendo un desarrollo similar al de arriba, queda:
c
n

_
0 si n 0
(n 1)!
2
n
_
2n 2
n 1
_
si n 1
(12.61)
La importancia de las funciones generatrices en combinatoria reside en relaciones como (12.52)
y (12.59), que sugieren productos de funciones generatrices, y que nalmente llevan a ecuaciones
para la funcin generatriz. Resolviendo esta y extrayendo los coecientes tenemos los valores de
inters.
12.8. Aceite de serpiente
Discutiremos un mtodo para deducir (y demostrar) identidades para sumatorias. Wilf [292] le
llama Snake Oil Method, por la cura milagrosa que se ve en las pelculas del viejo oeste. La manera
tradicional de simplicar sumatorias (particularmente las que involucran coecientes binomia-
les) es aplicar identidades u otras manipulaciones de los ndices, como magistralmente exponen
Knuth [174] y Graham, Knuth y Patashnik [119]. Ac mostramos un mtodo alternativo, que no
requiere saber y aplicar una enorme variedad de identidades. La tcnica en s es bastante simple:
12.8. ACEITE DE SERPIENTE 207
1. Identicar la variable libre, llammosle n, de la que depende la suma. Llamemos f (n) a nuestra
suma.
2. Sea F(z) la funcin generatriz ordinaria de la secuencia f (n)
n0
.
3. Multiplique la suma por z
n
y sume sobre n. Tenemos F(z) expresado como una doble suma,
sobre n y la variable de la suma original.
4. Intercambie el orden de las sumas, y exprese la suma interna en forma simple y cerrada.
5. Encuentre los coecientes, son los valores de f (n) buscados.
El xito depende de los ltimos dos pasos. Sorprende la alta tasa de xitos. Tiene la ventaja adicional
de que no requiere mayor creatividad; si funciona, esto resulta claro, y cuando no funciona tambin
es obvio.
Usaremos la convencin que toda suma sin restricciones es sobre el rango a . Como los
coecientes binomiales
_
n
k
_
que usaremos en los ejemplos se anulan cuando k no est en el rango
[0, n], esto evita interminables ajustes de ndices. Por ejemplo, para n 0 tenemos:

k
_
n
r +k
_
x
k
x
r

k
_
n
r +k
_
x
r +k
x
r

s
_
n
s
_
x
s
x
r
(1+x)
n
Ejemplo 12.1. Evaluar:

k
_
k
n k
_
Aplicamos la receta. La variable libre es n. Llamamos g(n) a nuestra suma, la funcin generatriz
es G(z). Multiplicamos por z
n
y sumamos:
G(z)

k
_
k
n k
_
z
n

n
_
k
n k
_
z
n

k
z
k

n
_
k
n k
_
z
nk

k
z
k

r
_
k
r
_
z
r

k
z
k
(1+z)
k

1
1z(1+z)

1
1z z
2
Esto se parece sospechosamente a la funcin generatriz (16.7) de los nmeros de Fibonacci que
discutiremos en la seccin 16.3, como F
0
0 vemos que:
G(z)
F(z) F
0
z
Por las propiedades de las funciones generatrices ordinarias, es g(n) F
n+1
.
Nuestro siguiente problema viene de Riordan [244], donde se resuelve mediante delicadas ma-
niobras. Nuestro desarrollo sigue a [81].
Ejemplo 12.2. Evaluar:
h
n

0kn
(1)
nk
4
k
_
n +k +1
2k +1
_
Denimos H(z) como:
H(z)

n0
h
n
z
n
208 CAPTULO12. FUNCIONES GENERATRICES
Multiplicamos por z
n
, sumamos para n 0 e intercambiamos orden de suma:
H(z)

n0
z
n

0kn
(1)
nk
4
k
_
n +k +1
2k +1
_

n0

0kn
(4)
k
(z)
n
_
n +k +1
2k +1
_

k0
(4)
k

nk
_
n +k +1
2k +1
_
(z)
n
Para completar el trabajo necesitamos la suma interna. Haciendo el cambio de variable r n k:

nk
_
n +k +1
2k +1
_
(z)
n
(z)
k

r 0
_
r +2k +1
2k +1
_
(z)
r

(z)
k
(1+z)
2k+2
Substituyendo en lo anterior:
H(z)

k0
(4z)
k
(1+z)
2k+2

1
(1+z)
2

1
1
4z
(1+z)
2

1
(1z)
2
Resta extraer los coecientes, lo que da:
h
n
(1)
n
_
2
n
_

_
n +1
1
_
n +1
Nuestro siguiente ejemplo es una sumatoria que le dio problemas a Knuth, como comenta en el
prefacio de [229].
Ejemplo 12.3. Considere la suma:

k
_
2n 2k
n k
__
2k
k
_
Sabemos que la secuencia comienza 1, 4, 16, 64, . . . , por lo que sospechamos que la suma vale 4
n
.
Aplicando nuestra receta, con s(n) la suma que nos interesa y S(z) la respectiva funcin genera-
triz:
S(z)

n0

0kn
_
2n 2k
n k
__
2k
k
_
z
n

n0
_
2n
n
_
z
n
_
2
En este caso (como en todas las convoluciones) la sumatoria externa simplemente se disuelve sola.
La serie interna es (12.25):
S(z)
_
1
_
14z
_
2

1
14z
Una serie geomtrica, y el resultado s(n) 4
n
es inmediato.
Ejemplo 12.4. Determine el valor de:

0kn
_
n
k
_
2
12.8. ACEITE DE SERPIENTE 209
Esto es esencialmente una convolucin:

0kn
_
n
k
__
n
n k
_
Ac producen problemas los distintos usos de n, delimita el rango de la suma y aparece en los ndices
superiores de los coecientes binomiales. Una solucin en tales casos es demostrar algo ms general.
Dividiendo los distintos usos de n en variables separadas queda:

0kr
_
m
k
__
n
r k
_
Ahora hay varios ndices libres, debemos elegir uno. Vemos que es una convolucin, lo que hace
sospechar que r es til como variable libre. As llamamos v(r ) a nuestra suma, y sufuncingeneratriz
V (z).
V (z)

r 0
z
r

k
_
m
k
__
n
r k
_

k0
_
m
k
_
z
k
_

k0
_
n
k
_
z
k
_
(1+z)
m
(1+z)
n
(1+z)
m+n
En consecuencia, tenemos la convolucin de Vandermonde
1
:

k
_
m
k
__
n
r k
_

_
m+n
r
_
(12.62)
Nuestra suma original es simplemente el caso especial mn r :

k
_
n
k
_
2

k
_
n
k
__
n
n k
_

_
2n
n
_
(12.63)
Nuevamente un caso de la paradoja del inventor.
Finalmente, una identidad.
Ejemplo 12.5. Demostrar que para m, n 0

k0
_
m
k
__
n +k
m
_

k0
_
m
k
__
n
k
_
2
k
(12.64)
Multiplicamos ambos lados de (12.64) por z
n
y sumamos, obteniendo la identidad L(z) R(z) al
igualar lado izquierdo con derecho:
L(z)

n0
z
n

k0
_
m
k
__
n +k
m
_
R(z)

n0
z
n

k0
_
m
k
__
n
k
_
2
k
1
Otro caso de injusticia histrica: Unos 400 aos antes la conoca Zhu Shije en China [16, pginas 59-60]
210 CAPTULO12. FUNCIONES GENERATRICES
Partimos por el lado izquierdo:
L(z)

k0
_
m
k
_
z
k

n0
_
n +k
m
_
z
n+k
Por la suma externa sabemos que 0 k m, como en realidad la suma interna es para n +k m:
L(z)

k0
_
m
k
_
z
k
z
m
(1z)
m+1

_
1+
1
z
_
m
z
m
(1z)
m+1

(1+z)
m
(1z)
m+1
El lado derecho recibe un tratamiento similar:
R(z)

k0
_
m
k
_
2
k

n0
_
n
k
_
z
n

k0
_
m
k
_
2
k
z
k
(1z)
k+1

1
1z

k0
_
m
k
_
_
2z
1z
_
k

1
1z
_
1+
2z
1z
_
m

(1+z)
m
(1z)
m+1
Se verica la identidad.
Hay mtodos complementarios, capaces de resolver automticamente grandes clases de suma-
torias, o demostrar que no hay expresiones simples para ellas. Petkovek, Wilf y Zeilberger [229]
los describen en detalle, y hay implementaciones de los mismos para los principales paquetes de
lgebra simblica. Cipra [59] incluso se queja que estas demostraciones automatizadas quitan la
entretencin a las matemticas.
12.9. Retrospectiva
Las funciones generatrices son una herramienta sorprendentemente exible, aplicable en una
amplia variedad de situaciones. Ac las hemos usado para resolver recurrencias en la Competencia
de Ensayos de la Universidad de Miskatonic. En el problema de cambio de monedas de Plya el
planteo como funcingeneratriz lleva a una manera eciente de calcular una combinacincompleja.
La solucin del problema de franqueo de Sylvester muestra cmo usar funciones generatrices para
representar conjuntos. Al derivar una frmula para la suma de los primeros cuadrados vimos que
pueden usarse para derivar identidades, cosa que tambin provee el mtodo de aceite de serpiente.
Vimos tambin cmo pueden aplicarse operaciones sobre funciones generatrices para representar
operaciones combinatorias. Veremos extensiones y renamientos de estos usos en lo sucesivo.
13 Principio de inclusin y exclusin
Habamos concluido que [A B[ [A[ +[B[ [A B[. Interesa generalizar para ms conjun-
tos. La gura 13.1 muestra tres conjuntos y sus intersecciones. Calcular [A BC[ es contar los
A B
C

Figura 13.1 Intersecciones entre tres conjuntos


elementos que pertenecen al menos a uno de los conjuntos. Comenzamos con [A[ +[B[ +[C[. Las
intersecciones se cuentan dos veces, debemos restar [A B[ +[A C[ +[BC[. Hemos restado
[A BC[ dems, debemos restituirlo:
[A BC[
_
[A[ +[B[ +[C[
_

_
[A B[ +[A C[ +[BC[
_
+[A BC[
El nmero de elementos que pertenecen exactamente a uno de los conjuntos es:
([A[ +[B[ +[C[) 2 ([A B[ +[A C[ +[BC[) +3 [A BC[
Al sumar los tamaos de los tres conjuntos incluimos dos veces las intersecciones en pares y tres
veces la interseccin entre los tres, debemos restarlas; al restar dos veces las tres intersecciones a
pares estamos restando seis veces la interseccin entre los tres conjuntos, debemos reponerla tres
veces. Al resultado general se le llama principio de inclusin y exclusin, porque incluimos dems, y
luego corregimos excluyendo.
El tratamiento que sigue no es tradicional, seguimos a Wilf [292]. Tomamos unconjunto universo,
y los conjuntos que consideramos se representan mediante propiedades (un elemento pertenece a
uno de los conjuntos si tiene la propiedadque representa a ese conjunto). Las diversas intersecciones
quedan expresadas a travs de los elementos que tienen todas las propiedades correspondientes a
los conjuntos intersectados.
Sean:
: El universo. Un conjunto de objetos.
211
212 CAPTULO13. PRINCIPIODE INCLUSINY EXCLUSIN
P: Un conjunto de propiedades que los objetos pueden tener.
S : Un subconjunto de las propiedades, S P.
N(S ): Nmero de objetos con las propiedades en S (esto no quiere decir que no puedan tener
otras).
Buscamos calcular cuntos objetos tienen exactamente t de las propiedades.
Para r 0 denimos:
N
r

[S [r
N(S ) (13.1)
Esto es la suma del tamao de los conjuntos de objetos con al menos r de las propiedades. El
conjunto de los objetos con al menos cero propiedades es el universo, o sea N
0
[[. Si hay r
propiedades en total, N
r
es el nmero de objetos con todas las propiedades.
Denote un objeto, y llamemos P() al conjunto de propiedades de . Entonces:
N
r

[S [r
N(S )

[S [r
_

S P()
1
_

_

S P()
[S [r
1
_

_
[P()[
r
_
(13.2)
En espaol dice: Si el objeto tiene un total de [P()[ propiedades, puedo elegir r de sus propiedades
de
_
[P()[
r
_
formas.
Ahora sea e
t
el nmero de objetos con exactamente t propiedades, es decir:
e
t

[P()[t
1 (13.3)
Cada uno de los e
t
objetos con t propiedades aporta lo mismo a N
r
(se considera una vez por cada
subconjunto de r de sus propiedades):
N
r

_
[P()[
r
_

t 0
_
t
r
_
e
t
(13.4)
Del sistema lineal (13.4) se busca despejar los e
t
. Para esta tarea denimos las funciones generatrices:
E(z)

t 0
e
t
z
t
(13.5)
N(z)

r 0
N
r
z
r
(13.6)
Substituyendo la expresin (13.4) para N
r
en la denicin (13.6) de N(z):
N(z)

r 0
N
r
z
r

r 0
_

t 0
_
t
r
_
e
t
_
z
r

t 0
e
t
_

r 0
_
t
r
_
z
r
_

t 0
e
t
(1+z)
t
E(1+Z)
De ac se tiene la frmula central:
E(z) N(z 1) (13.7)
De la expresin (13.7) podemos extraer el e
t
que se quiera:
e
t

_
z
t
_
E(z)
_
z
t
_
N(z 1)
_
z
t
_
r 0
N
r
(z 1)
r

r 0
N
r
_
z
t
_
(z 1)
r

r 0
(1)
t r

_
r
t
_
N
r
(13.8)
213
La frmula (13.8) expresa el celebrado principio de inclusin y exclusin. Adems de ser mucho
ms simple que la demostracin tradicional, nuestro desarrollo no hace necesario recordar esta
engorrosa frmula, da las herramientas para deducirla sin mayor esfuerzo cada vez que la necesite-
mos, y en muchos casos obtener los resultados buscados directamente sin tener que recurrir a ella
explcitamente, usando la funcin generatriz E(z).
Esta tcnica es sencilla de aplicar cuando se buscanlos que no tienenninguna de las propiedades,
conviene tratar de ajustar la denicin de las propiedades de forma adecuada. Tambin es crtico
que el clculo de los N(S) y, en consecuencia, de los N
r
, sea simple, cosa que nuevamente depende
de la eleccin de las propiedades.
Volvamos al ejemplo de tres conjuntos, donde nos interesa saber cuntos elementos pertenecen
exactamente a uno de ellos, o sea e
1
, como en la gura 13.1. En tal caso:
N
0
[[ N
1
[A[ +[B[ +[C[
N
2
[A B[ +[A C[ +[BC[ N
3
[A BC[
Resultan ser:
N(z) N
0
+N
1
z +N
2
z
2
+N
3
z
3
E(z) (N
0
N
1
+N
2
N
3
) +(N
1
2N
2
+3N
3
)z +(N
2
3N
3
)z
2
+N
3
z
3
Hay e
1
N
1
2N
2
+3N
3
elementos que pertenecen a exactamente un conjunto, como dedujimos
antes.
Tpicamente interesa saber cuntos de los objetos no tienen ninguna de las propiedades, lo que
en nuestro caso es (A BC). O sea, e
0
E(0) N(1) N
0
N
1
+N
2
N
3
.
La unin de todos los conjuntos, en este caso A BC, la componen los que pertenecen al
menos a uno de los conjuntos, vale decir, todos menos los que no pertenecen a ninguno:
[A BC[

t 0
e
t
e
0
E(1) E(0) N(0) N(1) N
1
N
2
+N
3
Nuevamente coincide con lo que obtuvimos antes.
Si slo interesa calcular el nmero promedio de propiedades por objeto, como t
_
t
1
_
resulta:

t 0
t e
t

t 0
e
t

N
1
N
0
(13.9)
Receta
1. Denir y P, expresar lo que se busca en trminos de e
t
.
2. Calcular los N(S ).
3. Calcular los N
r
, y en consecuencia obtener N(z).
4. e
t

_
z
t
_
N(z 1).
Hay que tener cuidado con esto, ac las series deben converger para que nuestras operaciones
tengan sentido. Normalmente el nmero de propiedades y objetos de inters es nito, as que en
realidad estamos manipulando polinomios y no hay problemas.
Ejemplo 13.1. Un curso rinde pruebas con los profesores Ellery, Upham y Atwood. Nos dicen que
10 aprobaron la prueba de fsica, 15 la de matemticas y 12 pasaron la prueba de qumica; 6 pasaron
fsica y matemticas, 5 pasaron fsica y qumica, mientras 8 pasaron matemticas y qumica. El total
de estudiantes que pasaron al menos una prueba es 20. Cuntos pasaron las tres pruebas?
Aplicamos nuestra receta:
214 CAPTULO13. PRINCIPIODE INCLUSINY EXCLUSIN
1. El universo es el grupo de 20 estudiantes que aprobaronalguna de las pruebas, las propiedades
son las pruebas aprobadas (F, M,Q). Interesan los que aprobaron todas las pruebas, o sea e
3
.
2. Los N(S ) estn dados en el enunciado. Por ejemplo, dice que N({F,Q}) 5.
3. Como se coment antes, al haber 3 propiedades es N
3
e
3
. Tenemos:
N
0
[[ 20
N
1
N({F}) +N({M}) +N({Q}) 10+15+12 37
N
2
N({F, M}) +N({F,Q}) +N({M,Q}) 6+5+8 19
N
3
N({F, M,Q}) e
3
Resulta:
N(z) 20+37z +19z
2
+e
3
z
3
4. Como todos los estudiantes del universo han aprobado al menos una de las pruebas:
e
0
0 E(0) N(1) 2e
3
Con esto resulta e
3
2.
Pero tambin tenemos:
E(z) N(z 1)
5z +13z
2
+2z
3
lo que dice que 5 aprobaron una nica prueba y que 13 aprobaron dos.
Ejemplo 13.2. Cuntos nmeros de largo n escritos en decimal tienen un nmero par de ceros?
Para tener valores con los cuales contrastar, analicemos algunos casos. Anotamos 9 para un
dgito no cero, y 0 para un cero en cuadro 13.1, y contamos cuntos de cada tipo hay.
n Descripcin N
1 9 9
2 99 81
3 999+900 738
4 9999+9900+9090+9009 6 804
Cuadro 13.1 Posibilidades con un nmero par de ceros
El universo es el conjunto de todos los nmeros con n dgitos. La propiedad i es que el dgito
i -simo es cero. Lo que interesa entonces es:
e
0
+e
2
+

r 0
e
2r
Podemos extraer nicamente los trminos con potencia par mediante:
E(z) +E(z)
2

r 0
e
2r
z
2r
215
y nuestra suma no es ms que:
E(1) +E(1)
2
Esto es vlido, ya que estamos trabajando con polinomios.
Un nmero decimal de n dgitos comienza con un dgito no cero, los dems n1 dgitos pueden
ser cualquiera. En este caso podemos calcular los e
r
directamente, observando que hay r posiciones
para los ceros, elegidas de entre n 1 posiciones, los otros n r dgitos (incluyendo el primero)
pueden tomar uno de los 9 valores restantes:
e
r

_
n 1
r
_
9
nr
E(z) 9

r 0
_
n 1
r
_
9
n1r
z
r
9 (9+z)
n1
y el nmero buscado resulta ser:
1
2
(E(1) +E(1))
1
2
_
9 (9+1)
n1
+9 (91)
n1
_

9
2
_
10
n1
+8
n1
_
Esto coincide con los valores calculados antes, tabla 13.1.
Ejemplo 13.3. Un punto jo de una permutacin ocurre cuando el elemento nmero k es k (vale
decir, para esa permutacin (k) k). Un desarreglo (en ingls derangement) es una permutacin sin
puntos jos. Contar los desarreglos fue planteado primero por Pierre R. de Montmort (16781719).
Siguiendo nuestra receta:
1. : El universo son las n! permutaciones de n elementos. La permutacin tiene la propiedad
i si i es un punto jo en ella. Interesa obtener e
0
.
2. Sea S {1, . . . , n}. Entonces N( S ) corresponde a las permutaciones para las cuales los
elementos de S son jos, slo se pueden mover los n [S [ restantes:
N(S ) (n [S [)!
3. Como r puntos jos pueden elegirse de
_
n
r
_
maneras, se tiene que:
N
r

[S [r
N(S )

[S [r
(n r )!
_
n
r
_
(n r )! (13.10)
Con esto:
N(z)

0r n
_
n
r
_
(n r )! z
r

0r n
n!
r !(n r )!
(n r )! z
r
n!

0r n
z
r
r !
(13.11)
En trminos de la funcin exponencial truncada:
exp[
n
(z)

0kn
z
k
k!
(13.12)
la ecuacin (13.11) es:
N(z) n! exp[
n
(z)
216 CAPTULO13. PRINCIPIODE INCLUSINY EXCLUSIN
4. En particular, e
0
E(0) N(1) es el nmero de desarreglos de n elementos:
D
n
n! exp[
n
(1) (13.13)
n! e
1
(13.14)
Algo como un 37% de las permutaciones no tienen puntos jos. Es curioso que este resultado
dependa tan poco de n.
Consideremos la serie de Maclaurin para e
x
con el resto en la forma de Lagrange, para algn
0 < <1:
e
1

0kn
(1)
k
k!
+
(1)
n+1
(n +1)!
+
e

(n +2)!
(1)
n+2
Tenemos las cotas para el valor absoluto del error que comete la frmula D
n
n!e
1
:
n!
_
1
(n +1)!

e
0
(n +2)!
_
<
n
<n!
_
1
(n +1)!

e
1
(n +2)!
_
1
n +2
<
n
<
n +2e
1
(n +1)(n +2)
<
1
n +1
Para n 1 el error absoluto es menor a 1/2, y D
n
es el entero ms cercano a n!e
1
.
Ms en general, tenemos tambin:
e
t
n!
_
z
t
_
0r n
(z 1)
r
r !
n!
_
z
t
_
0r n

0kr
1
r !
_
r
k
_
z
k
(1)
r k
n!

0r n
1
r !
_
r
t
_
(1)
r t
n!

t r n
(1)
r t
t !(r t )!

n!
t !

0r nt
(1)
r
r !

n!
t !
exp[
nt
(1) (13.15)
Por 13.9 y 13.10 el nmero promedio de puntos jos es:

t
N
1
N
0

_
n
1
_
(n 1)!
n!
1
Curiosamente no depende de n.
El principio de inclusin y exclusin completa las herramientas elementales de la combinatoria
vistas en el captulo 11.
14 Series formales de potencias
Nuestro inters en las series de potencias no es en su capacidad de denir funciones, sino sim-
plemente como una representacin compacta de una secuencia innita. Si dejamos de lado el re-
querimiento de que la serie converja (y dena una funcin), podemos darle sentido incluso a series
como:
f (z)

n0
n!z
n
(14.1)
que slo convergen para z 0, y para las que el anlisis no tiene ningn uso. Por ejemplo, considere-
mos:
s
n

0kn
k k! (14.2)
Si denimos la funcin generatriz:
S(z)

n0
s
n
z
n
(14.3)
Es claro que la serie S(z) de (14.3) diverge para todo z /0. De todas formas, aplicando las propieda-
des de funciones generatrices resulta:
S(z)
z f
t
(z)
1z
(14.4)
Pero a su vez:
z f (z)

n0
n!z
n+1
D(z f (z))

n0
(n +1)!z
n

f (z) 1
z
Por el otro lado, derivando el producto:
D(z f (z)) f (z) +z f
t
(z)
z f
t
(z)
f (z) 1
z
f (z)
S(z)
f (z) 1
z(1z)

f (z)
1z

f (z) 1
z

1
1z
Aplicando nuevamente las propiedades, vemos que:

0kn
k k! (n +1)! 1 (14.5)
217
218 CAPTULO14. SERIES FORMALES DE POTENCIAS
A pesar de su espeluznante derivacin (no falta un paso en que no hagamos operaciones al menos
dudosas con series innitas que slo para z 0 convergen) la relacin (14.5) es correcta, cosa que
el lector escptico demostrar por induccin. Resulta que estas operaciones pueden justicarse
rigurosamente, tema que nos ocupar en este captulo.
Parte de lo que sigue viene de [261], las justicaciones siguen a [158]. Operaciones con series
pueden efectuarse con paquetes de lgebra simblica, como maxima [203], o an mejor con sistemas
especializados como PARI/GP [224]. La biblioteca GiNaC [22, 112] permite manipular expresiones
simblicas, incluyendo series formales, y numricas directamente en C++.
Sea la serie:

n0
a
n
z
n
donde los elementos a
n
pertenecen a un anillo R. La consideramos como una construccin pu-
ramente formal, sin darle sentido a z ni preocuparse por convergencia. La nica restriccin que
impone esto es que toda vez que se calcula un coeciente deben efectuarse un nmero nito de
operaciones (en un anillo arbitrario no son aplicables las ideas de lmite y convergencia, necesarias
para darle sentido a un nmero innito de operaciones). Trataremos el caso en que R es un campo,
o al menos un dominio integral (un anillo conmutativo sin divisores propios de cero). Para evitar
tener que mencionarlo innidad de veces, usaremos la convencin que R es un anillo general, D es
un dominio integral y F es un campo.
Denimos la igualdad entre series formales sobre el anillo R:

n0
a
n
z
n

n0
b
n
z
n
cuando a
n
b
n
para todo n 0
Denimos adems las operaciones:

n0
a
n
z
n

n0
(a
n
)z
n
para R o Z

n0
a
n
z
n
+

n0
b
n
z
n

n0
(a
n
+b
n
)z
n
_

r 0
a
r
z
r
_

s0
b
s
z
s
_

r 0
s0
a
r
b
s
z
r +s

n0
0kn
a
k
b
nk
z
n

n0
_

0kn
a
k
b
nk
_
z
n
Notar que en particular, para constantes y :

n0
a
n
z
n
+

n0
b
n
z
n

n0
(a
n
+b
n
)z
n
Las series formales como denidas ac son un espacio vectorial de dimensin innita sobre el
campo R (con base {z
k
}
k0
), con la operacin adicional de multiplicacin.
Es rutina vericar que las series formales de potencias sobre el dominio integral D con variable
z son un dominio integral, con:
0

n0
0z
n
1

n0
[n 0] z
n
Al anillo de series formales sobre el anillo R lo llamaremos R|z| (recurdese que llamamos R[z] al
anillo de polinomios en z sobre R). Para evitar distinciones intiles consideramos R[z] subanillo de
R|z| de la forma natural.
14.1. UNIDADES Y RECPROCOS 219
14.1. Unidades y recprocos
Sea F un campo. En el anillo de series formales F|z| hay unidades que no son simplemente
constantes (como ocurre en el correspondiente anillo de polinomios formales). Por ejemplo, en
C|z|:
(1z) (1+z +z
2
+z
3
+ ) (1+z +z
2
+ ) (z +z
2
+z
3
+ ) 1
Si a
0
0 la serie no puede tener recproco, ya que no hay forma de crear un trmino constante del
producto en tal caso.
Por otro lado, supongamos que a
0
/0:
_

n0
a
n
z
n
_

_

n0
b
n
z
n
_
1

n0
_

0kn
a
nk
b
k
_
z
n
1
Para n 0 debe ser a
0
b
0
1, o sea, b
0
1/a
0
; luego para n >0 las sumas deben anularse:
b
n

1
a
0

0kn1
a
nk
b
k
Con esto ltimo se obtiene la secuencia de todos los b
n
, que es la secuencia de coecientes del
recproco de la serie A(z).
14.2. Secuencias de series
Para justicar rigurosamente el operar con series formales debemos desarrollar el marco adecua-
do. En trminos generales, las operaciones son vlidas siempre que el clculo de cada coeciente
involucre un nmero nito de operaciones. Por ejemplo, en la seccin 14.1 vimos que el n-simo
coeciente del recproco de una serie cuyo trmino constante no es cero es una combinacin lineal
de los coecientes 0 al n1 de la serie, una suma nita. En contraste, evaluar la serie A(z) en algn
punto implica una suma innita. Usaremos A(0) como una notacin cmoda para
_
z
0
_
A(z), eso s.
Por otro lado, s tiene sentido reemplazar z por z +z
2
en la serie formal A(z). Observamos que:
(z +z
2
)
n
z
n
(z +1)
n
z
n

0kn
_
n
k
_
z
k
Para:
A(z)

n0
a
n
z
n
resulta:
A(z +z
2
)

n0
a
n
z
n

0kn
_
n
k
_
z
k

n0
_

0kn
_
n k
k
_
a
n1
_
z
n
Como cada coeciente de la nueva serie se calcula con un nmero nito de operaciones, tenemos
una serie formal perfectamente denida.
Para generalizar esto, requerimos denir la nocin de lmite de secuencias en R|z|. Informal-
mente, consideramos dos series como cercanas si coinciden sus primeros trminos.
220 CAPTULO14. SERIES FORMALES DE POTENCIAS
Denicin 14.1. El orden de una serie, ord A(z), es el ndice del primer coeciente no cero.
Denicin 14.2. La secuencia de series A
k
(z)
k0
converge a la serie A(z) si
lm
k
ord(A(z) A
k
(z))
En tal caso escribimos lm
k
A
k
(z) A(z).
Si a
nk
[z
n
] A
k
(z), hay un nmero nito de a
nk
que diere de [z
n
] A(z), y en un nmero nito
de operaciones podemos calcular a
n
.
Algunas consecuencias son las siguientes.
Teorema 14.1. Sean A
n
(z)
n0
y B
n
(z)
n0
secuencias de series que convergen a A(z) y B(z) en R|z|,
respectivamente. Entonces:
1. A
n
(z) +B
n
(z)
n0
converge, y lm
n
A
n
(z) +B
n
(z) A(z) +B(z)
2. A
n
(z) B
n
(z)
n0
converge, y lm
n
A
n
(z) B
n
(z) A(z) B(z)
Demostracin. La demostracin es aplicar hechos simples como:
ord(A(z) +B(z)) mn{ord A(z), ordB(z)}
ord(A(z) B(z)) ord A(z) +ordB(z)
Omitiremos los detalles.
Para series en R|z|:
A(z)

n0
a
n
z
n
B(z)

n0
b
n
z
n
Si b
0
0, ord(B(z))
k
k. Consideremos la secuencia:
C
0
(z) a
0
C
1
(z) a
0
+a
1
B(z)
C
2
(z) a
0
+a
1
B(z) +a
2
(B(z))
2
.
.
.
C
k
(z) a
0
+a
1
B(z) +a
2
(B(z))
2
+ +a
k
(B(z))
k
Los coecientes de C
k
(z) coinciden hasta el de orden k con todos los sucesores en la secuencia,
luego esta converge a una serie C(z).
Denicin 14.3. Denimos la composicin de las series A(z) y B(z), donde b
0
0, como:
A(B(z))

n0
a
n
(B(z))
n
lm
k
C
k
(z)
Un teorema importante es:
Teorema 14.2. Para todo U(z) R|z| con U(0) 0, el mapa
U
: R|z| R|z| denido mediante

U
(A(z)) A(U(z)) es un homomorsmo de anillo.
14.2. SECUENCIAS DE SERIES 221
Demostracin. Sean:
A(z)

n0
a
n
z
n
B(z)

n0
b
n
z
n
Demostrar que
U
(A(z) +B(z))
U
(A(z)) +
U
(B(z)) es simple, y queda de ejercicio.
Para la multiplicacin:

U
(A(z)B(z))
U
(A(z))
U
(B(z))

n0
_

0kn
a
k
b
nk
_
U
n

n0
a
n
U
n
_

n0
b
n
U
n
_
lm
N

0nN
_

0kn
a
k
b
nk
_
U
n
lm
N
_

0nN
a
n
U
n
_
lm
N
_

0nN
b
n
U
n
_
lm
N
_

0nN
_

0kn
a
k
b
nk
_
U
n

_

0nN
a
n
U
n
_

_

0nN
b
n
U
n
__
lm
N

N+1n2N
_

0kn
a
k
b
nk
_
U(z)
n
En esto hemos usado el teorema 14.1. Resta demostrar que el ltimo lmite es innito:
ord
_

N+1n2N
_

0kn
a
k
b
nk
_
U(z)
n
_
ordU(z)
N+1
Esto tiende a innito cuando N , y es
U
(A(z) B(z))
U
(A(z))
U
(B(z)).
O sea, operar con las series A(z) y B(z) es lo mismo que operar con las series A(U(z)) y B(U(z)).
La importancia del teorema 14.2 radica en que expresiones como:
1
1z z
2
son ambiguas: Es el recproco de la serie 1 z z
2
, o es tal vez la composicin de 1/(1 u) con
u z +z
2
? El teorema asegura que ambas son la misma serie.
Con las mismas herramientas se pueden justicar sumas y productos innitos de series formales.
Denicin 14.4. Sea la secuencia A
k
(z)
k0
de series formales en R|z|. Decimos que la suma
innita

k0
A
k
(z)
converge si la secuencia

0kN
A
k
(z)
converge en el sentido denido antes cuando N . Igualmente, decimos que el producto innito

k0
A
k
(z)
222 CAPTULO14. SERIES FORMALES DE POTENCIAS
converge si la secuencia

0kN
A
k
(z)
converge cuando N .
Con esto:
Teorema 14.3. Sea A
k
(z)
k0
una secuencia en R|z|. Entonces las siguientes son equivalentes:
1. lm
k
ord A
k
(z)
2.

k0
A
k
(z) converge
3.

k0
(1+A
k
(z)) converge
Demostracin. Demostraremos que (1) equivale a (2), la demostracin que (1) equivale a (3) es
similar, y se omite.
Denamos:
C
n
(z)

0kn
A
k
(z)
Primero demostramos (1) (2). Tenemos:
nk
0
k k
0
: ord A
k
(z) >n
Esto es equivalente a decir:
nk
0
k k
0
: ord(C
k+1
(z) C
k
(z)) >n
O sea, para cada n hay k
0
tal que para todo k k
0
el valor de [z
n
]C
k
(z) es jo, llammosle c
n
.
Consideremos:
C(z)

r 0
c
r
z
r
Por construccin
nk
0
k k
0
: ord(C
k
(z) C(z)) >n
y la secuencia C
k
(z) converge.
Ahora demostramos (2) (1). Si C
k
(z) converge a C(z), entonces:
nk
0
k k
0
: ord(C
k
(z) C(z)) >n
Para tales n y k tenemos C
k
(z) C(z) >n, y
_
z
n
_
A
k
(z) [z] (C
k+1
(z) C
k
(z)) [z]C
k+1
(z) [z]C
k
(z)) 0
lo que es equivalente a
nk
0
k k
0
: ord A
k
(z) >n
que es lo que haba que demostrar.
Ntese que en el mbito de los reales a
n
0 no asegura que

a
n
ni

(1+a
n
) converjan.
14.3. EL PRINCIPIODE TRANSFERENCIA 223
14.3. El principio de transferencia
Cuando R R o R C, es obvio preguntarse sobre la relacin entre la serie formal y la funcin
denida por la serie de potencias. Es claro que no toda serie formal corresponde a una funcin
analtica, por ejemplo la serie

n0
n!z
n
converge nicamente para z 0. Pero como 0! 1, tiene un recproco como serie formal:
_

n0
n!z
n
_
1
1z z
2
3z
3
13z
4
71z
5
461z
6

Razonamientos vlidos para series formales no necesariamente tienen sentido para series de poten-
cias.
Por el otro lado, si dos series de potencias son idnticas como funciones analticas lo son como
series formales:
Teorema 14.4 (Principio de transferencia). Sean:
A(z)

n0
a
n
z
n
B(z)

n0
b
n
z
n
funciones reales o complejas, analticas en un vecindario U no vaco de cero. Si A(z) B(z) para todo
z U, entonces a
n
b
n
para todo n N
0
.
Demostracin. Bajo las suposiciones, C(z) A(z) B(z) es analtica e idnticamente 0 en U. Por el
teorema de Taylor, esto signica que todos los coecientes de C(z) son cero:
_
z
n
_
C(z)
_
z
n
_
(A(z) B(z))
_
z
n
_
A(z)
_
z
n
_
B(z) a
n
b
n
0
Esto permite demostrar algunas identidades en forma simple. Por ejemplo, tenemos las expan-
siones:
e
z

n0
z
n
n!
para todo z C
ln(1+z)

n1
z
n
n
para [z[ <1
Como para las funciones analticas respectivas exp(ln(1+z)) 1+z, esto vale para las series formales.
Vericarlo en forma directa involucra largos y complicados clculos.
14.4. Derivadas e integrales formales
Denimos:
d
dz
_

n0
a
n
z
n
_

n1
na
n
z
n1

n0
(n +1)a
n+1
z
n
224 CAPTULO14. SERIES FORMALES DE POTENCIAS
Esta es una denicin puramente formal, no intervienen lmites ni el signicado de la serie como
funcin. Denimos adems para una serie formal f (z):
f
(0)
(z) f (z)
f
(n+1)
(z)
d
dz
f
(n)
(z)
Una notacin alternativa til es:
Df (z)
d
dz
f (z)
bajo el entendido D
n
f (z) f
(n)
(z). Para las primeras derivadas se suele usar:
f
t
(z)
df
dx
f
tt
(z)
d
2
f
dx
2
f
ttt
(z)
d
3
f
dx
3
Tenemos tambin:
Teorema 14.5. Sean f (z) y g(z) series formales. Entonces:
D
n
_
af (z) +bg(z)
_
af
(n)
(z) +bg
(n)
(z)
D
n
_
f (z) g(z)
_

0kn
_
n
k
_
f
(k)
(z) g
(nk)
(z)
La frmula para las derivadas de un producto se conoce bajo el nombre de Leibniz. Las demos-
traciones son rutinarias, y quedan de ejercicio.
Para la composicin de series denida antes
Teorema 14.6 (Regla de la cadena). Sean f (z) y g(z) series formales, con g(0) 0. Entonces:
d
dz
f (g(z)) f
t
(g(z)) g
t
(z)
Para demostrarlo, primeramente se demuestra la derivada de una potencia de una serie, y usando
esto se aplica trmino a trmino. Nuevamente es rutina, y nos ahorraremos los detalles.
De la misma manera que obtenemos derivadas trmino a trmino, podemos calcular integrales:
_
z
0
f (z) dz

n1
a
n1
n
z
n
Es claro que se cumplen las relaciones fundamentales:
d
dz
_
z
0
f (z) dz
_
z
0
d
dz
f (z) dz f (z)
Podemos anotar:
D
1
f (z)
_
z
0
f (z) dz
14.5. SERIES ENMLTIPLES VARIABLES 225
14.5. Series en mltiples variables
Podemos tambin considerar series en ms de una variable, si las variables son x e y anotaremos
R|x, y|. Esto es, por ejemplo:
A(x, y)

r 0
s0
a
r,s
x
r
y
s
Es simple (aunque engorroso) demostrar que R|x, y| es isomorfo a R|x||y| y a R|y||x|, pero no nos
detendremos en tales detalles.
Para desarrollar una teora de secuencias en series multivariables, denimos el orden total del
trmino x
n
1
1
x
n
2
2
x
n
3
3
. . . x
n
m
m
como n
1
+n
2
+ +n
m
. El orden (total) de la serie ord A(x
1
, x
2
, . . . , x
m
) es
el orden total del trmino de orden total mnimo en A(x
1
, x
2
, . . . , x
m
). Con esta denicin si para una
secuencia de series formales multivariadas A
k
(x
1
, x
2
, . . . , x
n
):
lm
k
ord A
k
(x
1
, x
2
, . . . , x
n
)
sabemos que slo enunnmero nito de los A
k
(x
1
, x
2
, . . . , x
n
) el coeciente de x
m
1
1
x
m
2
2
x
m
n
n
diere,
y lo podemos calcular en un nmero nito de pasos. Omitimos los detalles de teoremas anlogos a
los para el caso univariado, slo notamos que esto permite justicar en R|x, y| series como:
exp(x +y)

n0
(x +y)
n
n!
Esto no resulta del caso univariado, en R|x||y| la serie x +y tiene trmino constante x, que no es
cero. Podemos denir derivadas (parciales) e integrales de forma similar al caso univariado.
Teorema 14.7 (Funciones implcitas). Sea A(x, y) F|x, y| tal que A(0, 0) 0 y D
y
A(0, 0) /0. Enton-
ces existe una nica serie formal f (x) F|x| con f (0) 0 tal que A(x, f (x)) 0.
Demostracin. Escribamos
A(x, y)

n0
a
n
(x)y
n

n0
k0
a
nk
x
k
y
n
donde a
n
(x) F|x|. Las condiciones sobre A(x, y) resultan en a
0
(x) 0 y a
1
(x) / 0. Mostraremos
cmo calcular sucesivamente los coecientes f
n
de
f (x)

n0
f
n
x
n
Como f (0) 0, ya tenemos f
0
0. Enseguida:
[x]

n0
a
n
(x) f (x)
n
0
hace que baste considerar
[x] (a
0
(x) +a
1
(x) f (x)) [x] (a
00
+a
01
x +a
10
f
1
x +a
11
f
0
x + ) 0
de donde despejamos
f
1

a
01
a
11
226 CAPTULO14. SERIES FORMALES DE POTENCIAS
Esto es vlido, ya que a
11
D
y
A(0, 0) /0. Continuamos:
_
x
k
_

n0
a
n
(x) f (x)
n
0
donde f (0) 0 permite truncar la suma, y se traduce en
_
x
k
_

0nk
a
n
(x) f (x)
n
Observamos que el nico trmino en esto que depende de f
k
viene de a
1
(0) f
k
, todos los dems slo
involucran f
0
, . . . , f
k1
. Despejando, tenemos f
k
en trminos de los coecientes anteriores, y f (x)
queda determinada mediante un proceso convergente.
Junto con el teorema 14.2, el teorema 14.7 nos dice que la substitucin z U(z) es un isomor-
smo de F|z| a s mismo (un automorsmo) si ordU(z) 1. Es claro que los coecientes de tales
funciones implcitas normalmente resultan bastante locos.
Por ejemplo, podemos denir:
W(z)e
W(z)
z
con W(0) 0. Para esto tomamos A(x, y) ye
y
x R|x, y|, como A(0, 0) 0 y D
y
A(0, 0) 1 /0, se
cumplen las condiciones del teorema 14.7 y tal serie de potencias W(z) existe. La demostracin da
una receta para obtener los coecientes.
Es relativamente sencillo el caso particular de ecuaciones de la forma
u t (u)
donde es una funcin dada de u. Esta relacin dene u en funcin de t , y estamos despejando u
en trminos de t .
Teorema 14.8 (Frmula de inversin de Lagrange). Sean f (u) y (u) series formales de potencias en
u sobre un campo F, con (0) 1. Entonces hay una nica serie formal u u(t ) que cumple:
u t (u)
Adems, el valor f (u(t )) de f en el cero u u(t ), expandido en serie alrededor de t 0, cumple:
_
t
n
__
f (u(t ))
_

1
n
_
u
n1
_ _
f
t
(u)(u)
n
_
Dadas f y , esta frmula da los coecientes de f (u(t )) en bandeja. No demostraremos este
resultado, ya que nos llevara demasiado fuera del rango de este ramo. La demostracin del teorema
puede encontrarse en [292].
La razn del nombre es que si t A(u), esta frmula da u u(t ) mediante:
u t
u
A(u)
Una aplicacin entretenida provee la funcin de Cayley, denida por:
C(z) ze
C(z)
(14.6)
Comparando coecientes de:
e
(+)C(z)
e
C(z)
e
C(z)
se obtiene la frmula binomial de Abel [1]:
(+)(++n)
n1

0kn
_
n
k
_
(+k)
k1
(+n k)
nk1
(14.7)
15 La frmula de Euler-Maclaurin
Es comn que interese el valor de alguna suma, particularmente alguna suma innita. En mu-
chos casos de inters la suma converge muy lentamente, y resulta indispensable contar con alguna
tcnica que permita acelerarla. En otros casos una expresin simple para un valor aproximado resul-
ta mucho ms til que el valor exacto.
Conceptualmente la suma y la integral estn ntimamente relacionadas, ambas podemos repre-
sentarlas como reas bajo curvas como en la gura 15.1. Pareciera ser que la integral (rea bajo la
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
1 2 3 4 5 6 7 8 9 10 11 12
Figura 15.1 Suma e integral como reas
curva) y la suma (rea bajo la escalera) tienden a tener una diferencia constante. Esto es exactamente
lo que asegura nuestro siguiente teorema.
Teorema 15.1 (Maclaurin-Cauchy). Sea f (z) una funcin continua, positiva y que tiende monotni-
camente a cero. Entonces existe la constante de Euler:

f
lm
n
_

1k<n
f (k)
_
n
1
f (z) dz
_
Demostracin. Como f es continua, la integral existe para todo n N. Por ser decreciente:
f (]z]) f (z) f (]z])
227
228 CAPTULO15. LA FRMULA DE EULER-MACLAURIN
Entonces:
_
n
1
f (]z]) dz
_
n
1
f (z) dz
_
n
1
f (]z]) dz

1k<n
f (k +1)
_
n
1
f (z) dz

1k<n
f (k)

2k<n+1
f (k)
_
n
1
f (z) dz

1k<n
f (k)
As, la diferencia:
a
n

1k<n
f (k)
_
n
1
f (z) dz
satisface 0 f (n) a
n
f (1). Adems:
a
n+1
a
n
f (n +1)
_
n+1
n
f (z) dz 0
O sea, la secuencia a
n
es decreciente y acotada, y por tanto converge.
Ntese que la demostracin da cotas precisas: 0
f
f (1). Consideremos la situacin geom-
trica: La diferencia entre la lnea continua y la escalera de la gura 15.1 es una serie de tringulos
de base 1 cuyas alturas suman f (1), con lo que su rea total es aproximadamente f (1)/2, y esto suele
no ser tan mala aproximacin de
f
.
Con la intencin de tomar lmites b luego, para calcular la suma entre 1 y a escribimos:

1k<b
f (k)
_
b
1
f (z) dz

1k<a
f (k)
_
a
1
f (z) dz +

ak<b
f (k)
_
b
a
f (z) dz
Nos falta aproximar los ltimos trminos.
Tomemos el tramo entre un entero y el siguiente, para simplicar el rango entre 0 y 1. Nuestro
resultado nal se obtendr sumando sobre los diferentes tramos. Integrando por partes:
_
1
0
f (z) dz z f (z)

1
0

_
1
0
z f
t
(z) dz
z f (z)

1
0

1
2
z
2
f
t
(z)

1
0
+
_
1
0
1
2
z
2
f
tt
(z) dz
z f (z)

1
0

1
2
z
2
f
t
(z)

1
0
+
1
2 3
z
3
f
tt
(z)

1
0

_
1
0
1
2 3
z
3
f
ttt
(z) dz
Estn apareciendo las derivadas sucesivas de f multiplicadas por polinomios. Si queremos polino-
mios mnicos, aparecern divididos por factoriales. Llamemos B
n
(z) al polinomio mnico de grado
n, partiendo con B
0
(z) 1. Integrando por partes tenemos la relacin bsica:
_
1
0
B
n
(z) f
(n)
(z) dz
B
n+1
(z)
n +1
f
(n)
(z)

1
0

_
1
0
B
n+1
(z)
n +1
f
(n+1)
(z) dz
De ac:
B
0
(z) 1 (15.1)
B
t
n+1
(z) (n +1)B
n
(z) n 0 (15.2)
229
Queda por denir la constante de integracin en (15.2). Tenemos primeramente:
_
1
0
f (z) dz

0kn
(1)
k
B
k+1
(z)
(k +1)!
f
(k)
(z)

1
0

_
1
0
(1)
n
B
n+1
(z)
(n +1)!
f
(n+1)
(z) dz (15.3)
Interesa sumar la expresin (15.3) para [a, a+1], [a+1, a+2], . . . , [b1, b], conviene que se cumpla:
B
n
(0) B
n
(1) (15.4)
de forma que los trminos intermedios se cancelen. Como B
0
(z) 1, B
1
(z) es una funcin lineal
que slo si fuera constante cumplira B
1
(0) B
1
(1). La relacin (15.4) es vlida siempre que n / 1.
Denimos en general:
B
n
B
n
(1) (15.5)
A los polinomios B
n
(x) se les conoce como polinomios de Bernoulli, y las constantes B
n
como n-
meros de Bernoulli, por razones que discutiremos en la seccin 15.1. Los nmeros y polinomios
de Bernoulli aparecen en una amplia gama de situaciones. Debe tenerse cuidado, hay autores que
denen la secuencia (bajo el mismo nombre e incluso con la misma notacin) de forma que todos
los elementos son cero o positivos.
En vista de la recurrencia (15.2), si n 2 la condicin (15.4) puede expresarse tambin como:
_
1
0
B
n
(z) dz 0 (15.6)
Por el proceso que los produce, todos los coecientes de los polinomios B
n
(z) son racionales, por
lo que tambin lo son las constantes B
n
. Los primeros polinomios y constantes los registra el cua-
dro 15.1. Se observa que salvo B
1
los valores de B
n
para n impar son cero, y que los B
2n
alternan
signo. Esto lo demostraremos en general ms adelante.
Para simplicar la derivacin que sigue, denimos una extensin peridica del polinomio B
n
(z):

B
n
(z) B
n
(z ]z])
La funcin

B
n
(z) es continua dado que denimos B
n
(0) B
n
(1) B
n
(salvo cuando n 1). As
tenemos:
_
b
a
f (z) dz

1kn
(1)
k

B
k
(z)
k!
f
(k1)
(z)

b
a
+(1)
n+1
_
b
a

B
n+1
(z)
(n +1)!
f
(n+1)
(z) dz

1
2
f (a) +

a<r <b
f (r ) +
1
2
f (b)
+

2kn
(1)
k
B
k
k!
f
(k1)
(z)

b
a
+(1)
n+1
_
b
a

B
n+1
(z)
(n +1)!
f
(n+1)
(z) dz

ar <b
f (r ) +

1kn
(1)
k
B
k
k!
f
(k1)
(z)

b
a
+(1)
n+1
_
b
a

B
n+1
(z)
(n +1)!
f
(n+1)
(z) dz (15.7)
Ac aprovechamos que B
1
1/2, absorbimos el trmino f (a) en la primera sumatoria y reorgani-
zamos.
Dividiendo el rango de la suma en (15.7)

1k<b
f (k)
_
b
1
f (z) dz

1k<a
f (k)
_
a
1
f (z) dz

1kn
(1)
k
B
k
k!
f
(k1)
(z)

b
a
+(1)
n
_
b
a

B
n+1
(z)
(n +1)!
f
(n+1)
(z) dz (15.8)
230 CAPTULO15. LA FRMULA DE EULER-MACLAURIN
B
0
(z) 1 B
0
= 1
B
1
(z) z
1
2
B
1
=
1
2
B
2
(z) z
2
z +
1
6
B
2
=
1
6
B
3
(z) z
3

3
2
z
2
+
1
2
z B
3
= 0
B
4
(z) z
4
2z
3
+z
2

1
30
B
4
=
1
30
B
5
(z) z
5

5
2
z
4
+
5
3
z
3

1
6
z B
5
= 0
B
6
(z) z
6
3z
5
+
5
2
z
4

1
2
z
2
+
1
42
B
6
=
1
42
B
7
(z) z
7

7
2
z
6
+
7
2
z
5

7
6
z
3
+
1
6
z B
7
= 0
B
8
(z) z
8
4z
7
+
14
3
z
6

7
3
z
4
+
2
3
z
2

1
30
B
8
=
1
30
B
9
(z) z
9

9
2
z
8
+6z
7

21
5
z
5
+2z
3

3
10
z B
9
= 0
B
10
(z) z
10
5z
9
+
15
2
z
8
7z
6
+5z
4

3
2
z
2
+
5
66
B
10
=
5
66
Cuadro 15.1 Polinomios y nmeros de Bernoulli [222]
Haciendo ahora b , y reorganizando (15.8) bajo el entendido que:
lm
z
f
(n)
(z) 0
Recordando que salvo B
1
todos los B
2k+1
0, obtenemos la frmula de Euler-Maclaurin:

1k<a
f (k)
_
a
1
f (z) dz +
f
+B
1
f (a) +

1kn
B
2k
(2k)!
f
(2k1)
(a) +R
n
( f ; a) (15.9)
En esto hemos escrito:

f
lm
b
_

1kb
f (k)
_
b
1
f (z) dz
_
(15.10)
R
n
( f ; a)
_

B
2n+1
(z)
(2n +1)!
f
(2n+1)
(z) dz (15.11)
Resta encontrar mejores maneras de determinar los polinomios B
n
(z), los coecientes B
n
B
n
(0), y
nalmente acotar el resto R
n
( f ; a). Esto lo haremos en la seccin 15.5. Lamentablemente, los B
n
cre-
cen muy rpidamente y (15.9) dada rara vez converge, por lo que la constante
f
debe determinarse
de alguna otra forma. Las cotas que daremos indican que el error cometido es a lo ms el ltimo
trmino incluido, la frmula igual es til para obtener valores numricos precisos.
15.1. Suma de potencias
Una aplicacin obvia de la frmula de Euler-Maclaurin es calcular las sumas:
S
m
(n)

1kn1
k
m
15.2. NMEROS HARMNICOS 231
Ac tenemos:
f (z) z
m
f
(k)
(z) m
k
z
mk
La frmula de Euler-Maclaurin sumando hasta el trmino m1 (el resto es cero en este caso; en
realidad estamos aplicando (15.7), no hay constante porque es parte del resto) y tomando la suma
desde 0 para simplicar da:
S
m
(n)
_
n
0
z
m
dz +

0km1
B
k+1
(k +1)!
m
k
n
mk

n
m+1
(m+1)
+

0km1
B
k+1
m
k
(k +1)!
n
mk

1
m+1
_
n
m+1
+

0km1
_
m+1
k +1
_
B
k+1
n
mk
_
Pero como B
0
1, podemos incorporar el primer trmino a la suma, y luego de ajustar ndices queda:
S
m
(n)
1
m+1
_

0km
_
m+1
k
_
B
k
n
m+1k
_
(15.12)
Bernoulli haba notado esta expansin, e incluso la us para calcular S
10
(1000). Es en honor a su
descubrimiento que llevan su nombre estos nmeros.
La frmula (15.12) a veces se atribuye errneamente a Faulhaber, quien desarroll frmulas
ecientes para expresar S
2m+1
(n) en trminos de n(n+1). Una discusin detallada de sus resultados,
reconstruccin de sus posibles mtodos y una variedad de extensiones presenta Knuth [172].
15.2. Nmeros harmnicos
Usemos ahora nuestro nuevo juguete para aproximar los nmeros harmnicos. Tenemos prime-
ramente:
D
k
z
1
(1)
k
z
k1
(1)
k
k!z
k1
Las derivadas tienden a cero cuando z , as que vamos bien. La frmula de Euler-Maclaurin da:
H
n

1
n
+

1r <n
1
r

1
n
+
_
n
1
dz
z
++B
1
(1)1!n
1
+

1ks
B
2k
(2k)!
(2k 1)!n
2k2
+R
s
(n)
lnn +
1
n
+
1
2n
+

1ks
B
2k
2k
n
2k2
+R
s
(n)
lnn ++
1
2n

1
12n
2
+
1
120n
4

1
252n
6
+O(n
8
)
Por el teorema de Maclaurin-Cauchy, existe la constante:
lm
n
_

1k<n
1
k

_
n
1
dz
z
_
lm
n
(H
n
lnn)
0, 5772156649
232 CAPTULO15. LA FRMULA DE EULER-MACLAURIN
La aproximacin simple obtenida luego del teorema de Maclaurin-Cauchy da 1/2. Nada mal.
Euler en 1736 obtuvo el valor de con 16 dgitos usando 8 trminos de la expansin:
H
10
ln10
1
20
+
1
1200

Para calcular el nmero de trminos requeridos para una precisin similar directamente podemos
usar la aproximacin que derivamos. Para la precisin que obtuvo Euler requeriramos n tal que:

(H
n
lnn)

1
2n
<5 10
17
Resulta 10
16
trminos.
Al nmero se le conoce como constante de Euler-Mascheroni o simplemente como constante
de Euler. Se ha dicho [118] que es el tercer nmero ms importante de la matemtica, despus de
y e. El determinar si es racional, algebraico o trascendente es un problema abierto famoso.
15.3. Frmula de Stirling
Veamos cmo podemos aproximar factoriales con esta herramienta. Primero tenemos:
lnn!

1k<n
lnk +lnn
El teorema de Maclaurin-Cauchy no sirve si (como ac) tenemos una funcin creciente. Pero en caso
que la funcin f (z) sea montona creciente es claro que:
_
n
1
]f (z)]dz
_
n
1
f (z) dz
_
n
1
]f (z)]dz

1k<n
f (k)
_
n
1
f (z) dz

1k<n
f (k +1)

1k<n
f (k) + f (n) f (1)
Promediando ambas cotas (la diferencia entre la curva y las escaleras son casi tringulos) queda:

1k<n
f (k)
_
n
1
f (z) dz
1
2
( f (n) f (1))
Hasta ac podemos decir que, burdamente:
lnn!

1k<n
lnn +lnn

_
n
1
lnz dz
1
2
(lnn ln1) +lnz
nlnn n +1+
1
2
lnn
n! e
_
n
_
n
e
_
n
Esto nos hace albergar la esperanza de obtener algo til.
Para una mejor aproximacin usamos la frmula de Euler-Maclaurin:
_
n
1
lnz dz nlnn n +1
D
k
lnz (1)
k1
(k 1)!z
k
15.3. FRMULA DE STIRLING 233
Si suponemos que existe la constante ln (constante de Stirling):
lnn! lnn +

1k<n
lnk (15.13)
lnn +
_
n
1
lnndz +ln+B
1
lnn
+

1ks
B
2k
(2k)!
(1)
2k2
(2k 2)! n
2k1
+R
s
(n)
ln+(n +1) lnn n
1
2
lnn

1ks
B
2k
(2k 1)2k
n
2k1
+R
s
(n)
ln+nlnn +
1
2
lnn n +
1
12n

1
360n
3
+
1
1260n
5
+R
3
(n) (15.14)
La constante ln en (15.14) queda determinada por el siguiente lmite, si existe:
ln lm
n
_

1kn
lnk
_
n
1
lnz dz
_
lm
n
(lnn! nlnn n)
Veremos ms adelante que
_
2, usando este valor en (15.14), y expandiendo la exponencial:
n!
_
2n
_
n
e
_
n

_
1+
1
12n
+
1
288n
2

139
51840n
3

571
2488320n
4
+O(n
5
)
_
Truncado en el primer trmino, queda:
n!
_
2n
_
n
e
_
n
(15.15)
La ecuacin (15.15) es la frmula de Stirling para el factorial. La aproximacin dada antes dice que
ya para n 8 el error es de cerca de 1%, cosa que clculo directo conrma.
Ntese que
_
22, 5066, nuestra burda aproximacin e no era tan mala.
Falta completar el clculo de ln. Por el producto de Wallis (lo demostraremos ms adelante):

k1
2k
2k 1

2k
2k +1
lm
n

1kn
_
2k
2k 1

2k
2k
_

_
2k
2k

2k
2k +1
_
lm
n
(2n!)
4
(2n)!(2n +1)!
lm
n
1
2n +1

2
4n
n!
4
(2n)!
2
Substituyendo la aproximacin (15.14) para los factoriales:

2
lm
n
1
2n +1

2
4n

4
n
2
(n/e)
4n

2
(2n) (2n/e)
4n

2
2
Para completar, demostraremos el producto de Wallis, siguiendo a Lynn [198].
234 CAPTULO15. LA FRMULA DE EULER-MACLAURIN
Teorema 15.2 (Producto de Wallis). Tenemos:

k1
2k
2k 1

2k
2k +1
Demostracin. Denamos:
a
n

_
/2
0
sin
n
z dz
Como 0 sinz 1 en el rango 0 z /2, a
n

n0
es una secuencia positiva y montona decrecien-
te. Integrando por partes:
a
n
sin
n1
z cosz

/2
0
+
_
/2
0
(n 1) sin
n2
z cos
2
z dz

_
/2
0
(n 1) sin
n2
z (1sin
2
z) dz
O sea a
n
(n 1)a
n2
(n 1)a
n
, que resulta en:
a
n

n 1
n
a
n2
(15.16)
Por el otro lado, directamente tenemos a
0
/2 y a
1
1. Con estos puntos de partida en (15.16):
a
2n


2

1
2

2n 1
2n
(15.17)
a
2n+1

2
3

4
5

2n
2n +1
(15.18)
Como la secuencia a
n
es decreciente, a
2n+1
a
2n
a
2n1
, y de la recurrencia (15.16):
1
a
2n
a
2n+1

a
2n1
a
2n+1
1+
1
2n
En consecuencia:
lm
n
a
2n
a
2n+1
1 (15.19)
y por (15.19) con (15.17) y (15.18):
lm
n

2

1 3 (2n 1)
2 4 (2n)

3 5 (2n +1)
2 4 (2n)
1
que es equivalente a lo planteado.
Una muy bonita demostracin alternativa (originalmente de Euler, quien de forma similar ob-
tuvo muchos otros resultados sorprendentes) es la siguiente. Tiene el problema de basarse en la
frmula de Euler para el seno, que es muy sugestiva pero no es sencilla de demostrar.
Demostracin. La frmula de Euler para el seno resulta de considerar esta funcin impar como un
polinomio innito con ceros 0 y n, como tambin:
lm
z0
sinz
z
1
15.4. PROPIEDADES DE LOS POLINOMIOS Y NMEROS DE BERNOULLI 235
el coeciente de z debe ser 1, por lo que puede expresarse:
sinz
z

_
1
z
2

2
__
1
z
2
4
2
__
1
z
2
9
2
_

k1
_
1
z
2
k
2

2
_
Notamos que para z /2:
2

k1
_
1
1
4k
2
_

k1
_
4k
2
4k
2
1
_

k1
(2k)(2k)
(2k 1)(2k +1)
15.4. Propiedades de los polinomios y nmeros de Bernoulli
Derivaremos algunas propiedades adicionales de los polinomios y nmeros de Bernoulli. Al-
gunas ya las usamos, otras las necesitaremos ms adelante. En el proceso mostraremos algunas
tcnicas tiles para obtener informacin sobre los coecientes de una serie.
De la recurrencia (15.2):
B
t
n
(z) nB
n1
(z)
Con esto, la Maclaurin en y:
B
n
(z +y) B
n
(z) +nB
n1
(z) y +
n(n 1)
2
B
n2
(z) y
2
+

0kn
_
n
k
_
B
nk
(z) y
k
(15.20)
Si ahora hacemos z 0 en (15.20), recordamos B
n
(0) B
n
y cambiamos variables y z en el
resultado:
B
n
(z)

0kn
_
n
k
_
B
nk
z
k
(15.21)
Para z 1, como B
n
(1) B
n
salvo para n 1, resulta:
B
n

0kn
_
n
k
_
B
k
(15.22)
Si en (15.22) interpretamos B
n
como B
n
tenemos la linda frmula:
B
n
(1+B)
n
(15.23)
En la linda frmula (15.23) para B
n+1
se cancelan los B
n+1
, y puede despejarse B
n
dando la relacin
vlida para n 1:
B
n

1
n +1

0kn1
_
n +1
k
_
B
k
236 CAPTULO15. LA FRMULA DE EULER-MACLAURIN
Por los factoriales denamos una funcin generatriz exponencial para los polinomios B
n
(x)
(estamos trabajando con series sobre el anillo Q[x]):
B(x, z)

n0
B
n
(x)
z
n
n!
(15.24)
De la recurrencia (15.2) para los polinomios:
B(x, z)
x

n1
B
t
n
(x)
z
n
n!
z

n1
B
n1
(x)
z
n1
(n 1)!
zB(x, z) (15.25)
La ecuacin (15.25) indica que para alguna funcin c(z) que no depende de x:
B(x, z) c(z)e
xz
(15.26)
Usamos ahora la otra condicin sobre los polinomios. Debe cumplirse:
_
1
0
B(x, z) dx

n0
z
n
n!
_
1
0
B
n
(x) dx
1
De nuestra expresin (15.26) para B(x, z):
_
1
0
B(x, z) dx c(z)
_
1
0
e
xz
dx
c(z)
1
z
_
e
z
1
_
Comparando ambas expresiones para la integral obtenemos c(z), y nalmente:
B(x, z)

n0
B
n
(x)
z
n
n!

ze
xz
e
z
1
(15.27)
Para justicar algunas de las manipulaciones que siguen, debemos asegurarnos que esta serie con-
verge uniformemente para 0 z 1 (no hay problemas con x). La funcin (15.27) en z 0 tiene una
singularidad removible, y tiene polos en z 2n para n 1, por lo que el radio de convergencia es
2>1. Para detalles de estos conceptos vase el captulo 24.
Con x 0 obtenemos la funcin generatriz de los coecientes B
n
B
n
(0):
B(0, z)

n0
B
n
z
n
n!

z
e
z
1
(15.28)
De los valores dados antes pareciera ser que los valores para ndices impares son todos cero,
salvo B
1
1/2. Consideremos la funcin:
z
e
z
1
+
z
2

z
2

e
z
+1
e
z
1

z
2
coth
z
2
15.4. PROPIEDADES DE LOS POLINOMIOS Y NMEROS DE BERNOULLI 237
Esta funcin es par, conrmando nuestra sospecha.
Anotamos el resultado siguiente en trminos de la funcin de Riemann:
(z)

n1
n
z
(15.29)
Uno de los resultados ms sensacionales de Euler fue la solucin en 1734 del problema de Basilea,
que vena siendo un tema recurrente desde 1650. Se buscaba el valor de la serie:
(2)

n1
1
n
2
(15.30)
Hizo mucho ms que esto, hallando los valores de (2k) para k hasta 13. Luego hall la frmula ge-
neral, para la que hay hermosas demostraciones [3, 154]. Podemos seguir uno de los razonamientos
de Euler (Dunham [87] da otras de las demostraciones y algo del sabor del trabajo original) como
sigue.
Por la frmula de Euler para la exponencial de un complejo:
cot z
cosz
sinz
i
e
iz
+e
iz
e
iz
e
iz
i +
2i
e
2iz
1
z
2
cot
z
2

iz
2
+
iz
e
iz
1
Manejado los primeros dos trminos en forma especial queda:
z
2
cot
z
2
1+

k2
B
k
(iz)
k
k!
(15.31)
Por el otro lado tenemos la frmula de Euler para el seno:
sinz z

n1
_
1
z
2
n
2

2
_
(15.32)
Aplicando zDlog a (15.32):
z
d
dz
lnsinz z
cosz
sinz
z cot z
Con esto tenemos:
z cot z 1

n1
2z
2
1(z
2
/n
2

2
)
12

n1

k0
z
2k+2
n
2k

2k
12

k0
z
2k+2

2k

n1
1
n
2k
12

k0
z
2k+2
(2k)

2k
z
2
cot
z
2
12

k0
z
2k+2
(2k)
2
2k+2

2k
(15.33)
238 CAPTULO15. LA FRMULA DE EULER-MACLAURIN
Comparando coecientes de z
2k
entre (15.31) y (15.33) resulta:
(2k)
(1)
k+1
4
k

2k
B
2k
2(2k)!
Incidentalmente, esto demuestra que los nmeros B
2k
alternan signo, ya que (2k) claramente es
positivo. Como (2k) 1, usando la frmula de Stirling:
B
2k
(1)
k+1
2(2k)!
4
k

2k
(1)
k+1
4
_
k
_
k
e
_
2k
(15.34)
Con este crecimiento de B
2k
las derivadas de f deben disminuir muy rpidamente para que la
frmula de Euler-Maclaurin converja.
La gura 15.2 graca algunos polinomios de Bernoulli en el rango que nos interesa. Pareciera ser
m m+1 m+2 m+3
2
6
10
Figura 15.2 Polinomios de Bernoulli en [0, 1] (escalados de mnimo a mximo)
que B
2k
(z) es simtrica alrededor de 1/2, mientras B
2k+1
(z) es antisimtrica. Para demostrar estos
hechos consideramos:
B (1/2+u, z) +B (1/2u, z)
ze
z(1/2+u)
e
z
1
+
ze
z(1/2u)
e
z
1

ze
z/2
e
z
1

_
e
zu
+e
zu
_
Esta expresin es par en z:
ze
z/2
e
z
1

e
z
e
z

ze
z/2
1e
z

ze
z/2
e
z
1
Esto signica que los trminos para z
2k+1
se anulan:
B
2k+1
(1/2u) B
2k+1
(1/2+u)
15.4. PROPIEDADES DE LOS POLINOMIOS Y NMEROS DE BERNOULLI 239
En particular, B
2k+1
(1/2) 0.
De forma similar:
B (1/2+u, z) B (1/2u, z)
ze
z(1/2+u)
e
z
1

ze
z(1/2u)
e
z
1

ze
z/2
e
z
1

_
e
zu
e
zu
_
Esta expresin es impar en z, lo que signica que ahora se anularon los trminos pares:
B
2k
(1/2u) B
2k
(1/2+u)
De las grcas 15.2 en el rango [0, 1] se ve que el polinomio B
2k
(z) tiene dos ceros, mientras
B
2k+1
(z) tiene tres (0 y 1). Esto vale en general.
Teorema 15.3. Para k >0, en el rango [0, 1] el polinomio B
2k
(z) tiene exactamente dos ceros, mientras
B
2k+1
(z) tiene exactamente tres (0, 1/2 y 1).
Demostracin. Demostramos por induccin que para k 1 en [0, 1/2] el polinomio B
2k
(z) tiene
exactamente un cero, y que B
2k+1
(z) no cambia de signo y se anula nicamente en los extremos. De
partida, ninguno de los polinomios es idnticamente cero.
Base: Para k 1 tenemos B
2
(z) z
2
z +1/6 con ceros 1/2
_
3/6 (estos dos estn en el rango [0, 1],
hay uno en [0, 1/2]), y B
3
(z) z
3
3z
2
/2+z/2 con ceros 0, 1.
Induccin: Supongamos que B
2k
(z) tiene un nico cero en [0, 1/2], y que B
2k+1
(z) se anula nica-
mente en 0 y 1/2. Debemos demostrar que vale para B
2k+2
(z) y B
2k+3
(z) tambin.
Como B
2k+1
(z) no cambia de signo en el rango, B
2k+2
(z) es montona y por tanto puede tener
a lo ms un cero. Pero pusimos como condicin que la integral de B
2k+2
(z) de 0 a 1 se anule;
como B
2k+2
(z) es simtrica alrededor de z 1/2 se anula la integral de 0 a 1/2, por lo que
deben haber valores positivos y negativos en el rango, y hay exactamente un cero en l.
Por la recurrencia B
t
n
(z) nB
n1
(z), al tener un nico cero B
2k+2
(z), B
2k+3
(z) tiene un ni-
co mnimo o mximo en el rango [0, 1/2], y B
2k+3
(z) puede tener a lo ms dos ceros all y
conocemos dos (0 y 1/2).
Por induccin vale para todo k 1.
Como B
t
2k
(1/2) 2kB
2k1
(1/2) 0, sabemos que B
2k
(z) tiene un mnimo o mximo en z 1/2.
Tenemos:
B(0, z/2)
z
2(e
z/2
1)

1
2

z
e
z/2
1

e
z/2
+1
e
z/2
+1

1
2

z(e
z/2
+1)
e
z
1

1
2
_
ze
z/2
e
z
1

z
e
z
1
_

1
2
(B(1/2, z) B(0, z))
240 CAPTULO15. LA FRMULA DE EULER-MACLAURIN
Comparando coecientes de z
k
:
B
k
2
k

1
2
(B
k
(1/2) B
k
)
B
k
(1/2)
_
12
1k
_
B
k
Como z 1/2 es el nico mximo (mnimo) de B
2k
(z) en el rango [0, 1] por ser montona en [0, 1/2],
al ser simtrica alrededor de 1/2 los mnimos (mximos) se dan en los extremos, y en este rango:
[B
2k
(z)[ [B
2k
[
15.5. El resto
Nuestra frmula maestra es:

1k<a
f (k)
_
a
1
f (z) dz +
f
+B
1
f (a) +

1kn
B
2k
(2k)!
f
(2k1)
(a) +
_

B
2n+1
(z)
(2n +1)!
f
(2n+1)
(z) dz
Interesa acotar la integral que determina el resto, la llamaremos R
n
( f ; a). Podemos volver a integrar
por partes:
R
n
( f ; a)
_

B
2n+2
(z)
(2n +2)!
f
(2n+2)
(z) dz
Suponiendo que f
(2n+2)
(z) y f
(2n+1)
(z) tienden montonamente a cero (con lo que en particular no
cambian signo), la integral queda acotada por el valor extremo de

B
2n+2
(z) y la integral del segundo
factor. Para el valor extremo de

B
2n+2
(z) tenemos la cota [B
2n+2
[:
[R
n
( f ; a)[
[B
2n+2
[
(2n +2)!

a
f
(2n+2)
(z) dz

[B
2n+2
[
(2n +2)!
[ f
(2n+1)
(a)[
Esto es del orden del primer trmino omitido, como se indic.
16 Aplicaciones
Veremos varias aplicaciones de la maquinaria de funciones generatrices, hallando funciones
generatrices y tambin derivando (y demostrando) identidades.
16.1. Nmeros harmnicos
Los nmeros harmnicos se denen como:
H
n

1kn
1
k
Adems denimos H
0
0 (consistente con que sumas vacas son cero). Esta secuencia es importante
en teora de nmeros, se requiere para calcular una variedad de funciones especiales, adems que
aparece con frecuencia al analizar algoritmos.
Los primeros valores son:
_
0, 1,
3
2
,
11
6
,
25
12
,
137
60
,
49
20
,
363
140
,
761
280
,
7129
2520
, . . .
_
Buscamos una expresin para:
H(z)

n0
H
n
z
n
Esto se reduce a:
H(z)

n1
_

1kn
1
k
_
z
n
z

n1
_

0kn1
1
k +1
_
z
n1
z

n0
_

0kn
1
k +1
_
z
n
Como tenemos una suma entre manos, usamos la regla de sumas parciales:
H(z) z
1
1z

k0
z
k
k +1

1
1z
ln
1
1z
(16.1)
Ac usamos la suma (12.35) para el logaritmo derivada en la seccin 12.1.3.
Aprovechando que la serie (16.1) converge para [z[ <1 (la expresin entra en problemas en z 1,
el radio de convergencia es [z[ 1), podemos evaluar expresiones como:

n0
H
n
2
n
H(1/2) 2 ln2
241
242 CAPTULO16. APLICACIONES
16.2. Potencias factoriales
Denamos:
G(z, u)

n0
u
n
z
n
n!
Como:
u
n
n!

_
u
n
_
tenemos:
G(z, u)

n0
_
u
n
_
z
n
(1+z)
u
Esto implica:
G(z, u) G(z, v) G(z, u +v)
Podemos evaluar entonces de dos formas:
G(z, u) G(z, v)

n0
_

0kn
_
n
k
_
u
k
v
nk
_
z
n
n!
(16.2)
G(z, u +v)

n0
(u +v)
n
z
n
n!
(16.3)
Comparando los coecientes de z
n
en (16.2) y (16.3) resulta:
(u +v)
n

0kn
_
n
k
_
u
k
v
nk
(16.4)
Curioso equivalente de la frmula para la potencia de un binomio. Aprovechando la relacin entre
potencias factoriales en subida y en bajada se puede derivar una relacin similar para las potencias
factoriales en subida.
16.3. Nmeros de Fibonacci
Consideremos la secuencia:
0, 1, 1, 2, 5, 8, 13, 21, 34, . . . (16.5)
que se obtiene de la recurrencia vlida para n 0:
F
n+2
F
n+1
+F
n
F
0
0, F
1
1 (16.6)
Esta la encontramos al analizar el algoritmo de Euclides para el mximo comn divisor en la sec-
cin 9.1. Aparece en una gran variedad de situaciones relacionadas con nuestra rea, y muchos
fenmenos naturales, como el crecimiento de los rboles y las espirales que se observan en los gira-
soles, siguen aproximadamente esta secuencia. Vanse por ejemplo el libro de Dunlap [88] para una
variedad de situaciones donde aparecen, y la muy detallada discusin de Vajda [288].
16.3. NMEROS DE FIBONACCI 243
16.3.1. Solucin mediante funciones generatrices ordinarias
Denimos:
F(z)

n0
F
n
z
n
Aplicando las propiedades de funciones generatrices ordinarias a (16.6):
F(z) F
0
F
1
z
z
2

F(z) F
0
z
+F(z)
Substituyendo los valores de F
0
y F
1
y despejando resulta:
F(z)
z
1z z
2
(16.7)
Necesitamos reducir (16.7) a fracciones con denominadores lineales, usando fracciones parciales.
Buscamos factorizar de la siguiente manera:
1z z
2
(1r
+
z)(1r

z)
Para obtener esta factorizacin realizamos el cambio de variable y 1/z y tenemos:
y
2
y 1 (y r
+
)(y r

)
r

1
_
5
2
y denotamos r
+
(es la seccin urea, que ya habamos encontrado antes al analizar el algoritmo
de Euclides para el mximo comn divisor). Podemos expresar:
y
2
y 1 (y r
+
)(y r

)
y
2
(r
+
+r

)y +r
+
r

Comparando coecientes resulta r

11/. Las fracciones parciales resultan ser:


F(z)
1
r
+
r

_
1
1r
+
z

1
1r

z
_
(16.8)
En (16.8) se reconocen dos series geomtricas. Esto da la sorprendente relacin, conocida como
frmula de Binet, que expresa los nmeros de Fibonacci (enteros) en trminos de nmeros irracio-
nales:
F
n

r
n
+
r
n

r
+
r


n
(1)
n
(1)

(1+
_
5)
n
(1
_
5)
n
2
n
_
5
(16.9)
Ahora bien:
1
21

1
_
5
0, 4472. . . 1, 618. . . 10, 6180. . .
Resulta para todo n 0:

(1)
n
21

<0, 5
244 CAPTULO16. APLICACIONES
Por lo tanto, F
n

n
/
_
5, redondeado al entero ms cercano. De todas formas:
F
n


n
_
5
(16.10)
Podemos obtener otras relaciones de la funcin generatriz (16.7):
F(z)
z
1z z
2

z
1z(1+z)

r 0
z
r +1
(1+z)
r

r,s0
_
r
s
_
z
r +s+1
De aqu, como con n r +s tenemos r n s:
F
n+1

0sn
_
n s
s
_
(16.11)
16.3.2. Solucin mediante funciones generatrices exponenciales
Denimos la funcin generatriz exponencial:

F(z)

n0
F
n
z
n
n!
Aplicando las propiedades de funciones generatrices exponenciales a (16.6):

F
tt
(z)

F
t
(z) +

F(z)

F(0) 0,

F
t
(0) 1
Resolvemos esta ecuacin diferencial ordinaria lineal de segundo orden, homognea y de coecien-
tes constantes por el mtodo de la ecuacin caracterstica:
r
2
r +1
Los ceros son y 1, con lo que tenemos:

F(z) e
z
+e
(1)z
de donde:

F(0) +0

F
t
(0) +(1) 1
La solucin de estas ecuaciones es:

1
_
5

1
_
5
y nalmente resulta la misma frmula (16.9) anterior:
F
n

1
_
5
n!
_
z
n
_ _
e
z
e
(1)z
_


n
(1)
n
_
5
Si comparamos las derivaciones, obtener la ecuacin y sus condiciones de borde es ms simple al
usar funciones generatrices exponenciales, luego debemos resolver una ecuacin diferencial, pero
obtener el resultado de la solucin de la ecuacin diferencial es inmediato. En la derivacin usando
funciones generatrices ordinarias obtener la ecuacin era algo ms trabajo, y tuvimos que usar
fracciones parciales para poder obtener la secuencia; pero tratar la ecuacin misma era ms simple.
De todas formas, siempre tendremos las dos opciones. Cul resulta ms conveniente depender de
la situacin especca.
16.3. NMEROS DE FIBONACCI 245
16.3.3. Nmeros de Fibonacci y fuentes
Si comparamos la secuencia (12.43) de nmeros de fuentes de base n con los nmeros de Fibo-
nacci, parecieran ser los trminos alternos:
F
2n+1

n0
1, 2, 5, 13, 34, . . .
Una manera de vericar esto es extraer los trminos impares de la funcin generatriz (16.7), o sea
encontrar una funcin generatriz para F
2n+1

n0
y comparar con (12.46).
Si tomamos la serie:
A(z)

n0
a
n
z
n
tenemos:
A(z) +A(z)

n0
a
2n
z
2n
A(z) A(z)

n0
a
2n+1
z
2n+1
por lo que:
A(
_
z) +A(
_
z)
2
ogf
a
2n

n0
(16.12)
A(
_
z) A(
_
z)
2
_
z
ogf
a
2n+1

n0
(16.13)
Para los nmeros de Fibonacci impares:
F(
_
z) F(
_
z)
2
_
z

1z
13z +z
2
En nuestro caso tenemos la secuencia desplazada en uno, de (12.44):
f (z) f
0
z

1z
13z +z
2
Coinciden, o sea:
f
n

_
1 si n 0
F
2n1
si n 1
(16.14)
16.3.4. Bsqueda de Fibonacci
La bsqueda de Fibonacci [163] es un mtodo para encontrar el mnimo de una funcin en un
rango dado. Resulta incluso que esta tcnica es ptima en cuanto a nmero de veces que se evala
la funcin siempre que nos restrinjamos a slo comparar valores.
Denicin 16.1. Una funcin f : RR se dice unimodal sobre el rango [a, b] si hay un nico con
a b tal que f es decreciente en [a, ] y creciente en [, b].
Esto describe el caso en que la funcin tenga un nico mnimo en el rango, de forma muy similar
se dene el caso que tiene un nico mximo, y en ambas situaciones se llama unimodal la funcin.
Nos interesa acotar el mnimo en el rango [a, b] de una funcin unimodal f (z) recurriendo
nicamente a evaluar la funcin. Por ejemplo, la funcin est dada por una computacin compleja
y no hay forma de calcular su derivada. Supongamos que tenemos los valores de la funcin en
246 CAPTULO16. APLICACIONES

a
b
c
d
e
a

Figura 16.1 Bsqueda de Fibonacci


los puntos a y b. Elegimos dos puntos adicionales c < d dentro del rango [a, b], y evaluamos la
funcin en ellos, resultando la situacin de la gura 16.1. Al ser unimodal f sabemos que f (c) y
f (d) son ambos menores que m ax{ f (a), f (b)}. Si f (c) < f (d), el mnimo est en el subintervalo
[a, d], descartamos el tramo (d, b] y trabajamos con el nuevo rango [a, d]. De la misma manera, si
f (c) > f (d), el mnimo est en el tramo [c, b], descartamos el rango [a, c).
Consideremos el ejemplo de la gura 16.1. Descartamos el rango [a, c) y elegimos un nuevo
punto e entre d y b, y seguimos con nuevos puntos a
t
, b
t
, c
t
y d
t
. Para slo calcular una vez la
funcin en la iteracin se reutilizan los valores calculados en los puntos a, c y d (de descartar (d, b])
o en los puntos c, d y b (de descartar [a, c)). Queremos adems que el mtodo reduzca el tramo en
la misma proporcin en ambos casos. O sea, debe ser d a b c. En el siguiente paso queremos
que se vuelva a repetir esto, debe ser tambin b d e c.
Denamos r mediante d a r (b a), con lo que c a (1r )(b a). Restando:
d c (d a) (c a)
r (b a) (1r )(b a)
(2r 1)(b a)
Para el paso siguiente, a
t
c, c
t
d, d
t
e y b
t
b. Elegimos r
t
mediante d
t
a
t
r
t
(b
t
a
t
), de
donde resulta c
t
a
t
(1r
t
)(b
t
a
t
), que es decir dc (1r
t
)(b
t
a
t
). El intervalo [a, b] se redujo a
[a
t
, b
t
], con b
t
a
t
r (ba). Igualando los valores de d c, y substituyendo el valor de b
t
a
t
resulta:
(2r 1)(b a) (1r
t
)(b
t
a
t
)
(2r 1)(b a) (1r
t
)r (b a)
2r 1 (1r
t
)r
Despejando r :
r
1
r
t
+1
(16.15)
Partiendo del nal, esto permite calcular las razones previas. En el caso extremo reducimos el inter-
valo en una razn de 1 (vale decir, se mantiene el tamao). El paso nal lo ilustra la gura 16.2, el
16.3. NMEROS DE FIBONACCI 247

a
b c =d
a

Figura 16.2 Bsqueda de Fibonacci: Juego nal


algoritmo retorna el rango marcado a
t
a b
t
como resultado nal.
Esto sugiere la recurrencia:
r
k+1

1
1+r
k
(k 1) r
0
1 (16.16)
Intentando algunos valores obtenemos:
_
1,
1
2
,
2
3
,
3
5
,
5
8
, . . .
_
Da la impresin que:
r
k

F
k+1
F
k+2
(16.17)
Esto es fcil de demostrar por induccin, los detalles los proveer el amable lector. Con esto estamos
en condiciones de plantear la bsqueda de Fibonacci, algoritmo 16.1. Suponemos dados el intervalo
[a, b] y la tolerancia (el largo del ltimo intervalo). Para reducir el largo del intervalo en un factor F
n
se calcula la funcin n +4 veces. En vista de (16.10) para reducir el rango de largo L
0
a L
f
el nmero
de llamadas de la funcin es:
n
ln(L
0
/L
f
)
ln
+4+
ln5
2ln
4, 78497 ln
L
0
L
f
+5, 67723
Un mtodo relacionado es la bsqueda de seccin urea. La idea es similar, slo que en vez de ir
modicando r se usa el valor lmite:
lm
n
F
n+1
F
n

El programa es un poco ms sencillo, pero es algo menos eciente (requiere ms evaluaciones de la


funcin).
248 CAPTULO16. APLICACIONES
Algoritmo 16.1: Bsqueda de Fibonacci
function FibonacciSearch(f , a, b, )
L (b a)/
(F
a
, F
b
) (1, 1)
while F
b
<L do
(F
a
, F
b
) (F
b
, F
a
+F
b
)
end
c b (b a) F
a
/F
b
d a +(b a) F
a
/F
b
( f
a
, f
b
, f
c
, f
d
) ( f (a), f (b), f (c), f (d))
while F
a
/1 do
(F
a
, F
b
) (F
b
F
a
, F
a
)
if f
d
< f
c
then
e c +(b c) F
a
/F
b
f
e
f (e)
(a, c, d, b) (c, d, e, b)
( f a, f c, f d, f b) ( f c, f d, f e, f b)
else
e d (d a) F
a
/F
b
f
e
f (e)
(a, c, d, b) (a, e, c, d)
( f a, f c, f d, f b) ( f a, f e, f c, f d)
end
end
if f
a
< f
b
then
return [a, d]
else
return [d, b]
end
16.4. Coecientes binomiales
Hagamos como que nada sabemos. . . Cuntos subconjuntos de k elementos podemos obtener
de un conjunto de n elementos? Obviamente, exactamente qu conjunto de n elementos tomemos
da lo mismo, podemos usar el conjunto {1, 2, . . . , n} sin prdida de generalidad. Podemos deducir
algunas propiedades de estas:
Tomar un nmero negativo de elementos del conjunto no tiene sentido, o sea,
_
n
k
_
0 si k <0.
Tomar ms de n elementos es imposible, as que
_
n
k
_
0 si k >n.
Hay una nica forma de elegir cero elementos, y
_
n
0
_
1.
De la misma forma, hay una nica manera de elegirlos todos, y
_
n
n
_
1.
Elegir k elementos a poner en el subconjunto es lo mismo que elegir los n k que se dejan
fuera, o sea
_
n
k
_

_
n
nk
_
.
Ahora buscamos encontrar una recurrencia para los
_
n
k
_
. Podemos descomponer los
_
n
k
_
subconjuntos
en dos grupos:
16.4. COEFICIENTES BINOMIALES 249
Aquellos conjuntos que no contienen a n: Corresponden simplemente a tomar k elementos de los
restantes n 1, de estos hay
_
n1
k
_
.
Aquellos conjuntos que contienen a n: Tomamos n, y k 1 elementos ms de entre los restantes
n 1, de estos hay
_
n1
k1
_
.
Como estas dos posibilidades son excluyentes, y corresponden a todas las formas de armar subcon-
juntos de k elementos:
_
n
k
_

_
n 1
k
_
+
_
n 1
k 1
_
Esto en principio es vlido para 1 k n 1. Pero si substituimos k n bajo los entendidos de
arriba resulta
_
n
n
_
1, y con k >n se reduce a
_
n
k
_
0, y la recurrencia en realidad es vlida para k 1.
Partiremos de k +1 y n +1 para poder sumar desde k 0 y n 0:
_
n +1
k +1
_

_
n
k +1
_
+
_
n
k
_
(16.18)
Como condiciones de contorno bastan:
_
n
0
_
1
_
0
k
_
[k 0]
Ahora tenemos tres opciones de funcin generatriz ordinaria:
A
n
(x)

k0
_
n
k
_
x
k
B
k
(y)

n0
_
n
k
_
y
n
C(x, y)

k0
n0
_
n
k
_
x
k
y
n
Las primeras dos opciones llevarn a recurrencias en la funcin generatriz, cosa que la tercera re-
suelve automticamente. Nada indica particulares complicaciones (ms all del uso de dos variables
y no una como ha sido comn hasta ac), por lo que optaremos por esta. Aplicando las propiedades
de funciones generatrices ordinarias a la recurrencia queda:
C(x, y) C(x, 0) C(0, y) +C(0, 0)
xy

C(x, y) C(0, y)
x
+C(x, y) (16.19)
El numerador del lado izquierdo de (16.19) corresponde a:

k0
n0
_
n +1
k +1
_
x
k+1
y
n+1

k0
n0
_
n
k
_
x
k
y
n

k0
_
0
k
_
x
k
y
0

n0
_
n
0
_
x
0
y
n
+
_
0
0
_
que resulta de eliminar la primera la y columna de la suma (de eso se hacen cargo los dos siguientes
trminos); al restarlas estamos restando dos veces C(0, 0), y debemos reponerlo, lo que da lugar al
ltimo trmino. Esto es el principio de inclusin y exclusin, captulo 13, haciendo su trabajo. De
nuestras condiciones de contorno:
C(0, 0)
_
0
0
_
1 C(x, 0)

k0
_
0
k
_
x
k
1 C(0, y)

n0
_
n
0
_
y
n

1
1y
Despejando obtenemos:
C(x, y)
1
1(1+x)y
250 CAPTULO16. APLICACIONES
Expandiendo la serie geomtrica:
_
n
k
_

_
x
k
y
n
_
C(x, y)
_
x
k
y
n
_

r 0
(1+x)
r
y
r

_
x
k
_
(1+x)
n
Tenemos nuevamente la relacin entre los coecientes binomiales y el nmero de combinaciones
de k elementos tomados entre n.
La recurrencia (16.18) mostrada de la siguiente manera:
_
n
k
_

_
n
k +1
_

_
n +1
k +1
_
y recordando
_
n
0
_

_
n
n
_
1 da el famoso tringulo de Pascal, ver cuadro 16.1 (comparar tambin con
la seccin 11.2, en particular el teorema 11.7).
n 0: 1
n 1: 1 1
n 2: 1 2 1
n 3: 1 3 3 1
n 4: 1 4 6 4 1
n 5: 1 5 10 10 5 1
n 6: 1 6 15 20 15 6 1
Cuadro 16.1 Tringulo de Pascal
16.5. Otras recurrencias de dos ndices
Consideremos el problema de calcular cuntos subconjuntos de k elementos de {1, 2, . . . , n} hay
tal que no contienen nmeros consecutivos. Llamemos s(n, k) a este valor. Para construir una recu-
rrencia para ellos, aplicamos el mtodo general de ver qu pasa al incluir o excluir n.
No incluye n: Esto es simplemente elegir k de entre los primeros n 1, o sea s(n 1, k).
Incluye n: Quedan por agregar k 1 elementos, que no pueden incluir a n 1, o sea corresponde a
s(n 2, k 1).
Esto nos da la recurrencia:
s(n, k) s(n 1, k) +s(n 2, k 1)
Ajustando ndices:
s(n +2, k +1) s(n +1, k +1) +s(n, k) (16.20)
16.5. OTRAS RECURRENCIAS DE DOS NDICES 251
Es claro que para n 1:
s(n, 1) n (16.21)
Requeriremos los valores s(0, 0), s(n, 0), s(0, k), s(1, k). De la recurrencia, con n 0:
s(n +2, 1) s(n +1, 1) +s(n, 0)
n +2 n +1+s(n, 0)
Por tanto, denimos s(n, 0) 1. Similarmente:
s(2, k +1) s(1, k +1) +s(0, k)
Para k 1 resulta s(0, k) 0, con lo que s(0, k) [k 0]. Adems, uniendo los casos s(1, 0) s(1, 1) 1
con s(1, k) 0 para k >1:
s(1, k) [0 k 1]
Denamos la funcin generatriz:
S(x, y)

n,k0
s(n, k)x
n
y
k
(16.22)
Para aplicar nuestra tcnicas de solucin de recurrencias, necesitaremos las sumas:
x
2
y

n,k0
s(n +2, k +1)x
n
y
k
S(x, y)

k0
s(0, k)y
k

k0
s(1, k)xy
k

n0
s(n, 0)x
n
+s(0, 0) +s(1, 0)x
S(x, y) 1x(1+y)
1
1x
+1+x
S(x, y) xy
1
1x
xy

n,k0
s(n +1, k +1)x
n
y
k
S(x, y)

k0
s(0, k)y
k

n0
s(n, 0)x
n
+s(0, 0)
S(x, y) 1
1
1x
+1
S(x, y)
1
1x
Los trminos que se suman se han restado dos veces, y deben reponerse. Esto con la recurrencia da:
S(x, y) x(1+y)
1
1x
x
2
y

S(x, y)
1
1x
xy
+S(x, y)
Despejando:
S(x, y)
1+xy
1x x
2
y
(16.23)
252 CAPTULO16. APLICACIONES
Podemos escribir (16.23) como:
S(x, y)
1+xy
1x(1+xy)

r 0
x
r
(1+xy)
r +1

r 0
x
r

s0
_
r +1
s
_
x
s
y
s

r,s0
_
r +1
s
_
x
r +s
y
s
De aqu:
s(n, k)
_
x
n
y
k
_
S(x, y)
_
n k +1
k
_
(16.24)
Para y 1 la funcin generatriz (16.23) da:
S(x, 1)
1+x
1x x
2

F(x) x
x
2
Ac F(x) es la funcin generatriz de los nmeros de Fibonacci (16.7). Esto concuerda con sumar la
recurrencia (16.20) sobre todo k, como s(0, 0) 1 F
2
y s(1, 0) +s(1, 1) 2 F
3
.
Otro caso de inters son los nmeros de Delannoy [72] (ver tambin [19]), donde se dene
D(m, n) como el nmero de caminos entre (0, 0) y (m, n) en una cuadrcula, si se permiten nica-
mente pasos hacia el norte, el nordeste o este. De la denicin es clara la recurrencia:
D(m, n) D(m1, n) +D(m, n 1) +D(m1, n 1) D(0, 0) 1 (16.25)
Para aplicar nuestra tcnica requeriremos:
D(m, 0) D(0, n) 1 (16.26)
Deniendo la funcin generatriz ordinaria:
d(x, y)

m,n0
D(m, n)x
m
y
n
(16.27)
obtenemos la ecuacin funcional:
d(x, y) d(0, y) d(y, 0) +d(0, 0)
xy

d(x, y) d(0, y)
x
+
d(x, y) d(x, 0)
y
+d(x, y) (16.28)
Las condiciones de contorno dan:
d(0, y)
1
1y
d(x, 0)
1
1x
(16.29)
Substituyendo (16.29) en (16.28) y despejando d(x, y) resulta:
d(x, y)
1
1x y xy
(16.30)
El lector interesado vericar que expandir como serie geomtrica y extraer los coecientes respec-
tivos resulta en:
D(m, n)

t
_
m+n t
n
__
n
t
_
(16.31)
16.6. DIVIDIR Y CONQUISTAR 253
La asimetra de (16.31) ofende las sensibilidades del autor. Puede escribirse en forma simtrica en
trminos de coecientes trinomiales, eso s.
La siguiente idea da una expansin ms simtrica:
d(x, y)
1
(1x)(1y) 2xy

(1x)(1y)
1
2xy
(1x)(1y)
(1x)(1y)

r 0
_
2xy
(1x)(1y)
_
r

r 0
2
r
x
r
y
r
(1x)
r 1
(1y)
r 1

r 0
2
r

s0
_
r +s
s
_
x
r +s

t 0
_
r +t
t
_
y
r +t
Al extraer el coeciente de x
m
y
n
slo sobreviven los trminos con r +s m y r +t n, aprovechando
la simetra de los coecientes binomiales:
D(m, n)

r 0
2
r
_
m
r
__
n
r
_
(16.32)
16.6. Dividir y conquistar
Una de las estrategias ms fructferas para disear algoritmos es la que se llama dividir y con-
quistar [65]. La idea es resolver un problema grande por la va de expresarlo en trminos de varios
problemas menores del mismo tipo, resolver estos (recursivamente) y luego combinar los resultados.
Ejemplos tpicos son el ordenamiento por intercalacin y bsqueda binaria.
Un ejemplo menos conocido es el algoritmo de Karatsuba para multiplicacin de nmeros en-
teros [156]. La idea es que si se desean multiplicar nmeros de 2n dgitos, llammosles A y B, los
dividimos en mitades ms y menos signicativas. Si la base es 10, escribimos:
A a 10
n
+b B c 10
n
+d
donde 0 a, b, c, d <10
n
, y tenemos:
A B ac 10
2n
+(ad +bc) 10
n
+bd
Esta frmula permite calcular un producto de dos nmeros de 2n dgitos mediante cuatro multipli-
caciones de nmeros de n dgitos (y algunas operaciones adicionales, como sumas de nmeros de a
lo ms 2n dgitos). Si denimos:
u a +b v c +d uv ac +ad +bc +bd
podemos expresar:
A B ac 10
2n
+(uv ac bd) 10
n
+bd
Esta frmula signica usar tres (no cuatro) multiplicaciones, a costa de ms operaciones de suma.
Si comenzamos con nmeros con 2
n
dgitos, podemos aplicar esta estrategia recursivamente, y los
ahorros se suman.
254 CAPTULO16. APLICACIONES
Un ejemplo lo da el producto 23316384 20936118. Tenemos:
n 8
A 23316384
B 20936118
a 2331 b 6384 c 2093 d 6118
u 8715 v 8211
Debemos ahora calcular:
ac 2331 2093
(23 20) 10
4
+((23+31) (20+93) 23 2031 93) 10
2
+31 93
460 10
4
+2759 10
2
+2883
4878783
En esto hemos calculado, por ejemplo:
23 20 2 2 10
2
+((2+3) (2+0) 2 23 0) 10+3 0 4 10
2
+6 10+0 460
Los otros valores intermedios a calcular son:
bd 39057312 uv 71558865 uv ac bd 27622770
Combinando los anteriores queda nalmente:
23316384 20936118 4878783 10
8
+27622770 10
4
+39057312
488154566757312
Otro ejemplo de esta estrategia es el algoritmo de Strassen [276] para multiplicar matrices. Con-
sideremos primeramente el producto de dos matrices de 22:
_
c
11
c
12
c
21
c
22
_

_
a
11
a
12
a
21
a
22
_

_
b
11
b
12
b
21
b
22
_
Sabemos que:
c
11
a
11
b
11
+a
12
b
21
c
12
a
11
b
12
+a
12
b
22
c
21
a
21
b
11
+a
22
b
21
c
22
a
21
b
12
+a
22
b
22
Esto corresponde a 8 multiplicaciones. Denamos los siguientes productos:
m
1
(a
11
+a
22
) (b
11
+b
22
) m
2
(a
21
+a
22
) b
11
m
3
a
11
(b
12
b
22
) m
4
a
22
(b
21
b
11
)
m
5
(a
11
+a
12
) b
22
m
6
(a
21
a
11
) (b
11
+b
12
)
m
7
(a
12
a
22
) (b
21
+b
22
)
Entonces podemos expresar:
c
11
m
1
+m
4
m
5
+m
7
c
12
m
3
+m
5
c
21
m
2
+m
4
c
22
m
1
m
2
+m
3
+m
6
16.6. DIVIDIR Y CONQUISTAR 255
Con estas frmulas se usan 7 multiplicaciones para evaluar el producto de dos matrices. Cabe hacer
notar que estas frmulas no hacen uso de conmutatividad, por lo que son aplicables tambin para
multiplicar matrices de 22 cuyos elementos son a su vez matrices. Podemos usar esta frmula
recursivamente para multiplicar matrices de 2
n
2
n
.
Tal vez el algoritmo ms importante basado en dividir y conquistar es el que se conoce como
transformada rpida de Fourier, generalmente abreviado FFT (de Fast Fourier Transform en ingls);
se acredita a Cooley y Tukey [63] (aunque para variar un poco, ms de dos siglos antes Gau ya lo
empleaba [136]). Elegido como uno de los 10 algoritmos ms importantes del siglo XX [83], es la base
de mucho de lo que es procesamiento de seales hoy da, es el corazn del mejor algoritmo para
multiplicar que resulta prctico para nmeros muy grandes [254], y es central en el mejor algoritmo
que se conoce tambin [109] (aunque este ltimo slo sera ventajoso para nmeros fuera del rango
til)
Otro ejemplo clsico es el algoritmo Quicksort (ver la seccin 16.6.2), claro que en este la divisin
no es equitativa (como en los otros que se mencionan). Tambin fue considerado uno de los 10
algoritmos ms importantes del siglo XX [83].
16.6.1. Anlisis de divisin ja
Consideraremos primero el caso en que el problema original se traduce en varios problemas de
una fraccin ja del tamao del original. Si el tiempo de ejecucin de un algoritmo de este tipo para
una entrada de tamao n lo denotamos por t (n), el problema se reduce a a problemas de tamao
n/b, y el costo de reducir el problema y luego combinar las soluciones es f (n), al sumar el tiempo
para resolver los subproblemas y las otras operaciones obtendremos recurrencias de la forma:
t (n) a t (n/b) + f (n) t (1) t
1
El restringir el anlisis a potencias de b es vlido ya que interesa el comportamiento asinttico de
la solucin a la recurrencia. Intuitivamente es claro que los algoritmos considerados se ejecutan en
un tiempo intermedio para tamaos intermedios, y en cualquier caso podemos rellenar los datos
hasta completar la potencia respectiva. Hacer esto no cambia nuestras conclusiones ms abajo.
En el caso de ordenamiento por intercalacin, dividimos en dos partes iguales que se proce-
san recursivamente. El proceso de dividir puede implementarse va tomar elementos alternativos
y ubicarlos en grupos separados, el combinar las partes ordenadas toma tiempo proporcional a su
tamao. Por lo tanto, el crear los subproblemas y combinar sus soluciones toma un tiempo pro-
porcional al nmero de elementos a ordenar. As tenemos que a b 2, f (n) cn para alguna
constante c. Para bsqueda binaria, se divide en dos partes iguales de las cuales se procesa recur-
sivamente slo una, y el proceso de divisin es simplemente ubicar el elemento medio y comparar
con l, y no hay combinacin de subproblemas; todo esto toma un tiempo constante. En este caso
es a 1, b 2, f (n) c para alguna constante. En el algoritmo de Karatsuba se transforma la mul-
tiplicacin de dos nmeros de largo 2n en 3 multiplicaciones de nmeros de n dgitos, las tareas
adicionales son dividir los nmeros en mitades y efectuar varias sumas y restas de nmeros de 2n
dgitos, y nalmente juntar las piezas. El costo de estas operaciones es simplemente proporcional a
n. Resulta a 3, b 2 y f (n) cn. En la multiplicacin de matrices de Strassen el multiplicar matri-
ces de 2n 2n se traduce en 7 multiplicaciones de matrices de n n y algunas sumas de matrices.
Tenemos entonces a 7, b 2, y las operaciones adicionales son bsicamente sumas de matrices, lo
que da f (n) cn
2
. Para cubrir el patio de 2
n
2
n
de la Universidad de Miskatonic con losas en L que
vimos al discutir induccin fuerte (seccin 3.6.6), la demostracin que dimos reduce el problema
de 2
n
2
n
a 4 problemas de 2
n1
2
n1
haciendo una cantidad ja de trabajo, lo que hace a 4,
b 2, d 0. Si aprovechamos simetras con el cuadradito a cubrir siempre en una esquina, es un
solo trabajo menor, con lo que a 1, b 2, d 0. En caso que la posicin de August es arbitraria, hay
256 CAPTULO16. APLICACIONES
2 tipos de subproblemas (uno con el espacio libre en la esquina, el otro con el espacio para August
en una posicin arbitraria), y a 2, b 2, d 0.
Estos ejemplos son bastante representativos. El anlisis es simple si f (n) cn
d
. Para bsqueda
binaria tenemos d 0, para ordenamiento por intercalacin y en Karatsuba d 1, Strassen da d 2.
El cuadro 16.2 resume los parmetros para los algoritmos dados.
Consideramos entonces la recurrencia, vlida para n una potencia de b:
t (bn) at (n) +cn
d
t (1) t
1
Efectuamos el cambio de variables:
n b
k
k log
b
n
t (n) T(k) t (bn) T(k +1)
En estos trminos, dadas las condiciones del problema para constantes c > 0 (el costo de dividir
y combinar no es nulo) y t
1
> 0 (el resolver un problema de tamao mnimo tiene algn costo)
tenemos para k 0:
T(k +1) aT(k) +c(b
d
)
k
T(0) t
1
Para resolver la recurrencia denimos la funcin generatriz:
g(z)

k0
T(k)z
k
y aplicamos nuestra tcnica a la recurrencia lineal resultante:
g(z) t
1
z
g(z) +c
1
1b
d
z
g(z)
t
1
(b
d
t
1
c)z
(1b
d
z)(1az)
Si a /b
d
:
g(z)
c
b
d
a

1
1b
d
z
+
(b
d
a)t
1
c
b
d
a

1
1az
(16.33)
Cuando a b
d
:
g(z)
c
a

1
(1az)
2
+
at
1
c
a

1
1az
(16.34)
El comportamiento asinttico queda determinado por a y b
d
. Si a >b
d
, domina el segundo trmino
de (16.33):
T(k)
_
t
1
+
c
a b
d
_
a
k
(16.35)
Si a <b
d
, es el primer trmino de (16.33) el dominante:
T(k)
c
b
d
a
b
kd
(16.36)
En caso que a b
d
debemos recurrir a (16.34), y es dominante el primer trmino:
T(k)
c
a
ka
k
(16.37)
16.6. DIVIDIR Y CONQUISTAR 257
Las constantes indicadas son siempre diferentes de cero.
En trminos de las variables originales, es k log
b
n y a
k
a
log
b
n
b
log
b
alog
b
n
n
log
b
a
:
t (n)
_

_
_
t
1
+
c
ab
d
_
n
log
b
a
si a >b
d
c
a
n
log
b
a
logn) si a b
d
c
b
d
a
n
d
si a <b
d
Para los algoritmos que describimos tenemos las complejidades resumidas en el cuadro 16.2.
Nombre a b d Complejidad
Bsqueda binaria 1 2 0 O(logn)
Ordenamiento por intercalacin 2 2 1 O(nlogn)
Karatsuba 3 2 1 O
_
n
log
2
3
_
Pavimentacin
4 2 0 O
_
n
2
_
2 2 0 O(n)
1 2 0 O(n)
Strassen 7 2 2 O
_
n
log
2
7
_
Cuadro 16.2 Complejidad de algunos algoritmos
Este tipo de recurrencias puede resolverse exactamente. Por ejemplo, Sedgewick y Flajolet [258]
muestran que la solucin a la recurrencia para el nmero de comparaciones en mergesort de n
elementos diferentes:
C
n
C
]n/2]
+C
]n/2]
+n C
1
0 (16.38)
es:
C
n
nlog
2
n +n(1{log
2
n}) (16.39)
donde:
(x) 1+x 2
x
(16.40)
Resulta (0) (1) 0 y 0 <(x) <0, 086 para 0 < x <1. Esta clase de comportamiento peridico
complica el anlisis preciso de muchos algoritmos.
Un desarrollo didctico de resultados de este tipo se encuentra en [272, apndice A]. Una visin
alternativa, incluyendo tcnicas para acotar el caso de funciones forzantes diferentes, dan Bentley,
Haken y Saxe [30]. Una extensin a estos resultados es el teorema de Akra-Bazzi [4]. Leighton [190]
da la variante que reseamos, extensiones interesantes da Roura [248], soluciones ms precisas para
versiones discretas (con techos/pisos) ofrecen Drmota y Szpankowski [85].
Teorema 16.1 (Akra-Bazzi). Sea una recurrencia de la forma:
T(z) g(z) +

1kn
a
k
T(b
k
z +h
k
(z)) para z z
0
donde z
0
, a
k
y b
k
son constantes, sujeta a las siguientes condiciones:
Hay sucientes casos base.
258 CAPTULO16. APLICACIONES
Para todo k se cumplen a
k
>0 y 0 <b
k
<1.
Hay una constante c tal que [g(z)[ O(z
c
).
Para todo k se cumple [h
k
(z)[ O(z/(logz)
2
).
Entonces, si p es tal que:

1kn
a
k
b
p
k
1
la solucin a la recurrencia cumple:
T(z)
_
z
p
_
1+
_
z
1
g(u)
u
p+1
du
__
Frente a nuestro tratamiento tiene la ventaja de manejar divisiones desiguales (b
k
diferentes),
y explcitamente considera pequeas perturbaciones en los trminos, como lo son aplicar pisos o
techos, a travs de los h
k
(z). Diferencias con pisos y techos estn acotados por una constante, mien-
tras la cota del teorema permite que crezcan. Por ejemplo, la recurrencia correcta para el nmero de
comparaciones en ordenamiento por intercalacin es:
T(n) T(]n/2]) +T(]n/2]) +n 1
El teorema de Akra-Bazzi es aplicable. La recurrencia es:
T(n) T(n/2+h
+
(n)) +T(n/2+h

(n)) +n 1
Ac [h

(n)[ 1/2, adems a

1 y b

1/2. Estos cumplen las condiciones del teorema, de:

1k2
a
k
b
p
k
1
resulta p 1, y tenemos la cota:
T(z)
_
z
_
1+
_
z
1
u 1
u
2
du
__
(z lnz +1) (z logz)
Otro ejemplo son los rboles de bsqueda aleatorizados (Randomized Search Trees, ver por ejem-
plo [13, 201, 259]) en uno de ellos de tamao n una bsqueda toma tiempo aproximado:
T(n)
1
4
T(n/4) +
3
4
T(3n/4) +1
Nuevamente es aplicable el teorema 16.1, de:
1
4
_
1
4
_
p
+
3
4
_
3
4
_
p
1
obtenemos p 0, y por tanto la cota
T(z)
_
z
0
_
1+
_
z
1
du
u
__
(logz)
16.6. DIVIDIR Y CONQUISTAR 259
p p p
Figura 16.3 Idea de Quicksort
p p ? p
i j
Figura 16.4 Particionamiento en Quicksort
16.6.2. Quicksort
Quicksort [139] es otro algoritmo basado en dividir y conquistar, pero en este caso la divisin no
es ja. Dado un rango de elementos de un arreglo a ser ordenado, se elige un elemento pivote de
entre ellos y se reorganizan los elementos en el rango de forma que todos los elementos menores que
el pivote queden antes de este, y todos los elementos mayores queden despus. Con esto el pivote
ocupa su posicin nal en el arreglo, y bastar ordenar recursivamente cada uno de los dos nuevos
rangos generados para completar el trabajo. La gura 16.4 indica una manera popular de efectuar
esta particin: Se elige un pivote de forma aleatoria y el pivote elegido se intercambia con el primer
elemento del rango (para sacarlo de en medio), luego se busca un elemento mayor que el pivote
desde la izquierda y uno menor desde la derecha. Estos estn fuera de orden, se intercambian y se
contina de la misma forma hasta agotar el rango. Despus se repone el pivote en su lugar, intercam-
bindolo con el ltimo elemento menor que l. El rango nalmente queda como indica la gura 16.3.
El listado 16.1 muestra una versin simple del programa, que elige siempre el primer elemento del
rango como pivote. Evaluaremos el tiempo promedio de ejecucin del algoritmo. Supondremos n
elementos todos diferentes, que las n! permutaciones de los n elementos son igualmente probables,
y que el pivote se elige al azar en cada etapa. En este caso est claro que el mtodo de particiona-
miento planteado no altera el orden de los elementos en las particiones respecto del orden que
tenan originalmente. Luego, los elementos en cada particin tambin son una permutacin al azar.
Para efectos del anlisis del algoritmo tomaremos como medida de costo el nmero promedio de
comparaciones que efecta Quicksort al ordenar un arreglo de n elementos. El trabajo adicional que
se hace en cada particin ser aproximadamente proporcional a esto, por lo que esta es una buena
vara de medida. Al particionar, cada uno de los n 1 elementos fuera del pivote se comparan con
este exactamente una vez en el mtodo planteado, y adems es obvio que este es el mnimo nmero
de comparaciones necesario para hacer este trabajo. Si llamamos k a la posicin nal del pivote, el
costo de las llamadas recursivas que completan el ordenamiento ser C(k 1)+C(nk). Si elegimos
el pivote al azar la probabilidad de que k tenga un valor cualquiera entre 1 y n es la misma. Cuando
el rango es vaco no se efectan comparaciones. Estas consideraciones llevan a la recurrencia:
C(n) n 1+
1
n

1kn1
(C(k 1) +C(n k)) C(0) 0
Por simetra podemos simplicar la suma, dado que estamos sumando los mismos trminos en
orden creciente y decreciente. Cambiando el rango de la suma y multiplicando por n queda:
nC(n) n(n 1) +2

0kn1
C(k)
Ajustando los ndices:
(n +1)C(n +1) n(n +1) +2

0kn
C(k) C(0) 0
260 CAPTULO16. APLICACIONES
s t a t i c doubl e a ;
s t a t i c i nt p a r t i t i o n ( i nt l o , i nt hi )
{
i nt i = l o ; j = hi + 1;
f or ( ; ; ) {
whi l e ( a[++i ] < a [ l o ] )
i f ( i == hi ) break ;
whi l e ( a [ l o ] < a[j ] )
i f ( i == l o ) break ;
i f ( i >= j ) break ;
tmp = a [ i ] ; a [ i ] = a [ j ] ; a [ j ] = tmp ;
}
r etur n j ;
}
s t a t i c voi d qs r ( i nt l o , i nt hi )
{
i nt j ;
i f ( hi <= l o ) r etur n ;
j = p a r t i t i o n ( l o , hi ) ;
qs r ( l o , j 1 ) ;
qs r ( j + 1 , hi ) ;
}
voi d q u i c k s o r t ( doubl e aa [ ] , i nt n)
{
a = aa ;
qs r ( 0 , n 1 ) ;
}
Listado 16.1 Versin simple de Quicksort
Denimos la funcin generatriz ordinaria:
c(z)

n0
C(n)z
n
Aplicando las propiedades de funciones generatrices ordinarias a la recurrencia queda la ecuacin
diferencial:
(zD+1)
c(z)
z

_
(zD)
2
+zD
_ 1
1z
+
2c(z)
1z
c(0) 0
c
t
(z)
2c(z)
1z
+
2z
(1z)
3
La solucin a esta ecuacin es:
c(z) 2
ln(1z)
(1z)
2

2z
(1z)
2
16.6. DIVIDIR Y CONQUISTAR 261
El primer trmino corresponde a la suma parcial de la secuencia de nmeros harmnicos (derivamos
su funcin generatriz en la seccin 16.1), el segundo trmino da un coeciente binomial:
C(n) 2

0kn
H
k
2
_
n
1
_
2

0kn
H
k
2n
Interesa obtener una frmula ms simple para la suma de los nmeros harmnicos. Por la frmula
para la funcin generatriz de las sumas parciales:
H(z)

n0
H
n
z
n

1
1z
ln
1
1z
con lo que la funcin generatriz de las sumas de nmeros harmnicos es:
H(z)
1z

1
(1z)
2
ln
1
1z
Esto se parece a la derivada de H(z):
H
t
(z)
1
(1z)
2
ln
1
1z
+
1
(1z)
2
Pero sabemos que H
t
(z) es la funcin generatriz de la secuencia (n +1)H
n+1

n0
, mientras (1z)
2
corresponde simplemente a n +1
n0
. De esta forma tenemos:

0kn
H
k
(n +1)H
n+1
(n +1)
(n +1)H
n
n
Esto da nalmente:
C(n) 2(n +1)H
n
4n
Vimos en el captulo 15 que H
n
lnn +O(1), con lo que C(n) 2nlnn +O(n).
Pero podemos hacer ms. En el peor caso, al particionar en cada paso elegimos uno de los
elementos extremos, con lo que las particiones son de largo 0 y n1, lo que da lugar a la recurrencia:
C
peor
(n) n 1+C
peor
(n 1) C
peor
(0) 0
Las tcnicas estndar dan como solucin:
C
peor
(n)
n(n 1)
2

1
2
n
2
+O(n)
El mejor caso es cuando en cada paso la divisin es equitativa, lo que lleva casi a la situacin de
dividir y conquistar analizada antes (seccin 16.6.1), con a 2, b 2 y d 1, cuya solucin sabemos
es C
mejor
(n) O(nlogn). Un anlisis ms detallado, restringido al caso en que n 2
k
1 de manera
que los dos rangos siempre resultendel mismo largo, es como sigue. La recurrencia original se reduce
a:
C
mejor
(n) n 1+2C
mejor
((n 1)/2) C
mejor
(0) 0
262 CAPTULO16. APLICACIONES
Con el cambio de variables:
n 2
k
1 F(k) C
mejor
(2
k
1)
esto se transforma en:
F(k) 2
k
2+2F(k 1) F(0) 0
cuya solucin es:
F(k) k2
k
+2
k+1
+2
C
mejor
(n) (n +1) log
2
(n +1) +2(n +1) +2

1
ln2
nlnn +O(n)
La constante en este caso es aproximadamente 1, 443, el mejor caso no es demasiado mejor que el
promedio; pero el peor caso es mucho peor.
Una variante comn es usar un mtodo de ordenamiento simple para rangos chicos. Una opcin
es cortar la recursin no cuando el rango se reduce a un nico elemento sino cuando cae bajo un
cierto margen; y luego se ordena todo mediante insercin, que funciona muy bien si los datos vienen
casi ordenados, como resulta de lo anterior. Para analizar esto se requieren medidas ms ajustadas
del costo de los mtodos, y se cambian las condiciones de forma que para valores de n menor que el
lmite se usa el costo del mtodo alternativo. Esto puede hacerse, pero es bastante engorroso y no lo
veremos ac.
Para evitar el peor caso (que se da cuando el pivote es uno de los elementos extremos) una
opcin es tomar una muestra de elementos y usar la mediana (el elemento del medio de la muestra)
como pivote. La forma ms simple de hacer esto es tomar tres elementos. Como adems es frecuente
que se invoque el procedimiento con un arreglo casi ordenado (o incluso ya ordenado), conviene
tomar como muestra el primero, el ltimo y un elemento del centro, de forma de elegir un buen
pivote incluso en ese caso patolgico. A esta idea se le conoce como mediana de tres. Esta estrategia
disminuye un tanto la constante por efecto de una divisin ms equitativa. Tiene la ventaja adicional
que tener elementos menor que el pivote al comienzo del rango y mayor al nal no es necesario
comparar ndices para determinar si se lleg al borde del rango. El anlisis detallado se encuentra
por ejemplo en [258].
Por el otro lado, McIllroy [204] muestra cmo lograr que siempre tome el mximo tiempo posi-
ble. Quicksort (haciendo honor a su nombre) es muy rpido ya que las operaciones en sus ciclos
internos implican nicamente una comparacin y un incremento o decremento de un ndice. Es
ampliamente usado, y como su peor caso es muy malo, vale la pena hacer un estudio detallado de la
ingeniera del algoritmo [31]. Debe tenerse cuidado con Quicksort por su peor caso, si un atacante
puede determinar los datos puede hacer que el algoritmo consuma muchsimos recursos. Para evitar
el peor caso se ha propuesto cambiar a Heapsort [293] (garantizadamente O(nlogn), pero mucho
ms lento que Quicksort) si se detecta un caso malo [213].
17 Recurrencias
Es comn encontrarse con situaciones en las cuales debemos resolver alguna recurrencia, vale
decir, tenemos una ecuacin que relaciona valores de una secuencia (generalmente adicionando
algunos valores iniciales). La situacin ms comn es algo como:
f (a
n
, a
n+1
, . . . , a
n+k
, n) 0 (17.1)
Si en (17.1) aparecen a
n
y a
n+k
, se habla de una recurrencia de orden k. En general harn falta k
valores para determinar la secuencia, tpicamente dados como a
0
hasta a
k1
, de (17.1) podremos
obtener a
k
, con a
1
a a
k
tenemos a
k+1
, y as sucesivamente. Es claro que hallar una expresin cerrada
para los trminos de tales secuencias ser posible slo en situaciones especiales.
17.1. Recurrencias lineales
Una recurrencia se dice lineal si puede escribirse de la forma:
u
k
(n)a
n+k
+u
k1
(n)a
n+k1
+ +u
0
(n)a
n
f (n) (17.2)
donde u
i
(n) y f (n) son funciones conocidas. Si f (n) 0, se dice que la ecuacin es homognea, en
caso contrario no homognea.
Es claro que si las secuencias x
n
y y
n
satisfacen una recurrencia lineal homognea, la com-
binacin lineal x
n
+y
n
tambin la satisface. Esta es la razn del nombre. Si expresamos la
recurrencia homognea como:
a
n+k
u
k1
(n)a
n+k1
+u
k2
(n)a
n+k2
+ +u
0
(n)a
n
(17.3)
con los vectores a
n
(a
n+k1
, a
n+k2
, . . . , a
n
) podemos expresar la recurrencia (17.3) como:
a
n+1
U
n
a
n
(17.4)
donde:
U
n

_
_
_
_
_
_
_
_
u
k1
(n) u
k2
(n) u
0
(n)
1 0 0
0 1 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1
_
_
_
_
_
_
_
_
(17.5)
lo que nos permite expresar:
a
n
U
n1
U
n2
U
0
a
0
(17.6)
263
264 CAPTULO17. RECURRENCIAS
Esto dice que la solucin de la ecuacin lineal homognea es la combinacin lineal de k solucio-
nes linealmente independientes: Podemos elegir los k componentes de a
0
independientemente, si
ninguna de las matrices U
n
es singular vectores iniciales linealmente independientes darn vecto-
res nales linealmente independientes. La solucin general de la recurrencia lineal no homognea
puede expresarse como una solucin particular y la combinacin lineal de k soluciones linealmente
independientes de la recurrencia homognea.
En caso que U
n
sea una matriz constante U (la recurrencia tiene coecientes constantes), la
ecuacin (17.6) se reduce a:
a
n
U
n
a
0
(17.7)
Tcnicas ecientes para el clculo de potencias (ver la seccin 9.2) permiten obtener el vector a
n
rpidamente de (17.7).
Una matriz A se dice diagonalizable si hay una matriz diagonal D y una matriz invertible P
tales que AP
1
DP. Calcular potencias de una matriz expresada de esta forma es particularmente
simple, ya que A
n
P
1
D
n
P, y la potencia de la matriz diagonal es simplemente las potencias de
sus elementos. Esto da una forma alternativa de expresar la solucin de la recurrencia (17.2) para el
caso de coecientes constantes.
17.2. Recurrencias lineales de primer orden
Un caso de particular inters prctico son las recurrencias lineales de primer orden, que pode-
mos escribir:
a
n+1
u
n
a
n
+ f
n
(17.8)
Vemos que si dividimos (17.8) por el factor sumador:
s
n

0kn
u
n
(17.9)
(lo que presupone que u
n
/0 en el rango de inters) queda:
a
n+1
s
n

a
n
s
n1

f
n
s
n
Sumando ambos lados obtenemos la solucin.
La frmula general es bastante engorrosa, ilustraremos la tcnica mediante un ejemplo. Sea:
a
n+1

2(n +1)a
n
+5(n +1)!
3
a
0
5 (17.10)
Reordenando un poco:
a
n+1

2(n +1)
3
a
n

5(n +1)!
3
Vemos que el factor sumador es:
s
n

0kn
2(n +1)
3

_
2
3
_
n+1
(n +1)!
17.3. RECURRENCIAS LINEALES DE COEFICIENTES CONSTANTES 265
Dividiendo la recurrencia por esto y sumando para 0 k n 1 resulta:
a
n
(2/3)
n
n!

a
0
s
1

5
3

0kn1
_
3
2
_
k+1
a
n
(2/3)
n
n!

5
1

5
3

3
2

(3/2)
n
1
3/21
a
n
(2/3)
n
n!
5+5
_
(3/2)
n
1
_
5 (3/2)
n
a
n
5n!
17.3. Recurrencias lineales de coecientes constantes
Un caso particularmente importante es el de relaciones de recurrencias de la forma:
a
k
u
n+k
+a
k1
u
n+k1
+ +a
0
u
n
f (n)
donde los a
i
son constantes y f (n) es una funcin cualquiera. Esto se llama una relacin de recu-
rrencia lineal de coecientes constantes (de orden k, si a
k
/ 0). Si f (n) 0, se dice homognea. Se
requieren k condiciones adicionales para jar la solucin, que generalmente toman la forma de
condiciones iniciales dando los valores de u
0
hasta u
k1
. Esto completa una recurrencia lineal. La
recurrencia de Fibonacci que resolvimos antes es una recurrencia de segundo orden, lineal, de coe-
cientes constantes, homognea. La recurrencia a la que nos llev la Competencia de Ensayos de la
Universidad de Miskatonic es de primer orden, lineal de coecientes constantes, no homognea.
Tratar el caso general es bastante engorroso, mostraremos el procedimiento mediante un ejem-
plo. De forma similar a la aplicacin de funciones generatrices ordinarias presentada ac pueden
aplicarse funciones generatrices exponenciales como lo hicimos en la seccin 16.3.2 para los nme-
ros de Fibonacci. Cul se usa en un caso particular depender de lo que resulte ms simple.
Consideremos la recurrencia:
u
n+2
+4u
n
5n
2
u
0
1, u
1
3
Los primeros valores son:
1, 3, 4, 7, 36, 73, 64, 167, 436, 913, . . .
Aplicando nuestra estrategia general, denimos:
U(z)

n0
u
n
z
n
Siguiendo la receta, y aplicando las propiedades de funciones generatrices ordinarias queda:
U(z) 3z 1
z
2
+4U(z) 5(zD)
2
_
1
1z
_
Despejando y expresando en fracciones parciales:
U(z)
82z +37
25(1+4z
2
)
+
2
(1z)
3

19
5(1z)
2
+
33
25(1z)
266 CAPTULO17. RECURRENCIAS
Luego basta leer los coecientes en esto. Puntos interesantes los ponen los trminos:
1
1+4z
2

n0
(4)
n
z
2n
z
1+4z
2

n0
(4)
n
z
2n+1
1
(1z)
3

n0
_
3
n
_
(1)
n
z
n

n0
(n +2)(n +1)
2
z
n
1
(1z)
2

n0
_
2
n
_
(1)
n
z
n

n0
(n +1)z
n
Podemos entonces expresar la solucin como:
u
2k

37
25
(4)
k
+2
(2k +2)(2k +1)
2

19
5
(2k +1) +
33
25

37
25
(4)
k
+4k
2

8
5
k
12
25
u
2k+1

82
25
(4)
k
+2
(2k +3)(2k +2)
2

19
5
(2k +2) +
33
25

82
25
(4)
k
+4k
2
+
12
5
k
7
25
Esta separacin en trminos pares e impares es incmoda. Usando nmeros complejos podemos
factorizar ms:
1+4z
2
(12iz)(1+2iz)
1
1+4z
2

1
2
_
1
1+2iz
+
1
12iz
_
z
1+4z
2

i
4
_
1
1+2iz

1
12iz
_
y podemos entonces expresar:
u
n

82
25

i
4
_
(2i)
n
(2i)
n
_
+
37
25

1
2
_
(2i)
n
+(2i)
n
_
+2
(n +2)(n +1)
2

19
5
(n +1) +
33
25

((3741i)i
n
+(37+41i)(i)
n
) 2
n
50
+n
2

4n
5

12
25
Es bien poco probable que hubiramos adivinado esta solucin. . .
Alternativamente, para el trmino:
87z +37
25(1+4z
2
)

3741i
2

1
12iz
+
37+41i
2

1
1+2iz
Podemos expresar el aporte mediante exponenciales complejas (conjugar el exponente corresponde
a conjugar):
exp() exp(n) +exp() exp(n)
17.4. RECURRENCIA DE RICATTI 267
Tenemos:
37+41i
2
exp()
2i exp()
Tomando en cuenta que:
cos
e
i
+e
i
2
sin i
e
i
e
i
2
si escribimos a +bi y c +di despus de simplicar la solucin:
exp() exp(n) +exp() exp(n) exp(a +bi +n(c +di)) +exp(a bi +n(c di))
exp(a +nc)(exp((b +nd)i) +exp((b +nd)i))
2exp(a +nc) cos(b +nd)
En detalle, para este caso tenemos:
e
a

_
37
2
+41
2
2

5
_
122
2
cosb
37
_
37
2
+41
2

37
_
122
610
e
c
2
cosd
0
_
0
2
+2
2
0
y la solucin puede expresarse:
u
n
5
_
122 2
n1
cos(b +nd) +n
2

4n
5

12
25
17.4. Recurrencia de Ricatti
Una recurrencia de la forma:
w
n+1

aw
n
+b
cw
n
+d
(17.11)
donde c / 0 y ad bc / 0 se llama recurrencia de Ricatti (si c 0 es simplemente una recurrencia
lineal de primer orden; si ad bc se reduce a w
n+1
constante). Incidentalmente, la recurren-
cia (16.15) para r que hallamos al analizar la bsqueda de Fibonacci en la seccin 16.3.4 es una
recurrencia de Ricatti.
Para resolver este tipo de recurrencias hay varias opciones, que exploraremos en lo que sigue.
17.4.1. Va recurrencia de segundo orden
Seguimos el esquema de Brand [41]. Si en (17.11) substituimos y
n
cw
n
+d, queda una recu-
rrencia de la forma:
y
n


y
n1
(17.12)
268 CAPTULO17. RECURRENCIAS
donde:
a +d
ad bc
Claramente eso slo vale si ad bc /0. Substituyendo ahora:
y
n

x
n+1
x
n
(17.13)
resulta:
x
n+2
x
n+1
+x
n
0 (17.14)
Esta es una recurrencia lineal de segundo orden, de coecientes constantes y homognea. Necesi-
tamos dos valores iniciales para resolverla, podemos elegir bastante arbitrariamente x
0
1, dando
x
1
y
0
, que a su vez podemos obtener de la condicin inicial original.
Para un ejemplo, tomemos:
w
n+1

5w
n
+2
3w
n
+4
(17.15)
Siguiendo los pasos indicados:
3w
n+1
+4 3
5w
n
+2
3w
n
+4
+4
9
14
3w
n
+4
Substituyendo:
3w
n
+4
x
n+1
x
n
y reordenando resulta:
x
n+2
9x
n+1
+14x
n
0 (17.16)
Con las condiciones iniciales x
0
1, x
1
3w
0
+4 13 la solucin de (17.16) es:
x
n

11 7
n
6 2
n
5
y nalmente:
w
n

11 7
n
+2
n+2
11 7
n
3 2
n+1
(17.17)
17.4.2. Reduccin a una recurrencia de primer orden
Puede aplicarse la tcnica de Mitchell [209] para obtener una ecuacin auxiliar de primer orden.
Denamos la secuencia auxiliar:
x
n

1
1+w
n
(17.18)
17.4. RECURRENCIA DE RICATTI 269
Expresamos la recurrencia (17.11) en trminos de x
n
, y despejamos x
n+1
:
x
n+1

(dc)x
n
+c
(b
2
(a d)c)x
n
+a+c
Buscamos que esta recurrencia sea lineal, o sea:
b
2
(a d)c 0
Arbitrariamente elegimos el signo positivo:

a d +
_
(a d)
2
+4bc
2b
(17.19)
Esto lleva a la ecuacin auxiliar:
x
n+1

(dc)x
n
+c
a+c
(17.20)
Esta es simple de resolver.
Aplicado al mismo ejemplo anterior, tenemos:

54+
_
(54)
2
+4 2 3
2 2

3
2
La recurrencia auxiliar es:
x
n+1

(4
3
2
3)x
n
+3
5
3
2
+3

2x
n
+2
7
(17.21)
De la condicin inicial tenemos:
x
0

1
1+w
0

2
11
(17.22)
La tradicional danza para resolver recurrencias entrega:
x
n

2
5

84
385

_
2
7
_
n
(17.23)
De ac con (17.18) resulta:
w
n

11 7
n
+2
n+2
11 7
n
3 2
n+1
(17.24)
Tal como antes.
17.4.3. Transformacin de Mbius
A una transformacin de la forma:
w
a
11
z +a
12
a
21
z +a
22
(17.25)
270 CAPTULO17. RECURRENCIAS
donde a
11
a
22
a
12
a
21
/ 0 (de lo contrario, la expresin se reduce a una constante) se le llama
transformacin de Mbius. Una de sus caractersticas interesantes es que forman un grupo con
la composicin de funciones, como es fcil demostrar. A nosotros puntualmente nos interesa lo
siguiente: Sean A(z), B(z) transformaciones de Mbius.
A(z)
a
11
z +a
12
a
21
z +a
22
(17.26)
B(z)
b
11
z +b
12
b
21
z +b
22
(17.27)
La composicin es:
A(B(z))
(a
11
b
11
+a
12
b
21
)z +(a
11
b
12
+a
12
b
22
)
(a
21
b
11
+a
22
b
21
)z +(a
21
b
12
+a
22
b
22
)
(17.28)
Si representamos las transformaciones por las respectivas matrices de coecientes, vemos que la
composicin corresponde al producto de las matrices. Lo que hace la recurrencia (17.11) es aplicar
la transformacin de Mbius repetidas veces:
w
n
A
n
(w
0
) (17.29)
a lo que naturalmente corresponde el calcular la potencia de la matriz respectiva. Para clculo
numrico puede usarse entonces una tcnica eciente para calcular potencias, como las dadas en
la seccin 9.2.
Ahora bien, una matriz A se dice diagonalizable si hay una matriz diagonal D y una matriz
invertible P tales que A P
1
DP. Computar las potencias de tales matrices es particularmente
simple, ya que A
n
P
1
D
n
P, y la potencia de la matriz diagonal es simplemente las potencias de sus
elementos. Los elementos de la matriz D resultan ser los valores propios de A, las soluciones de la
ecuacin det(AI) 0. En nuestro caso de matrices de 22 estos son simples de obtener:
(a
11
)(a
22
) a
12
a
21
0 (17.30)
La frmula cuadrtica da:

a
11
+a
22

_
(a
11
+a
22
)
2
4(a
11
a
22
a
12
a21)
2
(17.31)
Las columnas de la matriz P a su vez son los vectores propios correspondientes:
_
a
11

i
a
12
a
21
a
22

i
_

_
p
1i
p
2i
_

_
0
0
_
(17.32)
Por construccin, la matriz del sistema (17.32) es singular, y slo da una relacin entre p
1i
y p
2i
.
Podemos imponer cualquier condicin que resulte cmoda. Conociendo D y P podemos calcular
las potencias y as obtener la solucin buscada.
Volviendo a nuestro manoseado ejemplo, tenemos:
A
_
5 2
3 4
_
(17.33)
Los valores propios son
1
7 y
2
2, eligiendo valores p
1i
1:
P
_
1 1
1
3
/2
_
P
1

_
3
/5
2
/5
2
/5
2
/5
_
(17.34)
17.4. RECURRENCIA DE RICATTI 271
Podemos entonces calcular:
A
n
P
1
D
n
P

_
_
_
_
_
_
3 7
n
+2
n+1
5
2 7
n
2
n+1
5
3 7
n
3 2
n
5
2 7
n
+3 2
n
5
_
_
_
_
_
_
(17.35)
Con esto es:
w
n

(3 7
n
+2
n+1
)w
0
+(2 7
n
2 2
n+1
)
(3 7
n
2
n
)w
0
+(2 7
n
+3 2
n
)
(17.36)
Ntese que esta solucinmuestra explcitamente la dependencia de la condicininicial. Connuestra
condicin inicial w
0
3 resulta nuevamente:
w
n

11 7
n
+2
n+2
11 7
n
3 2
n+1
(17.37)
18 El mtodo simblico
Vimos antes (seccin 12.7) que las operaciones aritmticas entre funciones generatrices dan
funciones generatrices que corresponden a combinaciones de los objetos que stas representan.
Expandiendo esta observacin, veremos un marco en el cual derivar ecuaciones para las funciones
generatrices de inters en problemas combinatorios es casi automtico, como sistematizado por Fla-
jolet y Sedgewick [101]. y aplicado a anlisis de algoritmos por Sedgewick y Flajolet [258] Otra visin
en la misma lnea presenta Wilf [292]. Claro est que igual queda la tarea de extraer la informacin
buscada de la ecuacin resultante.
Consideremos primero el derivar una ecuacin generatriz para el nmero de rboles binarios
con n nodos, denidos diciendo que un rbol binario es una de las siguientes:
Es vaco.
Consta de un nodo raz y dos subrboles binarios (izquierdo y derecho).
Una manera de modelar esto es usar la variable z para marcar los nodos, va usar para representar
un rbol binario y [[ para su nmero de nodos, denir la funcin generatriz:
B(z)

z
[[
El coeciente de z
n
en B(z) es el nmero que nos interesa.
Directamente de la denicin de rbol binario sabemos que hay un rbol binario vaco, que al no
tener nodos aporta 1 a B(z). Los dems se pueden dividir en un nodo raz y dos subrboles binarios,
vale decir:
B(z) 1+

1
,
2
z
1+[
1
[+[
2
[
1+zB
2
(z)
Hay una ntima relacin entre la denicin recursiva y nuestra ecuacin para la funcin generatriz.
Lo que buscamos es sistematizar y extender esta observacin.
Estamos interesados en colecciones de objetos. Formalmente:
Denicin 18.1. Una clase A es un conjunto numerable de objetos A. A cada objeto se le
asocia un tamao, [[ N
0
. El conjunto de objetos con un tamao dado es nito.
Usaremos consistentemente letra caligrca, como A, para clases, y la misma letra para identi-
car nociones relacionadas. As, para la clase A generalmente usaremos para un elemento de la
clase y llamaremos a
n
al nmero de objetos de la clase de tamao n. A las funciones generatrices
273
274 CAPTULO18. EL MTODOSIMBLICO
ordinaria y exponencial correspondientes les llamaremos A(z) y

A(z), respectivamente:
A(z)

A
z
[[

n0
a
n
z
n

A(z)

A
z
[[
[[!

n0
a
n
z
n
n!
Nuestro siguiente objetivo es construir nuevas clases a partir de las que ya tenemos. Las clases
ms elementales son , la clase que no contiene objetos; E {}, la clase que contiene nicamente
el objeto vaco (de tamao nulo); y la clase que comnmente llamaremos Z, conteniendo un
nico objeto de tamao uno (que llamaremos por consistencia). Luego denimos operaciones
que combinan las clases A y B mediante unin combinatoria A +B, en que aparecen los y
los con sus tamaos (los objetos individuales se decoran con su proveniencia, de forma que
A y B no necesitan ser disjuntos). Ocasionalmente restaremos objetos de una clase, lo que debe
interpretarse sin decoraciones (estamos dejando fuera ciertos elementos, simplemente). Usaremos
producto cartesiano A B, cuyos elementos son pares (, ) y el tamao del par es [[ +[[. Otras
operaciones sonformar secuencias de elementos de A (se anota SEQ(A)), y formar conjuntos SET(A)
y multiconjuntos MSET(A) de elementos de A. Consideramos tambin la operacin CYC(A), que
consiste en ordenar elementos de A en un crculo (una secuencia conectando inicio y n). En estos
ltimos casos el tamao es simplemente la suma de los tamaos de los componentes. Incluir objetos
de tamao cero en estas construcciones crea problemas, debemos preocuparnos de excluirlos. Otro
juego popular de notaciones para estas operaciones es S para secuencia, P para conjunto (de
powerset), Mpara multiconjunto y C para ciclo.
18.1. Objetos sin rotular
Nuestro primer teorema relaciona las funciones generatrices ordinarias respectivas para algunas
de las operaciones entre clases denidas antes. Las funciones generatrices de las clases , E y Z
son, respectivamente, 0, 1 y z.
Teorema 18.1 (Mtodo simblico, OGF). Sean A y B clases de objetos, con funciones generatrices
ordinarias respectivamente A(z) y B(z). Entonces tenemos las siguientes funciones generatrices ordi-
narias:
1. Para enumerar A +B:
A(z) +B(z)
2. Para enumerar A B:
A(z) B(z)
3. Para enumerar SEQ(A):
1
1A(z)
4. Para enumerar SET(A):

A
_
1+z
[[
_

n1
(1+z
n
)
a
n
exp
_

k1
(1)
k1
k
A(z
k
)
_
18.1. OBJETOS SINROTULAR 275
5. Para enumerar MSET(A):

A
1
1z
[[

n1
1
(1z
n
)
a
n
exp
_

k1
A(z
k
)
k
_
6. Para enumerar CYC(A):

n1
(n)
n
ln
1
1A(z
n
)
Demostracin. Cada parte por turno.
1. Si hay a
n
elementos de A de tamao n, y b
n
elementos de B de tamao n, habrn a
n
+b
n
elementos de A +Bde tamao n.
Alternativamente:

A+B
z
[[

A+B
_
[ A]z
[[
+[ B]z
[[
_

A
z
[[
+

B
z
[[
A(z) +B(z)
2. Hay:

0kn
a
k
b
nk
maneras de combinar elementos de A con elementos de B cuyos tamaos sumen n, y este
es precisamente el coeciente de z
n
en A(z) B(z).
Alternativamente:

AB
z
[[

A
B
z
[[+[[

_

A
z
[[
_

_

B
z
[[
_
A(z) B(z)
3. Hay una manera de obtener la secuencia de largo 0 (aporta el objeto vaco ), las secuencias
de largo 1 son simplemente los elementos de A, las secuencias de largo 2 son elementos de
A A, y as sucesivamente. O sea, las secuencias se representan mediante:
E +A +A A +A A A +
Por la segunda parte, la funcin generatriz correspondiente es:
1+A(z) +A
2
(z) +A
3
(z) +
1
1A(z)
4. La clase de los subconjuntos nitos de A queda representada por el producto simblico:

A
(E +{})
ya que al distribuir los productos de todas las formas posibles aparecentodos los subconjuntos
de A. Directamente obtenemos entonces:

A
_
1+z
[[
_

n0
(1+z
n
)
a
n
276 CAPTULO18. EL MTODOSIMBLICO
Esta es la primera parte de lo aseverado. Aplicando logaritmo:

A
ln
_
1+z
[[
_

k1
(1)
k
z
[[k
k

k1
(1)
k
k

A
z
[[k

k1
(1)
k1
A(z
k
)
k
Esto es equivalente a la segunda parte.
5. Consideremos nuevamente el aporte de A. Ac es un factor:
1+z
[[
+z
2[[
+z
3[[
+
1
1z
[[
La funcin generatriz buscada es:

A
1
1z
[[

n0
1
(1z
n
)
a
n
Esto provee la primera parte. Nuevamente aplicamos logaritmo para simplicar:
ln

A
1
1z
[[

A
ln
_
1z
[[
_

k1
z
k[[
k

k1
1
k

A
z
k[[

k1
A(z
k
)
k
6. Esta situacin es ms compleja de tratar, la discutiremos en la seccin 18.1.3 ms abajo.
La utilidad del teorema 18.1 es que de cmo construir la clase de objetos que nos interesa da
directamente una ecuacin satisfecha por la funcin generatriz. Claro que igual resta extraer los
coecientes, tarea en la cual la frmula de inversin de Lagrange es invaluable.
18.1.1. Algunas aplicaciones
Sea Bla clase de los rboles binarios, por denicin es la unin disjunta del rbol vaco y la clase
de secuencias de un nodo (la raz) y dos rboles binarios. O sea:
BE +Z BB
de donde directamente igual que antes obtenemos:
B(z) 1+zB
2
(z)
Con el cambio de variable u(z) B(z) 1 queda:
u(z) z(1+u(z))
2
18.1. OBJETOS SINROTULAR 277
Es aplicable la frmula de inversin de Lagrange, teorema 14.8, con (u) (u +1)
2
y f (u) u:
_
z
n
_
u(z)
1
n
_
u
n1
_
(u)
n

1
n
_
u
n1
_
(u +1)
2n

1
n
_
2n
n 1
_
Tenemos, como u(z) B(z) 1 y sabemos que b
0
1:
b
n

_
1
n
_
2n
n 1
_

1
n +1
_
2n
n
_
si n 1
1 si n 0
Casualmente la expresin simplicada para n 1 da el valor correcto b
0
1. A estos nmeros ya los
habamos mencionado en (12.37), son los nmeros de Catalan. Es b
n
C
n
.
Sea ahora A la clase de rboles con raz ordenados, formados por un nodo raz conectado a las
races de una secuencia de rboles ordenados. La idea es que la raz tiene hijos en un cierto orden.
Simblicamente:
A Z SEQ(A)
El mtodo simblico entrega directamente la ecuacin:
A(z)
z
1A(z)
Nuevamente es aplicable la frmula de inversin de Lagrange, con (A) (1A)
1
y f (A) A:
_
z
n
_
A(z)
1
n
_
A
n1
_
(A)
n

1
n
_
A
n1
_
(1A)
n

1
n
_
2n 2
n 1
_
C
n1
Otra vez nmeros de Catalan. Un combinatorista de verdad considerar esto como el desafo de
encontrar una biyeccin entre rboles binarios y rboles ordenados, nosotros nos contentaremos
con consignar el resultado.
Los rboles con raz constan de un nodo raz conectado a una coleccin de rboles con raz. La
clase R correspondiente cumple:
RZ MSET(R)
Para la funcin generatriz queda:
R(z) z exp
_

k1
R(z
k
)
k
_
(18.1)
Ciertamente es una ecuacin harto fea, pero puede usarse para obtener sucesivamente los r
n
.
278 CAPTULO18. EL MTODOSIMBLICO
Una manera general de atacar ecuaciones como (18.1) es ver que da R en trminos de R, y
comenzar con alguna aproximacin para irla renando. De partida, vemos que r
0
0, con lo que
tenemos una aproximacin inicial R
(0)
(z) 0. Substituyendo en (18.1) obtenemos R
(1)
(z) z. Como
al substituir R
(1)
(z) en (18.1) ya no aparecern nuevos trminos en z, sabemos que r
1
1. De la
misma forma, cuando substituyamos R
(n)
(z) en (18.1) ya no aparecern nuevas contribuciones al
coeciente de z
n
, y este proceso converge segndenimos enel captulo 14. No tiene sentido retener
ms trminos al calcular R
(n)
(z), los dems no inuyen sobre el coeciente de z
n
. Armado con un
paquete de lgebra simblica o mucha paciencia se pueden calcular trminos adicionales:
R(z) z +z
2
+2z
3
+4z
4
+9z
5
+20z
6
+48z
7
+115z
8
+ (18.2)
Se pueden extraer estimaciones asintticas de (18.1), ver por ejemplo [101, 177], pero las tcnicas a
emplear escapan con mucho a nuestro mbito. Ya Plya [236] encontr:
r
n
0, 4399 2, 9558
n
n
3/2
18.1.2. Palabras que no contienen un patrn dado
Nos interesan secuencias que no contengan un patrn dado. Un ejemplo simple es secuencias
binarias sin ceros seguidos. Llamemos B
00
a esta clase. Un elemento de B
00
puede ser vaco o 0, o
es 1 o 01 seguido por un elemento de B
00
. O sea:
B
00
E +{0} +{1, 01} B
00
Si z marca cada smbolo, para la respectiva funcin generatriz ordinaria B
00
(z):
B
00
(z) 1+z +(z +z
2
)B
00
(z)
Despejando:
B
00
(z)
1+z
1z z
2
Resulta ser [z
n
] B
00
(z) F
n
+F
n+1
F
n+2
, un nmero de Fibonacci.
Si ahora buscamos que no contenga k ceros seguidos, podemos expresar:
B
0
k P
<k
+P
<k
{1} B
0
k
Ac P
<k
es una secuencia de menos de k ceros:
P
<k
E +{0} +{0}
2
+ +{0}
k1
Las respectivas funciones generatrices ordinarias cumplen:
P
<k
(z) 1+z +z
2
+ +z
k1

1z
k
1z
B
0
k (z)
1z
k
1z
(1+zB
0
k (z))
Despejando:
B
0
k (z)
1z
k
12z +z
k+1
(18.3)
18.1. OBJETOS SINROTULAR 279
Podemos extraer informacin adicional de ac. Los coecientes de B
0
k (z) son el nmero de strings
que no contienen 0
k
, el coeciente de z
n
dividido por 2
n
es la proporcin del total:
B
0
k (z)

n0
{# de largo n sin 0
k
}z
n
B
0
k (z/2)

n0
{# de largo n sin 0
k
}/2
n
z
n
B
0
k (1/2)

n0
{# de largo n sin 0
k
}/2
n

n0
Pr(No hay 0
k
en los primeros n)

n0
Pr(Primer 0
k
termina despus de >n)
Posicin esperada del n de los primeros k ceros
A esto se le llama tiempo de espera (en ingls, waiting time). Resulta:
Teorema 18.2. El tiempo de espera para los primeros k ceros en un string binario al azar es:
B
0
k (1/2) 2
k+1
2 (18.4)
O sea, en promedio hay que esperar 30 bits hasta hallar 0000. La pregunta obvia es si esto vale
tambin para otros patrones de largo cuatro, por ejemplo 0001. Resulta que no es as. Consideremos
la primera vez que aparece 000. Es igualmente probable que contine 0000 o 0001. Si 0000 no calza
es 0001, y para 0000 debemos esperar al menos 4 bits ms. Si 0001 no calza, es porque es 0000 y el
prximo bit puede completar 0001.
Consideremos un patrn p formado por s smbolos de largo k arbitrario entonces. Sea B
p
la
clase de strings que no contienen p, y sea T
p
la clase de strings que terminan en p, pero en los cuales
p no aparece nunca antes del nal. Es claro que B
p
y T
p
son disjuntos. Si agregamos un smbolo a
un string en B
p
, el resultado es un string no vaco en B
p
o en T
p
. O sea:
B
p
+T
p
E +B
p
{0, 1, . . . , s 1}
Esto nos da la ecuacin funcional para las respectivas funciones generatrices ordinarias:
B
p
(z) +T
p
(z) 1+szB
p
(z) (18.5)
Hace falta determinar T
p
. Es similar a B
p
{p}, pero debemos considerar que un elemento de B
p
puede terminar en casi p, con lo que slo le falta una cola.
El desarrollo que sigue es bsicamente de [220]. Escribiremos [x[ para el largo del string x (el
nmero de smbolos que lo componen). Para describir la manera en que dos strings se traslapan
denimos la correlacin entre los string x e y (posiblemente de distinto largo) como el polinomio
c
xy
(t ) de grado [x[ 1 tal que el coeciente de t
k
se determina ubicando y bajo x de manera que el
primer caracter de y cae bajo el k-simo caracter de x. El coeciente es 1 si ambos son iguales donde
traslapan, 0 en caso contrario. Por ejemplo, si x cabcabc e y abcabcde, resulta c
xy
(t ) t
4
+t ,
como muestra la tabla 18.1. Ntese que en general c
xy
(t ) /c
yx
(t ) (en el ejemplo es c
yx
(t ) 0). De
particular inters es la autocorrelacin c
x
(t ) c
xx
(t ), la correlacin de un string consigo mismo. En
el ejemplo, c
x
(t ) t
6
+t
3
+1.
Fijemos un patrn p, y escribamos:
B
p
(z)

n0
b
n
z
n
T
p
(z)

n0
t
n
z
n
280 CAPTULO18. EL MTODOSIMBLICO
x : c a b c a b c
y : a b c a b c d e 0
a b c a b c d e 1
a b c a b c d e 0
a b c a b c d e 0
a b c a b c d e 1
a b c a b c d e 0
a b c a b c d e 0
Cuadro 18.1 Clculo de c
xy
(t ) t
4
+t
Consideremos uno de los b
n
strings de largo n que no terminan en p, y adosemos p al nal. Sea n+r
la posicin en la cual por primera vez termina p en el resultado, donde 0 <r k. Como p tambin
aparece al nal, deben coincidir el prejo de largo k r de p y el sujo de largo k r de p, o sea,
_
t
kr
_
c
p
(t ) 1.
Para un ejemplo, sea el patrn p aaba y el string x ababbaab. Es k [p[ 4 y n [x[ 8.
Vemos que xp ababbaabaaba, o sea, r 1 (hay un traslapo de k r 41 3 entre el principio
del patrn y el nal del string). Tenemos un miembro de T
p
de largo n +r 9 y una cola de largo
k r 3, determinados en forma nica por x y p. Esta descomposicin slo es posible cuando
_
t
kr
_
c
p
(t ) 1.
Nos interesa contar estos string. Hay t
n+r
de ellos, la descomposicin descrita es una biyeccin.
Vale decir, como los coecientes de c
p
son cero o uno:
b
n

0<r k
t
n+r
_
t
kr
_
c
p
(t ) (18.6)
Multiplicando (18.6) por z
n+k
y sumando para n 0 (recordar que k [p[ deg(c
p
(t )) +1) da:
B
p
(z)z
k

n0
z
n+k

0<r k
t
n+r
_
t
kr
_
c
p
(t )
Esta es la convolucin de T
p
(z) con c
p
(z):
B
p
(z)z
k
T
p
(z)c
p
(z) (18.7)
Uniendo las piezas anteriores tenemos un resultado de Solovev [265]:
Teorema 18.3. Sea p un patrn de largo k formado por s smbolos, con autocorrelacin c
p
(z). Enton-
ces el nmero de strings de largo n que no contienen el patrn p tiene funcin generatriz ordinaria:
B
p
(z)
c
p
(z)
(1sz)c
p
(z) +z
k
(18.8)
El tiempo de espera para el patrn p est dado por:
W
p
s
k
c
p
(1/s) (18.9)
Demostracin. La ecuacin (18.8) es la solucin del sistema de ecuaciones (18.5) y (18.7). El tiempo
de espera es como se discuti antes para el patrn 0
k
, la expresin dada resulta de substituir z 1/s
en (18.8).
18.1. OBJETOS SINROTULAR 281
Incidentalmente, como c
p
es un polinomio de coecientes enteros de grado menor a k, por (18.9)
el tiempo de espera siempre es un entero.
Completando la discusin previa, tenemos c
0000
(z) 1+z +z
2
+z
3
y c
0001
(z) 1. El tiempo de
espera para el patrn p est dado por 2
4
c
p
(1/2). Para nuestros dos patrones:
B
0000
(z)
1z
4
1z
(12z)
1z
4
1z
+z
4
)
(18.10)

1z
4
1z
2
+z
5
(18.11)
W
0000
30 (18.12)
B
0001
(z)
1
12z +z
4
(18.13)
W
0001
16 (18.14)
Por tcnicas similares se pueden manejar conjuntos de patrones.
18.1.3. Construccin ciclo
El tratamiento de CYC(A) en el teorema 18.1 requiere considerar simetras en la secuencia subya-
cente. Por ejemplo, el ciclo (abcd) resulta de las cuatro secuencias abcd, bcda, cdab y dabc; pero
el ciclo (abab) resulta slo de las dos abab y baba. Por ahora hablaremos de secuencias y ciclos de
smbolos, para luego aplicar lo aprendido a clases y sus funciones generatrices.
Nuestro desarrollo sigue a Flajolet y Soria [102]. Llamemos secuencia primitiva a una secuencia
que no es la repeticin de una secuencia ms corta. O sea, abaab es primitiva, abab (ab)
2
no lo
es. La secuencia ms corta tal que la secuencia dada se puede escribir como una repeticin de ella
la llamamos la raz de la secuencia. En el ejemplo, la raz de abaab es abaab ya que es primitiva,
la raz de abab es ab. Sea s el nmero de smbolos en el alfabeto sobre el cual se consideran las
secuencias. Si llamamos p
n
al nmero de secuencias primitivas de largo n, como toda secuencia es
la repeticin de una secuencia primitiva, debe ser:
s
n

d[n
p
d
Inversin de Mbius, teorema 6.19, entrega:
p
n

d[n
(d)s
n/d
Necesitamos extender este resultado a las funciones generatrices respectivas.
Lema 18.4 (Inversin de Mbius). Sean secuencias u
n

n0
y v
n

n0
tales que para n 1:
u
n

d[n
v
d
Entonces las funciones generatrices ordinarias respectivas U(z) y V (z) cumplen:
U(z)

n1
V (z
n
)
V (z)

n1
(n)U(z
n
)
282 CAPTULO18. EL MTODOSIMBLICO
Demostracin. Primero, usando la convencin de Iverson:
U(z)

n1
u
n
z
n

n1

a1

b1
[ab n]v
a
z
n

a1

b1
v
a
z
ab

n1
[ab n]

b1

a1
v
a
(z
b
)
a

b1
V (z
b
)
De la misma forma:
V (z)

n1

a1

b1
[ab n](a)u
b
z
n

a1
(a)

b1
u
b
z
ab

a1
(a)U(z
a
)
Queda claro que si (n) tiene inversa de Dirichlet
1
(n) y:
u
n

d[n
(n/d)v
d
v
n

d[n

1
(n/d)u
d
entonces:
U(z)

n1
(n)V (z
n
) (18.15)
V (z)

n1

1
(n)U(z
n
) (18.16)
Igual que para secuencias podemos hablar de ciclos primitivos y sus races, nos interesa la rela-
cin entre secuencias y ciclos. La gura 18.1 muestra algunos ciclos de largo seis con sus races.
a
a a
a
a a
(a) Raz a
a
b a
b
a b
(b) Raz ab
a
a b
a
a b
(c) Raz aab
a
a b
a
b a
(d) Primitivo
Figura 18.1 Ciclos de largo seis
Sea una secuencia primitiva de largo l , y consideremos el ciclo formado por r copias de ,
r
.
Si lo rotamos en un mltiplo de l posiciones obtenemos el original. Si lo rotamos en menos de l
posiciones, el efecto es dividir y trasladar al nal, queda ()
r 1
()
r
, un nuevo ciclo
con raz de largo l . Esto ocurre al rotar en cualquier nmero de posiciones que no es un mltiplo de
l . Si la secuencia es primitiva, todas las rotaciones de la misma tambin lo son. Vale decir, hay un
18.1. OBJETOS SINROTULAR 283
mapa 1 a l de secuencias primitivas de largo l a ciclos primitivos de largo l . A su vez, todo ciclo es la
repeticin de un ciclo primitivo (su raz).
Traduzcamos lo anterior a funciones generatrices ahora. Consideremos primeramente secuen-
cias de al menos un A. Si adems del tamao total nos interesa el nmero de A componentes,
usando una clase auxiliar U con un nico elemento de tamao uno podemos representar la clase
S que nos interesa como:
S SEQ
1
(U A)
De esto, usando u para contar el nmero de U participantes (vale decir, el nmero de A que com-
ponen nuestra secuencia) el mtodo simblico da:
S(z, u)
uA(z)
1uA(z)
La funcin generatriz S
p
(z, u) del nmero de secuencias primitivas formadas por A queda determi-
nado por la ecuacin implcita:
S(z, u)

n1
S
p
(z
n
, u
n
)
de donde por el lema 18.4:
S
p
(z, u)

n1
(n)
u
n
A(z
n
)
1u
n
A(z
n
)
(18.17)
Pero nos interesa la funcin generatriz de los ciclos primitivos, C
p
(z, u). Por lo discutido antes, esto
se obtiene de S
p
(z, u) haciendo el reemplazo u
l
u
l
/l , y esto a su vez integrando trmino a trmino
se obtiene como:
C
p
(z, u)
_
u
0
S
p
(z, v)
dv
v

n1
(n)
n
ln
1
1u
n
A(z
n
)
(18.18)
Construimos ciclos completos repitiendo ciclos primitivos, lo que corresponde a la inversa de Diri-
chlet de (18.18):
C(z, u)

n1
(n)
n
ln
1
1u
n
A(z
n
)
(18.19)
Substituyendo u 1 obtenemos la ecuacin prometida.
Resta demostrar que en el anillo de Dirichlet:
_
(n)
n
_
1

(n)
n
La identidad de Gau (teorema 6.23) dice:
n

d[n
(d)
Por inversin de Mbius:
(n)

d[n
(d)
n
d
que es equivalente a lo que buscbamos demostrar.
284 CAPTULO18. EL MTODOSIMBLICO
18.2. Objetos rotulados
En la discusin previa slo interesaba el tamao de los objetos, no su disposicin particular.
Consideraremos ahora objetos rotulados, donde importa cmo se compone el objeto de sus partes.
El objeto ms simple con partes rotuladas son las permutaciones (biyecciones : [n] [n]). Para
la funcin generatriz exponencial tenemos, ya que hay n! permutaciones de n elementos:

z
[[
[[!

n0
n!
z
n
n!

1
1z
Lo siguiente ms simple de considerar es colecciones de ciclos rotulados. Por ejemplo, escribi-
mos (1 3 2) para el objeto en que viene 3 luego de 1, 2 sigue a 3, y a su vez 1 sigue a 2. As (2 1 3)
es slo otra forma de anotar el ciclo anterior, que no es lo mismo que (3 1 2). Interesa denir for-
mas consistentes de combinar objetos rotulados. Por ejemplo, al combinar el ciclo (1 2) con el ciclo
(1 3 2) resultar un objeto con 5 rtulos, y debemos ver cmo los distribuimos entre las partes. El
cuadro 18.2 resea las posibilidades al respetar el orden de los elementos asignados a cada parte.
Es claro que lo que estamos haciendo es elegir un subconjunto de 2 rtulos de entre los 5 para
(1 2)(3 5 4) (2 3)(1 5 4) (3 4)(1 5 2) (4 5)(1 3 2)
(1 3)(2 5 4) (2 4)(1 3 5) (3 5)(1 4 2)
(1 4)(2 5 3) (2 5)(1 3 4)
(1 5)(2 4 3)
Cuadro 18.2 Combinando los ciclos (1 2) y (1 3 2)
asignrselos al primer ciclo. El combinar dos clases de objetos A y Bde esta forma lo anotaremos
A B. Consideraremos tambin la construccin MSET(A), que podemos considerar como una
secuencia de elementos numerados obviando el orden. Cuidado, muchos textos le llaman SET() a
esta operacin.
Tenemos el siguiente teorema:
Teorema 18.5 (Mtodo simblico, EGF). Sean A y B clases de objetos, con funciones generatrices
exponenciales

A(z) y

B(z), respectivamente. Entonces tenemos las siguientes funciones generatrices
exponenciales:
1. Para enumerar A +B:

A(z) +

B(z)
2. Para enumerar A B:

A(z)

B(z)
3. Para enumerar SEQ(A):
1
1

A(z)
4. Para enumerar MSET(A):
e

A(z)
18.2. OBJETOS ROTULADOS 285
5. Para enumerar CYC(A):
ln(1

A(z))
Demostracin. Cada caso por turno.
1. Nuevamente trivial.
2. El nmero de objetos que se obtienen al combinar A con Bes:
_
[[ +[[
[[
_
y tenemos la funcin generatriz exponencial:

AB
z
[[
[[!

A
B
_
[[ +[[
[[
_
z
[[+[[
([[ +[[)!

_

A
z
[[
[[!
_

_

B
z
[[
[[!
_


A(z)

B(z)
3. Las secuencias de A se representan mediante:
E +A +A A +A A A +
Por la segunda parte esto corresponde a:
1+

A(z) +

A
2
(z) +

A
3
(z) +
1
1

A(z)
4. Esto viene de la representacin que corresponde a tomar k elementos en secuencia y conside-
rar que aparecen en todos los rdenes posibles:
E +
A
1!
+
A A
2!
+
A A A
3!
+
Por la segunda parte esto corresponde a:
1+

A(z)
1!
+

A
2
(z)
2!
+

A
3
(z)
3!
+ e

A(z)
5. Si tomamos un ciclo de n elementos, podemos cortarlo de n maneras y la secuencia resultante
puede estar en n! rdenes, de manera que hay (n 1)! maneras de ordenar n elementos en un
ciclo. En forma similar al caso anterior esto da lugar a:
0!

A(z)
1!
+1!

A
2
(z)
2!
+2!

A
3
(z)
3!
+

A(z)
1
+

A
2
(z)
2
+

A
3
(z)
3
+
ln(1

A(z))
286 CAPTULO18. EL MTODOSIMBLICO
Como un ejemplo, demostraremos que hay tantas permutaciones de [1..n] como colecciones de
ciclos de esos elementos. Las permutaciones podemos representarlas como secuencias rotuladas,
SEQ(Z), y por el teorema 18.5 su funcin generatriz exponencial es:
1
1z
La funcin generatriz exponencial para colecciones de ciclos MSET(CYC(Z)) es:
exp(ln(1z))
1
1z
Vale decir, hay tantas maneras de distribuir n elementos en ciclos como hay permutaciones de esos
n elementos. Volveremos a esto en el captulo 22.
Podemos modicar los operadores, por ejemplo anotar MSET
1
(A) para conjuntos de al menos
un A, con ajustes a sus expansiones sugeridas por la demostracin del teorema del caso. Para contar
todas las maneras de particionar un conjunto tenemos la expresin simblica:
MSET(MSET
1
(Z))
que se traduce directamente en la funcin generatriz exponencial de los nmeros de Bell [24]:

B(z) e
e
z
1
(18.20)
Para obtener una frmula explcita para B
n
salimos del espacio estricto de las series formales.
Las manipulaciones se justican ya que las series involucradas convergen uniformemente para todo
z.

B(z)
e
e
z
e

1
e

r 0
e
r z
r !

1
e

r 0
1
r !

s0
(r z)
s
s!

1
e

s0
z
s
s!

r 0
r
s
r !
El nmero de Bell B
n
es el coeciente de z
n
/n! en esto:
B
n

1
e

r 0
r
n
r !
(18.21)
El resultado (18.21) se conoce como ecuacin de Dobi nski [80].
Derivando (18.20) obtenemos la ecuacin diferencial, cuyo valor inicial resulta directamente de
la funcin generatriz:

B
t
(z) e
z

B(z)

B(0) 1 (18.22)
El lado izquierdo es un desplazamiento, el derecho corresponde a una convolucin binomial:
B
n+1

0kn
_
n
k
_
B
k
B
0
1 (18.23)
El lector interesado vericar que el truco zDlog aplicado a (18.20) lleva a la misma recurrencia.
19 Nmeros combinatorios
Las funciones generatrices tienen muchas aplicaciones en combinatoria, por las razones que
quedarn claras a travs de los siguientes ejemplos. En muchos casos es directo obtener recurrencias
para los nmeros que interesan, y funciones generatrices dan entonces forma de llegar a expresiones
explcitas o relaciones adicionales.
19.1. Subconjuntos y multiconjuntos
Para obtener el nmero de subconjuntos de k elementos tomados entre n, podemos razonar
en forma afn a la demostracin del teorema 18.1 para conjuntos: Cada elemento aporta 0 o 1 al
tamao de un subconjunto, por lo que la funcin generatriz para los subconjuntos de un conjunto
de n elementos no es ms que:
(1+z)
n
y el nmero de inters es entonces directamente:
_
n
k
_

_
z
k
_
(1+z)
n
como ya sabamos.
Otra situacin interesante son los multiconjuntos. Siguiendo nuevamente el razonamiento de la
demostracin del teorema 18.1, el aporte de cada elemento es:
1+z +z
2
+
1
1z
con lo que el nmero de multiconjuntos de k elementos tomados entre n es simplemente:
__
n
k
__

_
z
k
_
_
1
1z
_
n
(1)
k
_
n
k
_

_
n +k 1
n 1
_
19.2. Cuntas secuencias de 2n parntesis balanceados hay?
Llamemos C
n
al nmero de secuencias de 2n parntesis balanceados. Los primeros valores son:
1
1 ()
2 () (())
5 ()()() ()(()) (())() (()()) ((()))
287
288 CAPTULO19. NMEROS COMBINATORIOS
Toda secuencia de parntesis balanceados se puede dividir en dos partes: El 2k-simo parntesis
cierra el primer parntesis (1 k n), y el resto. Marcando este comienzo en rojo est la secuencia
(()())(()(()))()(()()()). Llamamos perfecta a una secuencia con n k. Hay C
n1
secuencias perfectas de
largo 2n, como muestra la siguiente biyeccin:
Tomar una secuencia balanceada cualquiera de largo 2n 2, y encerrarla entre parntesis da
una secuencia perfecta de largo 2n.
Tomar una secuencia perfecta, y eliminar los parntesis de ms afuera da una secuencia ba-
lanceada.
Si llamamos C la clase de secuencias de parntesis balanceados, tenemos la relacin simblica:
C E +(C)C
Al usar z para marcar un par de parntesis (sus posiciones exactas realmente no interesan), esto da:
C(z) 1+zC
2
(z) (19.1)
Ya nos habamos tropezado con la ecuacin (19.1) al derivar la funcin generatriz para el nmero de
rboles binarios en el mtodo simblico en el captulo 18, y vimos que los C
n
son los nmeros de
Catalan (12.37):
C
n

1
n +1
_
2n
n
_
A la funcin generatriz (12.36) se la ha llamado la ms famosa de la combinatoria.
19.3. Nmeros de Schrder
De inters ocasional son los nmeros de Schrder, quien los plante como el segundo de sus
cuatro problemas [253], ver tambin [267]. Tenemos n smbolos (por ejemplo, x) e interesa saber
de cuntas formas se pueden parentizar, donde la regla es ms fcil de explicar recursivamente:
x mismo es una parentizacin; y si lo son
1
a
k
con k 2, tambin lo es (
1

2

k
). Por ejem-
plo, (((xx)x(xxx))(xx)) es una parentizacin de xxxxxxxx. El mtodo simblico aplicado a esta
descripcin recursiva lleva a:
S Z +SEQ
2
(S ) (19.2)
y a la ecuacin funcional:
S(z) z +
S
2
(z)
1S(z)
No es aplicable directamente la frmula de inversin de Lagrange, pero podemos resolver la cuadr-
tica:
2S
2
(z) (z +1)S(z) +z 0 (19.3)
lo que al descartar la solucin espuria da:
S(z)
1
4
_
1+z
_
16z +z
2
_
(19.4)
19.4. NMEROS DE STIRLING DE SEGUNDA ESPECIE 289
Esto es incmodo. Derivando (19.3) y despejando S
t
(z):
S
t
(z)
S(z) 1
4S(z) z 1
(19.5)
Observamos de (19.4) que:
4S(z) z 1
_
16z +z
2
Amplicando la fraccin en (19.5) por esto, substituyendo el resultado de despejar S
2
(z) de (19.3) y
simplicando:
(z
2
6z +1)S
t
(z) (z 3)S(z) z +1 (19.6)
Substituyendo la serie de potencias S(z) en (19.6) e igualando coecientes de z
n
resulta la recurren-
cia para n 1 (esto permite evitar las situaciones especiales que introduce el lado derecho de (19.6)):
(n +2)s
n+2
3(2n +1)s
n+1
+(n 1)s
n
0 (19.7)
Expandiendo (19.4) tenemos s
1
s
2
1 como puntos de partida.
Ac obtuvimos una ecuacin diferencial lineal manipulando la ecuacin funcional para la fun-
cin generatriz, y de ella extrajimos una recurrencia, ms cmoda para calcular los coecientes que
la funcin generatriz. Esto puede extenderse al caso general de ecuaciones funcionales algebrai-
cas [40].
Otra opcin es el camino siguiente:
S(z)
z
1+
S(z)
z
S(z)
1S(z)
Despejando S/z resulta:
S(z) z
1S(z)
12S(z)
donde s es aplicable inversin de Lagrange.
19.4. Nmeros de Stirling de segunda especie
Interesa el nmero de maneras de dividir el conjunto {1, 2, 3, 4} en dos clases, como ilustra el
cuadro 19.1. Esto muestra que hay 7 particiones de 4 elementos en 2 clases. El nmero de maneras
{1} {2, 3, 4}
{1, 2} {3, 4}
{1, 3} {2, 4}
{1, 4} {2, 4}
{1, 2, 3} {4}
{1, 2, 4} {3}
{1, 3, 4} {2}
Cuadro 19.1 Las 7 particiones de 4 elementos en 2 clases
de dividir un conjunto en clases lo da el nmero de Stirling de segunda especie, se anota
_
n
k
_
para el
290 CAPTULO19. NMEROS COMBINATORIOS
nmero de formas de dividir un conjunto de n elementos en k particiones. Cabe hacer notar que
esta notacin, originada por Karamata [155], es relativamente comn (uno de sus campeones es
Knuth, por ejemplo [119, 171]), aunque hay una gran variedad de notaciones, algunas con signo.
Claramente para los nmeros de Bell vistos en la seccin 18.2:
B
n

1kn
_
n
k
_
Una aplicacin es contar el nmero de funciones sobre de [n] a [k]: Corresponde a particionar el
dominio en las preimgenes de cada elemento del rango, y podemos asignar valores de la funcin a
cada una de las k particiones de k! maneras, con lo que
_
n
k
_
k! es el valor buscado.
Para obtener
_
n
k
_
, consideremos dos grupos de particiones:
Aquellas en que n est solo: Corresponden a tomar k 1 particiones de los dems n 1 elementos,
hay
_
n1
k1
_
de estas.
Aquellas en que n est con otros elementos: Se construyen en base a k clases de los restantes n1
elementos va agregar n a cada clase, hay k
_
n1
k
_
de estas.
Estas dos opciones son excluyentes y exhaustivas, y:
_
n
k
_

_
n 1
k 1
_
+k
_
n 1
k
_
(19.8)
Donde:
_
n
0
_
[n 0]
_
n
n
_
1
Si adems decretamos:
_
n
k
_

_
0 n <0
0 k <0
0 k >n
la recurrencia siempre se cumple. Una tabla de los nmeros de Stirling de segunda especie en forma
de tringulo (como el tringulo de Pascal del cuadro 16.1) comienza como ilustra el cuadro 19.2.
Podemos optar entre tres funciones generatrices: Multiplicar por u
k
y sumar sobre k, multiplicar por
z
n
y sumar sobre n o multiplicar por u
k
z
n
sumar sobre ambos ndices. Al sumar sobre k el factor
k resulta en una derivada, se optara por sumar slo sobre n, que da ecuaciones ms simples de
tratar. Resulta eso s una recurrencia para la funcin generatriz del caso. El desarrollo es largo, y lo
omitiremos.
Es ms simple aplicar el mtodo simblico. Para obtener el nmero de particiones de n elemen-
tos en k clases partimos de la expresin simblica:
S MSET(U MSET
1
(Z))
en la que U contiene un nico elemento de tamao uno (usado para contabilizar el nmero de
clases asocindolo a la variable u, mientras z cuenta el nmero de elementos total), lo que lleva a
la funcin generatriz mixta (exponencial en z, los elementos estn rotulados; y ordinaria en u, las
clases no lo estn):
S(z, u) e
u(e
z
1)
(19.9)
19.5. NMEROS DE STIRLING DE PRIMERA ESPECIE 291
n 0: 1
n 1: 0 1
n 2: 0 1 1
n 3: 0 1 3 1
n 4: 0 1 7 6 1
n 5: 0 1 15 25 10 1
n 6: 0 1 31 90 65 15 1
Cuadro 19.2 Nmeros de Stirling de segunda especie
De ac:
_
n
k
_
n!
_
z
n
u
k
_
S(u, z)
n!
_
z
n
_ (e
z
1)
k
k!

n!
k!
_
z
n
_
0r k
(1)
kr
_
k
r
_
e
r z

n!
k!

0r k
(1)
kr
_
k
r
_
r
n
n!

0r k
(1)
kr
r
n
r !(k r )!
(19.10)
19.5. Nmeros de Stirling de primera especie
Interesa el nmero de maneras de organizar n elementos en k ciclos. Esto queda representado
por la expresin simblica:
C MSET(U CYC(Z))
de donde el mtodo simblico entrega directamente la funcin generatriz mixta (exponencial en z,
los elementos estn rotulados; y ordinaria en u, los ciclos no lo estn):
C(z, u) exp
_
uln
1
1z
_
(1z)
u
(19.11)
Los coecientes se conocen como nmeros de Stirling de primera especie y se anota
_
n
k
_
(nuevamente
notacin impulsada por Knuth [171]). Se lee n ciclo k (en ingls se expresa n cycle k).
Para derivar una recurrencia para ellos, consideremos cmo podemos construir una organiza-
cin de n objetos con k ciclos a partir de n 1 objetos. Al agregar el nuevo objeto, podemos ponerlo
en un ciclo por s mismo, lo que puede hacer de una nica manera partiendo de cada una de las
_
n1
k1
_
organizaciones de n 1 elementos con k 1 ciclos. La otra opcin es insertarlo en alguno de
los k ciclos ya existentes. Si suponemos n 1 elementos y k ciclos:
(a
1
a
2
. . . a
j
1
)(a
j
1
+1
a
j
1
+2
. . . a
j
2
) . . . (a
j
k1
+1
a
j
k1
+2
. . . a
n1
)
292 CAPTULO19. NMEROS COMBINATORIOS
En ella podemos insertar el nuevo elemento antes de cada elemento, agregndolo al ciclo al que
este pertenece; insertar el elemento al nal del ciclo es lo mismo que ubicarlo al comienzo de ste,
por lo que esto no aporta nuevas opciones. De esta forma para cada caso hay n 1 posibilidades de
insertar el nuevo elemento:
_
n
k
_
(n 1)
_
n 1
k
_
+
_
n 1
k 1
_
(19.12)
Para condiciones de contorno, tenemos:
_
n
0
_
[n 0]
_
n
n
_
1
Si adems decretamos:
_
n
k
_

_
0 n <0
0 k <0
0 k >n
la recurrencia siempre se cumple.
En forma de tringulo la Pascal tenemos el cuadro 19.3.
n 0: 1
n 1: 0 1
n 2: 0 1 1
n 3: 0 2 3 1
n 4: 0 6 11 6 1
n 5: 0 24 50 35 10 1
n 6: 0 120 274 225 85 15 1
Cuadro 19.3 Nmeros de Stirling de primera especie
19.6. Nmeros de Lah
Los nmeros de Lah [184] cuentan el nmero de maneras de ordenar n elementos en k secuen-
cias. Se les ha llamado nmeros de Stirling de tercera especie por analoga a los anteriores, y
Petkovek y Pisanski [228] les dan la notacin
_
n
k
_
que usaremos. Tambin es comn L
n,k
. Queda
representado por la expresin simblica:
L MSET(U SEQ
1
(Z))
y el mtodo simblico da la funcin generatriz mixta (elementos rotulados, secuencias sin rotular):
L(z, u) e
u((1z)
1
1)
e
uz(1z)
1
(19.13)
19.7. POTENCIAS, NMEROS DE STIRLING Y DE LAH 293
Podemos extraer una frmula explcita de (19.13):
_
n
k
_
n!
_
u
k
z
n
_
exp
_
uz(1z)
1
_
(19.14)
n!
_
z
n
_ z
k
(1z)
k
k!
(19.15)

n!
k!
_
z
nk
_
(1z)
k
(19.16)

n!
k!
_
k
n k
_
(19.17)

n!
k!
_
n 1
k 1
_
(19.18)
Para derivar una recurrencia para estos nmeros, usamos la misma tcnica anterior. Veamos c-
mo podemos construir k secuencias tomadas entre n elementos partiendo con las conguraciones
de n 1 elementos. Hay dos posibilidades exhaustivas y excluyentes: n forma una secuencia por s
solo, cosa que puede hacerse de una nica forma partiendo con cada una de las
_
n1
k1
_
congura-
ciones con n 1 elementos y k 1 secuencias; o podemos agregar n a alguna de k secuencias en
conguraciones de n 1 elementos. Podemos agregar un nuevo elemento a una secuencia de largo
e de e +1 formas (antes del primero, o despus de cada uno de los e elementos). Como los largos de
las secuencias suman n 1, en total creamos (n +k 1)
_
n1
k
_
nuevas conguraciones. Resulta:
_
n
k
_
(n +k 1)
_
n 1
k
_
+
_
n 1
k 1
_
(19.19)
Para condiciones de contorno tenemos:
_
n
0
_
[n 0]
_
n
n
_
1
Si adems decretamos:
_
n
k
_

_
0 n <0
0 k <0
0 k >n
la recurrencia siempre se cumple.
Al estilo del tringulo de Pascal tenemos la tabla 19.4.
19.7. Potencias, nmeros de Stirling y de Lah
Las potencias factoriales aparecen con bastante regularidad al calcular con diferencias nitas,
como muestran entre otros Graham, Knuth y Patashnik [119]. Como vimos en la seccin 1.6 hay
paralelos entre las diferencias nitas y la derivada, y entre la sumatoria y la integral. Este tipo de
relaciones se explotan en el clculo umbral [247].
Interesa expresar la potencia z
n
en trminos de los z
k
, o sea obtener los coecientes S(n, k) en
la expansin siguiente:
z
n

0kn
S(n, k)z
k
294 CAPTULO19. NMEROS COMBINATORIOS
n 0: 1
n 1: 0 1
n 2: 0 1 1
n 3: 0 6 6 1
n 4: 0 24 36 12 1
n 5: 0 120 240 120 20 1
n 6: 0 720 1800 1200 300 30 1
Cuadro 19.4 Nmeros de Lah
Cuando k <0 o k >n debe ser S(n, k) 0, con lo que los lmites en realidad son superuos. Adems,
para n 0 resulta S(0, 0) 1, es S(n, 0) 0 si n >0 y es claro que S(n, n) 1.
Escribamos:
z
n+1

k
S(n, k)z
k
z

k
S(n, k)(z
k+1
+kz
k
)

k
(S(n, k 1) +kS(n, k))z
k
Comparando coecientes de esto con la expansin de z
n+1
:
S(n +1, k) kS(n, k) +S(n, k 1)
Tenemos las condiciones de contorno:
S(n, 0) [n 0] S(n, n) 1
El lector astuto reconocer esto como la recurrencia (19.8) que obtuvimos para los nmeros de
Stirling de segunda especie, tenemos:
z
n

k
_
n
k
_
z
k
(19.20)
Veamos ahora los coecientes C(n, k) en:
z
n

k
C(n, k)z
k
Con esto:
z
n+1

k
C(n, k)z
k
(z +n)

k
(C(n, k)z
k+1
+nC(n, k)z
k
)

k
(C(n, k 1) +nC(n, k))z
k
19.7. POTENCIAS, NMEROS DE STIRLING Y DE LAH 295
Comparando coecientes con la expansin de z
n+1
:
C(n +1, k) nC(n, k) +C(n, k 1)
con condiciones de contorno:
C(n, 0) [n 0] C(n, n) 1
Esto coincide con los nmeros de Stirling de primera especie, o sea es:
z
n

k
_
n
k
_
z
k
(19.21)
En vista que nos ha ido tan bien con esto, consideremos los coecientes L(n, k) en:
z
n

k
L(n, k)z
k
Aplicando la misma estrategia:
z
n+1

k
L(n, k)z
k
(z +n)

k
L(n, k)(z
k+1
+n +k)

k
(L(n, k 1) +(n +k)L(n, k))z
k
Comparar coecientes da:
L(n +1, k) (n +k)L(n, k) +L(n, k 1)
con condiciones de borde:
L(n, 0) [n 0] L(n, n) 1
Esta es la recurrencia (19.19) de los nmeros de Lah:
z
n

k
_
n
k
_
z
k
(19.22)
Podemos usar la identidad(z)
m
(1)
m
z
m
y viceversa para obtener de (19.20), (19.21) y (19.22):
z
n

k
(1)
nk
_
n
k
_
z
k
(19.23)
z
n

k
(1)
nk
_
n
k
_
z
k
(19.24)
z
n

k
(1)
nk
_
n
k
_
z
k
(19.25)
La impresionante coleccin de identidades (19.20), (19.21), (19.22), (19.23), (19.24) y (19.25) cum-
ple la promesa dada por el ttulo.
296 CAPTULO19. NMEROS COMBINATORIOS
19.8. Desarreglos
Ya calculamos el nmero de desarreglos (permutaciones sin puntos jos) como ejemplo del uso
del principio de inclusin y exclusin en el captulo 13. Ac veremos tcnicas alternativas.
Llamamos D
n
al nmero de desarreglos de n elementos. Valores de D
n
para n pequeos son
interesantes para contrastar nuestros resultados luego: D
0
1 (hay una nica manera de ordenar
cero elementos, y enesa ningnelemento est ensuposicin), D
1
0 (unelemento puede ordenarse
de una manera solamente, y ese siempre est en su posicin), D
2
1 (slo (21)), D
3
2 (son (312) y
(231)).
Interesa obtener una recurrencia para los D
n
. Comenzaremos considerando una permutacin
de 7 elementos como (2 6 3 4 1 5 7). Esta permutacin tiene tres puntos jos (marcados con negrilla):
El 3 est en la posicin 3, el 4 en la posicin 4 y el 7 en la posicin 7. Hay D
73
formas de ordenar los
dems 4 73 elementos sin introducir puntos jos adicionales (debemos dejarlos desordenados
con respecto a sus posiciones propias, que estas se llamen 1, 2, 3, 4 o 1, 2, 5, 6 da lo mismo); a su vez
los 3 elementos jos se pueden elegir de
_
7
3
_
formas. O sea, hay un total de
_
7
3
_
D
73
permutaciones
de 7 elementos con 3 puntos jos.
En general, si hay k puntos jos en una permutacin de n elementos, estos pueden elegirse
de
_
n
k
_
maneras; por lo tanto hay exactamente
_
n
k
_
D
nk
permutaciones con k puntos jos. Toda
permutacin tiene puntos jos (0, 1, . . . , n de ellos) y hay un total de n! permutaciones, por lo que
concluimos:
n!

0kn
_
n
k
_
D
nk
(19.26)
Esta relacin es vlida para n 0.
En la recurrencia (19.26) se observa que el lado derecho es la convolucin binomial de la secuen-
cia 1
n0
con la secuencia D
n

n0
. En consecuencia denimos:

D(z)

n0
D
n
z
n
n!
Aplicamos las propiedades de funciones generatrices exponenciales a (19.26). Al lado izquierdo
queda una suma geomtrica al simplicarse los factoriales:
1
1z
e
z


D(z)

D(z)
e
z
1z
(19.27)
De (19.27):
D
n
n!
_
z
n
_

D(z)
n!

0kn
(1)
k
k!
En trminos de la exponencial truncada denida por (13.12) resulta (13.13):
D
n
n! exp[
n
(1)
Otra forma de resolver esto es partir derivando directamente una recurrencia para los D
n
. Consi-
deremos n personas que eligen entre n sombreros de manera que ninguna se lleva el suyo. Nume-
ramos a las personas y los respectivos sombreros de 1 a n. La persona n puede elegir el sombrero
19.8. DESARREGLOS 297
equivocado de n 1 maneras, supongamos que elige el sombrero k. Ahora hay dos posibilidades:
Si la persona k toma el sombrero n, podemos eliminar los sombreros (y las personas) n y k de con-
sideracin, y el problema se reduce a distribuir los n 2 sombreros restantes entre las otras n 2
personas. Si la persona k no toma el sombrero n, podemos renombrar ese como k (no lo toma k
porque ahora le corresponde) y quedan por distribuir los n 1 sombreros restantes sin que a nadie
le toque el suyo. Al revs, de un par de desarreglos de n1 y n2 elementos podemos construir n1
desarreglos de n elementos (podemos elegir k arriba de n1 maneras en ambos casos). Obtenemos:
D
n
(n 1)(D
n1
+D
n2
) (n 2) D
0
1, D
1
0 (19.28)
Para resolver la recurrencia (19.28), denimos una funcin generatriz exponencial. La razn
de intentar una funcin generatriz exponencial en este caso es que el factor n 1 se compensa
parcialmente con (n 1)! en el denominador. Para n 1 podemos escribir:
D
n+1
nD
n
+nD
n1
(19.29)
Las propiedades de las funciones generatrices exponenciales dan:

D
t
(z)
egf
D
n+1

n0
z

D
t
(z)
egf
nD
n

n0
Falta el segundo trmino del lado derecho de (19.29):

n1
nD
n1
z
n
n!
z

n1
D
n1
z
n1
(n 1)!
z

D(z)
Otra forma de ver esto es que la secuencia D
n1

n0
corresponde a la antiderivada de

D(z) (correr
una posicin a la derecha), y al multiplicar por n (que corresponde al operador zD) la derivada y la
antiderivada se cancelan. Combinando las anteriores:

D
t
(z) z

D
t
(z) +z

D(z)

D(0) D
0
1

D
t
(z)

D(z)

z
1z

D(z)
e
z
1z
Con esto nuevamente tenemos (13.13):
D
n
n! exp[
n
(1)
An otra manera de enfrentar este problema es masajear la recurrencia (19.29) para obtener una
recurrencia ms simple de resolver:
D
n
nD
n1
D
n1
+(n 1)D
n2
(D
n1
(n 1)D
n2
)
(1)
n
(D
n
nD
n1
) (1)
n1
(D
n1
(n 1)D
n2
) (19.30)
Lo que dice (19.30) es que la expresin indicada es independiente de n. Sabemos que D
0
1 y D
1
0,
evalundola para n 1 obtenemos:
(1)
1
(D
1
1 D
0
) 1 (19.31)
298 CAPTULO19. NMEROS COMBINATORIOS
Esto nos da la recurrencia:
D
n
nD
n1
+(1)
n
D
0
1 (19.32)
Nuevamente el factor n sugiere una funcin generatriz exponencial. Multiplicando por z
n
/n! y
sumando:

n1
D
n
z
n
n!

n1
nD
n1
z
n!
+

n1
(1)
n
z
n
n!

D(z) D
0
z

n1
D
n1
z
n1
(n 1)!
+e
z
1
Como D
0
1:

D(z) z

D(z) +e
z

D(z)
e
z
1z
Esta es nuevamente (19.27), y tenemos (13.13) una vez ms.
Queda de ejercicio intentar las anteriores con una funcin generatriz ordinaria.
19.9. Resultados de competencias con empate
Interesa saber cuntos resultados nales pueden producirse en un campeonato entre n partici-
pantes si pueden producirse empates, vale decir pueden haber varios primeros puestos, y en general
varios en cada puesto. No hay puestos vacantes, si hay participantes en el puesto j , los hay en todos
los puestos 1 i j . A estos nmeros se les llama nmeros de Bell ordenados, como los nmeros de
Bell vistos en la seccin 18.2 cuentan el nmero total de particiones sin especicar el orden de las
mismas, ac las estamos ordenando. Good [113] trata estos nmeros en gran detalle.
Llamemos R
n
al nmero de posibilidades indicado. Claramente R
0
1, R
1
1, R
2
3.
Si hay k en primer lugar, habrn n k que se distribuyen de la misma forma desde el segundo
lugar, o sea, hay R
nk
distribuciones de los dems. Como a los k campeones los estamos eligiendo
entre los n, y pueden haber de 1 a n en primer lugar, resulta la recurrencia:
R
n

1kn
_
n
k
_
R
nk
(19.33)
Para n 1 podemos completar la suma en (19.33):
2R
n

0kn
_
n
k
_
R
nk
Para n 0 tenemos:

0k0
_
0
k
_
R
0k
R
0
En vista de esto, como R
0
1, la recurrencia completa, vlida para n 0, es:
2R
n
[n 0] +

0kn
_
n
k
_
R
nk
(19.34)
19.10. PARTICIONES DE ENTEROS 299
Como la sumatoria en (19.34) es la convolucin binomial de las secuencias 1
n0
y R
n

n0
, deni-
mos la funcin generatriz exponencial:

R(z)

n0
R
n
z
n
n!
(19.35)
Con (19.34) tenemos as:
2

R(z) 1+

R(z)e
z

R(z)
1
2e
z
(19.36)
Podemos expandir (19.36) como serie geomtrica:

R(z)
1
2

k0
e
kz
2
k

1
2

k0
1
2
k
_

n0
(kz)
n
n!
_

n0
z
n
n!

k0
k
n
2
k+1
De ac tenemos:
R
n

k0
k
n
2
k+1
(19.37)
Difcilmente habramos adivinado esta expresin va calcular valores (con la idea de demostrarla
luego por induccin).
19.10. Particiones de enteros
En el siglo XX tema de investigaciones importantes en teora de nmeros involucraban la teora
de las particiones de enteros, un rea en la que Euler fue pionero. Ac veremos slo un par de
resultados curiosos, que se conocen hace mucho.
19.10.1. Particiones en general
Sea p(n) el nmero de formas de escribir n como suma. Tenemos:
p(1) 1 1
p(2) 2 2 1+1
p(3) 3 3 1+1+1 2+1
p(4) 4 4 1+1+1+1 2+1+1 2+2 3+1
.
.
.
Tratamos esto mediante el mtodo simblico, una particin de n corresponde a un multiconjunto
de N, o sea nos interesa MSET(N). Cada nmero aparece una vez en N, as:
P(z)

n1
1
1z
n
(19.38)
300 CAPTULO19. NMEROS COMBINATORIOS
19.10.2. Sumandos diferentes e impares
Poniendo como condicin que los sumandos no se pueden repetir tenemos subconjuntos de
N, interesa SET(N). Anotamos p
d
(n) para el nmero de estas particiones, por different en ingls, y
distinguimos as la funcin generatriz tambin:
P
d
(z)

n0
p
d
(n)z
n

n1
(1+z
n
) (19.39)
Este producto podemos expresarlo de otra forma:
P
d
(z)

n1
1z
2n
1z
n

n0
1
1z
2n+1
(19.40)
Este producto corresponde a sumandos impares, si escribimos p
o
(n) por el nmero de particiones
en sumandos impares (de odd en ingls), tenemos:
p
d
(n) p
o
(n) (19.41)
Curioso resultado (19.41), obtenido nicamente considerando las funciones generatrices del caso. Y
ni siquiera evaluamos ninguna de (19.38), (19.39) o (19.40).
19.10.3. Un problema de Moser y Lambek
En 1959, Leo Moser y Joe Lambek plantearon [218]:
Teorema 19.1. Hay una nica forma de particionar N
0
en conjuntos A y B tales que el nmero de
maneras en que se puede representar n N
0
como sumas n a
1
+a
2
con a
1
/a
2
y a
1
, a
2
A es igual
al nmero de representaciones como n b
1
+b
2
con b
1
/b
2
y b
1
, b
2
B.
Demostracin. Denamos funciones generatrices:
A(z)

aA
z
a
B(z)

bB
z
b
Como A y Bparticionan N
0
, los coecientes son 0 o 1:
A(z) +B(z)
1
1z
Para las maneras en que se puede escribir n como suma de dos A distintos:

a
1
/a
2
a
1
,a
2
A
z
a
1
+a
2

1
2
_
A
2
(z) A(z
2
)
_
De la misma forma podemos expresar el caso de B, e interesa que sean las mismas:
A
2
(z) A(z
2
) B
2
(z) B(z
2
)
A(z
2
) B(z
2
) A
2
(z) B
2
(z)
(A(z) B(z)) (A(z) +B(z))

A(z) B(z)
1z
19.11. CONTANDOSECUENCIAS 301
O equivalentemente:
A(z) B(z)
_
A(z
2
) B(z
2
)
_
(1z)
Substituyendo z z
2
, z
4
, . . . , z
2
n1
obtenemos:
A(z) B(z)
_
A(z
2
n
) B(z
2
n
)
_

0kn1
_
1z
2
k
_
(19.42)
lo que indica:
A(z) B(z)

k0
_
1z
2
k
_
(19.43)
Como series formales (ver la seccin 14.2) la secuencia al lado derecho de (19.42) converge a la
expresin (19.43).
Los trminos del lado derecho de (19.43) tienen coecientes 1, con lo que determinan en forma
nica los coecientes de A(z) y B(z), que son cero o uno. El conjunto A son los que tienen un
nmero par de unos en su expansin binaria.
19.11. Contando secuencias
Muchas situaciones llevan a enfrentar problemas de contar secuencias con ciertas restricciones.
Veremos algunos ejemplos representativos.
Cuntas palabras de largo n formadas nicamente por las 5 vocales pueden formarse, si deben
contener un nmero par de vocales fuertes (a, e y o)?
De las solicitadas podemos formar 1 de largo 0, 2 de largo 1, 2 2 +3 3 13 de largo 2. Estos
valores sirven para vericar luego.
Denamos las clases U para palabras con un nmero par de vocales fuertes, y V si tienen un
nmero impar, con las respectivas funciones generatrices U(z) y V (z) donde z cuenta el nmero de
vocales. Podemos denir el sistema de ecuaciones simblicas:
U E +{i , u} U +{a, e, o} V
V {a, e, o} U +{i , u} V
El mtodo simblico entrega:
U(z) 1+2zU(z) +3zV (z)
V (z) 3zU(z) +2zV (z)
Resolvemos el sistema de ecuaciones para U(z), que es lo nico que realmente interesa, y descom-
ponemos en fracciones parciales:
U(z)
1
2

1
15z
+
1
2

1
1+z
Podemos leer los u
n
de esto ltimo, que son simplemente dos series geomtricas:
u
n

1
2
_
5
n
+(1)
n
_
Esto coincide con los valores obtenidos antes.
302 CAPTULO19. NMEROS COMBINATORIOS
Volvamos nuevamente a la situacin de las secuencias de unos y ceros sin ceros seguidos, pero
ahora interesa contar no slo el largo sino simultneamente el nmero de unos. Para la clase S de
tales secuencias obtuvimos:
S E +{0} +S {1, 10}
Si usamos x para marcar los ceros, e y para el nmero total de smbolos, obtenemos para la funcin
generatriz S(x, y):
S(x, y) 1+y +(xy +xy
2
)S(x, y)
Despejando:
S(x, y)
1+y
1x(y +y
2
)
Podemos expandir como serie geomtrica en x(y +y
2
):
S(x, y)

r 0
x
r
y
r
(1+y)
r +1
El nmero de estas secuencias de largo n con k unos es:
_
x
k
y
n
_

r 0
x
r
y
r
(1+y)
r +1

_
y
n
_
y
k
(1+y)
k+1

_
y
nk
_
(1+y)
k+1

_
k +1
n k
_
Pero n k es el nmero de ceros. Podemos interpretar esto como diciendo que debemos distribuir
n k ceros en las k +1 posiciones separadas por los k unos.
20 Grafos
Un grafo corresponde a una abstraccin de la situacin en la cual hay objetos (vrtices), algunos
de los cuales estn conectados entre s (mediante arcos). El inters es razonar slo con el hecho que
existen o no conexiones entre los vrtices. Aplicaciones de grafos son circuitos elctricos, donde
interesa cmo estn conectados entre s los componentes (ver un ejemplo en la gura 20.1) y repre-
Figura 20.1 Diagrama de circuito de un ltro de paso bajo de tercer orden [197]
sentaciones de redes de transporte, como el esquema 20.2 de la red de metro de Londres en 1908.
En computacin los grafos son ubicuos porque son una forma cmoda de representar relaciones
entre objetos, como programas o personas. Un arco puede representar que dos personas se llevan
bien (o no), que un ramo debe tomarse antes de otro, o que una funcin llama a otra. Muchas es-
tructuras de datos, particularmente las enlazadas, pueden representarse mediante grafos, y muchos
problemas de optimizacin importantes se modelan mediante grafos. Tambin sirven como nota-
cin grca de algunos modelos de computacin. Una advertencia: A pesar de ser un rea bastante
antigua de las matemticas, an no hay consenso en la notacin o la nomenclatura. Curiosamente,
recin en 1936 se public el primer texto sobre teora de grafos [180], cuando el rea data de la poca
de Euler (17071783). En caso de duda, revise las deniciones dadas por el autor. Ac usaremos
bsicamente la notacin y nomenclatura de uno de los textos estndar del rea [74].
Formalmente:
Denicin 20.1. Un grafo G (V, E) consta de:
V : Conjunto nito no vaco de vrtices.
E: Conjunto de arcos, pares de vrtices pertenecientes a V . Un arco {a, b} E consta de a, b V .
Para nuestros efectos no interesa el caso de conjuntos innitos de vrtices. Al nmero de vrtices
de un grafo se le llama su orden. Consideramos en esta denicin que un arco conecta un par de
303
304 CAPTULO20. GRAFOS
Figura 20.2 Esquema del metro de Londres (1908) [195]
vrtices diferentes (sin importar el orden), y no pueden haber varios arcos uniendo el mismo par de
vrtices. A veces para abreviar se anota ab por el arco {a, b}. En tal caso ab ba.
Dos vrtices contenidos en un arco se llaman adyacentes o vecinos. Un arco que contiene al
vrtice v se dice incide en l. Dos arcos que tienen un vrtice en comn tambin se llaman adya-
centes. Si de un grafo G (V, E) se eliminan arcos o vrtices (con los arcos que los contienen) el
resultado G
t
(V
t
, E
t
) es un subgrafo de G. El vecindario de v son los vrtices adyacentes a l, anota-
mos N
G
(v) {v
1
, v
2
, . . . , v
k
} si v
i
E. Normalmente omitiremos el subndice que identica al grafo
cuando es claro del contexto.
Para evitar notacin engorrosa, identicaremos el grafo G (V, E) con su conjunto de vrtices o
arcos. As, diremos simplemente v G para indicar v V , uv G cuando {u, v} E o G uv para el
grafo G
t
(V, E {u, v}).
Se dice que el grafo G
t
(V
t
, E
t
) es un subgrafo del grafo G (V, E) si V
t
V y E
t
E. El decir que
G
t
es un grafo hace que los vrtices que aparecen en E
t
estn en V
t
, y hace tambin que V
t
/.
Variantes de grafos son multigrafos, en los cuales se permiten varios arcos entre el mismo par
de vrtices, e incluso arcos que comienzan y terminan en el mismo vrtice. Muchas de nuestras
conclusiones se aplican a ellos tambin, pero no los trataremos explcitamente.
Como los grafos son empleados en muchas reas, los nombres suelen ajustarse al rea bajo
estudio, por ejemplo a veces se les llama redes. Los vrtices pueden llamarse tambin nodos o puntos,
y hay quienes hablan de aristas en vez de arcos. Nosotros excluimos la posibilidad V , dado que
resulta un contraejemplo trivial a muchos teoremas importantes. Al dejar fuera este caso muchos
resultados se puedenexpresar enforma ms simple, sinembargo esta convencinno es universal. En
general, hay consenso en el signicado de los trminos, pero el tratamiento de casos excepcionales
20.1. REPRESENTACINDE GRAFOS 305
vara.
Al dibujar grafos se representan los vrtices mediante puntos y los arcos mediante lneas que los
unen. Los vrtices normalmente no se identican. Notar que u conectado con v o v conectado con
u, para el caso signica lo mismo. No importa la ruta o el largo del arco, ni si accidentalmente cruza
otros. Slo el hecho que un par de vrtices estn conectados importa.
Ejemplo 20.1. Denicin de un grafo.
G dado por:
V {a, b, c, d, z}
E {{a, d}, {b, z}, {c, d}, {d, z}}
Grcamente est dado por la gura 20.3.
d
z
a
c
b
Figura 20.3 Un grafo
20.1. Representacin de grafos
Un dibujo es til para seres humanos, pero bastante intil para razonar con l o para el uso en
computadoras. Veremos algunas opciones adicionales.
20.1.1. Lista de adyacencia
La lista de adyacencia es una tabla donde para cada vrtice se listan los vrtices adyacentes. Para
el caso del grafo de la gura 20.3 se tiene la lista de adyacencia en el cuadro 20.1.
V Ady
a d
b z
c d
d a, c, z
z b, d
Cuadro 20.1 Lista de adyacencia para el grafo de la gura 20.3
306 CAPTULO20. GRAFOS
20.1.2. Matriz de adyacencia
Representar un grafo mediante una matriz de adyacencia corresponde a denir una matriz cuyos
ndices son los vrtices, y los elementos son 1 o 0 dependiendo de si los vrtices del caso estn
conectados o no. El grafo de la gura 20.3 queda representado en el cuadro 20.2. Es claro que esta
a b c d z
a 0 0 0 1 0
b 0 0 0 0 1
c 0 0 0 1 0
d 1 0 1 0 1
z 0 1 0 1 0
Cuadro 20.2 Matriz de adyacencia del grafo de la gura 20.3
matriz es simtrica (vale decir, a[i , j ] a[ j , i ]) ya que i conectado a j es lo mismo que j conectado
a i . Los elementos en la diagonal son todos cero porque no hay arcos que conectan vrtices consigo
mismos.
20.1.3. Representacin enlazada
Una opcin es representar los vrtices por nodos con punteros que lo conectan a sus vecinos.
Como el nmero de vecinos no necesariamente es el mismo (o siquiera razonablemente acotado)
es natural que cada nodo tenga una lista de punteros a los vecinos (terminan siendo las listas de
adyacencia).
20.1.4. Representacin implcita
En muchas aplicaciones el grafo nunca existe como estructura de datos, se van generando (y
descartando) los vrtices vecinos conforme se requieren. Un ejemplo de esta situacin se da cuando
un programa juega al ajedrez: Los nodos son posiciones de las piezas, y dos nodos son adyacentes si
son posiciones relacionadas mediante una movida. El grafo del caso es nito, pero tan grande que
es totalmente impracticable generarlo completo (y an menos almacenarlo). Se van generando los
vrtices conforme los requiera el programa.
20.2. Isomorsmo entre grafos
Intuitivamente, si dos grafos pueden dibujarse de la misma forma, los consideraremos iguales.
Sin embargo, como los conjuntos de vrtices (y en consecuencia, arcos) no sern los mismos, esta
idea debe interpretarse de otra forma.
Denicin 20.2. Si G
1
(V
1
, E
1
) y G
2
(V
2
, E
2
) son grafos se dice que son isomorfos si existe una
biyeccin : V
1
V
2
tal que {(u), (v)} E
2
exactamente cuando {u, v} E
1
. En tal caso se anota
G
1

G
2
.
Algunas reglas simples que resultan de la denicin es que al buscar isomorsmos slo deben
considerarse como candidatos vrtices del mismo grado, y que vrtices adyacentes debern mapear
a vrtices adyacentes. La gura 20.4 muestra un par de grafos isomorfos, indicando las correspon-
dencias entre vrtices. Otro par de grafos isomorfos dan la gura 20.5. De los ejemplos se nota que
incluso para grafos ms bien chicos no es posible determinar a simple vista si son isomorfos. Re-
sulta que el problema de determinar si dos grafos son isomorfos es NP-completo, una categora de
20.3. ALGUNAS FAMILIAS DE GRAFOS ESPECIALES 307
a
f
e
d
c
b
a
b
c
d
e f
Figura 20.4 Ejemplo de isomorsmo entre grafos
a
i
h
g
f e
d
c
b
j
a
i
h
c
b
j
e
g
d
f
Figura 20.5 Dos formas de dibujar el grafo de Petersen [160, 226]
problemas difciles introducida por Cook [62] para los cuales no se conocen algoritmos que tomen
un tiempo razonable. Para la denicin precisa vanse por ejemplo [2, 142, 223], y [111] para un
tratamiento detallado, donde se demuestra que este problema pertenece a esta clase.
20.3. Algunas familias de grafos especiales
Algunos grafos se repiten en aplicaciones, o son tiles para ejemplos y casos de estudio. Se les
dan nombres y notacin especiales.
P
n
: Camino simple de n vrtices, ver la gura 20.6.
(a) P
2
(b) P
3
(c) P
4
(d) P
5
Figura 20.6 Algunos grafos P
n
C
n
: Ciclo de n vrtices, donde el vrtice i est conectado con los vrtices i 1 e i +1 mdulo
n. Ver gura 20.7.
308 CAPTULO20. GRAFOS
(a) C
3
(b) C
4
(c) C
5
(d) C
6
Figura 20.7 Algunos grafos C
n
.
K
n
: Grafo completo de n vrtices cada uno conectado con todos los dems. La gura 20.8
muestra algunos ejemplos.
(a) K
3
(b) K
4
(c) K
5
(d) K
6
Figura 20.8 Algunos grafos K
n
.
W
n
: Rueda (en ingls wheel) de n vrtices, que consiste en un grafoC
n1
ms un centro co-
nectado a cada vrtice del ciclo. Ntese que algunos autores llaman W
n
a W
n+1
(slo cuentan
los vrtices de afuera). Algunas ruedas muestra la gura 20.9.
(a) W
4
(b) W
5
(c) W
6
(d) W
7
Figura 20.9 Algunos grafos W
n
.
Q
n
: Cubo de orden n. Donde:
Vrtices: Secuencias de n smbolos {0, 1}.
Arcos: Conectan a todos los pares de vrtices que dieren en un smbolo.
La gura 20.10 muestra algunos grafos Q
n
.
20.4. GRADODE UNVRTICE 309
00
01 11
10
(a) Q
2
100
101 111
110
000
001 011
010
(b) Q
3
Figura 20.10 Algunos cubos
Resulta que C
3

K
3
, Q
2

C
4
y W
4

K
4
.
20.4. Grado de un vrtice
Denicin 20.3. Sea G (V, E) un grafo. El grado de un vrtice es el nmero de otros vrtices
conectados a l. Para v V es
G
(v) [{e E : v e}[.
Normalmente omitiremos el subndice identicando el grafo cuando quede claro del contexto.
Teorema 20.1. Sea G (V, E) un grafo, entonces:

vV
(v) 2 [E[
Demostracin. Consideremos S V E tal que (v, e) S siempre que v e. Contando los elementos
de S por las y por columnas tenemos:
Por las: Cada vrtice aparece una vez por cada arco en el cual participa:
[S[

vV
(v)
Por columnas: Cada vrtice aparece dos veces (una por cada extremo del arco):
[S[

eE
2 2 [E[
Estas dos expresiones deben ser iguales, lo que corresponde precisamente a lo que se quera demos-
trar.
Lema 20.2 (Handshaking). El nmero de vrtices de grado impar en un grafo es par.
Demostracin. SeanV
o
los vrtices de grado impar y V
e
los vrtices de grado par del grafo. Entonces:

vV
o
(v) +

vV
e
(v) 2 [E[
El lado derecho de esta ecuacin es par. El segundo trmino del lado izquierdo es una suma de
nmeros pares, por lo que es par. Con esto, el primer trmino debe ser par, pero es la suma de
nmeros impares. Esto signica que hay un nmero par de estos, que es exactamente lo que se
quera demostrar.
310 CAPTULO20. GRAFOS
Denicin 20.4. Se le llama regular a un grafo en el cual (v) es el mismo para todos los vrtices.
Un grafo regular con (v) r se llama r -regular o regular de grado r .
Entre los grafos mencionados antes, C
n
es regular de grado 2, y es claro que todo grafo 2-regular
es una coleccin de ciclos. El grafo K
n
es regular de grado n 1, mientras slo W
4

K
4
es regular
entre los W
n
. Los grafos Q
n
son regulares de grado n. Un ejemplo adicional de grafo 3-regular es
el grafo de Petersen (gura 20.5), que resulta ser contraejemplo para muchas ideas bonitas sobre
grafos.
Ejemplo 20.2. Es posible tener grafos con vrtices de grados 1, 2, 2, 3, 4?
Es factible dibujar este grafo, ver gura 20.11.
3
2
4
2
1
Figura 20.11 Un grafo con grados 1, 2, 2, 3 y 4
Para responder esta clase de preguntas, veremos primero cmo reorganizar los arcos sin afectar
los grados de los vrtices. Esto lo usaremos para modicar grafos de forma que responder la pregunta
sea ms fcil.
Denicin 20.5. En un grafo G (V, E) un 2-switch respecto de los arcos uv, xy E (donde ux, vy
E) reemplaza esos arcos por ux y vy. Denotamos G
2s
H si se puede obtener H de G mediante una
secuencia nita de 2-switch.
Para ilustracin vase la gura 20.12. Ntese que si G
2s
H entonces tambin H
2s
G, ya que
y
x
v
u
y
x
v
u
Figura 20.12 La operacin 2-switch entre los arcos uv y xy
podemos aplicar la secuencia en el orden inverso. En realidad, esta es una relacin de equivalen-
cia. Antes de demostrar el teorema de Berge, vemos que podemos ordenar los arcos de forma que
conecten los vrtices en orden de grado decreciente:
20.4. GRADODE UNVRTICE 311
Lema 20.3. Sea G un grafo de orden n, con
G
(v
i
) d
i
tal que d
1
d
2
. . . d
n
. Entonces hay un
grafo G
t
tal que G
2s
G
t
con N
G
t (v
1
) {v
2
, v
3
, . . . , v
d
1
+1
}.
Demostracin. Supongamos que lo indicado no se cumple, o sea, hay un vrtice v
i
con 2 i d
1
+1
tal que v
1
v
i
E. Como
G
(v
1
) d
1
, hay v
j
con j d
1
+2 tal que v
1
v
j
E. Debe ser d
i
d
j
, ya
que j >i . Como v
1
v
j
E, es d
j

G
(v
j
) 1. As sabemos que v
j
es adyacente a v
1
y a d
j
1 otros
vrtices, mientras v
i
es adyacente a d
i
vrtices que no incluyen a v
1
. Como por lo anterior d
i
>d
j
1,
los conjuntos N(v
i
) y N(v
j
) {v
1
} no pueden coincidir (por ser de tamaos diferentes); o sea hay
algn t / 1 tal que v
i
v
t
E pero v
j
v
t
E. Aplicando un 2-switch a v
1
v
j
y v
i
v
t
ninguno de los
vrtices involucrados cambia de grado y se intercambian v
i
con v
j
en el vecindario de v
1
. Aplicando
repetidas veces esta operacin obtendremos lo prometido.
Ahora podemos demostrar:
Teorema 20.4 (Berge, 1973). Dos grafos G y H sobre el mismo conjunto de vrtices V satisfacen

G
(v)
H
(v) para todo v V si y slo si G
2s
H.
Demostracin. Demostramos implicancia en ambos sentidos. Ya vimos que al aplicar un 2-switch
el grado de los vrtices no cambia, con lo que si G
2s
H entonces los vrtices tienen los mismos
grados en ambos.
Para necesidad, aplicamos induccin sobre el nmero de vrtices en G. La base, [V [ 1 es trivial.
Para induccin, por el lema 20.3, si elegimos el vrtice v de grado mximo en G y H, hay grafos G
t
y
H
t
tales que G
2s
G
t
y H
2s
H
t
y tales que N
G
t (v) N
H
t (v). Si eliminamos v de G
t
y H
t
obteniendo
grafos G
tt
y H
tt
, ambos tienen los mismos grados ya que estamos eliminando los mismos arcos de
G
t
y H
t
. Por la hiptesis de induccin, G
tt
2s
H
tt
, y por tanto tambin G
t
2s
H
t
. Esto basta para
demostrar lo aseverado, dado que es una relacin de equivalencia.
Con estas herramientas estamos en posicin de atacar nuestro problema original.
Denicin 20.6. Sea d
1
, d
2
, d
3
, . . . , d
n
una secuencia descendente de nmeros naturales, o sea,
d
1
d
2
d
3
. . . d
n
. Tal secuencia se dice grca si hay un grafo G (V, E) con V {v
1
, v
2
, . . . , v
n
}
tal que d
i
(v
i
).
Entonces:
Teorema 20.5 (Havel, 1955). Una secuencia d
1
d
2
d
3
. . . d
n
(con d
1
1 y n 2) es grca si y
slo si lo es la secuencia siguiente ordenada de mayor a menor:
d
2
1, d
3
1, . . . , d
d
1
+1
1, d
d
1
+2
, d
d
1
+3
, . . . d
n
Demostracin. Demostramos implicancias en ambas direcciones. Para el converso, consideremos
un grafo G de orden n 1 con vrtices y grados:

G
(v
2
) d
2
1, . . . ,
G
(v
d
1
+1
) d
d
1
+1
1,
G
(v
d
1
+2
) d
d
1
+2
, . . . ,
G
(v
n
) d
n
.
Agregue el vrtice v
1
con arcos v
1
v
i
para 2 i d
1
para dar el grafo H, que cumple
H
(v
1
) d
1
, y

H
(v
i
) d
i
para todo 2 i n.
Para el directo, suponga un grafo G tal que
G
(v
i
) d
i
para 1 i n. Por el lema 20.3 podemos
suponer que N
G
(v
1
) {v
2
, . . . , v
d
1
+1
}. Si eliminamos el vrtice v
1
de G obtenemos un grafo con la
secuencia de grados indicada.
312 CAPTULO20. GRAFOS
Aplicando repetidas veces el teorema de Havel, teorema 20.5, podemos determinar rpidamente
si una secuencia es o no grca. Por ejemplo, considrese la secuencia 4, 4, 4, 3, 2, 1. Tenemos:
4, 4, 4, 3, 2, 1 es grca 3, 3, 2, 1, 1 es grca
2, 1, 1, 0 es grca
0, 0, 0 es grca
Esta ltima corresponde al grafo de tres vrtices y sin arcos, por lo que es grca.
El teorema de Havel da una forma de construir un grafo con los grados prescritos: Se ordenan los
grados de mayor a menor, luego el vrtice v
1
est conectado con v
2
a v
d
1
+1, el vrtice v
2
se conecta
con los siguientes desde v
d
1
+2
hasta completar su grado, y as sucesivamente.
Denicin 20.7. G (V, E) es un grafo. Entonces se dene:
Camino: Es una secuencia de vrtices v
1
, v
2
, . . . , v
n
tal que v
i
, v
i +1
son adyacentes (walk en ingls).
Camino simple: Es un camino en los que los v
i
son todos distintos (en ingls, path).
Ciclo: Es un camino v
1
, v
2
, . . . , v
n
, v
1
, en el cual no se repite ms que el primer y ltimo vrtice. Se
llama r -ciclo (ciclo de largo r ) si tiene r arcos y r vrtices.
Circuito: Un camino cerrado v
1
, v
2
, . . . , v
n
, v
1
(pueden repetirse vrtices). Algunos les llaman ci-
clos, y llaman ciclos simples a lo que nosotros llamamos ciclos.
Denicin 20.8. Sea G (V, E) un grafo. Denimos la relacin entre vrtices, tal que x y si x e y
estn en un camino de G, o sea x v
1
, v
2
, . . . , v
k
y es un camino.
Es fcil ver que es una relacin de equivalencia:
Reexiva: x x. Un camino de 0 arcos cumple con la denicin.
Simtrica: x y y x: Esto es x v
1
, . . . , v
k
y y v
k
, . . . , v
1
x, que claramente es cierto.
Transitiva: (x y) (y z) x z. Esto es decir:
x v
1
, . . . , v
k
y u
1
, . . . , u
k
z
O sea, x y z estn en un camino, y x z.
Denicin 20.9. Sea G (V, E) un grafo. Si V
1
V
2
V
k
son las clases de equivalencia de , y
E
1
, E
2
, . . . , E
k
conjuntos de arcos tales que E
i
contiene slo vrtices de V
i
, a los grafos G
i
(V
i
, E
i
) se
les llama componentes de G. Si G tiene un nico componente es llamado conexo.
Enel grafo de la gura 20.13 se distinguenvrtices a los cuales no se puede acceder desde algunos
de los otros vrtices. Este grafo tiene dos componentes.
Un resultado simple es la relacin entre el nmero de vrtices y arcos en grafos conexos.
Teorema 20.6. Todo grafo G (V, E) tiene a lo menos [V [ [E[ componentes conexos.
Demostracin. Usamos induccin sobre el nmero de arcos.
Base: En un grafo con 0 arcos, cada vrtice es un componente conexo, y hay [V [ 0 [V [ compo-
nentes conexos.
20.4. GRADODE UNVRTICE 313
Figura 20.13 Un grafo con dos componentes.
Induccin: Suponemos que la hiptesis vale para todo grafo de n arcos, y demostramos que vale
para todo grafo de n +1 arcos, con n 0. Considrese un grafo G (V, E) con n +1 arcos.
Eliminamos un arco arbitrario ab del grafo, dejando el grafo G
t
con n arcos. Por la hiptesis,
G
t
tiene a lo menos [V [ n componentes conexos. Reponemos el arco eliminado, con lo que
tenemos de vuelta el grafo original G. Si a y b pertenecan al mismo componente conexo de
G, G tiene el mismo nmero de componentes conexos de G
t
, que es a lo menos [V [ n por
hiptesis. Si a y b pertenecen a componentes distintos de G
t
, G tiene un componente conexo
menos que G
t
, ya que el arco ab une esos dos componentes de G
t
en uno solo en G. Como G
t
tena a lo menos [V [ n componentes conexos, G tiene entonces a lo menos uno menos que
esto, vale decir [V [ n 1 [V [ (n +1). Esto demuestra el paso de induccin.
Algunos puntos se deben notar de esta demostracin. Primeramente, usamos induccin sobre
el nmero de arcos. Esto es comn en demostraciones en grafos, al igual que induccin sobre el
nmero de vrtices. Slo si ninguna de estas dos estrategias sirve vale la pena considerar otras
opciones.
Por otro lado, usamos la tctica de eliminar un arco y reponerlo en nuestra demostracin. Esta
es la forma ms sencilla de evitar errores lgicos comunes, ya que asegura que el elemento que
queremos agregar es posible y lleva en la direccin correcta. Si se usa induccin en grafos (ya sea
sobre arcos o vrtices), siempre conviene usar esta idea de encoger-expandir.
Corolario 20.7. Todo grafo conexo de n vrtices tiene a lo menos n 1 arcos.
Demostracin. Supongamos un grafo conexoG (V, E), donde [V [ n. ComoG es conexo, sabemos
por el teorema 20.6 que:
[V [ [E[ 1
n 1 [E[
que es exactamente lo que se quera probar.
Denicin 20.10. Sea G (V, E) un grafo. Entonces:
Un camino simple que visita todos los vrtices es un camino hamiltoniano. Un ciclo que
contiene todos los vrtices del grafo es llamado ciclo hamiltoniano.
Un camino que pasa por todos los arcos es denominado camino de Euler. Un circuito que pasa
por todos los arcos se llama circuito de Euler.
Determinar si hay un camino o ciclo hamiltoniano es NP-completo. Incluso tiene la distincin
de ser uno de los 21 problemas identicados inicialmente como tales por Karp [157].
En cambio, un camino (o circuito) de Euler es sencillo de hallar. Si consideramos vrtices cual-
quiera hay dos opciones:
314 CAPTULO20. GRAFOS
1. Comienzo en un vrtice, termino en otro.
2. Comienzo en un vrtice, termino en el mismo.
Si inicio y n son diferentes (es un camino de Euler):
Inicio: Salgo una vez, paso por l (entro y salgo) varias veces, lo que signica que (inicio) es
impar.
Fin: Llego una vez, paso por l (entro y salgo) varias veces, con lo que tambin (n) es impar.
Otros vrtices: Paso por l (entro y salgo) varias veces, por lo que (otro) es par.
Si inicio y n son el mismo (es un circuito de Euler):
Inicio (y n): Salgo una vez, paso por l (entro y salgo) varias veces, llego una vez, y (inicio) es
par.
Otros vrtices: Paso por l (entro y salgo) varias veces, con lo que (otro) es siempre par.
Estas dos son las nicas posibilidades, y por tanto es condicin necesaria para la existencia de
un camino de Euler en un grafo conexo el que o todos los vrtices sean de grado par (en tal caso
podemos comenzar en cualquiera de ellos, terminamos en el mismo, es un circuito de Euler), o que
hayan exactamente dos vrtices de grado impar (comenzamos en uno de ellos, terminamos en el
otro, es un camino de Euler). Ms adelante demostraremos que estas condiciones son sucientes, y
daremos un algoritmo para encontrar un camino (o circuito) de Euler.
Ejemplo 20.3. Puentes de Knigsberg
Supngase que se desea dar un paseo por la ciudad de Knigsberg, pasando una nica vez por
cada uno de los siete puentes, situados segn la gura 20.14. Es posible realizar esta tarea?
La respuesta es no, como demostr Euler en 1735, dando inicio al estudio de lo que hoy es la
teora de grafos. Representando los sectores unidos por los puentes en un grafo como en la misma
gura 20.14, se aprecia claramente que hay ms de dos vrtices de grado impar. Debido a esto no
es posible que exista un camino de Euler que permita cumplir con la tarea requerida. Si bien la
representacin no es un grafo propiamente tal es un multigrafo pues hay vrtices que estn
conectados por ms de un arco an as los principios son aplicables.
(a) Knigsberg en tiempos de Euler (b) Knigsberg y sus puentes
5
3
3
3
(c) Puentes de Knigsberg
como multigrafo
Figura 20.14 Puentes de Knigsberg [219]
20.4. GRADODE UNVRTICE 315
Del resultado siguiente Euler demostr la necesidad en 1736, Hierholzer [138] demostr sucien-
cia recin en 1873. Igual se atribuye a Euler.
Teorema 20.8 (Euler). Sea G un grafo conexo. Entonces hay un camino de Euler si y slo si hay
exactamente dos vrtices de grado impar (y todo camino de Euler comienza en uno de ellos y termina
en el otro), y hay un circuito de Euler si y slo si todos los vrtices son de grado par.
Demostracin. Demostramos implicancia en ambas direcciones. Que las condiciones son necesa-
rias ya lo vimos antes, demostramos ahora que son sucientes por induccin fuerte sobre el nmero
de arcos de G.
Base: Si G tiene un nico arco, la conclusin es trivial.
Induccin: Sea un grafo G con n+1 arcos, todos cuyos vrtices son de grado par o hay exactamente
dos vrtices de grado impar. La estrategia general es eliminar un arco, y analizar por separado
las situaciones en las cuales esta operacin divide el grafo en dos componentes y las en que
sigue siendo conexo.
Consideremos primero el caso en que todos los vrtices de G son de grado par. Elijamos un
vrtice x y un arco e xy. Si eliminamos el arco e, obtenemos un nuevo grafo G
t
, en el cual
ahora x e y son los nicos vrtices de grado impar. Entonces G
t
es conexo, ya que si no fuera
conexo x e y en G
t
perteneceran a componentes diferentes, y en G
t
los vrtices x e y seran
los nicos de grado impar en sus respectivos componentes. Esto es absurdo, contradice al
lema 20.2. Por induccin, como G
t
es conexo y tiene n arcos, hay un camino de Euler que
comienza en x y termina en y; al reponer el arco xy hay entonces un circuito de Euler (el
camino anterior junto con este arco).
Supongamos ahora que G tiene exactamente dos vrtices de grado impar, llammosles x e y.
Consideremos primero el caso en que x e y son adyacentes. Eliminando el arco xy tenemos un
grafo G
t
con n arcos, y todos sus vrtices son de grado par. Si G
t
es conexo, tiene un circuito de
Euler, y agregando el arco xy a este tenemos un camino de Euler que comienza en x y termina
en y. Si G
t
no es conexo, tiene dos componentes, llammosles G
1
y G
2
. Pero tanto G
1
como
G
2
tienen slo vrtices de grado par, y tienen menos de n arcos, con lo que cada uno de ellos
tiene un circuito de Euler, que podemos suponer comienza y termina en x (respectivamente
y). Conectando estos dos circuitos mediante el arco xy obtenemos un camino de Euler para
G, que comienza en x y termina en y. Si no hay un arco que conecte a x e y, debe haber un
arco xz para algn vrtice z. Eliminando este arco, tenemos un grafo G
t
con n arcos en el
cual hay exactamente dos vrtices de grado impar, z e y. Por induccin, si G
t
es conexo hay
un camino de Euler que comienza en z y termina en y, reponiendo el arco xz tenemos un
camino de Euler que comienza en x y termina en y. Si G
t
no es conexo, tendr componentes
G
1
(que contiene a x) y G
2
. Entonces z estar en G
2
(en caso contrario, G
t
sera conexo), e y
estar en G
2
tambin (de otra forma, sera el nico vrtice de grado impar en G
1
). O sea, G
1
tiene slo vrtices de grado par, y G
2
tiene exactamente dos vrtices de grado impar (y y z). Por
induccin, hay un circuito de Euler en G
1
, que podemos suponer comienza y termina en x, y
un camino de Euler en G
2
, que comienza en z y termina en y. Reponiendo el arco xz tenemos
un camino de Euler que comienza en x, recorre G
1
para volver a x, luego pasa a G
2
por xz y
sigue el camino de Euler en G
2
para terminar en y.
La demostracin del teorema 20.8 no da muchas luces sobre cmo hallar el camino (circuito)
de Euler. Curiosamente, Euler mismo nunca dio un mtodo para hallar tal camino o circuito. Una
tcnica elegante da el algoritmo de Fleury [103]: Si hay vrtices de grado impar, comience en uno
de ellos, en caso contrario elija uno cualquiera. En cada paso, elija un arco desde el vrtice actual y
316 CAPTULO20. GRAFOS
atraviselo, luego lo elimina del grafo. Al hacer esto, debe tener cuidado que el grafo resultante sea
conexo (salvo que no tenga alternativa).
Una tcnica ms eciente para hallar un circuito de Euler se debe a Hierholzer [138]: Parta de un
vrtice v cualquiera y siga un camino sin repetir arcos a travs del grafo hasta volver a v. Es imposible
quedar sin posibilidades de continuar, ya que los vrtices son de grado par, de llegar a un vrtice
tiene que haber al menos un arco que permita salir; y como hay un nmero nito de vrtices tarde o
temprano retornaremos al inicio. Si esto no visita todos los arcos, elija algn vrtice v
t
en el circuito
construido que tenga arcos no visitados, y comience el proceso nuevamente desde v
t
, integrando
luego el nuevo circuito en el anterior.
Ejemplo 20.4. El juego del dibujo en el papel. Se pide dibujar la gura 20.15 en un papel, de manera
Figura 20.15 Dibuja una casita.
que el lpiz no se levante en ningn momento del papel y no dibuje dos veces el mismo trazo. Es
posible realizar esto?
La respuesta es si, puesto que hay exactamente dos vrtices de grado impar. Debemos elegir uno
de ellos como punto de partida, y terminaremos en el otro.
Ejemplo 20.5. Un cubo de queso cortado en 33.
Un ratn comienza en una de las esquinas, come ese cubito y sigue con uno de los vecinos (no
en diagonal). Puede comerse todo el queso terminando con el cubo del centro? Los arcos en la
gura 20.16 muestran las movidas legales.
Figura 20.16 Queso cortado en nueve cubitos
La respuesta a esto es no. Considere el grafo de la gura 20.17, en el cual se han coloreado de
rojo y azul vrtices adyacentes. Se ve que hay 14 vrtices azules y 13 rojos. En cualquier camino que
nuestro roedor siga ir alternando colores, por lo que si comienza en una de las esquinas, que son
azules, necesariamente terminar en un cubito azul de comerse todo el queso. Pero el cubito central
es rojo.
20.5. RBOLES 317
Figura 20.17 Cubitos de queso de colores
20.5. rboles
En muchas aplicaciones aparecen grafos conexos sin enlaces redundantes (sin ciclos). Esta idea
es capturada por la denicin siguiente.
Denicin 20.11. El grafo T (V, E) es un rbol si:
T1: T es conexo.
T2: No hay ciclos en T.
Aclaramos que los rboles binarios vistos en el ramo Estructuras de Datos, no son rboles. Ac no
hay raz, hijos ni descendientes, y an menos hijos izquierdos y derechos, slo vecinos. Y como
estos son grafos, no hay rboles sin nodos.
Denicin 20.12. En un rbol T (V, E) un vrtice v V se llama hoja si tiene grado uno. En caso
contrario es un vrtice interno.
Buena parte de la importancia de los rboles reside en que tienen una coleccin de propiedades
interesantes, como las siguientes.
Teorema 20.9. Si T (V, E) es un rbol entonces:
T3: Para cualquier par de vrtices en V hay un nico camino simple entre ellos.
T4: Al agregar un arco a T se forma un ciclo.
T5: Al eliminar un arco de T, quedan dos componentes que son rboles.
T6: Un rbol con al menos dos vrtices tiene al menos dos hojas.
T7: [E[ [V [ 1.
Demostracin. Demostramos cada una de las aseveraciones por turno.
T3: Supongamos que T (V, E) es un rbol y que hay dos vrtices x, y con ms de un camino
simple que los conecta, digamos:
x v
1
, v
2
, . . . , v
r
y
x u
1
, u
2
, . . . , u
s
y
318 CAPTULO20. GRAFOS
x
u
1
v
1
u
i
v
i
u
i +1
v
i +1
u
j 1
v
k1
u
j
v
k
y
u
r
v
s
Figura 20.18 Esquema de vrtices en la parte T3 el teorema 20.9
Sea ahora i el menor ndice tal que v
i +1
/u
i +1
; y sea j el mayor ndice tal que v
j 1
/u
k1
, pe-
ro v
j
u
k
para algn k. Vea la gura 20.18. Se nota que v
i
, v
i +1
, . . . , v
k1
, v
k
, u
j 1
, u
j 2
, u
i +1
, u
i
son un ciclo, pero siendo T un rbol no tiene ciclos. Esta contradiccin completa la demostra-
cin de esta parte.
T4: Al agregar un arco xy al rbol, este junto con el camino entre x e y (que existe porque T es
conexo) forman un ciclo.
T5: Consideremos un arco xy del rbol. Si lo eliminamos, ya no hay caminos entre x e y (por T3
hay un nico camino entre x e y, precisamente este arco). Luego el grafo resultante tiene dos
componentes, cada uno conexo y sin ciclos. Ambos son rboles.
T6: Consideremos un camino de largo mximo en T, con vrtices v
1
, v
2
, . . . , v
m
. Entonces m2,
dado que un rbol con al menos dos vrtices tiene que tener al menos un arco. No pueden
haber arcos v
1
v
i
para i 2, ya que de otra forma tendramos un ciclo v
1
, . . . , v
i
, v
1
. Tampoco
puede haber un arco uv
1
, ya que de haberlo tendramos un camino ms largo u, v
1
, . . . , v
m
. O
sea, v
1
es una hoja. De forma similar, v
m
es una hoja, y hay al menos dos hojas.
Ntese que el caso extremo de dos hojas se da en un camino.
T7: Queremos demostrar que [E[ [V [ 1. Usamos induccin sobre el nmero de vrtices. En un
rbol con un nico vrtice, la aseveracin se cumple. Supongamos ahora que la aseveracin
se cumple para todos los rboles con n vrtices, y consideremos un rbol con n +1 vrtices.
Elijamos una hoja x (por T6 hay al menos dos hojas), hay un nico arco xy que incluye a x. Al
eliminar el vrtice x de T junto con el arco xy queda un rbol de n vrtices, que por induccin
tiene n1 arcos. Al reponer el vrtice y el arco, el nmero de arcos y el de vrtices aumenta en
uno, y tenemos el resultado.
La parte T7 y el corolario 20.7 dicen que un rbol es el grafo conexo con mnimo nmero de arcos
para ese conjunto de vrtices.
Ejemplo 20.6. Dibujar los rboles no isomorfos de 6 vrtices.
La mejor forma de solucionar esto es empezar a dibujar los grafos, partiendo por el caso en que
se encuentre un vrtice de grado mximo, es decir, de grado 5. Vase la gura 20.19a. Luego los
rboles con grado mximo 4 (gura 20.19b), los de grado 3 (gura 20.19c), y nalmente los de grado
mximo 2 (gura 20.19d). Estos son la solucin a nuestro problema. Hay un total de 6 rboles no
isomorfos de 6 vrtices. Obtener el nmero de rboles para cualquier nmero de vrtices es uno de
los problemas abiertos famosos de la teora de grafos.
20.6. rboles con raz
Veremos algunas aplicaciones de rbol con un vrtice especial designado como raz. Esto apa-
rece en aplicaciones en las cuales hay una jerarqua, como al representar un organigrama. As no
20.6. RBOLES CONRAZ 319
(a) Grado mximo 5 (b) Grado mximo 4
(c) Grado mximo 3
(d) Grado mximo 2
Figura 20.19 Los 6 rboles con 6 vrtices
son iguales (isomorfos) los rboles con raz (el vrtice en blanco indica la raz) mostrados en la
gura 20.20, a pesar de ser rboles isomorfos. Aparte de la raz distinguimos vrtices internos con
Figura 20.20 Ejemplos de rbol con raz
(v) 2, y hojas con (v) 1. Normalmente dibujaremos la raz y debajo de ella sus vecinos, y as
sucesivamente hasta llegar a las hojas.
En muchas aplicaciones encontraremos que la raz y los vrtices internos tienen el mismo grado.
Si tienen grado m se habla de rboles m-arios.
Podemos enumerar los vrtices de un rbol con raz, analizando su distancia desde la raz:
Nivel 0: La raz.
Nivel 1: Los vecinos de la raz.
Nivel 2: Los vecinos de vrtices en el nivel 1, salvo los que estn en el nivel 0.

Nivel n: Los vecinos de los vrtices en el nivel n 1, salvo los que estn en nivel n 2.
Esto motiva la siguiente denicin:
Denicin 20.13. La altura del rbol con raz es el mximo k para el que el nivel k no es vaco.
320 CAPTULO20. GRAFOS
La interpretacin como una jerarqua similar a una genealoga sugiere:
Denicin 20.14. Sea T un rbol con raz r . Si hay un camino de r a v que pasa por u, se dice que
u es ancestro de v, y v es un descendiente de u. Si u y v son vecinos, se dice que u es el padre de v, y
que v es hijo de u.
La enumeracin en niveles que da lugar a la denicin de altura sugiere el algoritmo 20.1 para
Algoritmo 20.1: Recorrer rboles con raz
procedure recorrer(v)
if v es hoja then
Visitar v
else
Visitar v en preorden
for x hijo de v do
recorrer(x)
end
Visitar v en postorden
end
recorrer un rbol con raz. Se invoca el procedimiento recorrer inicialmente con la raz. En este
algoritmo podemos considerar visitar (procesar de alguna forma) cada vrtice la primera o a ltima
vez que pasamos por l, dando lugar a recorridos en preorden o en postorden. Como no hay orden
denido entre los hijos de un vrtice, en caso de haber varios elegimos uno arbitrariamente.
Teorema 20.10. Si el nmero mximo de hijos de los vrtices de un rbol con raz es d y su altura es
h entonces el rbol tiene a lo ms d
h
hojas.
Demostracin. La demostracin es por induccin fuerte sobre h.
Base: Cuando h 0 hay un nico vrtice (la raz es hoja) y hay 1 d
0
1 hojas.
Induccin: Supongamos que todos los rboles de altura menor o igual a h tienen a lo ms d
h
hojas.
Consideremos un rbol de altura h +1. Este es la raz y a lo ms d rboles de altura a lo ms
h, cada uno de los cuales aporta a lo ms d
h
hojas, para un total de a lo ms d d
h
d
h+1
hojas.
Corolario 20.11. Un rbol en el cual cada nodo tiene a lo ms d hijos y que tiene r hojas tiene altura
a lo ms de log
d
r .
En particular, rboles binarios (que como ya se coment realmente no son rboles, pero tienen
suciente en comn con ellos para los efectos presentes) con r hojas tienen altura a lo ms log
2
r , y
rboles binarios de altura h tienen a lo ms 2
h
hojas.
20.7. rboles ordenados
Una situacin afn a los rboles con raz se da cuando adems hay un orden entre los hijos de un
vrtice. As, hay un primer, segundo, tercer, etc. hijo. Muchas situaciones son naturales de modelar
de esta forma.
20.7. RBOLES ORDENADOS 321
20.7.1. rboles de decisin
Un rbol de decisin representa una secuencia de decisiones y los resultados de estas. Se co-
mienza en la raz, cada vrtice interno representa una decisin, y las hojas son resultados nales. Un
camino entre la raz y una hoja representa una ejecucin del procedimiento, a travs de la secuencia
de decisiones y sus resultados que el camino representa.
Ejemplo 20.7. Bsqueda de monedas falsas.
Tenemos una moneda O (la sabemos buena) y r otras monedas, una de las cuales puede ser
falsa (puede que sea ms pesada o ms liviana que la moneda O). Cual es el nmero mnimo de
pesadas (comparar el peso de dos colecciones de monedas) para determinar si hay una falsa y saber
exactamente cul es?
Un nodo del rbol de decisiones puede representarse como en la gura 20.21, para cada pesada
a : b
<
=
>
Figura 20.21 Vrtice del rbol de decisin al pesar monedas
hay tres opciones: La izquierda es ms liviana, son iguales, la derecha es ms liviana.
Las hojas que debemos obtener (resultados nales del proceso) son las siguientes:
Todas buenas.
#1 Pesada.
#1 Liviana.
(Muchas alternativas omitidas)
#r Pesada.
#r Liviana.
Hay 2r +1 resultados, con lo que se requieren a lo menos ]log
3
(2r +1)] pesadas. Pueden ser ms que
esto, slo hemos demostrado que es imposible hacerlo con menos.
20.7.2. Anlisis de algoritmos de ordenamiento
Supongamos un mtodo de ordenamiento basado en comparaciones. Una pregunta obvia es:
Cuntas comparaciones requiere ordenar n elementos?
El suponer que todos los elementos son diferentes hace ms duro resolver el problema, con lo
que nos concentramos en ese caso. El ordenar n elementos involucra determinar en qu orden estn
(o, lo que es lo mismo, han de ubicarse). Modelamos un algoritmo de ordenamiento especicando
cules de los elementos originales se comparan en cada paso, y organizamos los distintos caminos
que sigue el algoritmo como ramas de un rbol con raz. Cada vrtice representa el resultado de
comparar dos elementos con las opciones <, >. Pueden aparecer comparaciones redundantes o
incluso contradictorias en el rbol. Las hojas son rdenes de los n elementos de entrada (aunque
tambin es posible que aparezcan entre las hojas situaciones imposibles, al especicar el camino
desde la raz situaciones contradictorias).
322 CAPTULO20. GRAFOS
Ejemplo 20.8. Comparamos tres elementos {a, b, c}, todos distintos.
Como se ve en la gura 20.22, el rbol tiene 6 hojas, que corresponden a las 3! formas de ordenar
3 objetos.
a : b
b : c
a, b, c a : c
a, c, b c, a, b
b : c
a : c
b, a, c c, b, a
b, c, a
Figura 20.22 rbol de decisin al ordenar 3 objetos
Esto muestra que la altura del rbol de decisin (el nmero de comparaciones requeridas en el
peor caso) es ]log
2
n!]. Aproximamos el factorial en la seccin 15.3 como lnn! nlnnn+O(1). Por
nuestro anlisis el nmero de comparaciones requerido es entonces (nlogn).
20.7.3. Generar cdigo
Una aplicacininteresante de rboles ordenados se da al generar cdigo para expresiones aritm-
ticas [260]. Considerando un modelo de mquina que tiene cierto nmero de registros de propsito
general, con operaciones aritmticas tradicionales que toman sus argumentos de dos registros cual-
quiera y dejan el resultado en alguno cualquiera. Lo que interesa es generar cdigo ptimo para
expresiones aritmticas en esta clase de mquinas.
Por ejemplo, la expresin a x + b y + c ((u + v)) queda representada por el rbol de
la gura 20.23. Los nmeros que adornan los vrtices del rbol representan el nmero de registros
+
3
*
2
a
1
x
1
+
3
*
2
b
1
y
1
*
2
c
1

2
+
2
u
1
v
1
Figura 20.23 rbol sintctico de una expresin
requeridos para calcular el valor de ese vrtice (se les llama nmeros de Sethi-Ullman, en honor a
los inventores del algoritmo que discutiremos).
Al calcular una expresin vista de esta forma como un rbol nada puede ganarse calculando
parte de una rama, seguir con otra, para luego volver a completar la primera. El caso ms simple es
20.8. GRAFOS PLANARES 323
el de una variable o constante, basta cargar el valor en un registro libre. Consideremos ahora una
operacin cualquiera dentro del rbol, suponiendo operaciones con dos parmetros (las ideas se
pueden extender sin problemas a casos en que hay ms de dos parmetros). Toma los valores de
sus argumentos de dos registros. Para calcular estas expresiones ms complejas, supongamos que
evaluar los operandos requiere m y n registros respectivamente. Se dan dos casos:
Caso mn: De ser as, la estrategia consiste encalcular el argumento izquierdo (se usanm registros
en el proceso, queda el resultado en uno de ellos). Luego calculamos el argumento derecho,
usando m registros ms, lo que hace un total de m+1 registros. Finalmente calculamos el
valor buscado, sin usar registros adicionales.
Caso m/n: Consideremos m < n, el otro caso es totalmente simtrico. En este caso calculamos
primero aquel argumento que requiere ms registros, (el derecho en nuestro caso), usando n
registros, y dejando el resultado en uno de ellos. Luego calculamos el otro argumento (el iz-
quierdo en nuestro caso), para lo que se requieren m<n registros, reusando los que quedaron
libres del clculo anterior. En total, se requieren n registros.
El algoritmo para generar cdigo ptimo en este caso particular (este tipo de arquitecturas y expre-
siones sin subexpresiones repetidas) resulta inmediato de la discusin anterior:
1. Calcule los nmeros de Sethi-Ullman para los vrtices del rbol en un recorrido en postorden.
2. Considere cada vrtice en un recorrido en postorden. Si es una variable o constante, cargue
su valor en algn registro libre. Si es una operacin, calcule primero aquel argumento que
requiere ms registros, luego el otro, y efecte la operacin.
Si faltan registros, la solucin es guardar en una variable temporal el contenido de aquel registro
que no se usar por ms tiempo, para reponerlo cuando se necesite. Esto resulta ptimo, ya que
minimiza el nmero de instrucciones adicionales (cada operacin requiere al menos una instruc-
cin, y nuestro algoritmo usa exactamente una instruccin por operacin si no quedamos cortos
de registros). Ntese tambin que basta con operaciones que trabajen entre dos registros (origen y
destino), no hacen falta operaciones con dos orgenes y un destino para el resultado. Eso s pueden
hacer falta operaciones simtricas, con efectos por ejemplo a a b y a b a (aunque pueden
obtenerse sus efectos con una secuencia de dos operaciones, por ejemplo calculando a a b y
cambiando el signo).
Para el rbol de la gura 20.23 resulta el cdigo del cuadro 20.3. El formato de las instrucciones es
por ejemplo r 0 r 1r 2, para indicar que al registro r 0 se le asigna el valor r 1r 2. Slo se aceptan
operaciones entre registros, traer datos de memoria a un registro y llevar datos de un registro a
memoria. Lamentablemente en situaciones ms realistas (registros de uso especco, instrucciones
que no slo operan entre registros, subexpresiones comunes, aplicar identidades algebraicas) la
situacin es bastante ms compleja y no hay algoritmos tan simples y ecientes.
20.8. Grafos planares
Ungrafo se dice planar si puede dibujarse enunplano sinque se crucenarcos. Uncaso particular
del siguiente resultado dio Descartes en 1639, el caso general se debe a Euler en 1751. Se listan 19
demostraciones en [94], la brillante demostracin siguiente es de von Staudt [271].
Teorema 20.12 (Frmula de Euler). Sea G (V, E) un grafo planar conexo dibujado en el plano.
Denimos f como el nmero de caras del grafo (las reas separadas por arcos, incluyendo el rea
innita fuera del grafo), e [E[ y v [V [. Entonces:
v e + f 2
324 CAPTULO20. GRAFOS
r 0 u
r 1 v
r 0 r 0+r 1
r 0 r 0
r 1 c
r 0 r 0r 1
r 1 b
r 2 y
r 1 r 1r 2
r 0 r 0+r 1
r 1 a
r 2 x
r 1 r 1r 2
r 0 r 0+r 1
Cuadro 20.3 Cdigo ptimo para la expresin ejemplo
Demostracin. Sea G un grafo planar conexo, dibujado en el plano. Denimos el dual de G como el
multigrafo G

, cuyos vrtices son las caras de G y cuyos arcos pasan por los puntos medios de los
arcos deG que separanlas caras, vea la gura 20.24. El multigrafoG

es conexo, ya que podemos ir de


cualquiera de las caras de G a cualquiera otra atravesando arcos. Consideremos un rbol recubridor
de G

, llammosle T

. Si eliminamos los arcos de G cortados por arcos de T

, queda un grafo que


llamaremos T. Como T

es un rbol, no tiene ciclos y no puede cortar G en componentes, as que T


es conexo. Por el otro lado, T no tiene ciclos, ya que podemos ir de cualquiera de los vrtices de G

a cualquier otro a travs de arcos de T

. O sea, T tambin es un rbol. Por construccin, el nmero


de arcos de G es la suma del nmero de arcos de T con el nmero de arcos de T

:
(v 1) +( f 1) e
Esto es lo que se quera probar.
Llamemos k-cara a una cara acotada por k arcos, y sea f
k
el nmero de k-caras en G. Del le-
ma 20.2 sabemos que:
2e

xV
(x)
De forma similar tenemos:
f

k
f
k
2e

k
k f
k
El nmero promedio de lados por cara es:
f
2e
f
20.8. GRAFOS PLANARES 325
Figura 20.24 Ilustracin de la demostracin de la frmula de Euler
Figura 20.25 El grafo K
3,3
Con esto podemos demostrar que K
5
y K
3,3
(K
3,3
es el grafo formado por dos conjuntos de tres
vrtices, en el cual todos los vrtices de un conjunto estn conectados con todos los vrtices del otro
pero no hay conexiones dentro de los conjuntos, ver la gura 20.25) no son planares. Consideremos
K
5
, con v 5 y e
_
5
2
_
10. Para un supuesto dibujo de K
5
en el plano calculamos f 2+e v 7, y
el nmero promedio de lados por cara sera f 2 10/7 <3, lo que es ridculo. De forma similar, para
K
3,3
resultan v 6, e 9 y f 5, con lo que f 2 9/5 <4. Es fcil vericar (ver la gura 20.25) que
K
3,3
no tiene ciclos de largo tres, as que esto es imposible.
Como toda cara tiene al menos tres lados, y al sumar sobre todas las caras los arcos se cuentan
dos veces, tenemos:
2e 3f
Substituyendo en la frmula de Euler:
e +2 v +
2e
3
e 3v 6 (20.1)
326 CAPTULO20. GRAFOS
O sea, los grafos planares son ralos, tienen mucho menos que los arcos posibles.
Otra conclusin inmediata viene de combinar el teorema 20.1 con (20.1):

i
(v
i
) 2e

2e
v

6v 12
v
<6 (20.2)
Por lo tanto, tienen que haber vrtices de grado menor a seis en todo grafo planar.
Teorema 20.13. Hay cinco slidos regulares.
Demostracin. Si tomamos el slido, eliminamos una de sus caras y extendemos sus aristas en un
plano, obtenemos un grafo planar al tomar los vrtices del slido como vrtices del grafo, y las
aristas como arcos. Un ejemplo lo da el dodecaedro (slido con 12 caras pentagonales), gura 20.26.
Podemos aplicar la frmula de Euler al grafo resultante. Sean las caras del slido de p lados, y se
Figura 20.26 El grafo del dodecaedro
encuentran q aristas en cada vrtice. Por lo anterior, p f 2e. Adems, como cada arista conecta dos
vrtices, qv 2e. Substituyendo estos en la frmula de Euler resulta:
2e
p
+
2e
q
e 2
1
p
+
1
q

1
2
+
1
e
(20.3)
Por otro lado, debe ser p 3 y q 3, las caras deben tener al menos tres lados y deben encontrarse
al menos tres aristas en un vrtice. Si p y q fueran ambos mayores que tres, quedara:
1
p
+
1
q

1
4
+
1
4

1
2
Esto contradice a (20.3), por tanto debe ser p 3 o q 3. Si p 3, de (20.3) resulta:
1
q

1
6

1
e
(20.4)
20.9. ALGORITMOS DE BSQUEDA ENGRAFOS 327
Como (20.4) debe ser positivo, slo estn las posibilidades q 3, 4, 5. Estas dan, respectivamente
e 6, 12, 30. De la misma forma, q 3 da opciones p 3, 4, 5 que dan e 30, 12, 6. Esto da las cinco
{p, q} f e v Nombre
{3, 3} 4 6 4 tetraedro
{4, 3} 6 12 8 cubo
{3, 4} 8 12 6 octaedro
{5, 3} 12 30 20 dodecaedro
{3, 5} 20 30 12 icosaedro
Cuadro 20.4 Poliedros regulares
combinaciones listadas en el cuadro 20.4, que resultan ser todas posibles.
Un problema famoso, planteado en 1852 por Francis Guthrie, es demostrar que bastan cuatro
colores para pintar un mapa de forma que no hayan regiones con fronteras (lneas, no simplemen-
te puntos) en comn tengan el mismo color. Esto es equivalente a demostrar que bastan cuatro
colores para colorear todos los grafos planares: Considere cada regin a colorear como un vrtice
del grafo, y conecte regiones vecinas con arcos. Este grafo claramente es planar, y un coloreo de
l corresponde a una asignacin de colores a las regiones. La primera demostracin fue publicada
por Appel y Haken [9, 10]. La demostracin parte de que todo posible contraejemplo contiene uno
de 1 936 mapas irreductibles, y vericar que todos ellos pueden colorearse con cuatro colores. Esta
tarea se hizo mediante un programa de computador, lo que produjo un motn entre los matemticos
(ver por ejemplo Swart [278]), e intentos de una nueva manera de ver lo que signica demostracin
(Tymoczko [287]). Fue el primer teorema importante en cuya demostracin el computador resulta
indispensable, es de suponer que es por esto que Petkovek, Wilf y Zeilberger [229] tienen tanto
cuidado de indicar que sus tcnicas de demostracin de identidades con sumatorias (que requie-
ren el apoyo del computador, es comn que deban revisar centenares de opciones) dan lugar a un
certicado, que permite vericar el resultado manualmente.
Algunos detalles de la historia del problema y de las tcnicas empleadas por Appel y Haken dis-
cute Thomas [283], desde entonces se han publicado demostraciones adicionales (todas apoyadas
de una forma u otra por el computador, con lo que desafortunadamente no aplacan los recelos).
20.9. Algoritmos de bsqueda en grafos
En muchas aplicaciones se requiere recorrer un grafo en forma completa (visitar cada uno de sus
vrtices), o al menos encontrar algn vrtice que cumpla ciertas condiciones especiales. Esto lleva a
considerar algoritmos de bsqueda en grafos (aunque tal vez un mejor nombre sera algoritmos de
recorrido).
20.9.1. Bsqueda en profundidad
La idea de este algoritmo es partir de un vrtice, visitar algn vecino de este y continuar de all
hasta llegar a un vrtice ya visitado o no poder continuar, para luego retornar al vrtice anterior
y continuar con su siguiente vecino. Se le llama bsqueda en profundidad porque la estrategia
esbozada avanza a travs del grafo todo lo que puede antes de considerar alternativas. En ingls se
llama Depth First Search, abreviado DFS.
Ejemplo 20.9. Bsqueda en profundidad
Consideremos el grafo de la gura 20.27. El grafo de la gura 20.28 fue recorrido siguiendo el
328 CAPTULO20. GRAFOS
Figura 20.27 Grafo para ejemplos de recorrido
10
9
8
2
1
4
5
3
11
12
6
7
Figura 20.28 El grafo de la gura 20.27 recorrido en profundidad
algoritmo bsqueda en profundidad. Se parti desde el vrtice 1, y desde all se recorri y enume-
r el resto de los vrtices, eligiendo uno al azar como vecino a considerar luego. En rojo quedan
registrados los arcos por lo cuales se pas.
Denicin 20.15. Sea G (V, E) un grafo conexo. A un rbol T (V, E
t
), donde E
t
E se le llama
rbol recubridor (en ingls, spanning tree) de G.
Bsqueda en profundidad recorre un rbol recubridor del grafo. En general entrega un compo-
nente del grafo, para encontrar todos los componentes basta con repetir la bsqueda partiendo cada
vez de un vrtice an no visitado hasta agotar los vrtices. Ver el algoritmo 20.2 para una versin re-
cursiva, que se invoca como DFS(v) para un vrtice del grafo. Se usan marcas considerado y visitado
en este algoritmo (y sus sucesores) para evitar caer en ciclos innitos: Un vrtice considerado pero
no visitado ya est como pendiente, si est visitado ya fue procesado y no requiere ms atencin. El
algoritmo 20.3 es una versin que usa un stack explcitamente (resultado de eliminar la recursin).
20.9. ALGORITMOS DE BSQUEDA ENGRAFOS 329
Algoritmo 20.2: Bsqueda en profundidad, versin recursiva
procedure DFS(x)
Marque x considerado
if x no visitado then
Marque x visitado
foreach y adyacente a x, no visitado y no considerado do
Marque y considerado
DFS(y)
end
end
Debe tenerse cuidado de no incluir los vrtices varias veces, por eso se marcan como considerados
cuando se agregan al stack.
Algoritmo 20.3: Bsqueda en profundidad, versin no recursiva
procedure DFS(x)
variables S: Stack de vrtices
Marque x considerado
push(S, x)
while S no vaco do
x pop(S)
if x no visitado then
Marque x visitado
foreach y adyacente a x, no visitado y no considerado do
Marque y considerado
push(S, y)
end
end
end
20.9.2. Bsqueda a lo ancho
Ac se visitan los vecinos del punto de partida, y recin cuando se han visitado todos ellos se
avanza a los vecinos de estos. Por la forma en que avanza en el grafo se le llama bsqueda a lo ancho,
en ingls Breadth First Search, que se abrevia BFS. Una manera simple de manejar primero todos los
vecinos, y recin despus los vecinos de estos, es ingresar los nodos en una cola de espera (queue en
ingls).
Ejemplo 20.10. Bsqueda a lo ancho
Tomando el mismo grafo que en ejemplo de bsqueda en profundidad (ver gura 20.29), ahora
se enumeran los vrtices y se marcan los arcos recorridos, pero ahora con el mtodo de bsqueda a
lo ancho. Vase la gura 20.29.
Ms formalmente el algoritmo para buscar a lo ancho es el 20.4. Usamos marcas para asegurar-
nos de no agregar el mismo nodo varias veces.
330 CAPTULO20. GRAFOS
5
9
6
2
1
8
10
7
4
3
11
12
Figura 20.29 El grafo de la gura 20.27 recorrido a lo ancho
Algoritmo 20.4: Bsqueda a lo ancho
procedure BFS(x)
variables Q: Queue de vrtices
Marque x considerado
enqueue(Q, x)
while Q no vaco do
x dequeue(Q)
if x no visitado then
Marque x visitado
foreach y adyacente a x, no visitado y no considerado do
Marque y considerado
enqueue(Q, y)
end
end
end
20.10. COLOREAR VRTICES 331
20.9.3. Bsqueda a lo ancho versus bsqueda en profundidad
Si comparamos los dos procedimientos (algoritmos 20.3 y 20.4) se ve que la nica diferencia es
el orden en que se procesan los vrtices. En el peor caso, se exploran todos los vrtices y se recorren
todos los arcos, y la complejidad es simplemente O([V [ +[E[) para ambos. Podemos resumir las
caractersticas de ambos algoritmos como sigue:
Ambos llegan a todos los vrtices del componente.
Los programas son similares, aunque bsqueda en profundidad (recursivo) es un tanto ms
simple de programar.
Complejidad (equivalente a tiempo de ejecucin) similares.
La pregunta entonces es cmo elegir entre los dos.
Si interesa una solucin cualquiera: Usar bsqueda en profundidad.
Si interesa la mejor (por lo general referida a cercana de vrtices): Usar bsqueda a lo ancho.
Pero un anlisis ms profundo de los dos algoritmos muestra que tienen una estructura comn:
Guardan vrtices para considerarlos ms adelante en alguna estructura, la nica diferencia es si
se procesan en orden de llegada (al buscar a lo ancho) o se atiende primero al ltimo en llegar
(bsqueda en profundidad). Claramente podemos usar algn otro criterio para elegir el siguiente
vrtice a considerar, no solamente el momento en que nos encontramos con l por primera vez. Esto
da lugar a una gama de mtodos de bsqueda heursticos.
20.10. Colorear vrtices
Hay muchas situaciones en las cuales interesa encontrar una asignacin que respeta restriccio-
nes dadas. Una forma de representar estas es haciendo que las entidades a recibir asignaciones
se los modela como vrtices, las asignaciones como colores de los vrtices, las restricciones entre
asignaciones como arcos entre los vrtices, y buscamos asignar colores a los vrtices de forma que
vrtices vecinos siempre tengan colores diferentes.
Ejemplo 20.11. Consideremos la situacin en que deseamos programar seis charlas, cada una de
una hora. Hay interesados en asistir a varias de ellas, en particular, hay interesados en las charlas 1
y 2, en las 1 y 4, en 1 y 6, en 2 y 6, en 3 y 5, en 4 y 5, en 5 y 6. Debemos programar las charlas en el
mnimo nmero de horas.
Podemos modelar esto mediante un grafo, conectando las charlas que tienen asistentes en co-
mn, vase la gura 20.30. Por ejemplo, podemos asignar las charlas v
1
y v
3
a la hora 1, v
2
y v
4
a la
v
3
v
2
v
1
v
6
v
5
v
4
Figura 20.30 Grafo representando charlas
332 CAPTULO20. GRAFOS
hora 2, v
5
a la hora 3, y nalmente v
6
a la hora 4. Si representamos la hora 1 con color azul, la 2 con
rojo, la 3 con amarillo y la 4 con verde, se obtiene lo que muestra la gura 20.31.
v
3
v
2
v
1
v
6
v
5
v
4
Figura 20.31 Asignacin de horas a charlas como colores
En trminos matemticos, hemos particionado los vrtices del grafo en cuatro, de forma que no
hayan vrtices adyacentes en ninguna de las partes. Una forma de representar esta situacin usa
la funcin c : V [4] que a cada vrtice (charla) le asigna una hora. Generalmente hablamos de
colores de los vrtices, no de horas asignadas, aunque claramente la naturaleza exacta de los objetos
{1, 2, 3, 4} es irrelevante. Podemos hablar de colores azul, rojo, amarillo, verde, o de hora 1, hora 2,
hora 3, hora 4. Lo nico que importa es que vrtices vecinos tienen colores diferentes.
Denicin 20.16. Un coloreo de vrtices de un grafo G (V, E) es una funcin c : V N tal que
c(x) /c(y) siempre que xy E.
Denicin 20.17. El nmero cromtico de un grafo G (V, E), escrito (G), es el mnimo entero k
tal que el grafo tiene un coloreo de k colores.
Volviendo a nuestro ejemplo, la asignacin de horas de la gura 20.31 corresponde a un coloreo
con 4 colores. Pero probando un poco con 3 horas vemos que podemos asignar v
1
y v
5
a la hora 1, v
2
y v
3
a la hora 2, y dejar v
4
y v
6
para la hora 3. Ver la gura 20.32. Por lo dems, se requieren al menos
v
3
v
2
v
1
v
6
v
5
v
4
Figura 20.32 Otra asignacin de horas a charlas
3 colores ya que v
1
, v
2
y v
6
estn conectados entre s. Hemos demostrado que el nmero cromtico
de este grafo es 3.
En general, para demostrar que el nmero cromtico de un grafo es k se requiere:
1. Encontrar un coloreo con k colores.
2. Demostrar que es imposible hacerlo con menos de k colores.
Este problema es NP-completo, uno de los 21 problemas identicados inicialmente como intratables
por Karp [157].
20.10. COLOREAR VRTICES 333
Ejemplo 20.12. Nmeros cromticos
Veamos cuntos colores se necesitan para colorear el grafo de la gura 20.33.
Figura 20.33 Grafo a colorear
Como el grafo contiene ciclos de largo impar (por ejemplo el de la gura 20.34), se desprende
Figura 20.34 Un ciclo de largo impar en el grafo de la gura 20.33
la necesidad de al menos 3 colores. La gura 20.35 muestra un coloreo con 3 colores, por lo que el
Figura 20.35 Un coloreo con tres colores del grafo de la gura 20.33
nmero cromtico del grafo es precisamente 3.
Ejemplo 20.13. Nmeros cromticos: Otro caso.
Consideremos el grafo de la gura 20.36.
334 CAPTULO20. GRAFOS
Figura 20.36 Otro grafo a colorear
(a) Subgrafo C
5
(b) Subgrafo K
4
Figura 20.37 Subgrafos del grafo de la gura 20.36
Dado que son 6 vrtices, el nmero de colores es a lo ms 6. En la gura 20.37a se marca un ciclo
impar en rojo, lo que indica que necesitan a lo menos 3 colores. Pero se ve en azul en la gura 20.37b
que el grafo tiene K
4
como subgrafo, lo que indica que el nmero de colores tiene que ser a lo menos
4. La gura 20.38 muestra un coloreo con 4 colores, y el nmero cromtico es 4.
Figura 20.38 Coloreo con cuatro colores del grafo de la gura 20.36
Como se coment antes, muchos problemas de asignacin de recursos pueden modelarse me-
diante coloreo de grafos. Por esta razn el encontrar soluciones ptimas (coloreo usando (G) colo-
res) o al menos buenas (pocos ms que (G) colores) tienen inmensa importancia prctica. Siendo
un problema NP-completo la investigacin se concentra en hallar soluciones a casos especiales o
hallar mtodos aproximados.
Por ejemplo, al compilar cdigo para un programa interesa guardar los ms valores posibles
en los registros del procesador, de forma de que acceder a ellos sea ms rpido, comprese con
la seccin 20.7.3. Una manera de hacer esto [55] es construir un grafo (el grafo de interferencia)
cuyos vrtices son los valores y hay un arco entre un par de valores si sus vidas (desde el instante de
creacinhasta el ltimo uso) se traslapan. El mnimo nmero de registros requeridos es simplemente
el nmero cromtico del grafo de interferencia, y un coloreo mnimo es una asignacin de valores a
esos registros.
20.10. COLOREAR VRTICES 335
Sudoku [71] puede interpretarse como completar un coloreo de un grafo de 81 vrtices con
9 colores.
20.10.1. El algoritmo voraz para colorear grafos
Encontrar el nmero cromtico de un grafo es un problema NP-completo. Sin embargo, hay
una forma simple de construir un coloreo de vrtices usando un nmero razonable de colores. La
idea es ir asignando colores a los vrtices de forma de usar siempre el primer color que no produce
conictos. Por ejemplo, el coloreo de la gura 20.31 resulta aplicando el algoritmo 20.5 a los vrtices
Algoritmo 20.5: Coloreo voraz
procedure GreedyColoring(G)
n Nmero de vrtices de G
c[v
1
] 1
for i 2 to n do
S
for j 1 to i 1 do
if v
j
es adyacente a v
i
then
S S {c[v
j
]}
end
end
c[v
j
] primer color no en S
end
del grafo de la gura 20.30 en orden del nmero del vrtice. El coloreo de la gura 20.35 resulta
de asignar colores azul, rojo, amarillo mediante el algoritmo voraz partiendo del vrtice superior y
avanzando en sentido contra reloj. El lector podr entretenerse usando este algoritmo para colorear
el grafo de la gura 20.27 siguiendo ya sea el orden de la gura 20.28 o de la gura 20.29, y de hallar
el nmero cromtico.
El algoritmo 20.5 es corto de vista, por lo que el coloreo que entrega no necesariamente es bueno.
Sinembargo, puede producir el coloreo conel mnimo nmero de colores, dependiendo del ordenen
que se consideren los vrtices. Lo malo es que si hay n vrtices son n! rdenes diferentes a considerar.
A pesar de esto, el algoritmo es til en teora y en la prctica. Demostraremos un teorema usando
esta estrategia.
Teorema 20.14. Si G es un grafo de grado mximo k, entonces:
1. (G) k +1.
2. Si G no es regular, entonces (G) k.
Demostracin. Como el coloreo de cada componente es independiente del resto del grafo, basta
discutir la situacin de un nico componente. Demostramos cada aseveracin por turno.
1. Sea v
1
, v
2
, . . . , v
n
un orden de los vrtices de G. Si aplicamos el algoritmo de coloreo voraz,
al considerar un vrtice cualquiera tendr a lo ms k vecinos con colores ya asignados. Si
contamos con k +1 colores, siempre habr uno que podamos asignarle.
2. Para este caso consideraremos los vrtices en un orden especial. Como el grafo no es regular,
habr al menos unvrtice cuyo grado es menor a k. Llammosle v
n
a uno de ellos. Numeremos
336 CAPTULO20. GRAFOS
los vecinos de v
n
como v
n1
, v
n2
, . . . (hay a lo ms k1 de estos). Una vez agotados los vecinos
de v
n
, numeramos los vecinos de v
n1
distintos de v
n
; nuevamente habr a lo ms k 1 de
estos. Continuamos de esta forma, siempre dejando fuera de consideracin los que ya tienen
nmero asignado. Si ahora aplicamos el algoritmo voraz, siempre que considere un vrtice
tendr a lo ms k 1 vecinos ya coloreados, y se requerirn a lo ms k colores.
La demostracin del primer caso parece poco inteligente, pero considerar el grafo K
k+1
, regular
de grado k, muestra que en realidad es lo mejor que puede hacerse. Por el otro lado, el grafo bipartito
completo K
n,n
es regular de grado n, pero (K
n,n
) 2.
Esta demostracin sugiere la heurstica de ordenar los vrtices por grado decreciente y luego
aplicar el algoritmo voraz como manera de obtener una buena coloracin.
20.11. Colorear arcos
Una situacin anloga al coloreo de vrtices se produce si coloreamos arcos de forma que no
hayan arcos adyacentes (que comparten vrtices) del mismo color. Formalmente:
Denicin 20.18. Dado un grafo G (V, E) un coloreo de arcos es una funcin c : E N tal que
c(e
1
) /c(e
2
) si e
1
/e
2
y e
1
e
2
/.
Ac tenemos una particin de los arcos E
1
E
2
E
n
tal que los arcos en E
i
no tienen vrtices
en comn. La nomenclatura diere, hay autores que le llaman nmero cromtico de arcos al mnimo
nmero de colores en un coloreo de arcos, otros le llaman el ndice cromtico del grafo. Se anota

t
(G) o
1
(G), aunque la nocin (y la notacin) es mucho menos usada que el nmero cromtico.
Nosotros le llamaremos ndice cromtico, y anotaremos
t
(G).
El ndice cromtico es 2 para un ciclo de orden par, y 3 para un ciclo de orden impar. Esto
provee cotas para el ndice cromtico de grafos que contienen los anteriores. Obviamente el ndice
cromtico es a lo menos el grado mximo de un vrtice.
Un bonito ejemplo es el coloreo de arcos del grafo de Frucht [108] dado en la gura 20.39. Como
hay vrtices de grado 3 (en realidad es un grafo 3-regular), es imposible un coloreo con menos
colores, y su ndice cromtico es 3.
Figura 20.39 Un coloreo de arcos del grafo de Frucht
Aplicaciones de esto ocurren en muchos problemas de asignar recursos y tareas de manera
que no intereran en el tiempo [263]. Por ejemplo, al programar la primera ronda de un torneo de
ftbol (donde compiten todos contra todos) debe hallarse un calendario de forma que a nadie
se le solicite estar jugando dos partidos a la vez, pero que tambin use el mnimo de tiempo (si
20.12. GRAFOS BIPARTITOS 337
hay N equipos en competencia, son N(N 1)/2 los partidos a jugar, con lo que la solucin obvia de
programar un partido por semana tomara demasiado tiempo). Esto se modela mediante un grafo en
el que los vrtices son los equipos participantes, mientras los arcos son partidos que deben jugarse.
El coloreo de arcos entonces asigna fechas a los partidos, de forma que ningn equipo est jugando
dos partidos la misma fecha. Es de suponer que el problema real a resolver por la ANFP es mucho
ms complejo, al tratar de lograr que todos los nes de semana haya un partido entretenido.
20.12. Grafos bipartitos
Un caso especial muy importante son los grafos para los cuales (G) 2. En este caso, los vrtices
se dividen en dos grupos V
1
y V
2
que corresponden a los coloreados con los colores 1 y 2, respecti-
vamente, y los arcos unen uno de cada grupo. En consecuencia, estos grafos se llaman bipartitos.
Aplicamos esta idea en el ejemplo 20.5 del ratn que come queso. Para representar un grafo bipartito
escribiremos G (V
1
V
2
, E), bajo el entendido que V
1
y V
2
son las particiones de los vrtices segn
color. Hay muchas situaciones que se pueden modelar de esta forma, veremos algunos ejemplos
pronto. Un caso importante es cuando cada vrtice de V
1
est conectado con todos los vrtices de
V
2
. As obtenemos el grafo bipartito completo, que se anota K
m,n
si [V
1
[ m y [V
2
[ n. Ntese que
K
2,2

C
4
.
Algunos ejemplos muestran las guras 20.40 y 20.41. Por razones obvias a los grafos K
1,n
se les
suele llamar estrellas.
(a) K
1,1
(b) K
1,2
(c) K
1,3
(d) K
1,7
Figura 20.40 Algunas estrellas
Para grafos bipartitos tenemos:
Teorema 20.15. Un grafo es bipartito si y slo si no tiene ciclos de largo impar.
Demostracin. Demostramos implicancias en ambas direcciones.
Si hay un ciclo de largo impar, se requieren tres colores slo para colorear ese ciclo, y (G) 3.
Por el otro lado, si no hay ciclos de largo impar, construiremos un ordenamiento de los vrtices que
produce un coloreo con dos colores. Elijamos un vrtice cualquiera, llammosle v
1
, y le asignamos
el nivel 0. A los vecinos de v
1
les llamamos v
2
, . . . , v
r
, les asignamos el nivel 1. A los vecinos de los vr-
tices de nivel 1 que no estn ya numerados les asignamos el nivel 2, . . . , a los vecinos no numerados
de los vrtices de nivel l 1 les asignamos el nivel l . De esta forma completamos un componente de
G, y procesamos a los dems componentes de la misma forma. Lo crucial de este orden es que un
vrtice del nivel l slo tiene vecinos en los niveles l 1 y l +1. Para ver esto, supongamos que hay dos
vrtices conectados en el mismo nivel. Siguiendo sus conexiones hacia atrs a travs de los distintos
338 CAPTULO20. GRAFOS
(a) K
2,2
(b) K
2,3
(c) K
3,3
(d) K
3,4
(e) K
3,5
Figura 20.41 Algunos grafos bipartitos completos
niveles, encontraremos caminos simples hacia un vrtice comn, que tendrn el mismo largo, ver la
gura 20.42. Pero estos forman un ciclo de largo impar junto con el arco entre los vrtices del mismo
1
l l
Figura 20.42 Un ciclo de largo 2l +1 si hay conexiones cruzadas
nivel que supusimos conectados.
Una manera tal vez ms simple de entender lo anterior (y, a la pasada, dar un algoritmo para
20.12. GRAFOS BIPARTITOS 339
determinar si ungrafo es bipartito y obtener las particiones) es tomar unvrtice cualquiera y pintarlo
de rojo, sus vecinos colorearlos de azul, y as sucesivamente ir pintando vrtices vecinos an no
coloreados del color contrario (esto corresponde a bsqueda a lo ancho). Si esto termina con todos
los vrtices coloreados (recomenzando con otro an no coloreado si se acabaran los vecinos) el grafo
es bipartito, si encontramos conictos (vecinos del mismo color) no lo es. Esto es una aplicacin de
los algoritmos de recorrido de grafos, y la complejidad es simplemente O([V [ +[E[).
Lema 20.16. Sea G (X Y, E) un grafo bipartito con arcos entre X e Y . Entonces:

xX
(x)

yY
(y) [E[
Demostracin. Cada arco tiene un vrtice en X, y la primera suma es el nmero total de arcos vistos
desde X. Lo mismo respecto a la segunda suma e Y .
Teorema 20.17. El ndice cromtico de un grafo bipartito es su grado mximo.
Demostracin. Sea el grafo G (V, E. Usamos induccin sobre el nmero de arcos m[E[.
Base: Cuando m1, hay un nico arco, y el grado mximo es 1. Claramente basta un color en este
caso.
Induccin: Supongamos ahora que es cierto para todos los grafos bipartitos de m arcos y grado
mximo k. Consideremos un grafo bipartito G (X Y, E) con m+1 arcos y grado mximo
k. Elegimos un arco xy E, y consideramos el grafo G
t
(X Y, E
t
) donde E
t
E xy. El
grafo G
t
tiene m arcos, y por induccin admite un coloreo de arcos con k colores. En G, tanto
x como y tienen grado a lo ms k; y al eliminar el arco xy, en G
t
es (x) k 1. De la misma
forma (y) k 1. Luego tanto x como y participan en a lo ms k 1 arcos y por tanto estn
rodeados por a lo ms k 1 colores.
Ahora sea un color no adyacente a x y un color no adyacente a y (los llamaremos libres en
x e y, respectivamente). Estos colores deben existir por lo anterior. Se pueden presentar dos
casos:
Caso simple: Podemos elegir . Tomamos ese color para el arco y asunto resuelto.
Caso complejo: No podemos elegir . Entonces hay un arco xy
1
de color (de caso
contrario estara libre en x y podra elegir como en el caso anterior). Puede haber
un arco x
1
y
1
de color , un arco x
1
y
2
de color y as sucesivamente (vamos de X a Y
mediante arcos de color , y de Y a X a travs de arcos de color ). Este proceso de crear
un camino debe terminar, ya que el grafo tiene un nmero nito de vrtices, y no puede
formar un ciclo ya que no hay arco de color en x. Como ilustra la gura 20.43, luego de
este proceso podemos intercambiar los colores y , cayendo en el caso simple.
Por induccin, el resultado vale para todos los grafos bipartitos.
Esta tcnica de zig-zag e intercambio vale la pena tenerla presente, bastantes demostraciones se
basan en ella.
340 CAPTULO20. GRAFOS
x
n
x
y
n
y
1
y
x
n
x
y
n
y
1
y
Figura 20.43 Cmo operar en el teorema 20.17
20.12.1. Matchings
Supongamos la situacin en que hay un conjunto X de personas y un conjunto Y de trabajos,
Una pregunta con implicancias obvias es la siguiente: Cmo asignamos personas a las tareas, de
forma que el nmero mximo de personas queda asignada a una tarea para la que est calicada?
Esta pregunta la traduciremos al lenguaje de grafos bipartitos. La relacin estar calicado da un
grafo bipartito G (X Y, E): El arco xy indica que la persona x est calicada para la tarea y. Una
asignacin de tareas a personas corresponde a un matching en el sentido tcnico que deniremos
ahora. Otras aplicaciones de estas ideas ocurren en una gran variedad de reas, llegando a la econo-
ma. Cabe hacer notar que los conjuntos X e Y no necesariamente son de la misma cardinalidad.
Bajo nuestra interpretacin tiene perfecto sentido considerar situaciones en que hay ms (o me-
nos) tareas a asignar que personas, tareas para las que no hay calicados, y personas que no estn
calicadas para ninguna de las tareas.
Denicin 20.19. Sea G (V, E) un grafo. Un matching es un subconjunto M E de arcos tal que
no hay vrtices en comn entre dos arcos. El tamao del matching es el nmero de arcos en l. Un
matching de G se dice maximal si no hay matchings de mayor tamao enG. Un matching M se dice
que satura a los vrtices U V si todos los vrtices de U participan en M.
El caso ms importante de lo anterior se da en grafos bipartitos, como se coment antes. Por
ejemplo, la gura 20.44 muestra dos matchings de un grafo, donde los arcos en M estn marcados.
El matching M
2
es mayor, en el sentido que contiene ms arcos. No puede haber uno mayor, ya
que si consideramos el conjunto {x
1
, x
2
, x
5
}, en total slo estn capacitados para {y
3
, y
4
}, por lo que
necesariamente quedar uno de los tres sin trabajo asignado. Esto motiva lo siguiente.
Denicin 20.20. Sea G (X Y, E) un grafo bipartito. Un matching es completo si [M[ [X[ (vale
decir, satura a X).
Analicemos primero las condiciones bajo las cuales hay matchings completos. Supongamos un
grafo bipartitoG (X Y, E), y para todo A X denimos el conjunto de vrtices vecinos (neighbors
en ingls) como:
N(A) {y : xy E para algn x A}
En un matching completo el conjunto de tareas asignadas a los integrantes de A es un subconjunto
de N(A), debe ser [N(A)[ [A[ para todo A X. En nuestro ejemplo es N({x
1
, x
2
, x
5
}) {y
3
, y
4
}, y
como [N({x
1
, x
2
, x
5
})[ <[{x
1
, x
2
, x
5
}[ no hay matching completo posible.
20.12. GRAFOS BIPARTITOS 341
x
6
x
5
x
4
x
3
x
2
x
1
y
7
y
6
y
5
y
4
y
3
y
2
y
1
(a) M
1
x
6
x
5
x
4
x
3
x
2
x
1
y
7
y
6
y
5
y
4
y
3
y
2
y
1
(b) M
2
Figura 20.44 Matchings en un grafo bipartito
Resulta que esta condicin se cumpla para todo subconjunto de X es necesario y suciente para
la existencia de un matching completo, como demostraremos a continuacin.
Teorema 20.18 (Hall). Sea G (X Y, E) un grafo bipartito. Entonces hay un matching completo de
G si y slo si para todo A X tenemos [N(A)[ [A[.
Demostracin. Demostramos implicancia en ambos sentidos. Para simplicar la discusin, seguire-
mos hablando de trabajos, calicacin para los mismos y trabajos asignados.
Si hay un matching completo, para cada subconjunto A X tenemos en N(A) al menos los
trabajos asignados a los integrantes de A, o sea [N(A)[ [A[.
Al revs, supongamos que para todo A X se cumple [N(A)[ [A[, y consideremos un matching
maximal M de G. Demostraremos por contradiccin que M es completo. Si M no es completo,
demostraremos cmo construir un nuevo matching M
t
tal que [M
t
[ [M[ +1, lo que contradice a
que M era maximal. Llamaremos A
M
(B) al conjunto de personas a las que el matching M asigna los
trabajos en B Y .
Como M no es completo, hay x
0
X que no participa en M. Por hiptesis x
0
est calicado al
menos para un trabajo, el conjunto de tareas para las que est calicado x
0
es N({x
0
}). Consideremos
el conjunto X
0
A
M
(N({x
0
})) (vale decir, las personas que tienen asignados los trabajos para los
que est calicado x
0
). Junto con x
0
son [X
0
[ +1 personas, que por hiptesis estn calicadas en
conjunto al menos para [X
0
[ +1 trabajos. Esto signica que hay al menos una persona en X
0
que est
calicada para un trabajo que no est en N({x
0
}), y que no tiene ese trabajo asignado. Si agregamos
las personas (de haberlas) que tienen asignados esos trabajos a X
0
construimos un conjunto X
1
.
Aplicando el mismo proceso nuevamente a X
1
construimos un conjunto X
2
, y as sucesivamente.
342 CAPTULO20. GRAFOS
Este proceso debe terminar, ya que los conjuntos X
i
no pueden crecer en forma indenida. Pero
el proceso termina por hallar trabajos que no estn asignados. Tomando uno de ellos y trazando el
proceso hacia atrs tenemos un camino que parte de x
0
, va a Y por una tarea sin asignar, vuelve a
X por una tarea asignada, . . . , y nalmente pasa de X a Y por una tarea sin asignar. Este camino
tiene un arco ms fuera de M que en M, intercambiando las tareas asignadas con las sin asignar en
l da un matching mayor que M. Pero habamos supuesto que M es maximal, una contradiccin.
Por tanto, si M es maximal bajo la hiptesis dada, es completo.
La demostracin del teorema de Hall motiva la siguiente:
Denicin 20.21. Sea G (X Y, E) un grafo bipartito, y M un matching de G. Un camino en G se
llama alternante para M si alterna arcos de M con arcos que no estn de M.
Nuestra discusin previa indicara que de A a lo ms [N(A)[ podrn encontrar trabajo. Esto lleva
a:
Denicin 20.22. Sea G (X Y, E) un grafo bipartito. La deciencia de G es:
d m ax
AX
{[A[ [N(A)[}
Siempre podemos tomar A , y en tal caso [A[ [N(A)[ 0, con lo que la deciencia nunca es
negativa.
Con esto podemos demostrar:
Teorema 20.19. SeaG (X Y, E) un grafo bipartito de deciencia d. Entonces el matching maximal
M de G cumple [M[ [E[ d.
Demostracin. Primeramente, si A X es un conjunto para el cual d [A[ [N(A)[, a lo menos d
elementos de A quedarn sin Y asignado, y as ningn matching puede tener ms que el tamao
indicado. Basta entonces demostrar que hay un matching de ese tamao.
Sea D un conjunto de vrtices nuevos con [D[ d. Denimos el grafo G

(X

Y

, E

) me-
diante:
X

X
Y

Y D
E

E X D
Estamos agregando un nuevo conjunto de trabajos D para los que todos estn calicados. Entonces
G

cumple con las condiciones del teorema de Hall y tiene un matching completo M

. Pero M

incluye todos los vrtices de D, ya que si A es un conjunto para el cual d [A[ [N(A)[ es mximo, la
nica forma de parear todos los elementos de A es incluir los elementos de D enel pareo. Eliminando
los arcos que incluyen vrtices de D de M

obtenemos un matching de tamao [X[ d.


El teorema 20.19 no es particularmente til para encontrar un matching mximo, ni ayuda a la
hora de hallar su tamao ya que considera analizar los 2
[X[
subconjuntos de X para determinar la
deciencia. Una forma prctica de encontrar matchings mximos las da el siguiente teorema.
Teorema 20.20. Sea G (X Y, E) un grafo bipartito, y M un matching de G. Si M no es mximo, G
contiene un camino alternante para M.
20.12. GRAFOS BIPARTITOS 343
Demostracin. Sea M

un matching mximo de G, y sea F M

M el conjunto de arcos en que


estn en M

o M, pero no en ambos. Los arcos en F y los vrtices que contienen forman un grafo
bipartito cuyos vrtices tienen grado 1 o 2, por lo que sus componentes son caminos y ciclos. Pero en
todo camino o ciclo los arcos de M alternan con arcos no de M, por lo que en todo ciclo el nmero
de arcos en M debe ser igual al nmero de arcos no en M (al ser G bipartito, no tiene ciclos de largo
impar). Como [M

[ >[M[, hay ms arcos de M

que arcos de M en F. Por lo tanto, hay al menos un


componente de F que es un camino con ms arcos en M

que en M, y este es un camino alternante


para M.
Esto sugiere la siguiente estrategia para hallar un matching mximo:
1. Comience con un matching M cualquiera (un arco por s solo sirve).
2. Busque un camino alternante para M.
3. Si encontr un camino alternante, construya un matching M
t
mejor intercambiando arcos
que pertenecen al matching con los que no de la forma usual, y vuelva al paso (2) con M
t
en
vez de M.
4. Si no hay camino alternante, M es mximo.
Para hallar un camino alternante, podemos usar bsqueda a lo ancho. Comenzando con un vrtice
sin match x
0
construimos un rbol de caminos alternantes parciales desde x
0
como sigue:
1. En el nivel 1 inserte los vrtices y
1
, y
2
, . . . , y
k
adyacentes a x
0
. Si alguno de estos vrtices no
tiene match, digamos y
i
, detngase. En este caso
_
x
0
, y
i
_
es un camino alternante.
2. Si todos los vrtices en el nivel 1 tienen match, inserte vrtices x
1
, x
2
, . . . , x
k
, los matches de
y
1
, y
2
, . . . , y
k
, en el nivel 2.
3. En el nivel 3, inserte los vrtices adyacentes a los de nivel 2 que no tienen match con ellos. Si
alguno de ellos no tiene match, detngase: El camino desde x
0
hasta l es un camino alternan-
te.
4. Si todos los vrtices de nivel 3 tienen match, inserte sus matches en el nivel 4, . . .
Claramente este proceso puede terminar porque no hay vrtices a insertar en un nivel impar. En tal
caso, no hemos hallado uncamino alternante, y habr que intentar otro punto de partida. Si ninguno
de los vrtices sin match resulta en un camino alternante, el match que tenemos es mximo.
Consideremos el matching en el grafo bipartito de la gura 20.45a. El vrtice x
2
no tiene match;
la gura 20.45b muestra el rbol construido a partir de ese vrtice segn la estrategia descrita, in-
dicando un camino alternante identicado en el proceso; y nalmente la gura 20.46 da el matching
que resulta de intercambiar los arcos pertenecientes al matching inicial con los que no aparecen en
l. Si todos los caminos desde el vrtice elegido son como el camino
_
x
2
y
2
x
4
y
6
x
5
_
, con el mismo
nmero de arcos en M y fuera de l, quiere decir que desde ese vrtice no hay camino alternante.
Un algoritmo mejor es el de Hopcroft-Karp [141], que usa la misma estrategia bsica, pero iden-
tica todas las extensiones posibles en paralelo.
20.12.2. Transversales de familias de conjuntos nitos
Una situacin de inters se da cuando tenemos varios conjuntos que se intersectan, y buscamos
encontrar un representante nico para cada conjunto.
344 CAPTULO20. GRAFOS
x
5
x
4
x
3
x
2
x
1
y
6
y
5
y
4
y
3
y
2
y
1
(a) Matching inicial
x
2
y
1
y
2
y
3
x
3
x
4
x
1
y
5
y
4
y
6
x
5
(b) Bsqueda de un camino alternante
Figura 20.45 Aumentando un matching
x
5
x
4
x
3
x
2
x
1
y
6
y
5
y
4
y
3
y
2
y
1
Figura 20.46 Matching resultante
20.12. GRAFOS BIPARTITOS 345
Ejemplo 20.14. En la Universidad de Miskatonic todo se resuelve en comits de sus acadmicos.
Hay seis profesores que participan en los distintos comits, los profesores Atwood, Dexter, Ellery,
Freeborn, Halsey y Upham. Estn organizados en los siguientes comits:
Acadmico: Atwood, Upham
Investigacin: Atwood, Dexter, Upham
Administracin: Dexter, Upham
Estacionamientos: Ellery, Freeborn, Halsey
Se decide que cada comit enve un representante al nuevo Comit de Comits de la Universidad, y
cada uno puede representar slo a un comit. Es posible crear este comit?
Dados los miembros de los distintos comits, esto se puede lograr de diferentes formas. Por
ejemplo, podemos elegir a Atwood, Dexter, Ellery y Freeborn. Si embargo, si el comit de estaciona-
mientos estuviera formado slo por Dexter y Ellery, no se puede formar el Comit de Comits.
La forma general de este problema se expresa ms claramente usando la nocin de familia de
conjuntos. Tenemos la familia F {S
i
: i I} de conjuntos (usamos I como el conjunto de los
ndices, bsicamente los nombres de los conjuntos), no necesariamente diferentes, y buscamos
un representante s
i
para cada i I, tales que cada s
i
S
i
y son todos diferentes. Tal conjunto de
representantes distintos se llama transversal de F. Nuestro problema es entonces hallar condiciones
que aseguren que la familia F tenga un transversal. Esto tiene perfecto sentido incluso cuando I
es innito, pero ac nos restringimos a familias nitas. En nuestro ejemplo, el conjunto ndice I no
es ms que los nombres de los comits, y S
i
son los integrantes del comit i .
En realidad, esto no es ms que una forma disfrazada del problema de hallar un matching. Para
ver esto, construimos un grafo bipartito cuyas partes corresponden a los conjuntos y a los elementos,
y hay arcos que unen a los elementos con los conjuntos a los que pertenecen. La gura 20.47 muestra
la situacin de los comits de la Universidad de Miskatonic.
Atwood Dexter Ellery Freeborn Halsey Upham
Acadmico Administracin Investigacin Estacionamiento
Figura 20.47 Comits de la Universidad de Miskatonic
Formalmente, denimos G (X Y, E) mediante:
X I (los nombres de los conjuntos)
Y
_
i I
S
i
(todos los elementos de los conjuntos)
y el arco i y est en E si y S
i
. Entonces un transversal de F no es ms que un matching completo
de G. En estos trminos la condicin de Hall es fcil de expresar. Un subconjunto H de I es una
subfamilia de F, y N(H) es simplemente los miembros de todos esos conjuntos:
N(H)

i H
S
i
Usando esta interpretacin, el teorema de Hall [126] es:
346 CAPTULO20. GRAFOS
Teorema 20.21 (Hall, versin original). La familia nita de conjuntos:
F {S
i
: i I}
tiene un transversal si y slo si:

i H
S
i

para todo H I
Una forma simple de expresar esto es decir que cualquier unin de k de los conjuntos debe tener
al menos k miembros en total.
En realidad este es el teorema de Hall original, que tambin se conoce como Halls Marriage
Theorem, por la interpretacin siguiente: I es un conjunto de mujeres, mientras S
i
corresponde
al conjunto de hombres con los cuales i I estara dispuesta a casarse. Entonces hay forma de
conseguirle pareja a todas las mujeres si y slo si para cada conjunto de mujeres el conjunto de
hombres con los que estaran dispuestas a casarse en total no es menor a ese conjunto de mujeres.
20.13. Grafos rotulados
En muchas aplicaciones los arcos tienen asociados pesos (costos), denimos entonces un grafo
rotulado como un grafo G (V, E) y una funcin p : E C, con C algn conjunto (tpicamente C es
R) que asocia el rtulo (peso) p(e) al arco e.
Una situacin similar se da con rtulos en los vrtices (una funcin r : V C). Esto va ms all
de la identidad del vrtice, pueden haber varios vrtices con el mismo rtulo. Hay aplicaciones en
las cuales estn rotulados los arcos, los vrtices, o ambos.
20.13.1. rboles rotulados
El resultado siguiente [53]. fue uno de los mximos triunfos de la combinatoria del siglo XIX.
Teorema 20.22 (Cayley). Hay n
n2
rboles con n vrtices rotulados.
Demostracin. Sea T la clase de rboles con raz y vrtices rotulados. Uno de ellos es un vrtice raz
conectado a una coleccin de rboles rotulados. Por los rtulos, esto lleva a la ecuacin simblica:
T Z MSET(T )
Para la funcin generatriz exponencial correspondiente

T(z) el teorema 18.5 da:

T(z) ze

T(z)
La frmula de inversin de Lagrange, teorema 14.8, da directamente:
t
n
n!

1
n
[u
n1
]e
nu

1
n

n
n1
(n 1)!
t
n
n
n1
Para cada rbol rotulado de n nodos hay n maneras de elegir la raz, con lo que hay n
n2
rboles
rotulados de n nodos.
Ac lo derivamos de forma muy simple, las demostraciones tradicionales son complejas. Esta
derivacin es una clara demostracin del poder del mtodo simblico (captulo 18) en conjunto con
herramientas analticas como el teorema de inversin de Lagrange (teorema 14.8).
20.13. GRAFOS ROTULADOS 347
20.13.2. Costo mnimo para viajar entre vrtices
En muchos casos interesa saber el costo (suma de los pesos de los arcos) para llegar a cada uno
de los vrtices de G partiendo desde el vrtice v. Hay varios algoritmos para resolver este importante
problema.
20.13.2.1. Algoritmo de Dijkstra
Una solucin, debida a Dijkstra [76], es aplicar una variante de bsqueda a lo ancho. Supon-
gamos que tenemos establecido que el camino ms corto de v a x tiene largo l [x]. Supongamos
que tenemos un vecino y, para el que tenemos la estimacin l [y]. La ruta ms corta que tenemos
de v a y pasando por x tiene costo l [x] +w(xy), y si nuestra estimacin previa l [y] >l [x] +w(xy),
debiramos actualizar l [y].
Informalmente, el algoritmo es el siguiente: Inicialmente sabemos que l [v] 0. Podemos partir
con l [p] para todos los dems vrtices p, e ir actualizando los l [p] en bsqueda a lo ancho
partiendo de v con nuestra mejor estimacin hasta el momento del largo del camino de v a cada
vrtice. Una manera de entenderlo es considerar el grafo como una coleccin de hilos de los largos
de los arcos y los vrtices nudos entre ellos, y ponemos esto sobre la mesa. Tomamos el nudo que
representa el vrtice inicial, y lo levantamos hasta que un primer nudo se separa de la mesa. Este
nudo es el que est ms cerca del inicial, y registramos su distancia desde este. Continuamos de
la misma forma, cada vez que un nudo se despega de la mesa es que hemos llegado a su distancia
mnima del nudo inicial. En trminos de trabajar con el grafo, signica mantener una coleccin de
vrtices a los cuales ya conocemos la distancia mnima (inicialmente slo el vrtice inicial), y luego
ir agregando aquel vrtice no incluido an en la coleccin que queda ms cerca de alguno cuya
distancia mnima ya es denitiva.
Una versin ms formal es el algoritmo 20.6. Lo que hacemos ac es ir calculando distancias
tentativas, y las dejamos denitivas una vez que est claro que no cambiarn ms. El tiempo de
Algoritmo 20.6: Costos mnimos desde el vrtice v (Dijkstra)
procedure Dijkstra(G, v)
variables Q: Conjunto de vrtices
Q V
Marque todos los vrtices x Q con l [x]
l [v] 0
while Q no vaco do
Elija x Q con l [x] mnimo
if l [x] then Los restantes no son alcanzables
break
end
Q Q{x}
foreach y vecino de x en Q do
l [y] mn(l [y], l [x] +w(xy))
end
end
ejecucin de este algoritmo depende de la estructura de datos usada para representar el conjunto Q,
siendo:
O([E[ disminuir clave en Q +[V [ extraer mnimo de Q)
348 CAPTULO20. GRAFOS
Si lo implementamos simplemente como una lista con bsqueda secuencial, esto es:
O([V [
2
+[E[) O([V [
2
)
Usando una estructura de datos ms sosticada (como un heap) para representar Q esto se reduce
a:
O([E[ +[V [ log[V [)
20.13.2.2. Algoritmo de Bellman-Ford
Otro algoritmo que resuelve el mismo problema, pero que tiene la ventaja de poder manejar
arcos con costo negativo (claro que no ciclos de costo negativo, en cuyo caso la distancia mnima no
est bien denida), es el de Bellman-Ford [25] (algoritmo 20.7). Que este algoritmo es correcto se
Algoritmo 20.7: Costos mnimos desde el vrtice v (Bellman-Ford)
procedure BellmanFord(G, v)
variables Q: Conjunto de vrtices
Q V {v}
l [v] 0
Marque todos los vrtices x Q con l [x]
for i 1 to [V [ 1 do
foreach xy E do
l [y] mn{l [y], l [x] +w(xy)}
end
end
if hay un arco xy con l [x] +w(xy) <l [y] then
/* Hay un ciclo de costo negativo */
end
demuestra por induccin sobre las ejecuciones del ciclo for externo.
Teorema 20.23. Despus de k repeticiones del ciclo, si para un vrtice u tenemos l [u] <entonces es
el largo de algn camino desde v a u. Si hay un camino de v a u de a lo ms k arcos, entonces l [u] es a
lo ms el largo del camino ms corto con a lo ms k arcos de v a u.
Demostracin. Por induccin sobre el nmero de iteraciones.
Base: Cuando k 0, antes de ejecutar el ciclo por primera vez. En esta situacin l [v] 0 y para los
dems l [u] , que corresponde a la situacin descrita.
Induccin: Primero lo primero. Al ajustar l [y] mn{l [y], l [x] +w(xy)}, por induccin tenemos
que l [x] es el largo de algn camino de v a x, y l [x] +w(xy) es entonces el largo del camino
que va de v a x y luego pasa por el arco xy para llegar a y. Tambin l [y] es el largo de algn
camino de v a y, y al ajustar estamos depositando en l [y] el largo de algn camino de v a y.
Para lo segundo, consideremos el camino ms corto de v a y con a lo ms k arcos. Sea z el
ltimo vrtice antes de y en este camino. Por induccin, despus de k 1 iteraciones tenemos
que l [z] es a lo ms el largo de un camino con a lo ms k 1 arcos desde v a z, y l [y] el largo de
20.13. GRAFOS ROTULADOS 349
un camino de a lo ms k1 arcos desde v a y. Agregando el arco zy al camino de v a z tenemos
un camino de k arcos, si resulta ms corto que el que tiene a lo ms k 1 arcos actualizamos
l [y]. El resultado nal, luego de considerar todos los arcos que llegan a y, es que tenemos el
largo del camino ms corto con a lo ms k arcos.
Para completar la demostracin de que el algoritmo 20.7 es correcto, basta observar que luego
de [V [ 1 iteraciones hemos calculado los costos mnimos de los caminos de largo a lo ms [V [ 1,
que es el largo mximo posible de un camino en el grafo. Si an pueden hacerse mejoras, es porque
hay un ciclo de largo negativo.
El tiempo de ejecucin de este algoritmo es O([V [ [E[)). Esto es mayor que la complejidad del
algoritmo de Dijkstra, pero como ya indicamos este algoritmo tiene la virtud de manejar arcos de
largo negativo. Por lo dems, si en algn ciclo del for externo no hay cambios, ya no los habr ms y
podemos terminar el algoritmo (bsicamente hemos llegado al nal del camino ms largo), por lo
que esta complejidad es pesimista. Hay una mejora debida a Yen [294] que efectivamente disminuye
a la mitad el nmero de pasadas requeridas.
Una variante de este algoritmo se usa en redes de computadores (por ejemplo, es parte del
protocolo RIP [200]) para encontrar rutas ptimas, ya que los cmputos pueden distribuirse a los
nodos: Cada cual recoge informacin de rutas y distancias ptimas estimadas desde sus vecinos,
actualiza sus propias estimaciones de las mejores rutas y sus costos, y distribuye los resultados de
vuelta a sus vecinos.
20.13.2.3. Algoritmo de Floyd-Warshall
A diferencia de los anteriores, este algoritmo calcula los costos de los caminos mnimos entre
todos los pares de vrtices del grafo. Tomamos como los vrtices del grafo los nmeros {1, 2, . . . , [V [},
y actualizamos un arreglo l [i , j ] de forma que despus de la iteracin k el valor del elemento l [i , j ]
es el costo del camino ms corto entre los vrtices i y j que visita nicamente los vrtices {1, 2, . . . , k}
entremedio. Llamemos l
(k)
[i , j ] a este valor. Claramente l
(0)
[i , j ] w(i j ), el costo de ir directamente
de i a j , ya que no podemos pasar por ningn vrtice intermedio. Para calcular el valor de l
(k+1)
[i , j ],
consideramos que el camino ms corto que pasa a lo ms por k +1 tiene dos posibilidades: Nunca
pasa por k +1, slo llega hasta k, el costo es l
(k)
[i , j ] en tal caso; o pasa por k +1, lo que signica que
de i va a k +1 y luego de k +1 va a j , en ambos casos pasando a lo ms por {1, 2, . . . , k}, con costo
l
(k)
[i , k +1] +l
(k)
[k +1, j ]. Calculamos:
l
(k+1)
[i , j ] mn{l
(k)
[i , j ], l
(k)
[i , k +1] +l
(k)
[k +1, j ]}
Una vez alcanzado k [V [, ya no hay restricciones sobre los vrtices visitados en el camino y he-
mos calculado los costos mnimos. Pueden resultar caminos de largo negativo, lo que reeja la
existencia de ciclos de largo negativo. No afecta al funcionamiento del algoritmo. Esto resulta en el
algoritmo 20.8, donde anotamos simplemente l [i , j ] para l
(k)
[i , j ]. No seguimos rigurosamente la
descripcin anterior, a veces usamos valores ya actualizados (en el fondo, de la iteracin siguiente)
de l
(k)
[i , j ]. Esto no afecta la correctitud, pero ahorra espacio (no requiere guardar dos juegos de va-
lores de l
(k)
[i , j ]) y hace que el algoritmo sea algo ms rpido al adelantar algunos pasos. Lo notable
de este algoritmo es que en un grafo con n vrtices es que efecta slo n
3
comparaciones, cuando
pueden haber hasta n 1 arcos en cada camino, y debemos considerar n(n 1)/2 pares de vrtices
como inicio y n.
20.13.3. rbol recubridor mnimo
En muchas aplicaciones interesa encontrar el grafo de costo mnimo (el costo es simplemente
la suma de los pesos de los arcos en el subgrafo) que conecta a un conjunto dado de vrtices. Cla-
350 CAPTULO20. GRAFOS
Algoritmo 20.8: Costos mnimos entre todos los vrtices (Floyd-Warshall)
procedure FloydWarshall(G (V, E))
for i 1 to [V [ do
for j 1 to [V [ do
l [i , j ] w(i j )
end
end
for k 1 to [V [ do
for i 1 to [V [ do
for j 1 to [V [ do
l [i , j ] mn{l [i , j ], l [i , k] +l [k, j ]}
end
end
end
5
7
9
3
2
4
6
8
1
v
c
b
a
d
e
Figura 20.48 Ejemplo de grafo para rbol recubridor mnimo
ramente tal grafo ser un rbol recubridor, el rbol recubridor mnimo (Minimal Spanning Tree en
ingls, abreviado MST). Veremos varios algoritmos para construirlo.
20.13.3.1. Algoritmo de Prim
Una estrategia, debida a Prim [238] es agregar a un rbol parcial aquel arco que conecta a un
vrtice al rbol de forma que el costo sea mnimo. Comenzamos con un vrtice cualquiera como
rbol inicial. Esto se conoce como el algoritmo de Prim.
Un poco ms formalmente, eso s abusando de la notacin dando el nombre del grafo como su
conjunto de vrtices o arcos segn corresponda: Inicialmente T es slo un vrtice cualquiera del
grafo. Sea T el rbol actual, elegimos el vrtice v V T tal que el costo de llegar a l desde un
vrtice x T es mnimo. Agregamos el arco vx a T. Esto se repite hasta que no queden vrtices sin
cubrir.
Aplicando el algoritmo al grafo de la gura 20.48, paso a paso se obtienen los rboles de la
gura 20.49.
Teorema 20.24. El algoritmo de Prim obtiene un rbol recubridor mnimo.
Demostracin. Por contradiccin. Sea w(G) el costo total de los arcos en el grafo G. Sea T el rbol
recubridor construido por el algoritmo, con e
1
, e
2
, . . . , e
n
los arcos en el orden en que los elige el
algoritmo. Entonces:
w(T) w(e
1
) +w(e
2
) + +w(e
n
)
20.13. GRAFOS ROTULADOS 351
5
7
9
3
2
4
6
8
1
v
c
b
a
d
e
(a) Paso 1
5
7
9
3
2
4
6
8
1
v
c
b
a
d
e
(b) Paso 2
5
7
9
3
2
4
6
8
1
v
c
b
a
d
e
(c) Paso 3
5
7
9
3
2
4
6
8
1
v
c
b
a
d
e
(d) Paso 4
5
7
9
3
2
4
6
8
1
v
c
b
a
d
e
(e) Paso 5
Figura 20.49 El algoritmo de Prim aplicado al grafo de la gura 20.48
Sea U un rbol recubridor mnimo de G, y supongamos que el rbol recubridor T que construye el
algoritmo no es mnimo, vale decir w(U) <w(T).
Sea e
k
el primer arco enT (enel ordenenque los elige el algoritmo) que no est enU. Eliminando
e
k
de T, por el teorema 20.9 (propiedad T5) obtenemos dos componentes que son rboles. Habr
algn arco e

U que conecta estos dos componentes. Si w(e

) <w(e
k
) el algoritmo habra elegido
e

en vez de e
k
, as que w(e

) w(e
k
).
Aplicando la misma idea al grafo obtenido al eliminar los arcos e
1
a e
k1
(y los vrtices que
contienen) del grafo vemos que nuestro algoritmo siempre habra elegido un arco de costo no mayor
que el incluido enU, con lo que w(T) w(U) y T es un rbol recubridor mnimo.
En este caso, la estrategia voraz de elegir el mejor ahora sin considerar consecuencias futuras
tiene xito.
La complejidad del algoritmo depende de cmo se almacena el grafo y los respectivos costos por
arco. Con la representacin obvia de matriz de adyacencia en la que a[i , j ] es el costo del arco i j
352 CAPTULO20. GRAFOS
5
7
9
3
2
4
6
8
1
v
c
b
a
d
e
(a) Paso 1
5
7
9
3
2
4
6
8
1
v
c
b
a
d
e
(b) Paso 2
5
7
9
3
2
4
6
8
1
v
c
b
a
d
e
(c) Paso 3
5
7
9
3
2
4
6
8
1
v
c
b
a
d
e
(d) Paso 4
5
7
9
3
2
4
6
8
1
v
c
b
a
d
e
(e) Paso 5
Figura 20.50 El algoritmo de Kruskal aplicado al grafo de la gura 20.48
y se busca en la matriz es O([V [
2
), almacenando el grafo en una lista de adyacencia y usando una
estructura eciente para ubicar el mnimo en cada paso esto se reduce a O([E[ +[V [ log[V [).
20.13.3.2. Algoritmo de Kruskal
Otra idea, debida a Kruskal [182], es ordenar los arcos en orden de costo creciente, y agregar
sucesivamente el siguiente arco que no forma un ciclo. Este es el algoritmo de Kruskal. Un ejemplo
paso a paso para el grafo de la gura 20.48 se muestra en la gura 20.50.
Aplicando el algoritmo, vamos creando un bosque (en ingls se llama forest, vale decir bos-
que, coleccin de rboles). Inicialmente el bosque es cada vrtice por s solo, luego en cada paso
conectamos dos rboles. Se van agregando arcos con el menor costo posible que no generen un ciclo.
Como el grafo resultante es conexo y no tiene ciclos, es un rbol recubridor del grafo. En adicin,
resulta un rbol recubridor mnimo, por un razonamiento similar al dado para el algoritmo de Prim.
Nuevamente la estrategia voraz de tomar el mejor localmente tiene xito.
20.13. GRAFOS ROTULADOS 353
Para construir un programa eciente para el algoritmo de Kruskal bastan estructuras simples.
Sabemos de la seccin 16.6 que podemos ordenar los [E[ arcos por orden de costo con O([E[ log[E[)
comparaciones. Luego consideramos cada arco por turno, y vemos si sus extremos estn en rboles
distintos del bosque que estamos construyendo.
Requerimos seguir la pista a los rboles, fundamentalmente mantener conjuntos de vrtices en
cada uno de ellos, determinar rpidamente en qu conjunto est cada vrtice, y unir dos conjuntos.
Una forma sencilla (y sucientemente eciente para los propsitos presentes) es representar cada
conjunto mediante una lista, en la cual cada elemento mantiene un puntero al primer elemento de
la lista. Para ver en qu lista est un vrtice dado basta hacer referencia al primer elemento de su lista,
lo que toma tiempo constante. Esta operacin se efecta 2[E[ veces, para un total de O([E[). Crear las
[V [ listas que representan los vrtices individuales toma O([V [) Para unir dos conjuntos se agregan
los elementos de la lista ms corta a la ms larga, ajustando los punteros correspondientes. El costo
total enque incurre el algoritmo uniendo conjuntos hasta tener uno solo podemos calcularlo a travs
de contar cuntas veces en el peor caso el puntero al primer elemento de la lista debe ajustarse para
un vrtice v cualquiera. Esto ocurrir slo si v pertenece a la lista menor en una unin, y cada vez
que esto ocurra la lista a la que pertenece v al menos se duplica, con lo que esto podr ocurrir a lo
ms log
2
[V [ veces. Como hay un total de [V [ vrtices, el costo total de las uniones ser O([V [ log[V [).
El costo total del algoritmo es entonces, dado que [E[ O([V [
2
):
O([E[ log[E[) +O([E[) +O([V [ log[V [) O([E[ log[V [)
20.13.3.3. rboles recubridores en redes de computadores
Las redes de rea local actualmente en uso [266, 279] son redes de difusin, vale decir, lo que una
de las estaciones conectadas transmite lo pueden recibir todas las dems conectadas al mismo me-
dio fsico. Suele ser de inters conectar entre s redes de rea local, lo que se hace a travs de equipos
denominados bridges, que se encargan de retransmitir slo el trco de inters en la otra rama. Por
razones de conabilidad interesa tener conexiones redundantes, vale decir, varios caminos entre
redes. Pero esto introduce la posibilidad de crear ciclos, y por tanto trco que se retransmite inde-
nidamente. Un ejemplo se muestra en la gura 20.51. Esta situacin puede modelarse mediante
Figura 20.51 Esquema de redes interconectadas por bridges
354 CAPTULO20. GRAFOS
un grafo, en el cual las redes son vrtices y las conexiones entre redes son arcos. Para la red de la
gura 20.51 resulta el grafo de la gura 20.52. En estos trminos, lo que se busca es hallar un rbol
D
A
C
E
B
Figura 20.52 La red de la gura 20.51 como grafo
recubridor del grafo (inhabilitando bridges que no participan en l). Para cumplir con redundancia
y tolerancia a fallas (y evitar el siempre presente error humano) interesa que en caso de falla la red
se recongure automticamente. Los bridges originalmente contemplados (que conectan entre s a
dos redes) han sido desplazados por switches, que cumplen la misma funcin pero pueden conectar
varias redes entre s.
Para la tarea descrita se han estandarizado algoritmos (conocidos como STP, por Spanning Tree
Protocol y RSTP, por Rapid Spanning Tree Protocol, denidos en [144]) mediante los cuales los equi-
pos cooperan para congurar un rbol recubridor automticamente. La manera de hacer esto [225]
en resumen es que intercambian sus prioridades (jadas por el administrador de la red) junto con
sus identicadores (jados de fbrica, nicos en el mundo). Aquel que tenga el mnimo par priori-
dad e identicador se elige de raz, y todos los dems calculan sus distancias hacia la raz a travs
de cada una de sus interfases. Se habilitan nicamente las interfases que dan el camino ms corto
hacia la raz. Este proceso se repite peridicamente, de forma de reaccionar frente a fallas y recon-
guraciones.
21 Digrafos, redes, ujos
En muchas situaciones las conexiones no son bidireccionales. Por ejemplo, estn las calles de
una sola va. O la conexin es en una direccin especca, como que una funcin llama a la otra.
Estas situaciones se modelan por grafos dirigidos. Generalmente se tratan slo en un captulo de
textos que se concentran en grafos, pero se puede argir que la importancia prctica de los grafos
dirigidos (digrafos, para abreviar) es similar a la de los grafos. Un texto reciente, que cubre desde
temas elementales hasta reas de investigacin activa, es el de Bang-Jensen y Gutin [20].
Denicin21.1. Undigrafo (o grafo dirigido) consta de unconjunto nitoV de vrtices, y unsubcon-
junto A de V V , cuyos miembros se llaman arcos. Anotaremos D (V, A) para el digrafo denido
de esta forma.
Los digrafos se pueden representar grcamente de forma similar a los grafos, slo que en este
caso un arco es un par ordenado (x, y), mientras en el grafo es un par no ordenado {x, y}. Si (x, y)
es un arco, lo indicamos mediante una echa de x a y, si hay un arco (x, x) lo indicamos mediante
un ciclo, si hay arcos (x, y) e (y, x) los indicamos por dos echas. Para simplicar notacin, similar
al caso de grafos usaremos uv para indicar el arco (u, v). La gura 21.1 muestra ejemplos. Nues-
Figura 21.1 Ejemplos de digrafos
tras representaciones de grafos para uso computacional se aplican con cambios obvios a este caso.
Igualmente, podemos aplicar los algoritmos de recorrido ac.
Un digrafo es simplemente otra manera de representar una relacin R entre elementos del mis-
mo conjunto (un grafo bipartito, por otro lado, representa una relacin entre elementos de conjuntos
disjuntos). Las propiedades de las relaciones pueden fcilmente traducirse en propiedades del di-
grafo. Por ejemplo, si la relacin es simtrica los arcos aparecen en pares (salvo los bucles), xy es un
arco exactamente cuando lo es yx.
Las deniciones de camino, camino simple, circuito y ciclo en un grafo dirigido son anlogas a
las para grafos. Un camino dirigido en D (V, A) es una secuencia de vrtices v
1
, v
2
, . . . , v
k
tal que
355
356 CAPTULO21. DIGRAFOS, REDES, FLUJOS
v
i
v
i +1
A para 1 i k 1, un camino dirigido simple es un camino dirigido en que todos los
vrtices son diferentes, un circuito dirigido es un camino cuyo inicio y n coinciden, mientras un
ciclo dirigido es un camino dirigido en que todos los vrtices son distintos, slo que el inicial y el nal
coinciden. Un caso particularmente importante lo ponen los grafos dirigidos acclicos (abreviados
comnmente DAG, por la frase en ingls Directed Acyclic Graph), de alguna forma anlogos a los
rboles.
21.1. Orden topolgico
Dado un digrafo G (V, E), un orden topolgico (en ingls, topological sort) de los vrtices de
G es un ordenamiento de V tal que para cada arco uv E el vrtice u aparece antes que v. Esto
claramente slo puede existir si el digrafo es acclico.
La aplicacin tpica es denir un orden para efectuar un conjunto de tareas que dependen entre
s. Otras aplicaciones aparecen en compiladores, al reordenar instrucciones; al denir el orden en
que se calculan las celdas en planillas de clculo; y lo usa make(1) para organizar el orden de las
tareas. Para esta tarea comn, Unix ofrece el comando tsort(1).
Algoritmos para hallar un orden topolgico se basan en que en un digrafo acclico habrn vr-
tices que no tienen arcos de entrada (respectivamente de salida). Kahn [153] public el algoritmo
clsico 21.1. Se basa en la observacin que en un digrafo acclico deben haber vrtices sin arcos
entrantes, y que cualquiera de ellos puede tomar el primer lugar en el orden. El algoritmo 21.2 es de-
Algoritmo 21.1: Ordenamiento topolgico de Kahn
L lista vaca
S conjunto de nodos sin arcos entrantes
while S /do
Extraiga n de S
Agregue n al nal de L
foreach nodo m con arco e (n, m) do
Elimine e del grafo
if m no tiene ms arcos entrantes then
Inserte m en S
end
end
end
if quedan arcos en el grafo then
return error /* El digrafo tiene ciclos */
else
return L
end
bido a Tarjan [280]. Es una aplicacin de bsqueda en profundidad (ver la seccin 20.9.1). Notar que
procesa los vrtices desde el nal hacia el comienzo (orden inverso al algoritmo de Kahn). Cuidado,
como escrito el algoritmo falla si el digrafo tiene ciclos.
21.2. Redes y rutas crticas
Es comn que se asocien costos o distancias a los arcos. Con esta idea en mente, llamaremos
red a un digrafo D (V, A) junto con una funcin w: A R, que representa costos de algn tipo o
21.2. REDES Y RUTAS CRTICAS 357
Algoritmo 21.2: Ordenamiento topolgico de Tarjan
L lista vaca
S conjunto de todos los nodos sin arcos salientes
procedure visit(n)
begin
if n no ha sido visitado then
Marque n como visitado
foreach nodo m con (m, n) E do
visit(m)
end
Agregar n al nal de L
end
end
foreach nodo n en S do
visit(n)
end
return L
capacidades, segn la aplicacin.
Una aplicacin tpica de redes son las redes de actividades. Suponiendo un gran proyecto, este
se subdivide en actividades menores. Las actividades a su vez estn relacionadas, en el sentido que
algunas no pueden iniciarse antes que terminen otras. Al planicar un proyecto de este tipo se
suele usar una red de actividades, con arcos representando actividades y los vrtices representando
eventos, donde un evento es el n de una actividad. Es claro que tal digrafo es acclico, ninguna
actividad puede depender directa o indirectamente de s misma. El peso de un arco es la duracin de
la actividad, y se busca organizar las actividades de forma de minimizar el tiempo total del proyecto.
Tcnicas basadas en esta idea son CPM (Critical Path Method) [159] y PERT (Project Management
and Evaluation Technique) [199].
Consideremos un ejemplo concreto. El cuadro 21.1 da las duraciones de las actividades (en
meses), y las dependencias entre ellas (qu actividades deben estar completas antes de comenzar la
actividad indicada).
Act Descripcin Requisitos Dur
A Diseo del producto 5
B Anlisis de mercado 1
C Anlisis de produccin A 2
D Prototipo del producto A 3
E Diseo de folleto A 2
F Anlisis de costos C 3
G Pruebas del producto D 4
H Entrenamiento ventas B, E 2
I Denicin de precios H 1
J Reporte del proyecto F, G, I 1
Cuadro 21.1 Actividades y dependencias
El primer paso es construir la red de actividades, ver gura 21.2. Los arcos representan acti-
358 CAPTULO21. DIGRAFOS, REDES, FLUJOS
A
B
E
C
D
H
F
G
I
J
1
2
3
4
5
6
7
8
Actividad: A B C D E F G H I J
Arco: (1, 2) (1, 3) (2, 4) (2, 5) (2, 3) (4, 7) (5, 7) (3, 6) (6, 7) (7, 8)
Duracin: 5 1 2 3 2 3 4 2 1 1
Figura 21.2 Una red de actividades
vidades, y los vrtices sus inicios y nales. Es claro que resulta un digrafo sin ciclos. Para cada
evento calcularemos E(v), el instante ms temprano en que ese evento puede tener lugar. Esto
corresponde al momento ms temprano en que todas las actividades previas a v han terminado.
Iniciamos el proceso con E(1) 0. Luego est claro que E(2) 5, ya que la nica actividad involu-
crada es A (1, 2). Ahora, como el evento 3 involucra a B (1, 3), pero tambin A (1, 2) y E (2, 3),
E(3) m ax{E(1) +1, E(2) +2} m ax{0+1, 5+2} 7. Continuando de esta forma, obtenemos los ins-
tantes de trmino dados en el cuadro 21.2, con lo que el plazo mnimo para completar el proyecto
v: 1 2 3 4 5 6 7 8
E(v): 0 5 7 7 8 9 12 13
Cuadro 21.2 Trminos ms tempranos por actividad para la red de la gura 21.2
es de 13 meses.
Esto es bsicamente usar el algoritmo de Dijkstra (ver seccin 20.13.2.1), slo que estamos calcu-
lando el camino ms largo a travs de la red. ste est perfectamente denido en este caso, ya que
no hay ciclos. Basta un barrido a lo ancho, al no haber ciclos se obtiene el valor nal directamente.
En cada vrtice visitado calculamos E(v) partiendo del evento inicial s (el comienzo del proyecto)
mediante la regla:
E(s) 0 E(v) m ax
x
{E(x) +w(x, v)}
donde el mximo es sobre los vrtices x predecesores de v.
Esto es parte de la tcnica que se conoce como anlisis de camino crtico. El resto de la tcnica
contina como sigue: Calculamos L(v), el ltimo instante en que puede ocurrir el evento v sin
retrasar el proyecto completo de forma similar a como se calcularon los E(v), pero comenzando del
evento nal t y trabajando en reversa:
L(t ) E(t ) L(v) mn
x
{L(x) w(v, x)}
donde el mnimo es sobre los vrtices x sucesores de v. Aplicando esto al ejemplo de la gura 21.2
da el cuadro 21.3.
21.3. REDES Y FLUJOS 359
v: 1 2 3 4 5 6 7 8
L(v): 0 5 9 9 8 11 12 13
Cuadro 21.3 Inicio ms tardo por actividad para la red 21.2
Podemos adems calcular la holgura de cada actividad uv, que representa el mximo retraso
que puede sufrir el comienzo de la actividad sin retrasar el n del proyecto:
F(u, v) L(v) E(u) w(u, v)
Las actividades sinholgura se dice que soncrticas, cualquier retraso enstas se traduce enunretraso
del proyecto completo. Toda red de actividades tiene al menos un camino dirigido entre principio y
n formado nicamente por actividades crticas, tal camino se llama ruta crtica. Combinando los
valores en los cuadros 21.2 y 21.3 obtenemos las holguras dadas en el cuadro 21.4. Son actividades
Actividad: A B C D E F G H I J
Arco: (1, 2) (1, 3) (2, 4) (2, 5) (2, 3) (4, 7) (5, 7) (3, 6) (6, 7) (7, 8)
Holgura: 0 8 2 0 2 2 0 2 2 0
Cuadro 21.4 Holguras para las actividades de la gura 21.2
crticas las que no tienen holgura, en nuestro caso A, D, G y J; y se ve en la gura 21.2 que forman
un camino a travs del grafo.
El procedimiento es fundamentalmente un par de recorridos a lo ancho del digrafo. Como se
discuti para este algoritmo en el caso de grafos en la seccin 20.9.3, la complejidad es O([V [ +[E[).
21.3. Redes y ujos
En lo que sigue interpretaremos los arcos como tuberas por las que puede uir alguna mer-
cadera. Los pesos numricos representan la capacidad del arco. Adems, habr un vrtice s con la
propiedad que todos los arcos que contienen a s se alejan de l, y otro vrtice t con la propiedad de
que todos los arcos que lo contienen se dirigen a l. Al primero se le llama fuente (en ingls source),
al segundo sumidero (en ingls sink). En resumen, trataremos con redes que incluyen:
(I) Un digrafo D (V, A).
(II) Una funcin de capacidad c : A R.
(III) Una fuente s y un sumidero t .
Supongamos que algn material uye por la red, y sea f (x, y) el ujo a lo largo del arco xy, de x
a y. Insistiremos para todos los vrtices, salvo para la fuente y el sumidero, en que el ujo que arriba
al vrtice v debe ser el ujo que sale (no hay acumulacin de material en los vrtices).
Denicin 21.2. Un ujo en una red es una funcin que asigna un nmero f (x, y) a cada arco xy,
sujeto a las condiciones:
Viabilidad: El ujo en cada enlace es a lo ms su capacidad, f (x, y) c(x, y) para todo arco xy A.
Simetra torcida: En ingls skew symmetry, una convencin de notacin: f (y, x) f (x, y) para
todo arco xy A.
360 CAPTULO21. DIGRAFOS, REDES, FLUJOS
Conservacin: Para todo vrtice y V que no sea la fuente ni el sumidero de la red requerimos que
el ujo neto que entra en l sea cero:

xV
f (x, y) 0
El valor del ujo es:
val( f )

xV
f (s, x)
Exploremos un poco las propiedades de la denicin. La viabilidad indica nicamente que el
ujo no puede exceder la capacidad del enlace. Simetra torcida es simplemente una conveniencia
notacional (bsicamente, si vamos contra la corriente contabilizamos el ujo como negativo).
La conservacin indica que el ujo neto que entra a un vrtice es nulo, y por simetra el que sale
tambin:

yV
f (x, y)

yV
f (y, x)

yV
f (y, x) 0
Si no hay arco xy, no puede haber ujo entre ellos, y f (x, y) f (y, x) 0. Como no se permite
acumulacin en los vrtices intermedios, est claro que el ujo que sale de s debiera ser el ujo que
entra en t :
val( f )

xV
f (x, t )
Esto lo demostraremos formalmente ms adelante.
Un problema obvio es obtener el valor mximo del ujo en una red. Este problema nos ocupar
de ahora en adelante.
Para conveniencia, denimos los ujos de entrada y salida de un vrtice:
inow(v)

uV
f (u,v)>0
f (u, v)
outow(v)

uV
f (v,u)>0
f (v, u)
Algunos autores anotan v

para lo que llamamos inow(v), y similarmente v


+
para outow(v).
En estos trminos, conservacin se expresa simplemente como el ujo que entra a un vrtice es
igual al que sale si el vrtice no es la fuente ni el sumidero:
inow(v) outow(v)
Un ejemplo de red de ujos se ve en la gura 21.3 (se indican las capacidades en los arcos),
donde se da tambin un ujo. Para vericar que es un ujo, debe cumplir las condiciones. No hemos
dado ujos considerados contracorriente, estamos suponiendo implcitamente que por ejemplo
f (d, b) f (b, d) 2. Las condiciones de capacidad se cumplen, ya que por ejemplo f (c, d) 1
mientras c(c, d) 7. Tambin debemos vericar conservacin, por ejemplo que para el vrtice d la
suma de los ujos se anula:
f (a, d) + f (b, d) + f (c, d) + f (t , d) 1+2+14
0
21.3. REDES Y FLUJOS 361
5
4
3
7
3
2
7
5
4
s
a
b
c
d
t
(x, y): (s, a) (s, b) (s, c) (a, d) (b, d) (c, d) (a, t ) (c, t ) (d, t )
c(x, y): 5 4 3 7 2 7 3 5 4
f (x, y): 3 2 3 1 2 1 2 2 4
Figura 21.3 Una red, sus capacidades y un ujo en la red
El valor de este ujo es la suma de los ujos que salen de la fuente, vale decir:
val( f ) f (s, a) + f (s, b) + f (s, c)
8
Resulta tambin, como esperbamos, que el ujo hacia el sumidero es igual al ujo que sale de la
fuente:
f (a, t ) + f (d, t ) + f (c, t ) 8
No contabilizamos ujos entre s y los dems vrtices (respectivamente entre los otros vrtices y t )
ya que no hay conexiones directas entre ellos.
21.3.1. Trabajando con ujos
Usaremos una convencin de suma implcita, en que si mencionamos un conjunto de vrtices
como argumento a f , estamos considerando la suma de los ujos sobre ese conjunto, y similarmente
para c. Por ejemplo, al anotar f (X, Y ), donde X e Y son conjuntos de vrtices, entenderemos:
f (X, Y )

xX
yY
f (x, y)
En estos trminos, la condicin de conservacin se reduce a f (V, x) 0 para todo x {s, t } (recurde-
se que por convencin s es la fuente y t el sumidero de la red). Adems, omitiremos las llaves al restar
conjuntos de un solo elemento. As, en f (s, V s) f (s, V ) la notacin V s signica el conjunto
V {s}. Esto simplica mucho las ecuaciones que involucran ujos. El lema siguiente recoge varias
de las identidades ms comunes. La demostracin queda como ejercicio.
Lema 21.1. Sea D (V, A) una red, y sea f un ujo en D. Entonces:
362 CAPTULO21. DIGRAFOS, REDES, FLUJOS
1. Para todo X V , se cumple f (X, X) 0.
2. Para todo X, Y V se cumple f (X, Y ) f (Y, X).
3. Para todo X, Y, Z V siempre que X Y . se cumplen:
f (X Y, Z) f (X, Z) + f (Y, Z)
f (Z, X Y ) f (Z, X) + f (Z, Y )
Como un ejemplo de uso de la notacin y del lema 21.1, demostraremos que val( f ) f (V, t ).
Intuitivamente, lo que entra a la red por la fuente debe salir por el sumidero, ya que no se permiten
acumulaciones entremedio. Formalmente:
val( f ) f (V, t )
f (V, V ) f (V, V t )
f (V, V t )
f (V t , V )
f (s, V ) + f (V s t , V )
f (s, V )
En esto usamos el hecho:
f (V s t , V )

xV {s,t }
f (x, V )

xV {s,t }
f (V, x)
0
que sigue de conservacin, ya que cada trmino de la ltima suma se anula.
21.3.2. Mtodo de Ford-Fulkerson
Presentaremos ahora una manera de obtener el ujo de mximo valor en una red. No lo llama-
remos algoritmo, ya que la estrategia general [106] puede implementarse de varias formas, con
caractersticas diferentes. En el proceso introduciremos varias ideas importantes en muchos proble-
mas relacionados con ujos. Supondremos que las capacidades son enteras, de otra forma puede
ser que los mtodos planteados no terminen nunca (aunque converjan hacia la solucin).
El mtodo de Ford-Fulkerson es iterativo. Comenzamos con f (x, y) 0 para todo arco xy, con un
valor inicial cero. En cada iteracin aumentamos el valor del ujo a travs de identicar un camino
aumentable (augmenting path en ingls, un camino entre s y t que no est en su mxima capacidad)
y aumentamos el ujo a lo largo de este camino. Continuamos hasta que no se pueda encontrar
otro camino aumentable. Por el teorema Max-FlowMin-Cut (teorema 21.7, que demostraremos ms
adelante) al nalizar el valor del ujo es mximo. Si las capacidades estn dadas por nmeros ente-
ros, los ujos tambin sern enteros. Los ujos no pueden crecer indenidamente, los algoritmos
terminan.
21.3.3. Redes residuales
Dada una red y un ujo f , habrn arcos que admiten ujo adicional, y estos arcos con sus
capacidades sin usar a su vez constituyen una red. Intuitivamente, esta nos dice cules son las
posibles mejoras del ujo, as interesa analizar la relacin entre esta red y la original.
21.3. REDES Y FLUJOS 363
Algoritmo 21.3: El mtodo de Ford-Fulkerson
Inicialice f en 0
while hay un camino aumentable p do
Aumente el ujo f a lo largo de p
end
Ms formalmente, supongamos una red D (V, A), con capacidades c : A R
+
, fuente s y sumi-
dero t . Sea f un ujo en D, y consideremos un par de vrtices x e y. El ujo adicional que podemos
enviar de x a y antes de sobrepasar la capacidad de ese enlace es la capacidad residual del enlace xy,
que se anota c
f
(x, y). Por ejemplo, si c(x, y) 10 y f (x, y) 7, podemos enviar un ujo adicional de
3 de x a y sin sobrepasar la capacidad de ese enlace, o podemos disminuir ese ujo en 7. O sea, para
un enlace xy con ujo positivo f (x, y) tenemos una capacidad residual de c
f
(x, y) c(x, y) f (x, y)
de x a y, y una capacidad residual de c
f
(y, x) f (x, y) de y a x. La red residual D
f
(V, A
f
) inducida
por f es simplemente la red formada por los enlaces y sus capacidades residuales (capacidad libre
con la corriente, ujo a travs del enlace en contracorriente), o sea A
f
{uv V V : c
f
(u, v) >0}.
En D
f
todos los arcos pueden admitir ujos mayores a cero, los arcos de D
f
son ya sea arcos de D o
sus reversos.
Conviene denir la suma de ujos f
1
y f
2
:
( f
1
+ f
2
)(u, v) f
1
(u, v) + f
2
(u, v)
Ntese que esto no siempre es un ujo, ya que no necesariamente cumple las restricciones de
nuestra denicin.
El siguiente lema relaciona ujos en D con ujos en D
f
.
Lema 21.2. Sea D (V, A) una red con fuente s y sumidero t , y f un ujo en D. Sea D
f
(V, A
f
) la
red residual inducida por f , y f
t
un ujo en D
f
. Entonces la suma f + f
t
es un ujo en D, con valor
val( f + f
t
) val( f ) +val( f
t
).
Demostracin. Primero, para vericar que es un ujo, debe cumplir las condiciones de la denicin.
Para simetra torcida tenemos:
( f + f
t
)(x, y) f (x, y) + f
t
(x, y)
f (y, x) f
t
(y, x)
( f + f
t
)(y, x)
Para las restricciones de capacidad, note que f
t
(x, y) c
f
(x, y) para todo x, y V (incluso cuando
f
t
(x, y) <0, o sea, el arco xy es contracorriente). Por tanto:
( f + f
t
)(x, y) f (x, y) + f
t
(x, y)
f (x, y) +(c(x, y) f (x, y))
c(x, y)
Para conservacin, al ser f y f
t
ujos, con x /s, t es f (x, V ) f
t
(x, V ) 0, y ( f + f
t
)(x, V ) 0.
Finalmente:
val( f + f
t
) ( f + f
t
)(s, V )
f (s, V ) + f
t
(s, V )
val( f ) +val( f
t
)
Como cumple con nuestra denicin y nuestras convenciones, queda demostrado lo que persegua-
mos.
364 CAPTULO21. DIGRAFOS, REDES, FLUJOS
21.3.4. Caminos aumentables
Dada una red D (V, A) y un ujo f , un camino aumentable (en ingls augmenting path) p es
un camino dirigido entre s y t en la red residual D
f
. Por la denicin de red residual, cada arco xy a
lo largo de p admite ujo positivo de x a y sin violar la restriccin de capacidad. Podemos aumentar
el ujo a lo largo de p en:
c
f
(p) mn
(x,y)p
{c
f
(x, y)}
sin sobrepasar la capacidad de ningn enlace. A c
f
(p) se le llama la capacidad residual de p.
Lema 21.3. Sea D (V, A) una red, sea f un ujo en D, y sea p un camino aumentable en D
f
. Dena
la funcin f
p
: V V R mediante:
f
p
(u, v)
_

_
c
f
(p) si xy est en p
c
f
(p) si yx est en p
0 caso contrario
Entonces f
p
es un ujo en D
f
con valor val( f
p
) c
f
(p) >0.
De lo anterior tenemos:
Corolario 21.4. Sea D (V, A) una red, f un ujo en D y p un camino aumentable en D
f
. Sea f
p
como denido en el lema 21.3, y dena f
t
: V V R como f
t
f + f
p
. Entonces f
t
es un ujo en D,
y su valor es:
val( f
t
) val( f ) +val( f
p
) >val( f )
Demostracin. Inmediata por los lemas 21.2 y 21.3.
Para claricar estas ideas, vanse las guras 21.4 y 21.5. La gura 21.4 muestra una red, la gu-
16
13
4 10
12
14
9
20
7
4
s
a
b
c
d
t
Figura 21.4 Una red
ra 21.5a muestra un ujo en la red de la gura 21.4. La gura 21.5b muestra la red residual con ese
ujo con un camino aumentable marcado. Ntese que en la red residual tenemos enlaces contra-
corriente cuyas capacidades son el ujo actual. Esto signica que podemos enviar hasta ese ujo
contracorriente (disminuyendo el ujo actual) a travs de ese enlace. Este camino aumentable tiene
capacidad residual 4, y la gura 21.6 muestra el resultado de aumentar el ujo.
21.3. REDES Y FLUJOS 365
4/16
8/13
3/4 8/10
9/12
7/14
4/9
8/20
3/7
4/4
s
a
b
c
d
t
(a) Un ujo
12
5
4
5
3
8
5
4
7
9
5
3
12
7
8
4
s
a
b
c
d
t
(b) La red residual y un camino aumentable
Figura 21.5 Flujo y red residual en la red de la gura 21.4
4/16
12/13
3/4 8/10
9/12
7/14
0/9
12/20
3/7
4/4
s
a
b
c
d
t
Figura 21.6 El ujo aumentado segn el camino aumentable de la gura 21.5b
366 CAPTULO21. DIGRAFOS, REDES, FLUJOS
21.3.5. Cortes
La idea del mtodo de Ford-Fulkerson es hallar sucesivamente un camino aumentable y au-
mentar el ujo a lo largo de l. Cuando este proceso termina por no hallar un camino aumentable,
tenemos un ujo de valor mximo. Al discutir estos mtodos se restringen las capacidades a nme-
ros naturales. De partida, capacidades negativas no tienen sentido, y resulta que si las capacidades
son irracionales hay casos en que los algoritmos no terminan nunca (convergen hacia la solucin,
pero nunca la alcanzan).
La correctitud de estos mtodos la garantiza el teorema Max-Flow Min-Cut, que es nuestro
prximo objetivo. Primeramente consideraremos el concepto de un corte (en ingls cut) en una red.
Un corte (S, T) corresponde simplemente a una particin de los vrtices de la red en conjuntos S y
T V S tal que s S y t T, vase por ejemplo la gura 21.7. Si f es un ujo, el ujo neto a travs
S T
9/12
7/14
4/9
4/16
8/13
3/4 8/10
8/20
3/7
4/4
s
a
b
c
d
t
Figura 21.7 Un corte en la red de la gura 21.4 con el ujo de la gura 21.5a
del corte (S, T) se dene como f (S, T). En nuestro caso (gura 21.7) el ujo neto es 94+7 12. La
capacidad del corte (S, T) es c(S, T), que en la misma gura correspondera a 12+14 26. Tambin
se dene un corte mnimo (en ingls minimum cut) como un corte de capacidad mnima. El ujo
neto que cruza el corte incluye ujos de S a T (aportes positivos) y ujos de T a S (aportes negativos).
Por otro lado, en las capacidades se incluyen slo las de arcos de S a T. El lema siguiente relaciona
los ujos con las capacidades a travs de cortes de la red.
Lema 21.5. Sea f un ujo en la red D (V, A) con fuente s y sumidero t , y sea (S, T) un corte de la red.
Entonces el ujo neto a travs del corte es el valor del ujo.
Demostracin. Por conservacin de ujo f (S s, V ) 0, y aplicando el lema 21.1, tenemos:
f (S, T) f (S, V ) f (S, S)
f (S, V )
f (s, V ) + f (S s, V )
f (s, V )
val( f )
Un resultado inmediato del lema 21.5 es el resultado que demostramos antes, que el ujo al
sumidero es el valor del ujo en la red: Basta tomar el corte (V t , {t }) para ello.
Pero tambin podemos deducir:
21.3. REDES Y FLUJOS 367
Corolario 21.6. En una red D con un corte (S, T), el valor de cualquier ujo est acotado por la
capacidad del corte.
Demostracin. Sea (S, T) uncorte cualquiera de D y sea f unujo. Por el lema 21.5 y las restricciones
de capacidad:
val( f ) f (S, T)

xS

yT
f (x, y)

xS

yT
c(x, y)
c(S, T)
Una consecuencia inmediata del corolario 21.6 es que el valor de un ujo est acotado por la
capacidad de un corte mnimo. El teorema siguiente nos dice que el ujo mximo en realidad es esta
cota.
Teorema 21.7 (Max-Flow Min-Cut). Si f es un ujo en la red D (V, A) con fuente s y sumidero t ,
entonces las siguientes son equivalentes:
(1) f es un ujo mximo en D.
(2) La red residual D
f
no contiene caminos aumentables.
(3) val( f ) c(S, T) para algn corte (S, T) de D.
Demostracin. Demostramos la equivalencia a travs de un ciclo de implicancias.
(1) (2): Por contradiccin. Supongamos en contrario que f es mximo en D, pero que D
f
tiene
un camino aumentable p. Por el corolario 21.4 sabemos que f + f
p
es un ujo, cuyo valor es
mayor que val( f ), lo que contradice la suposicin de que f es mximo.
(2) (3): Supongamos que D
f
no tiene camino aumentable, es decir, no hay camino dirigido de
s a t en D
f
. Denamos:
S {x V : hay un camino de s a x en D
f
}
T V T
Entonces (S, T) es un corte de D, ya que obviamente s S y t S ya que no hay camino de s a
t en D
f
por suposicin. Para cada par de vrtices x S e y T tenemos f (x, y) c(x, y), dado
que de lo contrario xy A
f
y habra un camino s x y y as y estara en S. Por el lema 21.5
es:
val( f ) f (S, T) c(S, T)
(3) (1): Por el corolario 21.6, val( f ) c(S, T) para todo corte (S, T). La condicin val( f ) c(S, T)
entonces asegura que el ujo es mximo.
Este teorema sirve para demostrar la validez del mtodo de Ford-Fulkerson: Si en una iteracin
no hay un camino aumentable, quiere decir que el ujo actual es mximo. Una manera razonable
de buscar un camino aumentable es usar bsqueda a lo ancho en la red residual. A esta forma de
implementar el mtodo de Ford-Fulkerson se le conoce como el algoritmo de Edmonds-Karp [91].
22 Permutaciones
Informalmente, una permutacin es un reordenamiento de un conjunto de objetos. Las permu-
taciones aparecen, en forma ms o menos prominente, en casi todos los mbitos de las matemticas.
Al tratar con conjuntos nitos es comn estar interesados en las distintas formas de ordenarlos, posi-
blemente simplemente para considerar equivalentes los distintos rdenes. En el anlisis de muchos
algoritmos, particularmente los de ordenamiento, son caractersticas de las permutaciones lo que
determina su rendimiento.
Denicin 22.1. Una permutacin de un conjunto nito X es una biyeccin de X a X.
Comnmente usaremos X {1, 2, . . . , n} por simplicidad. Por ejemplo, una permutacin tpica
de {1, 2, . . . , 5} es la funcin denida por la tabla:
1 2 3 4 5

2 4 5 1 3
Para abreviar, anotaremos una permutacin dando el elemento al que va el de la posicin indicada,
o sea en este caso particular:
(2 4 5 1 3)
Viene a ser simplemente la ltima lnea en lo anterior.
Hay n! permutaciones de un conjunto de n elementos (para crear la permutacin el valor de
(1) puede elegirse de n maneras, una vez elegido este quedan slo n 1 opciones para (2), y as
sucesivamente, y nalmente queda slo una opcin para (n)).
Tomemos la anterior permutacin y la permutacin (3 5 1 4 2). La composicin se
obtiene de aplicar , luego , y resulta:
(5 4 2 3 1)
En general, la composicin no es conmutativa, en nuestro caso:
(5 3 2 1 4)
y claramente / . Cuidado, la convencin general al operar con permutaciones es que las
operaciones se efectan de izquierda a derecha, no de derecha a izquierda como correspondera
dado que la operacin es composicin de funciones. O sea, se interpreta como (). En todo
caso, dado que esto es un grupo, la operacin es asociativa.
Teorema 22.1. Las permutaciones cumplen las siguientes:
(I) Si y son permutaciones de un conjunto de n elementos, lo es tambin .
369
370 CAPTULO22. PERMUTACIONES
(II) Para todas permutaciones , , de un conjunto, se cumple:
() ()
(III) La funcin identidad, que llamaremos , denida por (r ) r , es una permutacin, y tenemos
para toda permutacin :

(IV) Para toda permutacin de un conjunto dado hay una permutacin inversa
1
tal que:

Demostracin. La propiedad (I) sigue directamente de que la composicin de biyecciones es una


biyeccin, (II) es una propiedad bsica de la composicin de funciones, (III) es obvio, y (IV) es
simplemente que toda biyeccin tiene una inversa.
El teorema 22.1 equivale a decir que las permutaciones forman un grupo con la operacin de
composicin. Al grupo de permutaciones de n elementos se le llama el grupo simtrico de orden n,
que se anota S
n
. Note eso s que el orden de S
n
es n!, a diferencia de lo que parece indicar su nombre.
Es conveniente una notacin compacta para permutaciones individuales. Consideremos nueva-
mente la permutacin . Es (1) 2, (2) 4, (4) 1. Esto forma un ciclo (1 2 4 1) de largo
3. Similarmente, 3 y 5 forman un ciclo de largo 2, y podemos escribir en notacin de ciclos como
(1 2 4)(3 5).
Toda permutacin se puede escribir en notacin de ciclos mediante el siguiente algoritmo:
Comience con algn smbolo (digamos 1), y trace el efecto de sobre l y sus sucesores hasta
que nuevamente encontremos 1, as tenemos un ciclo.
Tome un smbolo cualquiera que no haya sido considerado an, y construya el ciclo que lo
contiene de la misma forma.
Contine de la misma forma hasta haber dado cuenta de todos los smbolos.
Podemos elegir cualquiera de los elementos de cada ciclo como primero por ejemplo, (7 8 2 1 3)
es lo mismo que (1 3 7 8 2). Por otro lado, podemos reordenar los ciclos por ejemplo, (1 2 4)(3 5) y
(3 5)(1 2 4) corresponden a la misma permutacin, ya que al operar los ciclos en esta representacin
sobre elementos diferentes los ciclos conmutan. Lo importante son el nmero de ciclos, sus largos,
y la disposicin de sus elementos. Se adopta la convencin de comenzar cada ciclo con su mnimo
elemento, y luego ordenar los ciclos en orden de elemento mnimo.
Para ver que la representacin es nica, debemos mostrar una biyeccin entre permutaciones y
ciclos. Si anotamos los ciclos siempre con el mximo elemento al comienzo, y listamos los ciclos en
orden de mximo elemento creciente, tomamos una permutacin cualquiera podemos interpretarla
como escrita en notacin de ciclos: Los comienzos de cada ciclo son los mximos hasta ese punto.
Esto constituye una biyeccin, y toda permutacin puede escribirse en ciclos de una nica forma.
Por ejemplo, para la permutacin dada anteriormente, la notacin de ciclos es (1 3)(2 5)(4).
Ac 4 forma un ciclo degenerado por s mismo, ya que (4) 4. Simplemente omitiremos estos
ciclos de largo 1, ya que corresponden a smbolos que no son afectados por la permutacin. En todo
caso, es mejor no omitirlos hasta que uno se haya familiarizado con la notacin. Puede considerarse
la notacin de ciclos como el producto de las permutaciones con esos ciclos (los dems elementos
permanecen jos). O sea, en nuestro caso:
(1 3)(2)(4)(5) (1)(2 5)(3)(4)
Esto es consistente con la convencin de omitir ciclos de largo uno.
371
Ejemplo 22.1. Se tienen cartas numeradas 1 a 12, que se reparten en las como muestra la gu-
ra 22.1a. Luego se tomanlas cartas por las y se distribuyenencolumnas, quedando como lo muestra
1 2 3
4 5 6
7 8 9
10 11 12
(a) Original
1 4 7
10 2 5
8 11 3
6 9 12
(b) Columnas
Figura 22.1 Ordenamiento de cartas
la gura 22.1b. Cuntas veces hay que repetir esta operacin hasta obtener nuevamente el orden
original?
Sea la permutacin que corresponde a esta operacin, lo que buscamos es el orden de en S
12
.
Esta manera de verlo nos dice que el problema tiene solucin, cosa que no es obvia: Perfectamente
podra ocurrir que saliendo de la conguracin inicial ya no haya manera de volver a ella. En nota-
cin de ciclos tenemos (1)(2 4 10 6 5)(3 7 8 11 9)(12). Las cartas 1 y 12 no cambian de posicin, las
dems forman dos ciclos de largo 5. Al repetir esta operacin 5 veces todas las cartas quedan en sus
posiciones originales.
Ejemplo 22.2. En la Prisin de Arkham hay 100 prisioneros. En su aburrimiento al alcaide se le
ocurre un jueguito: Toma 100 cajas, las rotula con los nmeros de los prisioneros y en cada una
coloca un nmero de prisionero al azar. Luego ofrece a los prisioneros lo siguiente: Cada uno puede
elegir 50 de las cajas, si alguno no encuentra su nmero los llevar a todos a un paseo a las colinas
de Vermont.
Si se considera que cada prisionero abre 50 cajas al azar, es claro que hallar su nmero la mitad
de las veces, y por tanto la probabilidad que todos encuentren los suyos es 2
100
, verdaderamente
microscpico.
Sin embargo, hay un algoritmo que asegura una razonable probabilidad de evitar una suerte
horrorosa: Cada cual abre la caja con su nmero, luego la caja con el nmero que hall en la primera,
y as sucesivamente hasta agotar las 50 o hallar el suyo. Lo que est haciendo cada prisionero es
trazar un ciclo de la permutacin, interesa entonces saber cuntas permutaciones de 100 elementos
tienen ciclos de largo mayor a 50. Como son 100 prisioneros, una permutacin puede tener a lo
ms un ciclo de los largos de inters, por lo que contar el nmero de permutaciones con estos
ciclos es simplemente contar el nmero total de tales ciclos en permutaciones de 100 elementos.
Si consideramos un ciclo de r elementos, estos podemos elegirlos de
_
100
r
_
maneras entre los 100,
y podemos ordenarlos de (r 1)! formas en un ciclo. Los 100 r elementos restantes se pueden
organizar de (100r )! maneras, con lo que el nmero de permutaciones con un ciclo de largo r son:
_
100
r
_
(r 1)!(100r )!
100!
r
Vale decir, exactamente 1 en r permutaciones tienen un ciclo de largo r cuando r >50. Nos interesa
entonces la proporcin:

51r 100
1
r
H
100
H
50
0, 6882
Tienen un poco ms de 31% de probabilidades de salvarse.
372 CAPTULO22. PERMUTACIONES
Si un ciclo se compone consigo mismo, el primer elemento del ciclo termina en el tercer lu-
gar, y as sucesivamente. Para que el primer elemento de un ciclo de largo k vuelva a su posicin
original debe elevarse a la potencia k. Para que todos los elementos de una permutacin de tipo
[1

1
2

2
. . . n

n
] vuelvan por primera vez a sus posiciones originales (lo que determina el orden de la
permutacin) deben volver a sus posiciones originales todos los elementos de todos los ciclos. Esto
es el mnimo comn mltiplo de los largos de los ciclos. No importa cuntos ciclos de cada largo
hay, slo si de los largos respectivos hay o no ciclos.
Denicin 22.2. Una permutacin que es su propio inverso se llama involucin.
Las involuciones son aquellas permutaciones que slo tienen ciclos de largo 1 y 2, quedan repre-
sentadas por MSET(CYC
2
(Z)). Como la funcin generatriz exponencial de un ciclo de largo r es
simplemente z
r
/r , la funcingeneratriz exponencial para el nmero de involuciones de n elementos
es:
exp
_
z +z
2
/2
_
(22.1)
Prcticamente indoloro.
Un desarreglo (ver seccin 19.8 y tambin el captulo 13) es simplemente una permutacin
que no tiene ciclos de largo uno. La expresin simblica correspondiente es MSET(CYC
2
(Z)), que
podemos expresar MSET(CYC(Z) CYC
1
(Z)), la funcin generatriz exponencial que resulta es:
exp(ln(1z) z)
e
z
1z
De ac nuevamente obtenemos el nmero de desarreglos de n elementos como D
n
n! exp[
n
(1).
En el ejemplo del prisin de Arkham buscbamos el nmero de permutaciones con ciclos de
largo mayor a 50. Este tipo de problemas puede atacarse marcando las subestructuras de inters. Si
queremos saber cuntos ciclos de largo r hay en total en permutaciones de n elementos, considera-
remos:
MSET(CYC
/r
(Z) +U CYC
r
(Z))
Abusando de la notacin, escribimos:
MSET(CYC
/r
(Z) +u CYC
r
(Z)) MSET(CYC(Z) +(u 1) CYC
r
(Z))
Tenemos directamente:
C
r
(z, u) exp
_
ln(1z) +(u 1)
z
r
r
_

e
(u1)z
r
/r
1z
El nmero de ciclos de largo r es el exponente de u, que podemos extraer derivando y haciendo
u 1, lo que da la funcin generatriz exponencial para el nmero total de ciclos de largo r en
permutaciones de n elementos:
C
r
(z)

u
C
r
(z, u)

u1

z
r
r
1
1z
De ac podemos obtener el nmero promedio de ciclos de largo r en las permutaciones de n ele-
mentos, al haber n! permutaciones y ser una funcin generatriz exponencial es directamente el
coeciente de z
n
:
[z
n
]
z
r
r
1
1z

1
r
373
Esto ya lo habamos obtenido en el ejemplo, y al discutir desarreglos en el captulo 13 vimos que
para r 1 es 1, pero esta tcnica es mucho ms general.
A cada permutacin en S
n
corresponde una particin de los n elementos en los elementos
de sus ciclos. Al nmero de ciclos de cada largo de la permutacin le llamaremos su tipo. O sea,
si tiene
i
ciclos de largo i (1 i n), el tipo de lo anotamos [1

1
2

2
. . . n

n
]. Generalmente
omitiremos los factores con
i
0 (largos para los cuales no hay ciclos).
Denicin 22.3. Si hay una permutacin tal que
1
se dice que es conjugada de .
El teorema siguiente es bsico en la teora algebraica de permutaciones.
Teorema 22.2. Dos permutaciones y son conjugadas si y slo si tienen el mismo tipo.
Demostracin. Demostramos implicancias en ambas direcciones.
Si y son permutaciones conjugadas, hay tal que podemos escribir
1
. Tomemos un
ciclo (x
1
, x
2
, . . . , x
r
) de , vale decir, (x
1
) x
2
, (x
2
) x
3
, . . . , (x
r 1
) x
r
, (x
r
) x
1
. Denamos
y
i
(x
i
) para 1 i r . Tenemos, tomando los ndices mdulo r :
(y
i
)
1
((x
i
)) (x
i
) (x
i +1
) y
i +1
Esto es una biyeccin entre el ciclo de que contiene a x
1
y el ciclo de que contiene a y
1
, y habrn
biyecciones similares entre los dems ciclos de y , que as tienen el mismo tipo.
Por otro lado, supongamos que y tienen el mismo tipo. Como tienen el mismo nmero de
ciclos de cada uno de los largos, podemos construir una biyeccin entre ciclos del mismo largo de
y , digamos (x
1
, x
2
, . . . , x
r
) en corresponde a (y
1
, y
2
, . . . , y
r
) en . Deniendo (x
i
) y
i
para este
ciclo, y de forma similar para los dems ciclos, tenemos
1
ya que (considerando los ndices
mdulo el largo del ciclo) tenemos:

1
(y
i
) (x
i
) (x
i +1
) y
i +1
(y
i
)
Una manera fundamental de clasicar permutaciones viene de considerarlas como composicin
de transposiciones, que son permutaciones que slo intercambian dos elementos. Una permutacin
es una transposicin si es del tipo [1
n2
2
1
] (tiene n 2 ciclos de largo 1 y un ciclo de largo 2). Ahora
bien, el ciclo (x
1
x
2
. . . x
r
), transforma (x
1
x
2
. . . x
r
) en (x
2
x
3
. . . x
r
x
1
), y este mismo efecto se logra in-
tercambiando x
1
con x
2
, luego x
2
(que ahora est en la posicin x
1
) con x
3
, y as sucesivamente. As
podemos escribir (x
1
x
2
. . . x
r
) (x
1
x
r
) . . . (x
1
x
3
)(x
1
x
2
). Como toda permutacin se puede descom-
poner en ciclos, toda permutacin puede expresarse en trminos de transposiciones. Por ejemplo,
aplicando la idea indicada arriba a cada uno de los ciclos:
(1 3 6)(2 4 5 7) (1 6)(1 3)(2 7)(2 5)(2 4)
Las transposiciones se pueden traslapar, un elemento puede moverse ms de una vez. Esta repre-
sentacin no es nica, adems de reordenar las transposiciones podemos usar un conjunto comple-
tamente diferente de estas, como:
(1 3 6)(2 4 5 7) (1 5)(3 5)(3 6)(5 7)(1 4)(2 7)(1 2)
Sin embargo, hay una caracterstica comn entre estas descomposiciones. Sea c() al nmero total
de ciclos de . Si es de tipo [1

1
2

2
. . . n

n
], entonces c()
1
+
2
+ +
n
. Si combinamos con
una transposicin , dando , interesa determinar la relacin entre c() y c(). Si intercambia
a con b, tenemos (a) b, (b) a y (k) k si k /a, b. Cuando a y b estn en el mismo ciclo de ,
podemos escribir:
(a x . . . y b. . . z) y otros ciclos
374 CAPTULO22. PERMUTACIONES
Veamos . Como intercambia a con b, los ciclos de que no los incluyen no cambian. Sean
(a) x, (y) b, (z) a; con lo que (a) (x) x y (y) (b) a. De la misma forma
(b) (b), . . . , (z) (a) b. Se corta el ciclo y resulta:
(a x . . . y)(b. . . z) y los otros ciclos
con lo que c() c() +1. Por otro lado, si a y b pertenecen a ciclos distintos, o sea podemos
escribir:
(a x . . . y)(b. . . z) y otros ciclos
vemos que (y) (a) b y (z) (b) a, los ciclos se funden:
(a x . . . y b. . . z) y los otros ciclos
con lo que c() c() 1. En resumen, seguir una permutacin por una transposicin cambia el
nmero de ciclos en 1, y tenemos:
Teorema 22.3. Supngase que la permutacin de S
n
puede escribirse como la composicin de r
transposiciones y tambin como la composicin de r
t
transposiciones. Entonces r y r
t
son ambos pares
o ambos impares.
Demostracin. Sea
r

r 1
. . .
1
, con
i
(1 i r ) una transposicin. Como
1
es un ciclo de
largo 2 y n 2 ciclos de largo 1, es c(
1
) 1 +(n 2) n 1. Combinando
1
con
2
,
3
, . . . ,
r
nalmente se obtiene . En cada paso c aumenta o disminuye en 1. Sea g el nmero de veces que
aumenta y h el nmero de veces que disminuye, El nmero nal de ciclos ser c() (n 1) +g h.
Pero tenemos g +h r 1, con lo que:
r 1+g +h
1+g +(n 1+g c())
n c() +2g
De la misma forma, para cualquier otra manera de expresar como producto de r
t
transposiciones
hay un entero g
t
tal que r
t
n c() +2g
t
, y r r
t
2(g g
t
), que es par.
En vista del teorema 22.3 podemos clasicar las permutaciones en pares o impares dependiendo
del nmero de transposiciones que las conforman. Denimos el signo de la permutacin , escrito
sgn, como +1 si es par, y 1 si es impar:
sgn (1)
r
donde es la composicin de r transposiciones. En particular, sgn (1)
0
+1. Claramente, si se
puede descomponer en r transposiciones y se puede descomponer en s transposiciones, entonces
se puede descomponer en r +s transposiciones:
sgn() (1)
r +s
(1)
r
(1)
s
sgn sgn
Como
1
, resulta sgn sgn
1
.
Recordando nuestra tcnica para escribir unciclo de largo k como k1 transposiciones, tenemos
un algoritmo simple para determinar el signo de una permutacin: Descompngala en ciclos, la
paridad de la permutacin es simplemente la del nmero de ciclos de largo par.
375
Teorema 22.4. Para todo entero n 2 exactamente la mitad de las permutaciones de S
n
son pares y
la otra mitad impares.
Demostracin. Sea
1
,
2
, . . . ,
k
la lista de permutaciones pares en S
n
. Esta lista no es vaca, ya que
es par.
Sea una transposicin cualquiera en S
n
, por ejemplo (1 2). Entonces
1
,
2
, . . . ,
k
son
todas distintas, ya que si
i

j
por asociatividad e inverso en el grupo:

i
(
1
)
i

1
(
i
)
1
(
j
) (
1
)
j

j
An ms, todas estas permutaciones son impares, ya que:
sgn(
i
) sgn sgn
i
(1) (+1) 1
Finalmente, toda permutacin impar es de una de las
i
(1 i k), ya que:
sgn(
1
) sgn
1
sgn (1) (1) +1
con lo que
1
es par, y debe ser
i
para algn i en el rango 1 i k, y as
i
. Con esto
tenemos una biyeccin entre las permutaciones pares e impares.
El conjunto de permutaciones pares es un subgrupo de S
n
(S
n
es nito, y este subconjunto es
cerrado respecto de la composicin), se le llama el grupo alternante y se anota A
n
.
Esto tiene aplicacin en muchas reas, por ejemplo en matemticas recreativas.
Ejemplo 22.3. Ocho bloques marcados 1 a 8 se disponen en un marco cuadrado como se indica en
la gura 22.2a. Una movida legal corresponde a deslizar un bloque al espacio vaco. Determine si es
1 2 3
4 5 6
7 8
(a) Inicial
8 5 2
7 4 1
6 3
(b) Final
Figura 22.2 Puede hacerse?
posible lograr la conguracin de 22.2b.
Si anotamos para el espacio, la conguracin inicial es 1 2 3 4 5 6 7 8 , y la nal solicitada es
8 5 2 7 4 1 6 3 . Claramente toda movida legal es una transposicin. Como el espacio slo puede
moverse en vertical u horizontal, para regresar a su posicin original debe hacer un nmero par de
movidas en cada direccin, y el nmero total de movidas es par. Luego la permutacin que lleva de
la conguracin inicial a otra conguracin posible bajo las reglas en la que est nuevamente en
la esquina inferior derecha est conformada por un nmero par de transposiciones, o sea es par. La
permutacin entre la conguracin nal solicitada y la inicial es (1 8 3 2 5 4 7 6)( ); el ciclo de largo
8 que aparece ac es impar, por lo que esto no puede hacerse.
Ntese que esto sirve para demostrar lo que no puede hacerse, no signica que todas las permu-
taciones pares puedan lograrse con estas restricciones.
Es simple contabilizar las permutaciones de un tipo particular. Supongamos, por ejemplo, que
nos interesa saber cuntos elementos de S
14
tienen tipo [2
2
3
2
4
1
]. Esto corresponde a poner los
smbolos 1, 2, . . . , 14 en el patrn:
(. .)(. .)(. . .)(. . .)(. . . .)
376 CAPTULO22. PERMUTACIONES
y hay 14! formas de distribuir los 14 smbolos en las 14 posiciones. Sin embargo, muchas de estas dan
la misma permutacin. Considerando cada ciclo, podemos elegir el primer elemento de l y el resto
quedar determinado por la permutacin. As hay 2 maneras de obtener cada 2-ciclo, 3 maneras de
obtener cada 3-ciclo, y 4 maneras de obtener cada 4-ciclo. El ordenamiento interno de cada ciclo se
puede llevar a cabo de 2
2
3
2
4 formas en este caso. En general, si el tipo es [1

1
2

2
. . . n

n
], habrn
1

1
2

2
. . .n

n
ordenamientos internos equivalentes. Por otro lado, el orden de los ciclos del mismo
largo es arbitrario, por lo que el nmero de reordenamientos en el caso general ser
1
!
2
! . . .
n
!, y
el nmero de permutaciones de tipo [1

1
2

2
. . . n

n
] es:
n!
1

1
2

2
. . . n

1
!
2
! . . .
n
!
Esto se ve seductoramente similar a un trmino multinomial, pero debe recordarse que ac la con-
dicin es:

k
k
k
n
23 Teora de coloreos de Plya
Los problemas combinatorios que hemos enfrentado hasta ac han sido relativamente senci-
llos. Slo al considerar la construccin ciclo de objetos no rotulados (seccin 18.1) tuvimos que
considerar simetras de los objetos bajo estudio. El teorema de enumeracin de Plya (abreviado
PET, por Plya Enumeration Theorem) en realidad fue publicado en 1927 por John Howard Redeld,
en 1937 George Plya lo redescubri independientemente y lo populariz aplicndolo a muchos
problemas de conteo, en particular de compuestos qumicos [233, 236]. Desarrollaremos la teora
para la situacin simple en la cual slo contamos coloreos. Una derivacin ms intuitiva (que puede
ser til para motivar el desarrollo presente) ofrece Tucker [285].
23.1. Grupos de permutaciones
Denicin 23.1. Sea G un conjunto de permutaciones del conjunto nito X. Si G es un grupo (con
la composicin de permutaciones) decimos que G es un grupo de permutaciones de X.
Si tomamos X {1, 2, . . . , n}, entonces un grupo de permutaciones es simplemente un subgrupo
de S
n
. El cuadro 23.1 lista todos los subgrupos de S
3
. El grupo alternante A
3
aparece como H
5
en el
H
1
{} H
2
{, (1 2)} H
3
{, (1 3)}
H
4
{, (2 3)} H
5
{, (1 2 3), (1 3 2)} H
6
S
3
Cuadro 23.1 Los subgrupos de S
3
cuadro. Para ver si un subconjunto de un grupo nito es un subgrupo, basta vericar si es cerrado
por lo demostrado anteriormente para grupos.
Otros ejemplos se obtienen como grupos de simetra de objetos geomtricos. Por ejemplo, si
rotulamos los vrtices de un cuadrado en orden contrario a las manecillas del reloj (ver la gura 23.1),
cada simetra induce una permutacin del conjunto {1, 2, 3, 4}, y obtenemos las simetras indicadas.
Estas 8 permutaciones forman el llamado grupo dihedral de orden 8, D
8
. En general, las simetras
de un n-gono regular forman un grupo de 2n elementos, el grupo dihedral de orden 2n que se
anota D
2n
. Debe tenerse cuidado: Esta es la notacin que se usa en lgebra, en geometra este mismo
grupo se anota D
n
. Si slo se consideran las rotaciones de un polgono regular de n lados, tenemos
el grupo cclico de orden n, anotado C
n
, isomorfo a Z
n
con la suma.
Una situacin similar se produce cuando estudiamos grafos en vez de guras geomtricas, en
donde las simetras son permutaciones de los vrtices que transforman arcos en arcos. A una
permutacin de este tipo se le llama automorsmo del grafo (viene a ser un isomorsmo del grafo
consigo mismo).
Un ejemplo de grafo es la gura 23.2, interesa saber cuntos automorsmos tiene. Primero obser-
vamos que los vrtices del grafo caen naturalmente en dos grupos: Los vrtices {1, 3, 5} son de grado
4, mientras {2, 4, 6} son de grado 2. Ningn automorsmo puede transformar un vrtice del primer
377
378 CAPTULO23. TEORA DE COLOREOS DE PLYA
1
2 3
4
Identidad (1)(2)(3)(4)
Rotacin en /2 (1 2 3 4)
Rotacin en (1 3)(2 4)
Rotacin en 3/2 (1 4 3 2)
Reexin en diagonal 1 3 (2 4)
Reexin en diagonal 2 4 (1 3)
Reexin en bisector perpendicular de 1 2 (1 2)(3 4)
Reexin en bisector perpendicular de 1 4 (1 4)(2 3)
Figura 23.1 Un cuadrado y sus simetras
2
1 6
5
4 3
se extiende a (1 3) se extiende a (1 3)(4 6)
(1 3 5) se extiende a (1 3 5)(2 4 6) (1 5) se extiende a (1 5)(2 4)
(1 5 3) se extiende a (1 5 3)(2 6 4) (3 5) se extiende a (3 5)(2 6)
Figura 23.2 Un grafo de seis vrtices y sus automorsmos
grupo en uno del segundo. Por otro lado, est claro que podemos tomar cualquier permutacin de
{1, 2, 3} y extenderla a un automorsmo del grafo. Por ejemplo, si (1 3 5) es parte de un automorsmo
, entonces tiene que transformar 2 en 4, ya que 2 es el nico vrtice adyacente a 1 y 3, y 4 es el
nico vrtice adyacente a sus imgenes 3 y 5. De la misma forma, lleva 4 en 6 y 6 en 2, por lo que
(1 3 5)(2 4 6). En forma anloga, cada una de las seis permutaciones de {1, 2, 3} puede extenderse
de forma nica a un automorsmo del grafo, como muestra la misma gura 23.2. Hay exactamente
seis automorsmos, que son las permutaciones listadas arriba.
23.2. rbitas y estabilizadores
Sea G un grupo de permutaciones de un conjunto X. Veremos que la estructura del grupo lleva
naturalmente a una particin de X. Denamos la relacin sobre X mediante x y siempre que
para algn G tenemos (x) y. Vericamos que es una relacin de equivalencia de la forma
usual:
23.2. RBITAS Y ESTABILIZADORES 379
Reexiva: Como es parte de todo grupo, y (x) x para todo x X, tenemos x x.
Simtrica: Supongamos x y, o sea (x) y para algn G. Como G es un grupo,
1
G, y
como
1
(y) x, tenemos y x.
Transitiva: Si x y y y z debe ser
1
(x) y y
2
(y) z para
1
,
2
G, y como G es un grupo,

1
G, con lo que
2

1
(x) z y x z.
Como es relacin de equivalencia, dene una particin de X; x e y pertenecen a la misma clase si
y slo si hay una permutacin enG que transforma x en y. A las clases de equivalencia se les conoce
como las rbitas de G en X. La rbita de x es la clase que contiene a x:
Gx {y X : y (x) para algn G}
Intuitivamente, la rbita Gx son los elementos de X que no se distinguen de x bajo operaciones
de G. En el caso de la gura 23.2 los conjuntos de vrtices {1, 3, 5} y {2, 4, 6} son rbitas del grupo. El
grafo de la gura 23.3 tiene un grupo ms complejo. Ac los automorsmos se obtienen combinando
c
a
b
e
d
f
g
h
i
j
k
l
m

(a b) (d f ) (h i )(k l )
(h j )(k m)
(i j )(l m)
(h i j )(k l m)
(h j i )(k m l )
Figura 23.3 Un ejemplo de grafo y los generadores de su grupo de automorsmos
las permutaciones de la gura 23.3. Hay un total de 2 2 6 24 permutaciones en este grupo. Son
rbitas {a, b}, {c}, {d, f }, {e}, {g}, {h, i , j }, {k, l , m}, y se ve que son parecidos los elementos de cada
una de ellas, en que las operaciones del grupo los intercambian.
Las rbitas presentan un par de problemas numricos obvios: Cuntas rbitas hay? Qu tama-
os tienen?
Si G es un grupo de permutaciones, llamaremos G(x y) al conjunto de permutaciones que
llevan x a y, o sea:
G(x y) { G: g(x) y}
En particular, G(x x) es el conjunto de permutaciones que tienen a x como punto jo. Este con-
junto se llama el estabilizador de x, y se anota G
x
. Si
1
y
2
estn en G
x
:

1
(x)
2
(x) x
por lo que
2

1
G
x
, y G
x
es un subgrupo de G. Tambin tenemos:
380 CAPTULO23. TEORA DE COLOREOS DE PLYA
Teorema 23.1. Sea G un grupo de permutaciones, y sea G(x y). Entonces:
G(x y) G
x
el coset izquierdo de G
x
respecto a .
Demostracin. Demostraremos que todo elemento de G
x
pertenece a G(x y) y viceversa, con lo
que ambos conjuntos son iguales.
Si pertenece a G
x
, es para algn G
x
. O sea, (x) (x) (x) y, con lo que
pertenece a G(x y). Por el otro lado, si G(x y), entonces
1
(x)
1
(y) x, de manera
que
1
, donde G
x
, y as G
x
. Ambos conjuntos son iguales.
De forma muy similar al teorema 23.1 se demuestra lo siguiente:
Teorema 23.2. Sea G un grupo de permutaciones de X, y sea G(x y). Entonces:
G(x y) G
y

el coset derecho de G
y
respecto a .
Demostracin. Si pertenece a G
y
, es para algn G
y
, vale decir (y) (y) (x) y
o sea G(x y). Al revs, supongamos G(x y), y consideremos
1
(y) (x) y y por
tanto
1
G
y
, o G
y
, y sigue el resultado.
De los anteriores teoremas obtenemos:
Corolario 23.3. Sea G un grupo de permutaciones de X, sea x X un elemento cualquiera, e y un
elemento en la rbita de x. Entonces [G
x
[ [G
y
[.
Demostracin. Inmediato, ya que el tamao de un coset es el orden del subgrupo (lo demostramos
para el teorema de Lagrange); y por los teoremas 23.1 y 23.2 tenemos [G
y
[ [G(x y)[ [G
x
[.
Teorema 23.4. Sea G un grupo de permutaciones de X, y sea x un elemento de X. Entonces:
[Gx[ [G
x
[ [G[
Demostracin. Usamos la idea de contar por las y columnas. Para un elemento x X el conjunto
de pares S
x
{(, y) : (x) y} puede describirse mediante una tabla como la del cuadro 23.2. Dado
y
.
.
.
si (x) y r

(S
x
)
.
.
.
c
y
(S
x
)
Cuadro 23.2 Pares (, y) para demostracin del teorema 23.4
que es una permutacin, hay un nico y tal que (x) y para cada , con lo que r

(S
x
) 1. El total
por columna c
y
(S
x
) es el nmero de permutaciones tales que (x) y, vale decir [G(x y)[. Si y
est en la rbita Gx, por el teorema 23.1 y el hecho que el coset de un subgrupo tiene el tamao del
23.2. RBITAS Y ESTABILIZADORES 381
subgrupo, tenemos [G(x y)[ [G
x
[. Por otro lado, si y no est en la rbita Gx, [G(x y)[ 0. Las
dos formas de contar los elementos de S
x
dan:

yX
c
y
(S
x
)

G
r

(S
x
)
Al lado izquierdo hay [Gx[ trminos que valen [G
x
[ cada uno, los dems valen 0; al lado derecho hay
[G[ trminos que valen 1 cada uno. As tenemos el resultado prometido.
Este teorema permite calcular el tamao de un grupo si se conoce el tamao de una rbita y
el estabilizador respectivo. Consideremos por ejemplo el grupo T de rotaciones en el espacio de
un tetraedro, ver la gura 23.4. Las rotaciones alrededor del eje marcado son las que mantienen
Figura 23.4 Rotaciones de un tetraedro
jo el vrtice 1, y hay 3 de estas, [T
d
[ 3. Por otro lado, girando el tetraedro en el espacio se puede
colocar en la posicin 1 cualquiera de los 4 vrtices, y tenemos [Td[ 4. En consecuencia, el grupo
de rotaciones en el espacio de un tetraedro es de orden [T[ [T
d
[ [Td[ 3 4 12. Resulta que T no
es ms que el grupo alternante A
4
.
Otro ejemplo lo da el icosaedro trunco, la forma bsica de la pelota de ftbol tradicional, ver la
gura 23.5. Este es el slido arquimedeano limitado por 12 hexgonos y 20 pentgonos (un total de
Figura 23.5 Icosaedro trunco
32 caras), 90 aristas y 60 vrtices. Si consideramos rotaciones en el espacio de este slido, como en
382 CAPTULO23. TEORA DE COLOREOS DE PLYA
cada vrtice conuyen un pentgono y dos hexgonos la nica simetra que mantiene jo un vrtice
es . Va rotaciones podemos hacer coincidir ese vrtice con cualquiera, por lo que tenemos que
[G[ [G
x
[ [Gx[ 1 60 60. Obtener el orden de este grupo manipulando el slido sera mucho ms
complicado.
23.3. Nmero de rbitas
Vamos ahora a contar el nmero de rbitas de un grupo G de permutaciones de X. Cada rbita
es un subconjunto de elementos indistinguibles bajo las operaciones de G, y el nmero de rbitas
dice cuntos tipos de elementos distinguibles hay.
Supngase que se quierenfabricar tarjetas de identidadcuadradas, divididas ennueve cuadrados
de los cuales se perforan dos. Vase la gura 23.6 para algunos ejemplos. Las primeras dos no se
(a) (b) (c)
Figura 23.6 Ejemplos de tarjetas de identidad
pueden distinguir, ya que se obtiene la de la gura 23.6b rotando la de 23.6a; en cambio, la de 23.6c
claramente es diferente de las otras, independiente de si se gira o se da vuelta.
El grupo que est actuando ac es el grupo D
8
de ocho simetras de un cuadrado, pero interesa
el efecto que tiene sobre las
_
9
2
_
36 conguraciones de dos agujeros en un cuadrado de 33, no
slo su accin sobre los cuatro vrtices. El nmero de rbitas es el nmero de tarjetas distinguibles.
Hacer esto por la va de dibujar las 36 conguraciones, y analizar lo que ocurre con cada una de ellas
con las 8 simetras es bastante trabajo. Por suerte hay maneras mejores.
Dado un elemento del grupo de permutaciones G denimos:
F() {x X : (x) x}
Vale decir, F() es el nmero de puntos jos de . Nuestro teorema siguiente relaciona esto con el
nmero de rbitas. Este resultado se conoce bajo el nombre de Burnside, de Cauchy-Frobenius y
de Plya. Burnside lo populariz en su libro [46], atribuyndolo a Frobenius, aunque el resultado lo
conoca Cauchy antes. Por esta enredada historia a veces se le llama el lema que no es de Burnside.
Teorema 23.5 (Lema de Burnside). El nmero de rbitas de G sobre X est dado por:
1
[G[

G
[F()[
Demostracin. Nuevamente, contar por las y columnas. Sea:
E {(, x) : (x) x}
Entonces el total por la r

(E) es el nmero de x jados por , o sea [F()[. El total por columna


c
x
(E) es el nmero de que tienen x como punto jo, [G
x
[. Contabilizando E de ambas formas da:

G
[F()[

xX
[G
x
[
23.3. NMERODE RBITAS 383
Supongamos que hay t rbitas, y elijamos z X. Por el teorema 23.2, si x pertenece a la rbita Gz en-
tonces [G
x
[ [G
z
[. Cada rbita contribuye al lado derecho [Gz[ trminos, todos [G
z
[; la contribucin
total de la rbita es [Gz[ [G
z
[ [G[ por el teorema 23.4, lo que lleva a:

G
[F()[ t [G[
que es equivalente a lo que queramos demostrar.
Ahora podemos resolver nuestro problema de tarjetas de identidad. Necesitamos calcular el
nmero de conguraciones jas bajo cada una de las ocho permutaciones. Por ejemplo, cuando es
la rotacinen, hay cuatro conguraciones jas (ver la gura 23.7). No hay conguraciones jas bajo
rotaciones de /2 ni de 3/2. Podemos de la misma forma enumerar las conguraciones jas bajo
Figura 23.7 Conguraciones jas bajo rotacin en
una reexin en la vertical, ver la gura 23.8. Para la reexin en la horizontal por simetra tambin
tenemos seis conguraciones jas. Al enumerar las conguraciones jas bajo una reexin en la
Figura 23.8 Conguraciones jas bajo reexin en la vertical
diagonal de la esquina inferior izquierda a la superior derecha tambin resultan seis conguraciones
(gura 23.9), y obtenemos otras seis para la reexin en la otra diagonal. El cuadro 23.3 resume los
valores anteriores. Con estos valores tenemos el lema de Burnside que el nmero de rbitas es:
1
8
(36+0+4+0+6+6+6+6) 8
En este caso es sencillo listar las ocho conguraciones por prueba y error, mxime sabiendo que son
ocho (ver la gura 23.10), pero el resultado es aplicable en forma mucho ms general.
384 CAPTULO23. TEORA DE COLOREOS DE PLYA
Figura 23.9 Conguraciones jas bajo reexin en la diagonal de izquierda inferior a derecha
superior
Operacin Fijos
Identidad 36
Rotacin en /2 0
Rotacin en 4
Rotacin en 3/2 0
Reexin en diagonal 1 3 6
Reexin en diagonal 2 4 6
Reexin en perpendicular a 1 2 6
Reexin en perpendicular a 1 4 6
Cuadro 23.3 Nmero de conguraciones de tarjetas respetadas por cada simetra del cuadrado
Figura 23.10 Las ocho tarjetas distinguibles
23.4. NDICE DE CICLOS 385
23.4. ndice de ciclos
Denimos el tipo de una permutacin como [1

1
2

2
. . . n

n
] si tiene
k
ciclos de largo k para
1 k n. Una expresin afn asociada a la permutacin es:

(x
1
, x
2
, . . . , x
n
) x

1
1
x

2
2
. . . x

n
n
Para un grupo G de permutaciones denimos el ndice de ciclos:

G
(x
1
, x
2
, . . . , x
n
)
1
[G[

(x
1
, x
2
, . . . , x
n
)
Esto es esencialmente una funcin generatriz en la que x
l
marca los ciclos de largo l . Esta funcin
tiene muchos usos, algunos los veremos ms adelante.
Interesa calcular el ndice de ciclos para diversos grupos de manera de tenerlos a mano ms
adelante. Consideremos primero los grupos C
n
, que sabemos isomorfos con Z
n
y la suma. Si con-
sideramos a Z
n
, su orden determina el largo de los ciclos, y el nmero de ciclos es simplemente
n/ord(a). El orden es el mnimo b > 0 tal que a b 0 (m od n). Si gcd(a, n) 1, es b n y hay
(n) de tales a que dan n/n 1 ciclo de largo n. En general, si gcd(a, n) c, las posibilidades de a
esencialmente diferentes se restringen a n/c elementos, y de estos dan orden n/c exactamente los
que tienen gcd(a, n/c) 1. Expresarlo de esta forma es incmodo, llamemos d n/c. Entonces para
d [ n hay (d) elementos de orden d, los cuales forman n/d ciclos de largo d:

C
n
(x
1
, . . . , x
n
)
1
n

d[n
(d) x
n/d
d
Veamos ahora el caso D
2n
. A las simetras anteriores se aaden n reexiones. Si n es par, hay n/2
reexiones a travs de vrtices opuestos, son 2 ciclos de largo 1 y n 2 ciclos de largo 2 que aportan
nx
2
1
x
(n2)/2
2
/2; y n/2 reexiones a travs de lados opuestos, son n/2 ciclos de largo 2 que aportan
nx
n/2
2
/2. Si n es impar, hay n reexiones a travs de un vrtice y el lado opuesto, o sea un ciclo de
largo 1 y (n1)/2 ciclos de largo 2, que aportan nx
1
x
(n1)/2
2
. En resumen, como en el ndice de ciclos
aparecen divididos por el orden del grupo, que se duplica a 2n entre C
n
y D
2n
:

D
2n

1
2

C
n
(x
1
, . . . , x
n
) +
_
_
_
1
4
(x
2
1
x
(n2)/2
2
+x
n/2
2
) si n es par
1
2
x
1
x
(n1)/2
2
si n es impar
As tenemos por ejemplo para el cuadrado:

C
4
(x
1
, x
2
, x
3
, x
4
)
1
4

d[4
(d) x
4/d
d

1
4
_
x
4
1
+x
2
2
+2x
4
_

D
8
(x
1
, x
2
, x
3
, x
4
)
1
2

C
4
(x
1
, x
2
, x
3
, x
4
) +
1
4
_
x
2
1
x
2
+x
2
2
_

1
8
_
x
4
1
+2x
2
1
x
2
+3x
2
2
+2x
4
_
23.5. Nmero de coloreos distinguibles
Supongamos ungrupoG de permutaciones de unconjunto X de n elementos, y a cada elemento
se le puede asignar uno de r colores. Si el conjunto de colores es K , un coloreo es una funcin
386 CAPTULO23. TEORA DE COLOREOS DE PLYA
: X K . El nmero total de coloreos es r
n
, a este conjunto le llamaremos . Ahora bien, cada
permutacin g en G induce una permutacin g de : Para denimos g() como el coloreo en el
cual el color asignado a x es el que asigna a g(x), vale decir:
( g())(x) g
1
(x)
La inversa aparece porque al aplicar la permutacin al coloreo estamos asignando a x el color que
tiene su predecesor va g. La gura 23.11 muestra un ejemplo. La funcin que lleva g a g es una
g

g()
Figura 23.11 Efecto de la permutacin g sobre un coloreo
representacin del grupo G en un grupo

G de permutaciones de . Dos coloreos son indistinguibles
si uno puede transformarse en el otro mediante una permutacin g; vale decir, si ambas pertenecen
a la misma rbita de

G en . El nmero de coloreos distinguibles (inequivalentes) entonces es el
nmero de rbitas de

G. Antes de aplicar nuestro teorema para el nmero de rbitas debemos
relacionar G y

G. Supongamos que para dos permutaciones g
1
y g
2
tenemos g
1
g
2
, de forma que
( g
1
())(x) ( g
2
())(x)
y en consecuencia para todo y todo x X debe ser
(g
1
1
(x)) (g
1
2
(x))
Como esto es vlido para todo , en particular vale para el coloreo que asigna el color especica-
do a g
1
1
(x) y otro color a todos los dems miembros de X. En este caso particular la ecuacin
dice que g
1
1
(x) g
1
2
(x), con lo que g
1
g
2
, y el grupo de permutaciones G de X y el grupo de
permutaciones

G de los coloreos son isomorfos.
Otra manera de entender esta situacin es considerar un coloreo que le asigna un color diferente
a cada elemento de X. Una permutacin de ese coloreo no es ms que una permutacin de nuevos
nombres de los elementos de X, con lo que est claro que ambos grupos de permutaciones estn
muy relacionados.
Teorema 23.6. Si G es un grupo de permutaciones de X, y
G
(x
1
, . . . , x
n
) es su ndice de ciclos, el
nmero de coloreos inequivalentes de X con r colores es
G
(r, . . . , r ), donde un coloreo de X es una
funcin : X K .
Demostracin. Interesa el nmero de rbitas del grupo G operando sobre coloreos. Hemos demos-
trado que la representacin g g es una biyeccin, de forma que [G[ [

G[. Adems, por el teorema


de Burnside el nmero de rbitas de

G en es
1
[

G[

G
[F( g)[
1
[G[

gG
[F( g)[
donde F( g) es el conjunto de coloreos jados por g. Supongamos ahora que es un coloreo jado
por g, de forma que g() , y sea (x y z . . . ) un ciclo cualquiera de g. Tenemos:
(x) (g(y)) ( g())(y) (y)
23.5. NMERODE COLOREOS DISTINGUIBLES 387
de forma que asigna el mismo color a x e y. Aplicando el mismo razonamiento, este es el color
asignado a todo el ciclo. Esto ocurre con cada uno de los ciclos de g. Si g tiene k ciclos en total, el
nmero de coloreos posibles es r
k
, ya que podemos asignar independientemente cualquiera de los
r colores a cada uno de los k ciclos. De esta forma, si g tiene
i
ciclos de largo i para (1 i n),
tenemos
1
+
2
+ +
n
k y
[F( g)[ r
k
r

1
+
2
++
n

g
(r, r, . . . , r )
y el resultado sigue de sumar esto.
Ejemplo 23.1. Una tribu de hippies artesanos fabrica pulseras formadas alternadamente por tres
arcos y tres cuentas, y tienen arcos y cuentas de cinco colores. Para efectos de simetra pueden
considerarse las pulseras como tringulos equilteros en los cuales se colorean los vrtices y las
aristas. Por razones que slo ellos entienden las pulseras deben siempre usar tres colores. Interesa
saber cuntas pulseras diferentes pueden crear.
Esta es una aplicacin tpica del principio de inclusin y exclusin (captulo 13), el teorema 23.6
da el nmero de coloreos con a lo ms el nmero de colores dado, pero nos interesan los coloreos
con exactamente tres colores.
Operacin N Trmino
Identidad 1 x
6
1
Rotaciones (en 2/3 y 4/3) 2 x
2
3
Reexiones en cada eje 3 x
2
1
x
2
2
Cuadro 23.4 Elementos del grupo para pulseras
El cuadro 23.4 da los elementos del grupo relevante. Este grupo es de orden 6, as que su ndice
de ciclos es:

G
(x
1
, x
2
, x
3
, x
4
, x
5
, x
6
)
1
6
_
x
6
1
+3x
2
1
x
2
2
+2x
2
3
_
Luego aplicamos nuestra receta del principio de inclusin y exclusin.
1. El universo es el conjunto de coloreos con 5 colores. Un coloreo tiene la propiedad i si el
color i no est presente, e interesa el nmero de los que tienen exactamente 2 propiedades
(estn presentes los otros 3 colores).
2. Ac N(S) es el nmero de coloreos que no consideranlos colores enS, vale decir soncoloreos
tomando a lo ms 5[S[ colores. Por el teorema 23.6:
N(S)
G
(5[S[, 5[S[, 5[S[, 5[S[, 5[S[, 5[S[)
3. Como los r colores a excluir se eligen de entre los 5, y en el nmero de posibilidades slo
inuye el nmero de colores restantes con los que se colorea:
N
r

_
5
r
_

G
(5r, 5r, 5r, 5r, 5r, 5r )
388 CAPTULO23. TEORA DE COLOREOS DE PLYA
En este caso tenemos:
N
0

_
5
0
_

G
(5, 5, 5, 5, 5, 5) 2925
N
1

_
5
1
_

G
(4, 4, 4, 4, 4, 4) 4080
N
2

_
5
2
_

G
(3, 3, 3, 3, 3, 3) 1650
N
3

_
5
3
_

G
(2, 2, 2, 2, 2, 2) 200
N
4

_
5
2
_

G
(1, 1, 1, 1, 1, 1) 5
N
5

_
5
5
_

G
(0, 0, 0, 0, 0, 0) 0
La funcin generatriz es
N(z) 5z
4
+200z
3
+1650z
2
+4080z +2925
4. Nos interesa e
2
, que se obtiene de la funcin generatriz de los e
t
, que es E(z) N(z 1):
E(z) 5z
4
+180z
3
+1080z
2
+1360z +300
Se pueden formar 1 080 brazaletes de tres colores.
Pero podemos hacer algo ms. Si hay r colores, podemos denir variables z
i
para 1 i r
representando los distintos colores. Entonces la funcin generatriz de los nmeros de nodos de cada
color que se pueden asignar a un ciclo de largo k es simplemente:
z
k
1
+z
k
2
+ +z
k
r
ya que seran k nodos, todos del mismo color. Si hay
k
ciclos de largo k, entonces corresponde el
factor:
(z
k
1
+z
k
2
+ +z
k
r
)

k
La anterior discusin demuestra el siguiente resultado.
Teorema 23.7 (Enumeracin de Plya). Sea G un grupo de permutaciones de X, y
G
(x
1
, . . . , x
n
) su
ndice de ciclos. La funcin generatriz del nmero de coloreos inequivalentes de X en que hay n
i
nodos de color i para 1 i r , llammosle u
n
1
,n
2
,...,n
r
, es:
U(z
1
, z
2
, . . . , z
r
)

n
1
,n
2
,...,n
r
u
n
1
,n
2
,...,n
r
z
n
1
1
z
n
2
2
z
n
r
r

G
(z
1
+z
2
+ +z
r
, z
2
1
+z
2
2
+ +z
2
r
, . . . , z
n
1
+z
n
2
+ +z
n
r
)
Volviendo a nuestro ejemplo de las tarjetas de identidad, el grupo subyacente es D
8
, las operacio-
nes y sus tipos (operando sobre los nueve cuadraditos) se resumen en el cuadro 23.5. El ndice de
ciclos del grupo que interesa es:

t
(x
1
, x
2
, x
3
, x
4
, x
5
, x
6
, x
7
, x
8
, x
9
)
1
8
_
x
9
1
+2x
1
x
2
4
+x
1
x
4
2
+4x
3
1
x
3
2
_
23.5. NMERODE COLOREOS DISTINGUIBLES 389
Operacin N Trmino
Identidad 1 x
9
1
Giro en /2, 3/2 2 x
1
x
2
4
Giro en 1 x
1
x
4
2
Reexin horizontal, vertical 2 x
3
1
x
3
2
Reexin diagonal 2 x
3
1
x
3
2
Cuadro 23.5 Las operaciones sobre tarjetas y sus tipos
El nmero total de tarjetas distinguibles con dos colores (agujero o no) en cada cuadradito es:

t
(2, 2, 2, 2, 2, 2, 2, 2, 2) 102
Para obtener el nmero de tarjetas con dos agujeros calculamos:
_
z
2
_

t
(1+z, 1+z
2
, 1+z
3
, 1+z
4
, 1+z
5
, 1+z
6
, 1+z
7
, 1+z
8
, 1+z
9
) 8
Esto ya lo habamos calculado antes, aunque de forma ms trabajosa. Queda de ejercicio calcular del
nmero de collares diferentes que se pueden crear de 16 cuentas con 3 negras de la misma forma.
La teora de enumeracin de Plya fue desarrollada en parte para aplicacin a la qumica. Algu-
nos ejemplos de frmulas qumicas se dan en la gura 23.12. Este tipo de compuestos, derivados del
H
H
H
H
H
H
(a) Benceno
CH
3
CH
3
H
H
H
H
(b) Xyleno
C H
3
Cl
H
H
H
H
(c) Clorotolueno
Figura 23.12 Algunos compuestos aromticos
benceno (gura 23.12a) son hexgonos que pueden girar en el espacio. Hay muchas posibilidades
de grupos de tomos que pueden reemplazar los hidrgenos (H), como es radicales metilo (CH
3
) o
tomos de cloro (Cl). Una pregunta obvia entonces es cuntos compuestos distintos pueden crearse
con un conjunto de radicales, o cuntos son posibles con un nmero particular de cada uno de un
conjunto de radicales dados. Por ejemplo, hay tres ismeros del xyleno (un anillo de benceno en el
cual dos de los hidrgenos se substituyen por metilos), como muestra la gura 23.13.
El grupo de simetra relevante es D
12
, cuyo ndice de ciclos podemos calcular como antes:

C
6
(x
1
, x
2
, x
3
, x
4
, x
5
, x
6
)
1
6

d[6
(d)x
6/d
d

1
6
_
x
6
1
+x
3
2
+2x
2
3
+2x
6
_

D
12
(x
1
, x
2
, x
3
, x
4
, x
5
, x
6
)
1
2

C
6
(x
1
, x
2
, x
3
, x
4
, x
5
, x
6
) +
1
4
_
x
2
1
x
2
2
+x
3
2
_

1
12
_
x
6
1
+3x
2
1
x
2
2
+4x
3
2
+2x
2
3
+2x
6
_
390 CAPTULO23. TEORA DE COLOREOS DE PLYA
CH
3
CH
3
H
H
H
H
(a) Orto-xyleno
CH
3
CH
3
H
H
H
H
(b) Para-xyleno
CH
3
CH
3
H
H H
H
(c) Meta-xyleno
Figura 23.13 Los tres ismeros del xyleno
Hecho el trabajo duro, determinar cuntos compuestos pueden crearse con radicales hidrgeno (H)
y metilo (CH
3
) es fcil: Es colorear los vrtices con dos colores, lo que da:

D
12
(2, 2, 2, 2, 2, 2)
1
12
(2
6
+3 2
2
2
2
+4 2
3
+2 2)
13
Para comprobar cuntos ismeros del xyleno hay, consideramos coloreo de los vrtices del hex-
gono con dos colores (hidrgenos y metilos), y de los ltimos hay exactamente dos. Si consideramos
que z marca metilo, la funcin generatriz que corresponde a un ciclo de largo l es simplemente 1+z
l
(hay 1 forma de tener 0 metilos en l, lo que aporta 1 z
0
, y 1 forma de tener l metilo, lo que aporta
1 z
l
), y al substituir x
l
1+z
l
obtenemos:

D
12
(1+z, 1+z
2
, 1+z
3
, 1+z
4
, 1+z
5
, 1+z
6
) z
6
+z
5
+3z
4
+3z
3
+3z
2
+z +1
Esto conrma que hay tres ismeros en su coeciente de z
2
.
Si interesa determinar cuntos compuestos distintos tienen 2 radicales cloro (Cl), 2 metilos
(CH
3
) y 2 hidrgenos (H), usamos las variables u, v y w para estas tres opciones, y el valor buscado
es simplemente:
_
u
2
v
2
w
2
_

D
6
(u +v +w, u
2
+v
2
+w
2
, . . . , u
6
+v
6
+w
6
) 11
Por otro lado, un tomo de carbono puede unirse con cuatro otros tomos, dispuestos en los
vrtices de un tetraedro. Las operaciones de simetra de un tetraedro en el espacio (slo rotaciones,
no reexiones) son giros alrededor de un eje que pasa por un vrtice y el centroide de la cara opuesta
(ver la gura 23.14a) y giros alrededor de un eje que pasa por el punto medio de una arista y el
punto medio de la arista opuesta (ver la gura 23.14b). Las simetras son de los tipos dados en el
Operacin Ciclos Tipo N Trmino
Identidad (1)(2)(3)(4) [1
4
] 1 x
4
1
Giro en vrtice 4 en 1/3 (1 2 3)(4) [13
1
] 4 x
3
1
x
3
Giro en vrtice 4 en 2/3 (1 3 2)(4) [13
1
] 4 x
3
1
x
3
Giro en arista 1 2 en 1/2 (1 2)(3 4) [2
2
] 3 x
2
2
Cuadro 23.6 Rotaciones de un tetraedro
cuadro 23.6 (resulta que esto no es ms que el grupo alternante A
4
), y en consecuencia el ndice de
23.5. NMERODE COLOREOS DISTINGUIBLES 391
(a) Eje a travs de un vrtice (b) Eje en el punto medio de aristas
Figura 23.14 Operaciones de simetra (rotaciones) de un tetraedro
ciclos del grupo es

A
4
(x
1
, x
2
, x
3
, x
4
)
1
12
(x
4
1
+8x
1
x
3
+3x
2
2
)
As, para dos radicales diferentes hay
A
4
(2, 2, 2, 2) 5 compuestos posibles, y para cuatro radicales
hay
A
4
(4, 4, 4, 4) 36. Si hay dos tipos de radicales, la funcin generatriz es:

A
4
(u +v, u
2
+v
2
, u
3
+v
3
, u
4
+v
4
) u
4
+u
3
v +u
2
v
2
+uv
3
+v
4
Vale decir, hay un solo compuesto de cada una de las cinco composiciones posibles.
Considere rboles binarios completos de altura 2, como en la gura 23.15, que se consideran
3 4
2
6 7
5
1
Figura 23.15 Un rbol binario completo
iguales al intercambiar izquierda y derecha (como 3 con 4; pero tambin 2 con 5, que lleva consigo
intercambiar 3 con 6 y 4 con 7). Interesa determinar cuntos rboles hay con 3 nodos azules, si los
nodos se pintan de azul, rojo y amarillo.
Antes de entrar en el tema, es til obtener informacin sobre el grupo. Para determinar el orden
del grupo, tomamos algn elemento y analizamos su rbita y estabilizador. Tomando 3, su rbita es
G3 {3, 4, 6, 7}, mientras su estabilizador es G
3
{, (6 7)}, con lo que [G[ [G3[ [G
3
[ 4 2 8. Los
elementos del grupo los da el cuadro 23.7, el ndice de ciclos del grupo resulta ser:

G
(x
1
, x
2
, x
3
, x
4
, x
5
, x
6
, x
7
)
1
8
_
x
7
1
+2x
5
1
x
2
+x
3
1
x
2
2
+2x
1
x
3
2
+x
1
x
2
x
4
_
392 CAPTULO23. TEORA DE COLOREOS DE PLYA
Operacin Trmino
Identidad x
7
1
(3 4) x
5
1
x
2
(6 7) x
5
1
x
2
(3 4)(6 7) x
3
1
x
2
2
(2 5)(3 6)(4 7) x
1
x
3
2
(2 5)(3 7)(4 6) x
1
x
3
2
(2 5)(3 6 4 7) x
1
x
2
x
4
(2 5)(3 7 4 6) x
1
x
2
x
4
Cuadro 23.7 El grupo de operaciones del rbol
La manera ms simple de obtener el resultado buscado es reconocer que la funcin generatriz para
el nmero de maneras de formar rbitas de l nodos donde u marca el nmero de nodos azules es
simplemente 2+u
l
(dos formas de ningn azul, vale decir slo rojos o slo amarillos; y una forma
de l azules), y para aplicar el teorema de Plya interesa:
_
u
3
_

G
(2+u,2+u
2
, 2+u
3
, 2+u
4
, 2+u
5
, 2+u
6
, 2+u
7
)

_
u
3
__
u
7
+6u
6
+25u
5
+68u
4
+120u
3
+146u
2
+105u +42
_
120
Obtener esto por prueba y error sera impensable. Nuevamente agradecemos el apoyo algebraico de
maxima [203].
Un dado es un cubo, cuyas caras estn numeradas de 1 a 6. Interesa saber de cuntas maneras
distintas se pueden distribuir los seis nmeros sobre las caras. En este caso, interesan las simetras
rotacionales del cubo en el espacio (las reexiones corresponden a operaciones imposibles con un
slido). Primeramente calculamos el orden del grupo que nos interesa, que resulta ser el grupo de
rotaciones en el espacio de un octaedro y se denomina O. Sabemos que [O[ [O
x
[ [Ox[. Si jamos una
de las caras del cubo, hay 4 operaciones que la mantienen ja (rotaciones alrededor del centroide
de esa cara en mltiplos de /2), y esta cara puede ocupar cualquiera de las 6 posiciones. Luego
[O[ 4 6 24. Las operaciones y sus tipos las resume el cuadro 23.8. El ndice de ciclos del grupo O
Operacin N Trmino
Identidad 1 x
6
1
Giro alrededor de centro de una cara en /2 3 x
2
1
x
4
Giro alrededor de centro de una cara en 3 x
2
1
x
2
2
Giro alrededor de centro de una cara en 3/2 3 x
2
1
x
4
Giro alrededor del punto medio de una arista en 6 x
3
2
Giro alrededor de un vrtice en 2/3 4 x
2
3
Giro alrededor de un vrtice en 4/3 4 x
2
3
Cuadro 23.8 Operaciones de simetra rotacional de caras de un cubo
es

O
(x
1
, x
2
, x
3
, x
4
, x
5
, x
6
)
1
24
_
x
6
1
+6x
2
1
x
4
+3x
2
1
x
2
2
+6x
3
2
+8x
2
3
_
Como interesa saber de cuntas maneras se pueden distribuir los 6 nmeros sobre las 6 caras:
[z
1
z
2
z
3
z
4
z
5
z
6
]
O
(z
1
+ +z
6
, z
2
1
+ +z
2
6
, z
3
1
+ +z
3
6
, z
4
1
+ +z
4
6
, z
5
1
+ +z
5
6
, z
6
1
+ +z
6
6
)
23.5. NMERODE COLOREOS DISTINGUIBLES 393
Siquiera encontrar el trmino que interesa en esta expresin ya es toda una tarea. Pero si observamos
que la nica forma de obtener trminos en los que los z
i
entran en la primera potencia vienen de
aquellos trminos en que slo participa x
1
, nuestro problema se reduce a calcular:
[z
1
z
2
z
3
z
4
z
5
z
6
]
1
24
(z
1
+z
2
+z
3
+z
4
+z
5
+z
6
)
6

1
24
_
6
1 1 1 1 1 1
_
30
Si nos interesa contar el nmero de maneras de numerar las caras del dado respetando la res-
triccin que caras opuestas sumen 7, la situacin relevante es considerar las tres caras numeradas
1, 2 y 3. Estas caras sern adyacentes, y por tanto la situacin es la que indica la gura 23.16, que
Figura 23.16 Un cubo visto desde un vrtice
muestra las tres caras vistas desde un vrtice. Est claro que la simetra es C
3
, un tringulo equiltero
rotando en el plano (consideramos los vrtices del tringulo como las caras a ser numeradas). Para
este grupo el ndice de ciclos es:

C
3
(x
1
, x
2
, x
3
)
1
3
_
x
3
1
+2x
3
_
Nos interesa colorear con tres colores, y que cada uno aparezca exactamente una vez, por Plya:
[z
1
z
2
z
3
]
C
3
(z
1
+z
2
+z
3
, z
2
1
+z
2
2
+z
2
3
, z
3
1
+z
3
2
+z
3
3
)
El nico trmino en que entran los z
i
en la primera potencia es el trmino de la identidad, y en l
nos interesa cada uno en la primera potencia:
[z
1
z
2
z
3
]
C
3
(z
1
+z
2
+z
3
, z
2
1
+z
2
2
+z
2
3
, z
3
1
+z
3
2
+z
3
3
)
1
3
[z
1
z
2
z
3
] (z
1
+z
2
+z
3
)
3

1
3
_
3
1 1 1
_
2
Hay dos maneras diferentes de numerar las caras de un cubo con los nmeros uno a seis tal que
caras opuestas sumen siete.
24 Introduccin al anlisis complejo
Nahin [214] narra la larga y variada historia de los nmeros complejos. En forma similar al
anlisis con los reales se puede desarrollar anlisis en el mbito complejo. Muchos resultados son
simples de obtener para los complejos, y algunos fenmenos misteriosos se explican al observar
desde esta ptica. La teora tiene su propio encanto.
Algunas de nuestras maniobras son en extremo engorrosas usando slo las tcnicas del anlisis
real. Daremos ac los resultados ms importantes del anlisis complejo, que ayuda enormemente
al simplicar integrales denidas y sumas. Entrega adems herramientas tiles para construir apro-
ximaciones asintticas a muchos valores de inters. Textos introductorios ms completos son por
ejemplo los de Ash y Novinger [15], Beck, Marchesi, Pixton y Sabalka [23], Cain [48] y Chen [57]. Una
visin detallada y bastante completa dan Stein y Shakarchi [273].
24.1. Aritmtica
Sean w u +iv y z x +iy complejos (con la unidad imaginaria i
_
1 y u, v, x, y R ). La
parte real de z es z x, la parte imaginaria de z es z y. La suma y multiplicacin se calculan
como polinomios en R en la variable i, para luego considerar i
2
1. Vale decir:
w+z (u +x) +i(v +y)
w z (ux vy) +i(vx +uy)
Con estas operaciones los nmeros complejos son un campo, que anotamos C.
Podemos identicar los complejos con parte imaginaria 0 con los reales, y representar el com-
plejo z x +iy por el punto (x, y) del plano R
2
. A esta forma de representarlos se le llama forma
rectangular o forma cartesiana. Llamamos eje real al eje X y eje imaginario al eje Y . La suma de
complejos es simplemente la suma de los vectores correspondientes. Vea la gura 24.1a.
Como alternativa a dar las coordenadas del vector, podemos describirlo mediante su largo y el
ngulo que forma con el eje X. Para z x +iy el valor absoluto (tambin mdulo) r [z[ se dene
como:
[z[
_
x
2
+y
2
(24.1)
Un argumento de z, anotado argz, es un nmero real tal que
x r cos y r sin (24.2)
Ntese que todo nmero complejo tiene innitos argumentos. En el caso excepcional z 0 el m-
dulo es 0 y cualquier ngulo sirve de argumento. En caso z /0 vemos que si es un argumento de
z, tambin lo es +2k, para todo k Z. La representacin del nmero complejo como mdulo y
argumento se conoce como representacin polar. El valor principal del argumento se anota Argz,
395
396 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO

w
z
w+z
(a) Suma

w
z
w z
(b) Producto
Figura 24.1 Operaciones entre complejos
es el ngulo restringido al rango < . A veces resulta til restringir el ngulo a otro rango,
usaremos arg

z para el ngulo en el rango arg

z <+2.
La representacin polar da una bonita interpretacin de la multiplicacin. Sean nmeros com-
plejos z
1
x
1
+iy
1
y z
2
x
2
+iy
2
, respectivamente con mdulos r
1
y r
2
y argumentos
1
y
2
.
Entonces:
(x
1
+iy
1
) (x
2
+iy
2
) (r
1
cos
1
+ir
1
sin
1
) (r
2
cos
2
+ir
2
sin
2
)
r
1
r
2
_
(cos
1
cos
2
sin
1
sin
2
) +i(sin
1
cos
2
+cos
1
sin
2
)
_
r
1
r
2
(cos(
1
+
2
) +i sin(
1
+
2
))
Vea la gura 24.1b para un ejemplo.
Deberemos manipular expresiones de la forma cos+i sin con bastante frecuencia, rindin-
donos a la ojera (con la excusa de ahorrar papel, tinta, etc.) escribimos:
exp(i ) e
i
cos+i sin (24.3)
Por ahora (24.3) es simplemente una abreviatura cmoda, ms adelante demostraremos que es
consistente con la funcin exponencial del clculo real. Tambin es comn la notacin:
ciscos+i sin
El siguiente lema recoge algunas propiedades salientes, alentamos al lector interesado demos-
trarlas.
Lema 24.1. Para cualquier ,
1
,
2
R y todo k Z:
(I) [e
i
[ 1
(II) e
i
1
e
i
2
e
i(
1
+
2
)
(III) 1/e
i
e
i
(IV) e
i(+2k)
e
i
(V) [e
i
[ 1
24.2. UNPOQUITODE TOPOLOGA DEL PLANO 397
Con esta notacin, el nmero complejo de mdulo r y argumento puede escribirse:
x +iy r e
i
(24.4)
El cuadrado del valor absoluto de z tiene la bonita propiedad:
[z[
2
x
2
+y
2
(x +iy) (x iy) (24.5)
Esto hace til la operacin de conjugado:
x +iy x iy (24.6)
En el plano cartesiano corresponde a reejar el vector en el eje X. Tenemos algunas propiedades,
que nuevamente animamos a demostrar.
Lema 24.2. Para todo z, z
1
, z
2
C, y para todo R:
(I) z
1
z
2
z
1
z
2
(II) z
1
z
2
z
1
z
2
(III) z
1
/z
2
z
1
/z
2
(IV) z z
(V) [z[ [z[
(VI) [z[
2
zz
(VII) z
1
2
(z +z) z
1
2i
(z z)
(VIII) e
i
e
i
La parte (VI) del lema 24.2 da una frmula limpia para el recproco de un complejo no cero:
1
z

z
[z[
2
(24.7)
24.2. Un poquito de topologa del plano
Al considerar funciones en R la situacin es bastante simple, basta hablar de intervalos. Inclu-
so en R
n
el tratamiento puede seguir esencialmente variable a variable y restringirse a intervalos
adecuados. En C esto no es satisfactorio, reas del plano pueden tener relaciones mucho ms com-
plicadas entre s que los simples intervalos. Las deniciones siguientes sern usadas con mucha
frecuencia en lo que sigue, es importante familiarizarse con ellas.
Requeriremos alguna terminologa para tratar con subconjuntos de C. Si w, z C, entonces
[z w[ es la distancia en el plano entre esos puntos. Si jamos un nmero complejo a y un real
positivo r , el conjunto [z a[ r es la circunferencia de radio r alrededor de a. Al interior del crculo
se le llama el disco abierto de radio r alrededor de a, que anotaremos D
r
(a). Ms precisamente,
D
r
(a) {z C: [z a[ <r }. Ntese que esto no incluye la circunferencia.
Denicin 24.1. Sea E un subconjunto cualquiera de C.
(I) Un punto a es un punto interior de E si hay algn disco abierto D
r
(a) que est completamente
en E
398 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
(II) Un punto b es un punto frontera de E si todo disco abierto D
r
(b) contiene un punto de E y un
punto que no pertenece a E.
(III) Un punto c es un punto de acumulacin de E si todo disco abierto D
r
(c) contiene un punto
de E diferente de c
(IV) Un punto d es un punto aislado de E si pertenece a E y algn disco abierto D
r
(d) no contiene
ningn punto de E excepto d
En lo anterior a pertenece a E, pero b y c no necesariamente pertenecen a E. Desde un punto
interior podemos movernos un poco en cualquier direccin sin salir de E, de un punto frontera
movindonos un poco quedamos dentro de E, pero otros movimientos arbitrariamente pequeos
nos dejan al exterior. Como el nombre indica, un punto aislado est desconectado del resto del
conjunto, hay un entorno de l que no contiene otros puntos del conjunto.
Denicin 24.2. Un conjunto es abierto si todos sus puntos son internos, y es cerrado si incluye
todos sus puntos frontera.
Como ejemplos, para r > 0 y z
0
C los conjuntos {z C: [z z
0
[ < r }, {z C: [z z
0
[ > r } y
{x +iy C: 1 < x < 1} son abiertos. El conjunto {x +iy C: 1 x 15 y 5} es cerrado.
Los conjuntos y C son abiertos, pero tambin son cerrados (no tienen puntos frontera, con lo
que vacuamente incluyen sus fronteras). El conjunto {x +iy : 0 x 10 < y <1} no es abierto ni
cerrado.
Denicin24.3. La frontera de E, anotada E, es el conjunto de los puntos frontera de E. La clausura
de E, anotada E, es el conjunto E junto con su frontera.
Para el disco abierto D
r
(z
0
) {z C: [z z
0
[ < r } la frontera es D
r
(z
0
) {z C: [z z
0
[ r }, y
su clausura es D
r
(z
0
) {z C: [z z
0
[ r }. Un tema un tanto sutil en los complejos es la idea de
conectividad. Intuitivamente, un conjunto es conexo si es una sola pieza. En los reales un conjunto
es conexo exactamente si es un nico intervalo, lo que no tiene mucho inters. En un plano hay gran
variedad de conjuntos conexos, y se requiere una denicin precisa.
Denicin 24.4. Dos conjuntos X, Y C se dicen separados si hay conjuntos abiertos A y B disjun-
tos tales que X A y Y B. El conjunto D C es conexo si es imposible hallar conjuntos abiertos
disjuntos tales que D es su unin. Una regin es un conjunto conexo abierto.
Por ejemplo, los intervalos [0, 1) y (1, 2] en el eje real estn separados (hay innitas posibilidades
para X e Y de la denicin, por ejemplo X D
1
(0) e Y D
1
(2)).
Un tipo de conjunto conexo que usaremos con frecuencia es la curva.
Denicin24.5. Un camino o curva en Ces la imagen de una funcin continua : [a, b] C, donde
[a, b] es un intervalo cerrado en R. Ac la continuidad se reere a que t x(t ) +iy(t ), y que tanto x
como y son continuas. La curva se dice suave si ambas componentes son diferenciables.
Decimos que la curva est parametrizada por , y en un abuso comn de la notacin usaremos
para referirnos a la curva. La curva se dice cerrada si (a) (b), y es una curva simple cerrada si
(a) (b) y (s) (t ) slo si s t , s a y t b, o s b y t a. Vale decir, la curva no se intersecta
a s misma, slo coinciden los puntos inicial y nal.
Lo siguiente es intuitivamente obvio, pero requiere ahondar bastante para demostrarse:
Teorema 24.3. Toda curva en C es conexa.
24.3. LMITES Y DERIVADAS 399
Es claro que : [0, 1] C con (t ) z
0
+t (z
1
z
0
) dene un segmento de una recta en C que
va de z
0
a z
1
. Al segmento de la recta z
0
z
1
as parametrizada la anotaremos [z
0
, z
1
]. Podemos de-
nir una curva formada por los segmentos z
0
z
1
, z
1
z
2
, . . . , z
n1
z
n
, que anotaremos [z
0
, z
1
, . . . , z
n
]. A
tales curvas las llamaremos poligonales. La parametrizacin quedar a cargo del amable lector. Un
teorema intuitivamente obvio, pero cuya demostracin tiene sus sutilezas, es el siguiente:
Teorema 24.4. Si D es un subconjunto de C tal que cualquier par de puntos en D pueden conectarse
mediante una curva en D entonces D es conexo. Por el otro lado, si D es un subconjunto abierto conexo
de C entonces cualquier par de puntos de D pueden conectarse mediante una curva en D, incluso es
posible conectarlos mediante una curva poligonal.
Un teorema central, bastante difcil de demostrar en su generalidad, es el siguiente:
Teorema 24.5 (Jordan). Sea una curva simple cerrada. Entonces el complemento de consiste
exactamente de dos componentes conexos. Uno de estos componentes es acotado (el interior de ), el
otro no es acotado (el exterior de ).
Por este teorema comnmente se les llama curvas de Jordan a las curvas simples cerradas.
24.3. Lmites y derivadas
Si z es una variable compleja, y f (z) alguna funcin de la misma, el lmite se dene igual que en
los reales. Decimos que
lm
zz
0
f (z)
si para todo >0 existe >0 tal que:
0 <[z z
0
[ < [ f (z) [ < (24.8)
Formalmente es idntica a la denicinpara los reales, pero debe tenerse presente que ac [zz
0
[ <
representa un crculo alrededor de z
0
. Esto suele describirse diciendo que el lmite debe ser el mismo,
independiente del camino que siga z x +iy para acercarse a z
0
x
0
+iy
0
. Denimos que f (z) es
continua en z
0
si
lm
zz
0
f (z) f (z
0
)
Si f es continua en todos los puntos en que est denida decimos simplemente que es continua. Si
z x +iy, z
0
x
0
+iy
0
y f (z) u(x, y) +iv(x, y) (como por ejemplo f (z) z
2
x
2
y
2
+2xyi) , es
fcil ver que f (z) es continua si y slo si lo son u(x, y) y v(x, y).
Lema 24.6. Si lm
zz
0
f (z) y lm
zz
0
g(z) existen, tenemos las siguientes propiedades de los lmites:
(I) lm
zz
0
c f (z) c lm
zz
0
f (z)
(II) lm
zz
0
( f (z) +g(z)) lm
zz
0
f (z) + lm
zz
0
g(z)
(III) lm
zz
0
( f (z) g(z)) lm
zz
0
f (z) lm
zz
0
g(z)
(IV) Siempre que lm
zz
0
g(z) /0 es:
lm
zz
0
f (z)
g(z)

lm
zz
0
f (z)
lm
zz
0
g(z)
400 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
La demostracin es simple, y quedar de ejercicio. De ac es inmediato que la suma, diferencia,
producto y cociente de funciones continuas son continuas (siempre que no tengamos un denomi-
nador cero, claro est).
Dada una funcin compleja f (z) denimos su derivada en z z
0
como el siguiente lmite, si
existe:
f
t
(z
0
) lm
h0
f (z
0
+h) f (z
0
)
h
(24.9)
Una notacin alternativa comn es:
df
dz
f
t
(z)
La condicin que el lmite sea el mismo, independiente del camino seguido por h para aproximarse
a cero, hace que para f (x +iy) u(x, y) +iv(x, y) con x y y reales deba ser:
lm
x0
f (z
0
+x) f (z
0
)
x
lm
y0
f (z
0
+i y) f (z
0
)
i y
u
x
+i
v
x
i
u
y
+
v
y
(24.10)
Las expresiones (24.10) expresan la derivada compleja en trminos de las coordenadas.
Igualando partes reales y complejas, resultan las ecuaciones de Cauchy-Riemann:
u
x

v
y
u
y

v
x
(24.11)
Esto ya demuestra que hay condiciones fuertes para que una funcintenga derivada enunpunto. Re-
sulta que las ecuaciones (24.11) junto con continuidad de las derivadas son condiciones necesarias
y sucientes para que f (x +iy) u(x, y) +iv(x, y) tenga derivada en z
0
x
0
+iy
0
.
Si la funcin f tiene derivada en z
0
, se dice que es diferenciable en z
0
. Auna funcindiferenciable
en todo punto en una regin abierta se le llama holomorfa (mucha literatura errneamente se reere
a ellas como funciones analticas, un concepto relacionado). Una funcin holomorfa sobre todo C
se llama entera.
Las siguientes propiedades de la derivada se demuestran bsicamente cambiando x por z en las
demostraciones respectivas para los reales:
Lema 24.7. Sean f y g diferenciables en z C, sea c C, sea n Z, y sea h diferenciable en g(z).
Entonces:
(I) (c f (z))
t
c f
t
(z)
(II) ( f (z) +g(z))
t
f
t
(z) +g
t
(z)
(III) ( f (z) g(z))
t
f
t
(z) g(z) + f (z) g
t
(z)
(IV) Siempre que g(z) /0 es ( f (z)/g(z))
t
( f
t
(z) g(z) f (z) g
t
(z))/g
2
(z)
(V) (z
n
)
t
nz
n1
(VI) (h(g(z)))
t
h
t
(g(z)) g
t
(z)
24.3. LMITES Y DERIVADAS 401
Un ltimo resultado se reere a funciones inversas.
Lema 24.8. Sean G y H conjuntos abiertos en C, f : G H una biyeccin con inversa g : H G,
y sea z
0
H. Si f es diferenciable en g(z
0
) con f
t
(g(z
0
)) / 0, y g es continua en z
0
, entonces g es
diferenciable en z
0
, y:
g
t
(z
0
)
1
f
t
(g(z
0
))
Demostracin. Por denicin:
g
t
(z
0
) lm
zz
0
g(z) g(z
0
)
z z
0
lm
zz
0
g(z) g(z
0
)
f (g(z)) f (g(z
0
))
lm
zz
0
1
f (g(z))f (g(z
0
))
g(z)g(z
0
)
Dado que g es continua en z
0
, g(z) g(z
0
) cuando z z
0
, lo que da:
g
t
(z
0
) lm
wg(z
0
)
1
f (w)f (g(z
0
))
wg(z
0
)
El denominador es continuo y diferente de cero, por el lema 24.6 tenemos lo prometido.
Un resultado importante es:
Teorema 24.9. Si f
t
(z) 0 para todo z en una regin D, entonces f (z) es constante en D.
Elegimos un punto jo z
0
D, y conectaremos un punto arbitrario z D con z
0
mediante una
poligonal, y demostraremos que f es constante sobre esa poligonal. Como z es arbitrario, f es
constante en D.
Demostracin. Sean z
0
, z D. Por el teorema 24.4 hay una poligonal [z
0
, z
1
, . . . , z] en D que los co-
necta. Sea f (z) u +iv, si f
t
(z) 0 de las ecuaciones de Cauchy-Riemann es:
u
x

u
y

v
x

v
y
0
Considerando uno de los tramos, digamos [z
k
, z
k+1
] vemos que esta recta queda descrita por una
parametrizacin de la forma z
k
+(t t
k
)(z
k+1
z
k
)/(t
k+1
t
k
) t +. Resulta que la derivada de f
respecto a t a lo largo de [z
k
, z
k+1
] se anula:
f ((t +h) +) f (t +)
h

u
x
dx
dt
+i
v
x
dy
dt
0
Ac usamos la frmula (24.10) para la derivada compleja. Podemos aplicar el teorema del valor
medio para funciones reales (componente a componente) a f como funcin de t . Como la derivada
se anula, esto nos dice que no hay cambios:
f (z
k+1
) f (z
k
) 0
Esto es lo que queramos demostrar.
402 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
24.4. Funciones elementales
Es claro que los polinomios son funciones enteras, y si se restringen a argumentos reales son
simplemente las funciones conocidas. Un poquito ms delicado es el caso de funciones racionales,
como:
z
3
3z +2
z
2
+1
Esta funcin es holomorfa salvo en los puntos z i, donde el denominador se anula. Como funcin
real es continua y tiene derivada en todas partes.
Veamos la funcin exponencial. Parece razonable extender la propiedad bsica e
x
1
e
x
2
e
x
1
+x
2
a argumentos complejos, lo que para x, y R da:
e
x+iy
e
x
e
iy
Esto, con la convencin (24.3), resulta en:
Denicin 24.6. Para x, y R denimos:
e
x+iy
e
x
(cos y +i siny) (24.12)
Escribiendo:
e
z
u(x, y) +iv(x, y)
vemos que se satisfacen las ecuaciones de Cauchy-Riemann (24.11) y que las derivadas son conti-
nuas para todo z C. Esta funcin es entera. Vemos tambin que:
d
dz
e
z

u
x
+i
v
x
e
x
cos y +i e
x
siny e
z
(24.13)
Ya vimos que e
iy
1
e
iy
2
e
i(y
1
+y
2
)
, y e
x
1
e
x
2
e
x
1
+x
2
, que en conjunto hacen que e
z
1
e
z
2
e
z
1
+z
2
,
como buscbamos. Notamos que:

e
z

e
x

cos y +i siny

e
x

_
cos
2
y +sin
2
y
_
1/2
e
x
(24.14)
Como e
x
nunca se anula para x R, y cos y y siny no se anulan juntas, e
z
/0 para todo z C.
En nuestra lista siguen las funciones trigonomtricas. La convencin (24.3) para da:
e
i
cos+i sin e
i
cosi sin
De este sistema de ecuaciones:
cos
e
i
+e
i
2
sin
e
i
e
i
2i
lo que sugiere denir:
cosz
e
iz
+e
iz
2
(24.15)
sinz
e
iz
e
iz
2i
(24.16)
24.5. LOGARITMOS Y POTENCIAS 403
Es claro que estas funciones son enteras, y cumplen las identidades trigonomtricas conocidas para
los reales. Cuidado, estas funciones no son acotadas en C. El lector escptico podr entretenerse
demostrando algunas identidades, como cos
2
z +sin
2
z 1 o las frmulas para sumas de ngulos.
De las relaciones (24.15) y (24.16) vemos que para las funciones hiperblicas:
coshz
e
z
+e
z
2
cosiz (24.17)
sinhz
e
z
e
z
2
i siniz (24.18)
Estas funciones tambin son enteras. Podemos denir las dems funciones trigonomtricas e hiper-
blicas usando las mismas deniciones que para los reales.
24.5. Logaritmos y potencias
Entre los reales, el logaritmo es simplemente el inverso de la exponencial. Esto est perfecta-
mente bien denido en ese caso. Entre los complejos, sin embargo, la exponencial es una funcin
peridica (el perodo es 2i). Como hay innitas soluciones a la ecuacin e
z
w siempre que w /0,
no podemos esperar denir una funcin anloga, deberemos dar algunos rodeos. En particular, para
x R con x >0 realmente es logx lnx +2k, ya que debemos considerar los posibles argumentos.
Ac lnx es el familiar logaritmo natural de los reales. En los reales simplemente dejamos de lado la
componente imaginaria.
Para z /0 denimos:
logz ln[z[ +i argz (24.19)
Con esto tenemos el caso emblemtico:
log(1) ln1+i arg(1) (2k +1)i
Esto cumple el familiar:
e
logz
e
ln[z[+i argz
e
ln[z[
e
i argz
z
Pero aparece una complicacin. Con el ya tradicional z x +iy tenemos:
log
_
e
z
_
lne
x
+i arge
z
x +(y +2k)i z +2ki
Ac k es un entero cualquiera. De la misma manera, para un entero cualquiera k:
log(wz) ln([w[ [z[) +i arg(wz) ln[w[ +i argw+ln[z[ +i argz +2ki
logw+logz +2ki
Denimos la rama principal del logaritmo mediante:
Logz ln[z[ +i Argz (24.20)
Si z x, un real positivo, es:
Logx lnx +i Argx lnx
Vemos que la nueva funcin es una extensin del logaritmo real. La denicin del argumento prin-
cipal con este rango, en vez del mucho ms natural 0 <2, es precisamente para asegurar esta
coincidencia sin estar equilibrndonos en el borde del abismo a lo largo de la lnea real.
404 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
La funcin Log es holomorfa en muchas partes. No est denida para z 0, y tiene un corte en
la lnea real negativa. Sea z
0
x
0
+iy
0
tal que Logz
0
est denido, y veamos su derivada:
lm
zz
0
Logz Logz
0
z z
0
lm
zz
0
Logz Logz
0
e
Logz
e
Logz
0
Deberemos restringirnos a trabajar en una regin que no incluya los puntos conictivos menciona-
dos. Con w Logz y w
0
Logz
0
, notando que w w
0
cuando z z
0
, esto es:
lm
zz
0
Logz Logz
0
z z
0
lm
ww
0
ww
0
e
w
e
w
0

1
e
w
0

1
z
0

D
Figura 24.2 Dominio alternativo de logz
Ntese que la restriccin del argumento es un tanto arbitraria, si nos interesa trabajar en la
regin D de la gura 24.2, podemos restringir el argumento al rango [/4, 9/4).
Ahora estamos en condiciones de denir potencias arbitrarias de z. La denicin obvia es:
z
c
e
c logz
Hay muchos valores de logz, con lo que pueden haber muchos valores de z
c
. Al lector atento no le
extraar que se le llame el valor principal de z
c
a e
c Logz
. En caso que c n, un entero, la denicin
da:
z
n
e
nlogz
e
n(Logz+2ki)
e
nLogz
e
2nki
e
nLogz
[z[
n
e
inArgz
Exactamente como debiera ser. El lector interesado vericar que si c es un racional, la frmula da
todos los valores esperados.
Esto introduce un nuevo problema. Tenemos una denicin de potencias que aplicada a z e
puede dar innitos valores para e
c
. Hasta ac hemos asumido simplemente que para z x +iy es:
e
z
exp(z) e
x
(cos y +i siny)
Equivalentemente, e
z
se reere al valor principal de esta expresin. Esta es la convencin que adop-
taremos, que por lo dems es universal.
24.6. INTEGRALES 405
24.6. Integrales
La integral en los reales es simplemente a lo largo de la lnea real. Al integrar en los complejos
hay muchos caminos distintos que podemos seguir. De todas formas, una denicin natural para la
integral de la funcin f a lo largo del camino suave : [a, b] C es seguir la denicin de la integral
de Riemann en los reales. Imaginemos una subdivisin del rango [a, b] en n tramos [t
k1
, t
k
], donde
1 k n. Vemos que al tramo [t
k1
, t
k
] corresponde un arco [z
k1
, z
k
] del camino , un punto t

k
en el tramo [t
k1
, t
k
] da un punto z

k
en el arco correspondiente. Supongamos ahora dado > 0
cualquiera. Dada una particin P tal que se cumple para todo tramo que [z
k
z
k1
[ <, eligiendo
puntos t

k
en cada tramo calculamos la suma:
S(P)

1kn
f (z

k
)(z
k
z
k1
)
Si estas sumas tienden al valor L cuando 0, llamamos a este lmite el valor de la integral, y
anotamos:
_

f (z)dz L
Podemos expresar la suma en trminos de t :
S(p)

1kn
f ((t

k
))((t

k
) (t

k1
))

1kn
f ((t

k
))((t

k
) (t

k1
))

1kn
f ((t

k
))
(t

k
) (t

k1
)
t

k
t

k1
(t

k
t

k1
)
Si 0, vemos que esto tiende a:
_

f (z)dz
_
b
a
f ((t ))
t
(t )dt (24.21)
Esta misma frmula indica que el valor de la integral es independiente de la parametrizacin de la
curva.
Una cota que usaremos frecuentemente es la siguiente.
Lema 24.10 (Cota para integrales complejas). Supngase que hay un nmero M tal que [ f (z)[ M
para todo z en la curva suave : [a, b] C, y sea l

el largo de la curva . Entonces:

f (z)dz

Ml

(24.22)
Demostracin. Usando la desigualdad triangular sobre la denicin de la integral, vemos que:

f (z)dz

_
b
a
f (z)
t
(t )dt

_
b
a
[ f (z)[ [
t
(t )[dt M
_
b
a
[
t
(t )[dt
Si describimos (t ) x(t ) +iy(t ) tenemos:
_
b
a
[
t
(t )[dt
_
b
a
_
_
x
t
(t )
_
2
+
_
y
t
(t )
_
2
_
1/2
dt
que reconocemos como el largo l

de la curva.
406 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
24.6.1. Integrales y antiderivadas
Supongamos nuevamente un camino suave entre a y b, una funcin g(z) diferenciable en ,
y consideremos t [a, b]. Veamos cul es la derivada de g((t )). Resulta ser exactamente como nos
imaginamos. Primero, con g(x +iy) u(x, y) +iv(x, y) y (t ) x(t ) +iy(t ), es:
g((t )) u(x(t ), y(t )) +iv(x(t ), y(t ))
Enseguida:
d
dt
g((t ))
u
x
dx
dt
+
u
y
dy
dt
+i
_
v
x
dx
dt
+
v
y
dy
dt
_
Usando las ecuaciones de Cauchy-Riemann:
d
dt
g((t ))
u
x
dx
dt

v
x
dy
dt
+i
_
v
x
dx
dt
+
u
x
dy
dt
_

_
u
x
+i
v
x
_

_
dx
dt
+i
dy
dt
_
g
t
((t ))
t
(t )
Volvamos a las integrales ahora. Sea una regin D y una funcin F : D C tal que en D tenemos
F
t
(z) f (z). Supongamos un camino suave : [a, b] D. Sabemos de arriba que:
d
dt
F((t )) F
t
((t ))
t
(t ) f ((t ))
t
(t )
Entonces:
_

f ()d
_
b
a
f ((t ))
t
(t )dt
_
b
a
d
dt
F((t ))dt F((b)) F((a)) (24.23)
La ltima relacin resulta del teorema fundamental del clculo integral.
Muy agradable, la integral depende nicamente de los puntos inicial y nal del camino. En
particular, si el camino es cerrado, la integral es cero.
El converso ahora. Supongamos que la integral de la funcin continua f no depende del camino,
vale decir podemos tomar un punto z
0
D y denir una funcin:
F(z)
_

z
f ()d
donde el camino
z
comienza en z
0
y termina en z, sin salir de D. Sabemos que de existir tales
caminos para cada eleccin de z la regin D debe ser conexa. Evaluemos la derivada de F:
lm
h0
F(z +h) F(z)
h
lm
h0
1
h
_

h
f ()d
Ac
h
es un camino que comienza en z y termina en z +h. Vemos tambin que:
_

h
d h
_

h
f (z) d hf (z)
24.6. INTEGRALES 407
Con esto:
lm
h0
F(z +h) F(z)
h
f (z) lm
h0
1
h
_

h
( f () f (z))d
Ahora bien, como las integrales no dependen del camino podemos calcularla sobre la recta de z a
z +h:

1
h
_

h
( f () f (z))d

1
h

[h[ m ax
_
[ f () f (z)[ : [z, z +h]
_
Como f es continua, cuando h 0 esto tiende a cero, y F
t
(z) f (z), como esperbamos.
En resumen:
Teorema 24.11. Sea D una regin conexa, y sea f : D C continua. Entonces f tiene antiderivada
en D si y slo si la integral entre dos puntos de D es independiente del camino. El valor de la integral
es la diferencia entre los valores de la antiderivada.
Pero tambin hemos demostrado:
Teorema 24.12 (Morera). Sea f continua en D tal que para toda curva suave cerrada simple D:
_

f (z)dz 0
Entonces f es holomorfa en D.
24.6.2. El teorema de Cauchy
Nos interesa evaluar integrales sobre caminos cerrados, en particular demostrar que tales inte-
grales no dependen del detalle del camino. Para ello requeriremos algunas herramientas adicionales.
Denicin 24.7. Sean
0
y
1
curvas cerradas en el conjunto abierto D C, parametrizadas por

0
: [0, 1] D y
1
: [0, 1] D, respectivamente. Decimos que
0
es D-homotpica a
1
, en smbolos

D

1
, si hay una funcin continua h: [0, 1]
2
D tal que:
h(t , 0)
0
(t )
h(t , 1)
1
(t )
h(0, s) h(1, s)
Si D es conexa y tal que toda curva cerrada simple es homotpica a un punto, se dice que D es
conexa simple.
La idea es que h(t , s) es una curva en D, la ltima condicin asegura que sea siempre cerrada.
Cambiando s cambia la curva, que va en forma continua de
0
a
1
. Ntese tambin que las curvas
se recorren todas en direccin de t creciente, arbitrariamente denimos la direccin positiva como
aquella en que el interior encerrado por la curva queda a su izquierda. Es simple ver que la homoto-
pa es una relacin de equivalencia entre curvas. Frecuentemente consideraremos un punto aislado
como una curva de largo cero. Una regin conexa simple no tiene agujeros.
Mucho de lo que viene a continuacin se basa en el siguiente teorema. La demostracin es
de [23].
Teorema 24.13 (Cauchy). Sea D C una regin abierta, f holomorfa en D, y
0

D

1
va una
homotopa con segundas derivadas continuas y que coinciden para s 0 y s 1. Entonces:
_

0
f (z)dz
_

1
f (z)dz
408 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO

1
Figura 24.3 Ejemplos de homotopa
La condicin de suavidad de la homotopa puede relajarse bastante, pero la demostracin se
hace muy compleja. Para las aplicaciones de nuestro inters esta condicin se cumple.
Demostracin. Sea h(t , s) la homotopa de
0
a
1
, y denamos
s
como la curva denida por h para
s. Consideremos la funcin:
I (s)
_

s
f (z)dz
_
1
0
f (h(t , s))
h
t
dt
Esta expresin resulta de (24.21). Demostraremos que I (s) es constante, con lo que se cumple lo
prometido como I (0) I (1). Por la regla de Leibnitz:
d
ds
I (s)
d
ds
_
1
0
f (h(t , s))
h
t
dt
_
1
0

s
_
f (h(t , s))
h
t
_
dt
Usando el men completo de propiedades de las derivadas parciales:
d
ds
I (s)
_
1
0
_
f
t
(h(t , s))
h
s
h
t
+ f (h(t , s))

2
h
st
_
dt

_
1
0
_
f
t
(h(t , s))
h
t
h
s
+ f (h(t , s))

2
h
t s
_
dt

_
1
0

t
_
f (h(t , s))
h
s
_
dt
Aplicando el teorema fundamental del clculo integral por separado a las componentes real e imagi-
naria, y recordando la condicin h(0, s) h(1, s) y que las respectivas derivadas coinciden:
d
ds
I (s) f (h(1, s))
h
s
(1, s) f (h(0, s))
h
s
(0, s) 0
Si la derivada compleja es cero, lo son las derivadas parciales de las componentes real e imaginaria,
y as la funcin es constante.
Una consecuencia inmediata es que si D es una regin conexa simple en la cual la funcin f es
holomorfa entonces para todo camino suave cerrado D:
_

f (z)dz 0
Esto porque en este caso cualquier curva D es homotpica con un punto, y claramente la integral
para un punto es cero. Por el teorema 24.11 en tales regiones la integral es independiente del camino
y existe una antiderivada.
24.6. INTEGRALES 409
24.6.3. La frmula integral de Cauchy
Tenemos el siguiente resultado notable:
Teorema 24.14 (Frmula integral de Cauchy). Sea f holomorfa en la regin D que contiene el camino
cerrado simple , con la orientacin habitual que el interior est a la izquierda, y suponga que z
0
est
al interior de . Entonces:
f (z
0
)
1
2i
_

f (z)
z z
0
dz
Demostracin. Sea > 0 arbitrario. Sabemos que f es continua en z
0
, por lo que existe > 0 tal
que [ f (z) f (z
0
)[ < siempre que [z z
0
[ < . Sea ahora r > 0 tal que r < y la circunferencia
C
0
{z : [z z
0
[ r } est dentro de . Entonces f (z)/(z z
0
) es holomorfa en la regin entre y C
0
,
por lo que del teorema de Cauchy:
_

f (z)
z z
0
dz
_
C
0
f (z)
z z
0
dz
La integral siguiente es fcil de evaluar si parametrizamos C
0
como z
0
+r e
it
:
_
C
0
1
z z
0
dz
_
2
0
1
r
r i e
it
dt 2i
Con esto:
_
C
0
f (z)
z z
0
dz 2i f (z
0
)
_
C
0
f (z)
z z
0
dz
_
C
0
f (z
0
)
z z
0
dz
_
C
0
f (z) f (z
0
)
z z
0
dz
Sobre C
0
tenemos:

f (z) f (z
0
)
z z
0

[ f (z) f (z
0
)[
[z z
0
[


r
De nuestra cota (24.22) para integrales:
_
C
0
f (z) f (z
0
)
z z
0
dz

r
2r 2
Pero es un nmero positivo arbitrario, la integral debe ser cero.
Esto es realmente notable: Si f es holomorfa al interior del camino cerrado y conocemos los
valores de f sobre , los conocemos en todo su interior.
Incluso da una manera sencilla de evaluar ciertas integrales. Por ejemplo, evaluemos la integral:
_

0
1
x
2
+1
dx
Primero, el integrando es par, con lo que:
_

0
1
x
2
+1
dx
1
2
_

1
x
2
+1
dx
El integrando tiene problemas en i, es holomorfo en C{i, i}. La curva de la gura 24.4 se
descompone en un arco A de radio R y la lnea L de R a R a lo largo del eje X. Si hacemos tender
410 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO

R R
Figura 24.4 Curva para integral ejemplo
R , la integral sobre L es el resultado que nos interesa. Debemos evaluar la integral sobre el arco.
Como nos interesa R , perfectamente podemos concentrarnos en R >1. Tenemos:

_
A
1
z
2
+1
dz

_
A
1
[z
2
+1[
dz
_
A
1
[z[
2
1
dz
1
R
2
1
R
Esto tiende a cero cuando R , como esperbamos. Ac usamos:
[z[
2
[(z
2
+1) 1[ [z
2
+1[ +1
Por otro lado, por la frmula de Cauchy podemos escribir para z
0
i:
_

1/(z +i)
z i
dz 2i
1
z +i

zi

y nuestra integral original es:


_

0
1
x
2
+1
dx

2
Esta integral es simple de evaluar en forma tradicional, pero esta tcnica es aplicable en forma
mucho ms amplia.
Teorema 24.15. Sea f holomorfa en la regin D. Entonces f
t
es holomorfa en D.
Demostracin. Sea C una circunferencia centrada en z de radio r dentro de D, y z +h un punto
dentro de C. Es rutina vericar que:
1
h
_
1
z h

1
z
_

1
(z)
2
+
h
(z)
2
(z h)
Calculamos:
f (z +h) f (z)
h

1
2hi
_
C
f ()
z h
d
1
2hi
_
C
f ()
z
d

1
2i
_
C
f ()
(z)
2
d+
h
2i
_
C
f ()
(z)
2
(z h)
d
Si [h[ <r /2, por la desigualdad triangular (teorema 1.2) para todo C es:
[z h[ [z[ [h[ >r
r
2

r
2
24.6. INTEGRALES 411
Por el otro lado, f es continua sobre C, por lo que hay M tal que [ f ()[ M para C. De la
estimacin (24.22) tenemos:

h
2i
_
C
f ()
(z)
2
(z h)
d

[h[
2
2M
r
3
2r
2M[h[
r
2
Cuando h 0 esto tiende a cero. Esto nos da f
t
(z).
Aplicando el mismo argumento, obtenemos f
tt
(z), con lo que f
t
es holomorfa. Continuando
tenemos derivadas de todos los rdenes. Hemos demostrado:
Teorema 24.16. Sea f holomorfa en la regin D. Entonces para todo n N la funcin f
(n)
es holo-
morfa en D.
Esto es notable, en los reales la existencia de la primera derivada nada dice de las derivadas
superiores, ac la existencia de la primera derivada asegura que hay derivadas de todos los rdenes.
An ms:
Teorema24.17(Frmula integral de Cauchy generalizada). Sea f holomorfa enla reginD. Entonces:
f
(n)
(z)
n!
2i
_
C
f ()
(z)
n+1
d (24.24)
Demostracin. Por el teorema 24.16 sabemos que f
(n)
es holomorfa en D. La frmula integral de
Cauchy permite escribir:
f
(n)
(z)
1
2i
_
C
f
(n)
()
z
d
Integrando por partes n veces entrega lo prometido.
Hay ms consecuencias de inters.
Teorema 24.18 (Liouville). Si una funcin entera es acotada en valor absoluto, es constante.
Demostracin. Por hiptesis hay una constante M tal que [ f (z)[ M para todo z C. Demostramos
por contradiccin que f
t
(z) 0 en todo C, con lo que por el teorema 24.9 f es constante.
Supongamos que para algn z es f
t
(z) /0. Elija R de manera que M/R <[ f
t
(z)[. Sea C la circun-
ferencia de radio R alrededor de z. Entonces:
M
R
<[ f
t
(z)[

1
2i
_
C
f ()
(w)
2
d

1
2
M
R
2
2R
M
R
Esta contradiccin muestra que tal z no existe.
Podemos aprovechar esto inmediatamente, bsicamente como lo hizo Gau en su disertacin
(aunque Liouville es bastante posterior). Pese a su nombre, poco tiene que ver con el lgebra actual
y no es particularmente fundamental.
Teorema 24.19 (Teorema fundamental del lgebra). Todo polinomio no constante con coecientes
complejos tiene un cero complejo.
Demostracin. Por contradiccin. Sea p(z) un polinomio no constante sin ceros complejos. Enton-
ces 1/p(z) es entera y acotada (cuando z tambin [p(z)[ , y la funcin es acotada en todo
C), y por el teorema de Liouville es constante. Esto contradice el que p no es constante.
La manera tradicional de expresar el teorema 24.19 es diciendo que todo polinomio no constante
de coecientes reales se puede factorizar en factores lineales o cuadrticos sin ceros reales, o que si
tiene grado n tiene n ceros reales o complejos conjugados (contando multiplicidades).
412 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
24.7. Secuencias y series
Las deniciones de secuencias y series complejas son esencialmente las mismas que para los
reales. Anotamos a
n

n0
para la secuencia de los a
n
(formalmente, es una funcin a: N
0
C). El
nmero L se llama el lmite de la secuencia si para cualquier > 0 que se elija hay un entero n

,
dependiente de , tal que siempre que n n

es [L a
n
[ <. Esto lo anotamos lma
n
L. Es fcil ver
que si a
n
u
n
+iv
n
y la secuencia a
n

n0
converge a L, tenemos lmu
n
L y lmv
n
L. Al revs,
si las secuencias reales u
n

n0
y v
n

n0
convergen, converge la secuencia compleja u
n
+iv
n

n0
.
Se desprenden todas las familiares propiedades de los lmites. Una condicin necesaria y suciente
para la convergencia de la secuencia a
n

n0
es el criterio de Cauchy: Dado >0 hay un entero n

tal
que [a
m
a
n
[ < siempre que m, n n

.
Es obvio considerar secuencias de funciones en una regin D. Para cada z D tenemos una
secuencia ordinaria f
n
(z)
n0
. Si estas secuencias convergen, la secuencia converge punto a punto
a la funcin f (z) lm f
n
(z). Se dice que la secuencia de funciones converge uniformemente sobre
el conjunto S si dado un >0 hay un entero n

tal que [ f (z) f


n
(z)[ < para todo n n

y todo z S.
El punto de la convergencia uniforme es que el mismo n

sirve para todos los z S.


f (x)
x
1
2
3
4
Figura 24.5 Secuencia de funciones continuas con lmite discontinuo
Note que una secuencia de funciones continuas puede converger a una funcin discontinua.
Considere por ejemplo la secuencia de funciones denidas para n 1 por:
f
n
(x)
_

_
0 x 1/n
1+nx 1/n <x 0
1nx 0 <x 1/n
0 1/n <x
(24.25)
La gura 24.5 graca algunas de las funciones (24.25). Es claro que:
lm
n
f
n
(x)
_
0 x /0
1 x 1
(24.26)
Este comportamiento es imposible si la convergencia es uniforme. Porque suponga que f
n
(z)
n0
converge uniformemente a f en la regin D, sea z
0
D y > 0. Demostraremos que hay tal
que [ f (z
0
) f (z)[ < siempre que [z
0
z[ <. Elija n

tal que [ f
n

(z) f (z)[ </3. Por convergencia


uniforme tambin es [ f
n

(z
0
)f (z
0
)[ </3. Ahora elija de forma que [ f
n

(z
0
)f
n

(z)[ </3 siempre


que [z
0
z[ <. Esto es posible ya que f
n

es continua. Si [z
0
z[ < resulta para todo n >n

:
[ f (z
0
) f (z)[ [ f (z
0
) f
n
(z
0
) + f
n
(z
0
) f
n
(z) + f
n
(z) f (z)[
[ f (z
0
) f
n
(z
0
)[ +[ f
n
(z
0
) f
n
(z)[ +[ f
n
(z) f (z)[
<

3
+

3
+

3

24.7. SECUENCIAS Y SERIES 413


En los reales hay secuencias de funciones diferenciables que convergen uniformemente a fun-
ciones que no son diferenciables. La funcin smbolo que no es diferenciable en 0 es [x[, interesa
construir una secuencia de funciones que se parecen a las ramas del valor absoluto, suavizando la
esquina por ejemplo con una parbola y ax
2
entre 1/n. Las ramas sern rectas de pendiente 1,
digamos y x +b; queremos que los valores y las derivadas coincidan en 1/n:
f
n
_

1
n
_

1
n
+b f
t
n
_

1
n
_
2a
1
n
1
De ac:
a
n
2
b
1
2n
Nuestra funcin es:
f
n
(x)
_

_
x 1/2n 1 x <1/n
nx
2
/2 1/n <x 1/n
x 1/2n 1/n <x 1
Por la forma que la construimos, f
n
es diferenciable en [1, 1]. Diere de [x[ a lo ms en 1/2n, con lo
que la convergencia es uniforme. Pero lm f
n
(x) [x[, que no es diferenciable en x 0.
Pero tambin:
Teorema 24.20. Sea una curva suave, sobre la cual las funciones f
n
son continuas y convergen
uniformemente a f . Entonces:
lm
n
_

f
n
(z)dz
_

f (z)dz (24.27)
Este resultado tiene mltiples consecuencias, que veremos ms adelante. La demostracin es
rutina:
Demostracin. Podemos acotar:

f
n
(z)dz
_

f (z)dz

( f
n
(z) f (z))dz

m ax
z
[ f
n
(z) f (z)[ l

Por convergencia uniforme podemos hacer el primer factor de la cota tan pequeo como deseemos.
Incluso ms:
Teorema 24.21. Sea una secuencia de funciones holomorfas f
n
(z)
n0
que en D convergen unifor-
memente a f (z). Entonces f es holomorfa en D.
Demostracin. Sea D una curva cerrada simple. Del teorema de Cauchy sabemos:
_

f
n
(z)dz 0
Por convergencia uniforme:
_

f (z)dz 0
El teorema de Morera, teorema 24.12, nos dice que la funcin f es holomorfa en D.
414 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
24.7.1. Series
Una serie es simplemente la secuencia s
n

n0
resultante de sumar los elementos de una secuen-
cia a
n

n0
, vale decir, s
n
a
0
+a
1
+ +a
n
. Si la serie converge, debe ser lma
n
0. Para el lmite
de la serie anotamos segn nuestra convencin sobre sumas:

n0
a
n
o el ms familiar:

n0
a
n
Igual que enel caso de series enlos reales, es til distinguir series que convergenenvalor absoluto,
vale decir la serie:

0kn
[a
k
[
converge. Es simple demostrar que si la serie converge en valor absoluto, converge la serie original;
pero la convergencia de la serie original no asegura convergencia en valor absoluto. Por ejemplo,
tenemos la serie harmnica alternante (el valor lo justicaremos ms adelante):

k1
(1)
k+1
k
ln2 (24.28)
pero la contraparte de valores absolutos es la serie harmnica, que no converge. Incluso ms:
Teorema 24.22 (Reordenamiento de Riemann). Sea una serie real que converge pero no absoluta-
mente. Entonces sus trminos pueden reordenarse para dar cualquier suma, e incluso diverger a
o no tener lmite.
Demostracin. Si la serie converge, pero no absolutamente, tiene innitos trminos positivos cuya
suma diverge y de la misma forma tiene innitos trminos negativos cuya suma diverge. Fijemos
un valor L cualquiera; consideraremos el caso en que L 0, el caso L <0 es similar. Ordenamos los
trminos como sigue:
Elegimos trminos positivos hasta que la suma sobrepase a L. Como la suma de los trminos
positivos diverge, esto puede hacerse.
Elegimos luego trminos negativos hasta que la suma sea menor a L. Nuevamente, como los
trminos negativos divergen esto puede hacerse.
Repitiendo este proceso obtenemos un ordenamiento de los trminos de la serie que converge a
L. La diferencia entre la suma y el valor elegido va disminuyendo, como la serie original converge
sabemos que los trminos de la serie reordenada disminuyen en valor absoluto.
Siendo sucientemente tacaos con los trminos negativos (respectivamente positivos) logra-
mos que diverja; tomando dos valores podemos hacer oscilar los valores de la suma alrededor de
ellos.
De tales series se dice que convergen condicionalmente. Un ejemplo de este fenmeno es escribir
la serie harmnica alternante (24.28) como:

k1
_
1
2k 1

1
2(2k 1)

1
4k
_

k1
_
1
2(2k 1)

1
2 2k
_

1
2

k1
(1)
k+1
k

1
2
ln2 (24.29)
24.7. SECUENCIAS Y SERIES 415
Este es un reordenamiento correcto, aparecen los recprocos de todos los impares con signo positivo
y los recprocos de todos los pares con signo negativo. La mitad del valor original (24.28).
En forma anloga podemos considerar series de funciones:
_

0kn
f
k
(z)
_
n0
Tales series pueden converger para ciertos valores de z y no para otros. Un criterio til de convergen-
cia es el siguiente:
Teorema 24.23 (Prueba M de Weierstra). Sea M
k

k0
una secuencia de nmeros reales, que hay K
tal que M
k
0 para todo k >K, y suponga que la serie
_

0kn
M
k
_
n0
converge. Si para todo z D es [ f
k
(z)[ M
k
para k K, la serie
_

0kn
f
k
(z)
_
n0
converge uniformemente en valor absoluto en D.
Demostracin. Sea >0 cualquiera, y elegimos N >K tal que:

mkn
M
k
<
para todo m, n >N (esto resulta del criterio de Cauchy). Por la desigualdad triangular, teorema 1.2,
es:

mkn
f
k
(z)

mkn
[ f
k
(z)[

mkn
M
k
<
La serie converge. Para convergencia uniforme, observe que para todo z D y n >m>N:

mkn
f
k
(z)

0kn
f
k
(z)

0km1
f
k
(z)

<
En consecuencia:
lm
n

mkn
f
k
(z)

k0
f
k
(z)

0km1
f
k
(z)

y la convergencia es uniforme y en valor absoluto.


El caso ms interesante es el de series de potencias:
s
n
(z)

0kn
c
k
(z z
0
)
k
Una serie de potencias podr tener un lmite para ciertos valores de z y no para otros. Claramente
siempre tiene lmite si z z
0
.
416 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
Teorema 24.24 (Cauchy Hadamard). Sea la serie:

0kn
c
k
(z z
0
)
k
Sea:
lmsup
k
k
_
[c
k
[ (24.30)
Sea R
1
, donde diremos que R si 0 y que R 0 si . Entonces la serie converge
uniformemente en valor absoluto para todo [z z
0
[ <r <R y diverge para todo [z z
0
[ >R.
Demostracin. Primero demostramos que la serie no converge para [z z
0
[ >R. Sea L tal que:
1
[z z
0
[
<L <
1
R

Hay un nmero innito de c
k
tales que
k
_
[c
k
[ > L, ya que de lo contrario el lmite superior sera
menor a L. Para cada uno de ellos tenemos:
[c
k
(z z
0
)
k
[
_
k
_
[c
k
[ [z z
0
[
_
k
>(L[z z
0
[)
k
>1
y la serie no puede converger.
Enseguida demostramos que converge uniformemente para todo [z z
0
[ <r <R. Sea L tal que:

1
R
<L <
1
r
Para k sucientemente grande es
k
_
[c
k
[ <L, con lo que si [z z
0
[ r :
[c
k
(z z
0
)
k
[
_
k
_
[c
k
[ [z z
0
[
_
k
<(L[z z
0
[)
k
<(Lr )
k
La serie geomtrica de los (Lr )
k
converge, y la prueba de M da convergencia uniforme en valor
absoluto.
Ntese que hemos demostrado que toda serie de potencias converge uniformemente en valor
absoluto en el disco abierto D
R
(z
0
), su regin de convergencia; a R se le llama el radio de convergencia
de la serie.
Ya que estamos en eso, explicitemos lo que el teorema 24.20 dice para series de potencias. La
funcin g que introduciremos nos vendr bien ms adelante.
Corolario 24.25. Suponga una serie de potencias

k0
c
k
(z z
0
)
k
con radio de convergencia R, y una
curva suave D
R
(z
0
), y sea g(z) continua sobre . Entonces:
_

g(z)

k0
c
k
(z z
0
)
k
dz

k0
c
k
_

g(z)(z z
0
)
k
dz
En particular, si es cerrada:
_

k0
g(z)c
k
(z z
0
)
k
dz 0
24.7. SECUENCIAS Y SERIES 417
Demostracin. Sea >0, y sea M el mximo de g sobre , y l

el largo de la curva. Entonces hay un


entero N tal que para n >N:

kn
c
k
(z z
0
)
k

<

Ml

de donde:

g(z)

kn
c
k
(z z
0
)
k
dz

<Ml

Ml

Con esto:

g(z)

kn
c
k
(z z
0
)
k
dz

0kn1
c
k
_

g(z)(z z
0
)
k
dz

g(z)

kn
c
k
(z z
0
)
k
dz

<
Esto es lo que prometimos.
Si elegimos g(z) 1, tenemos que podemos integrar trmino a trmino dentro del radio de
convergencia, y la serie dene una funcin holomorfa dentro de D
R
(z
0
). Si analizamos los trminos
de la serie, tenemos el siguiente:
Corolario 24.26. Sean c
k
los coecientes de una serie de potencias con radio de convergencia R.
Entonces para r <R:
lm
k
[c
k
[r
k
0
mientras para r >R:
lm
k
[c
k
[r
k

Ntese que esto nada dice sobre la convergencia o divergencia en la frontera de la regin de
convergencia. La manoseada serie:

k1
z
k
k
(24.31)
tiene radio de convergencia 1. Si partimos con:
1
1z

k0
z
k
(24.32)
cuyo radio de convergencia es 1, obtenemos que su integral (vale decir, (24.31)) tiene el mismo radio
de convergencia. Dentro del radio de convergencia converge a Log(1z); como converge para z 1,
por continuidad converge a ln2 para z 1. Diverge para z 1, donde resulta la serie harmnica.
Una forma ms sencilla de usar del corolario 24.26 es la siguiente:
Corolario 24.27. Sean c
k
los coecientes de una serie de potencias. Entonces su radio de convergencia
es:
R lm
k
[c
k+1
[
[c
k
[
(24.33)
Vimos (teorema 24.21) que si una secuencia de funciones holomorfas converge uniformemente
en una regin, su lmite es holomorfo. Aplicando esto a series de potencias:
418 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
Corolario 24.28. Suponga f (z)

k0
c
k
(z z
0
)
k
tiene radio de convergencia positivo R. Entonces f
es holomorfa en D
R
(z
0
).
Series de potencias con radio de convergencia innito representan funciones enteras. Podemos
derivar trmino a trmino:
Teorema 24.29. Suponga f (z)

k0
c
k
(z z
0
)
k
tiene radio de convergencia positivo R. En D
R
(z
0
)
tenemos:
f
t
(z)

k0
kc
k
(z z
0
)
k1
Demostracin. Sea z un punto dentro de la regin de convergencia, y sea C una circunferencia
orientada positivamente centrada en z al interior de la regin de convergencia. Dena:
g()
1
2i(z)
2
Aplicamos el corolario 24.25 para concluir:
_
C
g() f ()d

k0
c
k
_
C
g()(z
0
)
k
d
1
2i
_
C
f ()
(z)
2
d

k0
c
k
1
2i
_
C
(z
0
)
k
(z)
2
d
La frmula integral de Cauchy, teorema 24.15, da:
f
t
(z)

k0
kc
k
(z z
0
)
k
La expansin es vlida dentro de la regin de convergencia original.
24.8. Series de Taylor y Laurent
Veamos ahora cmo construir series para una funcin holomorfa dada.
24.8.1. Serie de Taylor
Teorema 24.30 (Serie de Taylor). Suponga f holomorfa en el disco abierto D
R
(z
0
). Entonces:
f (z)

k0
f
(k)
(z
0
)
k!
(z z
0
)
k
(24.34)
Esta serie converge en D
R
(z
0
).
Demostracin. Sea z D
R
(z
0
), y sea C una circunferencia de radio r alrededor de z dentro del disco
abierto. Entonces 0 <r <R. Para C podemos escribir:
1
z

1
(z
0
) (z z
0
)

1
z
0

1
1
zz
0
z
0

k0
(z z
0
)
k
(z
0
)
k+1
24.8. SERIES DE TAYLOR Y LAURENT 419
Esto es vlido ya que (z z
0
)/(z
0
) <1, y la convergencia es uniforme. Podemos integrar:
_
C
f ()
z
0
d

k0
__
C
f ()
(z
0
)
k+1
d
_
(z z
0
)
k
f (z)
1
2i
_
C
f ()
z
d

k0
_
1
2i
_
C
f ()
(z
0
)
k+1
d
_
(z z
0
)
k

k0
f
(k)
(z
0
)
k!
(z z
0
)
k
A una funcin que puede representarse localmente (en un disco abierto centrado en z
0
) median-
te una serie de potencias convergente se le llama analtica (en z
0
). Vemos que es muy similar al
concepto de holomorsmo en los complejos, lo que explica que comnmente se usen intercambia-
blemente.
Vale la pena tomar un poco de distancia y recapitular lo que hemos demostrado.
Si la funcin f es derivable en una regin D de C, tiene derivadas de todos los rdenes en D.
Igualmente tiene antiderivadas de todos los rdenes en D.
La integral de f es independiente del camino al interior de la regin simple D, y el valor de la
integral es la diferencia de los valores de una antiderivada en los puntos inicial y nal.
El valor de la funcin en un punto interior de D queda determinado por los valores en la
frontera de D.
Podemos representar la funcin f mediante su serie de Taylor (24.34) sobre un disco abierto
{z : [z z
0
[ <R}.
La serie de Taylor de f converge uniformemente en valor absoluto a f para {z : [z z
0
[ r <R},
donde el radio de convergencia R est dado por (24.30) o (24.33).
Una serie de potencias puede derivarse e integrarse trmino a trmino, resultando series con
el mismo radio de convergencia. Las series resultantes igualmente convergen uniformemente
en valor absoluto.
La serie de potencias para f es nica (si tenemos dos series de potencias que representan la
misma funcin centradas en el mismo punto, tienen los mismo coecientes).
24.8.2. Singularidades
Requeriremos un poco de jerga adicional. Si la funcin f es tal que:
f (z
0
) 0
decimos que z
0
es un cero de f . Si m Nes tal que:
lm
zz
0
f (z)
(z z
0
)
m1
0 y lm
zz
0
f (z)
(z z
0
)
m
/0
decimos que es un cero de multiplicidad m. En el caso m1 se habla de cero simple.
Veamos cmo extender la representacin de funciones para abarcar puntos en los que dejan
de ser holomorfas, singularidades en las que la funcin no est denida. Estamos interesados
en singularidades aisladas, vale decir, hay un disco abierto perforado (en ingls, punctured disk)
{z C: 0 < [z z
0
[ < R} sobre el que la funcin f es holomorfa. Tenemos los siguientes casos, que
detallaremos en lo que sigue:
420 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
Singularidad removible: Si existe:
lm
zz
0
f (z)
la singularidad es removible. Basta denir f (z
0
) como el lmite del caso, y asunto resuelto.
Vase el teorema 24.31.
Polo: Si hay m Ntal que la funcin g denida por:
g(z) (z z
0
)
m
f (z)
cumple
lm
zz
0
g(z) /0
y g es holomorfa en un entorno de z
0
, decimos que f tiene un polo de orden m en z
0
. Si m1,
tambin se le llama polo simple.
Es claro que si f tiene un cero de multiplicidad m en z
0
, entonces 1/f (z) tiene un polo de
multiplicidad m en ese punto.
Singularidad esencial: Si f tiene una singularidad en z
0
que no es removible ni es un polo, es una
singularidad esencial.
Una denicin que ser til ms adelante es la siguiente:
Denicin 24.8. A una funcin f que es holomorfa sobre una regin D salvo polos se le llama
meromorfa.
Ntese que al conocer todas las derivadas de una funcin en un punto cualquiera, podemos
expandirla en serie de Taylor alrededor de ese punto, y esta serie converge en el disco abierto cen-
trado en ese punto y que llega a la singularidad ms cercana. De esta forma, podemos extender
analticamente la funcin a nuevas reas del plano.
Algunos resultados al respecto son los siguientes:
Teorema 24.31 (De Riemann sobre singularidades removibles). Suponga que f es holomorfa sobre
el disco abierto perforado {z : 0 <[z z
0
[ <R}, y que
lm
zz
0
(z z
0
) f (z) 0
Entonces f tiene una singularidad removible en z
0
.
Demostracin. Sea z un punto en el disco perforado {z : 0 < [z z
0
[ < R}, y sean r
1
y r
2
tales que
0 < r
1
< [z[ < r
2
, y sean C
1
y C
2
circunferencias de radios r
1
y r
2
respectivamente centradas en z
0
,
orientadas ambas en sentido positivo. La funcin:
g()
_

_
f
t
(z) z
f () f (z)
z
/z
claramente es holomorfa en {: [z
0
[ <R}. Por el teorema de Cauchy:
_
C
1
g()d
_
C
2
g()d
24.8. SERIES DE TAYLOR Y LAURENT 421
De la denicin de g esto signica:
_
C
1
f ()
z
d f (z)
_
C
1
1
z
d
_
C
2
f ()
z
d f (z)
_
C
2
1
z
d
En la regin {: [z
0
[ <[z z
0
[} (que incluye la curva C
1
y su interior, pero excluye z) es holomorfa
la funcin:
1
z
y por lo tanto:
_
C
1
1
z
d 0
Por el otro lado, la frmula integral de Cauchy aplicada a la funcin 1 1(z) da:
_
C
2
1
z
d 2i
Por hiptesis, dado > 0 hay > 0 tal que si 0 < [ z
0
[ < entonces [( z
0
) f ()[ < . Sin perder
generalidad podemos suponer:
<
1
2
[z z
0
[
Si elegimos r
1
, por (24.22):

_
C
1
f ()
z
d

_
C
1
(z
0
) f ()
(z
0
) (z)
d


([z z
0
[ )
2
4
[z z
0
[
Como es arbitrario, la integral se anula. Concluimos:
f (z)
1
2i
_
C
2
f ()
z
d
Esta denicin vale sobre el disco perforado {z : 0 <[z z
0
[ <R}, pero la integral dene una funcin
holomorfa en {z : [z z
0
[ <R}, con lo que deniendo f (z
0
) mediante:
f (z
0
)
1
2i
_
C
2
f ()
z
0
d
la funcin f es holomorfa en {z : [z z
0
[ <R}, como prometimos.
La condicin del teorema 24.31 se cumple si [ f (z)[ es acotada. Como una funcin holomorfa es
continua, si la singularidad es removible basta denir:
f (z
0
) lm
zz
0
f (z)
Cerca de singularidades esenciales las funciones se comportan en forma descontrolada. Por el
teorema de Picard en todo entorno de la singularidad la funcin toma todos los valores posibles,
salvo posiblemente uno. El resultado siguiente es mucho ms restringido, pero tambin ms fcil de
demostrar:
422 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
Teorema 24.32 (Casorati Weierstra). Sea f holomorfa en el disco perforado {z : 0 < [z z
0
[ < R},
con una singularidad esencial en z
0
. Entonces dado cualquier w C y nmeros reales arbitrarios >0
y >0 hay z en el disco perforado tal que
0 <[z z
0
[ < y [ f (z) w[ <
Demostracin. Por contradiccin. Suponga que hay w C, > 0 y > 0 tales que [ f (z) w[
siempre que 0 <[z z
0
[ <. Entonces la funcin
g(z)
1
f (z) w
es holomorfa y acotada en el disco perforado {z : 0 <[z z
0
[ <}, con una singularidad removible en
z
0
(teorema 24.31). Deniendo g(z
0
) apropiadamente, g(z) es holomorfa en {z : [z z
0
[ <}, y no es
idnticamente cero en este disco. Note que:
f (z) w+
1
g(z)
con lo que si g(z
0
) /0, f es derivable en z
0
; si g(z
0
) 0 entonces f tiene un polo en z
0
. Esto contra-
dice la hiptesis de que f tiene una singularidad esencial en z
0
.
Un par de ejemplos servirn para claricar el tema. La funcin e
1/z
es holomorfa en todo C salvo
en z 0, que es una singularidad aislada. Si nos restringimos al eje real, vemos que:
lm
x0
+
e
1/x
lm
u
e
u

y la singularidad no es removible. Por otro lado, para n N:


lm
x0
+
x
n
e
1/x
lm
u
e
u
u
n

y tampoco es un polo. En consecuencia, es una singularidad esencial.
Analicemos ahora la funcin:
f (z)
e
z
1
z(z 1)
Es claro que tiene singularidades aisladas en z 0 y z 1. En z 1 tiene un polo simple, ya que:
g(z) (z 1) f (z)
e
z
1
z
y g(1) e1 /0. La singularidad en z 0 es removible, ya que por la regla de lHpital:
lm
z0
e
z
1
z(z 1)
lm
z0
e
z
2z 1
1
Podemos analizar lo que ocurre en considerando f (1/z), que tiene una singularidad aislada
en 0. Segn el comportamiento, diremos que f tiene una singularidad removible, un polo o una
singularidad esencial en . Primeramente, el lmite:
lm
[z[
e
z
1
z(z 1)
24.8. SERIES DE TAYLOR Y LAURENT 423
no existe, ya que:
lm
x
e
x
1
x(x 1)
lm
x
e
x
1
x(x 1)
0
O sea, la singularidad no es removible. Enseguida, para n Ncualquiera, no existe el lmite:
lm
[z[
e
z
1
z
n+1
(z 1)
porque:
lm
x
e
x
1
x
n+1
(x 1)
lm
x
e
x
1
x
n+1
(x 1)
0
Por tanto, al no ser removible ni un polo, es una singularidad esencial.
Es simple demostrar que si lm
[z[
[ f (z)[ , entonces f es entera si y slo si es un polinomio.
O sea, una funcin entera que no es un polinomio tiene una singularidad esencial en . Supon-
gamos que f tiene un polo de orden m en . Restando un polinomio p de f , de ser necesario,
podemos arreglar que f (z) p(z) tenga un cero de orden m en 0. Claramente p tiene grado a lo ms
m. La funcin:
g(z)
f (z) p(z)
z
m
es entera y acotada, con lo que por el teorema de Liouville (teorema 24.18) es constante. Entonces f
es un polinomio.
La funcin tangente se dene como:
tanz
sinz
cosz
Esta funcin tiene singularidades no removibles en los ceros de cosz, que son (k +1/2) para k Z.
Por lHpital vemos que:
lm
z
_
k+
1
2
_

cosz
z
_
k +
1
2
_

lm
z
_
k+
1
2
_

sinz 1
Como los ceros de cosz son simples, las singularidades mencionadas son polos simples. La singula-
ridad en no es aislada, ya que todo entorno de z 0 de tan1/z contiene innitas singularidades
(no hay R tal que tan1/z es holomorfa en {z : R <[z[ <}).
24.8.3. Series de Laurent
Supongamos la funcin f holomorfa en el disco perforado {z : 0 <[z z
0
[ <R}, con un polo de
orden m en z
0
. De la discusin precedente esto signica que la funcin siguiente es holomorfa en
{z : [z z
0
[ <R}:
g(z) (z z
0
)
m
f (z)
Como es holomorfa, tiene una serie de Taylor, lo que signica que podemos escribir:
f (z)

k0
g
(k)
(z
0
)
k!
(z z
0
)
km
(24.35)
424 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
A la expresin:
g(z
0
)
(z z
0
)
m
+
g
t
(z
0
)
(z z
0
)
m1
+
g
tt
(z
0
)
2!(z z
0
)
m1
+ +
g
(m1)
(z
0
)
(m1)!(z z
0
)
(24.36)
se le llama la parte principal de la serie (24.35), que se anota pp( f ; z
0
).
Nos interesa formalizar y extender lo anterior.
Teorema 24.33. Sea f una funcin holomorfa en el disco perforado {z : 0 < [z z
0
[ < R}, con una
singularidad aislada en z
0
. Entonces existen funciones nicas f
1
y f
2
tales que:
(a) f (z) f
1
(z) + f
2
(z) en {z : 0 <[z z
0
[ <R}
(b) f
1
es holomorfa en C, excepto posiblemente en z
0
(c) f
1
(z) 0 cuando [z[
(d) f
2
es holomorfa en {z : [z z
0
[ <R}
Demostracin. Comenzamos como la demostracin del teorema 24.31. Sea z un punto en el disco
perforado {z : 0 <[zz
0
[ <R}, y sean0 <r
1
<[zz
0
[ <r
2
<R. Seanadems C
1
yC
2
las circunferencias
de radios r
1
y r
2
respectivamente alrededor de z
0
. Obtenemos:
f (z)
1
2i
_
C
2
f ()
z
d
1
2i
_
C
1
f ()
z
d
Dena entonces:
f
1
(z)
1
2i
_
C
1
f ()
z
d f
2
(z)
1
2i
_
C
2
f ()
z
d
La parte (a) es inmediata. Para la parte (d), la funcin f
2
denida por la integral es holomorfa en
el disco {z : [z z
0
[ < r
2
} (como en el teorema 24.31). Para (b), la funcin f
2
es holomorfa en el
anillo {z : r
1
< [z z
0
[ < r
2
}. Como f y f
2
no dependen de r
1
, tampoco depende de r
1
la funcin
f
1
(z) f (z) f
2
(z). Tampoco depende de r
2
la funcin f
2
, por un razonamiento similar. Se ve que:
lm
[z[
_
C
1
f ()
z
d 0
que es la parte (c). Para demostrar que f
1
y f
2
son nicas, suponga funciones g
1
y g
2
con las mismas
propiedades en el disco perforado {z : 0 <[z z
0
[ <R}, con lo que all:
f
1
(z) g
1
(z) g
2
(z) f
2
(z)
Dena:
F(z)
_
g
2
(z) f
2
(z) [z z
0
[ <R
g
1
(z) f
1
(z) [z z
0
[ R
Entonces F es entera. Pero por la parte (c) F(z) 0 cuando [z[ , con lo que F es acotada. Por el
teorema de Liouville, F(z) es constante, igual al lmite mencionado antes; con lo que F(z) 0 para
todo z C, y las funciones coinciden.
Estamos en condiciones de completar nuestro ejemplo inicial.
24.8. SERIES DE TAYLOR Y LAURENT 425
Teorema 24.34 (Serie de Laurent). Sea f holomorfa en el disco perforado {z : 0 < [z z
0
[ < R}, con
una singularidad aislada en z
0
. Sea C una circunferencia de radio r , donde 0 < r < R, y para cada
n Z sea
a
n

1
2i
_
C
f (z)
(z z
0
)
n+1
dz (24.37)
Entonces la serie
f (z)

n
a
n
(z z
0
)
n
(24.38)
converge en el disco perforado {z : 0 < [z z
0
[ < R}. Ms an, la convergencia es uniforme en todo
anillo {z : r
1
<[z z
0
[ <r
2
}, donde 0 <r
1
<r
2
<R.
Ntese que la convergencia uniforme de la serie en el anillo {z : r
1
<[z z
0
[ <r
2
} signica que
para todo >0 existe N
0
N
0
(, r
1
, r
2
), independiente de z, tal que si N
1
N
0
y N
2
N
0
:

f (z)

N
1
nN
2
a
n
(z z
0
)
n

<
A la serie (24.38) se la llama la serie de Laurent de f alrededor de z
0
.
Demostracin. El primer paso es demostrar que la serie (24.38) converge uniformemente a f (z)
sobre la circunferencia C centrada en z
0
de radio r , donde 0 <r <R, y los coecientes estn dados
por (24.37). Suponga n Z dado y jo. Para cualquier >0 podemos elegir N
1
y N
2
sucientemente
grandes para que N
1
n N
2
y tal que para todo z C:

f (z)

N
1
kN
2
a
k
(z z
0
)
k

<
Por la cota (24.22) es:

1
2i
_
C
_
f (z)

N
1
kN
2
a
k
(z z
0
)
k
_
1
(z z
0
)
n
dz

<

r
n
Como:
1
2i
_
C
(z z
0
)
k
dz [k 1]
resulta:
1
2i
_
C
_

N
1
kN
2
a
k
(z z
0
)
k
_
1
(z z
0
)
n+1
dz a
n
Esto permite simplicar:

1
2i
_
C
f (z)
(z z
0
)
n+1
dz a
n

<

r
n
Como es arbitrario, resulta (24.37).
Queda por demostrar que la representacin (24.38) vale en el disco perforado {z : 0 <[z z
0
[ <R},
y que la convergencia es uniforme en todo anillo {z : r
1
<[z z
0
[ <r
2
} con 0 <r
1
<r
2
<R. Suponga
r
1
< r < r
2
. Por el teorema 24.33 podemos escribir f (z) f
1
(z) + f
2
(z) donde f
1
y f
2
son nicas y
426 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
cumplen las condiciones (a) a (d). Como f
2
es holomorfa en el disco {z : [z z
0
[ < R}, su serie de
Taylor:
f
2
(z)

n0
A
n
(z z
0
)
n
converge en el disco {z : [z z
0
[ <R}, uniformemente en el disco {z : [z z
0
[ <r
2
}. Para estudiar f
1
,
efectuamos el cambio de variables:
w
1
z z
0
z z
0
+
1
w
La funcin:
f
1
(z) f
1
_
1
w
+z
0
_
es entera en w, con lo que la serie de Taylor:
f
1
_
1
w
+z
0
_

m1
B
m
w
m
converge en C, uniformemente en el disco cerrado {w: [w[ 1/r
1
}. El coeciente B
0
se anula. Es el
valor de f
1
en w 0, vale decir z ; y por la parte (c) del teorema 24.33 esto se anula. Combinando
las series para f
1
en trminos de z z
0
y para f
2
resulta lo prometido.
El tipo de singularidad aislada es sencillo de ver de los coecientes de la serie de Laurent (24.38):
Corolario 24.35. Sea f holomorfa en el disco perforado {z : 0 <[z z
0
[ <R}, y serie de Laurent dada
por (24.38) con coecientes a
n
como en (24.37). Entonces:
(a) La funcin f es diferenciable en z
0
o tiene una singularidad removible si y slo si a
n
0 para
todo n <0
(b) La funcin f tiene un polo si y slo si un nmero nito pero no nulo de coecientes a
n
con n
negativo son diferentes de cero
(c) La funcin f tiene una singularidad esencial si y slo si un nmero innito de coecientes a
n
con n negativo son diferentes de cero
Demostracin. Para la parte (a), sabemos que si f tiene una singularidad removible en z
0
, podemos
hacerla holomorfa deniendo f (z
0
) adecuadamente. Y la funcin holomorfa tiene serie de Taylor,
vale decir, sin trminos de ndice negativo.
Para la parte (b), si slo un nmero nito de coecientes de ndice negativo no se anulan, habr
m>0 tal que a
m
/0 pero a
n
0 para todo n <m. En tal caso:
f (z)

nm
a
n
(z z
0
)
n
de forma que:
g(z) (z z
0
)
m
f (z)
es holomorfa en un entorno de z
0
, y g(z
0
) a
m
/0, y f tiene un polo de orden m en z
0
.
La parte (c) resulta por no ser (a) ni (b).
24.8. SERIES DE TAYLOR Y LAURENT 427
Como la serie de Laurent es nica, podemos usar tcnicas alternativas a la frmula (24.37) pa-
ra obtener los coecientes. Por ejemplo, de la substitucin w 1/z en la serie para e
w
tenemos
directamente:
e
1/z

n0
1
n!z
n
Nuevamente concluimos que la singularidad en z 0 de esta funcin es esencial.
24.8.4. Residuos
Al calcular la integral sobre una curva cerrada simple que encierra una regin en la que el inte-
grando no es holomorfo, el resultado no siempre es cero. Primeramente tenemos:
Lema 24.36. Sea f una funcin holomorfa en la regin conexa simple D, excepto una singularidad
aislada en z
0
, y sea:
f
1
(z)

n1
a
n
(z z
0
)
n
la parte principal de la serie de Laurent de f en z
0
. Sea tambin D una curva cerrada simple suave
que se sigue en la direccin positiva, que no pasa por z
0
. Entonces:
1
2i
_

f () d
_
a
1
si z
0
est en el interior de
0 si z
0
est en el exterior de
Demostracin. Si z
0
est al exterior de , vemos que es holomorfa a un punto en D, y la integral es
cero.
En caso que z
0
est al interior de , la integral no es ms que el coeciente a
1
de la serie de
Laurent segn (24.37).
Al coeciente a
1
se le llama el residuo de f en z
0
, y se anota a
1
res( f , z
0
).
Con esto podemos demostrar una forma simple del teorema de residuos de Cauchy.
Teorema 24.37(De residuos de Cauchy). Sea f holomorfa, salvo singularidades aisladas z
1
, . . . , z
n
, en
la regin simple conexa D, y D una curva cerrada simple trazada en direccin positiva. Entonces:
_

f (z)dz

1kn
z
k
interior a
res( f , z
k
) (24.39)
Demostracin. Sea f
k
(z) la parte principal de f (z) en z
k
. Por el teorema 24.33 sabemos que f
k
es
holomorfa excepto en z
k
, por lo que la funcin:
g(z) f (z)

1kn
f
k
(z)
es holomorfa en D. Aplicando el lema 24.36 resulta:
_

f (z)dz
_

g(z)dz +

1kn
_

f
k
(z)dz 0+

1kn
z
k
interior a
res( f
k
, z
k
)

1kn
z
k
interior a
res( f , z
k
)
428 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
Para que esto resulte til, requerimos formas de calcular el residuo de f en una singularidad z
0
.
Si la singularidad es removible, f tiene una serie de Taylor alrededor de z
0
, y el residuo es cero.
Enseguida, si z
0
es un polo simple de f , entonces tiene serie de Laurent:
f (z)
a
1
z z
0
+g(z)
La funcin g(z) est representada por una serie de Taylor, con lo que es holomorfa en un disco
centrado en z
0
, y lm
zz
0
(z z
0
)g(z) 0. O sea:
a
1
lm
zz
0
(z z
0
) f (z)
Una forma alternativa til es la siguiente: Suponga que f (z) g(z)/h(z), donde g y h sonholomorfas,
g(z
0
) /0 y h tiene un cero simple en z
0
. Entonces, como h(z
0
) 0:
lm
zz
0
(z z
0
)
g(z)
h(z)

lm
zz
0
g(z)
lm
zz
0
h(z)h(z
0
)
zz
0

g(z
0
)
h
t
(z
0
)
Si z
0
es un polo de orden m de f , tenemos:
f (z)
a
m
(z z
0
)
m
+
a
m+1
(z z
0
)
m1
+ +
a
1
z z
0
+g(z)
Entonces es holomorfa:
(z z
0
)
m
f (z) a
m
+a
m+1
(z z
0
) + +a
1
(z z
0
)
m1
+(z z
0
)
m
g(z)
Derivando m1 veces:
d
m1
dz
m1
((z z
0
)
m
f (z)) a
1
(m1)! +
d
m1
dz
m1
((z z
0
)
m
f (z))
Como g es holomorfa, el segundo trmino tiende a 0 cuando z z
0
:
a
1

1
(m1)!
lm
zz
0
d
m1
dz
m1
((z z
0
)
m
f (z))
Un resultado que requeriremos ms adelante es el siguiente. Para 0 <<1 tenemos la integral
real:
_

e
x
1+e
x
dx

sin
(24.40)
Usamos como contorno el rectngulo con vrtices en R, R, R +2i, R +2i, luego haremos tender
R . El numerador del integrando es una funcin entera, el denominador tiene un nico cero
simple en z i dentro de la curva:
res
_
e
z
1+e
z
, i
_

e
i
e
i
e
i
Veamos las integrales sobre los lados del rectngulo. Sea I
R
la integral que nos interesa, a lo largo del
eje real desde R a R; y similarmente I la integral de inters. La integral a lo largo del lado superior
del rectngulo (recordar que estamos integrando de derecha a izquierda) es:
e
2i
I
R
24.8. SERIES DE TAYLOR Y LAURENT 429
Finalmente, para el lado derecho V
R
{R +it : 0 t 2} resulta:

_
V
R
e
z
1+e
z
dz

_
2
0

e
(R+it )
1+e
R+it
dt

_
2
0
e
R(1)t
[e
(1)it
[ dt Ce
R(1)
Como <1, esto tiende a 0 al tender R a innito. El lado izquierdo es casi lo mismo. Por el teorema
de residuos:
I e
2i
I 2i e
i
I 2i
e
i
1e
2i

2i
e
i
e
i


sin
24.8.5. Principio del argumento
Aplicado adecuadamente, el teorema de residuos de Cauchy (teorema 24.37) permite calcular el
nmero de ceros y de polos de funciones meromorfas.
Lema 24.38. Sea f holomorfa en un entorno de z
0
, donde tiene un cero de multiplicidad m. Entonces
la funcin f
t
(z)/f (z) es holomorfa en un entorno perforado de z
0
, con un polo simple en z
0
con
residuo m.
Lema 24.39. Sea f holomorfa en un entorno de z
0
, donde tiene un polo de multiplicidad m. Entonces
la funcin f
t
(z)/f (z) es holomorfa en un entorno perforado de z
0
, con un polo simple en z
0
con
residuo m.
Demostracin del lema 24.38. Podemos escribir f (z) (z z
0
)
m
g(z), con g holomorfa en un en-
torno de z
0
y g(z
0
) /0. Entonces:
f
t
(z)
f (z)

m(z z
0
)
m1
g(z) +(z z
0
)
m
g
t
(z)
(z z
0
)
m
g(z)

m
z z
0
+
g
t
(z)
g(z)
El segundo trmino es holomorfo en D, y tenemos lo prometido.
Demostracin del lema 24.39. Podemos escribir f (z) (z z
0
)
m
g(z), con g holomorfa en un en-
torno de z
0
y g(z
0
) /0. Entonces:
f
t
(z)
f (z)

m(z z
0
)
m1
g(z) +(z z
0
)
m
g
t
(z)
(z z
0
)
m
g(z)

m
z z
0
+
g
t
(z)
g(z)
El segundo trmino es holomorfo en D, y tenemos lo prometido.
Uniendo los lemas 24.38 y 24.39 resulta:
Teorema 24.40 (Principio del argumento). Sea f meromorfa en la regin D, y D una curva
cerrada simple trazada en direccin positiva, y tal que no hayan ceros ni polos de f sobre . Sea N el
nmero de ceros de f al interior de , contados con sus multiplicidades; y anlogamente P el nmero
de polos de f al interior de , contados con sus multiplicidades. Entonces:
1
2i
_

f
t
(z)
f (z)
dz N P (24.41)
430 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
El nombre del teorema (24.40) viene de lo siguiente:
_

f
t
(z)
f (z)
dz
es la variacin del logaritmo de f (z) al trazar , como es cerrada esto es nicamente la variacin
del argumento de f en unidades de 2i.
Para aplicacin concreta del principio del argumento al contar ceros el resultado siguiente per-
mite obviar el principio mismo, o al menos aplicarlo a una funcin ms simple.
Teorema 24.41 (Rouch). Sean f y g holomorfas en D, y sea D una curva conexa simple. Suponga
adems que [ f (z)[ >[g(z)[ sobre . Entonces el nmero de ceros de f y f +g al interior de es el mismo.
La demostracin que daremos se debe a Chen [57].
Demostracin. Para [0, 1] dena:
N()
_

f
t
(z) +g
t
(z)
f (z) +g(z)
dz
Como en es [ f (z)[ >[g(z)[, esto asegura:
[ f (z) +g(z)[ [ f (z)[ [g(z)[ [ f (z)[ [g(z)[ >0
de forma que f +g no tiene ceros sobre , con lo que N() es continua. Siendo entero el valor, la
nica posibilidad es que N() sea constante. Pero N(0) es el nmero de ceros de f al interior de , y
N(1) el nmero de ceros de f +g.
24.9. Aplicaciones discretas
Para ir a nuestro tema, veremos algunas aplicaciones discretas del anlisis complejo.
24.9.1. Sumas innitas
Para mostrar la tcnica general, veamos un par de ejemplos.
Consideremos la funcin:
f (z)
cot z
z
2
Esta funcin tiene singularidades en z k para todo k Z (sinz tiene ceros simples all). En z 0
es un polo de orden 3, los dems son polos simples. En el origen:
res( f , 0)
1
2!
lm
z0
d
2
dz
2
z
3
f (z)

2
3
Para los dems polos:
res( f , k)
cosk
k
2
cosk+2k sink

1
k
2
Nuestra estrategia ser hallar una curva que encierre todas las singularidades de f , y sobre la cual sea
sencillo calcular la integral. En esta clase de aplicaciones tpicamente ser una curva que al tender a
innito d integral cero. Elegir adecuadamente la curva es un arte; interesa que sea sencillo calcular
la integral sobre ella (o demostrar que dicha integral tiende a cero), y que incluya las singularidades
24.9. APLICACIONES DISCRETAS 431
de inters. Con eso tenemos la suma. Una curva simple de manejar es
n
, el cuadrado con esquinas
en (n +1/2) i(n +1/2). Es importante mantenerse alejado de los polos, ya que en ellos la funcin
tiende a innito y acotar la integral sobre un camino que pase cerca de un polo ser complicado.
Consideremos la funcin cot z para z x +iy. Podemos expresar:
cot z
cosx coshy i sinx sinhy
sinx coshy +i cosx sinhy
(24.42)
En los lados verticales del cuadrado es cosx 0, con lo que sinx 1 y (24.42) queda:
cot z
i sinhy
coshy
i tanhy
[cot z[ [tanhy[ 1 (24.43)
Obtenemos la cota:

_
vertical
f (z)dz

m ax([ f (z)[) (2n +1)


1
(n +1/2)
2
(2n +1)
En los lados horizontales escribimos:
[cot z[
2

cos
2
x cosh
2
y +sin
2
x sinh
2
y
sin
2
x cosh
2
y +cos
2
x sinh
2
y
Por (24.42) podemos expresar:
[cot z[
2

cos
2
x cosh
2
y +sin
2
x sinh
2
y
sin
2
x cosh
2
y +cos
2
x sinh
2
y

cos
2
x cosh
2
y +(1cos
2
x)(cosh
2
y 1)
(1cos
2
x) cosh
2
y +cos
2
x(cosh
2
y 1)
1+
2cos
2
x 1
cosh
2
y cos
2
x
Como cuando y tambin coshy , para y sucientemente grande es:
[cot z[ 2 (24.44)
Con este entendido resulta la cota:

_
horizontal
f (z)dz

m ax([ f (z)[) (2n +1)


2
(n +1/2)
2
(2n +1)
Uniendo las anteriores tenemos la cota para la integral sobre
n
:

n
f (z)dz

2
1
(n +1/2)
2
(2n +1) +2
2
(n +1/2)
2
(2n +1)
24
2n +1
Esto tiende a cero cuando n . Por lo tanto:
lm
n
_

n
f (z)dz 0

kZ
res( f , k) 0

2
3
+2

k1
1
k
2
432 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
De ac:

k1
1
k
2


2
6
(24.45)
Otra solucin al problema de Basilea. El mismo mtodo entrega valores para (2n) para todo n.
Consideremos ahora la funcin:
f (z)
cscz
z
2
Nuevamente tenemos singularidades aisladas en z Z. En el origen es un polo de orden tres:
res( f , 0) lm
z0
1
2!
d
2
dz
2
f (z)

2
6
Para los dems polos, que son todos simples:
res( f , k)

k
2
cosk+2k sink

(1)
k
k
2
Veamos cscz para z x +iy sobre el mismo cuadrado
n
. Primero:
cscz
1
sinx coshy +i cosx sinhy
En los lados verticales, donde cosx 0 y sinx 1:
[cscz[
1
coshy
1 (24.46)
Para los horizontales interesa una cota superior para cot z, que es lo mismo que una cota inferior
para sinz:
[sinz[
2
[sin
2
x cosh
2
y +cos
2
x sinh
2
y[
[(1cos
2
x)(1+sinh
2
y) +cos
2
x sinh
2
y[
[1cos
2
x +sinh
2
y[
Para y tenemos sinh
2
y , por lo que para y sucientemente grande [cscz[ 1. Similar a
antes:

n
f (z)dz

2
1
(n +1/2)
2
(2n +1) +2
1
(n +1/2)
2
(2n +1)
16
2n +1
Resulta:
lm
n
_

n
f (z)dz 0

kZ
res( f , k) 0

2
6
+2

k1
(1)
k
k
2
De ac:

k1
(1)
k
k
2


2
12
(24.47)
24.9. APLICACIONES DISCRETAS 433
Si se revisa el desarrollo, es claro que para cualquier funcin meromorfa g(z) par en R y tal que:
lm
[z[
zg(z) 0
podemos aplicar la mismas tcnicas para evaluar las sumas:

k1
g(k)

k1
(1)
k
g(k)
Podemos usar la misma tcnica para evaluar series. Por ejemplo, si nos interesa evaluar la si-
guiente serie para w C:

k1
w
k
2
w
2
Si consideramos w como una constante, podemos aplicar la tcnica precedente con:
f (z)
cot z
z
2
w
2
Esta funcin tiene polos simples en z Z y en z w. Igual que antes, en las ltimas singularidades:
res( f , w) lm
zw
cot z
z w

cot(w)
2w

cot w
2w
En z k Z:
res( f , k) lm
zk
cosz
(z
2
w
2
) cosz +2z sinz

1
k
2
w
2
Igual que arriba, la integral sobre el cuadrado se anula:

kZ
1
k
2
w
2
+2
cot(w)
2w
0
2

k1
1
k
2
w
2

1
w
2
+
cot(w)
w
0

k1
1
k
2
w
2

1
2w
2

cot(w)
2w

k1
w
k
2
w
2

1
2w

2
cot w
24.9.2. Nmeros de Fibonacci
Los nmeros de Fibonacci quedan denidos por la recurrencia (ver seccin 16.3):
F
n+2
F
n+1
+F
n
F
0
0, F
1
1 (24.48)
Sabemos que la funcin generatriz ordinaria es (16.7):
F(z)

k0
F
k
z
k

z
1z z
2
(24.49)
434 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
Los ceros del denominador de (24.49) son (1
_
5)/2, siendo (1+
_
5)/2 el ms cercano al origen.
Esto determina el radio de convergencia de la serie. Recordamos las deniciones:

1+
_
5
2

1
_
5
2
con lo que:
1z z
2
(z +)(z +)
y tambin:
1 (24.50)
Nuestro operador de extraccin de coecientes es:
_
z
n
_
F(z) res
_
F(z)
z
n+1
, 0
_
F
n
Las otras singularidades son polos simples:
res
_
F(z)
z
n+1
,
_
lm
z
1
z
n
(z +)

1
()
n
(+)


n

res
_
F(z)
z
n+1
,
_
lm
z
1
z
n
(z +)

1
()
n
(+)


n

Ac usamos la ecuacin (24.50) para los recprocos de y . Integremos sobre C


R
, la circunferencia
de radio R centrada en el origen, donde R >. Por la desigualdad triangular:
[z[
2
[z[ 1 [z
2
+z 1[
Para [z[ sucientemente grande:
[z[
2
_
1
[z[ +1
[z[
2
_

1
2
[z[
2
Usando esto en la integral:

_
C
R
z
z
n+1
(1z z
2
)
dz

2
R
n+1
R
2
2R
4
R
n+2
Esto tiende a cero al tender R a innito:
F
n

n
_

1
_
5
__
1+
_
5
2
_
n

_
1
_
5
2
_
n
_
De nuevo la frmula de Binet (16.9).
24.10. La funcin
Tendremos ocasin de usar la funcin (gamma mayscula), interesa deducir sus propiedades
elementales. Para z complejo, se dene:
(z)
_

0
t
z1
e
t
dt (24.51)
24.10. LA FUNCIN 435
Para t >0 jo el integrando de (24.51) es holomorfo en z, con lo que esto dene una funcin holo-
morfa en el semiplano z >1. Integrando por partes:
(z)
_

0
t
z1
e
t
dt
1
z
_

0
e
t
dt
z

1
z
t
z
e
t

0
+
1
z
_

0
t
z
e
t
dt
1
z
(z +1)
Tenemos as la frmula de reduccin:
(z +1) z (z) (24.52)
Tambin tenemos (1) 1, lo que para n Npor la frmula de reduccin da:
(n) (n 1)! (24.53)
Si z >1, tenemos el valor de (24.51). Fijemos entonces z con z 1, y sea n tal que (z +n) >0. En
un entorno de z +n la funcin es holomorfa, y por (24.52) tenemos:
(z +n) z
n+1
(z)
Vale decir, si z <0, tiene sentido denir con n ]z]:
(z)
(z +n)
z
n+1
(24.54)
Es claro que esto nos mete en problemas slo si z N
0
. En el entorno de n, para [w[ chico, la
funcin queda representada por:
(n +w)
(1+w)
(n +w)
n+1
Como z
n+1
tiene un cero simple en n, vemos que (z) tiene polos simples en los enteros negativos.
Es fcil calcular sus residuos:
res(, 0) lm
z0
z
(z +1)
z
1
res(, n) lm
zn
(z +n)
(z +n +1)
z
n+1

1
(n)
n

(1)
n
n!
(24.55)
La funcin satisface muchas identidades notables. Por ejemplo, tenemos:
Teorema 24.42 (Frmula de reexin de Euler). Se cumple:
(z) (1z)

sinz
(24.56)
Seguimos la demostracin de Stein y Shakarchi [273].
Demostracin. Primeramente, /sinz tiene polos en Z. El residuo en n Z es:
res
_

sinz
, n
_


cosn
(1)
n
La funcin (1z) tiene polos simples en z N, all (z) es holomorfa. Para n N:
res((z) (1z), n) res((z), n) (n +1)
(1)
n
n!
n! (1)
n
436 CAPTULO24. INTRODUCCINAL ANLISIS COMPLEJO
De la misma forma, para n N
0
:
res((z) (1z), n) (1)
n
O sea, los polos y residuos coinciden.
Enseguida, (z) (1z) y /sinz son ambas peridicas, con perodo 1:
(z +1) (1(z +1)) z(z)
(1z)
z
(z) (1z)
Finalmente, demostramos que ambas funciones coinciden en 0 <s <1. Podemos escribir:
(1s)
_

0
u
s
e
u
du t
_

0
e
vt
(vt )
s
dv
Ac usamos el cambio de variables u vt . Luego:
(s) (1s)
_

0
e
t
t
s1
(1s) dt

0
e
t
t
s1
_
t
_

0
e
vt
(vt )
s
dv
_
dt

0
_

0
e
t (1+v)
v
s
dv dt

0
v
s
1+v
dv
Con el cambio de variables v e
t
queda la integral que evaluamos en (24.40):
_

e
st
1+e
t
dt

sins
Uniendo todas las piezas, ambas funciones deben ser iguales.
De ac resulta directamente el valor para argumento no entero ms usado:
((1/2))
2
(1/2) (11/2)

sin/2

(1/2)
_
(24.57)
ntimamente relacionada es la funcin B (beta mayscula), denida para x, y >0:
B(x, y)
_
1
0
t
x1
(1t )
y1
dt (24.58)
Es claro que es simtrica:
B(x, y) B(y, x) (24.59)
Tambin:
(x) (y)
_

0
e
u
u
x1
du
_

0
e
v
v
y1
dv
_

0
_

0
e
uv
u
x1
v
y1
dudv
El cambio de variables u st y v s(1t ) da:
(x) (y)
_

0
e
s
s
x+y1
ds
_
1
0
t
x1
(1t )
y1
dt (x +y)B(x, y)
24.10. LA FUNCIN 437
de donde resulta la identidad bsica, que sirve para denir B(x, y):
B(x, y)
(x) (y)
(x +y)
(24.60)
Por la frmula de reduccin (24.54) tenemos de (12.17):
_

n
_


n
n!

(+1)
(n +1) n!
Con (24.53) esto se parece a (12.19), que hace sentido adoptar como denicin:
_
m+n
m
_

(m+n)!
m! n!

(m+n +1)
(m+1) (n +1)
(24.61)
25 Estimaciones asintticas
Es comn requerir una estimacin ajustada de alguna cantidad, como una suma o el valor apro-
ximado del coeciente de una serie horrible. Hay una variedad de tcnicas disponibles para esta
tarea, desde simples a complejas.
25.1. Estimar sumas
Primero una tcnica simple, que ya habamos visto (captulo 15).
Teorema 25.1. Sea f (x) una funcin continua y montona. Entonces:

0kn
f (n)
_
n
0
f (x)dx +
f (0) + f (n)
2
Demostracin. Si f (x) es montona creciente:
f (]x]) f (x) f (]x])
_
n
0
f (]x])dx
_
n
0
f (x)dx
_
n
0
f (]x])dx

0kn1
f (k)
_
n
0
f (x)dx

0kn1
f (k +1)dx

0kn
f (k) f (n)
_
n
0
f (x)dx

0kn
f (k) f (0)
y directamente:
_
n
0
f (x)dx + f (0)

0kn
f (n)
_
n
0
f (x)dx + f (n)
Si f (x) es montona decreciente, se intercambian f (0) y f (n) en este ltimo resultado.
25.2. Estimar coecientes
Hay diferentes tcnicas aplicables en este caso, de diferentes grados de complejidad. Discu-
tiremos algunos de aplicabilidad general, el lector interesado podr hallar referencias a tcnicas
adicionales.
439
440 CAPTULO25. ESTIMACIONES ASINTTICAS
25.2.1. Cota trivial
Hay una cota bastante trivial, que resulta sorprendentemente ajustada en muchos casos. Tpi-
camente el error cometido es de un factor de n
1/2
. Si consideramos la secuencia a
n

n0
, donde en
aplicaciones combinatorias los a
n
no son negativos:
A(z)

n0
a
n
z
n
(25.1)
Es claro que para u positivo:
a
n
u
n
A(u)
de donde tenemos la cota:
a
n
mn
u0
_
A(u)
u
n
_
(25.2)
25.2.2. Singularidades dominantes
Sabemos (ver captulo 24, particularmente el teorema 24.33) que una funcin meromorfa cerca
de una singularidad queda representada por la suma de una funcin entera y una funcin holomorfa
en un disco perforado centrado en la singularidad. Esta segunda funcin (bsicamente la parte
principal de la serie de Laurent de la funcin) domina la expansin en serie, o, lo que es lo mismo,
pone la mayor parte de los coecientes de la serie de potencias. Un ejemplo de esto ya lo vimos en
la seccin 16.6.1, donde vimos que el cero del denominador ms cercano al origen da los trminos
dominantes. Considerando nicamente un polo simple z
0
como singularidad ms cercana al origen,
estamos aproximando:
A(z)

n0
a
n
z
n
mediante:
A(z) res(A, z
0
)
1
z z
0
res(A, z
0
)
1
z
0
(1z/z
0
)
lo que se traduce en:
a
n
res(A, z
0
)
1
z
n+1
0
(25.3)
Incluir singularidades adicionales signica aadir trminos similares para ellas. En detalle, tenemos:
Teorema 25.2. Sea f meromorfa en la regin D que contiene el origen. Sea R > 0 el mdulo de los
polos de mnimo mdulo, y sean z
0
, . . . , z
s
estos polos. Sea R
t
>R el mdulo de los polos de siguiente
mdulo mayor, y sea >0 dado. Entonces:
_
z
n
_
f (z)
_
z
n
_
_

0ks
pp( f ; z
k
)
_
+O
__
1
R
t
+
_
n
_
(25.4)
Demostracin. Basta demostrar que al restar las partes principales de f indicadas de f el resultado
es una funcin que es holomorfa en el disco D
R
t (0), la cota para el error es esencialmente el corola-
rio 24.27. Por el teorema 24.33, la funcin f (z) pp( f ; z
0
) es holomorfa en z
0
, y debemos demostrar
que su parte principal en z
1
es la misma que la de f :
pp( f pp( f ; z
0
); z
1
) pp( f ; z
1
) pp(pp( f ; z
0
); z
1
)
pp( f ; z
1
)
25.2. ESTIMAR COEFICIENTES 441
ya que pp( f ; z
0
) es holomorfa en z
1
. Podemos ir aplicando esto polo a polo hasta demostrar que
restando las partes principales indicadas de f obtenemos una funcin holomorfa en el disco de
radio R
t
indicado.
Para un ejemplo, vimos (seccin 19.8) que la funcin generatriz exponencial de los nmeros de
desarreglos est dada por:

D(z)
e
z
1z
(25.5)
Esta funcin generatriz tiene un polo simple en z 1, con residuo e
1
. Obtenemos directamente
la aproximacin (13.14). Sabemos tambin que la funcin:
d(z)
e
z
1z

e
1
1z

e
z
e
1
1z
(25.6)
es entera (tiene una singularidad removible en z 1), sus coecientes son el error que comete la
aproximacin. Como el radio de convergencia para una funcin entera es R , nuestra cota (25.4)
es:
D
n
n!e
1
+O(n!
n
) (25.7)
Otro caso es el nmero de resultados de competencias con empate (nmeros de Bell ordenados).
En la seccin 19.9 llegamos a:
R(z)
1
2e
z
(25.8)
Esto tiene singularidades cuando e
z
2, o sea en los puntos para k Z:
log2 ln2+2ki (25.9)
Domina la singularidad en ln2, podemos renar el resultado incluyendo singularidades adicionales
en orden de cercana de 0 (ln2, ln22i, ln24i, . . . ). Si escribimos z log2+u y expandimos la
exponencial en serie:
R(z)
1
22e
u

1
2
1
1e
u

1
2
1
u +u
2
/2+
Las singularidades son todas polos simples, sus residuos son:
res
_
1
2e
z
, ln2+2ki
_
lm
zln2+2ki
1
e
z

1
2
(25.10)
El polo ms cercano al origen es ln2, los polos siguientes estn en ln22i, de mdulo
_
ln2+4
2

6, 32. En consecuencia, de (25.3):


R
n

n!
2(ln2)
n+1
+O(n! 0, 16
n
) (25.11)
La tabla 25.1 muestra los primeros valores exactos y aproximados, la concordancia es extremada-
mente buena.
Para un ejemplo un poquito ms complejo, tenemos los nmeros de Bernoulli, con funcin
generatriz exponencial (ver la seccin 15.4):
B(z)
z
e
z
1
(25.12)
442 CAPTULO25. ESTIMACIONES ASINTTICAS
n R
n
(25.11)
0 1 0,7213
1 1 1,0407
2 3 3,0028
3 13 12,9963
4 75 74,9987
5 541 541,0015
Cuadro 25.1 Nmeros de Bell ordenados
Tanto z como e
z
1 son enteras, B(z) slo puede tener polos. En los polos e
z
1, o sea son polos
z 2ki para todo k Z. En este caso tenemos dos polos a la misma distancia del origen, debemos
considerar el aporte de ambos. Es fcil corroborar que los polos son simples, interesan:
res(B(z), 2ki) lm
z2ki
z
e
z
2ki (25.13)
Usando los polos 2i tenemos la aproximacin:
B
n
n!

2i
(2i)
n+1
+
2i
(2i)
n+1
+O
__
1
4
_
n
_
(25.14)
Vemos que para n impar los aportes se cancelan, esta tcnica no entrega demasiada informacin en
ese caso. Para n 2k volvemos a obtener (15.34):
B
2k

2(2k)!
(2i)
2k
(1)
k+1
2(2k)!
(4
2
)
k
(25.15)
Los valores exactos y aproximados de B
2k
se contrastan en la tabla 25.2. La aproximacin no es par-
n B
n
(25.15)
0 1 1,0000 2,0000
2 1/6 1,1666 0,1013
4 1/30 0,0333 0,0308
6 1/42 0,0238 0,0234
8 1/30 0,0333 0,0332
10 5/56 0,0758 0,0757
12 691/2730 0,2531 0,2531
14 7/6 1,1666 1,1666
16 3617/510 7,0922 7,0920
Cuadro 25.2 Nmeros de Bernoulli pares
ticularmente buena en los ndices bajos, se siente la inuencia de los polos ms lejanos. Igualmente
la aproximacin es muy buena.
Si sumamos los aportes de todos los polos, resulta de nuevo la frmula para (2k):
B
2k
(1)
k+1
2(2k)!
(4
2
)
k
(2k) (25.16)
Una aplicacin instructiva de las tcnicas presentadas dan Odlyzko y Wilf [221] al tratar el caso
de fuentes no necesariamente de bloques (ver la seccin 12.7).
25.2. ESTIMAR COEFICIENTES 443
25.2.3. Nmero de palabras sin k smbolos repetidos
Vimos en la seccin 18.1.2 que el nmero de palabras de largo n sobre un alfabeto de s smbolos
que no contienen el patrn p de largo k tiene funcin generatriz ordinaria (18.8):
c
p
(z)
(1sz)c
p
(z) +z
k
Ac c
p
(z) es el polinomio de autocorrelacin del patrn p. Obtener una estimacin asinttica de este
nmero sirve de ejemplo detallado de la aplicacin de las herramientas discutidas. El caso general
es tratado por Guibas y Odlyzko [123].
Para simplicar, trataremos nicamente el caso en que el patrn es un smbolo repetido k veces,
en cuyo caso c
p
(z) 1+z + +z
k1
. En este caso la funcin generatriz se reduce a:
1z
k
1sz +(s 1)z
k+1
(25.17)
Nos interesa el cero ms cercano al origen del denominador de (25.17) para k dado. Slo tiene
sentido el caso k >1. Llamemos:
h(z) 1sz +(s 1)z
k+1
(25.18)
Claramente h(1) 0 con h
t
(1) k(s 1) 1 > 0, y h(1/s) (s 1)s
k1
> 0 es pequeo. Podemos
acotar:
h((s 1)
1
) 1s(s 1)
1
+(s 1)
k
1s +1 2s
Hay un cero entre s
1
y (s1)
1
. Debemos asegurarnos que sea nico. Para ello aplicamos el teorema
de Rouch, teorema 24.41.
Consideremos el caso s >2. Tomemos las funciones:
f (z) sz
g(z) 1+(s 1)z
k+1
Sobre la circunferencia [z[ r tenemos las cotas:
[ f (z)[ sr
[g(z)[ 1+(s 1)r
k+1
Nos interesa demostrar que:
sr >1+(s 1)r
k+1
0 >1sr +(s 1)r
k+1
h(r )
Como interesan k 2 y s 2, tenemos:
h(0) 1
h(1) 0
h
t
(1) s +(k +1)(s 1) k(s 1) 1 >0
En consecuencia, hay 0 < r

< 1 tal que h(r ) < 0, o, lo que es lo mismo, [ f (z)[ > [g(z)[ sobre la
circunferencia [z[ r

Por el teorema de Rouch, f (z) y f (z) +g(z) h(z) tienen el mismo nmero
444 CAPTULO25. ESTIMACIONES ASINTTICAS
de ceros al interior de la circunferencia, uno solo. Como h(z) es un polinomio de coecientes reales,
sus ceros son reales o vienen en pares complejos. El cero que nos interesa es simple y real. Si lo
llamamos , por el teorema de Bender, teorema 25.3:
P
n

1
k
h
t
()

n

1
k
(s 1)(k +1)
k
s

n
(25.19)
Tenemos cotas para , para obtener una mejor aproximacin del cero aplicamos una iteracin
del mtodo de Newton partiendo con la aproximacin 1/s. Resulta que la expresin nal es mucho
ms sencilla si partimos con:
h
r
(u) u
k+1
h(1/u) u
k+1
su
k
+s 1
Los ceros de h
r
(u) son recprocos de los ceros de h(z). Tenemos:
(

)
1
s
h
r
(s)
h
t
r
(s)
s
s 1
s
k
Para el peor caso posible, s k 2, esto da la aproximacin

0, 571, cuando el valor correcto es


1/0, 618.
25.2.4. Singularidades algebraicas
Supongamos ahora que la singularidad z
0
de f ms cercana al origen es algebraica (un punto
de ramicacin), vale decir hay C con N tal que la funcin g denida por lo siguiente es
holomorfa en un entorno de z
0
:
f (z) (z
0
z)

g(z)
El desarrollo de la seccin anterior hace sospechar que en tal caso la serie:
f (z) (z
0
z)


k0
g
k
(z
0
z)
k

k0
g
k
(z
0
z)
k+
es clave.
Seguimos bsicamente el desarrollo de Knuth y Wilf [179]. Sin prdida de generalidad, podemos
suponer que z
0
1 (basta considerar f (zz
0
) en caso contrario), y que hay una nica singularidad de
inters. Primero un par de resultados auxiliares, de inters independiente.
Teorema 25.3 (Bender). Sean A(z)

a
k
z
k
y B(z)

b
k
z
k
series de potencias con radios de conver-
gencia >0, respectivamente. Suponga que:
lm
n
b
n1
b
n
b
Si A(b) /0, y A(z)B(z)

c
n
z
n
, entonces c
n
A(b)b
n
.
La demostracin sigue la de Bender [26].
Demostracin. Basta demostrar que c
n
/b
n
A(b). Sabemos que:
c
n

0kn
a
k
b
nk
25.2. ESTIMAR COEFICIENTES 445
Con esto:

A(b)
c
n
b
n

A(b)

0kn
a
k
b
nk
b
n

k>n
a
k
b
k

0kn
a
k
_
b
k

b
nk
b
n
_

k>n
a
k
b
k

0kn
a
k
_
b
k

b
nk
b
n
_

El primer trmino es la cola de una serie convergente, tiende a cero al crecer n. Para el segundo
trmino, dividiendo la suma en n/2:

0kn
a
k
_
b
k

b
nk
b
n
_

0k<n/2
a
k
_
b
k

b
nk
b
n
_

n/2kn
[a
k
b
k
[

b
nk
b
n
b
k

0k<n/2
a
k
_
b
k

b
nk
b
n
_

+ m ax
n/2kn

b
nk
b
n
b
k

n/2kn
[a
k
b
k
[
El primer trmino tiende a cero, ya que b
nk
/b
n
b
k
; la suma del segundo trmino est acotada por
la cola de una serie convergente. Para el factor:
m ax
n/2kn

b
nk
b
n
b
k

m ax
n/2kn

b
nk
b
nk
b
n
b
n

m ax
0k<n/2

b
k
b
k
b
n
b
n

Como la serie

b
k
b
k
converge, esto est acotado.
Una aplicacinsimple del teorema de Bender es obtener una expansinasinttica para los nme-
ros de Motzkin [212] (ver la discusin detallada de Donaghey y Shapiro [82]). Su funcin generatriz
satisface:
M(z) 1+zM(z) +z
2
M
2
(z) (25.20)
de donde:
M(z)
1z
_
12z 3z
2
2z
2
(25.21)
Es claro que para n 2:
M
n

_
z
n
_ 1z
_
12z 3z
2
2z
2

1
2
_
z
n+2
_
(1+z)
1/2
(13z)
1/2
Vemos que el radio de convergencia de esto ltimo es 1/3, igual que el segundo factor; el primer
factor tiene radio de convergencia 1. Por el teorema de Bender:
M
n

1
2
(1+1/3)
1/2
_
z
n+2
_
(13z)
1/2

_
3
3
_
1/2
n +2
_
(3)
n+2

3
_
3
8(n +2)
_
2n +2
n +1
_
_
3
4
_
n
(25.22)
446 CAPTULO25. ESTIMACIONES ASINTTICAS
n R
n
(25.22)
0 1
1 1
2 2 1,827
3 4 3,836
4 9 8,631
5 21 20,346
6 51 49,593
7 127 123,981
8 323 316,153
9 835 819,123
10 2188 2150,198
Cuadro 25.3 Nmeros de Motzkin
La tabla 25.3 contrasta los valores exactos conla aproximacin(25.22). No es particularmente buena,
pero invertimos muy poco esfuerzo en ella.
Un ejercicio simple de la funcin y la frmula de Stirling da:
Lema 25.4. Para jo cuando n :
_
z
n
_
(1z)

_
n
1
/() si N
0 si N
Demostracin. Para el caso N, por el teorema del binomio sabemos que si n > el coeciente es
cero.
En caso que N:
_
z
n
_
(1z)

n
_
(1)
n


n
n!
(1)
n

()
n
n!

(n )
()n!
El resultado sigue de la frmula de Stirling (15.15):
(n +1) n!
_
2n
_
n
e
_
n
Tenemos:
(n )
()n!

1
()

(n 1)
n3/2
e
n2

e
n
n
n+1/2

1
()

n
n1/2
(1(+2)/n)
n
(1(+2)/n)
3/2
e
2
n
n+1/2

n
1
()
Ac usamos el lmite clsico:
lm
n
_
1+

n
_
n
e

Con estos:
25.2. ESTIMAR COEFICIENTES 447
Lema 25.5. Sea u(z) (1z)

v(z), donde v(z) es holomorfa en algn disco [z[ < 1+ (ac > 0).
Entonces:
_
z
n
_
u(z) O(n
1
)
Demostracin. Aplicando el teorema de Bender, teorema 25.3, queda:
_
z
n
_
(1z)

v(z) v(1)
_
z
n
_
(1z)

El lema 25.4 entrega el resultado prometido.


Estamos en condiciones de demostrar:
Teorema 25.6 (Lema de Darboux). Sea f holomorfa en un disco [z[ <1+, donde >0. Suponga que
en un entorno de z 1 tiene una expansin
f (z)

k0
f
k
(1z)
k
Entonces para todo C y todo m N
0
:
_
z
n
_
(1z)

f (z)
_
z
n
_
k0
f
k
(1z)
+k
+O(n
m2
)

0km
f
k
_
n k 1
n
_
+O(n
m2
)
Demostracin. Tenemos:
(1z)

f (z)

0km
f
k
(1z)
+k

k>m
f
k
(1z)
+k
(1z)
+m+1

f (z)
Las regiones de holomorsmo de f y

f son las mismas. El resultado sigue del lema 25.5.
Obtengamos una expansin ms precisa de los nmeros de Motzkin. Tenemos para n 2, va el
cambio de variables u 3z:
M
n

1
2
_
z
n+2
_
(1+z)
1/2
(13z)
1/2

3
n+2
2
_
u
n+2
_
_
4
3
_
1/2
_
1
1u
4
_
1/2
(1u)
1/2
3
_
3 3
n

k0
_
1/2
k
_
(4)
k
_
u
n+2
_
(1u)
1/2
Si expandimos para m0 y no aproximamos los coecientes binomiales resulta nuevamente (25.22).
Extendamos a m1, aproximando los coecientes binomiales mediante el lema 25.4. Necesitamos:
_
1/2
n +2
_

(n +2)
3/2
(1/2)

(n +2)
3/2
2
_

_
3/2
n +2
_

(n +2)
5/2
(3/2)

3(n +2)
5/2
4
_

448 CAPTULO25. ESTIMACIONES ASINTTICAS


porque:
_

1
2
_

_

1
2
_

_
1
2
_

3
2
_

_

3
2
_

1
2
_
y tenemos la estimacin:
M
n

_
3 3
n
16
_

_
8(n +2)
3/2
+3(n +2)
5/2
_
(25.23)
La aproximacin (25.23) no es tan buena como (25.22), pero hay que considerar que usamos una
n R
n
(25.23)
0 1
1 1
2 2 1,804
3 4 3,805
4 9 8,583
5 21 20,263
6 51 49,438
7 127 123,678
8 323 315,526
9 835 817,783
10 2188 2147,245
Cuadro 25.4 Nmeros de Motzkin nuevamente
aproximacin bastante cruda para los coecientes binomiales a cambio de reemplazarlos por po-
tencias. Igual la frmula diseada para ndices muy grandes da excelentes resultados ya para n 10.
25.2.5. El mtodo de Hayman
Las tcnicas precedentes dan excelentes resultados cuando las funciones generatrices de inters
tienen singularidades cerca del origen. Son totalmente intiles si la funcin generatriz es entera.
Nos interesara, por ejemplo, obtener una expansin asinttica de n! va considerar la serie para la
exponencial. Para ello podemos razonar como sigue: De la frmula generalizada de Cauchy, teore-
ma 24.17, tenemos que para toda curva simple cerrada que incluya el origen:
1
n!

1
2i
_

e
z
z
n+1
dz
Si usamos la circunferencia de radio R centrada en el origen, tomando valores absolutos:
1
n!

1
2
m ax
[z[R
_
[e
z
[
[z[
n+1
_
2R
e
R
R
n
Pero el valor de R es arbitrario, podemos elegir aquel que minimice esta expresin, que resulta ser
R n, dando la cota:
1
n!

_
e
n
_
n
25.2. ESTIMAR COEFICIENTES 449
Nada mal, si se compara con la frmula de Stirling (15.15).
Si queremos mayor precisin, debemos tratar la integral en forma ms cuidadosa. Hayman [135]
desarroll maquinaria poderosa para esta situacin. Seguimos la exposicin de Wilf [292]. En una
circunferencia alrededor del origen el mdulo de una funcin con coecientes reales no negativos
tiene un mximo marcado en el eje real positivo, y es precisamente en ese caso que el mtodo es ms
efectivo. Y este es el caso de las funciones generatrices de la combinatoria. El mtodo en realidad es
aplicable siempre, pero las tcnicas basadas en singularidades son ms sencillas de aplicar.
Sea f (z) holomorfa en el disco [z[ <R, donde 0 <R , y suponga que f (z) es admisible para el
mtodo. Las condiciones de admisibilidad son bastante complicadas, veremos algunas condiciones
sucientes ms adelante. En la prctica, que f (z) sea admisible signica simplemente que la tcnica
funciona.
Dena:
M(r ) m ax
[z[r
_
[ f (z)[
_
(25.24)
Una consecuencia de las condiciones de admisibilidad es que para r sucientemente grande:
M(r ) f (r ) (25.25)
Esto porque, como notamos arriba, el mtodo apunta a funciones que toman el valor mximo en la
direccin real positiva. Dena funciones auxiliares:
a(r ) r
f
t
(r )
f (r )
(25.26)
b(r ) r a
t
(r ) r
f
t
(r )
f (r )
+r
2
f
tt
(r )
f (r )
r
2
_
f
t
(r )
f (r )
_
2
(25.27)
El resultado central es:
Teorema 25.7 (Hayman). Sea f (z)

f
n
z
n
una funcin admisible. Sea r
n
l cero positivo de a(r
n
) n
para cada n N, donde a(r ) es la funcin (25.26). Entonces para n :
f
n

f (r
n
)
r
n
n
_
2b(r
n
)
(25.28)
La receta misma es de aplicacin directa, lo complicado es determinar si f (z) es admisible.
Continuemos con nuestro ejemplo e
z
, aceptando por ahora que es admisible. Resultan:
a(r ) r b(r ) r e
r
con lo que r
n
n. La estimacin de Hayman (25.28) es:
1
n!

e
n
n
n
_
2n
La frmula de Stirling.
Veamos las condiciones de admisibilidad. En lo que sigue, las funciones a y b son las denidas
por las ecuaciones (25.26) y (25.27), respectivamente. Sea f (z)

n0
f
n
z
n
holomorfa en [z[ < R,
donde 0 <R . Suponga que:
(a) Existe R
0
<R tal que para R
0
<r <R es f (r ) >0
450 CAPTULO25. ESTIMACIONES ASINTTICAS
(b) Hay una funcin (r ), denida para R
0
< r < R, tal que 0 < (r ) < en ese rango, y tal que
cuando r R, uniformemente para [[ (r ), tenemos:
f (r e
i
) f (r )e
ia(r )
1
2

2
b(r )
(c) Uniformemente para (r ) [[ tenemos cuando r R:
f (r e
i
)
o( f (r ))
_
b(r )
Si esto se cumple, f es admisible y el teorema 25.7 da una estimacin asinttica de los coecientes.
Como puede verse, las condiciones son complejas de vericar. Hay teoremas que dan condicio-
nes sucientes, mucho ms sencillas de manejar. Para nuestra fortuna, corresponden a operaciones
comunes con funciones generatrices.
(A) Si f (z) es admisible, lo es e
f (z)
.
(B) Si f (z) y g(z) son admisibles para [z[ <R, lo es f (z)g(z).
(C) Sea f (z) admisible en [z[ <R. Sea p(z) un polinomio con coecientes reales tal que p(R) >0
si R /, o tal que el coeciente de mximo grado es positivo si R . Entonces f (z)p(z) es
admisible en [z[ <R.
(D) Sea p(z) un polinomio de coeciente reales, y sea f (z) admisible en [z[ <R. Si f (z) +p(z) es
admisible, y el coeciente de mximo grado de p es positivo, entonces p( f (z)) es admisible.
(E) Sea p(z) un polinomio no constante con coecientes reales, y sea f (z) e
p(z)
. Si [z
n
] e
p(z)
>0
para todo n sucientemente grande, entonces f (z) es admisible en C.
Como un ejemplo, tomemos las involuciones, con funcin generatriz exponencial (22.1):
e
z+z
2
/2
Es claro que se cumplen las condiciones (E). Obtenemos:
a(r ) r +r
2
b(r ) r +2r
2
Tenemos una excelente aproximacin para r
n
:
r
n

_
n +1/41/2

_
n
_
1+
1
4n
_
n

1
2

_
n
_
1+
1
8n

1
128n
2
+
_

1
2

_
n
1
2
+
1
8n
1/2

1
128n
3/2
+
Una revisin de la frmula (25.28) nos dice que requerimos estimaciones estilo cuando n de
las cantidades f (r
n
), b(r
n
) y r
n
n
. Por turno:
f (r
n
) e
r
n
+
1
2
r
n
e
1
2
(r
n
+n)
e
n/2
e
r
n
/2
25.2. ESTIMAR COEFICIENTES 451
Pero:
e
r
n
/2
exp
__
n
2

1
4
+O(n
1/2
_
e
1
2
_
n
1
4
En la lista sigue b(r
n
):
b(r
n
) r
n
+2r
2
n
2(r
2
n
+r
n
) 2n
El ltimo es el ms complicado:
r
n
n

_
_
n
1
2
+
1
8
_
n

_
n
n
n/2
_
1
1
2n
1/2
+
1
8n

_
n
Esta clase de casos debe tratarse con cuidado, a pesar de tender a 1 el parntesis la potencia no
necesariamente tiende a 1. La tcnica general en estos casos es usar logaritmos para calcular la
potencia:
_
1
1
2n
1/2
+
1
8n

_
n
exp
_
nln
_
1
1
2n
1/2
+
1
8n

__
Luego expandimos el logaritmo en serie, hasta llegar a trminos de orden o(n
1
). En nuestro caso:
exp
_
nln
_
1
1
2n
1/2
+
1
8n

__
exp
_
n
__

1
2n
1/2
+
1
8n
_

1
2
_

1
2n
1/2
+
1
8n
_
2
+O(n
3/2
)
__
exp(
_
n/2)
con lo que:
r
n
n
n
n/2
exp(
_
n/2)
Finalmente, uniendo las distintas piezas:
i
n
n!

e
n
2
+
_
n
1
4
2n
n/2
_
n
Mediante la frmula de Stirling:
i
n

1
_
2
n
n/2
exp
_

n
2
+
_
n
1
4
_
(25.29)
Bibliografa
[1] Niels Henrik Abel: Beweis eines Ausdruckes, von welchem die Binomial-Formel ein einzelner
Fall ist. Journal fr die reine und angewandte Mathematik, 1:159160, 1826.
[2] Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman: The Design and Analysis of Computer
Algorithms. Addison-Wesley, 1974.
[3] Martin Aigner and Gnter M. Ziegler: Proofs from THE BOOK. Springer, fourth edition, 2012.
[4] Mohamad Akra and Louay Bazzi: On the solution of linear recurrence equations. Computa-
tional Optimization and Applications, 10(2):195210, 1998.
[5] Michael Albert: Basic counting principles.
http://www.mathsolympiad.org.nz/wp-content/uploads/2009/01/counting.pdf,
January 2009.
[6] W. R. Alford, Andrew Granville, and Carl Pommerance: There are innitely many Carmichael
numbers. Annals of Mathematics, 139(3):703722, May 1994.
[7] Ross Anderson and Serge Vaudenay: Minding your Ps and Qs. In Advances in Cryptology -
ASIACRYPT96, LNCS 1163, pages 2635. Springer-Verlag, 1996.
[8] Ross J. Anderson: Security Engineering: A Guide to Building Dependable Distributed Systems.
Wiley Publishing, second edition, 2008.
[9] Kenneth Appel and Wolfgang Haken: Every planar map is four colorable. part I: Discharging.
Illinois Journal of Mathematics, 21:429490, 1977.
[10] Kenneth Appel and Wolfgang Haken: Every planar map is four colorable. part II: Reducibility.
Illinois Journal of Mathematics, 21:491567, 1977.
[11] Krzysztof R. Apt: Tenyears of Hoares logic: Asurvey part I. ACMTransactions onProgramming
Languages and Systems, 3(4):431483, October 1981, ISSN 0164-0925.
[12] Krzysztof R. Apt: Ten years of Hoares logic: A survey part II. Theoretical Computer Science,
28:83109, 1984.
[13] Cecilia R. Aragon and Raimund G. Seidel: Randomized search trees. In Thirtieth Annual Sym-
posium on Foundations of Computer Science, pages 540545, October - November 1989.
[14] Jrg Arndt: Matters Computational: Ideas, Algorithms, Source Code. Springer, December 2010.
[15] Robert B. Ash and Phil Novinger: Complex Variables. Dover, second edition, 2007.
453
454 BIBLIOGRAFA
[16] Richard Askey: Orthogonal Polynomials and Special Functions, volume 21 of CBMS-NSF Re-
gional Conference Series in Applied Mathematics. Society for Industrial and Applied Mathe-
matics, 1975.
[17] Daniel V. Bailey, Brian Baldwin, Lejla Batina, Daniel J. Bernstein, Peter Birkner, Joppe
W. Bos, Gauthier van Damme, Giacomo de Meulenaer, Junfeng Fan, Tim Gueneysu,
Frank Gurkaynak, Thorsten Kleinjung, Tanja Lange, Nele Mentens, Christof Paar,
Francesco Regazzoni, Peter Schwabe, and Leif Uhsadel: The Certicom challenges ECC2-X.
http://cr.yp.to/papers.html#ecc2x, September 2009.
[18] Daniel V. Bailey, Lejla Batina, Daniel J. Bernstein, Peter Birkner, Joppe W. Bos, Hsieh
Chung Chen, Chen Mou Cheng, Gauthier van Damme, Giacomo de Meulenaer, Luis Ju-
lian Dominguez Perez, Junfeng Fan, Tim Gueneysu, Frank Gurkaynak, Thorsten Kleinjung,
Tanja Lange, Nele Mentens, Ruben Niederhagen, Christof Paar, Francesco Regazzoni, Pe-
ter Schwabe, Leif Uhsadel, Anthony Van Herrewege, and Bo Yin Yang: Breaking ECC2K-130.
http://cr.yp.to/papers.html#ecc2k130, November 2009.
[19] Cyril Banderier and Sylviane Schwer: Why Delannoy numbers? Journal of Statistical Planning
and Inference, 135(1):4054, November 2005.
[20] Jrgen Bang-Jensen and Gregory Gutin: Digraphs: Theory, Algorithms and Applications.
Springer-Verlag, second edition, December 2008.
[21] Edward J. Barbeau: Mathematical Fallacies, Flaws, and Flimam. The Mathematical Associa-
tion of America, 2000.
[22] Christian Bauer, Alexander Frink, and Richard Kreckel: Introduction to the GiNaC framework
for symbolic computation within the C++ programming language. Journal of Symbolic Com-
putation, 33(1):112, January 2002.
[23] Matthias Beck, Gerald Marchesi, Dennis Pixton, and Lucas Sabalka: A rst course in complex
analysis. http://math.sfsu.edu/beck/complex.html, 2012. Version 1.4.
[24] Eric Temple Bell: Exponential numbers. The American Mathematical Monthly, 41:411419,
1934.
[25] Richard Bellman: On a routing problem. Quarterly of Applied Mathematics, 16:8790, 1958.
[26] Edward A. Bender: Asymptotic methods in enumeration. SIAM Review, 16(4):485515, October
1974.
[27] Edward A. Bender and S. Gill Williamson: Foundations of Combinatorics with Applications.
Dover, 2006.
[28] Jon Louis Bentley: Writing Efcient Programs. Prentice-Hall Software Series, 1982.
[29] Jon Louis Bentley: Programming Pearls. Prentice Hall, second edition, 2000.
[30] Jon Louis Bentley, Dorothea Haken, and James B. Saxe: A general method for solving divide-
and-conquer recurrences. ACM SIGACT News, 12(3):3644, Fall 1080.
[31] Jon Louis Bentley and M. Douglas McIllroy: Engineering a sort function. Software Practice
and Experience, 23(11):12491265, 1993.
[32] Daniel J. Bernstein: Research announcement: Faster factorization into coprimes.
http://cr.yp.to/papers.html#dcba2, November 2004.
BIBLIOGRAFA 455
[33] Daniel J. Bernstein: Factoring into comprimes in essentially linear time. Journal of Algorithms,
54:130, 2005.
[34] Daniel J. Bernstein, Peter Birkner, Tanja Lange, and Christiane Peters: ECM using Edwards
curves. Cryptology ePrint Archive, Report 2008/016, 2008.
[35] Daniel J. Bernstein, Tanja Lange, and Peter Schwabe: The security impact of a new crypto-
graphic library. In Alejandro Hevia and Gregory Neven (editors): Progress in Cryptology LAT-
INCRYPT 2012, volume 7533 of Lecture Notes in Computer Science, pages 159176. Springer
Berlin Heidelberg, October 2012.
[36] Daniel M. Berry: Academic legitimacy of the software engineering discipline. Technical Report
CMU/SEI-92-TR-34, Software Engineering Institute, November 1992.
[37] W. A. Blankinship: A new version of the Euclidean algorithm. The American Mathematical
Monthly, 70:742745, 1963.
[38] Alexander Bogomolny: Sylvesters problem: A second look.
http://www.cut-the-knot.org/blue/Sylvester2.shtml, October 2012.
[39] Dan Boneh: Twenty years of attacks on the RSA cryptosystem. Notices of the AMS, 46:203213,
1999.
[40] Alin Bostan, Frdric Chyzak, Bruno Salvy, Grgoire Lecerf, and ric Schost: Differential equa-
tions for algebraic functions. In Proceedings of the International Symposium on Symbolic and
Algebraic Computation, ISSAC 07, pages 2532, New York, NY, USA, 2007. ACM.
[41] Louis Brand: A sequence dened by a difference equation. American Mathematical Monthly,
62(7):489492, September 1955.
[42] Richard P. Brent: An improved Monte Carlo factorization algorithm. BIT Numerical Mathemat-
ics, 20:176184, 1980.
[43] Richard P. Brent and Paul Zimmermann: Modern Computer Arithmetic. Number 18 in Cam-
bridge Monographs on Computational and Applied Mathematics. Cambridge University Press,
November 2010.
[44] Andrew M. Bruckner, Brian S. Thomson, and Judith B. Bruckner: Mathematical Discovery.
ClassicalRealAnalysis.com, 2011.
[45] A. di Bucchianico and D. Loeb: A selected survey of umbral calculus. The Electronic Journal of
Combinatorics, DS3, 2000.
[46] William Burnside: Theory of Groups of Finite Order. Cambridge University Press, 1897.
[47] Cristian Cadar, Daniel Dunbar, and Dawson Engler: KLEE: Unassisted and automatic gener-
ation of high-coverage tests for complex systems programs. In Proceedings of the 8th USENIX
Symposium on Operating Systems Design and Implementation, pages 209224. USENIX, De-
cember 2008.
[48] George Cain: Complex Analysis. Georgia Institute of Technology, 2001.
http://people.math.gatech.edu/~cain/winter99/complex.html.
[49] Cristian S. Calude, Elena Calude, and Solomon Marcus: Proving and programming. Technical
Report 309, CDMTCS, University of Auckland, NZ, June 2007.
456 BIBLIOGRAFA
[50] Robert Daniel Carmichael: Note on a new number theory function. Bulletin of the American
Mathematical Society, 16(5):232238, 1910.
[51] David A. Carts: A reviewof the Dife-Hellman algorithmand its use in secure Internet protocols.
http://www.sans.org/reading_room/whitepapers/vpns/review-diffie-hellman-
algorithm-secure-internet-protocols_751, November 2001.
[52] Augustin Louis Cauchy: Cours dAnalyse de lEcole Royale Polytechnique, primre partie, Ana-
lyse Algbrique. Impr. Royale Debure frres, 1821.
[53] Arthur Cayley: A theorem on trees. Quarterly Journal of Mathematics, 23:376378, 1889.
[54] Certicom: Certicom ECC challenge.
http://www.certicom.com/index.php/the-certicom-ecc-challenge, 1997.
[55] Gregory J. Chaitin: Register allocation & spilling via graph coloring. SIGPLAN Notices, 17:98
101, June 1982, ISSN 0362-1340.
[56] William W. L. Chen: Fundamentals of analysis.
http://rutherglen.science.mq.edu.au/wchen/lnfafolder/lnfa.html, 2008.
[57] William W. L. Chen: Introduction to complex analysis.
http://rutherglen.science.mq.edu.au/wchen/lnicafolder/lnica.html, 2008.
[58] William W. L. Chen: Miscelaneous topics in rst year mathematics.
http://rutherglen.science.mq.edu.au/~maths/notes/wchen/
lnmtfymfolder/lnmtfym.html, 2008.
[59] Barry A. Cipra: How the Grinch stole mathematics. Science, 245:595, August 1989.
[60] Sir Arthur Ignatius Conan Doyle: The Sign of the Four. Spencer Blackett, February 1890.
[61] Edwin H. Connell: Elements of abstract and linear algebra.
http://www.math.miami.edu/~ec/book, March 2004.
[62] Stephen A. Cook: The complexity of theorem proving procedures. In Proceedings of the Third
Annual ACM Symposium on Theory of Computing, pages 151158, 1971.
[63] James W. Cooley and John W. Tukey: An algorithm for the machine calculation of complex
Fourier series. Mathematics of Computation, 19(90):297301, 1965.
[64] Don Coppersmith, Matthew Franklin, Jacques Patarin, and Michael Reiter: Low-exponent RSA
with related messages. In Advances in Cryptology EUROCRYPT 96, pages 17, 1996.
[65] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein: Introduction to
Algorithms. MIT Press, third edition, 2009.
[66] RomainCosset: Factorizationwithgenus 2 curves. Mathematics of Computation, 79(270):1191
1208, August 2010.
[67] Pascal Cuoq, Florent Kirchner, Nikolai Kosmatov, Virgile Prevosto, Julien Signoles, and Boris
Yakobowski: Frama-C, A software analysis perspective. In G. Eleftherakis, M. Hinchey, and M.
Holcombe (editors): International Conference on Software Engineering and Formal Methods,
volume 7504 of LNCS, pages 233247. Springer, October 2012.
BIBLIOGRAFA 457
[68] Matt Curtin: Snake oil warning signs: Encryption software to avoid.
http://www.interhack.net/people/cmcurtin/snake-oil-faq.html, April 1998.
[69] Larry W. Cusick: How to write proofs.
http://zimmer.csufresno.edu/~larryc/proofs/proofs.html.
[70] Richard A. De Millo, Richard J. Lipton, and Alan J. Perlis: Social processes and proofs of theorems
and programs. Communications of the ACM, 22(5):271280, May 1979, ISSN 0001-0782.
[71] Jean Paul Delahaye: The science behind Sudoku. Scientic American, pages 8087, June 2006.
[72] Henri Delannoy: Sur une Question de Probabilits traite par dAlembert. Bulletin de la Socit
Mathmatique de France, 23 :262265, 1895.
[73] L. Dewaghe: Remarks on the Schoof-Elkies-Atkin algorithm. Mathematics of Computation,
67(223):12471252, July 1998.
[74] Reinhard Diestel: Graph Theory. Graduate Texts in Mathematics. Springer Verlag, fourth edi-
tion, 2010.
[75] Edgser W. Dijkstra: The cruelty of teaching computer science. Communications of the ACM,
32(12):13971404, December 1989.
[76] Edsger W. Dijkstra: Anote on two problems in connexion with graphs. Numerische Mathematik,
1:269271, 1959.
[77] Edsger W. Dijkstra: A Discipline of Programming. Prentice Hall, 1976.
[78] Duan Djuki c: Arithmetic in extensions of Q.
http://www.imomath.com/tekstkut/extensions_ddj.pdf, 2007.
[79] Duan Djuki c: Pells equation. http://www.imomath.com/tekstkut/pelleqn_ddj.pdf,
2007.
[80] G. Dobi nski: Summirung der Reihe

n
m
n!
fr m1, 2, 3, 4, 5, . . .. Grunerts Archiv, 61:333336,
1877.
[81] Vladimir A. Dobrushkin: Methods in Algorithmic Analysis. Chapman & Hall/CRC, 2010.
[82] Robert Donaghey and Louis W. Shapiro: Motzkin numbers. Journal of Combinatorial Theory,
Series A, 23(3):291301, November 1977.
[83] Jack Dongarra and Francis Sullivan: Guest editor introduction to the top 10 algorithms. Com-
puting in Science and Engineering, 2(1):2223, January/February 2000.
[84] Leo Dorst, Daniel Fontijne, and Stephen Mann: Geometric Algebra for Computer Science. Mor-
gan Kaufmann, 2007.
[85] Michael Drmota and Wojciech Szpankowski: A master theorem for discrete divide and conquer
recurrences. In Proceedings of the Twenty-Second Annual ACM-SIAM Symposium on Discrete
Algorithms, SODA 11, pages 342361. SIAM, 2011.
[86] William Dunham: Journey through Genius: The Great Theorems of Mathematics. Penguin
Books, 1990.
[87] William Dunham: When Euler met lHpital. Mathematics Magazine, 82(1):1625, February
2009.
458 BIBLIOGRAFA
[88] Richard A. Dunlap: The Golden Ratio and Fibonacci Numbers. World Scientic Publishing Co.,
March 1998.
[89] Glenn Durfee: Cryptanalysis of RSA Using Algebraic and Lattice Methods. PhD thesis, Depart-
ment of Computer Science, Stanford University, June 2002.
[90] Standard curves and curve generation.
http://www.ecc-brainpool.org/download/Domain-parameters.pdf, October 2005.
[91] Jack Edmonds and Richard M. Karp: Theoretical improvements in algorithmic efciency for
network ow problems. Journal of the ACM, 19(2):248264, 1972.
[92] Georgy P. Egorychev: Integral Representation and the Computation of Combinatorial Sums,
volume 59 of Translations of Mathematical Monographs. American Mathematical Society,
1984.
[93] Taher ElGamal: A public key cryptosystem and a signature scheme based on discrete logarithms.
IEEE Transactions on Information Theory, IT-31(4):469472, July 1985.
[94] David Eppstein: Nineteen proofs of Eulers formula: v e + f 2.
http://www.ics.uci.edu/~eppstein/junkyard/euler, October 2005.
[95] Paul Erd os: ber die Reihe

1
p
. Mathematica, Zutphen B 7:12, 1938.
[96] Niels Ferguson, Bruce Schneier, and Tadayoshi Kohno: Cryptography Engineering. John Wiley
& Sons, 2010.
[97] Secure Hash Standard (SHS). Federal Information Processing Standards Publication 180-3,
October 2008.
http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.
[98] Digital Signature Standard (DSS). Federal Information Processing Standards Publication 186,
May 1994. http://www.itl.nist.gov/fipspubs/fip186.htm.
[99] Digital Signature Standard, change no. 1. Federal Information Processing Standards Publica-
tion 186, December 1996. http://www.itl.nist.gov/fipspubs/186chg-1.htm.
[100] Digital Signature Standard. Federal Information Processing Standards Publication 186, June
2009. http://csrc.nist.gov/publications/fips/fips186-3/fips_186-3.pdf.
[101] Philipe Flajolet and Robert Sedgewick: Analytic Combinatorics. Cambridge University Press,
2009.
[102] Philipe Flajolet and Michle Soria: The cycle construction. SIAMJournal of Discrete Mathemat-
ics, 4(1):5860, February 1991.
[103] M. Fleury: Deux Problmes de Gomtrie de Situation. Journal de Mathematiques lmentaires,
2 :257261, 1883.
[104] Robert W. Floyd: Assigning meaning to programs. Proceedings of the American Mathematical
Society Symposia on Applied Mathematics, 19:1931, 1967.
[105] Robert W. Floyd: Non-deterministic algorithms. Journal of the ACM, 14(4):636644, 1967.
[106] Lester R. Ford Jr and Delbert R. Fulkerson: Maximal owthrough a network. Canadian Journal
of Mathematics, 8:399404, 1956.
BIBLIOGRAFA 459
[107] M. K. Franklin and M. K. Reiter: A linear protocol failure for RSA with exponent three. In
CRYPTO95 Rump Session, August 1995.
[108] Robert Frucht: Herstellung von Graphen mit vorgegebener abstrakter Gruppe. Compositio
Mathematica, 6:239250, 1939.
[109] Martin Frer: Faster integer multiplication. In Proceedings of the ACM Symposium on the
Theory of Computing, volume 39, pages 5766, 2007.
[110] The GAP Group: GAP Groups, Algorithms, and Programming, Version 4.5.6, 2012.
http://www.gap-system.org.
[111] Michael R. Garey and David S. Johnson: Computers and Intractability: A Guide to the Theory
of NP-completeness. A Series of Books in the Mathematical Sciences. W. H. Freeman and Co.,
1979.
[112] GiNaC version 1.6.2. http://www.ginac.de/Download.html, November 2011.
[113] I. J. Good: The number of orderings of n candidates when ties are permitted. The Fibonacci
Quarterly, 13(1):1118, February 1975.
[114] John Goodenough and Sue L. Gerhart: Toward a theory of test data selection. IEEE Transactions
on Software Engineering, SE-1(2):156173, June 1975.
[115] John Gordon: The Alice and Bob after dinner speech.
http://downlode.org/Etext/alicebob.html, April 1984. Given at the Zurich Seminar.
[116] Mike Gordon and Hlne Collavizza: Forward with Hoare. In A. W. Roscoe, Cliff B. Jones, and
Kenneth R. Wood (editors): Reections on the Work of C.A.R. Hoare, History of Computing,
pages 101121. Springer London, 2010.
[117] Ian P. Goulden and David M. Jackson: Combinatorial Enumeration. Dover Publications, 2004.
[118] Xavier Gourdon and Pascal Sebah: The Euler constant: .
http://numbers.computation.free.fr/Constants/Gamma/gamma.html, April 2004.
[119] RonaldL. Graham, DonaldE. Knuth, andOrenPatashnik: Concrete Mathematics: AFoundation
for Computer Science. Addison-Wesley Professional, second edition, 1994.
[120] TorbjrnGranlund et al.: The GNUmultiple precisionarithmetic library. http://gmplib.org,
May 2013.
[121] Daniel H. Greene and Donald E. Knuth: Mathematics for the Analysis of Algorithms. Modern
Birkhuser Classics. Birkhuser, 2010.
[122] David Gries: The Science of Programming. Springer, 1987.
[123] Leonidas J. Guibas and Andrew M. Odlyzko: String overlaps, pattern matching, and nontransi-
tive games. Journal of Combinatorial Theory, Series A, 30(2):183208, March 1981.
[124] Peter Gutmann: Cryptographic Security Architecture: Design and Verication. Springer, 2004.
[125] Bruno Haible and Richard B. Kreckel: CLN, a Class Library for Numbers, version 1.3.2 edition,
May 2011. http://www.ginac.de/CLN.
[126] Phillip Hall: On representatives of subsets. Journal of the London Mathematical Society,
10(1):2630, 1935.
460 BIBLIOGRAFA
[127] William Rowan Hamilton: On quaternions, or on a new system of imaginaries in algebra. Philo-
sophical Magazine, 25(3):489495, 1844.
[128] Richard Hammack: The Book of Proof, volume 1 of Mathematics Textbook Series. Virginia
Commonwealth University Mathematics, 2nd edition, 2013.
[129] Richard W. Hamming: Error detecting and correcting codes. Bell System Technical Journal,
29(2):147160, April 1950.
[130] Richard W. Hamming: The unreasonable effectiveness of mathematics. The American Mathe-
matical Monthly, 87(2):8190, February 1980.
[131] Darrel Hankerson, Alfred J. Menezes, and Scott Vanstone: Guide to Elliptic Curve Cryptography.
Springer, 2004.
[132] Helmut Hasse: Zur Theorie der abstrakten elliptischen Funktionenkrper. I. Die Struktur der
Gruppe der Divisorenklassen endlicher Ordnung. Journal fr Reine und Angewandte Mathe-
matik, 175:5562, 1936.
[133] Helmut Hasse: Zur Theorie der abstrakten elliptischen Funktionenkrper. II. Automorphismen
und Meromorphismen. Das Additionstheorem. Journal fr Reine undAngewandte Mathematik,
175:6988, 1936.
[134] Helmut Hasse: Zur Theorie der abstrakten elliptischen Funktionenkrper. III. Die Struktur des
Meromorphismenringes. Die Riemannsche Vermutung. Journal fr Reine und Angewandte
Mathematik, 175:193208, 1936.
[135] Walter K. Hayman: A generalization of Stirlings formula. Journal fr die reine und angewandte
Mathematik, 196:6795, January 1956.
[136] Michael T. Heideman, Don H. Johnson, and C. Sidney Burrus: Gau and the history of the Fast
Fourier Transform. IEEE ASSP Magazine, 1(4):1421, October 1984.
[137] Nadia Heninger, Zakir Durumeric, Eric Wustrow, and J. Alex Halderman: Mining your Ps and
Qs: Detection of widespread weak keys in network devices. In Proceedings of the 21st USENIX
Security Symposium, August 2012.
[138] Carl Hierholzer: ber die Mglichkeit, einen Linienzug ohne Wiederholung und ohne Unter-
brechung zu umfahren. Mathematische Annalen, 6(1):3032, 1873.
[139] C. A. R. Hoare: Quicksort. Computer Journal, 5(1):1015, April 1962.
[140] C. A. R. Hoare: An axiomatic basis for computer programming. Communications of the ACM,
12(10):576580, 583, October 1969.
[141] John E. Hopcroft and Richard M. Karp: An n
5/2
algorithmfor maximummatchings in bipartite
graphs. SIAM Journal on Computing, 2(4):225231, 1973.
[142] John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman: Introduction to Automata Theory,
Languages, and Computation. Addison-Wesley, second edition, 2001.
[143] Guillaume Marquis de lHpital: Analyse des Inniment Petits pour lIntelligence des Lignes
Courbes. Paris, 1696.
[144] IEEE Standard for local and metropolitan area networks: Media access control (MAC) bridges.
IEEE Std 802.1d-2004, 2004.
BIBLIOGRAFA 461
[145] International Organization for Standardization: Information technology Programming lan-
guages C++. ISO/IEC 14882:2011, 2011.
[146] Kenneth E. Iverson: A Programming Language. John Wiley & Sons, 1962.
[147] Ray Jennings and AndrewHartline: Disjunction. InEdward N. Zalta (editor): The Stanford Ency-
clopedia of Philosophy. Center for the Study of Language and Information, Stanford University,
spring 2009 edition, 2009.
[148] William S. Jevons: The Principles of Science: A Treatise on Logic and Scientic Method. Macmil-
lan, 1874.
[149] Arne T. Jonassen and Donald E. Knuth: A trivial algorithm whose analysis isnt. Journal of
Computer and System Sciences, 16(3):301322, June 1978.
[150] Cliff B. Jones: The early search for tractable ways of reasoning about programs. IEEE Annals of
the History of Computing, 25(2):2649, 2003.
[151] David Joyner: Adventures in group theory: Rubiks cube, Merlins machine, and Other Mathe-
matical Toys. Johns Hopkins University Press, second edition, 2008.
[152] Thomas W. Judson: Abstract Algebra: Theory and Applications. Virginia Commonwealth Uni-
versity Mathematics, 2013.
[153] Arthur B. Kahn: Topological sorting of large networks. Communications of the ACM, 5(11):558
562, November 1962.
[154] Dan Kalman: Six ways to sum a series. The College Mathematics Journal, 24(5):402421,
November 1993.
[155] Jovan Karamata: Thormes sur la Sommabilit Exponentielle et dautres Sommabilits Ratta-
chant. Mathematica (Cluj), 9 :164178, 1935.
[156] A. Karatsuba and Yu. Ofman: Multiplication of many-digital numbers by automatic computers.
Proceedings of the USSR Academy of Sciences, 145:293294, 1962.
[157] Richard M. Karp: Reducibility among combinatorial problems. In R. E. Miller and J. W. Thatcher
(editors): Complexity of Computer Computations, pages 85103. Plenum Press, 1972.
[158] Manuel Kauers and Peter Paule: The Concrete Tetrahedron: Symbolic Sums, Recurrence Equa-
tions, Generating Functions, Asymptotic Estimates. Texts and Monographs in Symbolic Com-
putation. Springer, 2011.
[159] James Kelley and Morgan Walker: Critical-path planning and scheduling. In Proceedings of the
Eastern Joint Computer Conference, 1959.
[160] Alfred B. Kempe: A memoir on the theory of mathematical form. Philosophical Transactions of
the Royal Society of London, 177:170, 1886.
[161] Brian W. Kernighan and Rob Pike: The Practice of Programming. Addison-Wesley Professional,
1999.
[162] Brian W. Kernighan and Dennis M. Ritchie: The C Programming Language. Prentice Hall,
second edition, 1988.
462 BIBLIOGRAFA
[163] J. Kiefer: Sequential minimax search for a maximum. Proceedings of the American Mathemat-
ical Association, 4:502506, 1953.
[164] Gerwin Klein: The L4.veried project.
http://ertos.nicta.com.au/research/l4.verified, 2011.
[165] Gerwin Klein, June Andronick, Kevin Elphinstone, Gernot Heiser, David Cock, Philip Der-
rin, Dhammika Elkaduwe, Kai Engelhardt, Rafal Kolanski, Michael Norrish, Thomas Sewell,
Harvey Tuch, and Simon Winwood: seL4: Formal verication of an operating-system kernel.
Communications of the ACM, 53(6):107115, June 2010.
[166] Israel Kleiner: Rigor and proof inmathematics: Ahistorical perspective. Mathematics Magazine,
64(5):291314, December 1991.
[167] Israel Kleiner and Nitsa Movshovitz-Hadar: The role of paradoxes in the evolution of mathe-
matics. The American Mathematical Monthly, 101:963974, 1994.
[168] Thorsten Kleinjung, Kazumaro Aoki, Jens Franke, Arjen Lenstra, Emmanuel Thom, Joppe
Bos, Pierrick Gaudry, Alexander Kruppa, Peter Montgomery, Dag Arne Osvik, Herman te Riele,
Andrey Timofeev, and Paul Zimmermann: Factorization of a 768-bit RSA modulus. Cryptology
ePrint Archive, Report 2010/006, 2010.
[169] Donald E. Knuth: Big Omicron and big Omega and big Theta. ACM SIGACT News, 8(2):1824,
1976.
[170] Donald E. Knuth: Notes on the van Emde Boas construction of priority de-
ques: An instructive use of recursion. Cited by the author on his webpage,
http://www-cs-faculty.stanford.edu/~knuth/faq.html, March 1977.
[171] Donald E. Knuth: Two notes on notation. The American Mathematical Monthly, 99(5):403422,
May 1992.
[172] Donald E. Knuth: Johann Faulhaber and sums of powers. Mathematics of Computation,
61(203):277294, July 1993.
[173] Donald E. Knuth: Bracket notation for the coefcient of operator. In A. W. Roscoe (editor): A
Classical Mind, Essays in Honour of C. A. R. Hoare, pages 247258. Prentice Hall, 1994.
[174] Donald E. Knuth: Fundamental Algorithms, volume 1 of The Art of Computer Programming.
Addison-Wesley, third edition, 1997.
[175] Donald E. Knuth: Seminumerical Algorithms, volume 2 of The Art of Computer Programming.
Addison-Wesley, third edition, 1997.
[176] Donald E. Knuth: Sorting and Searching, volume 3 of The Art of Computer Programming.
Addison-Wesley, second edition, 1998.
[177] Donald E. Knuth: Combinatorial Algorithms, Part 1, volume 4a of The Art of Computer Pro-
gramming. Addison-Wesley, 2011.
[178] Donald E. Knuth, Tracy L. Larrabee, and Paul M. Roberts: Mathematical Writing. Mathematical
Association of America, 1989.
[179] Donald E. Knuth and Herbert S. Wilf: A short proof of Darbouxs lemma. Applied Mathematics
Letters, 2(2):139140, 1989.
BIBLIOGRAFA 463
[180] Dnes K onig: Theorie der endlichen und unendlichen Graphen. Akademische Verlagsgesell-
schaft, Leipzig, 1936.
[181] Alvin R. Korselt: Problme Chinois. LIntermdiaire des Mathmaticiens, 6 :142143, 1899.
[182] Joseph B. Kruskal: On the shortest spanning subtree of a graph and the traveling salesman
problem. Proceedings of the American Mathematical Society, 7(1):4850, February 1956.
[183] Thomas S. Kuhn: The Structure of Scientic Revolutions. The University of Chicago Press,
second edition, 1970.
[184] Ivo Lah: A new kind of numbers and its application in the actuarial mathematics. Boletim do
Instituto dos Actuarios Portugueses, 9:715, June 1954.
[185] Michael Lambrou: Mathematical induction: Notes for the teacher I. Creative Mathematics and
Informatics, 14:1930, 2005.
[186] Michael Lambrou: Mathematical induction: Notes for the teacher II. Creative Mathematics and
Informatics, 15:117132, 2006.
[187] Nate Lawson: DSA requirements for random k value.
http://rdist.root.org/2010/11/19/dsa-requirements-for-random-k-value,
November 2010.
[188] Burt Leavenworth: Review #19420. Computing Reviews, 11:396397, 1970.
[189] Eric Lehman, F. Thomson Leighton, and Albert R. Meyer: Mathematics for Computer Science.
http://courses.csail.mit.edu/6.042/spring13/mcs.pdf, June 2013.
[190] Tom Leighton: Notes on better master theorems for divide-and-conquer recurrences.
http://citeseer.ist.psu.edu/252350.html, 1996.
[191] Arjen K. Lenstra, James P. Hughes, Maxime Augier, Joppe W. Bos, Thorsten Kleinjung, and
Christophe Wachter: Ronwas wrong, Whit is right. Cryptology ePrint Archive, Report 2012/064,
2012.
[192] Hendrik W. Lenstra, Jr.: Factoring integers with elliptic curves. The Annals of Mathemathics,
126(3):649673, November 1987.
[193] Hendrik W. Lenstra, Jr.: Solving the Pell equation. Notices of the AMS, 49(2):182192, February
2002.
[194] Ralph L. London: Software reliability through proving programs correct. In Proceedings of the
IEEE International Symposium on Fault Tolerant Computing, pages 125129, March 1971.
[195] London underground railways.
http://upload.wikimedia.org/wikipedia/commons/9/90/Tube_map_1908-2.jpg,
1908.
[196] Elisha Scott Loomis: The Pythagorean Proposition. The National Council of Teachers of Math-
ematics, 1968.
[197] Circuit diagram of a 3rd order low pass lter using passive components (2 resistors, 2 capacitors,
1 inductor). http://commons.wikimedia.org/wiki/File:LowPass3poleCauer.png,
July 2006.
464 BIBLIOGRAFA
[198] Ben Lynn: The Wallis product.
http://crypto.stanford.edu/pbc/notes/pi/wallis.xhtml.
[199] D. G Malcolm, H. Rosenboom, J, C. E. Clark, and W. Fazar: Applications of a technique for
research and development program evaluation. Operations Research, 7(5):646669, 1959.
[200] G. Malkin: RIP version 2. IETF RFC 4822, November 1998.
[201] Conrado Martnez and Salvador Roura: Randomized binary search trees. Journal of the ACM,
45(2):288323, March 1998.
[202] Yoshio Matsuoka: On a proof of Hermites identity. The American Mathematical Monthly,
71(10):1115, December 1964.
[203] Maxima, a computer algebra system. http://maxima.sourceforge.net, August 2012. Ver-
sion 5.28.0.
[204] M. Douglas McIllroy: A killer adversary for Quicksort. Software Practice and Experience,
29(4):341344, April 1999.
[205] Alfred J. Menezes, Paul C. van Oorschot, and Scott A. Vanstone: Handbook of Applied Cryptog-
raphy. CRC Press, 1996.
[206] Donatella Merlini, Renzo Sprugnoli, and Maria Cecilia Verri: The method of coefcients. The
American Mathematical Monthly, 114(1):4057, January 2007.
[207] Gary L. Miller: Riemanns hypothesis and tests for primality. Journal of Computer and System
Sciences, 13(3):300317, December 1976.
[208] Louis Melville Milne-Thomson: The Calculus of Finite Differences. Macmillan and Co., 1933.
[209] Douglas W. Mitchell: An analytic Riccati solution for two-target discrete-time control. Journal
of Economic Dynamics and Control, 24(4):615622, April 2000.
[210] Louis Monier: Evaluation and comparison of two efcient probabilistic primality testing algo-
rithms. Theoretical Computer Science, 12(1):97108, September 1980.
[211] Leo Moser: An Introduction to the Theory of Numbers. The Trillia Group, 2004.
[212] Theodore S. Motzkin: Relation between hypersurface cross ratios, and a formula for partitions
of a polygon, for permanent preponderance, and for non-associative products. Bulletin of the
American Mathematical Society, 54(4):352360, 1948.
[213] David Musser: Introspective sorting and selection algorithms. Software Practice and Experi-
ence, 27(8):983993, August 1997.
[214] Paul J. Nahin: An Imaginary Tale: The Story of
_
1. Princeton University Press, 2010.
[215] Peter Naur: Programming by action clusters. BIT, 9(3):250258, September 1969.
[216] Recommended elliptic curves for Federal Government use.
http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf, July
1999.
[217] Ivan Niven: A simple proof that is irrational. Bulletin of the American Mathematical Society,
53(6):509, June 1947.
BIBLIOGRAFA 465
[218] MilanNovakovi c: Generating functions. http://www.imomath.com/tekstkut/genf_mn.pdf,
2007.
[219] John OConnor and Edmund F. Robertson: Knigsberg bridges.
http://www-history.mcs.st-andrews.ac.uk/Extras/Konigsberg.html, March
2000.
[220] Andrew M. Odlyzko: Enumeration of strings. In A. Apostolico and Z. Galil (editors): Combi-
natorial Algorithms on Words, volume 12 of NATO Advance Science Institute Series, Series F:
Computer and System Sciences, pages 205228. Springer, 1985.
[221] Andrew M. Odlyzko and Herbert S. Wilf: The editors corner: n coins in a fountain. The Ameri-
can Mathematical Monthly, 95(9):840843, November 1988.
[222] Frank W. J. Olver, Daniel W. Lozier, Ronald F. Boisvert, and Charles W. Clark: NIST Digital
Library of Mathematical Functions. http://dlmf.nist.gov.
[223] Ian Parberry: Problems on Algorithms. Prentice-Hall, 1994.
[224] The PARI Group, Bordeaux: PARI/GP, Version 2.5.4, May 2013. Available from
http://pari.math.u-bordeaux.fr.
[225] Radia Perlman: Analgorithmfor distributed computationof a spanningtree inanextended LAN.
SIGCOMM Computer Communications Review, 15:4453, September 1985, ISSN 0146-4833.
[226] Julius Petersen: Sur le Thorme de Tait. LIntermdiaire des Mathmaticiens, 5 :225227, 1898.
[227] W. W. Peterson and D. T. Brown: Cyclic codes for error detection. Proceedings of the IRE,
49(1):228235, January 1961.
[228] Marko Petkovek and Toma Pisanski: Combinatorial interpretation of unsigned Stirling and
Lah numbers. Technical Report 837, IMFM/TCS, University of Ljubljana, November 2002.
[229] Marko Petkovek, Herbert S. Wilf, and Doron Zeilberger: A B. A K Peters/CRC Press, 1996.
[230] Charles C. Pinter: A Book of Abstract Algebra. Dover, second edition, 2010.
[231] J. M. Pollard: Theorems of factorization and primality testing. Proceedings of the Cambridge
Philosophical Society, 76(3):521528, 1974.
[232] J. M. Pollard: A Monte Carlo method for factorization. BIT Numerical Mathematics, 15(3):331
334, September 1975.
[233] George Plya: Kombinatorische Anzahlbestimmungen fr Gruppen, Graphen und chemische
Verbindungen. Acta Mathematica, 68(1):145254, Dezember 1937.
[234] George Plya: How to Solve It. Princeton University Press, 1945.
[235] George Plya: On picture-writing. The American Mathematical Monthly, 63(10):689697, De-
cember 1956.
[236] George Plya and Ronald C. Read: Combinatorial Enumeration of Groups, Graphs, and Chem-
ical Compounds. Springer-Verlag, 1987.
[237] Carl Pommerance: A tale of two sieves. Notices of the AMS, 43(12):14731485, December 1996.
466 BIBLIOGRAFA
[238] Robert C. Prim: Shortest connection networks and some generalizations. Bell System Technical
Journal, 36(6):13891401, November 1957.
[239] Helmut Prodinger: Knuths old sum a survey. Bulletin of the EATCS, pages 232245, October
1994.
[240] Michael O. Rabin: Probabilistic algorithm for testing primality. Journal of Number Theory,
12(1):128138, February 1980.
[241] Jorge L. Ramrez Alfonsn: The Diophantine Frobenius Problem. Oxford University Press, 2006.
[242] Peter L. Renz: Mathematical proof: What it is and what it ought to be. The College Mathematics
Journal, 12(2):83103, March 1981.
[243] Fred Richman: Number Theory: An Introduction to Algebra. Brooks/Cole Publishing Company,
1971.
[244] John Riordan: Combinatorial Identities. John Wiley & Sons, 1968.
[245] Ronald L. Rivest, Adi Shamir, and Leonard Adleman: A method for obtaining digital signatures
and public-key cryptosystems. Communications of the ACM, 21(2):120126, February 1978.
[246] Kenneth Rogers: The axioms for Euclidean domains. The American Mathematical Monthly,
78(10):11271128, December 1971.
[247] Steven M. Roman and Gian Carlo Rota: The umbral calculus. Advances in Mathematics,
27(2):95188, February 1978.
[248] Salvador Roura: Improved master theorems for divide-and-conquer recurrences. Journal of the
ACM, 48(2):170205, March 2001.
[249] Imad Khaled Salah, Abdullah Darwish, and Saleh Oqeili: Mathematical attacks on the RSA
cryptosystem. Journal of Computer Science, 2(8):665671, 2006.
[250] Pierre Samuel: About Euclidean rings. Journal of Algebra, 19(2):282301, October 1971.
[251] Augustin P. Sarr, Philippe ElbazVincent, and JeanClaude Bajard: A secure and efcient au-
thenticated DifeHellman protocol. Cryptology ePrint Archive, Report 2009/408, 2009.
[252] Bruce Schneier: Applied Cryptography. John Wiley & Sons, 1996.
[253] Ernst Schder: Vier combinatorische Probleme. Zeitschrift fr Angewandte Mathematik und
Physik, 15:361376, 1870.
[254] Arnold Schnhage und Volker Strassen: Schnelle Multiplikation groer Zahlen. Computing,
7(3-4):281292, September 1971.
[255] Ren Schoof: Counting points on elliptic curves over nite elds. Journal de Thorie des Nom-
bres de Bordeaux, 7:219254, 1995.
[256] SEC1: Elliptic curve cryptography, version 2.0.
http://www.secg.org/download/aid-385/sec1_final.pdf, May 2009. Standards for Ef-
cient Cryptography (SEC).
[257] SEC2: Recommended elliptic curve domain parameters, version 2.0.
http://www.secg.org/download/aid-385/sec2_final.pdf, January 2010. Standards
for Efcient Cryptography (SEC).
BIBLIOGRAFA 467
[258] Robert Sedgewick and Philipe Flajolet: An Introduction to the Analysis of Algorithms. Addison-
Wesley, second edition, 2013.
[259] Raimund G. Seidel and Cecilia A. Aragon: Randomized search trees. Algorithmica, 16(4/5):464
497, October 1996.
[260] Ravi Sethi and Jeffrey D. Ullman: The generation of optimal code for arithmetic expressions.
Journal of the ACM, 17(4):715728, October 1970.
[261] Victor Shoup: A Computational Introduction to Number Theory and Algebra. Cambridge Uni-
versity Press, second edition, 2009.
[262] Victor Shoup: NTL: A library for doing number theory, version 6.0.0.
http://www.shoup.net/ntl, February 2013.
[263] Steven S. Skiena: The Algorithm Design Manual. Springer, second edition, 2008.
[264] Neil J. A. Sloane: Online Encyclopedia of Integer Sequences. http://oeis.org.
[265] A. D. Solovev: A combinatorial identity and its application to the problem concerning the rst
occurence of a rare event. Theory of Probability and Its Applications, 11(2):276282, 1966.
[266] William Stallings: Data and Computer Communications. Prentice-Hall, ninth edition, 2010.
[267] Richard P. Stanley: Hipparchus, Plutarch, Schrder and Hough. The American Mathematical
Montly, 104(4):344350, April 1997.
[268] RichardP. Stanley: Catalanaddendum. http://www-math.mit.edu/~rstan/ec/catadd.pdf,
May 2013.
[269] Richard P. Stanley: Enumerative Combinatorics, volume 1. Cambridge University Press, sec-
ond edition, February 2012.
[270] Richard P. Stanley: Enumerative Combinatorics, volume 2. Cambridge University Press, April
1999.
[271] Karl Georg Christian von Staudt: Geometrie der Lage. Nrnberg, 1847.
[272] Clifford L. Stein, Robert Drysdale, and Kenneth Bogart: Discrete Mathematics for Computer
Scientists. Addison-Wesley, 2010.
[273] Elias M. Stein and Rami Shakarchi: Complex Analysis, volume II of Princeton Lectures in Anal-
ysis. Princeton University Press, 2010.
[274] Sherman K. Stein and Anthony Barcellos: Calculus and Analytic Geometry. McGraw-Hill,
fth edition, 1992.
[275] Gilbert Strang: Introduction to Linear Algebra. Wellesley-Cambridge Press, fourth edition,
February 2009.
[276] Volker Strassen: Gaussian elimination is not optimal. Numerische Mathematik, 13(4):354356,
August 1969.
[277] Bjarne Stroustrup: The C++ Programming Language. Addison-Wesley Longman, special edi-
tion, 2000.
468 BIBLIOGRAFA
[278] E. R. Swart: The philosophical implications of the four color problem. The American Mathe-
matical Monthly, 87(9):697702, November 1980.
[279] AndrewS. Tanenbaumand David J. Wetherall: Computer Networks. Prentice-Hall, fth edition,
2010.
[280] Robert Endre Tarjan: Edge-disjoint spanning trees and depth-rst search. Acta Informatica,
6(2):171185, June 1976.
[281] Richard Taylor and Andrew Wiles: Ring theoretic properties of certain Hecke algebras. Annals
of Mathematics, 141(3):553572, May 1995.
[282] RonTaylor: Introductionto Proof, volume 4. Journal of Inquiry-BasedLearning inMathematics,
September 2007.
[283] Robin Thomas: An update on the Four-Color Theorem. Notices of the American Mathematical
Society, 45(7), August 1998.
[284] William F. Trench: Introduction to Real Analysis. Pearson Education, 2003. Free Hyperlinked
Edition 2.01, http://ramanujan.math.trinity.edu/wtrench/texts/index.shtml.
[285] Alan Tucker: Plyas enumeration formula by example. Mathematics Magazine, 47(5):248256,
November 1974.
[286] Chris Tufey: Induction.
http://www.mathsolympiad.org.nz/wp-content/uploads/2009/03/induction.pdf,
March 2009.
[287] Thomas Tymoczko: Computers, proofs and mathematicians: A philosophical investigation of
the four-color proof. Mathematics Magazine, 53(3):131138, May 1980.
[288] StephenVajda: Fibonacci and Lucas Numbers, and the GoldenSection: Theory and Applications.
Ellis Horwood Limited, 1989. Reprinted 2008 by Dover.
[289] Michael J. Wiener: Cryptanalysis of short RSA secret exponents. IEEE Transactions on Informa-
tion Theory, 36(3):553558, May 1990.
[290] Eugene Wigner: The unreasonable effectiveness of mathematics in the natural sciences. Com-
munications in Pure and Applied Mathematics, 13(1):114, February 1960.
[291] Andrew Wiles: Modular elliptic curves and Fermats last theorem. Annals of Mathematics,
141(3):443551, May 1995.
[292] Herbert S. Wilf: Generatingfunctionology. A. K. Peters, Ltd., third edition, 2006.
[293] J. W. J. Williams: Algorithm 232 - Heapsort. Communications of the ACM, 7(6):347348, June
1964.
[294] Yin Y. Yen: An algorithm for nding shortest routes from all nodes to a given destination in
general networks. Quarterly of Applied Mathematics, 27:526530, 1970.

Vous aimerez peut-être aussi