Clases Extra 2 2013 1

61
Fundamentos de Informática

Transcript of Clases Extra 2 2013 1

Page 1: Clases Extra 2 2013 1

Fundamentos de Informática

Page 2: Clases Extra 2 2013 1
Page 3: Clases Extra 2 2013 1

Fundamentosde

Informática

Horst H. von BrandHorst H. von Brand

18 de junio de 2013

Departamento de InformáticaUniversidad Técnica Federico Santa María

Page 4: Clases Extra 2 2013 1

©2013 Horst H. von Brand

Todos los derechos reservados.

Versión 0.70.387.g41d0d83

Se autoriza el uso de esta versión preliminar para cualquier fin educacional en una institución de enseñanza

superior, en cuyo caso sólo se permite el cobro de una tarifa razonable de reproducción.

Page 5: Clases Extra 2 2013 1

Agradezco a mi familia, a quienes he descuidado demasiado durante el desarrollo del presente texto.

El Departamento de Informática de la Universidad Técnica Federico Santa María provee el ambienteideal de trabajo.

Dedico este texto a mis estudiantes, que sufrieron versiones preliminares del mismo. Sus sugerenciasy preguntas ayudaron inmensamente a mejorarlo.

Page 6: Clases Extra 2 2013 1
Page 7: Clases Extra 2 2013 1

Índice general

Índice generalÍndice general VII

Índice de figurasÍndice de figuras XIII

Índice de cuadrosÍndice de cuadros XVI

Índice de listadosÍndice de listados XVIII

Índice de algoritmosÍndice de algoritmos XIX

1 Preliminares1 Preliminares 11.1. Notación de lógica matemática1.1. Notación de lógica matemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1. Proposiciones1.1.1. Proposiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2. Conectivas lógicas1.1.2. Conectivas lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.3. Lógica de predicados1.1.3. Lógica de predicados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.4. Cuantificadores1.1.4. Cuantificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2. Conjuntos1.2. Conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3. Tuplas1.3. Tuplas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.4. Multiconjuntos1.4. Multiconjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.5. Sumatorias, productorias y yerbas afines1.5. Sumatorias, productorias y yerbas afines . . . . . . . . . . . . . . . . . . . . . . . . . 81.6. Potencias factoriales1.6. Potencias factoriales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.7. Funciones floor y ceil1.7. Funciones floor y ceil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.8. Otros resultados de interés1.8. Otros resultados de interés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.9. Notación asintótica1.9. Notación asintótica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.10. Notación asintótica en algoritmos1.10. Notación asintótica en algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2 Relaciones y funciones2 Relaciones y funciones 272.1. Relaciones2.1. Relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.2. Funciones2.2. Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.3. Operaciones2.3. Operaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3 Demostraciones3 Demostraciones 373.1. Desenrollar definiciones3.1. Desenrollar definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.2. Implicaciones3.2. Implicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.2.1. Primer método — Demostración directa3.2.1. Primer método — Demostración directa . . . . . . . . . . . . . . . . . . . . . 393.2.2. Segundo método — Demostrar el contrapositivo3.2.2. Segundo método — Demostrar el contrapositivo . . . . . . . . . . . . . . . . 40

3.3. Demostrando un “Si y sólo si”3.3. Demostrando un “Si y sólo si” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.3.1. Primer método — Cada una implica la otra3.3.1. Primer método — Cada una implica la otra . . . . . . . . . . . . . . . . . . . 41

VII

Page 8: Clases Extra 2 2013 1

VIII ÍNDICE GENERAL

3.3.2. Segundo método — Cadena de equivalencias3.3.2. Segundo método — Cadena de equivalencias . . . . . . . . . . . . . . . . . . 413.4. Demostración por casos3.4. Demostración por casos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.5. Demostración por contradicción3.5. Demostración por contradicción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.6. Inducción3.6. Inducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.6.1. El caso más común3.6.1. El caso más común . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.6.2. Otro punto de partida3.6.2. Otro punto de partida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.6.3. Paso diferente3.6.3. Paso diferente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.6.4. Ida y vuelta3.6.4. Ida y vuelta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.6.5. Múltiples variables3.6.5. Múltiples variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.6.6. Inducción fuerte3.6.6. Inducción fuerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.6.7. Inducción estructural3.6.7. Inducción estructural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

3.7. Demostrar existencia3.7. Demostrar existencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.8. Refutaciones3.8. Refutaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.8.1. Refutar aseveraciones universales: Contraejemplo3.8.1. Refutar aseveraciones universales: Contraejemplo . . . . . . . . . . . . . . . 633.8.2. Refutar existencia3.8.2. Refutar existencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.8.3. Refutar por contradicción3.8.3. Refutar por contradicción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.9. Conjetura a teorema3.9. Conjetura a teorema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4 Lógica matemática4 Lógica matemática 694.1. Proposiciones4.1. Proposiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.2. Conectivas lógicas4.2. Conectivas lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.3. Álgebra de proposiciones4.3. Álgebra de proposiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.4. Lógica de predicados4.4. Lógica de predicados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

4.4.1. Cuantificadores4.4.1. Cuantificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5 Correctitud de programas5 Correctitud de programas 755.1. Lógica de Hoare5.1. Lógica de Hoare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755.2. Búsqueda binaria5.2. Búsqueda binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.2.1. Escribiendo el programa5.2.1. Escribiendo el programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765.3. Exponenciación5.3. Exponenciación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795.4. Algunos principios5.4. Algunos principios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

6 Números reales6 Números reales 83

7 Numerabilidad7 Numerabilidad 87

8 Teoría de números8 Teoría de números 918.1. Máximo común divisor8.1. Máximo común divisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

8.1.1. Obtener los coeficientes de Bézout8.1.1. Obtener los coeficientes de Bézout . . . . . . . . . . . . . . . . . . . . . . . . 968.1.2. Números primos8.1.2. Números primos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

8.2. Congruencias8.2. Congruencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008.3. Aritmética en Zm8.3. Aritmética en Zm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

8.3.1. Curvas elípticas8.3.1. Curvas elípticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088.3.2. Anillos cuadráticos8.3.2. Anillos cuadráticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1098.3.3. Cuaterniones8.3.3. Cuaterniones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138.3.4. Los teoremas de Lagrange, Euler y Fermat8.3.4. Los teoremas de Lagrange, Euler y Fermat . . . . . . . . . . . . . . . . . . . . 1138.3.5. Unidades de Zm8.3.5. Unidades de Zm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

9 Descomposiciones9 Descomposiciones 1179.1. Homomorfismos e isomorfismos9.1. Homomorfismos e isomorfismos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Page 9: Clases Extra 2 2013 1

ÍNDICE GENERAL IX

9.2. Sumas directas9.2. Sumas directas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199.3. Sumas directas externas9.3. Sumas directas externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

9.3.1. Comentarios finales9.3.1. Comentarios finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

10 Estructura deZm yZ×m10 Estructura deZm yZ×m 123

10.1. Estructura de Z×m10.1. Estructura de Z×m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

11 Anillos de polinomios11 Anillos de polinomios 13911.1. Dominios euclidianos11.1. Dominios euclidianos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14211.2. Factorización de polinomios11.2. Factorización de polinomios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14611.3. Raíces primitivas11.3. Raíces primitivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

12 Campos finitos12 Campos finitos 15312.1. Espacios vectoriales12.1. Espacios vectoriales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15312.2. Estructura de los campos finitos12.2. Estructura de los campos finitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15612.3. Códigos de detección y corrección de errores12.3. Códigos de detección y corrección de errores . . . . . . . . . . . . . . . . . . . . . . . 164

12.3.1. Códigos de Hamming12.3.1. Códigos de Hamming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16412.3.2. Verificación de redundancia cíclica12.3.2. Verificación de redundancia cíclica . . . . . . . . . . . . . . . . . . . . . . . . 164

13 Algoritmos aritméticos13 Algoritmos aritméticos 16713.1. Aritmética básica13.1. Aritmética básica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

13.1.1. Suma (y resta)13.1.1. Suma (y resta) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16813.1.2. Multiplicación multiprecisión13.1.2. Multiplicación multiprecisión . . . . . . . . . . . . . . . . . . . . . . . . . . . 16913.1.3. División con resto13.1.3. División con resto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17113.1.4. Resumen aritmética básica13.1.4. Resumen aritmética básica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

13.2. Algoritmos adicionales13.2. Algoritmos adicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17513.2.1. Cambio de base13.2.1. Cambio de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17513.2.2. Máximo común divisor13.2.2. Máximo común divisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17613.2.3. Potencias13.2.3. Potencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

13.3. Factorizar13.3. Factorizar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17913.4. Factorización con curvas elípticas13.4. Factorización con curvas elípticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18413.5. Determinar primalidad13.5. Determinar primalidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18513.6. Números de Carmichael13.6. Números de Carmichael . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

14 Criptografía14 Criptografía 18914.1. Nomenclatura14.1. Nomenclatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18914.2. Protocolo Diffie-Hellman de intercambio de claves14.2. Protocolo Diffie-Hellman de intercambio de claves . . . . . . . . . . . . . . . . . . . 19014.3. Sistema de clave pública de Rivest, Shamir y Adleman (RSA)14.3. Sistema de clave pública de Rivest, Shamir y Adleman (RSA) . . . . . . . . . . . . . . 191

14.3.1. Firma digital usando RSA14.3.1. Firma digital usando RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19314.4. El estándar de firma digital (DSS)14.4. El estándar de firma digital (DSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

14.4.1. Selección de parámetros14.4.1. Selección de parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19314.4.2. Generar claves para un usuario14.4.2. Generar claves para un usuario . . . . . . . . . . . . . . . . . . . . . . . . . . 19314.4.3. Firmar y verificar firma14.4.3. Firmar y verificar firma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19414.4.4. Correctitud del algoritmo14.4.4. Correctitud del algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19414.4.5. Ataques a DSS14.4.5. Ataques a DSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

14.5. Otras consideraciones14.5. Otras consideraciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19514.6. Criptografía de curvas elípticas14.6. Criptografía de curvas elípticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

14.6.1. Intercambio de claves14.6.1. Intercambio de claves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19514.6.2. Firmas digitales14.6.2. Firmas digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

Page 10: Clases Extra 2 2013 1

X ÍNDICE GENERAL

15 Combinatoria elemental15 Combinatoria elemental 19715.1. Técnicas básicas15.1. Técnicas básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19715.2. Principios básicos de conteo15.2. Principios básicos de conteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20015.3. Manos de poker15.3. Manos de poker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

15.3.1. Royal Flush15.3.1. Royal Flush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20615.3.2. Straight Flush15.3.2. Straight Flush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20615.3.3. Four of a Kind15.3.3. Four of a Kind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20715.3.4. Full House15.3.4. Full House . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20715.3.5. Flush15.3.5. Flush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20815.3.6. Manos con dos pares15.3.6. Manos con dos pares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20815.3.7. Manos con todas las pintas15.3.7. Manos con todas las pintas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

15.4. El tao de BOOKKEEPER15.4. El tao de BOOKKEEPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21015.5. Juegos completos de poker15.5. Juegos completos de poker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21015.6. Secuencias con restricciones15.6. Secuencias con restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

16 Funciones generatrices16 Funciones generatrices 21316.1. Algunas series útiles16.1. Algunas series útiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

16.1.1. Serie geométrica16.1.1. Serie geométrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21616.1.2. Teorema del binomio16.1.2. Teorema del binomio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21616.1.3. Otras series16.1.3. Otras series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21916.1.4. Trabajando con series16.1.4. Trabajando con series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

16.2. Notación para coeficientes16.2. Notación para coeficientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22016.3. Algunos ejemplos16.3. Algunos ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22016.4. Manipulación de series16.4. Manipulación de series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

16.4.1. Reglas OGF16.4.1. Reglas OGF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22416.4.2. Reglas EGF16.4.2. Reglas EGF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

16.5. El truco zDlog16.5. El truco zDlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22616.6. Ejemplos de manipulación de series16.6. Ejemplos de manipulación de series . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22616.7. Funciones generatrices en combinatoria16.7. Funciones generatrices en combinatoria . . . . . . . . . . . . . . . . . . . . . . . . . 22816.8. Aceite de serpiente16.8. Aceite de serpiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23316.9. Retrospectiva16.9. Retrospectiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

17 Principio de inclusión y exclusión17 Principio de inclusión y exclusión 237

18 Series formales de potencias18 Series formales de potencias 24518.1. Unidades y recíprocos18.1. Unidades y recíprocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24718.2. Secuencias de series18.2. Secuencias de series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24718.3. El principio de transferencia18.3. El principio de transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25118.4. Derivadas e integrales formales18.4. Derivadas e integrales formales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25218.5. Series en múltiples variables18.5. Series en múltiples variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

19 La fórmula de Euler-Maclaurin19 La fórmula de Euler-Maclaurin 25519.1. Suma de potencias19.1. Suma de potencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25819.2. Números harmónicos19.2. Números harmónicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25919.3. Fórmula de Stirling19.3. Fórmula de Stirling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26019.4. Propiedades de los polinomios y números de Bernoulli19.4. Propiedades de los polinomios y números de Bernoulli . . . . . . . . . . . . . . . . . 26319.5. El resto19.5. El resto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

20 Aplicaciones20 Aplicaciones 26920.1. Números harmónicos20.1. Números harmónicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

Page 11: Clases Extra 2 2013 1

ÍNDICE GENERAL XI

20.2. Potencias factoriales20.2. Potencias factoriales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27020.3. Números de Fibonacci20.3. Números de Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

20.3.1. Solución mediante funciones generatrices ordinarias20.3.1. Solución mediante funciones generatrices ordinarias . . . . . . . . . . . . . 27120.3.2. Solución mediante funciones generatrices exponenciales20.3.2. Solución mediante funciones generatrices exponenciales . . . . . . . . . . . 27220.3.3. Números de Fibonacci y fuentes20.3.3. Números de Fibonacci y fuentes . . . . . . . . . . . . . . . . . . . . . . . . . . 27320.3.4. Búsqueda de Fibonacci20.3.4. Búsqueda de Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

20.4. Coeficientes binomiales20.4. Coeficientes binomiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27620.5. Otra recurrencia de dos índices20.5. Otra recurrencia de dos índices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27920.6. Dividir y conquistar20.6. Dividir y conquistar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

20.6.1. Análisis de división fija20.6.1. Análisis de división fija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28320.6.2. Quicksort20.6.2. Quicksort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

21 Recurrencias21 Recurrencias 29121.1. Recurrencias lineales21.1. Recurrencias lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29121.2. Recurrencias lineales de primer orden21.2. Recurrencias lineales de primer orden . . . . . . . . . . . . . . . . . . . . . . . . . . . 29221.3. Recurrencias lineales de coeficientes constantes21.3. Recurrencias lineales de coeficientes constantes . . . . . . . . . . . . . . . . . . . . . 29321.4. Cotas asintóticas para el crecimiento21.4. Cotas asintóticas para el crecimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29521.5. Recurrencia de Ricatti21.5. Recurrencia de Ricatti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

21.5.1. Vía recurrencia de segundo orden21.5.1. Vía recurrencia de segundo orden . . . . . . . . . . . . . . . . . . . . . . . . . 29821.5.2. Reducción a una recurrencia de primer orden21.5.2. Reducción a una recurrencia de primer orden . . . . . . . . . . . . . . . . . 29921.5.3. Transformación de Möbius21.5.3. Transformación de Möbius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

22 El método simbólico22 El método simbólico 30322.1. Objetos sin rotular22.1. Objetos sin rotular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

22.1.1. Algunas aplicaciones22.1.1. Algunas aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30622.1.2. Construcción ciclo22.1.2. Construcción ciclo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

22.2. Objetos rotulados22.2. Objetos rotulados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

23 Números combinatorios23 Números combinatorios 31523.1. Subconjuntos y multiconjuntos23.1. Subconjuntos y multiconjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31523.2. ¿Cuántas secuencias de 2n paréntesis balanceados hay?23.2. ¿Cuántas secuencias de 2n paréntesis balanceados hay? . . . . . . . . . . . . . . . . 31523.3. Números de Schröder23.3. Números de Schröder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31623.4. Números de Stirling de segunda especie23.4. Números de Stirling de segunda especie . . . . . . . . . . . . . . . . . . . . . . . . . . 31723.5. Números de Stirling de primera especie23.5. Números de Stirling de primera especie . . . . . . . . . . . . . . . . . . . . . . . . . . 31923.6. Números de Lah23.6. Números de Lah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32023.7. Potencias, números de Stirling y de Lah23.7. Potencias, números de Stirling y de Lah . . . . . . . . . . . . . . . . . . . . . . . . . . 32123.8. Desarreglos23.8. Desarreglos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32423.9. Resultados de competencias con empate23.9. Resultados de competencias con empate . . . . . . . . . . . . . . . . . . . . . . . . . 32623.10. Particiones de enteros23.10. Particiones de enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327

23.10.1. Particiones en general23.10.1. Particiones en general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32723.10.2. Sumandos diferentes e impares23.10.2. Sumandos diferentes e impares . . . . . . . . . . . . . . . . . . . . . . . . . . 32823.10.3. Un problema de Moser y Lambek23.10.3. Un problema de Moser y Lambek . . . . . . . . . . . . . . . . . . . . . . . . . 328

23.11. Contando secuencias23.11. Contando secuencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

24 Grafos24 Grafos 33124.1. Representación de grafos24.1. Representación de grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

24.1.1. Lista de adyacencia24.1.1. Lista de adyacencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33324.1.2. Matriz de adyacencia24.1.2. Matriz de adyacencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33424.1.3. Representación enlazada24.1.3. Representación enlazada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33424.1.4. Representación implícita24.1.4. Representación implícita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334

Page 12: Clases Extra 2 2013 1

XII ÍNDICE GENERAL

24.2. Isomorfismo entre grafos24.2. Isomorfismo entre grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33424.3. Algunas familias de grafos especiales24.3. Algunas familias de grafos especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33524.4. Grado de un vértice24.4. Grado de un vértice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33724.5. Árboles24.5. Árboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34524.6. Árboles con raíz24.6. Árboles con raíz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34724.7. Árboles ordenados24.7. Árboles ordenados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

24.7.1. Árboles de decisión24.7.1. Árboles de decisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34924.7.2. Análisis de algoritmos de ordenamiento24.7.2. Análisis de algoritmos de ordenamiento . . . . . . . . . . . . . . . . . . . . . 34924.7.3. Generar código24.7.3. Generar código . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350

24.8. Grafos planares24.8. Grafos planares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35124.9. Algoritmos de búsqueda en grafos24.9. Algoritmos de búsqueda en grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

24.9.1. Búsqueda en profundidad24.9.1. Búsqueda en profundidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35524.9.2. Búsqueda a lo ancho24.9.2. Búsqueda a lo ancho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35724.9.3. Búsqueda a lo ancho versus búsqueda en profundidad24.9.3. Búsqueda a lo ancho versus búsqueda en profundidad . . . . . . . . . . . . 358

24.10. Colorear vértices24.10. Colorear vértices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35924.10.1. El algoritmo voraz para colorear grafos24.10.1. El algoritmo voraz para colorear grafos . . . . . . . . . . . . . . . . . . . . . . 362

24.11. Colorear arcos24.11. Colorear arcos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36424.12. Grafos bipartitos24.12. Grafos bipartitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

24.12.1. Matchings24.12.1. Matchings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36724.12.2. Transversales de familias de conjuntos finitos24.12.2. Transversales de familias de conjuntos finitos . . . . . . . . . . . . . . . . . . 372

24.13. Grafos rotulados24.13. Grafos rotulados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37424.13.1. Árboles rotulados24.13.1. Árboles rotulados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37424.13.2. Costo mínimo para viajar entre vértices24.13.2. Costo mínimo para viajar entre vértices . . . . . . . . . . . . . . . . . . . . . 37424.13.3. Árbol recubridor mínimo24.13.3. Árbol recubridor mínimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378

25 Digrafos, redes, flujos25 Digrafos, redes, flujos 38325.1. Orden topológico25.1. Orden topológico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38425.2. Redes y rutas críticas25.2. Redes y rutas críticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38425.3. Redes y flujos25.3. Redes y flujos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

25.3.1. Trabajando con flujos25.3.1. Trabajando con flujos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38925.3.2. Método de Ford-Fulkerson25.3.2. Método de Ford-Fulkerson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39025.3.3. Redes residuales25.3.3. Redes residuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39025.3.4. Caminos aumentables25.3.4. Caminos aumentables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39225.3.5. Cortes25.3.5. Cortes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394

26 Permutaciones26 Permutaciones 39726.1. Clasificación de permutaciones26.1. Clasificación de permutaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40126.2. Clasificar permutaciones26.2. Clasificar permutaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404

27 Teoría de coloreos de Pólya27 Teoría de coloreos de Pólya 40527.1. Grupos de permutaciones27.1. Grupos de permutaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40527.2. Órbitas y estabilizadores27.2. Órbitas y estabilizadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40627.3. Número de órbitas27.3. Número de órbitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41027.4. Índice de ciclos27.4. Índice de ciclos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41327.5. Número de coloreos distinguibles27.5. Número de coloreos distinguibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413

BibliografíaBibliografía 423

Page 13: Clases Extra 2 2013 1

Índice de figuras

1.1. Diagramas de Venn para operaciones entre conjuntos1.1. Diagramas de Venn para operaciones entre conjuntos . . . . . . . . . . . . . . . . . . . . 51.2. Desigualdad triangular1.2. Desigualdad triangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.3. Relación entre f (n) y g (n) en notaciones de Bachmann-Landau1.3. Relación entre f (n) y g (n) en notaciones de Bachmann-Landau . . . . . . . . . . . . . . 20

2.1. Funciones compuestas inyectivas y sobreyectivas2.1. Funciones compuestas inyectivas y sobreyectivas . . . . . . . . . . . . . . . . . . . . . . 34

3.1. Diagrama para demostrar quep

2 es irracional3.1. Diagrama para demostrar quep

2 es irracional . . . . . . . . . . . . . . . . . . . . . . . . 443.2. Forma de una losa3.2. Forma de una losa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.3. Intento fallido de inducción3.3. Intento fallido de inducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.4. División del patio de 2n+1 ×2n+1 en cuatro de 2n ×2n3.4. División del patio de 2n+1 ×2n+1 en cuatro de 2n ×2n . . . . . . . . . . . . . . . . . . . . 573.5. Análisis del patio de 4×43.5. Análisis del patio de 4×4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.6. Inducción dejando libre una esquina3.6. Inducción dejando libre una esquina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583.7. Inducción dejando libre cualquier cuadradito3.7. Inducción dejando libre cualquier cuadradito . . . . . . . . . . . . . . . . . . . . . . . . . 583.8. Chapas posibles con n = 33.8. Chapas posibles con n = 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.9. Chapas posibles con n = 53.9. Chapas posibles con n = 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.10. Chapa de 7×7 como chapa de 5×5 con borde3.10. Chapa de 7×7 como chapa de 5×5 con borde . . . . . . . . . . . . . . . . . . . . . . . . 66

8.1. Un cuadrado8.1. Un cuadrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038.2. Curvas elípticas8.2. Curvas elípticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088.3. Sumas en curvas elípticas8.3. Sumas en curvas elípticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

12.1. Elementos de circuitos lógicos12.1. Elementos de circuitos lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16612.2. Circuito para x8 +x4 +x3 +x2 +112.2. Circuito para x8 +x4 +x3 +x2 +1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

16.1. 52 centavos en monedas16.1. 52 centavos en monedas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22016.2. Colección de monedas como producto16.2. Colección de monedas como producto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22116.3. Series para 1 o 5 centavos16.3. Series para 1 o 5 centavos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22116.4. Serie para combinaciones de 1 y 5 centavos16.4. Serie para combinaciones de 1 y 5 centavos . . . . . . . . . . . . . . . . . . . . . . . . . . 22116.5. Una fuente de bloque16.5. Una fuente de bloque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

17.1. Intersecciones entre tres conjuntos17.1. Intersecciones entre tres conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

19.1. Suma e integral como áreas19.1. Suma e integral como áreas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25519.2. Polinomios de Bernoulli en [0,1] (escalados de mínimo a máximo)19.2. Polinomios de Bernoulli en [0,1] (escalados de mínimo a máximo) . . . . . . . . . . . . 266

20.1. Búsqueda de Fibonacci20.1. Búsqueda de Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27420.2. Búsqueda de Fibonacci: Juego final20.2. Búsqueda de Fibonacci: Juego final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27520.3. Idea de Quicksort20.3. Idea de Quicksort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

XIII

Page 14: Clases Extra 2 2013 1

XIV Índice de figuras

20.4. Particionamiento en Quicksort20.4. Particionamiento en Quicksort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

22.1. Ciclos de largo seis22.1. Ciclos de largo seis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

24.1. Diagrama de circuito de un filtro de paso bajo de tercer orden24.1. Diagrama de circuito de un filtro de paso bajo de tercer orden . . . . . . . . . . . . . . . 33124.2. Esquema del metro de Londres (1908)24.2. Esquema del metro de Londres (1908) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33224.3. Un grafo24.3. Un grafo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33324.4. Ejemplo de isomorfismo entre grafos24.4. Ejemplo de isomorfismo entre grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33524.5. Dos formas de dibujar el grafo de Petersen24.5. Dos formas de dibujar el grafo de Petersen . . . . . . . . . . . . . . . . . . . . . . . . . . 33524.6. Algunos grafos Pn24.6. Algunos grafos Pn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33524.7. Algunos grafos Cn .24.7. Algunos grafos Cn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33624.8. Algunos grafos Kn .24.8. Algunos grafos Kn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33624.9. Algunos grafos Wn .24.9. Algunos grafos Wn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33624.10. Algunos cubos24.10. Algunos cubos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33724.11. Un grafo con grados 1, 2, 2, 3 y 424.11. Un grafo con grados 1, 2, 2, 3 y 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33824.12. La operación 2-switch entre los arcos uv y x y24.12. La operación 2-switch entre los arcos uv y x y . . . . . . . . . . . . . . . . . . . . . . . . . 33924.13. Un grafo con dos componentes.24.13. Un grafo con dos componentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34124.14. Puentes de Königsberg24.14. Puentes de Königsberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34324.15. Dibuja una casita.24.15. Dibuja una casita. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34424.16. Queso cortado en nueve cubitos24.16. Queso cortado en nueve cubitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34424.17. Cubitos de queso de colores24.17. Cubitos de queso de colores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34524.18. Esquema de vértices en la parte T3T3 el teorema 24.924.924.18. Esquema de vértices en la parte T3T3 el teorema 24.924.9 . . . . . . . . . . . . . . . . . . . . . . 34624.19. Los 6 árboles con 6 vértices24.19. Los 6 árboles con 6 vértices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34724.20. Ejemplos de árbol con raíz24.20. Ejemplos de árbol con raíz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34724.21. Vértice del árbol de decisión al pesar monedas24.21. Vértice del árbol de decisión al pesar monedas . . . . . . . . . . . . . . . . . . . . . . . . 34924.22. Árbol de decisión al ordenar 3 objetos24.22. Árbol de decisión al ordenar 3 objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35024.23. Árbol sintáctico de una expresión24.23. Árbol sintáctico de una expresión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35124.24. Ilustración de la demostración de la fórmula de Euler24.24. Ilustración de la demostración de la fórmula de Euler . . . . . . . . . . . . . . . . . . . . 35324.25. El grafo K3,324.25. El grafo K3,3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35324.26. El grafo del dodecaedro24.26. El grafo del dodecaedro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35424.27. Grafo para ejemplos de recorrido24.27. Grafo para ejemplos de recorrido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35624.28. El grafo de la figura 24.2724.27 recorrido en profundidad24.28. El grafo de la figura 24.2724.27 recorrido en profundidad . . . . . . . . . . . . . . . . . . . . . 35624.29. El grafo de la figura 24.2724.27 recorrido a lo ancho24.29. El grafo de la figura 24.2724.27 recorrido a lo ancho . . . . . . . . . . . . . . . . . . . . . . . . 35824.30. Grafo representando charlas24.30. Grafo representando charlas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35924.31. Asignación de horas a charlas como colores24.31. Asignación de horas a charlas como colores . . . . . . . . . . . . . . . . . . . . . . . . . . 36024.32. Otra asignación de horas a charlas24.32. Otra asignación de horas a charlas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36024.33. Grafo a colorear24.33. Grafo a colorear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36124.34. Un ciclo de largo impar en el grafo de la figura 24.3324.3324.34. Un ciclo de largo impar en el grafo de la figura 24.3324.33 . . . . . . . . . . . . . . . . . . . . . 36124.35. Un coloreo con tres colores del grafo de la figura 24.3324.3324.35. Un coloreo con tres colores del grafo de la figura 24.3324.33 . . . . . . . . . . . . . . . . . . . 36124.36. Otro grafo a colorear24.36. Otro grafo a colorear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36124.37. Subgrafos del grafo de la figura 24.3624.3624.37. Subgrafos del grafo de la figura 24.3624.36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36224.38. Coloreo con cuatro colores del grafo de la figura 24.3624.3624.38. Coloreo con cuatro colores del grafo de la figura 24.3624.36 . . . . . . . . . . . . . . . . . . . . 36224.39. Un coloreo de arcos del grafo de Frucht24.39. Un coloreo de arcos del grafo de Frucht . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36424.40. Algunas estrellas24.40. Algunas estrellas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36524.41. Algunos grafos bipartitos completos24.41. Algunos grafos bipartitos completos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36624.42. Un ciclo de largo 2l +1 si hay conexiones cruzadas24.42. Un ciclo de largo 2l +1 si hay conexiones cruzadas . . . . . . . . . . . . . . . . . . . . . . 36624.43. Cómo operar en el teorema 24.1724.1724.43. Cómo operar en el teorema 24.1724.17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36824.44. Matchings en un grafo bipartito24.44. Matchings en un grafo bipartito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36924.45. Aumentando un matching24.45. Aumentando un matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37124.46. Matching resultante24.46. Matching resultante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

Page 15: Clases Extra 2 2013 1

Índice de figuras XV

24.47. Comités de la Universidad de Miskatonic24.47. Comités de la Universidad de Miskatonic . . . . . . . . . . . . . . . . . . . . . . . . . . . 37324.48. Ejemplo de grafo para árbol recubridor mínimo24.48. Ejemplo de grafo para árbol recubridor mínimo . . . . . . . . . . . . . . . . . . . . . . . 37824.49. El algoritmo de Prim aplicado al grafo de la figura 24.4824.4824.49. El algoritmo de Prim aplicado al grafo de la figura 24.4824.48 . . . . . . . . . . . . . . . . . . . 37924.50. El algoritmo de Kruskal aplicado al grafo de la figura 24.4824.4824.50. El algoritmo de Kruskal aplicado al grafo de la figura 24.4824.48 . . . . . . . . . . . . . . . . . 38024.51. Esquema de redes interconectadas por bridges24.51. Esquema de redes interconectadas por bridges . . . . . . . . . . . . . . . . . . . . . . . . 38124.52. La red de la figura 24.5124.51 como grafo24.52. La red de la figura 24.5124.51 como grafo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382

25.1. Ejemplos de digrafos25.1. Ejemplos de digrafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38325.2. Una red de actividades25.2. Una red de actividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38625.3. Una red, sus capacidades y un flujo en la red25.3. Una red, sus capacidades y un flujo en la red . . . . . . . . . . . . . . . . . . . . . . . . . 38925.4. Una red25.4. Una red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39225.5. Flujo y red residual en la red de la figura 25.425.425.5. Flujo y red residual en la red de la figura 25.425.4 . . . . . . . . . . . . . . . . . . . . . . . . . 39325.6. El flujo aumentado según el camino aumentable de la figura 25.5b25.5b25.6. El flujo aumentado según el camino aumentable de la figura 25.5b25.5b . . . . . . . . . . . . 39325.7. Un corte en la red de la figura 25.425.4 con el flujo de la figura 25.5a25.5a25.7. Un corte en la red de la figura 25.425.4 con el flujo de la figura 25.5a25.5a . . . . . . . . . . . . . . 394

26.1. Ordenamiento de cartas26.1. Ordenamiento de cartas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39926.2. ¿Puede hacerse?26.2. ¿Puede hacerse? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403

27.1. Un cuadrado y sus simetrías27.1. Un cuadrado y sus simetrías . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40627.2. Un grafo de seis vértices y sus automorfismos27.2. Un grafo de seis vértices y sus automorfismos . . . . . . . . . . . . . . . . . . . . . . . . . 40627.3. Un ejemplo de grafo y los generadores de su grupo de automorfismos27.3. Un ejemplo de grafo y los generadores de su grupo de automorfismos . . . . . . . . . . 40727.4. Rotaciones de un tetraedro27.4. Rotaciones de un tetraedro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40927.5. Icosaedro trunco27.5. Icosaedro trunco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40927.6. Ejemplos de tarjetas de identidad27.6. Ejemplos de tarjetas de identidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41027.7. Configuraciones fijas bajo rotación en π27.7. Configuraciones fijas bajo rotación en π . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41127.8. Configuraciones fijas bajo reflexión en la vertical27.8. Configuraciones fijas bajo reflexión en la vertical . . . . . . . . . . . . . . . . . . . . . . . 41127.9. Configuraciones fijas bajo reflexión en la diagonal27.9. Configuraciones fijas bajo reflexión en la diagonal . . . . . . . . . . . . . . . . . . . . . . 41227.10. Las ocho tarjetas distinguibles27.10. Las ocho tarjetas distinguibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41227.11. Efecto de la permutación g sobre un coloreo ω27.11. Efecto de la permutación g sobre un coloreo ω . . . . . . . . . . . . . . . . . . . . . . . . 41427.12. Algunos compuestos aromáticos27.12. Algunos compuestos aromáticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41727.13. Los tres isómeros del xyleno27.13. Los tres isómeros del xyleno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41827.14. Operaciones de simetría (rotaciones) de un tetraedro27.14. Operaciones de simetría (rotaciones) de un tetraedro . . . . . . . . . . . . . . . . . . . . 41927.15. Un árbol binario completo27.15. Un árbol binario completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41927.16. Un cubo visto desde un vértice27.16. Un cubo visto desde un vértice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421

Page 16: Clases Extra 2 2013 1

Índice de cuadros

1.1. Tablas de verdad para conectivas básicas1.1. Tablas de verdad para conectivas básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2. Valores de n2 +n +41 para 1 ≤ n ≤ 391.2. Valores de n2 +n +41 para 1 ≤ n ≤ 39 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3. Notaciones de Bachmann-Landau1.3. Notaciones de Bachmann-Landau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.1. Tablas de verdad para conectivas básicas4.1. Tablas de verdad para conectivas básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.2. Propiedades básicas de las operaciones lógicas4.2. Propiedades básicas de las operaciones lógicas . . . . . . . . . . . . . . . . . . . . . . . . 714.3. Propiedades importantes de las operaciones lógicas4.3. Propiedades importantes de las operaciones lógicas . . . . . . . . . . . . . . . . . . . . . 71

8.1. Traza del algoritmo extendido de Euclides8.1. Traza del algoritmo extendido de Euclides . . . . . . . . . . . . . . . . . . . . . . . . . . . 978.2. Tabla del grupo S38.2. Tabla del grupo S3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038.3. El grupo D88.3. El grupo D8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048.4. Multiplicación de cuaterniones8.4. Multiplicación de cuaterniones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138.5. La tabla de multiplicación en Z128.5. La tabla de multiplicación en Z12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

9.1. El grupo D89.1. El grupo D8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1179.2. Los grupos Z×

8 y Z×129.2. Los grupos Z×

8 y Z×12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

9.3. Los grupos Z×5 y Z49.3. Los grupos Z×5 y Z4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

9.4. Potencias en Z×219.4. Potencias en Z×21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

11.1. Órdenes de los elementos en Z×811.1. Órdenes de los elementos en Z×8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

12.1. Paridades para el código de Hamming (15,4)12.1. Paridades para el código de Hamming (15,4) . . . . . . . . . . . . . . . . . . . . . . . . . 164

13.1. Traza del algoritmo binario para máximo común divisor13.1. Traza del algoritmo binario para máximo común divisor . . . . . . . . . . . . . . . . . . 17913.2. Cálculo de 310 por el método binario13.2. Cálculo de 310 por el método binario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17913.3. Condiciones a x e y al factorizar 8 616 460 79913.3. Condiciones a x e y al factorizar 8 616 460 799 . . . . . . . . . . . . . . . . . . . . . . . . . 18013.4. Ejemplo de Pollard ρ13.4. Ejemplo de Pollard ρ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

15.1. Número de alumnos por curso15.1. Número de alumnos por curso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

16.1. Tabla para calcular p5016.1. Tabla para calcular p50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

17.1. Posibilidades con un número par de ceros17.1. Posibilidades con un número par de ceros . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

19.1. Polinomios y números de Bernoulli19.1. Polinomios y números de Bernoulli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

20.1. Triángulo de Pascal20.1. Triángulo de Pascal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27920.2. Complejidad de algunos algoritmos20.2. Complejidad de algunos algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

XVI

Page 17: Clases Extra 2 2013 1

Índice de cuadros XVII

22.1. Combinando los ciclos (1 2) y (1 3 2)22.1. Combinando los ciclos (1 2) y (1 3 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

23.1. Las 7 particiones de 4 elementos en 2 clases23.1. Las 7 particiones de 4 elementos en 2 clases . . . . . . . . . . . . . . . . . . . . . . . . . . 31723.2. Números de Stirling de segunda especie23.2. Números de Stirling de segunda especie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31923.3. Números de Stirling de primera especie23.3. Números de Stirling de primera especie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32023.4. Números de Lah23.4. Números de Lah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

24.1. Lista de adyacencia para el grafo de la figura 24.324.324.1. Lista de adyacencia para el grafo de la figura 24.324.3 . . . . . . . . . . . . . . . . . . . . . . . 33324.2. Matriz de adyacencia del grafo de la figura 24.324.324.2. Matriz de adyacencia del grafo de la figura 24.324.3 . . . . . . . . . . . . . . . . . . . . . . . . 33424.3. Código óptimo para la expresión ejemplo24.3. Código óptimo para la expresión ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . 35224.4. Poliedros regulares24.4. Poliedros regulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

25.1. Actividades y dependencias25.1. Actividades y dependencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38525.2. Términos más tempranos por actividad para la red de la figura 25.225.225.2. Términos más tempranos por actividad para la red de la figura 25.225.2 . . . . . . . . . . . . 38625.3. Inicio más tardío por actividad para la red 25.225.225.3. Inicio más tardío por actividad para la red 25.225.2 . . . . . . . . . . . . . . . . . . . . . . . . 38725.4. Holguras para las actividades de la figura 25.225.225.4. Holguras para las actividades de la figura 25.225.2 . . . . . . . . . . . . . . . . . . . . . . . . . 387

27.1. Los subgrupos de S327.1. Los subgrupos de S3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40527.2. Pares (γ, y) para demostración del teorema 27.427.427.2. Pares (γ, y) para demostración del teorema 27.427.4 . . . . . . . . . . . . . . . . . . . . . . . 40827.3. Número de configuraciones de tarjetas respetadas por cada simetría del cuadrado27.3. Número de configuraciones de tarjetas respetadas por cada simetría del cuadrado . . . 41227.4. Las operaciones sobre tarjetas y sus tipos27.4. Las operaciones sobre tarjetas y sus tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . 41727.5. Rotaciones de un tetraedro27.5. Rotaciones de un tetraedro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41927.6. El grupo de operaciones del árbol27.6. El grupo de operaciones del árbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42027.7. Operaciones de simetría rotacional de caras de un cubo27.7. Operaciones de simetría rotacional de caras de un cubo . . . . . . . . . . . . . . . . . . 421

Page 18: Clases Extra 2 2013 1

Índice de listados

1.1. Ordenamiento por inserción1.1. Ordenamiento por inserción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.1. Búsqueda binaria en C5.1. Búsqueda binaria en C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7820.1. Versión simple de Quicksort20.1. Versión simple de Quicksort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

XVIII

Page 19: Clases Extra 2 2013 1

Índice de algoritmos

5.1. Esbozo de búsqueda binaria5.1. Esbozo de búsqueda binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765.2. Búsqueda binaria: Segundo esbozo5.2. Búsqueda binaria: Segundo esbozo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.3. Búsqueda binaria: Pseudocódigo final5.3. Búsqueda binaria: Pseudocódigo final . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.4. Exponenciación binaria recursiva5.4. Exponenciación binaria recursiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795.5. Exponenciación binaria no recursiva5.5. Exponenciación binaria no recursiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805.6. Cálculo de bpnc5.6. Cálculo de bpnc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

8.1. Algoritmo de Euclides para calcular gcd(a,b)8.1. Algoritmo de Euclides para calcular gcd(a,b) . . . . . . . . . . . . . . . . . . . . . . . . 958.2. Algoritmo extendido de Euclides8.2. Algoritmo extendido de Euclides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

13.1. Comparación multiprecisión13.1. Comparación multiprecisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16813.2. Suma multiprecisión13.2. Suma multiprecisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16913.3. Resta multiprecisión13.3. Resta multiprecisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17013.4. Multiplicación multiprecisión13.4. Multiplicación multiprecisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17013.5. División con resto, visión de alto nivel13.5. División con resto, visión de alto nivel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17113.6. División con resto, b de un dígito13.6. División con resto, b de un dígito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17213.7. División con resto, b normalizado13.7. División con resto, b normalizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17413.8. String a entero13.8. String a entero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17513.9. Entero a string13.9. Entero a string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17513.10. Algoritmo de Euclides para calcular gcd(a,b)13.10. Algoritmo de Euclides para calcular gcd(a,b) . . . . . . . . . . . . . . . . . . . . . . . . 17613.11. Máximo común divisor binario13.11. Máximo común divisor binario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17813.12. Cálculo binario de potencias13.12. Cálculo binario de potencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17913.13. Factorizar según Fermat13.13. Factorizar según Fermat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18013.14. Detectar ciclos (Floyd)13.14. Detectar ciclos (Floyd) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18213.15. ρ de Pollard13.15. ρ de Pollard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18213.16. Prueba de primalidad de Miller-Rabin13.16. Prueba de primalidad de Miller-Rabin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

20.1. Búsqueda de Fibonacci20.1. Búsqueda de Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

24.1. Recorrer árboles con raíz24.1. Recorrer árboles con raíz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34824.2. Búsqueda en profundidad, versión recursiva24.2. Búsqueda en profundidad, versión recursiva . . . . . . . . . . . . . . . . . . . . . . . . 35724.3. Búsqueda en profundidad, versión no recursiva24.3. Búsqueda en profundidad, versión no recursiva . . . . . . . . . . . . . . . . . . . . . . 35724.4. Búsqueda a lo ancho24.4. Búsqueda a lo ancho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35824.5. Coloreo voraz24.5. Coloreo voraz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36324.6. Costos mínimos desde el vértice v (Dijkstra)24.6. Costos mínimos desde el vértice v (Dijkstra) . . . . . . . . . . . . . . . . . . . . . . . . 37524.7. Costos mínimos desde el vértice v (Bellman-Ford)24.7. Costos mínimos desde el vértice v (Bellman-Ford) . . . . . . . . . . . . . . . . . . . . 37624.8. Costos mínimos entre todos los vértices (Floyd-Warshall)24.8. Costos mínimos entre todos los vértices (Floyd-Warshall) . . . . . . . . . . . . . . . . 377

XIX

Page 20: Clases Extra 2 2013 1

XX Índice de algoritmos

25.1. Ordenamiento topológico de Kahn25.1. Ordenamiento topológico de Kahn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38425.2. Ordenamiento topológico de Tarjan25.2. Ordenamiento topológico de Tarjan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38525.3. El método de Ford-Fulkerson25.3. El método de Ford-Fulkerson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391

Page 21: Clases Extra 2 2013 1
Page 22: Clases Extra 2 2013 1

1 Preliminares

El presente capítulo resume algunas nociones y notaciones que usaremos en el resto del texto.Esto no debiera presentar material realmente nuevo para el lector. El rango de nociones manejadosen matemáticas es muy amplio, y la notación bastante variada. La notación (y la nomenclatura)usada por distintos autores no es uniforme, por tanto esta sección servirá también para definir lanotación que usaremos en lo sucesivo. Donde hay diversas notaciones en uso más o menos común,se anotarán las alternativas.

1.1. Notación de lógica matemática

Usaremos la notación de la lógica matemática con frecuencia en lo que sigue, por lo que la intro-duciremos informalmente acá. Un tratamiento algo más completo y riguroso de la lógica matemáticase da en el capítulo 44.

1.1.1. Proposiciones

Definición 1.1. Una proposición es una aseveración que puede ser verdadera o falsa.

Algunos ejemplos son:

Proposición 1.1. Está lloviendo en Valparaíso.

Proposición 1.2. El número 232 +1 es primo

Proposición 1.3. El número real

ζ(5) =∑k≥1

k−5

es irracional.

La verdad de 1.11.1 depende del momento, resulta que 1.21.2 es falsa (es 232 +1 = 641 ·4294967297), ynadie sabe si 1.31.3 es cierta o no.

Gran parte de nuestro lenguaje no son proposiciones, con lo que la lógica no es capaz de repre-sentarlo todo. Por ejemplo, a una pregunta, a una orden o a una interjección no se le puede asignarverdad o falsedad.

1.1.2. Conectivas lógicas

Hablar sólo de proposiciones no lleva muy lejos. Comúnmente combinamos proposiciones co-mo “Si llueve, uso paraguas,” “Se puede viajar a Concepción en bus o en avión,” “No traje misdocumentos,” “Apruebo el ramo sólo si obtengo al menos 35 en la prueba” o “El cartel es rojo y azul.”

1

Page 23: Clases Extra 2 2013 1

2 CAPÍTULO 1. PRELIMINARES

PPP ¬PPPF VV F

(a) Negación

PPP QQQ PPP ∨QQQ PPP ∧QQQ PPP =⇒QQQ PPP ⇐⇒QQQF F F F V VF V V F V FV F V F F FV V V V V V

(b) Conectivas

Cuadro 1.1: Tablas de verdad para conectivas básicas

Para precisar el significado de estas combinaciones se usan tablas de verdad. Si combinamos propo-siciones P y Q mediante las operaciones indicadas obtenemos el cuadro 1.11.1, donde falso se indicamediante F y verdadero mediante V. Se anota ∨ para o (disyunción), usamos ∧ para y (conjunción),para si . . . entonces escribimos =⇒ (implicancia), y para expresar si y sólo si usamos ⇐⇒ (equivalen-cia). Nótese que la tabla de verdad para P =⇒Q coincide con ¬Q =⇒¬P , su contrapositivo.

En castellano (como en la mayoría de los lenguajes modernos) hay ambigüedad, en que “A ó B”puede entenderse como A ó B, o ambos (inclusivo), o también como A ó B, pero no ambos (exclusivo).Un mito [136136] bastante extendido entre los lógicos es que en el latín hay dos disyunciones; vel,que expresa el sentido inclusivo, y aut, que expresa el exclusivo. En realidad, ambas son ambiguascomo en los lenguajes modernos. La noción empleada en lógica matemática es inclusiva, y nuestranotación sugiere el latín vel.

Suele decirse “A es suficiente para B” si A =⇒ B (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 sólo si B” siB =⇒ A (saber que A es cierto permite concluir que debe serlo B). Así suele decirse “A es necesarioy suficiente para B” o “A si y sólo si B” para expresar A ⇐⇒ B . Notar que hay diversas formas deexpresar lo mismo, y es fácil confundirse.

En el lenguaje cotidiano hay cierta ambigüedad: Al decir “Hoy almorzaré bife a lo pobre o pes-cado frito con ensalada” se entiende que es uno o el otro, no ambos; en “Leo novelas policiales ohistóricas” se subentiende que son ambas; mientras “Sus mascotas son perros o gatos” no quedaclaro si es sólo uno o el otro, o posiblemente ambas. De la misma forma, “Si llueve, llevo paraguas”puede entenderse como que llevo paraguas exclusivamente cuando llueve, nuestra conectiva im-plica incluye la posibilidad de llevarlo incluso si no llueve. Nótese también que normalmente laaseveración sobre hábitos de lectura se interpretaría como que no leo nada más que novelas policia-les o históricas, nuestra formalización no es excluyente. Hay cosas que se subentienden u omiten enel lenguaje cotidiano, si se quiere lograr precisión eso no es aceptable.

1.1.3. Lógica de predicados

Hablar únicamente en términos de proposiciones no lleva muy lejos. Queremos poder razonarsobre individuos de un conjunto, no sólo de proposiciones que son verdaderas o falsas. Esto lleva aconsiderar predicados.

Definición 1.2. Un predicado es una función cuyo valor es verdadero o falso.

Usaremos la convención que letras mayúsculas denotan constantes, y letras minúsculas varia-bles. Por ejemplo, tenemos el predicado prime(x) que es verdadero exactamente cuando x es unnúmero primo. Así, tanto prime(2) como prime(216 +1) son verdaderos, mientras prime(2743) esfalso (2743 = 13 ·211).

Page 24: Clases Extra 2 2013 1

1.1. NOTACIÓN DE LÓGICA MATEMÁTICA 3

Es frecuente expresar predicados con notación matemática común. Podemos considerar la ex-presión:

a = 3b

como un predicado de dos parámetros (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.Podemos usar las conectivas lógicas para combinar predicados, y construir de esta forma predi-

cados más complejos. Por ejemplo,

ax2 +bx + c = 0 =⇒ x = −b ±p

b2 −4ac

2a

resulta ser cierto si consideramos a, b, c y x como números complejos. Está claro que es importanteindicar de qué conjunto se toman los parámetros indicados.

Una manera alternativa de ver predicados es definiendo conjuntos, en el sentido que el predi-cado corresponde al conjunto de los elementos para los cuales el predicado es verdadero. Con estopodemos expresar operaciones entre conjuntos mediante conectivas lógicas. En detalle:

A ∪B = x : x ∈A ∨x ∈B

A ∩B = x : x ∈A ∧x ∈B

A ⊆B ≡ x ∈A =⇒ x ∈B

Esto da pie a cómo demostrar relaciones entre conjuntos. Hay que tener cuidado con la últimarelación, la dirección de las relaciones puede hacer creer que la implicancia es en sentido contrario.

1.1.4. Cuantificadores

Normalmente desearemos expresar que un predicado es cierto para todos los posibles valoresde las variables involucradas, o que es cierto al menos para uno de ellos. Esto se expresa mediantecuantificadores. Los que usaremos acá son ∀ (para todo) y ∃ (existe). Por ejemplo, una proposiciónexpresada concisamente es

∀n : prime(n2 +n +41)

donde prime(x) es el predicado discutido antes. Al igual que se discutió para las variables índices desumas y afines, la variable usada queda atada al cuantificador y no tiene significado fuera. Explici-tando el conjunto al que pertenecen las variables, escribiremos por ejemplo:

∀n ∈N : prime(n2 +n +41) (1.1)

Podemos analizar esto, viendo diferentes valores de n, como resume el cuadro 1.21.2. Hasta n = 39vamos bien. Sin embargo, resulta que 402 +40+41 = 1681 = 41 ·41, con lo que la proposición 1.11.1 esfalsa. En realidad, no es difícil ver que un polinomio de grado mayor que cero no puede dar sólovalores primos. Porque supongamos el polinomio no constante:

f (x) = an xn +an−1xn−1 +·· ·+a1x +a0

Con esto n > 0 y an 6= 0. Si a0 = 0, f (x) será siempre divisible por x, y no puede ser siempre primo,ya que por ejemplo f (4) será divisible por 4, y no es primo. Si a0 6= 0 en f (ka0) para un k entero

Page 25: Clases Extra 2 2013 1

4 CAPÍTULO 1. PRELIMINARES

n Valor ¿Primo?

1 41 Si2 43 Si3 53 Si...

......

39 1 601 Si

Cuadro 1.2: Valores de n2 +n +41 para 1 ≤ n ≤ 39

cualquiera todos los términos son divisibles por a0, y esto no puede ser a0 para todos los k (elpolinomio ( f (x)− a0)/x no puede tener infinitas raíces a menos que sea cero), con lo que parainfinitos k el valor de f (ka0) es compuesto. De cualquier forma, f (x) es compuesto para infinitosenteros x. Discutiremos polinomios y sus propiedades en mucho mayor detalle en el capítulo 1111. Alpolinomio de (1.11.1) se le conoce como polinomio de Euler, hay una variedad de polinomios que danprimos para sus primeros valores.

1.2. Conjuntos

Una de las nociones más importantes en las matemáticas actuales es la de conjunto. En términossimples, un conjunto es una colección de elementos bien definida, vale decir, para cada elementose puede determinar claramente si pertenece o no al conjunto. Para indicar que el elemento apertenece al conjunto A , se escribe a ∈A , para indicar que no pertenece se anota a ∉A . A vecesresulta más cómodo escribir estas relaciones al revés, o sea anotar A 3 a o A 63 a, respectivamente.

Una manera de describir un conjunto es por extensión, vale decir, nombrando cada uno de suselementos:

A = 1,2,3,4,5

Esto da el conjunto A como los números naturales hasta 5. Esto puede resultar incómodo paraconjuntos grandes, por lo que suele usarse alguna notación como la siguiente para indicar elementosque no se dan explícitamente:

B = 1,2, . . . ,128

Esto también se usa si estamos frente a conjuntos infinitos:

C = 1,2,4,8, . . .

El problema con esto es que no queda claro exactamente cuáles son los elementos a incluir. Una for-ma alternativa de describir conjuntos es por intención, describiendo de alguna forma los elementosque lo componen:

B = x : 1 ≤ x ≤ 128 (o tal vez 2k : 0 ≤ k < 8)

C = 2k : k ≥ 0

Hay un conjunto especial que no tiene elementos, llamado el conjunto vacío y que se anota ∅.Un punto importantes a tener presente es que un elemento pertenece o no al conjunto, no

puede pertenecer más de una vez a él. Otro detalle es que no hay ningún orden entre los elementosde un conjunto, vale decir, el conjunto 1,2,3,4,5 es exactamente el mismo que 4,2,1,5,3, o que2,1,2,5,4,2,3.

Page 26: Clases Extra 2 2013 1

1.2. CONJUNTOS 5

A B

A ∪B

(a) Unión

A B

A ∩B

(b) Intersección

A B

A rB

(c) Diferencia

A B

A MB

(d) Diferencia simétrica

A

U

A

(e) Complemento

Figura 1.1: Diagramas de Venn para operaciones entre conjuntos

Las operaciones más comunes entre conjuntos se describen mediante diagramas de Venn en lafigura 1.11.1.

Unión: La unión de los conjuntos A y B es el conjunto que contiene los elementos que pertenecena A o a B o a ambos. Se anota A ∪B. Es fácil ver que que A ∪B = B ∪A . Nótese que(A ∪B)∪C =A ∪ (B∪C ), por lo que se suele omitir el paréntesis en tales expresiones.

Intersección: La intersección entre los conjuntos A y B consta de aquellos elementos que pertene-cen a A y a B. Se anota A ∩B, y es A ∩B =B∩A . Nuevamente, (A ∩B)∩C =A ∩(B∩C ),y convencionalmente se omiten los paréntesis.

Resta: Para denotar los elementos de A que no pertenecen a B se usa A rB.

Diferencia simétrica: Los que pertenecen a A o a B, pero no a ambos, se escriben A MB. Tambiéntenemos A MB =B MA .

Page 27: Clases Extra 2 2013 1

6 CAPÍTULO 1. PRELIMINARES

Complemento: Es común la situación en que estemos considerando un conjunto de elementosparticular como ámbito de discusión. En tal caso lo tomamos como universo (comúnmenteanotado U ), y tenemos el complemento del conjunto A como aquellos elementos de U queno pertenecen a A . Esto lo anotaremos A .

Si los conjuntos A y B tienen intersección vacía (o sea, A ∩B =∅), se dice que son disjuntos.Ciertos conjuntos aparecerán repetidas veces en lo que sigue, por su importancia tienen notación

especial. Incluyen el conjunto de los números naturales, N = 1,2,3, . . . ; los números enteros, Z =. . . ,−3,−2,−1,0,1,2,3, . . . ; los números racionales,Q; los reales, R; y los complejos, C. El conjunto delos naturales más el cero lo anotaremos N0 =N∪ 0. Anotaremos Q+ para los números racionalesmayores a cero, y similarmente R+ para los reales.

Resulta importante comparar conjuntos.

Igualdad: Decimos que dos conjuntos son iguales cuando tienen exactamente los mismos elemen-tos. Esto se anota A =B.

Subconjunto: Si todos los elementos de A pertenecen a B se anota A ⊆ B, y se dice que A essubconjunto de B. Para indicar que A no es subconjunto de B se anota A 6⊆B. Si queremosexcluir la posibilidad A = B, escribimos A ⊂ B (a veces se le llama subconjunto propio).Nótese que algunos usan la notación A ⊂ B para lo que anotamos A ⊆ B, y usan A ( B

para lo que llamamos A ⊂B.

Superconjunto: Si A ⊆B, también anotamos B ⊇A , y similarmente si A ⊂B anotamos tambiénB ⊃A .

Las operaciones entre conjuntos pueden expresarse en forma simple usando notación lógica:

A ∪B = x : x ∈A ∨x ∈B (1.2)

A ∩B = x : x ∈A ∧x ∈B (1.3)

A ⊆B ≡ x ∈A =⇒ x ∈B (1.4)

A =B ≡ x ∈B ⇐⇒ x ∈A (1.5)

La forma de la unión y la intersección sugieren la forma de la conectiva lógica en (1.21.2) y en (1.31.3). Ladirección de la implicancia en (1.41.4) puede recordarse como ambas apuntando en la misma dirección.

Podemos definir las operaciones de diferencia y diferencia simétrica en términos de las opera-ciones más tradicionales:

A rB =A ∩B

A MB = (A ∪B)r (A ∩B)

= (A ∩B)∪ (A ∩B)

Algunas propiedades simples de las anteriores son las siguientes, donde A , B y C representanconjuntos cualquiera:

A =A

A ∪A =U A ∩A =∅

A ∪B =A ∩B A ∩B =A ∪B

A ∪A =A A ∩A =A

A ∩ (B∪C ) = (A ∩B)∪ (A ∩C ) A ∪ (B∩C ) = (A ∪B)∩ (A ∪C )

∅⊆A A ⊆U

A ⊆A ∪B A ∩B ⊆A

Page 28: Clases Extra 2 2013 1

1.3. TUPLAS 7

También tenemos que si A ⊂B y B ⊂C entonces A ⊂C . Una manera de demostrar igualdad entreconjuntos es usar el hecho que si A ⊆B y B ⊆A , entonces A =B.

Otra noción importante es el número de elementos del conjunto, su cardinalidad. La cardinali-dad del conjunto A se anotará |A |. Para conjuntos finitos, es simplemente el número de elementosdel conjunto. Si A = 1,2,4,8,16,32, tenemos |A | = 6. Sólo para ∅ se cumple |∅| = 0. Tambiéntenemos que si A ⊆ B entonces |A | ≤ |B|. Más adelante (capítulo 77) consideraremos conjuntosinfinitos también.

Es común referirse a rangos de elementos de algún conjunto, típicamente R y ocasionalmenteN.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 paréntesis, en caso que el extremoes cerrado (el elemento indicado está incluido) usamos corchetes (paréntesis cuadrados). En el casoespecial de un rango de los primeros naturales anotaremos:

[1,n] = [n]

Al conjunto de todos los subconjuntos de algún conjunto U (el conjunto potencia de U ) loanotaremos 2U . También es común notación como P(U ). Por ejemplo:

21,2,3 = ∅, 1, 2, 3, 1,2, 1,3, 2,3, 1,2,3

1.3. Tuplas

Es frecuente tratar con objetos que combinan varios. A esto se le llama tuplas. El caso máscomún es el de pares de elementos, como (1,2), pero también podemos tener tríos como (x, y, z),y así sucesivamente. Es lamentable que esta notación para pares pueda confundirse con rangosabiertos, como descritos antes. Deberá quedar claro del contexto qué se está discutiendo.

Nótese que acá el orden importa, por ejemplo el par (1,2) no es lo mismo que (2,1); y quepueden repetirse elementos, o sea, (5,2,1,5) es una tupla válida. Nada dice que los elementos debanser tomados del mismo conjunto, por ejemplo podemos tener pares formados por un polinomioy un número complejo, como (3x2 −5x +2,3+5i). Una manera de construir tuplas es mediante laoperación de producto cartesiano entre conjuntos:

A ×B = (a,b) : a ∈A ∧b ∈B

Podemos construir tríos vía A ×B ×C y así sucesivamente para largos mayores. InterpretamosA ×B×C como (A ×B)×C , y la tupla (a,b,c) como una abreviatura del par ((a,b),c), y de formasimilar para largos mayores. Se escribe A ×A = A 2, y definimos otras potencias de forma afín.Formalmente, para cualquier conjunto A definimos:

A 1 =A

A n+1 =A n ×A si n ≥ 1(1.6)

Tuplas de elementos del mismo tipo, particularmente si son de largos posiblemente diferentes,se llaman secuencias. En una secuencia interesa el largo (que para la secuencia σ anotaremos |σ|) y

Page 29: Clases Extra 2 2013 1

8 CAPÍTULO 1. PRELIMINARES

el elemento en cada posición. Hay una única secuencia de largo 0, que generalmente llamaremos ε.Si las secuencias son finitas y de elementos atómicos (símbolos) se les suele llamar palabras o strings(por el término en inglés). Más adelante trataremos extensamente con secuencias infinitas.

Es importante notar las diferencias entre conjuntos y tuplas. En una tupla tiene sentido hablardel primer, segundo, y en general n-ésimo elemento. Un conjunto sólo contiene los elementos, notiene sentido hablar del primer elemento del conjunto. Un elemento puede repetirse en una tupla,no así en un conjunto.

1.4. Multiconjuntos

Una extensión de los conjuntos son los multiconjuntos, a los cuales el mismo elemento puedepertenecer varias veces. Un ejemplo de multiconjunto sería a,b, a,c,b, a = a, a, a,b,b,c. Una no-tación común es indicar las repeticiones mediante exponentes, con lo que el multiconjunto anteriorse anotaría a3,b2,c1. Dos multiconjuntos se consideran iguales si contienen los mismos elementoscon los mismos números de repeticiones.

Las operaciones son afines a las de conjuntos: La unión es juntar todos los elementos de losmulticonjuntos que se unen, la intersección es lo que tienen en común. O sea, por ejemplo:

a2,b5,c2∪ b2,c3,d 1 = a2,b7,c5,d 1

a2,b5,c2∩ b2,c3,d 1 = b2,c2

En forma similar a las demás operaciones entre conjuntos podemos definir las operaciones respec-tivas para multiconjuntos. Para multiconjuntos tiene sentido hablar del universo del que se tomanlos elementos, pero no la idea de complemento. Por ejemplo:

a2,b5,c2r b2,c3,d 1 = a2,b3

a2,b5,c2M b2,c3,d 1 = a2,b3,c1,d 1

Un multiconjunto es subconjunto de otro si todos sus elementos (con las repeticiones respectivas)aparecen en el segundo, o sea por ejemplo:

a2,b5,c2 ⊆ a3,b5,c6,d 1

a4,b5,c2 6⊆ a3,b5,d 3

Una manera de asimilar las operaciones con las de conjuntos es que la unión considera sumarlos elementos de ambos, la intersección es el mínimo.

1.5. Sumatorias, productorias y yerbas afines

Es común referirse a sumas de términos parecidos, como:

a +a2 +·· ·+a16

La notación indicada es sugestiva, pero no queda realmente claro cuáles son los términos a incluir.Esto lo anotamos mediante sumatoria:∑

1≤k≤16ak

Aunque podríamos también referirnos a∑0≤k≤4

a2k

Page 30: Clases Extra 2 2013 1

1.5. SUMATORIAS, PRODUCTORIAS Y YERBAS AFINES 9

Nótese que la variable índice es irrelevante:∑1≤k≤16

ak =∑

1≤r≤16ar

Además, esa variable queda atada a la suma, de forma que no tiene significado fuera:∑1≤r≤10

ar +∑

1≤s≤10bs =

∑1≤k≤10

ak +∑

1≤k≤10bk =

∑1≤i≤10

(ai +bi

)Un caso típico es cuando tenemos un conjunto A , y queremos sumar sobre los k ∈A , como en:∑

k∈A

ak

Incluso podemos tener varias condiciones, en cuyo caso se entiende que estamos sumando sobre elvalor del índice que cumple con todas ellas:∑

0≤k≤10k múltiplo de 3

ak = a0 +a3 +a6 +a9

Con esta convención, expresamos sumas infinitas como por ejemplo la del problema de Basilea:∑k≥1

1

k2 = π2

6

Una notación útil es la convención de Iverson [135135], uno de cuyos campeones es Knuth [108108, 158158].Se anota una condición entre corchetes para indicar el valor 0 si la condición es falsa, y 1 si esverdadera. Por ejemplo [1 ≤ k ≤ 17] es 1 cuando k está entre 1 y 17, y 0 en caso contrario. Sirve, entreotras cosas, para eliminar condiciones de las sumas, transformándolas en sumas infinitas y llevandolas condiciones a una posición más visible y manipulable. Una aplicación simple es:∑

k∈A

f (k)+∑

k∈B

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 intersección:

[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 notación más tradicional es:∑k∈A

f (k)+∑

k∈B

f (k) =∑

k∈A∪B

f (k)+∑

k∈A∩B

f (k) (1.7)

También ayuda al intercambiar órdenes de sumas. El multiplicar símbolos de Iverson corresponde aque ambas condiciones sean ciertas:∑

1≤ j≤n

∑1≤k≤ j

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]

=∑

1≤k≤n

∑k≤ j≤n

f ( j ,k) (1.8)

Page 31: Clases Extra 2 2013 1

10 CAPÍTULO 1. PRELIMINARES

Otro ejemplo interesante es:

∑2≤k≤n

∑1≤ j≤k−1

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 m = k − j , tenemos:

[ j +1 ≤ k ≤ n] = [ j +1 ≤ m + j ≤ n]

= [1 ≤ m ≤ n − j ] (1.11)

Usando (1.101.10) con (1.111.11) en (1.91.9) permite cambiar el orden de las sumas:

∑2≤k≤n

∑1≤ j≤k−1

1

k − j=

∑k, j

[1 ≤ j ≤ n −1] · [ j +1 ≤ k ≤ n] · 1

k − j

=∑

1≤ j≤n−1

∑1≤m≤n− j

1

m(1.12)

=∑

1≤ j≤n−1Hn− j (1.13)

Acá usamos la definición de los números harmónicos:

Hn =∑

1≤k≤n

1

k(1.14)

Pero la suma (1.131.13) es sobre el rango de n − j entre 1 y n −1, sólo que en reversa:

∑2≤k≤n

∑1≤ j≤k−1

1

k − j=

∑1≤ j≤n−1

H j (1.15)

De forma similar a las sumas podemos expresar productos, por ejemplo un factorial:∏1≤k≤n

k = n!

También productos infinitos, como el producto de Wallis (lo demostraremos en el teorema 19.219.2):

∏k≥1

2k

2k −1· 2k

2k +1= 2

1· 2

3· 4

3· 4

5· 6

5· 6

7· 8

7· 8

9· · ·

= π

2

Podemos expresar uniones e intersecciones:⋃1≤k≤10

Ak⋂

1≤k≤10Ak

Page 32: Clases Extra 2 2013 1

1.6. POTENCIAS FACTORIALES 11

Esta idea es aplicable a toda operación asociativa y conmutativa, ya que implícitamente estamosobviando completamente el orden en que se efectúan las operaciones entre los elementos consi-derados. Claro que tal cosa sólo es válida en sumas (o productos, etc) finitas o sumas infinitas queconvergen en forma incondicional.

En todos estos casos, hace falta definir qué se entenderá por una suma sin términos, un productosin factores, etc. La convención general es que el resultado es el valor neutro para la operaciónindicada. Vale decir, con U el conjunto universo:∑

k∈∅tk = 0 porque t +0 = t∏

k∈∅tk = 1 porque t ·1 = t⋃

k∈∅tk =∅ porque t ∪∅= t⋂

k∈∅tk =U porque t ∩U = t

Podemos partir con esto y extender la suma (o el producto, etc) un elemento a la vez. Por ejemplo, ladefinición completa de la sumatoria sería:∑

k∈∅tk = 0

∑k∈A∪n

tk =∑

k∈A

tk + tn si n ∉A

El caso más común, claro está, es extender un rango:∑0≤k≤−1

tk = 0∑

0≤k≤n+1tk =

∑0≤k≤n

tk + tn+1

1.6. Potencias factoriales

Para mostrar algunos resultados en forma concisa, siguiendo a Knuth (ver por ejemplo [108108])usaremos las siguientes notaciones para x cualquiera y entero no negativo n:

xn =∏

0≤k<n(x −k) (1.16)

= x · (x −1) · · · (x − (n −1))

= x · (x −1) · · · (x −n +1)

xn =∏

0≤k<n(x +k) (1.17)

= x · (x +1) · · · (x +n −1)

Nótese que (igual que en el caso de las potencias convencionales) son exactamente n factores. Si-guiendo la convención de que productos vacíos son 1 diremos:

x0 = x0 = 1 (1.18)

Les llamaremos potencias factoriales en bajada y en subida (en inglés falling factorial power y risingfactorial power), respectivamente. Hay que tener cuidado, hay una variedad de otras notaciones enuso para esto; particularmente común es (x)k (símbolo de Pochhammer) para la potencia en bajada(aunque también se usa para potencias factoriales en subida). Se usa también x(n) para la potenciafactorial en subida. Algunos autores usan (x)+n y (x)−n para potencias factoriales en subida y bajada,respectivamente.

Page 33: Clases Extra 2 2013 1

12 CAPÍTULO 1. PRELIMINARES

Una de las razones que hacen útil esta notación es lo siguiente:

dn

dun ux = x(x −1)(x −2) · · · (x −n +1)ux−n

= xnux−n

Esto vale para x ∈ C, y con la convención que la 0-ésima derivada es no hacer nada vale para todon ∈N0.

Nótese que si m, n y k son enteros no negativos:

mn+k = mn · (m −n)k (1.19)

mn+k = mn · (m +n)k (1.20)

En particular, tenemos por ejemplo:

(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 también:

nn = 1n = n! (1.22)

Estas relaciones las usaremos más adelante.Otra relación notable es la siguiente:

xk = (−1)k (−x)k (1.23)

Si definimos 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 también es lineal:

Σ f (n) =∑

0≤k<nf (n)+ c (1.26)

Acá el límite inferior de la suma es arbitrario, pero hay que fijar alguno; como ∆c = 0 vale paracualquier constante c. Claramente:

∆Σ f (n) = f (n)

Σ∆ f (n) = f (n)+ c(1.27)

para alguna constante arbitraria c. Tenemos:

∆nk = (n +1)k −nk

= (n +1)nk−1 −nk−1 · (n −k +1)

= (n +1− (n −k +1))nk−1

= knk−1 (1.28)

Page 34: Clases Extra 2 2013 1

1.6. POTENCIAS FACTORIALES 13

De (1.271.27) y (1.281.28) tenemos también:

Σnk = nk+1

k +1+ c (1.29)

Otras relaciones de interés son:

∆c = 0 (c es una constante)

∆2n = 2n

Demostrar relaciones similares para potencias factoriales en subida queda de ejercicio.Un resultado interesante es la suma por partes, afín a la integración por partes. Comenzamos

con:

∆xk yk = xk+1 yk+1 −xk yk

= xk+1 yk+1 −xk yk+1 +xk yk+1 −xk yk

= yk+1∆xk +xk∆yk (1.30)

De (1.301.30) reorganizando y sumando tenemos:∑0≤k≤n

xk∆yk = xn+1 yn+1 −x0 y0 −∑

0≤k≤nyk+1∆xk (1.31)

La relación (1.311.31) es muy útil. Podemos completar así la suma (1.91.9). En (1.151.15) habíamos llegado a:

∑2≤k≤n

∑1≤ j≤k−1

1

k − j=

∑1≤ j≤n−1

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.311.31), con ajustes de índices:

∑1≤ j≤n−1

H j = nHn −1 ·H1 −∑

1≤ j≤n−1( j +1)

1

j +1= nHn −n

y finalmente:

∑2≤k≤n

∑1≤ j≤k−1

1

k − j= nHn −n (1.32)

Estas relaciones recuerdan a las del cálculo infinitesimal, y son base del cálculo de diferenciasfinitas, que tiene muchas aplicaciones en la aproximación de funciones mediante polinomios yla interpolación. Referencia obligada es Milne-Thomson [192192], una visión más moderna ofrecenGraham, Knuth y Patashnik [108108]. Extensiones de las paralelas indicadas dan pie al cálculo umbral,formalizado por Roman y Rota [225225], una visión general dan Bucchianico y Loeb [3838].

Page 35: Clases Extra 2 2013 1

14 CAPÍTULO 1. PRELIMINARES

1.7. Funciones floor y ceil

Manejaremos más que nada enteros, y requeriremos referirnos al entero inmediatamente in-ferior y superior a un número real. Siguiendo nuevamente a Knuth, la notación que usaremos esbxc para el entero inmediatamente inferior (en inglés le llaman floor, piso) y dxe para el entero in-mediatamente superior (le llaman ceil, por ceiling, techo en inglés). La notación es mnemónica enque indica el entero inferior a través de marcar un “piso,” y el entero superior mediante un “techo.”Fue Gauß quien introdujo la noción de floor con la notación [x], que se mantuvo como estándarindiscutible hasta que Iverson [135135] introdujera las usadas acá en 1962. La notación de Gauß siguesiendo común en teoría de números. Algunos usan ]x[ o similares para dxe, y hay quienes interpretanbxc como la “parte entera,” el entero más cercano en dirección al cero. Nuestra definición es másregular, no depende del signo. Por ejemplo:⌊

−2

3

⌋=−1

bπc = 3

dπe = 4

b−3c = d−3e =−3

Una función relacionada es la parte fraccional, o función diente de sierra (en inglés sawtooth):

x = x −bxc (1.33)

Algunos usan el entero más cercano, con notación:

bxe = bx +1/2c

Esto es similar a redondear. No lo usaremos acá.Se cumplen las siguientes relaciones básicas para estas funciones:

bxc ≤ x < bxc+1 (1.34)

dxe−1 < x ≤ dxe (1.35)

Expresado de otra forma:

x −1 < bxc ≤ x (1.36)

x ≤ dxe < x +1 (1.37)

0 ≤ x < 1 (1.38)

Es claro que:

bxc =−d−xe (1.39)

dxe =−b−xc (1.40)

De la definición, ecuación (1.331.33), tenemos directamente:

bxc = x − x (1.41)

Usando las relaciones para cambio de signo tenemos

x = dxe+ (x −dxe)

= dxe− (−x +b−xc)

Page 36: Clases Extra 2 2013 1

1.7. FUNCIONES FLOOR Y CEIL 15

y resulta

dxe = x + −x (1.42)

Si n es un entero y x un real cualquiera, se cumplen:

bx +nc = bxc+n (1.43)

dx +ne = dxe+n (1.44)

x +n = x (1.45)

En cambio, para x e y reales cualquiera tenemos:

bxc+byc ≤ bx + yc ≤ bxc+byc+1 (1.46)

dxe+dye−1 ≤ dx + ye ≤ dxe+dye (1.47)

Algunas identidades más interesantes con x real, m entero y n natural son [108108]:⌊ x +m

n

⌋=

⌊ bxc+m

n

⌋(1.48)⌈ x +m

n

⌉=

⌈ dxe+m

n

⌉(1.49)

La primera servirá de ejemplo de demostración con estas nociones:⌊ x +m

n

⌋=

⌊ bxc+ x+m

n

⌋=

⌊ bxc+m

n+ x

n

⌋Como x < 1, el término final no influye.

Con m positivo:

n =⌊ n

m

⌋+

⌊n +1

m

⌋+

⌊n +2

m

⌋+·· ·+

⌊n +m −1

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:

∑0≤k<m

⌊n +k

m

⌋=

∑0≤k<m

⌊q + r +k

m

⌋= m ·q +

∑0≤k<m

⌊r +k

m

⌋Los términos de la última suma son 0 si r +k < m y 1 si r +k ≥ m, que es el rango m − r ≤ k < m conexactamente r elementos, y resulta lo indicado.

Más generalmente, con x ∈R:

bmxc = bxc+⌊

x + 1

m

⌋+

⌊x + 2

m

⌋+·· ·+

⌊x + m −1

m

⌋(1.52)

dmxe = dxe+⌈

x − 1

m

⌉+

⌈x − 2

m

⌉+·· ·+

⌈x − m −1

m

⌉(1.53)

Page 37: Clases Extra 2 2013 1

16 CAPÍTULO 1. PRELIMINARES

A la relación (1.521.52) se le conoce como identidad de Hermite. La siguiente demostración es debida aMatsuoka [187187]. Sea:

f (x) = bmxc−bxc−⌊

x + 1

m

⌋−

⌊x + 2

m

⌋−·· ·−

⌊x + m −1

m

⌋Entonces:

f

(x + 1

m

)= bmx +1c−

⌊x + 1

m

⌋−

⌊x + 2

m

⌋−

⌊x + 2

m

⌋−·· ·−

⌊x + m −1

m

⌋−bx +1c

= bmxc−bxc−⌊

x + 1

m

⌋−

⌊x + 2

m

⌋−·· ·−

⌊x + m −1

m

⌋= f (x)

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 quequeríamos probar. La relación (1.531.53) se demuestra de forma similar.

Alternativamente, para la identidad de Hermite por (1.481.48) podemos escribir:⌊ bmxc+k

m

⌋=

⌊mx +k

m

⌋=

⌊x + k

m

⌋Por (1.501.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 +m −1

m

⌋=

⌊n −1

m

⌋+1 (1.55)

Para demostrar (1.541.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.541.54).A veces resultan útiles:⌊ bx/mc

n

⌋=

⌊ x

mn

⌋(1.56)⌈ dx/me

n

⌉=

⌈ x

mn

⌉(1.57)

Estas son reflejo de lo siguiente: Sea f (x) una función continua monótona creciente con la propiedadespecial que si f (x) es entero entonces x es entero. Ejemplo es precisamente x/m. Entonces:

b f (bxc)c = b f (x)cd f (dxe)e = d f (x)e

Veremos el primer caso, el otro es análogo. Cuando x = bxc no hay nada que demostrar. Supongamosentonces que bxc < x, con lo que f (bxc) < f (x) ya que f es monótona, y b f (bxc)c ≤ b f (x)c. Si fuerab f (bxc)c < b f (x)c, habría un número y tal que bxc < y ≤ x con f (y) = b f (x)c ya que f es continua.Pero entonces f (y) es entero, luego por la propiedad especial y es entero también. Como no hayenteros y que cumplen bxc < y ≤ x, debe ser b f (bxc)c = b f (x)c.

Esto da, por ejemplo:

b√bxcc = bpxc

Page 38: Clases Extra 2 2013 1

1.8. OTROS RESULTADOS DE INTERÉS 17

1.8. Otros resultados de interés

En esta sección recogeremos la demostración de algunos resultados que usaremos más adelante.

Teorema 1.1 (Desigualdad de Cauchy-Schwarz). Sean vectores de números reales a = (a1, a2, . . . , an)y b = (b1,b2, . . . ,bn). Definamos:

p =∑

1≤k≤na2

k q=∑

1≤k≤nak bk r =

∑1≤k≤n

b2k

Entonces q2 ≤ pr .

Demostración. Sea x ∈R, y consideremos la suma

s(x) =∑

1≤k≤n(ak x +bk )2

Siendo s(x) una suma de cuadrados de números reales, s(x) ≥ 0, con lo que en particular su mínimono es negativo.

Expandiendo los cuadrados y agrupando términos la suma podemos expresarla

s(x) = px2 +2qx + r

Notamos que p y r son sumas de cuadrados de números reales, por lo que no pueden ser negativos.Si p = 0, entonces a = 0. En tal caso q = 0, y tenemos q2 = pr .

Si p 6= 0, es fácil hallar x∗ que minimiza s(x):

s′(x∗) = 2px +2q = 0

x∗ =−q/p

Para el mínimo obtenemos s(−q/p) =−q2 +pr ≥ 0, que es equivalente a la desigualdad prometida.

Teorema 1.2 (Desigualdad triangular). Sean a y b números complejos. Entonces |a +b| ≤ |a|+ |b|.

Se le llama “desigualdad triangular” porque si se consideran a y b como los lados de un triángulo,a +b es el tercer lado (vea la figura 1.21.2), y el teorema dice que la suma de los largos de dos lados del

a

b

a +b

Figura 1.2: Desigualdad triangular

triángulo es mayor que el largo del tercero (salvo cuando el triángulo es en realidad una única línea,en cuyo caso la suma de los largos de dos de los lados es igual al largo del tercero).

Page 39: Clases Extra 2 2013 1

18 CAPÍTULO 1. PRELIMINARES

Demostración. Sean a = u + i v y b = x + i y . En estos términos:

|a|2 = u2 + v2

= a ·a

donde a = u − i v es el conjugado de a. Así:

|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 +2v y

Por la desigualdad de Cauchy-Schwarz es (ux + v y)2 ≤ (u2 + v2) · (x2 + y2), así que ux + v y ≤ |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 raíces cuadradas obtenemos lo prometido.

Una observación simple es lo que llaman el principio del palomar (en inglés pigeonhole princi-ple): Si hay n palomares, y hay más de n palomas, hay al menos un palomar con más de una paloma.Si hay infinitas palomas, al menos uno de los palomares tiene infinitos huéspedes. Una variante útila veces es una versión extendida, como la siguiente.

Teorema 1.3 (Principio extendido del palomar). Si hay n palomares, y r palomas, hay un palomarcon al menos dr /ne palomas.

Demostración. Por definición, sabemos que:⌈ r

n

⌉−1 < r

n

Supongamos ahora que todos los palomares tienen menos de dr /ne palomas. Entonces el númerototal de palomas cumple

r ≤ n ·(⌈ r

n

⌉−1

)< n · r

n= r

Concluimos r < r , lo que es absurdo. Esta contradicción demuestra que nuestra suposición quetodos los palomares tienen menos de dr /ne palomas es falsa, al menos uno de ellos debe tener almenos dr /ne palomas.

Page 40: Clases Extra 2 2013 1

1.9. NOTACIÓN ASINTÓTICA 19

Para un ejemplo, considere los números 1,2, . . . ,2n, y elija n+1 de ellos formando el conjunto A .Entonces hay dos números relativamente primos en A , porque hay dos números que difieren en 1(considere los n “palomares” formados por pares adyacentes (1,2), (3,4), . . . , (2n −1,2n), al menosuno contiene dos números).

Considere nuevamente la situación anterior. Entonces entre los números de A hay uno quedivide a otro. Acá podemos escribir cada uno de los 2n elementos como 2k m, con m impar en elrango 1 ≤ m ≤ 2n −1. Como hay n +1 números, pero sólo n posibles partes impares, alguna deberepetirse, y en consecuencia tenemos un par que sólo difiere en la potencia de 2.

1.9. Notación asintótica

Para simplificar nuestra exposición, definiremos alguna notación que ayudará a entre otrascosas a describir tiempos de ejecución de algoritmos. En las definiciones usamos cuantificadorespara todo (∀) y existe (∃), que introdujimos formalmente en la sección 1.1.41.1.4. A esta familia se le

Notación Definición

f (n) =n→∞ O(g (n)) ∃k > 0,n0∀n > n0 : | f (n)| ≤ k · g (n)

f (n) =n→∞Ω(g (n)) ∃k > 0,n0∀n > n0 : | f (n)| ≥ k · g (n)

f (n) =n→∞Θ(g (n)) ∃k1 > 0,k2 > 0,n0∀n > n0 : k1 · g (n) ≤ | f (n)| ≤ k2 · g (n)

f (n) =n→∞ o(g (n)) ∀ε> 0∃n0∀n > n0 : | f (n)| ≤ ε · g (n)

f (n) =n→∞ω(g (n)) ∀ε> 0∃n0∀n > n0 : | f (n)| ≥ ε · g (n)

f (n) ∼n→∞ g (n) lım

n→∞ f (n)/g (n) = 1

Cuadro 1.3: Notaciones de Bachmann-Landau

llama notaciones de Bachmann-Landau, véase el cuadro 1.31.3. La intención en todas estas es quela función g sea “más simple” que la función f . Por convención se escriben las cosas de la formamás simple posible, vale decir no se escribe O(π) sino O(1), tampoco O(3n2 +17) sino simplementeO(n2). Aunque acá esto se ha anotado en términos de la variable n, lo que hace subentender n ∈N,la notación tiene perfecto sentido para n ∈R.

Intuitivamente:

f (n) =n→∞ O(g (n)): Indica que f crece a lo más como (una constante por) g cuando n →∞, que g

acota a f por arriba. Se aplica cuando lımn→∞ f (n) =∞.

f (n) =n→∞Ω(g (n)): Significa 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 más que nada cuandolımn→∞ 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 también f (n) =n→∞Ω(g (n)).

f (n) =n→∞ o(g (n)): Acá f es dominada asintóticamente por g , f disminuye más rápidamente que g

cuando n →∞. Esto se usa más que nada para comparar funciones tales que lımn→∞ f (n) = 0.

Page 41: Clases Extra 2 2013 1

20 CAPÍTULO 1. PRELIMINARES

f (n) =n→∞ω(g (n)): La situación acá es la inversa de la anterior, f domina asintóticamente a g , g dis-

minuye más rápidamente que f cuando n →∞. Útil principalmente cuando lımn→∞ f (n) = 0.

f (n) ∼n→∞ g (n): Asintóticamente, ambas funciones son iguales.

Más que nada usaremos las primeras tres, las otras se mencionan por completitud.Es común el caso de considerar el caso en que x → 0 (o alguna otra constante), no n →∞, y por

ejemplo la definición de O() se debe leer como:

f (x) =x→a

O(g (x)) si ∃k∀ε> 0 ∀x : |x −a| ≤ ε=⇒ | f (n)| ≤ k · g (n)

Para las demás notaciones se definen en forma afín.Nótense las similitudes con las definiciones de los límites respectivos:

lımn→∞ f (n) = a cuando ∀ε> 0∃N : n ≥ N =⇒ | f (n)−a| ≤ εlım

x→x0f (x) = a cuando ∀ε> 0 ∃δ : 0 < |x −x0| ≤ δ=⇒ | f (n)−a| ≤ ε

Lejos las más usadas son n →∞, y se suele sólo indicar explícitamente en otros casos. Si la variablees real normalmente se estará frente a la situación x → 0.

Podemos deducir relaciones entre las distintas situaciones, suponiendo que f (n) y g (n) no seanulan. Las definiciones inmediatamente indican que f (n) =Θ(g (n)) si f (n) =Ω(g (n)) y tambiénf (n) =O(g (n)). Es fácil ver que si f (n) =O(g (n)) entonces g (n) =Ω( f (n)), y viceversa. Similarmente,f (n) = o(g (n)) si y sólo si g (n) =ω( f (n)). Vemos también que si f (n) = o(g (n)) no puede ser simul-táneamente f (n) =Ω(g (n)). Si f (n) ∼ g (n), es claro que f (n) =Θ(g (n)), pero por ejemplo 3n =Θ(n)y 3n 6∼ n. La figura 1.31.3 resume las relaciones indicadas.

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: Relación entre f (n) y g (n) en notaciones de Bachmann-Landau

Las notaciones dadas son abusivas. Por ejemplo, n1/2 =O(n2) y 3n2 −17 =O(n2) definitivamente

no permiten concluir que n1/2 = 3n2 −17. Una notación más ajustada sería considerar O(g (n)) como

el conjunto de funciones que cumplen lo indicado, y decir f (n) ∈O(g (n)). Sin embargo, la notacióndada arriba es la acostumbrada, y no la cambiaremos nosotros. La forma más simple de evitar

Page 42: Clases Extra 2 2013 1

1.9. NOTACIÓN ASINTÓTICA 21

problemas es considerar siempre que el lado derecho de igualdades que usan estas notaciones esuna versión menos precisa del lado izquierdo.

También se usa notación como

f (n) = 3n3 +2n2 +O(n)

con la intención de indicar que hay una función g (n) que da:

f (n) = 3n3 +2n2 + g (n)

donde g (n) =O(n).Recordemos la definición:

lımn→∞ f (n) = a

si para todo ε> 0 existe n0 tal que para todo n ≥ n0 se cumple | f (n)−a| ≤ ε. Considerar los límitessuele ser útil para determinar relaciones asintóticas. Incluso hay quienes usan resultados como elteorema siguiente para definirlas.

Teorema 1.4. Dadas funciones f (n) y g (n), si lımn→∞ f (n)/g (n) es finito, entonces f (n) = O(g (n)).Si además el límite es positivo, entonces f (n) = Θ(g (n)) (en particular, tenemos f (n) =Ω(g (n))). Silımn→∞ f (n)/g (n) =∞, entonces f (n) =Ω(g (n)).

Demostración. Por definición

lımn→∞

f (n)

g (n)= a

con a finito cuando para todo ε> 0 hay n0 tal que siempre que n ≥ n0 tenemos | f (n)/g (n)−a| ≤ ε.Esto puede expresarse como:

(a −ε)g (n) ≤ f (n) ≤ (a +ε)g (n) cuando n ≥ n0

La segunda desigualdad corresponde a la definición de f (n) =O(g (n)).Si el límite a > 0, podemos elegir ε < a, lo que da constantes positivas en ambas desigualda-

des, y corresponde a f (n) = Θ(g (n)). La definición de f (n) = Ω(g (n)) es simplemente una de lasdesigualdades del caso anterior.

Por definición,

lımn→∞ f (n)/g (n) =∞

significa que para todo c > 0 hay n0 tal que si n ≥ n0:

f (n)

g (n)≥ c

f (n) ≥ cg (n)

En esto basta elegir c con su correspondiente n0 para satisfacer la definición de f (n) =Ω(g (n)).

Nótese que hay situaciones en las cuales esto no es aplicable. Por ejemplo, sea

f (n) = 3n2 sin2 n +n/2

Page 43: Clases Extra 2 2013 1

22 CAPÍTULO 1. PRELIMINARES

Sabemos que 0 ≤ sin2 n ≤ 1, con lo que para todo n > 1:

f (n) ≥ 1

2n

f (n) ≤ 3n2 + 1

2n ≤ 7

2n2

Estas corresponden directamente a f (n) = Ω(n) y f (n) = O(n2). Pero los límites a los que hacereferencia el teorema 1.41.4 no ayudan: lımn→∞ f (n)/n2 no existe (la razón oscila entre 0 y 3) y tampocoexiste lımn→∞ f (n)/n (la razón oscila entre 1/2 y 3n). No hay α tal que f (n) =Θ(nα).

Sabemos del teorema de Taylor (para condiciones sobre la función y otros véase un texto decálculo, por ejemplo [250250]) que si a ≤ x y x está dentro del radio de convergencia podemos escribir:

f (x) =∑

0≤i≤k

f (i )(a)

i !(x −a)i +Rk (x)

La forma de Lagrange del residuo es:

Rk (x) = f (k+1)(ξ)

(k +1)!(x −a)k+1

donde a ≤ ξ≤ x. Si f (k+1)(x) es acotado en el rango de interés, podemos decir:

f (x) =∑

0≤i≤k

f (i )(a)

i !(x −a)i +O((x −a)k+1)

Por ejemplo:

n

n −1= 1

1−1/n

Aplicando el teorema de Maclaurin:

1

1−x= 1+x +O(x2)

porque

d2

dx2

1

1−x= 2

(1−x)3

En el rango de interés (digamos n ≥ 2, que se traduce en 0 < 1/n ≤ 1/2, donde lo único que realmenteinteresa es que 1/n < 1) la derivada está acotada. Resulta:

n

n −1= 1

1−1/n= 1+ 1

n+O(n−2)

Tenemos que:

ar nr +ar−1nr−1 +·· ·+a0 =Θ(nr )

Acá estamos suponiendo que ar 6= 0. Esto porque:

lımn→∞

ar nr +ar−1nr−1 +·· ·+a0

nr = ar

Page 44: Clases Extra 2 2013 1

1.9. NOTACIÓN ASINTÓTICA 23

También:

ar nr +ar−1nr−1 +·· ·+a0 ∼ ar nr

Para demostrar esto debemos calcular:

lımn→∞

ar nr +ar−1nr−1 +·· ·+a0

ar nr = lımn→∞

(1+ ar−1nr−1 +·· ·+a0

ar nr

)= 1

En general, es fácil demostrar que para valores reales de a < b:

na =O(nb)

nb =Ω(na)

Porque tenemos:

lımn→∞

nb

na = lımn→∞nb−a

=∞

Por el teorema 1.41.4 se cumple lo indicado. Lo otro se demuestra de forma similar.También resulta para a ≥ 0 y b > 1:

na =O(bn)

Si a = 0, el resultado es inmediato. Si a > 0, hacemos:

lımn→∞

na

bn = exp(

lımn→∞(a lnn −n lnb)

)= 0

El teorema 1.41.4 entrega lo aseverado. Nótese que esto significa, por ejemplo, que n100 = O(1,01n),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 algunaforma “mejor posible.” Por ejemplo,

p5n2 +2 = O(n3), como es fácil demostrar, y eso está lejos de

ser ajustado. Como:

lımn→∞

p5n2 +2

n=p

5

sabemos del teorema 1.41.4 quep

5n2 +2 =Θ(n). Pero también, 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):

√5n2 +2 = n

p5 ·

√1+ 2

5n2

= np

5 · (1+O(1/n2))

= np

5+O(1/n)

Acá usamos que f (n) ·O(g (n)) = O( f (n) · g (n)), como se demuestra fácilmente. Este tipo de ideaspueden extenderse bastante, hasta obtener reglas para manipular y simplificar toda variedad deexpresiones asintóticas. Para mayores detalles refiérase por ejemplo a [236236, capítulo 4]. En resumen,

Page 45: Clases Extra 2 2013 1

24 CAPÍTULO 1. PRELIMINARES

se aplican las reglas básicas del álgebra, con algún cuidado: Hay que recordar que las notaciones deBachmann-Landau representan cotas, no valores exactos. Debemos siempre ponernos en el peorcaso, 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 aproximación para e1/np

n2 −2n. Primeramente, por el teo-rema de Maclaurin:

e1/n = 1+ 1

n+O

(n−2)√

n2 −2n = np

1−2/n

= n

(1− 1

n− 1

2n2 +O(n−3))

Multiplicando directamente tenemos:

e1/n√

n2 −2n =(1+ 1

n+O

(n−2)) ·n

(1− 1

n− 1

2n2 +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 suficiente, deberemos volver atrás y obtener mejores aproximaciones de partida.Normalmente deben entrar cotas de la misma precisión para no desperdiciarla en el proceso.

1.10. Notación asintótica en algoritmos

Comúnmente se usa notación asintótica para expresar tiempos de ejecución de algoritmos. Eneste tipo de aplicación el que O(g (n)) “oculte” factores constantes es cómodo, así los resultados nodependen de detalles de la máquina ni de cómo se programó el algoritmo. Para obtener esta clasede estimaciones basta fijarse en alguna operación clave, tal que el costo de las demás operacionessean proporcionales (o menos) que las operaciones claves. Por ejemplo, en el listado 1.11.1 aparece unarutina de ordenamiento por inserción codificada en C [150150].

1 void s o r t ( double a [ ] , i n t n )2 3 i n t i , j ;4 double tmp ;56 f o r ( i = 1 ; i < n ; i ++) 7 tmp = a [ i ] ;8 f o r ( 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 inserción

Page 46: Clases Extra 2 2013 1

1.10. NOTACIÓN ASINTÓTICA EN ALGORITMOS 25

Acá las líneas 6, 7 y 10 se ejecutan n − 1 veces, mientras las líneas 8 y 9 se ejecutan entre n − 1 yn(n − 1)/2 veces, respectivamente cuando el arreglo ya está ordenado y si viene exactamente enorden inverso. Si simplemente contamos “líneas de C ejecutadas” (lo que es válido bajo el supuestoque cada línea toma un tiempo máximo, independiente de los valores de las variables involucradas)para un valor dado de n, el tiempo de ejecución será alguna expresión de la forma

Tmin(n) = 3(n −1)+2(n −1)

= 5n −5

Tmax(n) = 3(n −1)+2n(n −1)

2= n2 +2n −3

Podemos decir que para el tiempo de ejecución T (n) del programa tenemos una cota superior dadoque los ciclos anidados de las líneas 6 a 11 dan que la línea 9 se ejecuta a lo más n2 veces, mientrasque en el mejor caso se ejecuta sólo n veces, lo que da:

T (n) =O(n2)

T (n) =Ω(n)

Esto coincide con lo obtenido antes. Puede verse que esta clase de estimaciones son simples deobtener, y son más sencillas de usar que funciones detalladas. Además tienen la ventaja de obviarposibles diferencias en tiempos de ejecución entre instrucciones. Cabe notar que las anteriores cotasson las mejores posibles, y en este caso no se puede obtener la misma función como cota inferior ysuperior (Θ). De todas formas, es útil contar con valores asintóticos del tiempo de ejecución [236236], elque un O(·) o inclusoΘ(·) oculte constantes hace fácil obtener la cota, pero poder decir que el tiempode ejecución (o el número de ciertas operaciones) cumple T (n) ∼ ag (n) es mucho más valioso.

Está claro que se puede hacer un análisis mucho más detallado, contabilizando cada tipo deoperación que ejecuta el programa, y considerando el tiempo que demanda en una implementaciónparticular. El ejemplo clásico es el monumental trabajo de Knuth [160160–163163] en análisis de algoritmos.Esto es mucho más trabajo, y en caso de cambiar de plataforma (diferente compilador, cambian op-ciones de compilación, otro lenguaje o nuevo computador) gran parte del análisis hay que repetirlo.Para la mayor parte de los efectos basta con nuestro análisis somero. Si tenemos que elegir entreun algoritmo con tiempo de ejecución O(n2) y otro con tiempo de ejecución O(n3), para valoressuficientemente grandes de n ganará el primero. Sin embargo, puede ocurrir que los valores de n deinterés práctico sean más importantes los factores constantes ocultados por la notación. Mucho másdetalle de cómo lograr esta clase de estimaciones se encuentra en textos sobre algoritmos o estructu-ras de datos, por ejemplo en [11,5858,236236,242242]. Otros algoritmos son mucho más complejos de manejar,el desarrollo de mejores algoritmos y el análisis de su desempeño son áreas de investigación activa.En [2222, 2323, 149149] se discute cómo llevar algoritmos a buenos programas.

Los algoritmos efectúan operaciones discretas sobre estructuras de datos discretas, evaluar surendimiento es estudiar esas estructuras y contar las operaciones efectuadas sobre ellas. Esta es unade las razones que hacen que las matemáticas discretas sean fundamentales en la informática.

Page 47: Clases Extra 2 2013 1

Bibliografía

[1] Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman: The Design and Analysis of ComputerAlgorithms. Addison-Wesley, 1974.

[2] Martin Aigner and Günter M. Ziegler: Proofs from THE BOOK. Springer, fourth edition, 2012.

[3] Mohamad Akra and Louay Bazzi: On the solution of linear recurrence equations. Computa-tional Optimization and Applications, 10(2):195–210, 1998.

[4] Michael Albert: Basic counting principles.http://www.mathsolympiad.org.nz/wp-content/uploads/2009/01/counting.pdfhttp://www.mathsolympiad.org.nz/wp-content/uploads/2009/01/counting.pdf,January 2009.

[5] W. R. Alford, Andrew Granville, and Carl Pommerance: There are infinitely many Carmichaelnumbers. Annals of Mathematics, 139(3):703–722, May 1994.

[6] Ross Anderson and Serge Vaudenay: Minding your P’s and Q’s. In Advances in Cryptology -ASIACRYPT’96, LNCS 1163, pages 26–35. Springer-Verlag, 1996.

[7] Ross J. Anderson: Security Engineering: A Guide to Building Dependable Distributed Systems.Wiley Publishing, second edition, 2008.

[8] Kenneth Appel and Wolfgang Haken: Every planar map is four colorable. part I: Discharging.Illinois Journal of Mathematics, 21:429–490, 1977.

[9] Kenneth Appel and Wolfgang Haken: Every planar map is four colorable. part II: Reducibility.Illinois Journal of Mathematics, 21:491–567, 1977.

[10] Krzysztof R. Apt: Ten years of Hoare’s logic: A survey – part I. ACM Transactions on ProgrammingLanguages and Systems, 3(4):431–483, October 1981, ISSN 0164-0925.

[11] Krzysztof R. Apt: Ten years of Hoare’s logic: A survey – part II. Theoretical Computer Science,28:83–109, 1984.

[12] Cecilia R. Aragon and Raimund G. Seidel: Randomized search trees. In Thirtieth Annual Sym-posium on Foundations of Computer Science, pages 540–545, October - November 1989.

[13] Jörg Arndt: Matters Computational: Ideas, Algorithms, Source Code. Springer, December 2010.

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

423

Page 48: Clases Extra 2 2013 1

424 BIBLIOGRAFÍA

[15] Daniel V. Bailey, Brian Baldwin, Lejla Batina, Daniel J. Bernstein, Peter Birkner, JoppeW. 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#ecc2xhttp://cr.yp.to/papers.html#ecc2x, September 2009.

[16] Daniel V. Bailey, Lejla Batina, Daniel J. Bernstein, Peter Birkner, Joppe W. Bos, HsiehChung 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#ecc2k130http://cr.yp.to/papers.html#ecc2k130, November 2009.

[17] Jørgen Bang-Jensen and Gregory Gutin: Digraphs: Theory, Algorithms and Applications.Springer-Verlag, second edition, December 2008.

[18] Christian Bauer, Alexander Frink, and Richard Kreckel: Introduction to the GiNaC frameworkfor symbolic computation within the C++ programming language. Journal of Symbolic Com-putation, 33(1):1–12, January 2002.

[19] Eric Temple Bell: Exponential numbers. The American Mathematical Monthly, 41:411–419,1934.

[20] Richard Bellman: On a routing problem. Quarterly of Applied Mathematics, 16:87–90, 1958.

[21] Edward A. Bender and S. Gill Williamson: Foundations of Combinatorics with Applications.Dover, 2006.

[22] Jon Louis Bentley: Writing Efficient Programs. Prentice-Hall Software Series, 1982.

[23] Jon Louis Bentley: Programming Pearls. Prentice Hall, second edition, 2000.

[24] Jon Louis Bentley and M. Douglas McIllroy: Engineering a sort function. Software – Practiceand Experience, 23(11):1249–1265, 1993.

[25] Daniel J. Bernstein: Research announcement: Faster factorization into coprimes.http://cr.yp.to/papers.html#dcba2http://cr.yp.to/papers.html#dcba2, November 2004.

[26] Daniel J. Bernstein: Factoring into comprimes in essentially linear time. Journal of Algorithms,54:1–30, 2005.

[27] Daniel J. Bernstein, Peter Birkner, Tanja Lange, and Christiane Peters: ECM using Edwardscurves. Cryptology ePrint Archive, Report 2008/016, 2008.

[28] 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 159–176. SpringerBerlin Heidelberg, October 2012.

[29] Daniel M. Berry: Academic legitimacy of the software engineering discipline. Technical ReportCMU/SEI-92-TR-34, Software Engineering Institute, November 1992.

[30] Stefan Bilaniuk: A problem course in mathematical logic.http://euclid.trentu.ca/math/sb/pcml/pcml.htmlhttp://euclid.trentu.ca/math/sb/pcml/pcml.html, September 2003. version 1.6.

Page 49: Clases Extra 2 2013 1

BIBLIOGRAFÍA 425

[31] W. A. Blankinship: A new version of the Euclidean algorithm. The American MathematicalMonthly, 70:742–745, 1963.

[32] Alexander Bogomolny: Sylvester’s problem: A second look.http://www.cut-the-knot.org/blue/Sylvester2.shtmlhttp://www.cut-the-knot.org/blue/Sylvester2.shtml, October 2012.

[33] Dan Boneh: Twenty years of attacks on the RSA cryptosystem. Notices of the AMS, 46:203–213,1999.

[34] Alin Bostan, Frédéric Chyzak, Bruno Salvy, Grégoire Lecerf, and Éric Schost: Differential equa-tions for algebraic functions. In Proceedings of the International Symposium on Symbolic andAlgebraic Computation, ISSAC ’07, pages 25–32, New York, NY, USA, 2007. ACM.

[35] Louis Brand: A sequence defined by a difference equation. American Mathematical Monthly,62(7):489–492, September 1955.

[36] Richard P. Brent: An improved Monte Carlo factorization algorithm. BIT Numerical Mathemat-ics, 20:176–184, 1980.

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

[38] A. di Bucchianico and D. Loeb: A selected survey of umbral calculus. The Electronic Journal ofCombinatorics, DS3, 2000.

[39] William Burnside: Theory of Groups of Finite Order. Cambridge University Press, 1897.

[40] 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 USENIXSymposium on Operating Systems Design and Implementation, pages 209–224. USENIX, De-cember 2008.

[41] Cristian S. Calude, Elena Calude, and Solomon Marcus: Proving and programming. TechnicalReport 309, CDMTCS, University of Auckland, NZ, June 2007.

[42] Robert Daniel Carmichael: Note on a new number theory function. Bulletin of the AmericanMathematical Society, 16(5):232–238, 1910.

[43] David A. Carts: A review of the Diffie-Hellman algorithm and its use in secure Internet protocols.http://www.sans.org/reading_room/whitepapers/vpns/review-diffie-hellman-http://www.sans.org/reading_room/whitepapers/vpns/review-diffie-hellman-algorithm-secure-internet-protocols_751algorithm-secure-internet-protocols_751, November 2001.

[44] Augustin Louis Cauchy: Cours d’Analyse de l’Ecole Royale Polytechnique, primère partie, Ana-lyse Algébrique. Impr. Royale Debure frères, 1821.

[45] Arthur Cayley: A theorem on trees. Quarterly Journal of Mathematics, 23:376–378, 1889.

[46] Certicom: Certicom ECC challenge.http://www.certicom.com/index.php/the-certicom-ecc-challengehttp://www.certicom.com/index.php/the-certicom-ecc-challenge, 1997.

[47] Gregory J. Chaitin: Register allocation & spilling via graph coloring. SIGPLAN Notices, 17:98–101, June 1982, ISSN 0362-1340.

[48] William W. L. Chen: First year calculus.http://rutherglen.science.mq.edu.au/wchen/lnfycfolder/lnfyc.htmlhttp://rutherglen.science.mq.edu.au/wchen/lnfycfolder/lnfyc.html, 2008.

Page 50: Clases Extra 2 2013 1

426 BIBLIOGRAFÍA

[49] William W. L. Chen: Fundamentals of analysis.http://rutherglen.science.mq.edu.au/wchen/lnfafolder/lnfa.htmlhttp://rutherglen.science.mq.edu.au/wchen/lnfafolder/lnfa.html, 2008.

[50] William W. L. Chen: Miscelaneous topics in first year mathematics.http://rutherglen.science.mq.edu.au/~maths/notes/wchen/http://rutherglen.science.mq.edu.au/~maths/notes/wchen/lnmtfymfolder/lnmtfym.htmllnmtfymfolder/lnmtfym.html, 2008.

[51] Barry A. Cipra: How the Grinch stole mathematics. Science, 245:595, August 1989.

[52] Sir Arthur Ignatius Conan Doyle: The Sign of the Four. Spencer Blackett, February 1890.

[53] Edwin H. Connell: Elements of abstract and linear algebra.http://www.math.miami.edu/~ec/bookhttp://www.math.miami.edu/~ec/book, March 2004.

[54] Stephen A. Cook: On the Minimum Computation Time of Functions. PhD thesis, Departmentof Mathematics, Harvard University, 1966.

[55] Stephen A. Cook: The complexity of theorem proving procedures. In Proceedings of the ThirdAnnual ACM Symposium on Theory of Computing, pages 151–158, 1971.

[56] James W. Cooley and John W. Tukey: An algorithm for the machine calculation of complexFourier series. Mathematics of Computation, 19(90):297–301, 1965.

[57] Don Coppersmith, Matthew Franklin, Jacques Patarin, and Michael Reiter: Low-exponent RSAwith related messages. In Advances in Cryptology – EUROCRYPT ’96, pages 1–7, 1996.

[58] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein: Introduction toAlgorithms. MIT Press, third edition, 2009.

[59] Romain Cosset: Factorization with genus 2 curves. Mathematics of Computation, 79(270):1191–1208, August 2010.

[60] Pascal Cuoq, Florent Kirchner, Nikolai Kosmatov, Virgile Prevosto, Julien Signoles, and BorisYakobowski: 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 233–247. Springer, October 2012.

[61] Matt Curtin: Snake oil warning signs: Encryption software to avoid.http://www.interhack.net/people/cmcurtin/snake-oil-faq.htmlhttp://www.interhack.net/people/cmcurtin/snake-oil-faq.html, April 1998.

[62] Larry W. Cusick: How to write proofs.http://zimmer.csufresno.edu/~larryc/proofs/proofs.htmlhttp://zimmer.csufresno.edu/~larryc/proofs/proofs.html.

[63] Richard A. De Millo, Richard J. Lipton, and Alan J. Perlis: Social processes and proofs of theoremsand programs. Communications of the ACM, 22(5):271–280, May 1979, ISSN 0001-0782.

[64] Jean Paul Delahaye: The science behind Sudoku. Scientific American, pages 80–87, June 2006.

[65] L. Dewaghe: Remarks on the Schoof-Elkies-Atkin algorithm. Mathematics of Computation,67(223):1247–1252, July 1998.

[66] Reinhard Diestel: Graph Theory. Graduate Texts in Mathematics. Springer Verlag, fourth edi-tion, 2010.

[67] Edgser W. Dijkstra: The cruelty of teaching computer science. Communications of the ACM,32(12):1397–1404, December 1989.

Page 51: Clases Extra 2 2013 1

BIBLIOGRAFÍA 427

[68] Edsger W. Dijkstra: A note on two problems in connexion with graphs. Numerische Mathematik,1:269–271, 1959.

[69] Edsger W. Dijkstra: A Discipline of Programming. Prentice Hall, 1976.

[70] Dušan Djukic: Arithmetic in extensions ofQ.http://www.imomath.com/tekstkut/extensions_ddj.pdfhttp://www.imomath.com/tekstkut/extensions_ddj.pdf, 2007.

[71] Dušan Djukic: Pell’s equation. http://www.imomath.com/tekstkut/pelleqn_ddj.pdfhttp://www.imomath.com/tekstkut/pelleqn_ddj.pdf,2007.

[72] G. Dobinski: Summirung der Reihe∑ nm

n! für m = 1,2,3,4,5, . . .. Grunert’s Archiv, 61:333–336,1877.

[73] Vladimir A. Dobrushkin: Methods in Algorithmic Analysis. Chapman & Hall/CRC, 2010.

[74] Jack Dongarra and Francis Sullivan: Guest editor introduction to the top 10 algorithms. Com-puting in Science and Engineering, 2(1):22–23, January/February 2000.

[75] Leo Dorst, Daniel Fontijne, and Stephen Mann: Geometric Algebra for Computer Science. Mor-gan Kaufmann, 2007.

[76] Michael Drmota and Wojciech Szpankowski: A master theorem for discrete divide and conquerrecurrences. In Proceedings of the Twenty-Second Annual ACM-SIAM Symposium on DiscreteAlgorithms, SODA ’11, pages 342–361. SIAM, 2011.

[77] William Dunham: Journey through Genius: The Great Theorems of Mathematics. PenguinBooks, 1990.

[78] William Dunham: When Euler met l’Hôpital. Mathematics Magazine, 82(1):16–25, February2009.

[79] Richard A. Dunlap: The Golden Ratio and Fibonacci Numbers. World Scientific Publishing Co.,March 1998.

[80] Glenn Durfee: Cryptanalysis of RSA Using Algebraic and Lattice Methods. PhD thesis, Depart-ment of Computer Science, Stanford University, June 2002.

[81] Standard curves and curve generation.http://www.ecc-brainpool.org/download/Domain-parameters.pdfhttp://www.ecc-brainpool.org/download/Domain-parameters.pdf, October 2005.

[82] Jack Edmonds and Richard M. Karp: Theoretical improvements in algorithmic efficiency fornetwork flow problems. Journal of the ACM, 19(2):248–264, 1972.

[83] Taher ElGamal: A public key cryptosystem and a signature scheme based on discrete logarithms.IEEE Transactions on Information Theory, IT-31(4):469–472, July 1985.

[84] Herbert B. Enderton: A Mathematical Introduction to Logic. Harcourt/Academic Press,third edition, 2013.

[85] David Eppstein: Nineteen proofs of Euler’s formula: v − e + f = 2.http://www.ics.uci.edu/~eppstein/junkyard/eulerhttp://www.ics.uci.edu/~eppstein/junkyard/euler, October 2005.

[86] Paul Erdos: Über die Reihe∑ 1

p . Mathematica, Zutphen B 7:1–2, 1938.

[87] Niels Ferguson, Bruce Schneier, and Tadayoshi Kohno: Cryptography Engineering. John Wiley& Sons, 2010.

Page 52: Clases Extra 2 2013 1

428 BIBLIOGRAFÍA

[88] Secure Hash Standard (SHS). Federal Information Processing Standards Publication 180-3,October 2008.http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdfhttp://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.

[89] Digital Signature Standard (DSS). Federal Information Processing Standards Publication 186,May 1994. http://www.itl.nist.gov/fipspubs/fip186.htmhttp://www.itl.nist.gov/fipspubs/fip186.htm.

[90] Digital Signature Standard, change no. 1. Federal Information Processing Standards Publica-tion 186, December 1996. http://www.itl.nist.gov/fipspubs/186chg-1.htmhttp://www.itl.nist.gov/fipspubs/186chg-1.htm.

[91] Digital Signature Standard. Federal Information Processing Standards Publication 186, June2009. http://csrc.nist.gov/publications/fips/fips186-3/fips_186-3.pdfhttp://csrc.nist.gov/publications/fips/fips186-3/fips_186-3.pdf.

[92] Philipe Flajolet and Robert Sedgewick: Analytic Combinatorics. Cambridge University Press,2009.

[93] Philipe Flajolet and Michèle Soria: The cycle construction. SIAM Journal of Discrete Mathemat-ics, 4(1):58–60, February 1991.

[94] M. Fleury: Deux Problèmes de Géométrie de Situation. Journal de Mathematiques Élémentaires,2 :257–261, 1883.

[95] Robert W. Floyd: Assigning meaning to programs. Proceedings of the American MathematicalSociety Symposia on Applied Mathematics, 19:19–31, 1967.

[96] Robert W. Floyd: Non-deterministic algorithms. Journal of the ACM, 14(4):636–644, 1967.

[97] Lester R. Ford Jr and Delbert R. Fulkerson: Maximal flow through a network. Canadian Journalof Mathematics, 8:399–404, 1956.

[98] M. K. Franklin and M. K. Reiter: A linear protocol failure for RSA with exponent three. InCRYPTO’95 Rump Session, August 1995.

[99] Robert Frucht: Herstellung von Graphen mit vorgegebener abstrakter Gruppe. CompositioMathematica, 6:239–250, 1939.

[100] Martin Fürer: Faster integer multiplication. In Proceedings of the ACM Symposium on theTheory of Computing, volume 39, pages 57–66, 2007.

[101] The GAP Group: GAP – Groups, Algorithms, and Programming, Version 4.5.6, 2012.http://www.gap-system.orghttp://www.gap-system.org.

[102] Michael R. Garey and David S. Johnson: Computers and Intractability: A Guide to the Theoryof NP-completeness. A Series of Books in the Mathematical Sciences. W. H. Freeman and Co.,1979.

[103] GiNaC version 1.6.2. http://www.ginac.de/Download.htmlhttp://www.ginac.de/Download.html, November 2011.

[104] John Goodenough and Sue L. Gerhart: Toward a theory of test data selection. IEEE Transactionson Software Engineering, SE-1(2):156–173, June 1975.

[105] John Gordon: The Alice and Bob after dinner speech.http://downlode.org/Etext/alicebob.htmlhttp://downlode.org/Etext/alicebob.html, April 1984. Given at the Zurich Seminar.

[106] Mike Gordon and Hélène Collavizza: Forward with Hoare. In A. W. Roscoe, Cliff B. Jones, andKenneth R. Wood (editors): Reflections on the Work of C.A.R. Hoare, History of Computing,pages 101–121. Springer London, 2010.

Page 53: Clases Extra 2 2013 1

BIBLIOGRAFÍA 429

[107] Xavier Gourdon and Pascal Sebah: The Euler constant: γ.http://numbers.computation.free.fr/Constants/Gamma/gamma.htmlhttp://numbers.computation.free.fr/Constants/Gamma/gamma.html, April 2004.

[108] Ronald L. Graham, Donald E. Knuth, and Oren Patashnik: Concrete Mathematics: A Foundationfor Computer Science. Addison-Wesley Professional, second edition, 1994.

[109] Torbjörn Granlund et al.: The GNU multiple precision arithmetic library. http://gmplib.orghttp://gmplib.org,May 2013.

[110] David Gries: The Science of Programming. Springer, 1987.

[111] Peter Gutmann: Cryptographic Security Architecture: Design and Verification. Springer, 2004.

[112] Bruno Haible and Richard B. Kreckel: CLN, a Class Library for Numbers, version 1.3.2 edition,May 2011. http://www.ginac.de/CLNhttp://www.ginac.de/CLN.

[113] Phillip Hall: On representatives of subsets. Journal of the London Mathematical Society,10(1):26–30, 1935.

[114] William Rowan Hamilton: On quaternions, or on a new system of imaginaries in algebra. Philo-sophical Magazine, 25(3):489–495, 1844.

[115] Richard Hammack: The Book of Proof, volume 1 of Mathematics Textbook Series. VirginiaCommonwealth University Mathematics, 1.3 edition, 2009.

[116] Richard W. Hamming: Error detecting and correcting codes. Bell System Technical Journal,29(2):147–160, April 1950.

[117] Richard W. Hamming: The unreasonable effectiveness of mathematics. The American Mathe-matical Monthly, 87(2):81–90, February 1980.

[118] Darrel Hankerson, Alfred J. Menezes, and Scott Vanstone: Guide to Elliptic Curve Cryptography.Springer, 2004.

[119] Gary M. Hardegree: Symbolic Logic: A First Course. McGraw-Hill College, third edition, 1999.

[120] Helmut Hasse: Zur Theorie der abstrakten elliptischen Funktionenkörper. I. Die Struktur derGruppe der Divisorenklassen endlicher Ordnung. Journal für Reine und Angewandte Mathe-matik, 175:55–62, 1936.

[121] Helmut Hasse: Zur Theorie der abstrakten elliptischen Funktionenkörper. II. Automorphismenund Meromorphismen. Das Additionstheorem. Journal für Reine und Angewandte Mathematik,175:69–88, 1936.

[122] Helmut Hasse: Zur Theorie der abstrakten elliptischen Funktionenkörper. III. Die Struktur desMeromorphismenringes. Die Riemannsche Vermutung. Journal für Reine und AngewandteMathematik, 175:193–208, 1936.

[123] Michael T. Heideman, Don H. Johnson, and C. Sidney Burrus: Gauß and the history of the FastFourier Transform. IEEE ASSP Magazine, 1(4):14–21, October 1984.

[124] Nadia Heninger, Zakir Durumeric, Eric Wustrow, and J. Alex Halderman: Mining your Ps andQs: Detection of widespread weak keys in network devices. In Proceedings of the 21st USENIXSecurity Symposium, August 2012.

Page 54: Clases Extra 2 2013 1

430 BIBLIOGRAFÍA

[125] Robert A. Herrmann: Logic for everyone. http://arxiv.org/abs/math/0601709v1http://arxiv.org/abs/math/0601709v1, January2006.

[126] Carl Hierholzer: Über die Möglichkeit, einen Linienzug ohne Wiederholung und ohne Unter-brechung zu umfahren. Mathematische Annalen, 6(1):30–32, 1873.

[127] C. A. R. Hoare: Quicksort. Computer Journal, 5(1):10–15, April 1962.

[128] C. A. R. Hoare: An axiomatic basis for computer programming. Communications of the ACM,12(10):576–580, 583, October 1969.

[129] John E. Hopcroft and Richard M. Karp: An n5/2 algorithm for maximum matchings in bipartitegraphs. SIAM Journal on Computing, 2(4):225–231, 1973.

[130] John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman: Introduction to Automata Theory,Languages, and Computation. Addison-Wesley, second edition, 2001.

[131] Guillaume Marquis de l’Hôpital: Analyse des Infiniment Petits pour l’Intelligence des LignesCourbes. Paris, 1696.

[132] IEEE Standard for local and metropolitan area networks: Media access control (MAC) bridges.IEEE Std 802.1d-2004, 2004.

[133] International Organization for Standardization: Information technology – Programming lan-guages – C++. ISO/IEC 14882:2011, 2011.

[134] International Organization for Standardization: Information technology – Programming lan-guages – C. ISO/IEC 9899:2011, 2011.

[135] Kenneth E. Iverson: A Programming Language. Wiley, 1962.

[136] Ray Jennings and Andrew Hartline: Disjunction. In Edward N. Zalta (editor): The Stanford Ency-clopedia of Philosophy. Center for the Study of Language and Information, Stanford University,spring 2009 edition, 2009.

[137] William S. Jevons: The Principles of Science: A Treatise on Logic and Scientific Method. Macmil-lan, 1874.

[138] Cliff B. Jones: The early search for tractable ways of reasoning about programs. IEEE Annals ofthe History of Computing, 25(2):26–49, 2003.

[139] David Joyner: Adventures in group theory: Rubik’s cube, Merlin’s machine, and Other Mathe-matical Toys. Johns Hopkins University Press, second edition, 2008.

[140] Thomas W. Judson: Abstract Algebra: Theory and Applications. Virginia Commonwealth Uni-versity Mathematics, 2011.

[141] Arthur B. Kahn: Topological sorting of large networks. Communications of the ACM, 5(11):558–562, November 1962.

[142] Dan Kalman: Six ways to sum a series. The College Mathematics Journal, 24(5):402–421, 1993.

[143] Jovan Karamata: Théorèmes sur la Sommabilité Exponentielle et d’autres Sommabilités Ratta-chant. Mathematica (Cluj), 9 :164–178, 1935.

[144] A. Karatsuba and Yu. Ofman: Multiplication of many-digital numbers by automatic computers.Proceedings of the USSR Academy of Sciences, 145:293–294, 1962.

Page 55: Clases Extra 2 2013 1

BIBLIOGRAFÍA 431

[145] Richard M. Karp: Reducibility among combinatorial problems. In R. E. Miller and J. W. Thatcher(editors): Complexity of Computer Computations, pages 85–103. Plenum Press, 1972.

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

[147] James Kelley and Morgan Walker: Critical-path planning and scheduling. In Proceedings of theEastern Joint Computer Conference, 1959.

[148] Alfred B. Kempe: A memoir on the theory of mathematical form. Philosophical Transactions ofthe Royal Society of London, 177:1–70, 1886.

[149] Brian W. Kernighan and Rob Pike: The Practice of Programming. Addison-Wesley Professional,1999.

[150] Brian W. Kernighan and Dennis M. Ritchie: The C Programming Language. Prentice Hall,second edition, 1988.

[151] J. Kiefer: Sequential minimax search for a maximum. Proceedings of the American Mathemat-ical Association, 4:502–506, 1953.

[152] Gerwin Klein: The L4.verified project.http://ertos.nicta.com.au/research/l4.verifiedhttp://ertos.nicta.com.au/research/l4.verified, 2011.

[153] 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 verification of an operating-system kernel.Communications of the ACM, 53(6):107–115, June 2010.

[154] Israel Kleiner: Rigor and proof in mathematics: A historical perspective. Mathematics Magazine,64(5):291–314, December 1991.

[155] Israel Kleiner and Nitsa Movshovitz-Hadar: The role of paradoxes in the evolution of mathe-matics. The American Mathematical Monthly, 101:963–974, 1994.

[156] Thorsten Kleinjung, Kazumaro Aoki, Jens Franke, Arjen Lenstra, Emmanuel Thomé, JoppeBos, Pierrick Gaudry, Alexander Kruppa, Peter Montgomery, Dag Arne Osvik, Herman te Riele,Andrey Timofeev, and Paul Zimmermann: Factorization of a 768-bit RSA modulus. CryptologyePrint Archive, Report 2010/006, 2010.

[157] 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.htmlhttp://www-cs-faculty.stanford.edu/~knuth/faq.html, March 1977.

[158] Donald E. Knuth: Two notes on notation. The American Mathematical Monthly, 99(5):403–422,May 1992.

[159] Donald E. Knuth: Johann Faulhaber and sums of powers. Mathematics of Computation,61(203):277–294, July 1993.

[160] Donald E. Knuth: Fundamental Algorithms, volume 1 of The Art of Computer Programming.Addison-Wesley, third edition, 1997.

[161] Donald E. Knuth: Seminumerical Algorithms, volume 2 of The Art of Computer Programming.Addison-Wesley, third edition, 1997.

Page 56: Clases Extra 2 2013 1

432 BIBLIOGRAFÍA

[162] Donald E. Knuth: Sorting and Searching, volume 3 of The Art of Computer Programming.Addison-Wesley, second edition, 1998.

[163] Donald E. Knuth: Combinatorial Algorithms, Part 1, volume 4a of The Art of Computer Pro-gramming. Addison-Wesley, 2011.

[164] Donald E. Knuth, Tracy L. Larrabee, and Paul M. Roberts: Mathematical Writing. MathematicalAssociation of America, 1989.

[165] Dénes Konig: Theorie der endlichen und unendlichen Graphen. Akademische Verlagsgesell-schaft, Leipzig, 1936.

[166] Alvin R. Korselt: Problème Chinois. L’Intermédiaire des Mathématiciens, 6 :142–143, 1899.

[167] Joseph B. Kruskal: On the shortest spanning subtree of a graph and the traveling salesmanproblem. Proceedings of the American Mathematical Society, 7(1):48–50, February 1956.

[168] Thomas S. Kuhn: The Structure of Scientific Revolutions. The University of Chicago Press,second edition, 1970.

[169] Ivo Lah: A new kind of numbers and its application in the actuarial mathematics. Boletim doInstituto dos Actuarios Portugueses, 9:7–15, June 1954.

[170] Michael Lambrou: Mathematical induction: Notes for the teacher I. Creative Mathematics andInformatics, 14:19–30, 2005.

[171] Michael Lambrou: Mathematical induction: Notes for the teacher II. Creative Mathematics andInformatics, 15:117–132, 2006.

[172] Nate Lawson: DSA requirements for random k value.http://rdist.root.org/2010/11/19/dsa-requirements-for-random-k-valuehttp://rdist.root.org/2010/11/19/dsa-requirements-for-random-k-value,November 2010.

[173] Burt Leavenworth: Review #19420. Computing Reviews, 11:396–397, 1970.

[174] Eric Lehman, F. Thomson Leighton, and Albert R. Meyer: Mathematics for Computer Science.http://courses.csail.mit.edu/6.042/spring13/mcs.pdfhttp://courses.csail.mit.edu/6.042/spring13/mcs.pdf, May 2013.

[175] Tom Leighton: Notes on better master theorems for divide-and-conquer recurrences.http://citeseer.ist.psu.edu/252350.htmlhttp://citeseer.ist.psu.edu/252350.html, 1996.

[176] Arjen K. Lenstra, James P. Hughes, Maxime Augier, Joppe W. Bos, Thorsten Kleinjung, andChristophe Wachter: Ron was wrong, Whit is right. Cryptology ePrint Archive, Report 2012/064,2012.

[177] Hendrik W. Lenstra, Jr.: Factoring integers with elliptic curves. The Annals of Mathemathics,126(3):649–673, November 1987.

[178] Hendrik W. Lenstra, Jr.: Solving the Pell equation. Notices of the AMS, 49(2):182–192, February2002.

[179] Ralph L. London: Software reliability through proving programs correct. In Proceedings of theIEEE International Symposium on Fault Tolerant Computing, pages 125–129, March 1971.

[180] London underground railways.http://upload.wikimedia.org/wikipedia/commons/9/90/Tube_map_1908-2.jpghttp://upload.wikimedia.org/wikipedia/commons/9/90/Tube_map_1908-2.jpg,1908.

Page 57: Clases Extra 2 2013 1

BIBLIOGRAFÍA 433

[181] Elisha Scott Loomis: The Pythagorean Proposition. The National Council of Teachers of Math-ematics, 1968.

[182] Circuit diagram of a 3rd order low pass filter using passive components (2 resistors, 2 capacitors,1 inductor). http://commons.wikimedia.org/wiki/File:LowPass3poleCauer.pnghttp://commons.wikimedia.org/wiki/File:LowPass3poleCauer.png,July 2006.

[183] Ben Lynn: The Wallis product.http://crypto.stanford.edu/pbc/notes/pi/wallis.xhtmlhttp://crypto.stanford.edu/pbc/notes/pi/wallis.xhtml.

[184] D. G Malcolm, H. Rosenboom, J, C. E. Clark, and W. Fazar: Applications of a technique forresearch and development program evaluation. Operations Research, 7(5):646–669, 1959.

[185] G. Malkin: RIP version 2. IETF RFC 4822, November 1998.

[186] Conrado Martínez and Salvador Roura: Randomized binary search trees. Journal of the ACM,45(2):288–323, 1998.

[187] Yoshio Matsuoka: On a proof of Hermite’s identity. The American Mathematical Monthly,71(10):1115, December 1964.

[188] Maxima, a computer algebra system. http://maxima.sourceforge.nethttp://maxima.sourceforge.net, August 2012. Ver-sion 5.28.0.

[189] M. Douglas McIllroy: A killer adversary for Quicksort. Software – Practice and Experience,29(4):341–344, April 1999.

[190] Alfred J. Menezes, Paul C. van Oorschot, and Scott A. Vanstone: Handbook of Applied Cryptog-raphy. CRC Press, 1996.

[191] Gary L. Miller: Riemann’s hypothesis and tests for primality. Journal of Computer and SystemSciences, 13(3):300–317, 1976.

[192] Louis Melville Milne-Thomson: The Calculus of Finite Differences. Macmillan and Co., 1933.

[193] Douglas W. Mitchell: An analytic Riccati solution for two-target discrete-time control. Journalof Economic Dynamics and Control, 24(4):615–622, April 2000.

[194] Leo Moser: An Introduction to the Theory of Numbers. The Trillia Group, 2004.

[195] David Musser: Introspective sorting and selection algorithms. Software – Practice and Experi-ence, 27(8):983–993, 1997.

[196] Peter Naur: Programming by action clusters. BIT, 9(3):250–258, 1969.

[197] Recommended elliptic curves for Federal Government use.http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdfhttp://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf, July1999.

[198] Ivan Niven: A simple proof that π is irrational. Bulletin of the American Mathematical Society,53(6):509, June 1947.

[199] Milan Novakovic: Generating functions. http://www.imomath.com/tekstkut/genf_mn.pdfhttp://www.imomath.com/tekstkut/genf_mn.pdf,2007.

Page 58: Clases Extra 2 2013 1

434 BIBLIOGRAFÍA

[200] John O’Connor and Edmund F. Robertson: Königsberg bridges.http://www-history.mcs.st-andrews.ac.uk/Extras/Konigsberg.htmlhttp://www-history.mcs.st-andrews.ac.uk/Extras/Konigsberg.html, March2000.

[201] Frank W. J. Olver, Daniel W. Lozier, Ronald F. Boisvert, and Charles W. Clark: NIST DigitalLibrary of Mathematical Functions. http://dlmf.nist.govhttp://dlmf.nist.gov.

[202] Ian Parberry: Problems on Algorithms. Prentice-Hall, 1994.

[203] The PARI Group, Bordeaux: PARI/GP, Version 2.5.4, May 2013. Available fromhttp://pari.math.u-bordeaux.frhttp://pari.math.u-bordeaux.fr.

[204] Radia Perlman: An algorithm for distributed computation of a spanningtree in an extended LAN.SIGCOMM Computer Communications Review, 15:44–53, September 1985, ISSN 0146-4833.

[205] Julius Petersen: Sur le Théorème de Tait. L’Intermédiaire des Mathématiciens, 5 :225–227, 1898.

[206] W. W. Peterson and D. T. Brown: Cyclic codes for error detection. Proceedings of the IRE,49(1):228–235, January 1961.

[207] Marko Petkovšek and Tomaž Pisanski: Combinatorial interpretation of unsigned Stirling andLah numbers. Technical Report 837, IMFM/TCS, University of Ljubljana, November 2002.

[208] Marko Petkovšek, Herbert S. Wilf, and Doron Zeilberger: A = B . A K Peters/CRC Press, 1996.

[209] Charles C. Pinter: A Book of Abstract Algebra. Dover, second edition, 2010.

[210] J. M. Pollard: Theorems of factorization and primality testing. Proceedings of the CambridgePhilosophical Society, 76(3):521–528, 1974.

[211] J. M. Pollard: A Monte Carlo method for factorization. BIT Numerical Mathematics, 15(3):331–334, 1975.

[212] George Pólya: How to Solve It. Princeton University Press, 1945.

[213] George Pólya: On picture-writing. The American Mathematical Monthly, 63(10):689–697, De-cember 1956.

[214] George Pólya and R. C. Read: Combinatorial Enumeration of Groups, Graphs, and ChemicalCompounds. Springer-Verlag, 1987.

[215] Carl Pommerance: A tale of two sieves. Notices of the AMS, 43(12):1473–1485, December 1996.

[216] R. C. Prim: Shortest connection networks and some generalizations. Bell System TechnicalJournal, 36:1389–1401, 1957.

[217] Michael O. Rabin: Probabilistic algorithm for testing primality. Journal of Number Theory,12(1):128–138, 1980.

[218] Olivier Ramaré: On S’nirel’man’s constant. Annali dela Scuola Superiore di Pisa, 21(4):645–705,1995.

[219] Wolfgang Rautenberg: A Concise Introduction to Mathematical Logic. Springer, third edition,2010.

[220] Peter L. Renz: Mathematical proof: What it is and what it ought to be. The College MathematicsJournal, 12(2):83–103, 1981.

Page 59: Clases Extra 2 2013 1

BIBLIOGRAFÍA 435

[221] Fred Richman: Number Theory: An Introduction to Algebra. Brooks/Cole Publishing Company,1971.

[222] John Riordan: Combinatorial Identities. John Wiley & Sons, 1968.

[223] Ronald L. Rivest, Adi Shamir, and Leonard Adleman: A method for obtaining digital signaturesand public-key cryptosystems. Communications of the ACM, 21:120–126, 1978.

[224] Kenneth Rogers: The axioms for Euclidean domains. The American Mathematical Monthly,78(10):1127–1128, December 1971.

[225] Steven M. Roman and Gian Carlo Rota: The umbral calculus. Advances in Mathematics,27(2):95–188, February 1978.

[226] Salvador Roura: Improved master theorems for divide-and-conquer recurrences. Journal of theACM, 48(2):170–205, March 2001.

[227] Imad Khaled Salah, Abdullah Darwish, and Saleh Oqeili: Mathematical attacks on the RSAcryptosystem. Journal of Computer Science, 2(8):665–671, 2006.

[228] Pierre Samuel: About Euclidean rings. Journal of Algebra, 19:282–301, 1971.

[229] Augustin P. Sarr, Philippe Elbaz–Vincent, and Jean–Claude Bajard: A secure and efficient au-thenticated Diffie–Hellman protocol. Cryptology ePrint Archive, Report 2009/408, 2009.

[230] Bruce Schneier: Applied Cryptography. John Wiley & Sons, 1996.

[231] Ernst Schöder: Vier combinatorische Probleme. Zeitschrift für Angewandte Mathematik undPhysik, 15:361–376, 1870.

[232] Arnold Schönhage und Volker Strassen: Schnelle Multiplikation großer Zahlen. Computing,Seiten 281–292, 1971.

[233] René Schoof: Counting points on elliptic curves over finite fields. Journal de Théorie des Nom-bres de Bordeaux, 7:219–254, 1995.

[234] SEC1: Elliptic curve cryptography, version 2.0.http://www.secg.org/download/aid-385/sec1_final.pdfhttp://www.secg.org/download/aid-385/sec1_final.pdf, May 2009. Standards for Ef-ficient Cryptography (SEC).

[235] SEC2: Recommended elliptic curve domain parameters, version 2.0.http://www.secg.org/download/aid-385/sec2_final.pdfhttp://www.secg.org/download/aid-385/sec2_final.pdf, January 2010. Standardsfor Efficient Cryptography (SEC).

[236] Robert Sedgewick and Philipe Flajolet: An Introduction to the Analysis of Algorithms. Addison-Wesley, 1996.

[237] Raimund G. Seidel and Cecilia A. Aragon: Randomized search trees. Algorithmica, 16(4/5):464–497, 1996.

[238] Ravi Sethi and Jeffrey D. Ullman: The generation of optimal code for arithmetic expressions.Journal of the ACM, 17(4):715–728, October 1970.

[239] Victor Shoup: A Computational Introduction to Number Theory and Algebra. Cambridge Uni-versity Press, second edition, 2009.

Page 60: Clases Extra 2 2013 1

436 BIBLIOGRAFÍA

[240] Victor Shoup: NTL: A library for doing number theory, version 6.0.0.http://www.shoup.net/ntlhttp://www.shoup.net/ntl, February 2013.

[241] Tomás Oliveira e Silva: Goldbach conjecture verification.http://www.ieeta.pt/~tos/goldbach.htmlhttp://www.ieeta.pt/~tos/goldbach.html, September 2012.

[242] Steven S. Skiena: The Algorithm Design Manual. Springer, second edition, 2008.

[243] Neil J. A. Sloane: Online Encyclopedia of Integer Sequences. http://oeis.orghttp://oeis.org.

[244] William Stallings: Data and Computer Communications. Prentice-Hall, ninth edition, 2010.

[245] Richard P. Stanley: Hipparchus, Plutarch, Schröder and Hough. The American MathematicalMontly, 104(4):344–350, April 1997.

[246] Richard P. Stanley: Catalan addendum. http://www-math.mit.edu/~rstan/ec/catadd.pdfhttp://www-math.mit.edu/~rstan/ec/catadd.pdf,July 2012.

[247] Richard P. Stanley: Enumerative Combinatorics, volume 1. Cambridge University Press, sec-ond edition, February 2012.

[248] Richard P. Stanley: Enumerative Combinatorics, volume 2. Cambridge University Press, April1999.

[249] Karl Georg Christian von Staudt: Geometrie der Lage. Nürnberg, 1847.

[250] Sherman K. Stein and Anthony Barcellos: Calculus and Analytic Geometry. McGraw-Hill,fifth edition, 1992.

[251] Gilbert Strang: Introduction to Linear Algebra. Wellesley-Cambridge Press, fourth edition,February 2009.

[252] Volker Strassen: Gaussian elimination is not optimal. Numerische Mathematik, 13:354–356,1969.

[253] Bjarne Stroustrup: The C++ Programming Language. Addison-Wesley Longman, special edi-tion, 2000.

[254] E. R. Swart: The philosophical implications of the four color problem. The American Mathe-matical Monthly, 87(9):697–702, November 1980.

[255] Andrew S. Tanenbaum and David J. Wetherall: Computer Networks. Prentice-Hall, fifth edition,2010.

[256] Robert Endre Tarjan: Edge-disjoint spanning trees and depth-first search. Acta Informatica,6(2):171–185, June 1976.

[257] Richard Taylor and Andrew Wiles: Ring theoretic properties of certain Hecke algebras. Annalsof Mathematics, 141(3):553–572, 1995.

[258] Robin Thomas: An update on the Four-Color Theorem. Notices of the American MathematicalSociety, 45(7), August 1998.

[259] A. L. Toom: The complexity of a scheme of functional elements realizing the multiplication ofintegers. Soviet Mathematics, 3:714–716, 1963.

Page 61: Clases Extra 2 2013 1

BIBLIOGRAFÍA 437

[260] William F. Trench: Introduction to Real Analysis. Pearson Education, 2003. Free HyperlinkedEdition 2.01, http://ramanujan.math.trinity.edu/wtrench/texts/index.shtmlhttp://ramanujan.math.trinity.edu/wtrench/texts/index.shtml.

[261] Alan Tucker: Pólya’s enumeration formula by example. Mathematics Magazine, 47(5):248–256,November 1974.

[262] Chris Tuffley: Induction.http://www.mathsolympiad.org.nz/wp-content/uploads/2009/03/induction.pdfhttp://www.mathsolympiad.org.nz/wp-content/uploads/2009/03/induction.pdf,March 2009.

[263] Stephen Vajda: Fibonacci and Lucas Numbers, and the Golden Section: Theory and Applications.Ellis Horwood Limited, 1989. Reprinted 2008 by Dover.

[264] Eric W. Weisstein: Euler differential equation.http://mathworld.wolfram.com/EulerDifferentialEquation.htmlhttp://mathworld.wolfram.com/EulerDifferentialEquation.html. From Math-World – A Wolfram Web Resource.

[265] Michael J. Wiener: Cryptanalysis of short RSA secret exponents. IEEE Transactions on Informa-tion Theory, 36(3):553–558, 1990.

[266] Eugene Wigner: The unreasonable effectiveness of mathematics in the natural sciences. Com-munications in Pure and Applied Mathematics, 13(1):1–14, February 1960.

[267] Andrew Wiles: Modular elliptic curves and Fermat’s last theorem. Annals of Mathematics,141(3):443–551, 1995.

[268] Herbert S. Wilf: Generatingfunctionology. A. K. Peters, Ltd., third edition, 2006.

[269] J. W. J. Williams: Algorithm 232 - Heapsort. Communications of the ACM, 7(6):347–348, June1964.

[270] Yin Y. Yen: An algorithm for finding shortest routes from all nodes to a given destination ingeneral networks. Quarterly of Applied Mathematics, 27:526–530, 1970.