Está en la página 1de 117

Apuntes de clase Matem atica Discreta

Luis Dissett Segundo Semestre, 2004

Indice general
1. L ogica Proposicional 1.1. Proposiciones, conectivos, f ormulas proposicionales 1.1.1. Algunos conectivos . . . . . . . . . . . . . . 1.2. F ormulas proposicionales . . . . . . . . . . . . . . 1.3. Algunos comentarios . . . . . . . . . . . . . . . . . 1.4. Valor de verdad de proposiciones compuestas . . . . 1.5. Asignaciones de verdad . . . . . . . . . . . . . . . 1.6. Tablas de Verdad . . . . . . . . . . . . . . . . . . . 1.7. Tautolog as y contradicciones . . . . . . . . . . . . 1.8. Consecuencia l ogica . . . . . . . . . . . . . . . . . 1.9. Denici on de consecuencia l ogica . . . . . . . . . . 1.10. Equivalencia l ogica . . . . . . . . . . . . . . . . . . 1.11. Las leyes de la l ogica . . . . . . . . . . . . . . . . . 1.12. Reglas de sustituci on . . . . . . . . . . . . . . . . . 1.13. El principio de dualidad . . . . . . . . . . . . . . . 1.14. Formas Normales . . . . . . . . . . . . . . . . . . . 1.15. Reglas de inferencia . . . . . . . . . . . . . . . . . 1.16. Las reglas . . . . . . . . . . . . . . . . . . . . . . . 1.17. Sistemas deductivos . . . . . . . . . . . . . . . . . 1.18. Ejemplo de uso de las reglas . . . . . . . . . . . . . 1.19. Otro ejemplo . . . . . . . . . . . . . . . . . . . . . 1.20. Resoluci on . . . . . . . . . . . . . . . . . . . . . . . 1.21. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 2 2 2 3 3 3 4 4 5 6 6 6 7 7 9 9 10 10 11 13 13 13 13 13 14 14 14 14 14 15 15 17 17 17 17 18

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

2. L ogica de predicados 2.1. Deniciones b asicas . . . . . . . . . . . . . . . . . . . . . 2.1.1. Predicados at omicos . . . . . . . . . . . . . . . . 2.1.2. Variables, constantes, funciones y operaciones . . 2.1.3. Interpretaciones y dominios . . . . . . . . . . . . 2.1.4. Cuanticadores . . . . . . . . . . . . . . . . . . . 2.1.5. Variables libres y ligadas . . . . . . . . . . . . . 2.2. Verdad l ogica, consecuencia l ogica y equivalencia l ogica 2.2.1. Interpretaciones y valores de verdad . . . . . . . 2.2.2. Proposiciones v alidas (l ogicamente verdaderas) . 2.2.3. Consecuencia l ogica . . . . . . . . . . . . . . . . 2.2.4. Equivalencia l ogica . . . . . . . . . . . . . . . . . 2.2.5. Resumen de deniciones . . . . . . . . . . . . . . 2.3. Negaci on de proposiciones con cuanticadores . . . . . . 2.4. Reglas de inferencia usando predicados . . . . . . . . . . 2.5. Teor as matem aticas . . . . . . . . . . . . . . . . . . . . 2.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . i

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

INDICE GENERAL 3. Teor a de Conjuntos 3.1. Deniciones b asicas . . . . . . . . . . . . . . . 3.1.1. Nociones primitivas . . . . . . . . . . 3.1.2. Subconjuntos, igualdad de conjuntos . 3.1.3. Maneras de denir un conjunto . . . . 3.1.4. Conjuntos con elementos repetidos . . 3.1.5. El conjunto vac o . . . . . . . . . . . . 3.2. La paradoja de Russell . . . . . . . . . . . . . 3.2.1. Lidiando con las paradojas . . . . . . 3.3. Operaciones . . . . . . . . . . . . . . . . . . . 3.4. Las Leyes de la Teor a de Conjuntos . . . . . 3.5. Operaciones generalizadas . . . . . . . . . . . 3.6. Ejercicios . . . . . . . . . . . . . . . . . . . . 3.7. Aplicaci on: denici on formal de la aritm etica 3.7.1. Denici on axiom atica de N . . . . . . 3.7.2. Operaciones en N . . . . . . . . . . . . 3.8. Operaciones con conjuntos de ndices . . . . .

INDICE GENERAL 19 19 19 19 19 20 20 20 20 21 21 22 23 24 24 25 25 27 27 27 27 27 28 28 28 28 29 29 29 30 30 30 31 31 32 32 32 33 33 34 34 34 35 35 35 36 36 36 36 37 40 40

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

4. Relaciones 4.1. Deniciones b asicas . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1. Pares ordenados . . . . . . . . . . . . . . . . . . . . . . 4.1.2. Producto cartesiano . . . . . . . . . . . . . . . . . . . . 4.1.3. Producto de m as de dos conjuntos . . . . . . . . . . . . 4.1.4. Producto cartesiano generalizado . . . . . . . . . . . . . 4.1.5. Las funciones de proyecci on . . . . . . . . . . . . . . . . 4.1.6. Relaciones binarias . . . . . . . . . . . . . . . . . . . . . 4.1.7. Relaciones n-arias . . . . . . . . . . . . . . . . . . . . . 4.1.8. Propiedades de las relaciones binarias . . . . . . . . . . 4.2. Ordenes parciales . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1. Ordenes estrictos . . . . . . . . . . . . . . . . . . . . . . 4.2.2. Ordenes lineales o totales . . . . . . . . . . . . . . . . . 4.2.3. Elementos maximales y m aximos . . . . . . . . . . . . . 4.2.4. Cotas, supremos, nmos . . . . . . . . . . . . . . . . . 4.2.5. El axioma del supremo . . . . . . . . . . . . . . . . . . . 4.2.6. Ordenes completos . . . . . . . . . . . . . . . . . . . . . 4.2.7. Los reales y los racionales . . . . . . . . . . . . . . . . . 4.2.8. El teorema de Knaster-Tarski . . . . . . . . . . . . . . . 4.2.9. Formas de representar relaciones binarias . . . . . . . . 4.2.10. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.11. Diagramas de Hasse . . . . . . . . . . . . . . . . . . . . 4.2.12. Reticulados (lattices) . . . . . . . . . . . . . . . . . . . . 4.3. Relaciones de equivalencia . . . . . . . . . . . . . . . . . . . . . 4.3.1. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2. Clases de equivalencia . . . . . . . . . . . . . . . . . . . 4.3.3. Propiedades de las clases de equivalencia . . . . . . . . . 4.3.4. Particiones . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.5. Deniendo nuevos objetos con relaciones de equivalencia 4.3.6. Ejemplo: los enteros m odulo n . . . . . . . . . . . . . . 4.3.7. Operaciones en Zn . . . . . . . . . . . . . . . . . . . . . 4.3.8. Independencia de los representantes . . . . . . . . . . . 4.3.9. Otros objetos denidos por relaciones de equivalencia . 4.3.10. El volumen de la botella de Klein . . . . . . . . . . . . . 4.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
c Luis Dissett.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ii

P.U.C. Chile, 2004

INDICE GENERAL 5. Funciones 5.1. Deniciones b asicas . . . . . . . . . . . . . . . . . 5.1.1. Tipos de funciones . . . . . . . . . . . . . 5.2. Cardinalidad . . . . . . . . . . . . . . . . . . . . 5.2.1. Conjuntos nitos e innitos . . . . . . . . 5.2.2. Caracterizando los conjuntos nitos . . . 5.2.3. Conjunto numerables . . . . . . . . . . . . 5.2.4. Ejemplos de conjuntos numerables . . . . 5.3. Caracterizaciones de numerabilidad . . . . . . . . 5.4. Los racionales . . . . . . . . . . . . . . . . . . . . 5.5. Los reales . . . . . . . . . . . . . . . . . . . . . . 5.6. El argumento de Cantor . . . . . . . . . . . . . . 5.6.1. El problema de la detenci on . . . . . . . . 5.7. Orden entre cardinalidades . . . . . . . . . . . . 5.7.1. Propiedades de . . . . . . . . . . . . . . 5.8. El teorema de Cantor-Schr oder-Bernstein (CSB) 5.8.1. Proleg omeno: . . . . . . . . . . . . . . . . 5.8.2. Demostraci on de C-S-B . . . . . . . . . . 5.8.3. Soluci on (temporal) del problema . . . . . 5.8.4. Soluci on nal . . . . . . . . . . . . . . . . 5.9. Ejercicios . . . . . . . . . . . . . . . . . . . . . . 6. Inducci on y clausuras 6.1. Inducci on (sobre los naturales) . . . . . . . . 6.1.1. Otros puntos de partida . . . . . . . . 6.1.2. Principios de Inducci on . . . . . . . . 6.1.3. Ejercicios . . . . . . . . . . . . . . . . 6.1.4. Una formulaci on equivalente . . . . . 6.1.5. Casos base en en PICV . . . . . . . . 6.1.6. Aplicaciones de inducci on en N . . . . 6.2. Clausuras . . . . . . . . . . . . . . . . . . . . 6.2.1. Funciones n-arias . . . . . . . . . . . . 6.2.2. Conjuntos cerrados . . . . . . . . . . . 6.2.3. Conjuntos cerrados bajo una relaci on . 6.2.4. El menor conjunto que satisface . . 6.2.5. Un problema . . . . . . . . . . . . . . 6.2.6. Una denici on alternativa . . . . . . . 6.2.7. Propiedades de clausura . . . . . . . . 6.2.8. Clausura bajo una relaci on . . . . . . 6.2.9. Clausura sim etrica de una relaci on . . 6.3. Otra forma de ver las clausuras . . . . . . . . 6.3.1. Capas . . . . . . . . . . . . . . . . . . 6.4. Inducci on Estructural . . . . . . . . . . . . . 6.4.1. Ejemplo: l ogica proposicional . . . . . 6.4.2. Conjuntos completos de conectivos . . 6.4.3. Otro conjunto completo . . . . . . . . 6.4.4. Conjuntos no completos . . . . . . . . 7. Correcci on de programas 7.1. Correcci on de programas iterativos . . . 7.1.1. Ejemplo: mezcla de dos archivos 7.1.2. Otro ejemplo: b usqueda binaria . 7.2. Correcci on de programas recursivos . . .
c Luis Dissett.

INDICE GENERAL 43 43 43 43 44 44 44 44 44 45 45 45 45 46 46 46 46 47 47 48 48 51 51 51 51 52 52 53 53 53 53 54 54 54 55 55 55 55 56 56 57 57 57 57 58 59 61 61 62 63 66

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

iii

P.U.C. Chile, 2004

INDICE GENERAL 8. Complejidad de algoritmos y programas 8.1. An alisis de la complejidad de mergesort . . . . . 8.2. Inducci on constructiva . . . . . . . . . . . . . . . 8.3. Notaci on asint otica . . . . . . . . . . . . . . . . . 8.4. M as notaci on asint otica . . . . . . . . . . . . . . 8.5. El teorema fundamental de los algoritmos divide b 8.5.1. Por qu e el umbral b 1? . . . . . . . . . . 8.6. Complejidad de un algoritmo . . . . . . . . . . . 8.7. Complejidad de un problema . . . . . . . . . . . 8.8. Problemas solubles ecientemente . . . . . . . . .

INDICE GENERAL 69 69 70 70 71 71 71 72 72 72 73 73 74 74 75 75 75 75 76 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 84 87 87 87 87 88 88 88 88 89 89

. . . . . . . . . . . . . . . . . . . . . . . . et regna . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

9. Grafos 9.1. Motivaci on: los puentes de K onigsberg . . . . . . . . . . . . . . . . . . . . . . . 9.2. Deniciones b asicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1. Multigrafos, grafos simples . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.2. El grafo nulo y los grafos triviales . . . . . . . . . . . . . . . . . . . . . 9.2.3. Grafos nitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3. Adyacencia, grados, v ertices aislados . . . . . . . . . . . . . . . . . . . . . . . . 9.3.1. Matrices de adyacencia e incidencia . . . . . . . . . . . . . . . . . . . . 9.3.2. Complemento de un grafo. Cliques y conjuntos independientes. . . . . . 9.4. Subgrafos, subgrafos inducidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5. Grafos conexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.6. Propiedades estructurales, isomorsmo . . . . . . . . . . . . . . . . . . . . . . . 9.6.1. Clases de isomorsmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.6.2. Algunas clases importantes . . . . . . . . . . . . . . . . . . . . . . . . . 9.7. Subgrafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.8. Los grafos con 4 v ertices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.9. Otros grafos comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.10. Grafos como modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.10.1. Conocidos mutuos y desconocidos mutuos . . . . . . . . . . . . . . . . . 9.10.2. Asignaci on de tareas a distintos empleados . . . . . . . . . . . . . . . . 9.10.3. Reuniones de comisiones del Senado . . . . . . . . . . . . . . . . . . . . 9.10.4. Grafos multipartitos y coloraci on . . . . . . . . . . . . . . . . . . . . . . 9.10.5. Rutas en una red de caminos . . . . . . . . . . . . . . . . . . . . . . . . 9.11. An alisis del problema de K onigsberg (Euler) . . . . . . . . . . . . . . . . . . . . 9.11.1. An alisis del problema (Resumen) . . . . . . . . . . . . . . . . . . . . . . 9.11.2. Dibujos sin levantar el l apiz . . . . . . . . . . . . . . . . . . . . . . . . . 9.12. Ciclos y caminos Hamiltonianos . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.13. Grafos autocomplementarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.14. Problemas computacionales relacionados con cliques y conjuntos independientes 9.15. Planaridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.16. La caracter stica de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.16.1. Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.17. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10. P y N P 10.1. Introducci on a complejidad . . . . . . . 10.2. Tipos de problemas . . . . . . . . . . . . 10.2.1. Problemas de decisi on . . . . . . 10.2.2. Problemas de b usqueda . . . . . 10.2.3. Problemas de evaluaci on . . . . . 10.2.4. Problemas de optimizaci on . . . 10.2.5. Ejemplos . . . . . . . . . . . . . 10.3. Complejidad de algoritmos y problemas 10.3.1. Tama no de una instancia . . . .
c Luis Dissett.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

iv

P.U.C. Chile, 2004

INDICE GENERAL 10.3.2. Complejidad de un algoritmo . . . . . . . . . . . . . . . 10.3.3. Complejidad de un problema . . . . . . . . . . . . . . . 10.3.4. Algoritmos ecientes . . . . . . . . . . . . . . . . . . . . 10.4. Reducciones entre problemas . . . . . . . . . . . . . . . . . . . 10.4.1. Problemas de decisi on vs otros problemas . . . . . . . . 10.4.2. Ejemplo: coloraci on de mapas . . . . . . . . . . . . . . . 10.4.3. Otros problemas . . . . . . . . . . . . . . . . . . . . . . 10.5. La clase N P (Non-deterministic Polynomial) . . . . . . . . . . 10.5.1. Algoritmos no determin sticos . . . . . . . . . . . . . . . 10.5.2. Ejemplos de problemas en N P . . . . . . . . . . . . . . 10.6. Problemas N P -completos . . . . . . . . . . . . . . . . . . . . . 10.6.1. Transformaciones entre problemas de decisi on . . . . . . 10.6.2. Ejemplo de problema de decisi on: SAT . . . . . . . . . . 10.6.3. SAT en forma normal conjuntiva . . . . . . . . . . . . . 10.6.4. Transformaciones entre SAT -F N C y SAT . . . . . . . 10.6.5. Relaci on entre P y N P . . . . . . . . . . . . . . . . . . 10.7. El teorema de Cook . . . . . . . . . . . . . . . . . . . . . . . . 10.7.1. C omo se demostrar a que P = N P (o que P = N P )? . 10.7.2. C omo se demuestra que un problema es N P -completo? 10.7.3. La demostraci on del teorema de Cook . . . . . . . . . . 10.8. Otros problemas N P completos . . . . . . . . . . . . . . . . . 10.8.1. Ejemplo: recubrimiento de un grafo por v ertices . . . . 11.Aritm etica modular y criptograf a 11.1. Divisibilidad. M aximo com un divisor . . . . . . . . . . . . 11.1.1. El algoritmo de la divisi on . . . . . . . . . . . . . . 11.1.2. Divisores comunes. M aximo com un divisor . . . . . 11.1.3. El algoritmo de Euclides. . . . . . . . . . . . . . . 11.1.4. El algoritmo extendido de Euclides . . . . . . . . . 11.2. Aritm etica modular . . . . . . . . . . . . . . . . . . . . . 11.2.1. Relaci on entre Z y Zn . . . . . . . . . . . . . . . . 11.2.2. Inversos en Zn . . . . . . . . . . . . . . . . . . . . 11.3. Cuerpos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3.1. El peque no teorema de Fermat . . . . . . . . . . . 11.3.2. El teorema chino de los restos . . . . . . . . . . . . 11.4. Introducci on a la Criptograf a . . . . . . . . . . . . . . . . 11.4.1. Un protocolo de encriptaci on de clave p ublica . . . 11.4.2. Codicaci on en RSA . . . . . . . . . . . . . . . . . 11.4.3. Decodicaci on en RSA . . . . . . . . . . . . . . . . 11.4.4. Supuestos para que RSA funcione . . . . . . . . . 11.4.5. Firma de mensajes . . . . . . . . . . . . . . . . . . 11.4.6. Vericaci on de la rma . . . . . . . . . . . . . . . 11.5. Exponenciaci on modular . . . . . . . . . . . . . . . . . . . 11.5.1. Exponenciaci on modular (na ve ) . . . . . . . . . . 11.5.2. Complejidad del algoritmo anterior . . . . . . . . . 11.5.3. Exponenciaci on modular (m as astuta) . . . . . . . 11.5.4. Complejidad del algoritmo anterior . . . . . . . . . 11.6. Otros teoremas importantes, y demostraciones pendientes 11.6.1. Teorema fundamental de la aritm etica . . . . . . . 11.6.2. Demostraci on del peque no teorema de Fermat . . . 11.6.3. El (gran) teorema de Fermat . . . . . . . . . . . . 11.6.4. Demostraci on del teorema chino de los restos . . . . . . . . . . . . . . . . . . . . . . . . .

INDICE GENERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 89 89 89 90 90 90 90 91 91 91 91 92 92 92 92 92 93 93 94 95 95 97 97 97 98 98 98 98 99 99 99 100 100 100 100 101 101 101 101 102 103 103 104 104 104 104 104 105 106 106

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

c Luis Dissett.

P.U.C. Chile, 2004

INDICE GENERAL

INDICE GENERAL

c Luis Dissett.

vi

P.U.C. Chile, 2004

Pr ologo (provisorio)
Estos apuntes (o mejor dicho, este borrador de apuntes) resumen el contenido de los cursos de Matem atica Discreta que he dictado en las Facultades de Matem atica e Ingenier a entre los a nos 2000 y 2004. Espero que le sean u tiles, en primer lugar, a mis alumnos en futuras versiones de estos cursos, y tambi en a otros profesores que deseen usarlos como referencia para sus cursos.

vii

INDICE GENERAL

INDICE GENERAL

c Luis Dissett.

viii

P.U.C. Chile, 2004

Cap tulo 1

L ogica Proposicional
1.1. Proposiciones, conectivos, f ormulas proposicionales

Denici on 1. Una proposici on es una armaci on que puede ser verdadera o falsa. Una proposici on es at omica si es imposible descomponerla en proposiciones m as simples. Para combinar proposiciones y formar nuevas proposiciones m as complejas usamos los llamados conectivos l ogicos .

1.1.1.

Algunos conectivos

Negaci on La negaci on de una proposici on es la que arma que la proposici on original no es verdadera. Generalmente se obtiene agregando no (o no es verdad que) antes de la proposici on original. Conjunci on La conjunci on de dos proposiciones es la que arma que ambas proposiciones son verdaderas. Se obtiene intercalando y entre las dos proposiciones originales. Disyunci on La disyunci on de dos proposiciones es la que arma que al menos una de las dos proposiciones es verdadera. Se obtiene intercalando o entre las dos proposiciones originales. Condicional La proposici on condicional entre dos proposiciones (el antecedente y el consecuente ) es la que arma que, cada vez que el antecedente es verdadero, el consecuente tambi en lo es. Puede ser obtenido precediendo el antencedente por si e intercalando entonces entre el antecedente y el consecuente. Bicondicional La proposici on bicondicional entre dos proposiciones es la que arma que, o ambas son verdaderas, o ambas son falsas. Puede ser obtenida intercalando la frase si y s olo si, o bien siempre y cuando entre las dos proposiciones originales. Ejercicio. Cu antos conectivos binarios (esencialmente diferentes) es posible denir? Respuesta. Hay un total de 24 = 16 conectivos binarios distintos. Postergaremos la justicaci on de esto hasta que veamos tablas de verdad .

1.2.

F ormulas proposicionales

Para trabajar con proposiciones, las representamos por f ormulas , llamadas apropiadamente f ormulas proposicionales . En estricto rigor, una f ormula proposicional es simplemente una secuencia de s mbolos, a la cual se asocia una proposici on. 1

1.3. ALGUNOS COMENTARIOS

CAP ITULO 1. LOGICA PROPOSICIONAL

Las proposiciones at omicas son representadas por variables proposicionales , que generalmente son letras may usculas: P , Q, R, S , etc. Si debemos utilizar demasiadas variables proposicionales, recurrimos a sub- ndices; as , podemos tener variables proposicionales P1 , P2 , P3 ,. . . , Q1 , Q2 , Q3 , etc. Las proposiciones compuestas son representadas como sigue: si dos proposiciones y son representadas, respectivamente, por las f ormulas proposicionales p y q , entonces representamos (y leemos) las siguientes proposiciones compuestas como sigue: Proposici on Representaci on Lectura Negaci on de (p) no p. Conjunci on de y (p q ) p y q. Disyunci on de y (p q ) p o q. Condicional entre y (p q ) si p entonces q . Bicondicional entre y (p q ) p si y s olo si q .

1.3.

Algunos comentarios

Note que tenderemos a identicar las f ormulas proposicionales con las proposiciones que representan; o sea, a veces diremos proposici on cuando lo correcto ser a decir f ormula proposicional. En particular, identicaremos las proposiciones at omicas con las variables proposicionales que las representan. Adem as, en la medida de lo posible, cuando no se preste a confusiones, eliminaremos los par entesis m as exteriores de (p q ), (p q ), etc. En general, intentaremos eliminar la mayor cantidad posible de par entesis, en la medida en que esto no deje ambigua a la f ormula.

1.4. Valor de verdad de proposiciones compuestas


Una proposici on compuesta, formada por subproposiciones, ser a verdadera o falsa dependiendo de los valores de verdad de las subproposiciones que la forman. Ejemplo. Consid erese la proposici on ((P Q) (R P )), y sup ongase que P y Q son verdaderas y R falsa. Entonces: P ser a falsa (negaci on de una proposici on verdadera). (P Q) ser a falsa (conjunci on de una proposici on falsa y una verdadera). (R P ) ser a verdadera (disyunci on de una proposici on falsa y una verdadera). Finalmente, ((P Q) (R P )) ser a verdadera (disyunci on de una proposici on falsa y una verdadera).

1.5.

Asignaciones de verdad

Denici on 2. Una asignaci on de verdad es una lista de valores de verdad (Verdadero o Falso) asociadas a las proposiciones at omicas que forman las proposiciones con las que estamos trabajando1 As , una asignaci on de verdad determina el valor de verdad de cada una de las proposiciones compuestas con las que estamos trabajando. En el ejemplo anterior, nuestra suposici on de que P y Q eran verdaderas y R falsa constituye una asignaci on de verdad.
1 Estrictamente hablando, una asignaci on de verdad asigna Verdadero o Falso a las variables proposicionales que estamos considerando.

c Luis Dissett.

P.U.C. Chile, 2004

CAP ITULO 1. LOGICA PROPOSICIONAL

1.6. TABLAS DE VERDAD

1.6.

Tablas de Verdad

Resumiremos los valores de verdad de que toma una proposici on compuesta, para todas las posibles asignaciones de verdad, en una tabla de verdad . En dichas tablas, usaremos los s mbolos 1 para indicar Verdadero y 0 para indicar Falso. Ejemplo. La tabla de verdad para ((P Q) (R P )) es como sigue: P 0 0 0 0 1 1 1 1 Q 0 0 1 1 0 0 1 1 R 0 1 0 1 0 1 0 1 ((P 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 Q) 0 1 1 1 1 1 1 1 (R 0 1 0 1 1 1 1 1 P)

1.7.
Ejemplo.

Tautolog as y contradicciones

Denici on 3. Una tautolog a es una proposici on que es verdadera en toda asignaci on de verdad. ((P Q) (P Q)). Una contradicci on es una proposici on que es falsa en toda asignaci on de verdad. Ejemplo. (P P ). Notaci on. Denotaremos las tautolog as por To y las contradicciones por Fo . Ejemplo. Al tratar de demostrar que una cierta conclusi on c se desprende de una serie de premisas p1 , p2 , . . . , pn , en el fondo estamos tratando de probar que (p1 p2 . . . pn ) c es una tautolog a.

1.8.

Consecuencia l ogica

Consideremos dos situaciones: 1. Las proposiciones p q : (3 < 2 1 + 3 = 4), y : (2 < 5 1 + 3 = 4).

son verdaderas, mientras que la proposici on r : 1 + 3 = 4 tambi en lo es. 2. Las proposiciones s : t : (2 < 3 2 < 4), y (2 < 4 2 + 2 = 4).

son verdaderas, mientras que la proposici on u : (2 < 3 2 + 2 = 4) tambi en lo es.


c Luis Dissett.

P.U.C. Chile, 2004

DE CONSECUENCIA LOGICA CAP 1.9. DEFINICION ITULO 1. LOGICA PROPOSICIONAL Consideremos s olo las estructuras de las proposiciones involucradas. Podemos escribir: p:X Y q:ZY r:Y s:F G t:GH u : F H,

donde X, Y, Z, F, G y H son proposiciones at omicas. Vistas de esta forma, en que p, q, r, s, t y u son s olo consideradas en funci on de su estructura, Ser a verdad que toda asignaci on de verdad que hace verdaderas a p y a q debe tambi en hacer verdadera a r? Ser a verdad que toda asignaci on de verdad que hace verdaderas a s y a t debe tambi en hacer verdadera a u? Observamos que, para p, q y r, es posible hallar una asignaci on de verdad (para las proposiciones at omicas X, Y y Z ) que hace verdaderas a p y q , pero hace falsa a r. Simplemente, debemos asignar Verdadero a X , Falso a Y y Falso a Z . En el segundo caso, sin embargo, es imposible hallar una asignaci on de verdad que haga verdaderas a s y t y haga falsa a u (c omo es posible convencerse de esto, aparte de probando todas las asignaciones de verdad posibles?).

1.9.

Denici on de consecuencia l ogica

Denici on 4. Dados un conjunto = {1 , 2 , . . . , n } de proposiciones, y una proposici on , diremos que es consecuencia l ogica de si toda asignaci on de verdad que hace verdaderas a 1 , 2 , . . . , n hace verdadera tambi en a . Notaci on. Si = {}, en lugar de decir que es consecuencia l ogica de {} diremos simplemente que es consecuencia l ogica de . Notaci on. Denotaremos el hecho de que es consecuencia l ogica de por |= Observaci on. Note que es tautolog a si y s olo si |= . Denotamos este hecho por |= .

C omo probar consecuencia l ogica?


Tablas de verdad (fuerza bruta). Tratando de construir una asignaci on de verdad que haga verdaderas todas las proposiciones de y falsa a , y mostrando que esto es imposible.

C omo refutar consecuencia l ogica?


Respuesta: Encontrando una asignaci on de verdad que haga verdaderas todas las proposiciones de y falsa a . Esto puede ser hecho usando tablas de verdad (de nuevo, fuerza bruta) o bien tratando de construir dicha asignaci on de verdad (y teniendo exito en el intento). Una estrategia que puede ser u til en este sentido es la de resoluci on , que ser a explicada en la primera ayudant a.

1.10.

Equivalencia l ogica

Denici on 5. Sean P y Q dos proposiciones cualesquiera (at omicas o compuestas). Diremos que P y Q son l ogicamente equivalentes si toda asignaci on de verdad que hace verdadera a P hace verdadera a Q y viceversa. Notaci on. Denotaremos la equivalencia l ogica entre P y Q por P Q.
c Luis Dissett.

P.U.C. Chile, 2004

CAP ITULO 1. LOGICA PROPOSICIONAL

1.11. LAS LEYES DE LA LOGICA

Una formulaci on equivalente


Teorema. Dadas dos proposiciones P y Q, se tiene que P Q si y s olo si P Q es una tautolog a. Demostraci on. Ejercicio.

1.11.

Las leyes de la l ogica

Las siguientes equivalencias l ogicas son conocidas como las leyes de la l ogica : Ley de la doble negaci on p p. Leyes de de Morgan (p q ) p q. (p q ) p q. Leyes conmutativas pq pq Leyes asociativas p (q r) (p q ) r. p (q r) (p q ) r. Leyes distributivas p (q r) (p q ) (p r). p (q r) (p q ) (p r). Leyes de idempotencia pp pp Leyes de elemento neutro p Fo p To Leyes de elemento inverso p p p p Leyes de dominaci on p To p Fo Leyes de absorci on p (p q ) p. p (p q ) p. Ley de la implicaci on pq
c Luis Dissett.

q p. q p.

p. p.

p. p.

To . Fo .

To . Fo .

p q.
P.U.C. Chile, 2004

1.12. REGLAS DE SUSTITUCION

CAP ITULO 1. LOGICA PROPOSICIONAL

1.12.

Reglas de sustituci on

En las leyes anteriores, es posible reemplazar todas las ocurrencias de una proposici on at omica (p, q , r, etc.) por cualquier proposici on , y la ley seguir a siendo v alida. Sea P una proposici on cualquiera. Si en P se reemplazan una o m as ocurrencias de una proposici on Q por una proposici on Q l ogicamente equivalente a Q, la proposici on P resultante ser a l ogicamente equivalente a P .

1.13.

El principio de dualidad

Las leyes anteriores (excepto en dos casos) est an agrupadas en pares. En cada caso, una de las leyes es lo que llamamos el dual de la otra. Denici on 6. Sea F una proposici on que contiene s olo los conectivos , y . Entonces la proposici on dual de F (que denotamos por F d ) es la proposici on que resulta de reemplazar cada aparici on de por (y viceversa), y cada aparici on de To por Fo (y viceversa). Teorema (Principio de dualidad). Si F G, entonces F d Gd . No veremos la demostraci on de este teorema. As , basta probar una de las leyes de cada par de duales.

1.14.

Formas Normales

Recordemos que estamos estudiando f ormulas proposicionales , o sea, representaciones de proposiciones como strings de s mbolos. Estos s mbolos, o bien son conectivos, o bien representan proposiciones at omicas. Llamamos literales a los s mbolos que representan proposiciones at omicas, y al s mbolo de negaci on () seguido de un s mbolo que representa a una proposici on at omica. A continuaci on demostraremos que toda f ormula proposicional puede ser escrita como: conjunci on de disyunciones de literales, o bien disyunci on de conjunciones de literales. A la primera forma la llamamos Forma Normal Conjuntiva (FNC), y a la segunda Forma Normal Disyuntiva (FND). Toda proposici on puede ser re-escrita en FNC o en FND. M as precisamente, se tiene el siguiente Teorema. Dada una f ormula proposicional , existen f ormulas proposicionales y tales que est a en FNC, est a en FND, y . Demostraci on. Sean X1 , X2 , . . . , Xn las variables proposicionales que aparecen en . Considere la tabla de verdad para la f ormula proposicional . Esta tabla de verdad tiene 2n l neas. Cada l nea de la tabla de verdad corresponde a una asignaci on de verdad a las variables proposicionales X1 , X2 , . . . , Xn , y puede ser interpretada como una conjunci on de n literales L1 L2 . . . Ln (donde Li = Xi si la asignaci on de verdad asigna Verdadero a Xi , y Li = Xi si la asignaci on de verdad asigna Falso a Xi ). As , una f ormula en FND que es l ogicamente equivalente a est a dada por la disyunci on de las conjunciones de literales correspondientes a las l neas de la tabla de verdad donde se hace verdadera. Para hallar una f ormula en FNC que sea l ogicamente equivalente a , podemos hallar una f ormula en FND l ogicamente equivalente a , y despu es aplicar De Morgan dos veces para transformar en una f ormula en FNC. Como , tenemos que . Ejercicio. Aplique el m etodo indicado arriba para encontrar f ormulas en FNC y FND que sean l ogicamente equivalentes a (P Q) (R Q).
c Luis Dissett.

P.U.C. Chile, 2004

CAP ITULO 1. LOGICA PROPOSICIONAL

1.15. REGLAS DE INFERENCIA

1.15.

Reglas de inferencia

Queremos enunciar reglas que nos permitan justicar nuestras deducciones de conclusiones a partir de premisas dadas. As , por ejemplo, al hacer una demostraci on del tipo (p1 p2 . . . pn ) c, nos gustar a poder asegurar que la implicaci on es v alida (l ogicamente verdadera), sin tener que probar todas las combinaciones de valores de verdad (que pueden ser demasiados). Estudiaremos a continuaci on reglas de inferencia que nos permitir an ir obteniendo conclusiones a partir de un conjunto de premisas, de modo de terminar obteniendo la conclusi on deseada. En lo que sigue, P , Q, R, etc., representan proposiciones cualesquiera, no necesariamente at omicas. Las primeras reglas de inferencia que consideraremos est an dadas por las equivalencias que aparecen en las leyes de la l ogica, a las que posiblemente habremos aplicado las reglas de sustituci on . As , si tenemos como premisa P y una ley de la l ogica nos dice que P Q, entonces podemos deducir Q. Otras reglas que estudiaremos son: La ley del silogismo . Modus Ponens , o m etodo de la armaci on. Modus Tollens , o m etodo de la negaci on. La regla de resoluci on . La regla de conjunci on . La ley del silogismo disyuntivo . La regla de contradicci on . La regla de simplicaci on conjuntiva . La regla de amplicaci on disyuntiva . La regla de demostraci on condicional . La regla de demostraci on por casos . La regla del dilema constructivo . La regla del dilema destructivo .

1.16.

Las reglas

Ley del silogismo Cada vez que tengamos como premisas proposiciones de las formas P Q y Q R, tenemos derecho a deducir P R. En s mbolos: P Q QR P R Modus ponens Cada vez que tengamos como premisas proposiciones de las formas P Q y P , tenemos derecho a deducir Q. En s mbolos: P Q P Q Ejemplo. Supongamos que tenemos por premisas (p q ) y ((p q ) (q r)). Aplicando modus ponens , vemos que (p q ) (q r) (p q ) (q r)
c Luis Dissett.

P.U.C. Chile, 2004

1.16. LAS REGLAS

CAP ITULO 1. LOGICA PROPOSICIONAL

Modus tollens Cada vez que tengamos como premisas proposiciones de las formas P Q y Q, tenemos derecho a deducir P . En s mbolos: P Q Q P Ejemplo. Supongamos que tenemos por premisas (p q ) r y r. Aplicando modus tollens , vemos que (p q ) r r (p q ) Regla de conjunci on Cada vez que tengamos como premisas proposiciones de las formas P y Q, tenemos derecho a deducir P Q. En s mbolos: P Q P Q Ley del silogismo disyuntivo Cada vez que tengamos como premisas proposiciones de las formas P Q y P , tenemos derecho a deducir Q. En s mbolos: P Q P Q Regla de contradicci on Cada vez que tengamos como premisa una proposici on de la forma P Fo , tenemos derecho a deducir P . En s mbolos: P Fo P Regla de simplicaci on conjuntiva Cada vez que tengamos como premisa una proposici on de la forma P Q, tenemos derecho a deducir P . En s mbolos: P Q P Regla de amplicaci on disyuntiva Cada vez que tengamos como premisa una proposici on de la forma P , tenemos derecho a deducir P Q. En s mbolos: P P Q Regla de demostraci on condicional Cada vez que tengamos como premisas proposiciones de las formas P Q y P (Q R), tenemos derecho a deducir R. En s mbolos: P Q P (Q R) R
c Luis Dissett.

P.U.C. Chile, 2004

CAP ITULO 1. LOGICA PROPOSICIONAL

1.17. SISTEMAS DEDUCTIVOS

Regla de demostraci on por casos Cada vez que tengamos como premisas proposiciones de las formas P R y Q R, tenemos derecho a deducir (P Q) R. En s mbolos: P R QR (P Q) R Regla del dilema constructivo Cada vez que tengamos como premisas proposiciones de las formas P Q, R S y P R, tenemos derecho a deducir Q S . En s mbolos: P Q RS P R QS Regla del dilema destructivo Cada vez que tengamos como premisas proposiciones de las formas P Q, R S y Q S , tenemos derecho a deducir P R. En s mbolos: P Q RS Q S P R

1.17.

Sistemas deductivos

Llamamos sistema deductivo a cualquier conjunto de reglas (de entre las mencionadas, u otras) que, agregadas a las leyes de la l ogica, nos permitan deducir conclusiones a partir de premisas. Entre las caracter sticas que nos interesa que tenga un posible sistema deductivo se destacan dos: (a) Que sea correcto (en ingl es, sound ), o sea, que cualquier conclusi on que se obtenga a partir de las premisas deba ser, necesariamente, consecuencia l ogica de estas; en otras palabras, que no sea posible deducir nada que no sea consecuencia l ogica de las premisas; y (b) Que sea completo , o sea, que si es consecuencia l ogica de las premisas, entonces puede ser deducido de estas.

1.18.

Ejemplo de uso de las reglas

Consideremos el sistema deductivo formado por todas las reglas enunciadas anteriormente. Las usemos para demostrar que pq es consecuencia l ogica de {p (r q ), r q, q r} .
c Luis Dissett.

P.U.C. Chile, 2004

1.19. OTRO EJEMPLO El argumento que damos es el siguiente: p (r q ) r q qr rq (r q ) (r q ) (r r) q q p q pq

CAP ITULO 1. LOGICA PROPOSICIONAL

Premisa Premisa Premisa Simplicaci on conjuntiva, 11.1 Regla de conjunci on, 11.2 y 1.4 Ley distributiva, 1.5 Elemento neutro, 1.6 Amplicaci on disyuntiva, 1.7 Ley de la implicaci on, 1.5

(1.1) (1.2) (1.3) (1.4) (1.5) (1.6) (1.7) (1.8) (1.9)

1.19.

Otro ejemplo

Usemos este mismo sistema deductivo para demostrar que qr es consecuencia l ogica de {p, p q, s r, s t} . Nuestro argumento es como sigue: p pq q sr s r s r s t s r qr Premisa Premisa Modus Ponens, 1.10 y 1.11 Premisa Ley de la doble negaci on, 1.13 Ley de la implicaci on, 1.14 Premisa Simplicaci on conjuntiva, 1.16 Modus ponens, 1.15 y 1.17 Regla de conjunci on, 1.12 y 1.18 (1.10) (1.11) (1.12) (1.13) (1.14) (1.15) (1.16) (1.17) (1.18) (1.19)

1.20.

Resoluci on

Un sistema deductivo muy importante en Inteligencia Articial es el formado por la u nica regla de resoluci on : Cada vez que tengamos como premisas proposiciones de las formas P Q y Q R, tenemos derecho a deducir P R. En s mbolos: P Q Q R P R Este sistema deductivo es correcto (sound ) y completo (no lo demostraremos aqu ), y no s olo puede ser usado para deducir sino tambi en para refutar. Note que de P y P podemos deducir Fo , ya que P P Fo y P P Fo .
c Luis Dissett.

10

P.U.C. Chile, 2004

CAP ITULO 1. LOGICA PROPOSICIONAL

1.21. EJERCICIOS

Deducci on usando resoluci on


Para demostrar (o refutar) el que |= Q, hacemos lo siguiente: Transformamos todas las f ormulas de a FNC. Negamos la conclusi on deseada (Q) y la ponemos en FNC. Aplicamos la regla de resoluci on, hasta que: o bien derivamos una contradicci on, o bien la regla no puede ser aplicada. Si se lleg o a una contradicci on, entonces Q es consecuencia l ogica de . En caso contrario, no lo es. Ejemplo. Demostraremos que = {P Q, P R, Q R} |= R, usando resoluci on. Soluci on: T ras transformar las f ormulas de a FNC, y agregar la negaci on de R en FNC, obtenemos: {P Q, P R, Q R, R} . Sucesivas aplicaciones de la regla de resoluci on dan: de P Q y de P R, obtenemos Q R; de Q R y R obtenemos Q; de Q R y Q obtenemos R; nalmente, de R y R obtenemos nuestra contradicci on. O sea, |= R.

Arboles de refutaci on
PENDIENTE

1.21.
1.

Ejercicios

Sean p y q dos proposiciones at omicas tales que p q es falsa. Determine el valor de verdad de: a ) p q, b ) p q , c ) q q, d ) q p.

2.

Sean p, q , r las siguientes proposiciones: p: hago la tarea; q : juego al tenis; r: el sol est a brillando; s: la humedad es baja. Traduzca a s mbolos: a) b) c) Si el sol est a brillando, entonces juego tenis. Hacer la tarea es requisito para que jugar al tenis. Si el sol est a brillando y la humedad es baja entonces juego tenis. 11
P.U.C. Chile, 2004

c Luis Dissett.

1.21. EJERCICIOS d) e) 3. 4. 5.

CAP ITULO 1. LOGICA PROPOSICIONAL

Ni el sol est a brillando ni la humedad es baja. La humedad no es baja, a menos que el sol est e brillando .

Demuestre que p q es consecuencia l ogica de {p (r q ), r q, q r}. Demuestre que p q no es consecuencia l ogica de {p r, r q, (p r) (q r} Demuestre, sin usar tablas de verdad , que si p, q y r son proposiciones at omicas, entonces (p (q r)) ((p q ) r)).

6.

Sean p y q dos proposiciones at omicas. a) b) c) Verique que p (q (p q )) es una tautolog a. Demuestre, usando la parte (a), las reglas de sustituci on y las leyes de la l ogica, que (p q ) (q q ) es una tautolog a. Es (p q ) (q (p q )) una tautolog a?

7. 8.

Repita los ejercicios de los tipos es la f ormula Q consecuencia l ogica de . . . , esta vez usando arboles de refutaci on. Recuerde que: a) b) c) un literal es, o bien una proposici on at omica, o la negaci on de una proposici on at omica; una disyunci on de literales es llamada una cl ausula ; una f ormula proposicional est a en Forma Normal Conjuntiva (FNC) si es una conjunci on de cl ausulas:
n mi

(
i=0 j =0

lij ).

Demuestre que, dada una proposici on en forma normal conjuntiva (o sea, = C1 C2 . . . Cn donde C1 , C2 , . . . Cn son cl ausulas), es posible encontrar una f ormula , que tambi en est a en forma normal conjuntiva, donde cada cl ausula est a formada por exactamente tres literales, y tal que es satisfactible (o sea, existe una asignaci on de verdad que la hace verdadera) si y s olo si lo es.

c Luis Dissett.

12

P.U.C. Chile, 2004

Cap tulo 2

L ogica de predicados
2.1. Deniciones b asicas

Ejemplo. La frase x es par e y es impar no es una proposici on (no es ni verdadera ni falsa). Si reemplazamos x e y por dos n umeros enteros, la frase se transforma en una proposici on, y su valor de verdad depender a de los valores que tengan x e y . Diremos que la frase anterior es una proposici on abierta o predicado. Como este predicado depende de x y de y , lo denotaremos por una letra con x e y entre par entesis, por ejemplo: P (x, y ). Si denotamos x es par por Q(x) e y es impar por R(y ), podemos escribir P (x, y ) Q(x) R(y ).

2.1.1.

Predicados at omicos

En el ejemplo anterior, podemos distinguir entre los predicados P (x, y ) por un lado, y los predicados Q(x) y R(y ) por el otro: el primero est a formado por otros predicados, mientras que los u ltimos no pueden ser descompuestos en predicados m as peque nos. A los predicados que no pueden ser descompuestos en predicados m as peque nos los llamaremos predicados at omicos . Usamos estos predicados para representar relaciones. A veces escribimos las relaciones como s mbolos entre los elementos que relacionan (ejemplo: no escribimos < (x, y ) sino x < y ).

2.1.2.

Variables, constantes, funciones y operaciones

En un predicado, encontramos s mbolos que representan variables (x, y , z , etc.), constantes (0, 1, 2, , y otros), funciones y operaciones , y otros predicados. Ejemplo. En el predicado u + f (v, 0) = 2 w encontramos las constantes 0 y 2, las variables u, v y w, el s mbolo de funci on f , y los s mbolos de operaci on + y .

2.1.3.

Interpretaciones y dominios

No podemos estudiar un predicado sin asignarle un signicado a los distintos s mbolos que en el aparecen. Para esto, al analizar un predicado, consideraremos una interpretaci on , que consiste en un dominio o universo D y en asignaciones de signicado a las constantes, s mbolos de funci on y operaci on y a los s mbolos que representan relaciones (predicados at omicos). 13

CAP PREDICADOS 2.2. VERDAD LOGICA, CONSECUENCIA LOGICA ITULO Y EQUIVALENCIA 2. LOGICA DE LOGICA Ejemplo. Al considerar el predicado S (x) : x = 0 x x = 0, el dominio de interpretaci on puede ser N, Z, Q, R, C o incluso alg un conjunto no num erico (por ejemplo, el conjunto de matrices de 2 2). En este u ltimo caso, el s mbolo 0 no representar a a un n umero, sino a una matriz.

2.1.4.

Cuanticadores

En matem aticas, muchas armaciones son de la forma todos los elementos de D (un dominio dado) satisfacen el predicado P (x) o bien hay al menos un elemento de D que satisface P (x). En el primer caso, abreviaremos usando el s mbolo y en el segundo usaremos el s mbolo . As , si P (x) es un predicado que depende s olo de x, podemos formar las proposiciones: x(P (x)) x(P (x)) : Si reemplazamos x por cualquier elemento de D, entonces P (x) se hace verdadera. : En D hay al menos un valor tal que, al reemplazar x por dicho valor, la proposici on resultante es verdadera.

Los s mbolos y son llamados cuanticador universal y cuanticador existencial respectivamente.

2.1.5.

Variables libres y ligadas

En un predicado, las variables pueden aparecer relacionadas con un cuanticador (ligadas ) o libres . Un predicado que no tiene variables libres es una proposici on. Un predicado con variables libres es una proposici on abierta.

2.2.
2.2.1.

Verdad l ogica, consecuencia l ogica y equivalencia l ogica


Interpretaciones y valores de verdad

Las proposiciones en l ogica de predicados son verdaderas o falsas dependiendo de la interpretaci on en que sean consideradas. Ejemplo. Sea P (x, y ) un predicado binario (con dos argumentos). La proposici on xy (P (x, y )) es falsa en la interpretaci on en que D = N y P (x, y ) representa la relaci on x > y . La misma proposici on es verdadera si D = N, y P (x, y ) representa la relaci on x divide a y .

2.2.2.

Proposiciones v alidas (l ogicamente verdaderas)

El concepto de tautolog a, o proposici on l ogicamente verdadera de la l ogica proposicional tiene su contraparte en l ogica de predicados. Si P es una proposici on en l ogica de predicados, decimos que P es l ogicamente verdadera (o v alida ) si se hace verdadera en toda interpretaci on. Ejemplo. Sea P (x) un predicado. La proposici on x(P (x) P (x)) es l ogicamente verdadera.
c Luis Dissett.

14

P.U.C. Chile, 2004

PREDICADOS CAP ITULO 2.2. 2. VERDAD LOGICA LDE OGICA, CONSECUENCIA LOGICA Y EQUIVALENCIA LOGICA Demostraci on. Sea I una interpretaci on arbitraria con dominio D, y para cada c D consideremos el valor de verdad que I le asigna a P (c). Si este valor de verdad es Verdadero, entonces P (c) P (c) es Verdadero(disyunci on de una proposici on verdadera y una falsa); y en caso contrario P (c) P (c) tambi en es Verdadero (disyunci on de una proposici on falsa y una verdadera). O sea: la proposici on P (c)P (c) es Verdadero, sin importar qu e elemento c D tomemos . Pero entonces la proposici on x(P (x) P (x)) es verdadera en la interpretaci on I. Como I es una interpretaci on arbitraria, hemos demostrado que x(P (x) P (x)) se hace verdader a en toda interpretaci on, o sea, es l ogicamente verdadera.

2.2.3.

Consecuencia l ogica

Sea un conjunto de proposiciones en l ogica de predicados. Sea Q otra proposici on en l ogica de predicados. Diremos que Q es consecuencia l ogica de (o que l ogicamente implica Q) si toda interpretaci on que hace verdaderas todas las proposiciones de necesariamente hace verdadera a Q. Si = {P } (o sea, si consiste de una sola proposici on) entonces diremos que Q es consecuencia l ogica de P (en lugar de decir que lo es de {P }). Al igual que en el caso proposicional, si Q es consecuencia l ogica de , anotaremos |= Q. Ejemplo. La proposici on xy (P (x, y )) es consecuencia l ogica de y x(P (x, y )). Demostraci on. Sea I una interpretaci on arbitraria que hace verdadera a y x(P (x, y )), y sea D su dominio. Como y x(P (x, y )) es verdadera en I, existe alg un elemento d D tal que x(P (x, d)) (2.1)

es verdadera en I. Queremos demostrar que xy (P (x, y )) es verdadera bajo la interpretaci on I. Para esto, debemos demostrar que dado cualquier elemento c D, la proposici on y (P (c, y )) es verdadera en I. Pero esto es cierto ya que, dado c D, debido a (2.1) se tiene P (c, d), por lo que y (P (c, y )) es verdadera en I. Como c D era arbitrario, hemos demostrado que xy (P (x, y )) es verdadera bajo la interpretaci on I. Finalmente, como I es una interpretaci on arbitraria (de la que s olo supusimos que hac a verdadera a y x(P (x, y ))), hemos demostrado que y x(P (x, y )) |= xy (P (x, y )).

2.2.4.

Equivalencia l ogica

Si P y Q son dos proposiciones en l ogica de predicados, diremos que ellas son l ogicamente equivalentes si toda interpretaci on le asigna el mismo valor de verdad a ambas. Notaci on. Al igual que en el caso proposicional, si P y Q son l ogicamente equivalentes, anotaremos P Q. Ejemplo. La proposici on x(Q(x) R(x)) es l ogicamente equivalente a x(Q(x)) x(R(x)).
c Luis Dissett.

15

P.U.C. Chile, 2004

CAP PREDICADOS 2.2. VERDAD LOGICA, CONSECUENCIA LOGICA ITULO Y EQUIVALENCIA 2. LOGICA DE LOGICA Demostraci on. Demostrar que dos proposiciones son l ogicamente equivalentes es lo mismo que demostrar que cada una de ellas es consecuencia l ogica de la otra. Dejamos cada una de estas dos demostraciones como ejercicio al lector.

c Luis Dissett.

16

P.U.C. Chile, 2004

DE PROPOSICIONES CON CUANTIFICADORES CAP ITULO 2. LOGICA 2.3. DE NEGACI PREDICADOS ON

2.2.5.

Resumen de deniciones
En l ogica proposicional En l ogica de predicados

Una proposici on P es . . .

l ogicamente verdadera . . .

si toda asignaci on de verdad la hace verdadera. si toda asignaci on de verdad las hace ambas verdaderas o ambas falsas. si toda asignaci on de verdad que hace verdadera a Q hace verdadera a P .

si toda interpretaci on la hace verdadera. si toda interpretaci on las hace verdaderas o ambas falsas. si toda interpretaci on que hace verdadera a Q hace verdadera a P .

l ogicamente equivalente a otra Q . . . consecuencia l ogica de otra Q . . .

2.3.

Negaci on de proposiciones con cuanticadores

Para negar proposiciones (o predicados) que contienen cuanticadores pueden usarse las siguientes equivalencias: x(P (x)) x(P (x)), x(P (x)) x(P (x)). Dejamos la demostraci on como ejercicio.

2.4.

Reglas de inferencia usando predicados

Adem as de las reglas de inferencia dadas en el cap tulo sobre l ogica proposicional, en l ogica de predicados pueden usarse las siguientes: Especicaci on universal Si se tiene la proposici on x(P (x)), y a D es arbitrario, podemos deducir P (a). Generalizaci on existencial Si se tiene la proposici on P (a) (donde a D), podemos deducir x(P (x)). Generalizaci on universal Si, dado a D arbitrario , es posible demostrar P (a), entonces es posible deducir x(P (x)). Especicaci on existencial Si se ha demostrado la proposici on x(P (x)), entonces es posible deducir la proposici on P (a), donde a D es un elemento arbitrario que no ha sido usado en la demostraci on de x(P (x)).

2.5.

Teor as matem aticas

PENDIENTE.

c Luis Dissett.

17

P.U.C. Chile, 2004

2.6. EJERCICIOS

CAP ITULO 2. LOGICA DE PREDICADOS

2.6.
1.

Ejercicios

Para las siguientes proposiciones, el universo consiste en todos los enteros distintos de cero, y los signicados de los s mbolos de funci on y operaciones aritm eticas es el usual. Determine el valor de verdad de cada proposici on, y escriba la negaci on de cada una de ellas. a) b) c) d) e) f) g) h) xy (x y = 1). xy (x y = 1). xy (x y = 1). xy sen2 x + cos2 x = sen2 y + cos2 y . xy [(2x + y = 5) (x 3y = 8]. xy [(3x y = 7) (2x + 4y = 3]. xy [(2x + y = 5) (x 3y = 8]. xy [(3x y = 7) (2x + 4y = 3].

2. 3. 4.

Repita el ejercicio anterior, ahora tomando como universo todos los n umeros reales distintos de cero. Repita el ejercicio anterior, ahora tomando como universo todos los n umeros reales (incluyendo al cero). Escriba las negaciones de las siguientes proposiciones: a ) x [p(x) q (x)]. b ) x [p(x) q (x)]. c ) x [(p(x) q (x)]. d ) x [(p(x) q (x)) r(x)].

5. 6. 7. 8.

Demuestre que las proposiciones x(Q(x) R(x)) y x(Q(x)) x(R(x)) son l ogicamente equivalentes. Demuestre que las proposiciones x(Q(x) R(x)) y x(Q(x)) x(R(x)) no son l ogicamente equivalentes. Una de las dos proposiciones presentadas anteriormente es consecuencia l ogica de la otra. Demuestre este hecho. Demuestre las equivalencias l ogicas x(P (x)) x(P (x)), x(P (x)) x(P (x)).

9.

Demuestre que, dada cualquier proposici on en l ogica de predicados, existe una proposici on l ogicamente equivalente a ella en que todos los cuanticadores est an al principio de la proposici on, y se aplican globalmente a ella ( esta es llamada la Forma Normal Prenex , y es utilizada en inteligencia articial). En cada uno de los siguientes casos, decida si la equivalencia l ogica expresada es verdadera o no. En caso de que su respuesta sea negativa, indique si una de las implicaciones l ogicas es correcta o si ambas son falsas. Justique sus respuestas . a) b) c) d) e) f) x [p(x) q (x)] x(p(x)) x(q (x)). x [p(x) q (x)] x(p(x)) x(q (x)). x [p(x) q (x)] x(p(x)) x(q (x)). x [p(x) q (x)] x(p(x)) x(q (x)). x [p(x) q (x)] x(p(x)) x(q (x)). x [p(x) q (x)] x(p(x)) x(q (x)).

10.

11.

D e un ejemplo de una interpretaci on que haga verdaderas x [p(x)] y x [q (x) p(x)] pero que no haga verdadera x [q (x)]. Qu e se puede concluir de este ejemplo? 18

c Luis Dissett.

P.U.C. Chile, 2004

Cap tulo 3

Teor a de Conjuntos
3.1.
3.1.1.

Deniciones b asicas
Nociones primitivas

Consideramos como primitivas (i.e., no necesitan explicaci on) las siguientes nociones: elemento, conjunto, pertenencia (). Deniremos los otros conceptos relacionados con conjuntos a partir de estas nociones b asicas.

3.1.2.

Subconjuntos, igualdad de conjuntos

Denici on 7. Si A y B son conjuntos, decimos que A es subconjunto de B (en s mbolos, A B ) sii x(x A x B ). Denici on 8. Si A y B son conjuntos, diremos que A y B son iguales sii A B y B A. En s mbolos, A = B (A B B A).

3.1.3.

Maneras de denir un conjunto

Deniremos conjuntos de dos formas distintas: Por extensi on , o sea, listando todos sus elementos. Ejemplo. Z5 = {0, 1, 2, 3, 4}. Por comprensi on , o sea, dando una propiedad (x) que caracterice a los elementos del conjunto (y s olo a dichos elementos). As , si A = {x : (x)}, entonces x(x A (x)). Ejemplo. Z5 = {x : x N x < 5}. Note que consideramos que N contiene al cero. Discutiremos esto m as adelante. 19

3.2. LA PARADOJA DE RUSSELL

CAP ITULO 3. TEOR IA DE CONJUNTOS

3.1.4.

Conjuntos con elementos repetidos

Note que de la denici on de igualdad se deduce que en un conjunto da lo mismo si se repiten los elementos. As , por ejemplo, {1, 1, 1, 1, 2, 2, 2} = {1, 2}. A veces es necesario considerar multiconjuntos: objetos similares a los conjuntos, pero donde es necesario tomar en cuenta la cantidad de veces que se repite cada elemento. En estos apuntes no discutiremos multiconjuntos en detalle.

3.1.5.

El conjunto vac o

Denici on 9. El conjunto vac o (denotado por ) es un conjunto que no contiene elementos. Por extensi on, = {} . Por comprensi on, quisi eramos denir = {x : (x)} donde (x) es una propiedad que es falsa sin importar el valor de x. Una posible elecci on de (x) es: (x) : x = x.

Ejercicio. Demuestre que, dado cualquier conjunto A, se tiene: 1. A, 2. A A.

3.2.

La paradoja de Russell

Es posible usar cualquier propiedad (x) al momento de denir un conjunto por comprensi on? Es necesario un poco de cuidado: en 19??, Bertrand Russell demostr o que el ser demasiado permisivos con las propiedades usadas para denir conjuntos nos lleva a paradojas (contradicciones dentro de la teor a de conjuntos). La m as famosa de estas paradojas es la siguiente, llamada paradoja de Russell: si (x) es la propiedad x / x entonces denimos el conjunto A = {x : x / x} y nos formulamos la pregunta: Es A un elemento de A? De la denici on de A, tenemos que AAA / A. O sea, la u nica manera de que A sea un elemento de s mismo es . . . que no sea un elemento de s mismo! Cualquier parecido entre esta paradoja (debida a Bertrand Russell) y la paradoja del barbero es absolutamente intencional.

3.2.1.

Lidiando con las paradojas

C omo evitar las paradojas en la teor a de conjuntos? Esencialmente, no cualquier propiedad puede denir un conjunto, por lo cual debemos agregar restricciones.
c Luis Dissett.

20

P.U.C. Chile, 2004

CAP ITULO 3. TEOR IA DE CONJUNTOS

3.3. OPERACIONES

Ejemplo. Una forma, bastante aceptada, de eliminar paradojas como la de Russell consiste en lo siguiente: Se distingue entre clases (colecciones arbitrarias de elementos) y conjuntos (clases que son elementos de otras clases). Las clases que no son conjuntos son llamadas clases propias. S olo se permiten f ormulas del tipo (x) : x es un conjunto y . . . (x). Ejercicio. Por qu e previene esto la paradoja de Russell?

3.3.

Operaciones
A B = {x : x A x B } , A B = {x : x A x B } , A \ B = {x : x A x / B} , P (A) = {x : x A} .

A partir de conjuntos dados, es posible construir nuevos conjuntos:

En realidad, necesitamos axiomas que nos aseguren que las clases as denidas son efectivamente conjuntos.

3.4.

Las Leyes de la Teor a de Conjuntos


(Ac )c = A.

Ley del doble complemento

Leyes de de Morgan (A B )c (A B )c = Ac B c . = Ac B c .

Propiedades conmutativas AB AB Propiedades asociativas A (B C ) = (A B ) C. A (B C ) = (A B ) C. Propiedades distributivas A (B C ) = (A B ) (A C ). A (B C ) = (A B ) (A C ).


c Luis Dissett.

= B A. = B A.

21

P.U.C. Chile, 2004

3.5. OPERACIONES GENERALIZADAS Propiedades de idempotencia

CAP ITULO 3. TEOR IA DE CONJUNTOS

A A = A. A A = A. Propiedades de elemento neutro A = A. A U = A. Propiedades de elemento inverso A Ac A Ac Propiedades de dominaci on A U = U. A = . Propiedades de absorci on A (A B ) = A. A (A B ) = A. = U. = .

3.5.

Operaciones generalizadas

Las operaciones binarias denidas anteriormente (uni on e intersecci on) pueden f acilmente ser generalizadas de modo que, en lugar de considerar dos conjuntos, consideren una cantidad (nita) mayor. La forma de hacer esto es, por ejemplo, la siguiente: si A1 , A2 , . . . , An son conjuntos, entonces denimos A1 si n = 1, n Ai = n1 i=1 Ai An si n > 1.
i=1

Si se desea unir o intersectar una cantidad innita de conjuntos, las deniciones anteriores no son adecuadas. Para denir adecuadamente uniones e intersecciones de una cantidad innita de conjuntos, usamos la denici on siguiente: Denici on 10. Sea A un conjunto cualquiera (del que supondremos que sus elememtos son, a su vez, conjuntos). Denimos dos nuevas clases (y agregamos axiomas que dicen que, si A es conjunto, entonces estas nuevas clases tambi en lo son) como sigue: A = {x : y A(x y )}. A = {x : y A(x y )}. Ejemplos. = (f acil). = U (no tan f acil). Demostraci on.
c Luis Dissett.

Dejamos esta demostraci on como ejercicio. 22


P.U.C. Chile, 2004

CAP ITULO 3. TEOR IA DE CONJUNTOS Dado x U , cualquiera, tenemos que x O sea, x sii y (x y ) sii sii sii sii y ((y x y ) y ((y x y )) y (y (x y )) y (y x / y ). sii y (x y )

3.6. EJERCICIOS

sii y (y x y ).

Como esto u ltimo es claramente falso, se tiene x x , o sea, = U .

, por lo que todo x U satisface

3.6.
1. 2. 3.

Ejercicios

Demuestre, usando equivalencias l ogicas, las leyes de la teor a de conjuntos (dadas en clases). Repita el ejercicio anterior, ahora usando diagramas de Venn. Demuestre que, si A, B y C son conjuntos arbitrarios (A, B, C U ), entonces: a ) A A B. b ) A B A. c) A B A B = B. d ) A B A B = A. e ) A B C (A C ) (B C ). f ) A (B C ) (A B ) (A C ). g ) A B C A C B. h ) A B D U (D A D B ).

4.

Demuestre las leyes generalizadas de De Morgan :


c

a)
iI

Ai
c

=
iI

Ac i. Ac i.
iI

b)
iI

Ai

5.

Demuestre las leyes distributivas generalizadas : a) A


iI

Bi

=
iI

(A Bi ).

b) A
iI

Bi

=
iI

(A Bi ).

6.

Dado un conjunto universal U , se dene A B (la diferencia sim etrica de A y B ) como A B = (A B ) (B A). Demuestre que: 23
P.U.C. Chile, 2004

c Luis Dissett.

DEFINICION FORMAL DE CAP 3.7. APLICACION: LA ARITM ITULO ETICA 3. TEOR IA DE CONJUNTOS a) A b) A c) A d) A e) A f) g) 7. (A B=B A = U. U = Ac . = A (por lo que el neutro para B) C=A (B es ). ). ? es asociativa). A = (por lo que cada conjunto es su propio inverso respecto a C ) (o sea, la operaci on
c

A. (o sea, la operaci on

es conmutativa).

Qu e estructura tiene el conjunto de subconjuntos de U con la operaci on

Recuerde que es posible denir la uni on e intersecci on de una colecci on cualquiera de conjuntos , como sigue: Si S es una colecci on de conjuntos (todos ellos subconjuntos de un conjunto universal dado U ), entonces S S = {x U : y (y S x y )} , = {x U : y (y S x y )} .

Demuestre las siguientes propiedades de la uni on e intersecci on as denidas: a ) = . b ) {a} = a. c ) {a, b} = a b. d) f) g) Si A B entonces A B . Si x A, entonces x A. Si x(x A x B ), entonces A B . e ) (A B ) = (A) (B ).

h ) = U . i ) {a} = a. j ) {a, b} = a b. k) m) n) n ) Si A B entonces B A. (A) (B ) (A B ). Si x A, entonces A x. Si x(x A B x), entonces B A. l ) (A B ) = (A) (B ).

3.7.
3.7.1.

Aplicaci on: denici on formal de la aritm etica


Denici on axiom atica de N

Para un conjuntista, los n umeros naturales se construyen a partir de la teor a de conjuntos: 0 = y, dado un conjunto cualquiera x, denimos (x) = x {x} ( el sucesor de x). As , 0 = , 1 = (0) = () = {} = {} , 2 = (1) = ({}) = {} {{}} = {, {}} , 3 = (2) = ({, {}}) = {, {}} {{, {}}} = {, {} , {, {}}} , . . . M as formalmente, los naturales satisfacen los axiomas de Peano :
c Luis Dissett.

24

P.U.C. Chile, 2004

CAP ITULO 3. TEOR IA DE CONJUNTOS 3.8. OPERACIONES CON CONJUNTOS DE INDICES 1. N. 2. n(n N n N). 3. mn((m N n N m = n) m = n). 4. n(n N n = ). 5. Dada cualquier clase S que satisfaga: S, n(n S n S ), mn((m S n S m = n) m = n) y n(n S n = ), entonces N S .

3.7.2.

Operaciones en N

Es posible denir +, , etc., en t erminos de operaciones de conjuntos. Ejemplo (la suma). Dado n N, denimos s(n, 0) = n. Dados m, n N, denimos s(m, (n)) = (s(m, n)). Ejercicios. 1. 2. 3. Demuestre, usando esta denici on de suma, que 3 + 4 = 7. Dena multiplicaci on, y demuestre que 3 4 = 12. Demuestre que la suma es conmutativa, asociativa, y tiene elemento neutro.

3.8.

Operaciones con conjuntos de ndices

Sea I un conjunto de ndices , de modo que para cada i I existe un u nico Ai . Denici on 11. Ai = {x : i I (x Ai )}.
iI

Ai = {x : i I (x Ai )}.
iI

En particular, note que si I = {1, 2, . . . , n}, entonces


iI n n

Ai y
iI

Ai corresponden a nuestras

deniciones anteriores de
i=1

Ai y
i=1

Ai respectivamente. Ai en lugar de Ai y
iI iI

Si I = N, escribimos
i=0

Ai y
i=0

Ai .

Notaciones como
i=1

Ai y
i=1

Ai se denen en forma similar.

c Luis Dissett.

25

P.U.C. Chile, 2004

3.8. OPERACIONES CON CONJUNTOS DE INDICES CAP ITULO 3. TEOR IA DE CONJUNTOS

c Luis Dissett.

26

P.U.C. Chile, 2004

Cap tulo 4

Relaciones
4.1.
4.1.1.

Deniciones b asicas
Pares ordenados

Nos interesa denir formalmente la noci on de par ordenado . Intuitivamente, queremos denir par ordenado como una agregaci on de dos elementos de modo que dos pares ordenados sean iguales si y s olo si sus elementos respectivos son iguales. La denici on cl asica de par ordenado es la siguiente: Denici on 12. Sean a, b U (nuestro conjunto universo ). Denimos el par ordenado (a, b) como (a, b) = {{a} , {a, b}} . Ejercicio. Demuestre que, si a, b, c, d U , entonces (a, b) = (c, d) ((a = c) (b = d)).

Ejercicio. Se satisfar a la misma propiedad si hubi eramos denido (a, b) como (a, b) = {a, {b}}?

4.1.2.

Producto cartesiano

Sean ahora A y B dos conjuntos cualesquiera. Denimos el producto cartesiano de A y B : Denici on 13. A B = {(a, b) : a A b B } .

4.1.3.

Producto de m as de dos conjuntos

Si se tienen n conjuntos A1 , A2 , . . . , An , entonces denimos A1 A2 A3 An = (. . . ((A1 A2 ) A3 ) ) An . 27

4.1. DEFINICIONES BASICAS

CAP ITULO 4. RELACIONES

4.1.4.

Producto cartesiano generalizado

As como es posible generalizar la uni on y la intersecci on, tambi en podemos generalizar la idea de producto cartesiano. Denici on 14. Sea I un conjunto de ndices , de modo que para cada i I existe un u nico Ai . Denimos Ai
iI

como el conjunto de todas las funciones f :I


iI

Ai

tales que, para cada i I , se tenga f (i) Ai . O sea, un elemento de Ai le asigna a cada elemento i I un elemento f (i).
iI

Ejercicio. Explique por qu e A B y (A B ) C son casos particulares de esta denici on.

4.1.5.

Las funciones de proyecci on

En la situaci on descrita anteriormente, denimos, para cada i I , la funci on i :


iI

Ai Ai

como i (f ) = f (i). La funci on i es la proyecci on sobre la i- esima coordenada . Ejercicio. Explique la relaci on entre estas funciones de proyecci on y las del algebra lineal.

4.1.6.

Relaciones binarias

Denici on 15. Una relaci on (binaria) de A en B es un subconjunto de A B . Una relaci on (binaria) en A es un subconjunto de A A. En este curso estaremos interesados mayormente en relaciones binarias denidas en un conjunto dado (excepto cuando hablemos de funciones). Notaci on. en vez de escribir (x, y ) R, usualmente escribiremos xRy . En vez de escribir (x, y ) / R, escribiremos x R y

4.1.7.

Relaciones n-arias

Si en lugar de considerar R A B (o R A A) consideramos R A1 A2 An (o R A A . . . A), diremos que R es una relaci on n-aria .


n veces

Ejemplo. Las tablas de una base de datos relacional .


c Luis Dissett.

28

P.U.C. Chile, 2004

CAP ITULO 4. RELACIONES

4.2. ORDENES PARCIALES

4.1.8.

Propiedades de las relaciones binarias

Sea R A A. Dependiendo de las propiedades que satisfaga R, diremos que esta es: Reeja si x A(xRx). Irreeja si x A(x R x). Sim etrica si x, y A(xRy yRx). Antisim etrica si x, y A((xRy yRx) x = y ). Transitiva si x, y, z A((xRy yRz ) xRz ).

4.2.

Ordenes parciales
es una

Denici on 16. Sea A un conjunto. Un orden parcial en A es un par (A, ), donde relaci on en A que es: 1. 2. 3. reeja en A, antisim etrica, y transitiva.

Denici on 17. Dado un orden (A, ), el orden inverso es el orden (A, ) donde inversa de , i.e., x y y x. Ejemplos. Los ordenes naturales en N, Z, Q, R: (N, ), (Z, ), (Q, ), (R, ). El orden | (divide a ) en N: (N, |). El orden entre los subconjuntos de un conjunto dado U : (P (U ), ). A estos ejemplos debemos agregar sus ordenes inversos. Ejercicio. Es (Z, |) un orden parcial?

es la relaci on

4.2.1.

Ordenes estrictos

Sea A un conjunto. Un orden estricto en A es un par (A, ), donde es una relaci on en A que es: 1. 2. 3. irreeja en A, antisim etrica, y transitiva.

Los ordenes estrictos est an relacionados con los ordenes parciales, de la siguiente manera: Teorema. Si (A, ) es un orden estricto, entonces (A, ), donde y x = y ), es un orden parcial. est a denido por x y (x

Si (A, ) es un orden parcial, entonces (A, ), donde est a denido por x y (x y x = y ), es un orden estricto.
c Luis Dissett.

29

P.U.C. Chile, 2004

4.2. ORDENES PARCIALES

CAP ITULO 4. RELACIONES

4.2.2.

Ordenes lineales o totales


si x yoy x.

Denici on 18. Sea (A, ) un orden parcial. Dos elementos x, y A son comparables bajo el orden Decimos que (A, ) es un orden total o lineal si x, y A(x yy

x), .

o sea, si todos los pares de elementos de A son comparables bajo el orden

Ejercicio. Indique cu ales de los ordenes parciales dados como ejemplo son lineales.

4.2.3.

Elementos maximales y m aximos

Sea (A, ) un orden parcial, y sean S A, x S . Denici on 19. Decimos que: x es un x es un Notas: Si la relaci on es clara del contexto, la omitimos y hablamos simplemente de elementos maximales o m aximos. De manera an aloga se denen los conceptos de elemento minimal y elemento m nimo . -elemento maximal de S si y S (x -elemento m aximo de S si y S (y y x = y ). x).

4.2.4.

Cotas, supremos, nmos

Sea (A, ) un orden parcial, y sean S A, c A. Denici on 20. Decimos que: c es una -cota superior para S si x S (x c). -cota

c es un -supremo para S si c es -cota superior para S y adem as, dada cualquier superior c para S , se tiene c c . S es Notas: -acotado superiormente si existe una -cota superior para S .

Si la relaci on es clara del contexto, la omitimos y hablamos simplemente de cotas superiores, supremos y conjuntos acotados superiormente. De manera an aloga se denen los conceptos de cota inferior, nmo, y conjunto acotado inferiormente. Teorema. Si S A tiene un supremo, este es u nico. Demostraci on. Ejercicio. Este teorema nos autoriza a hablar de el supremo de S (siempre que S tenga al menos un supremo . . . ). Si este es el caso, anotaremos sup(S ). Si S = {x1 , x2 , . . . , xn }, entonces anotaremos sup {x1 , x2 , . . . , xn } o sup(x1 , x2 , . . . , xn ). Por supuesto, un teorema an alogo respecto a nmos tambi en es v alido.
c Luis Dissett.

30

P.U.C. Chile, 2004

CAP ITULO 4. RELACIONES

4.2. ORDENES PARCIALES

4.2.5.

El axioma del supremo


Todo subconjunto de A, no vac o y acotado superiormente, tiene supremo.

Sea (A, ) un orden parcial. Ser a verdad la siguiente armaci on?

A esta propiedad la llamamos el axioma del supremo . Aquellos ordenes parciales que lo satisfacen ser an llamados (por ahora) ordenes superiormente completos . De manera an aloga deniremos el concepto de orden inferiormente completo .

4.2.6.

Ordenes completos

El siguiente teorema nos dice que la distinci on entre ordenes superior e inferiormente completos es superua: Teorema. Si un orden parcial es superiormente completo, entonces es inferiormente completo (y viceversa). Demostraci on. Ejercicio. Gracias a este teorema, desde ahora en adelante podemos hablar simplemente de ordenes completos . Qu e ordenes parciales son completos? Ejercicio. Demuestre que (Z, ) y (N, ) son ordenes completos. Ejemplo. Demostraremos que (Q, ) no es un orden completo. En efecto: sea A el subconjunto de Q dado por A = q Q : q2 < 2 . Claramente, 0 A, por lo que A no es vac o. Por otra parte, si q A, debe tenerse q < 2, por lo que A es acotado superiormente1 . Para demostrar que Q no satisface el axioma del supremo, basta probar que no existe ning un racional s tal que s = sup A. Demostraremos esto por contradicci on. Supongamos que existe s Q es tal que s = sup A. En primer lugar, como 1 A, debe tenerse s > 0. Por tricotom a, debe darse alguno de los tres casos siguientes: o s2 < 2, o s2 > 2, 2 o s = 2. Mostraremos que en los dos primeros casos es imposible que s sea el supremo de A. Examinemos primero el caso en que s2 < 2. Demostraremos que, en este caso, s no es cota superior de A; para ello, mostraremos que existe un n umero s A tal que s < s . 4 4s En efecto: sea s = = 2 . Para probar que s A, vemos que s +2 s+ 2 s 2s2 =2 (s2 16s2 2s4 + 8s2 + 8 16s2 2(s2 2)2 = = > 0, 2 2 2 + 2) (s + 2) (s2 + 2)2

de donde s 2 < 2, o sea, s A. Para probar que s < s , vemos que s s= 4s 4s s(s2 + 2) 2s s3 s(2 s2 ) s = = = > 0, s2 + 2 s2 + 2 s2 + 2 s2 + 2

de donde s < s . Supongamos ahora que s2 > 2. Demostraremos que, en este caso, s no es la cota superior m as peque na de A, ya que existe una cota superior s de A tal que s < s. s+ 2 s2 + 2 s En efecto: sea s = = . Como 2 2s ss =s
1 Tambi en

s2 + 2 2s2 (s2 + 2) s2 2 = = > 0, 2s 2s 2s

es posible demostrar que todo q A es < 1,5, o incluso < 1,4143 . . .

c Luis Dissett.

31

P.U.C. Chile, 2004

4.2. ORDENES PARCIALES

CAP ITULO 4. RELACIONES

vemos que s < s. Para probar que s es cota superior de S , basta probar que s > 0 y s 2 > 2 (por qu e?). Que s > 0 es obvio (por qu e?). Como s4 + 4s2 + 4 8s2 s2 4s2 + 4 (s2 2)2 (s2 + 2)2 2 = = = > 0, 4s2 4s2 4s2 4s2 vemos que s 2 > 2. As , el caso s2 > 2 tambi en es imposible. Hemos visto que los casos s2 < 2 y s2 > 2 son imposibles, por lo que la u nica posibilidad es que s2 = 2. Pero este caso tambi en es imposible, debido a la siguiente propiedad (ya conocida por los griegos): s22= No existe un n umero racional s tal que s2 = 2. La demostraci on de esta propiedad es por contradicci on: si s es un racional, puede ser escrito con m y n primos entre s (o sea, sin factores comunes aparte del 1). como s = m n Si s2 = 2, tendr amos m2 = 2n2 , por lo que m2 es par, y por ende m es par. Pero entonces m2 ser a divisible por 4, por lo que 2n2 tambi en es divisible por 4, y por lo tanto n2 ser a par y n tambi en ser a par. Pero el hecho de que m y n sean pares contradice la hip otesis de que m y n son primos entre s . Esta contradicci on muestra que m y n no pueden existir. As , hemos encontrado un ejemplo que prueba que el conjunto de los racionales no satisface el axioma del supremo.

4.2.7.

Los reales y los racionales

Intuitivamente, R se obtiene a partir de Q llenando los agujeros que se forman en Q (los supremos que le faltan a algunos conjuntos de racionales). M as adelante esbozaremos algunas formas de construir los reales a partir de los racionales, y de demostrar que (R, ) es un orden completo.

4.2.8.

El teorema de Knaster-Tarski

Un teorema u til al tratar con ordenes completos es el siguiente: Teorema (Knaster-Tarski). Sea (A, ) un orden completo, con un elemento m aximo y un elemento m nimo. Sea : A A una funci on -mon otona; en otras palabras, preserva el orden : x y (x) (y ).

Entonces existe a A tal que ( a) = a (o sea, tiene un punto jo). Demostraci on. Ejercicio. Ejercicio. Muestre por qu e se necesitan las hip otesis de que A debe tener un elemento m aximo y un elemento m nimo.

4.2.9.

Formas de representar relaciones binarias

Una relaci on binaria denida en un conjunto nito A puede ser representada de varias maneras: por extensi on: listando los pares que la forman. como una matriz 0-1: una matriz M cuyas las y columnas est an indexadas por los elementos de A, y donde 1 si xRy, Mxy = 0 si x R y. como un grafo dirigido : donde los elementos de A son los v ertices y, para cada par (x, y ) R, se tiene una arista que va desde x a y .
c Luis Dissett.

32

P.U.C. Chile, 2004

CAP ITULO 4. RELACIONES

4.2. ORDENES PARCIALES

4.2.10.

Ejemplo

Sea A = {1, 2, 3, 4, 5}, y sea R A A dada por R = {(1, 2), (1, 4), (1, 5), (2, 3), (2, 5), (3, 4), (4, 5)} . Esta relaci on puede ser representada por la matriz 0 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 o bien por el grafo dirigido
2 1

4.2.11.

Diagramas de Hasse

Consideremos el orden (P ({1, 2, 3}), ). Un grafo dirigido que representa este orden es:

{1,2,3}

{1,2}

{1,3}

{2,3}

{1}

{2}

{3}

Muchas de las aristas del grafo anterior pueden ser deducidas de otras, usando el hecho de que la relaci on es un orden parcial. Un orden parcial puede ser representado en forma gr aca de una forma simplicada, tomando el grafo dirigido que lo representa (como relaci on), y haci endole los siguientes cambios: eliminar las aristas que pueden ser deducidas de otras por transitividad; eliminar los lazos (se sabe que todos los posibles lazos est an, por reexividad);
c Luis Dissett.

33

P.U.C. Chile, 2004

4.3. RELACIONES DE EQUIVALENCIA

CAP ITULO 4. RELACIONES

ubicar los v ertices de modo que todas las echas vayan hacia arriba, y eliminar las echas. La gura resultantes es llamada un diagrama de Hasse . Por ejemplo, para el ejemplo anterior, el diagrama de Hasse ser a:

{1,2,3}

{1,2}

{1,3}

{2,3}

{1}

{2}

{3}

4.2.12. Reticulados (lattices)

Denici on 21. Un orden parcial (A, ) es un reticulado si todo subconjunto de A de cardinalidad 2 tiene un supremo y un nmo. Ejemplos: (P (U ), ) es un reticulado. (N {0} , |) es un reticulado. Ejercicio. D e deniciones expl citas de sup {x, y } e inf {x, y } para los ejemplos anteriores. A futuro veremos otros ejemplos.

4.3.

Relaciones de equivalencia

Denici on 22. Sea A un conjunto. Una relaci on de equivalencia en A es una relaci on denida en A que es: 1. 2. 3. reeja en A, sim etrica, y transitiva.

4.3.1.

Ejemplos

La igualdad es siempre una relaci on de equivalencia, en cualquier conjunto A. Si f : A B es una funci on cualquiera, entonces la relaci on denida en A por x y f (x) = f (y ) es una relaci on de equivalencia. Sea n N, n > 0. La relaci on n , denida en Z por x n y n | (x y ), es una relaci on de equivalencia.
c Luis Dissett.

34

P.U.C. Chile, 2004

CAP ITULO 4. RELACIONES La relaci on denida en Z (N {0}) por

4.3. RELACIONES DE EQUIVALENCIA

(a, b) (c, d) ad = bc es una relaci on de equivalencia. La relaci on ser trasladado paralelo entre trazos dirigidos (en el plano o el espacio) es una relaci on de equivalencia. Ejercicio. Demuestre las armaciones contenidas en los ejemplos anteriores.

4.3.2.

Clases de equivalencia

Sea una relaci on de equivalencia denida en A. Para cada a A, consideremos el conjunto [a] = {x A : x a} . Llamamos al conjunto [a] la clase de equivalencia de a por . Cuando la relaci on sea clara del contexto, omitiremos el sub ndice que la menciona. El conjunto A/ = {[a] : a A} es llamado el conjunto cuociente de A por .

4.3.3.

Propiedades de las clases de equivalencia

Las clases de equivalencia de A por satisfacen lo siguiente: cada una de ellas es no vac a; dos cualesquiera distintas de ellas son disjuntas; la uni on de todas ellas es A. Ejercicio. Demuestre lo anterior.

4.3.4.

Particiones

Denici on 23. Dado un conjunto A, un conjunto P (A) es una partici on de A si satisface lo siguiente: S (S = ), S, T (S = T S T = ), = A. As , hemos probado que, si es una relaci on de equivalencia en A, entonces A/ es una partici on de A. Viceversa: si es una partici on de A, es posible denir una relaci on de equivalencia en A tal que A/ = . C omo?
c Luis Dissett.

35

P.U.C. Chile, 2004

4.3. RELACIONES DE EQUIVALENCIA

CAP ITULO 4. RELACIONES

4.3.5.

Deniendo nuevos objetos con relaciones de equivalencia

Uno de los mayores usos de las relaciones de equivalencia es la denici on de nuevos objetos, como conjunto cuociente de otro por una relaci on de equivalencia. Ejemplo. Formalmente, los enteros son denidos como el conjunto cuociente de N N por la relaci on (m, n) (r, s) m + s = n + r.

Ejercicio. Dena formalmente los racionales a partir de una relaci on de equivalencia en Z (N {0}). Ejercicio. Dena formalmente los n umeros reales a partir de una relaci on de equivalencia entre las sucesiones de Cauchy de racionales.

4.3.6.

Ejemplo: los enteros m odulo n

Consideremos la relaci on n , denida en Z por x n y n | (x y ). Llamamos conjunto de los enteros m odulo n al conjunto Zn = {[i] : i Z} (aqu estamos usando la convenci on de que si la relaci on de equivalencia es clara del contexto no la mencionamos expl citamente). Es f acil ver que Zn = {[0] , [1] , . . . , [n 1]} . Los enteros tienen una estructura dada por dos operaciones, + y . Ser a posible que Zn herede esta estructura?

4.3.7.

Operaciones en Zn

La manera natural de denir una suma y un producto en Zn es como sigue: [i] + [j ] = [i + j ] , [i] [j ] = [i j ] , Cu al es el (posible) problema con esta denici on?

4.3.8.

Independencia de los representantes

El cuidado que hay que tener al denir operaciones o funciones en t erminos de miembros de clases de equivalencia de A/ es que dicha denici on sea independiente de los representantes . En otras palabras, si por ejemplo denimos f ([a]) en t erminos de a, debemos cerciorarnos de que, si en lugar de a elegimos b a como representante de [a] (ya que b a [a] = [b]), obtengamos el mismo resultado. Supongamos que denimos f ([a]) como f ([a]) = g (a). Entonces debe tenerse: b a g (b) = f ([b]) = f ([a]) = g (a). Por ejemplo, en el caso de Zn al denir la suma, tendr amos que demostrar que, si a n c y b n d, entonces [a + b] = [c + d].
c Luis Dissett.

36

P.U.C. Chile, 2004

CAP ITULO 4. RELACIONES

4.3. RELACIONES DE EQUIVALENCIA

4.3.9.

Otros objetos denidos por relaciones de equivalencia

El cilindro Consideremos la relaci on denida en R [0, 1] como (x, y )R1 (x , y ) x x Z y = y . Ejercicio. Demuestre que esta es una relaci on de equivalencia. Una hormiga que viva en R [0, 1] pero que perciba los puntos como equivalentes de acuerdo a esta relaci on no pensar a que el mundo es un plano, sino que considerar a que cada uno de los cuadrados de la gura siguiente es el mismo.


A1

B1


A2

B2


A3

B3


A4

B4








     




As , la hormiga creer a que es lo mismo ir de A1 a B1 que de A2 a B2 , de A3 a B3 , etc. Si nuestra hormiga hiciera un mapa de el mundo,encontrar a que los puntos marcados A en la gura de la izquierda ser an equivalentes (y lo mismo pasa con los puntos marcados B ).
A A
A

Identicando estos puntos (y los otros puntos equivalentes en los bordes del cuadrado), vemos que el mundo para esta hormiga tiene una apariencia similar a la de la gura de la derecha. En otras palabras, hemos denido un cilindro como el conjunto cuociente de R [0, 1] por la relaci on de equivalencia indicada m as arriba (o, si se quiere, como el conjunto cuociente del cuadrado unitario [0, 1] [0, 1] por la relaci on que iguala a los puntos correspondientes de los extremos derecho e izquierdo del cuadrado. La cinta de M obius Supongamos que cambiamos la relaci on de equivalencia por la siguiente: (x, y )R2 (x , y ) x x Z y=y si x x es par, . y + y = 1 si x x es impar.

Ejercicio. Demuestre que esta es una relaci on de equivalencia. As , la hormiga ver a R [0, 1] as :


A1

A2 B1






B2 A3

A4 B3

 
B4




     




La hormiga del ejemplo considerar a que los bordes derecho e izquierdo de cada uno de estos cuadrados son equivalentes, pero con los puntos dados vuelta (ver gura).
c Luis Dissett.

37

P.U.C. Chile, 2004

4.3. RELACIONES DE EQUIVALENCIA


A B

CAP ITULO 4. RELACIONES

As , al hacer el mapa, la hormiga descubrir a que el mundo tiene la forma de una cinta de M obius :

A B
Quiz as la cinta de M obius m as conocida es el desle de hormigas pintado por M.C. Escher:

El toro Tambi en conocido como la dona o el Michelin, el toro se obtiene al tomar el cuociente de [0, 1] [0, 1] por la relaci on que hace equivalente a cada punto del extremo izquierdo con el correspondiente punto del extremo derecho, y a cada punto del extremo superior con el correspondiente punto del extremo inferior (las echas indican qu e puntos se identican con cu ales):

Una imagen del toro es


c Luis Dissett.

38

P.U.C. Chile, 2004

CAP ITULO 4. RELACIONES

4.3. RELACIONES DE EQUIVALENCIA

La botella de Klein Otro ejemplo de supercie que se puede denir usando relaciones de equivalencia es la botella de Klein : para ello tomamos el cuociente de [0, 1] [0, 1] por la relaci on que hace equivalente a cada punto del extremo superior con el correspondiente punto del extremo inferior, y a cada punto del extremo izquierdo con el punto opuesto del extremo derecho (las echas indican qu e puntos se identican con cu ales):

Lamentablemente, en R3 es imposible realizar una botella de Klein (o sea, es imposible conseguir una botella de Klein sin que se cruce consigo misma). Una imagen de la botella de Klein (con un cruce) es:

c Luis Dissett.

39

P.U.C. Chile, 2004

4.4. EJERCICIOS

CAP ITULO 4. RELACIONES

4.3.10.

El volumen de la botella de Klein

As como la cinta de M obius tiene un solo lado, la botella de Klein no tiene interior y exterior. Si designamos una de las supercies como adentro, es posible moverse sobre dicha supercie y llegar a estar afuera. As , el interior de la botella tiene volumen 0, por lo que una graduaci on adecuada de su volumen est a dado por la siguiente foto:

4.4.
1.

Ejercicios

Sea A = , y sea R A A el conjunto vac o. Cu ales de las siguientes propiedades tiene R? a) b) c) d) reeja, sim etrica, transitiva, antisim etrica.

2.

Dada una relaci on R denida en un conjunto A, denimos R1 = {(x, y ) A A : (y, x) R} . Demuestre que R es sim etrica sii R = R1 .

3.

Dada una relaci on R denida en un conjunto A, denimos la clausura sim etrica de R como = R {S : R S A A S es sim etrica} .

= R R1 . Deduzca que R es sim Demuestre que R etrica. 4. Dadas dos relaciones R A B y S B C , denimos la composici on S R de R y S como S R = {(x, z ) A C : y B (xRy ySz )} . Demuestre que R A A es transitiva sii R R R.
c Luis Dissett.

40

P.U.C. Chile, 2004

CAP ITULO 4. RELACIONES 5.

4.4. EJERCICIOS

Dada una relaci on R denida en un conjunto A, denimos la clausura transitiva de R como R+ = Demuestre que R+ =
n=1

{S : R S A A S es transitiva} . Rn , donde Rn est a denido inductivamente por R1 R


n+1

= R, = Rn R.

Deduzca que R+ es transitiva. 6. Sea f : A B una funci on. Demuestre que la siguiente relaci on R es de equivalencia en A: (x, y ) R f (x) = f (y ). Sean R1 y R2 dos relaciones de equivalencia en A. Demuestre que R1 R2 es relaci on de equivalencia en A. Es necesariamente R1 R2 una relaci on de equivalencia? Justique. Generalizando el problema anterior, sea {Ri : i I } una familia (posiblemente innita) de relaciones de equivalencia denidas en un conjunto A. Demuestre que R=
iI

7. 8.

Ri

tambi en es relaci on de equivalencia en A. 9. Demuestre que las siguientes relaciones denidas en R2 R2 son de equivalencia: (x, y )R1 (x , y ) x x Z. (x, y )R1 (x , y ) x x Z y = y . En clases vimos (informalmente) que es posible denir un cilindro como el cuociente del conjunto R [0, 1] por la relaci on de equivalencia (x, y )R1 (x , y ) x x Z y = y , y que es posible denir la cinta de M obius como el cuociente del mismo conjunto por la relaci on y=y si x x es par, (x, y )R2 (x , y ) x x Z y + y = 1 si x x es impar. Demuestre que las relaciones R1 y R2 denidas en el p arrafo anterior, as como las relaciones R3 , R4 y R5 denidas en R2 que se dan a continuaci on son efectivamente relaciones de equivalencia.

(x, y )R3 (x , y ) x x Z y y Z; (x, y )R4 (x , y ) x x Z (x, y )R5 (x , y ) y y Z si x x es par, y + y Z si x x es impar;

(x x P y y P) (x + x P y + y P) (x x I y + y I) (x + x I y y I) (donde P y I representan los conjuntos de enteros pares e impares respectivamente). 41


P.U.C. Chile, 2004

c Luis Dissett.

4.4. EJERCICIOS 10. Considere la siguiente relaci on denida en N2 :

CAP ITULO 4. RELACIONES

(m, n) (m , n ) m + n = m + n. a) b) c) d) Demuestre que la relaci on as denida es de equivalencia. Liste algunos elementos de las clases de equivalencia [(0, 3)], [(4, 1)], [(5, 0)], [(2, 7)]. Formalmente, Z = N2 / . Intuitivamente, a qu e entero corresponde la clase [(m, n)]? Demuestre que la operaci on entre clases de equivalencia dada por [(m, n)] [(p, q )] = [(m + p, n + q )] est a bien denida (en otras palabras, esta denici on no depende de los representantes escogidos: si (m , n ) [(m, n)] y (p , q ) [(p, q )] entonces [(m + p , n + q )] = [(m + p, n + q )]). Intuitivamente, la operaci on corresponde a la suma de n umeros enteros. Dena una operaci on que corresponda al producto de n umeros enteros.

e) 11.

As como en el ejercicio anterior denimos formalmente Z, en este ejercicio queremos denir Q. Para ello, consideramos la siguiente relaci on denida en Z (N {0}): (k, n) (k , n ) kn = k n. a) b) c) d) Demuestre que la relaci on as denida es de equivalencia. Liste algunos elementos de las clases de equivalencia [(0, 2)], [(3, 1)], [(2, 3)]. Formalmente, Q = (Z (N {0})/ . Intuitivamente, a qu e n umero racional corresponde la clase [(k, n)]? Demuestre que la operaci on entre clases de equivalencia dada por [(k, n)] [(l, p)] = [(kl, np)] est a bien denida (en otras palabras, esta denici on no depende de los representantes escogidos: si (k , n ) [(k, n)] y (l , p ) [(l, p)] entonces [(k l , n p )] = [(kl, np)]). Intuitivamente, la operaci on corresponde a la multiplicaci on de n umeros racionales. Dena una operaci on que corresponda a la suma de n umeros racionales. (m od n) como:

e) 12.

Sea n N. En Z, denimos la relaci on xy a) Demuestre que

(m od n) n divide a x y.

(m od n) es una relaci on de equivalencia. b ) El conjunto Zn (los enteros m odulo n) es denido como Z/ = [16], [22], [28] y [39] en Z7 . c) Denimos la operaci on + (suma m odulo n) en Zn , como sigue: [k ] + [l] = [k + l].

(m od n). Encuentre

Demuestre que esta operaci on est a bien denida, es decir, es independiente de los representantes considerados. d) e) Dena una operaci on (multiplicaci on m odulo n) en Zn . Demuestre que esta operaci on est a bien denida. Queremos denir la operaci on [k ] [l] en Zn , como sigue: [k ] [l] = k+l 2 .

Aqu , x representa la parte entera de x (o sea, el mayor entero que no excede x). Demuestre que esta operaci on no est a bien denida, es decir, si x, y Zn entonces el valor de x y depende de los representantes considerados.

c Luis Dissett.

42

P.U.C. Chile, 2004

Cap tulo 5

Funciones
5.1. Deniciones b asicas

Denici on 24. Una relaci on f A B es llamada una funci on de A en B (en s mbolos, f : A B ) si , dado cualquier x A, existe un u nico y B tal que (x, y ) f . Notaci on. Dado x A, denotamos por f (x) al u nico y B tal que (x, y ) f .

5.1.1.

Tipos de funciones

Una funci on f : A B es: Inyectiva (o 1-1) si, dados x, y A, f (x) = f (y ) x = y. Epiyectiva (o sobreyectiva, o simplemente sobre ) si, dado cualquier y B , existe alg un x A tal que y = f (x). Biyectiva (o biyecci on, o correspondencia biun voca ) si es inyectiva y epiyectiva. Estamos especialmente interesado en las biyecciones.

5.2.

Cardinalidad

Intuitivamente, contar los elementos de un conjunto A signica poner en correspondencia el conjunto A con los elementos de un conjunto de referencia. Formalmente, diremos lo siguiente: Denici on 25. Dados dos conjuntos A y B , estos tienen la misma cantidad de elementos si existe una biyecci on f : A B . En este caso tambi en se dice que A y B son equinumerosos , o equipotentes , lo que denotaremos por A B . Teorema. La relaci on es una relaci on de equivalencia. Denici on 26. Sea A un conjunto cualquiera. El cardinal de A (que anotamos |A|) es su clase de equivalencia por la relaci on de equinumerosidad. T picamente, usamos alg un miembro de |A| para denotar la clase entera. 43

5.3. CARACTERIZACIONES DE NUMERABILIDAD

CAP ITULO 5. FUNCIONES

5.2.1.

Conjuntos nitos e innitos


n = {0, 1, 2, . . . , n 1} .

Recordemos que un elemento de N es de la forma

Denici on 27. Un conjunto se dice nito si es equinumeroso con alg un n N. En este caso, diremos que la cardinalidad de A es n: |A| = n. Un conjunto que no es nito se dice (sorpresa) innito .

5.2.2.

Caracterizando los conjuntos nitos

Sea A un conjunto nito, y sea f : A A. Es posible demostrar que: si f es 1-1 entonces es sobre. si f es sobre entonces es 1-1. M as a un: si A es un conjunto cualquiera, tal que toda funci on 1-1 f : A A es sobre (o que toda funci on sobre f : A A es 1-1), entonces A es nito.

5.2.3.

Conjunto numerables

Un conjunto equinumeroso con N se dice numerable . Claramente, todo conjunto numerable es innito. Ser a verdad el rec proco?

5.2.4.

Ejemplos de conjuntos numerables

Algunos de los conjuntos que pueden ser puestos en correspondencia biun voca con N: P, el conjunto de los naturales pares: P = {2n : n N} . I, el conjunto de los naturales impares: P = {2n + 1 : n N} . , el conjunto de los n umeros primos: = {2, 3, 5, 7, 11, 13, 17, 19, 23, . . . } . Estos ejemplos pueden aparecer anti-intuitivos a primera vista, ya que estos conjuntos son todos subconjuntos propios de N. Esperar amos que tuvieran cardinalidad menor que la de N.

5.3.

Caracterizaciones de numerabilidad

Una manera de caracterizar los conjuntos numerables es la siguiente: Un conjunto A es numerable si y s olo si es posible escribir A como una lista innita : A = {a1 , a2 , a3 , . . . } . En otras palabras, existe una sucesi on (a1 , a2 , a3 , . . . ) de elementos de A con la propiedad de que todo elemento de A aparece en alg un momento en dicha sucesi on . En t erminos algor tmicos, podemos pensar esto como que existe un algoritmo1 que genera un elemento de A, luego otro, y as sucesivamente, de modo que todo elemento de A es generado en alg un momento por este algoritmo .
1 Aunque

este algoritmo nunca termina . . .

c Luis Dissett.

44

P.U.C. Chile, 2004

CAP ITULO 5. FUNCIONES

5.4. LOS RACIONALES

5.4.

Los racionales

Es Q numerable? Argumento (intuitivo) en contra: Parece haber demasiados racionales m as que naturales. Entre dos naturales consecutivos siempre hay una cantidad innita de racionales! Sin embargo, es posible hacer una lista (innita) en que cada racional aparezca (exactamente) una vez: 1 1 2 1 3 1 2 3 4 , , , , , , , , ,... . Q= 1 2 1 3 1 4 3 2 1 O sea, Q es numerable.

5.5.

Los reales

Ser a verdad que R es numerable? Se puede demostrar que ni siquiera el intervalo cerrado [0, 1] es numerable . . . Demostraci on. Supongamos que [0, 1] es numerable. Entonces, es posible escribir [0, 1] = {r0 , r1 , r2 , . . . } donde: r0 r1 r2 r3 = 0.c00 c01 c02 c03 c04 = 0.c10 c11 c12 c13 c14 = 0.c20 c21 c22 c23 c24 = 0.c30 c31 c32 c33 c34 . . .

donde cij {0, . . . , 9}. Pero entonces el real r := 0.d0 d1 d2 d3 d4 donde di := (cii + 5) no aparece en la lista . . . Ejercicio. D onde falla el argumento aqu presentado al tratar de demostrar de la misma manera que Q [0, 1] no es numerable? mod 10

5.6.

El argumento de Cantor

El argumento presentado antes es llamado la diagonalizaci on de Cantor o argumento diagonal de Cantor . El teorema presentado es un caso particular del siguiente: Teorema (Cantor). Sea A un conjunto cualquiera. Entonces no hay ninguna biyecci on entre A y P (A).

5.6.1.

El problema de la detenci on

El argumento diagonal de Cantor tiene aplicaciones a Ciencia de la Computaci on. Por ejemplo, se le usa para probar que es imposible escribir un programa cuya entrada sea un par (P, A) (donde P es un programa y A un archivo de datos) y decida si el programa P se detendr a al ser ejecutado con entrada A.
c Luis Dissett.

45

P.U.C. Chile, 2004

5.7. ORDEN ENTRE CARDINALIDADES

CAP ITULO 5. FUNCIONES

5.7.

Orden entre cardinalidades

El hecho de que no hay una biyecci on entre N y el intervalo [0, 1], o entre A y P (A) (y sin embargo s hay una funci on 1-1 f : N [0, 1], y una de A en P (A)) nos sugiere la siguiente denici on: Denici on 28. Dados dos conjuntos A y B , decimos que B tiene al menos tantos elementos como A (o que A no tiene m as elementos que B ) si existe una funci on 1-1 f : A B . Si este es el caso, anotamos A B .

5.7.1.
1. 2. 3.

Propiedades de
tiene las siguientes propiedades: A; ByB C entonces A ByB C;

La relaci on es reeja: A

es transitiva: si A

es casi antisim etrica: si A Bernstein (CSB)).

A entonces A B (teorema de Cantor-Schr oder-

En realidad, no es un orden parcial pero determina un orden parcial en el conjunto2 de clases de equivalencia por la relaci on .

5.8.

El teorema de Cantor-Schr oder-Bernstein (CSB)

Enunciamos el Teorema (Cantor-Schr oder-Bernstein). Si A B y B A entonces A B . O sea: si existe una funci on inyectiva g : A B y una funci on inyectiva h : B A, entonces existe una biyecci on f : A B . Antes de ver su demostraci on, estudiaremos un caso particular del teorema.

5.8.1.

Proleg omeno:

Demostraremos primero que [0, 1] [0, 1). Para hacer esto, la primera (est upida) idea que se nos ocurre es considerar la funci on f0 (x) = x denida en [0, 1]. Qu e problema tenemos? Como f0 (1) ni siquiera est a en el conjunto de llegada, debemos asignarle a 1 una imagen en [0, 1). Digamos por ejemplo que a 1 le asignamos como imagen 1/2. As , denimos f1 : [0, 1] [0, 1) como sigue: x si x = 1, f1 (x) = 1/2 si x = 1. Ahora tenemos que 1/2 tiene dos pre-im agenes: 1 y 1/2. Ya que el 1 acaba de llegar a 1/2, est a cansado, por lo que el que tiene que reubicarse es 1/2. Digamos, por ejemplo, que 1/2 se va a 1/4 (podr a ser 1/3, o cualquier otro = 1/2). As , denimos f2 : [0, 1] [0, 1) como sigue: si x = 1, x = 1/2, x f2 (x) = 1/2 si x = 1, 1/4 si x = 1/2. Ahora tenemos un problema con 1/4 . . . Qu e hacemos?
2 La

clase propia?

c Luis Dissett.

46

P.U.C. Chile, 2004

CAP ITULO 5. FUNCIONES 5.8. EL TEOREMA DE CANTOR-SCHRODER-BERNSTEIN (CSB) Ahora mandemos 1/4 a 1/8. As , denimos f3 : [0, 1] [0, 1) como sigue: x 1/2 f2 (x) = 1/4 1/8 si si si si
1 x / 1, 1 2, 4 , x = 1, x = 1/2, x = 1/4.

Y ahora el problema se produce en 1/8 . . . Qu e hemos ganado? Hemos ganado mucho: si consideramos la funci on f (x) = l m fn (x) =
n

x x/2

1 1 1 , 4, 8, . . . , si x / 1, 2 1 1 1 si x 1, 2 , 4 , 8 , . . . ,

entonces es posible demostrar que, efectivamente, f es una biyecci on entre [0, 1] y [0, 1). Demostraci on. Ejercicio.

5.8.2.

Demostraci on de C-S-B

Retomemos la demostraci on del Teorema de Cantor, Schr oder y Bernstein. Sean A y B dos conjuntos tales que hay dos funciones inyectivas, g : A B y h : B A. Sea B = h(B ) A. Claramente, B y B son equinumerosos (h : B B es una biyecci on). As , si logramos establecer una biyecci on entre A y B tendremos la equinumerosidad deseada entre A y B . Claramente, h g : A B es inyectiva. As , nos bastar a con demostrar la siguiente versi on simplicada del teorema: Dados un conjunto A y un subconjunto A de A, si existe una funci on inyectiva j : A A , entonces A y A son equinumerosos. En el caso que demostramos anteriormente, A = [0, 1], A = [0, 1), j : [0, 1] [0, 1) est a dada por j (x) = x/2. La manera de construir la biyecci on entre A y A recuerda a la de la demostraci on anterior. Primera (est upida) idea : f0 : A A dada por f0 (x) = x no resulta (se escapa de A ).

5.8.3.

Soluci on (temporal) del problema

Denimos f1 : A A como sigue: f1 (x) = x j (x) si x / AA, si x A A .

Ahora el problema lo tenemos con los elementos de j (A A ) (lo que pasaba con 1/2 en el ejemplo). Si x j (A A ), en lugar de mandar x a x, los mandamos a j (x). O sea: f2 (x) = x j (x) si x / A A j (A A ), si x A A j (A A ).

Se ve que vamos a tener problemas con j (j (A A )), j (j (j (A A ))), etc.


c Luis Dissett.

47

P.U.C. Chile, 2004

5.9. EJERCICIOS

CAP ITULO 5. FUNCIONES

5.8.4.

Soluci on nal

Consideremos los conjuntos C0 = A A , C1 = j (C0 ), C2 = j (C1 ), C3 = j (C2 ), etc. Claramente, necesitamos aplicar j a los elementos de estos conjuntos. As , sea

C=
i=0

Ci .

Denimos f (x) = x j (x) si x / C, si x C.

Ejercicio. Demuestre que la funci on f : A A reci en denida es efectivamente una biyecci on (tarea, 22002).

5.9.
1. 2. 3. 4.

Ejercicios

Demuestre que si A es un conjunto nito y B A entonces B es nito. Demuestre que si A es un conjunto nito entonces toda funci on f : A A es 1-1 si y s olo si es sobre. Demuestre que un conjunto A es innito si y s olo si A es equinumeroso con alg un subconjunto propio A A. Demuestre que el conjunto N N es numerable. Construya expl citamente una biyecci on f : N N N. Determine el valor de f (17) y de f 1 (5, 6).

5.

D e biyecciones expl citas entre: a) b) c) El conjunto de los naturales pares y el de los enteros impares. El conjunto de los naturales pares y el de los enteros. El conjunto de las potencias de 2 y el de los n umeros enteros pares.

6.

Demuestre que si dos conjuntos A y B son numerables entonces A B es numerable. Ayuda: Cuidado con los elementos comunes a A y a B !

7. 8. 9.

Demuestre que si dos conjuntos A y B son nitos entonces A B y A B son conjuntos nitos. Demuestre que si A es un conjunto nito y B es un conjunto numerable entonces A B es numerable y A B es nito. Demuestre que si A N entonces A es nito A tiene un m aximo.

10.

D e ejemplos de dos conjuntos innitos no numerables cuya intersecci on sea: a) b) c) nita, innita numerable, innita no numerable.

11.

Sean A, B y C conjuntos tales que C A, A B = y B = C . Demuestre que A B = A. 48


P.U.C. Chile, 2004

c Luis Dissett.

CAP ITULO 5. FUNCIONES 12. 13. 14.

5.9. EJERCICIOS

Demuestre que el conjunto de todas las sucesiones de n umeros enteros no es numerable. Demuestre que el conjunto de todas las sucesiones nitas de n umeros racionales es numerable. Una sucesi on (a0 , a1 , a2 , . . . ) de enteros se dice eventualmente peri odica si existen dos n umeros naturales n0 y p > 0 tales que, para todo n n0 , an+p = an . Demuestre que el conjunto de todas las sucesiones eventualmente peri odicas de enteros es numerable.

15.

Una sucesi on (a0 , a1 , . . . ) de enteros se dice progresi on aritm etica si para todo n N se tiene an+2 an+1 = an+1 an . Demuestre que el conjunto de todas las progresiones aritm eticas de enteros es numerable.

16.

Un n umero real se dice algebraico si es ra z de alg un polinomio con coecientes enteros. Si un n umero real no es algebraico entonces es trascendente . a) b) Demuestre que el conjunto de todos los n umeros reales algebraicos es numerable. Demuestre que el conjunto de todos los n umeros reales trascendentes no es numerable.

17. 18.

Demuestre que el conjunto P (N) (el conjunto potencia de N) tiene la misma cardinalidad que R. Demuestre que el conjunto de todas las secuencias nitas de enteros positivos es numerable.
k Ayuda: A la secuencia (r0 , r1 , r2 , . . . , rk ) as ociele el n umero 2r0 3r1 pr k , donde pk es el k - esimo primo (contando desde cero).

19. 20. 21. 22. 23.

Demuestre que el conjunto de todas las secuencias nitas de racionales es numerable. Demuestre que el conjunto de todas las rectas del plano que pasan por (al menos) dos puntos con coordenadas racionales, es numerable. Demuestre que cualquier conjunto innito de c rculos disjuntos en el plano es numerable. Por qu e es importante aqu la hip otesis de disjuntos? Demuestre que N puede ser escrito como la uni on de una familia numerable de conjuntos numerables disjuntos. Demuestre que si D es un conjunto numerable de puntos del plano cartesiano, entonces es posible escribir D como D = Dx Dy , donde Dx es nito para cada recta paralela al eje X , y Dy es nito para cada recta paralela al eje Y . Demuestre que en el conjunto P (N) (el conjunto potencia de los naturales) es posible encontrar una cadena no numerable de subconjuntos, o sea, una familia no numerable S P (N) tal que A, B S (A B B A).

24.

c Luis Dissett.

49

P.U.C. Chile, 2004

5.9. EJERCICIOS

CAP ITULO 5. FUNCIONES

c Luis Dissett.

50

P.U.C. Chile, 2004

Cap tulo 6

Inducci on y clausuras
6.1. Inducci on (sobre los naturales)

Usamos inducci on sobre los naturales para: Demostrar que todos los n umeros naturales tienen una cierta propiedad.
n

Ejemplo t pico:
k=1

k =

n(n + 1) . 2

Denir diversos objetos asociados a los n umeros naturales: deniciones inductivas/recursivas de: funciones, relaciones, etc. Ejemplo t pico: denici on de la funci on factorial para todo natural. 0! = 1, (n + 1)! = (n + 1) n!.

Suponemos que el factorial est a denido para n y lo denimos para n + 1. La inducci on nos permite demostrar que existe una u nica funci on ! : N N que satisface las ecuaciones de arriba.

6.1.1.

Otros puntos de partida

Hemos adoptado la convenci on de que el primer n umero natural es cero. Qu e pasa si queremos demostrar que una propiedad se cumple a partir de n = 17? o, incluso, a partir de n = 13? En realidad, dado no Z, podemos considerar, en lugar de N, el conjunto {n Z : n no }, y demostrar la propiedad deseada (o denir el nuevo concepto) para n en dicho conjunto (N corresponde a la elecci on no = 0). Los principios de inducci on que veremos a continuaci on pueden ser adaptados a cualquier elecci on de no .

6.1.2.

Principios de Inducci on

Hay (al menos) tres principios de inducci on para naturales que son equivalentes: Principio Simple de Inducci on (PSI) Dado un subconjunto S de N (S N), si se cumple que: (i) 0 S ; (ii) dado cualquier n N, si n S entonces n + 1 S ; 51

(SOBRE LOS NATURALES) Y CLAUSURAS 6.1. INDUCCION CAP ITULO 6. INDUCCION entonces S = N. Al realizar demostraciones basadas en este principio le llamamos a la parte correspondiente a (i) base de la inducci on, y a (ii) el paso inductivo. Dentro del paso inductivo, la parte n S recibe el nombre de hip otesis de inducci on (HI) y la parte n + 1 S recibe el nombre de tesis de inducci on (TI). Principio de Inducci on por curso de valores (tambi en llamado segundo principio de inducci on o principio fuerte de inducci on). Dado un subconjunto S de N (S N), si se cumple que, para todo n N: {k N : k < n} S n S, entonces S = N. Aqu vemos que no hay una base expl cita: s olo hay un paso inductivo, y en este la HI es {k N : k < n} S y la TI es n S . Principio del buen orden Todo subconjunto no vac o, S = , de N, tiene un primer elemento, es decir, existe y S , tal que, para todo x S , y x. Como dijimos al principio, todos estos pricipios son equivalentes: cada uno se puede demostrar a partir de cualquiera de los otros. A veces, uno es m as apropiado que otro, seg un el problema donde se quiera aplicar. PICV es muy poderoso, la hip otesis es m as fac l de usar, ya que lo que se quiere demostrar se supone para todos los predecesores de n, y no s olo para n 1. ( )

6.1.3.

Ejercicios

Ejercicio. C omo puede usar el principio de inducci on simple (y justicar el uso) para demostrar que todos los n umeros naturales mayores que, digamos 10, tienen una cierta propiedad? Ejercicio. Lo mismo que antes, pero ahora se desea demostrar que todos los n umeros enteros mayores que, digamos 5, tienen una cierta propiedad. Ejercicio. Lo mismo que en los dos ejercicios anteriores, pero ahora usando PICV. Ejercicio. Demuestre la equivalencia entre los tres principios de inducci on. Ayuda: Encuentre una cadena c clica de implicaciones.

6.1.4.

Una formulaci on equivalente

Los dos primeros principios de inducci on pueden ser formulados de manera equivalente usando predicados en lugar de conjuntos. Sea P (n) un predicado con una variable n (entera o natural). Entonces podemos formular los dos primeros principios de inducci on como sigue: Principio Simple de Inducci on (PSI) Si se cumple que: (i) P (0); y (ii) para todo n N, si se cumple P (n) entonces se cumple P (n + 1); entonces n N(P (n)). Principio de Inducci on por curso de valores Si, para todo n N se cumple que: k N(k < n P (k )) P (n), entonces n N(P (n)).
c Luis Dissett.

( )

52

P.U.C. Chile, 2004

Y CLAUSURAS CAP ITULO 6. INDUCCION

6.2. CLAUSURAS

6.1.5.

Casos base en en PICV


) para todo

N otese que, para usar PICV, hay que demostrar ( ) o, equivalentemente, ( n N. Esto incluye al 0, por lo que debemos demostrar que: {k N : k < 0} S 0 S.

Como la hip otesis es siempre verdadera, no aporta nada, e igual hay que demostrar que 0 S , a partir de nada, tal como en PSI. En otros casos, el hecho de que {k N : k < n} S no aporta nada porque en la demostraci on de que n S no se ocupa la hip otesis . A estos casos los llamaremos casos base de las demostraciones por PICV (y, t picamente, 0 es un caso base de estas demostraciones, pero no es necesariamente el u nico). Ejemplo. Demostremos que, si tenemos una cantidad innita de estampillas de 4 y 7 pesos, podemos formar cualquier franqueo de 18 pesos o m as. Sea S = {n N : n 18 existen x, y N tales que n = 4x + 7y }. Los casos base en nuestra demostraci on corresponden a 0 n < 18 (que trivialmente pertenecen a S ), n = 18, n = 19, n = 20 y n = 21. Por ejemplo, 21 es caso base porque la demostraci on de que 21 S no usa el hecho de que {0, 1, . . . , 20} S . As , en la demostraci on de que todo n umero natural n pertenece a S , hay 22 casos base. Ejemplo. Consid erese la demostraci on de que todo n umero natural 2 tiene un factor primo. Sea S = {n N : n 2 n tiene un factor primo }. Si n es compuesto, usamos la HI. Pero si n es primo, no la necesitamos para comprobar que n S. As , en la demostraci on de que todo n umero natural 2 tiene un factor primo, hay una cantidad innita de casos base : todos los n primos, m as 0 y 1 (que trivialmente pertenecen a S ).

6.1.6.

Aplicaciones de inducci on en N

En lo que sigue veremos aplicaciones no usuales en cursos b asicos, pero importantes y u tiles: Acotaci on de soluciones de ecuaciones de recurrencia. No s olo hay que demostrar que la soluci on (usualmente no disponible expl citamente) est a acotada por una expresi on algebraica que contiene constantes, sino que hay que demostrar en el proceso que tales constantes existen (inducci on constructiva). Demostraci on de Correcci on y T ermino de programas computacionales. Se trata de demostrar que el programa para y que entrega en la salida el resultado esperado. Demostraci on de principios combinatorios (el Principio de los Cajones).

6.2.
6.2.1.

Clausuras
Funciones n-arias

Denici on 29. Sea A un conjunto cualquiera, y sea n N. Una funci on f : An A es llamada una operaci on n-aria denida en A. Note que toda operaci on n-aria es esencialmente una relaci on (n + 1)-aria Rf : f (x1 , x2 , . . . , xn ) = y (x1 , x2 , . . . , xn , y ) Rf .
c Luis Dissett.

53

P.U.C. Chile, 2004

6.2. CLAUSURAS

Y CLAUSURAS CAP ITULO 6. INDUCCION

6.2.2.

Conjuntos cerrados

Denici on 30. Sean A un conjunto cualquiera, n N, y f : An A una operaci on n-aria denida en A. Un subconjunto S A se dice cerrado bajo f si, dados x1 , x2 , . . . , xn S se tiene necesariamente f (x1 , x2 , . . . , xn ) S . Ejemplos. 1. Sean A = Z, n = 1, y sea f : Z Z dada por f (x) = x. El conjunto P de enteros pares es cerrado bajo f . El conjunto I de enteros impares es cerrado bajo f . El conjunto N de los n umeros naturales no es cerrado bajo f . 2. Sean A = Z, n = 2, y sea g : Z Z Z dada por g (x, y ) = x + y . El conjunto P de enteros pares es cerrado bajo g . El conjunto I de enteros impares no es cerrado bajo g .

6.2.3.

Conjuntos cerrados bajo una relaci on

Generalicemos las ideas anteriores: Denici on 31. Si A es un conjunto no vac o, n N, y R An+1 es una relaci on (n + 1)-aria cualquiera, entonces un conjunto S A se dice cerrado bajo R si, dados x1 , x2 , . . . , xn , S , xn+1 A tales que (x1 , x2 , . . . , xn , xn+1 ) R, se tiene necesariamente xn+1 S . En particular, note que la noci on anteriormente denida de conjunto cerrado bajo una operaci on, es un caso particular del concepto de conjunto cerrado bajo una relaci on.

6.2.4.

El menor conjunto que satisface

Sea U un conjunto universal dado, sea (S ) una propiedad que tienen algunos subconjuntos S de U , y sea A U un conjunto dado, jo. Nos interesa encontrar un conjunto C U que satisfaga lo siguiente: 1. A C . 2. 3. Se cumple (C ). Dado cualquier D U tal que A D y (D), debe tenerse C D.

Si existe C que cumpla estas tres propiedades, diremos que C es el menor subconjunto de U que contiene a A y satisface . Note que este es un elemento m nimo (en el orden de la inclusi on) entre los conjuntos que contienen a A y satisfacen . Note que de existir C que cumpla estas tres propiedades, es u nico. Ejemplos. Sea U = N, y (S ) denida por S es cerrado bajo adici on. Si A = {3}, entonces el menor conjunto que contiene a A y satisface (o sea, el menor conjunto que contiene a A y es cerrado bajo adici on) es el de los m ultiplos positivos de 3. Si A = {4, 7}, entonces el menor conjunto que contiene a A y es cerrado bajo adici on es C = N {0, 1, 2, 3, 5, 6, 9, 10, 13, 17} . Esto puede ser interpretado como sigue: si n es cualquier entero positivo excepto 1,2,3,5,6,9,10,13 o 17 , entonces es posible franquear una carta por $n usando s olo estampillas de $4 y $7.
c Luis Dissett.

54

P.U.C. Chile, 2004

Y CLAUSURAS CAP ITULO 6. INDUCCION

6.2. CLAUSURAS

6.2.5.

Un problema

Dependiendo de cu al sea la propiedad , es posible que no exista el menor conjunto que contiene a A y satisface . Ejemplo. Sean U = N, A = {0}, y (S ) la propiedad S {1, 2} = . Entonces no existe un u nico elemento minimal (en el orden de la inclusi on) entre los subconjuntos de U que contienen a A y satisfacen , y por ende no existe entre ellos un elemento m nimo.

6.2.6.

Una denici on alternativa

Teorema. Sea U un conjunto universal dado, sea (S ) una propiedad que tienen algunos subconjuntos S de U , y sea A U un conjunto dado, jo. Si existe un menor subconjunto C de U que contiene a A y satisface entonces C= {S U : A S (S )} .

Demostraci on. Ejercicio. Este teorema tiene una suerte de rec proco: si B= {S U : A S (S )}

satisface , entonces B es el menor subconjunto buscado.

6.2.7.

Propiedades de clausura

Denici on 32. Diremos que una propiedad (S ) denida sobre los subconjuntos de un conjunto dado A es una propiedad de clausura si (S ) es de la forma S es cerrado bajo cada una de las relaciones R1 , R2 , . . . , Rk , donde k es un entero positivo y R1 , R2 , . . . , Rk son relaciones denidas en A.

6.2.8.

Clausura bajo una relaci on

Teorema. Sean U un conjunto universal dado, A U un subconjunto jo de U , y sea una propiedad de clausura que es satisfecha por algunos de los subconjuntos de U . Entonces existe un menor subconjunto de U que contiene a A y satisface . Demostraci on. Ejercicio. Ayuda: aprov echese del rec proco del teorema anterior: demuestre que B= satisface . Notaci on. Denotaremos la clausura de A bajo las relaciones R1 , R2 , . . . , Rn por C (A; R1 , R2 , . . . , Rn ). Ejemplos. La clausura aditiva La mayor a de los ejemplos de clausuras pueden ser presentados como clausuras bajo relaciones. Por ejemplo:
c Luis Dissett.

{S U : A S (S )}

55

P.U.C. Chile, 2004

Y CLAUSURAS 6.3. OTRA FORMA DE VER LAS CLAUSURAS CAP ITULO 6. INDUCCION Sea S Z. La clausura aditiva de S (el menor conjunto cerrado bajo suma que contiene a S ) es la clausura de S bajo la relaci on (x, y, z ) Z3 : x + y = z . Expresiones aritm eticas El conjunto de todas las expresiones aritm eticas que se pueden formar con constantes y variables en un lenguaje de programaci on pueden ser vistas como la clausura del conjunto {X : X es una constante o variable} bajo las relaciones: R1 R2 R3 R4 : : : : . . . {(E1 , E2 , E3 ) : E3 = (E1 + E2 )} , {(E1 , E2 , E3 ) : E3 = (E1 E2 )} , {(E1 , E2 , E3 ) : E3 = (E1 E2 )} , {(E1 , E2 ) : E2 = (E1 )} ,

El conjunto N El conjunto N puede ser visto como la clausura de {} bajo la relaci on sucesor: = {(x, y ) : y = x {x}} .

6.2.9.

Clausura sim etrica de una relaci on

Sea R A A una relaci on. Denimos la clausura sim etrica de R como Rs = {S : R S A A S es sim etrica} . Rs es la menor relaci on sim etrica que contiene a R. Podemos denir Rs como la clausura de R bajo la relaci on S (A A)2 = (A A) (A A) denida por S = {((a, b) , (b, a)) : a, b A} . Ejercicio. Dena de las dos maneras anteriores la clausura reeja, la clausura transitiva, la clausura transitiva-reeja, etc., de una relaci on. Ejercicio. Dena de las dos maneras anteriores la menor relaci on de equivalencia que contiene a R.

6.3.

Otra forma de ver las clausuras


S0 Si+1 = A, = Si {y U : x1 , . . . , xn Si (x1 , . . . , xn , y ) R} para i 0.

Sean A U y R An+1 . Denimos:

Teorema. La clausura de A bajo la relaci on R es C (A; R) =


i=0

Si .

An alogamente podemos denir C (A; R1 , R2 , . . . , Rn ).


c Luis Dissett.

56

P.U.C. Chile, 2004

Y CLAUSURAS CAP ITULO 6. INDUCCION

ESTRUCTURAL 6.4. INDUCCION

6.3.1.

Capas

Denimos C0 = S0 = A. Para i 0, denimos Ci+1 = Si+1 Si . Como C (A; R1 , R2 , . . . , Rn ) =


i=0

Ci ,

(donde la uni on es disjunta), decimos que los Ci son las capas de C (A; R1 , R2 , . . . , Rn ).

6.4.

Inducci on Estructural

C omo demostrar que todos los elementos de C (A; R1 , R2 , . . . , Rn ) satisfacen una cierta propiedad? Podemos usar una variante de inducci on, que esencialmente se reduce a hacer inducci on sobre los Si (o sobre los Ci ). Vimos que los n umeros naturales son la clausura del conjunto {} bajo la funci on sucesor. Esto nos da la idea de presentar el principio de inducci on en t erminos de las capas de la construcci on de clausura de los naturales, y de adaptar esto a otros objetos denidos como clausuras. As , podemos formular el siguiente Principio de inducci on estructural: Sea U un conjunto constru do como U = C (A; R1 , R2 , . . . , Rn ), donde A es un conjunto base , y las relaciones Ri son relaciones en A, con ariedades ni + 1 respectivamente. Si P (x) es un predicado que: 1. 2. es verdadero para todo x A, y cada vez que es verdadero para x1 , x2 , . . . , xni U , es verdadero para todo y U tal que (x1 , x2 , . . . , xni , y ) Ri ;

entonces P (x) es verdadero para todo x U . Ejercicio. Demuestre este principio de inducci on a partir del principio de inducci on simple.

6.4.1.

Ejemplo: l ogica proposicional

Consideremos el lenguaje de todas las f ormulas de la l ogica proposicional. Este lenguaje puede ser considerado como la clausura del conjunto de proposiciones at omicas bajo las funciones , , , , , donde (P ) = (P ), y para cada conectivo binario se tiene (P, Q) = (P Q). C omo aprovechar esta denici on para demostrar propiedades de las proposici ones l ogicas? Ejemplo. Demuestre que toda proposici on l ogica tiene la misma cantidad de par entesis izquierdos que derechos.

6.4.2.

Conjuntos completos de conectivos

Dado un conjunto C de conectivos, decimos que este es completo si para toda proposici on existe una proposici on , y que contiene s olo conectivos de C . Ejemplo. El conjunto {, , } es completo Demostraci on. Sea F0 el conjunto de f ormulas proposicionales at omicas, y sea = F0 {(, ), , , , , , . . . } el conjunto de todos los s mbolos que pueden aparecer en una f ormula proposicional (podr amos considerar otros conectivos binarios).
c Luis Dissett.

57

P.U.C. Chile, 2004

ESTRUCTURAL 6.4. INDUCCION

Y CLAUSURAS CAP ITULO 6. INDUCCION

Sea E : dada por E () = (), y para cada conectivo binario {, , , , . . . }, sea E : dada por E (, ) = ( ). Sea F = C (F0 ; E , E , E , E , E , . . . ) el conjunto de todas las f ormulas proposicionales que se pueden formar con conectivos tomados de {, , , , , . . . }. Deniremos ahora el conjunto F de todas las f ormulas proposicionales que se pueden formar con conectivos tomados de {, , }. Formalmente, F = C (F0 ; E , E , E ). Probaremos por inducci on estructural que, para toda f ormula proposicional F , se cumple el siguiente predicado: P () : existe una f ormula proposicional F tal que . Base: si F0 (o sea, si es at omica), entonces claramente, tomando = se tiene F y . O sea, P () se cumple para F0 . Paso inductivo Supongamos que se tienen dos f ormulas 1 , 2 F tales que se cumple P (1 ) y P (2 ). Debemos demostrar que se cumple P ((1 )), P ((1 2 )), P ((1 2 )), P ((1 2 )), P ((1 2 )), etc. En efecto: probaremos que se cumple P (), en cada uno de los siguientes casos: = (1 ): por HI, existe 1 F tal que 1 1 . As , = (1 ) (1 ) = . = (1 2 ): por HI, existen 1 , 2 F tales que 1 1 , 2 2 . As , = (1 2 ) (1 2 ) = . = (1 2 ): por HI, existen 1 , 2 F tales que 1 1 , 2 2 . As , = (1 2 ) (1 2 ) = . = (1 2 ): por HI, existen 1 , 2 F tales que 1 1 , 2 2 . As , = (1 2 ) (1 2 ) (1 2 ) = , y as para cada conectivo binario. Ejercicio. Complete la demostraci on con cada uno de los posibles conectivos binarios faltantes.

6.4.3.

Otro conjunto completo

Demostraremos que {, } es un conjunto completo. Para ello, deniremos el conjunto F como el conjunto de todas las f ormulas proposicionales que se pueden formar con conectivos tomados de {, }. Formalmente, F = C (F0 ; E , E ). Probaremos por inducci on estructural que, para toda f ormula proposicional F , se cumple el siguiente predicado: P ( ) : existe una f ormula proposicional F tal que . Pregunta: Por qu e basta probar P ( ) para todo F ? (probar P () para todo F ser a m as trabajo).
c Luis Dissett.

58

P.U.C. Chile, 2004

Y CLAUSURAS CAP ITULO 6. INDUCCION Demostraci on de que {, } es completo

ESTRUCTURAL 6.4. INDUCCION

Base: si F0 (o sea, si es at omica), entonces claramente, tomando = se tiene F y . O sea, P ( ) se cumple para F0 . Paso inductivo: Supongamos que se tienen dos f ormulas 1 , 2 F tales que se cumple P (1 ) y P (2 ). Debemos demostrar que se cumple P ((1 )), P ((1 2 )) y P ((1 2 )). En efecto: probaremos que se cumple P ( ), en cada uno de los siguientes casos: = (1 ): por HI, existe 1 F tal que 1 1 . As , = (1 ) (1 ) = . , = (1 2 ): por HI, existen 1 , 2 F tales que 1 1 , 2 2 . As = (1 2 ) (1 2 ) = . = (1 2 ): por HI, existen 1 , 2 F tales que 1 1 , 2 2 . As , = (((1 ) (2 ))) (1 2 ) (1 2 ) = . Ejercicios. 1. 2. 3. 4. Demuestre que {, } es un conjunto completo de conectivos. Demuestre que {, } es un conjunto completo de conectivos. Demuestre que {, } es un conjunto completo de conectivos. Demuestre que {, , } no es un conjunto de conectivos.

6.4.4.

Conjuntos no completos

C omo demostrar que un conjunto de conectivos no es completo ? Una posibilidad es probar que todas las proposiciones que se pueden formar con ese conjunto satisfacen alguna propiedad com un, pero que existen proposiciones que no la satisfacen. Ilustraremos esto con un ejemplo. Ejemplo. El conjunto {, , , } no es completo. Para demostrar esto, deniremos el conjunto H como el conjunto de todas las f ormulas proposicionales que se pueden formar con conectivos tomados de {, , , }, y probaremos que toda f ormula de H se hace verdadera en la asignaci on de verdad que hace verdaderas a todas las proposiciones at omicas. Formalmente, H = C (F0 ; E , E , E , E ), y denimos 0 como la asignaci on de verdad que hace verdaderas a todas las f ormulas at omicas. Es posible probar por inducci on estructural que, para toda f ormula proposicional H, se cumple el siguiente predicado: P () : 0 () = 1. Tambi en es posible probar que existe una f ormula F que no satisface P ( ). As , ninguna f ormula H es equivalente a . Ejercicio. Complete la demostraci on. Ejercicio. Demuestre que el conjunto de conectivos {, } no es completo (el conectivo es o excluyente).

c Luis Dissett.

59

P.U.C. Chile, 2004

ESTRUCTURAL 6.4. INDUCCION

Y CLAUSURAS CAP ITULO 6. INDUCCION

c Luis Dissett.

60

P.U.C. Chile, 2004

Cap tulo 7

Correcci on de programas
Dado un programa o algoritmo P , nos interesa probar que este es correcto , es decir, que satisface ciertas especicaciones . En particular, nos interesa probar que, si se satisfacen ciertas precondiciones (proposiciones que involucran algunas variables del programa) entonces el programa termina y se satisfacen ciertas postcondiciones . Estudiamos dos tipos de demostraci on de correcci on de programas: programas iterativos y programas recursivos .

7.1.

Correcci on de programas iterativos

Supongamos que queremos demostrar que un programa no recursivo (o sea, uno en que no hay llamadas recursivas de un algoritmo a s mismo) es correcto. La u nica dicultad proviene de la posibilidad de que el programa contenga loops (iteraciones), por lo que nos centramos en este caso. Generalmente, dividimos la demostraci on de que un programa iterativo es correcto en dos tareas independientes, que llamamos correcci on parcial y terminaci on: Correcci on Parcial: si el programa termina, entonces se satisfacen las postcondiciones. Terminaci on: el programa se detiene. Para demostrar que un algoritmo iterativo es parcialmente correcto, generalmente se demuestra que una cierta condici on (el llamado invariante del loop o invariante de los loops ) se cumple siempre en los distintos momentos en que la ejecuci on del algoritmo se encuentra en un mismo punto del loop (generalmente al principio o al nal, pero no necesariamente). Para ello, para cada variable v que aparece en el algoritmo, denotamos por vi al valor de dicha variable en el momento en que se alcanza el punto designado en el loop durante (o despu es de) la iteraci on i- esima, y en el invariante del loop enunciamos relaciones entre los distintos valores de las variables en dicho punto. Al lema que arma que esta condici on efectivamente es un invariante para todo n umero de iteraciones, la llamamos el lema del invariante , y como consecuencia de este deducimos la correcci on parcial. Para demostrar terminaci on de un algoritmo iterativo, generalmente consideramos una expresi on entera E cuyo valor va cambiando con cada iteraci on del algoritmo. Llamando Ei al valor de E tras i iteraciones del algoritmo, si logramos demostrar que Ei+1 < Ei para todo i (o sea, que E decrece estrictamente con cada iteraci on, y que existe k Z tal que i N(Ei k ) (o sea, que {Ei : i N} es un conjunto acotado inferiormente) entonces podremos concluir que efectivamente el algoritmo debe terminar. 61

DE PROGRAMAS ITERATIVOS DE PROGRAMAS 7.1. CORRECCION CAP ITULO 7. CORRECCION

7.1.1.

Ejemplo: mezcla de dos archivos

Consideremos el siguiente algoritmo, que toma dos archivos f1 y f2 , ordenados crecientemente, y produce un nuevo archivo f que contiene todos los elementos de f1 y f2 , en orden. Algorithm 1 Mezcla(f1 , f2 , f ) 1: while eof (f1 ) eof (f2 ) do 2: if primer elemento de f1 < primer elemento de f2 then 3: copiar el primer elemento de f1 al nal de f , eliminar el primer elemento de f1 4: else 5: copiar el primer elemento de f2 al nal de f , eliminar el primer elemento de f2 6: end if 7: end while 8: while eof (f1 ) do 9: Copiar el primer elemento de f1 al nal de f , eliminar el primer elemento de f1 10: end while 11: while eof (f2 ) do 12: Copiar el primer elemento de f2 al nal de f , eliminar el primer elemento de f2 13: end while Demostraremos primero que el algoritmo de mezcla es parcialmente correcto respecto al siguiente par de condiciones: Precondici on: f1 y f2 est an ordenados crecientemente, y f = Postcondici on: f contiene los mismos elementos que originalmente conten an f1 y f2 , ordenados crecientemente Una vez demostrada la correcci on parcial, probaremos que el algoritmo efectivamente termina. Demostraci on de la correcci on parcial Para cada i 0, sean fi , f1i y f2i los conjuntos de valores presentes en los distintos archivos tras haberse producido en total i iteraciones de los distintos loops. Para demostrar que este algoritmo es parcialmente correcto respecto a este par de condiciones, demostramos que, despu es de i iteraciones: fi f1i f2i = f10 f20 , fi est a ordenado en orden creciente, y dados x fi e y f1i f2i , se tiene x y . M as formalmente: demostramos el siguiente lema: Lema. Para todo i N, si en total los loops se ejecutan al menos i veces, entonces (fi f1i f2i = f10 f20 ) (fi est a ordenado en orden creciente) x fi , y f1i f2i (x y ). (7.1) La condici on (7.1) es nuestro invariante de los loops. Note que tenemos un solo invariante para los tres loops. Demostraci on del lema del invariante. Hacemos esta demostraci on por inducci on sobre i: Base: que el invariante es verdadero para i = 0 es claro. Supongamos que el invariante se cumple para i = n, y tratemos de demostralo para i = n + 1. Si no hay una iteraci on n + 1, el resultado es obvio, por lo que supondremos que s la hay. Hay cuatro casos:
c Luis Dissett.

62

P.U.C. Chile, 2004

DE PROGRAMAS DE PROGRAMAS ITERATIVOS CAP ITULO 7. CORRECCION 7.1. CORRECCION Si f1i y f2i son no vac os, entonces se debe realizar una iteraci on m as del primer loop. Sea x el menor entre los primeros elementos de f1i y f2i . Si x es el primer elemento de f1i , entonces fi+1 = fi {x}, f1i+1 = f1i {x}, f2i+1 = f2i , por lo que fi+1 f1i+1 f2i+1 = fi f1i f2i = f10 f20 . Por la tercera parte de la hip otesis de inducci on, todos los elementos de fi son x, y como fi est a ordenado en forma ascendente y x es agregado al nal de fi para obtener fi+1 , se tiene que fi+1 est a ordenado en forma creciente. Finalmente, todo elemento de fi es que todo elemento de f1i f2i (y por lo tanto, que todo elemento de f1i+1 f2i+1 ). Como el u nico otro elemento de fi+1 es x, y x es el menor elemento de f1i f2i , se tiene que todos los elementos de fi+1 son que todos los elementos de f1i f2i (y por lo tanto, que todo elemento de f1i+1 f2i+1 ). Si f1i es no vac o, pero f2i lo es, la demostraci on es similar a la anterior. Ejercicio. Complete los detalles. Si f2i es no vac o, pero f1i lo es, la demostraci on es id entica a la anterior, cambiando 1 por 2.

Debido al Lema del invariante, si el algoritmo termina despu es de k iteraciones, al terminar se tiene fk f1k f2k = f10 f20 . Como f1k = f2k = (debido a las condiciones de t ermino de los loops), se tiene fk = f10 f20 . Por la segunda parte del lema del invariante, fk est a ordenado. Esto concluye la demostraci on de la correcci on parcial.

Terminaci on Para demostrar que el algoritmo termina, consideramos la expresi on Ei = |f1i | + |f2i |. Claramente, esta es siempre 0. Adem as, esta expresi on es estrictamente decreciente: como en cada iteraci on uno de los archivos pierde un elemento, Ei+1 < Ei . As , cada uno de los loops debe terminar en alg un momento.

7.1.2.

Otro ejemplo: b usqueda binaria

Consideremos un tipo de dato T con un orden total (por ejemplo, si el tipo de dato es string , podr a ser orden lexicogr aco). Queremos escribir un programa que tome como argumentos un arreglo A (cuyos elementos son de tipo T ) y un elemento x de tipo T , de modo que, cada vez que se cumpla la siguiente precondici on , termine satisfaciendo la postcondici on indicada: Precondici on: El arreglo A[1..n] est a ordenado , o sea, A[i] A[i + 1] para todo i {1, . . . , n 1}. Postcondici on: El valor retornado por el programa es alg un t N tal que: o bien 1 t n A[t] = x (si existe al menos un t que satisfaga esta condici on), o bien t = 0 (si no hay tal t). Probaremos que el siguiente programa es correcto respecto a este par de pre- y post-condici on.
c Luis Dissett.

63

P.U.C. Chile, 2004

DE PROGRAMAS ITERATIVOS DE PROGRAMAS 7.1. CORRECCION CAP ITULO 7. CORRECCION Algorithm 2 BinSearch(A, n, x) 1: f 1 2: l n 3: while f = l do l 4: m f+ 2 5: if A[m] x then 6: lm 7: else 8: f m+1 9: end if 10: end while 11: if A[f ] = x then 12: return f 13: else 14: return 0 15: end if Demostraci on de la correcci on de BinSearch Demostramos: 1. Correcci on parcial: si A es un arreglo ordenado de largo n 1, entonces si BinSearch(A, n, x) termina, retorna un entero t tal que 1 t n y A[t] = x si un tal t existe; si no, BinSearch(A, n, x) retorna 0. 2. Terminaci on: si A es un arreglo ordenado de largo n 1, entonces BinSearch(A, n, x) termina. Correcci on parcial Demostraremos que, si las precondiciones se cumplen antes de que el programa comience, entonces al nal de cada iteraci on se cumple lo siguiente: 1 f l n, y si x {A[1], . . . , A[n]} entonces x {A[f ], . . . , A[l]} . Previamente, necesitamos el siguiente lema: Lema. Dados dos enteros f, l tales que f < l, se tiene f f +l 2 < l.

Demostraci on. Si l f es par, digamos l f = 2t > 0, entonces f +l f = f + l = f + t = f + t. 2 2 Como f f + t < f + 2t = l, se obtiene el resulrado deseado. Si l f es impar, digamos l f = 2t + 1, entonces f f +l = f + l = f +t =f +t 2 2 con la misma conclusi on. Note que este lema no es nuestro lema del invariante . Lema. Invariante del loop: Para cada variable v del programa y cada i N, sea vi el valor de v despu es de i iteraciones del loop WHILE. Sea P (i) el siguiente predicado:
c Luis Dissett.

64

P.U.C. Chile, 2004

DE PROGRAMAS DE PROGRAMAS ITERATIVOS CAP ITULO 7. CORRECCION 7.1. CORRECCION P (i): si el loop tiene (al menos) i iteraciones, entonces: 1. 2. 1 fi li n, y si x {A[1], . . . , A[n]}, entonces x {A[fi ], . . . , A[li ]}

P (n) es verdadera para todo n N. Demostraci on. La haremos por inducci on en n. Base: i = 0. Tenemos f0 = 1, l0 = n. La primera parte de P (0) es verdadera gracias a que n 1 (precondici on). La segunda parte de P (0) es trivialmente verdadera. Paso inductivo: Supongamos que, tras j iteraciones del loop se tiene P (j ), o sea, 1. 2. 1 fj lj n, y si x {A[1], . . . , A[n]}, entonces x {A[fj ], . . . , A[lj ]}

Si el programa termina tras j iteraciones, entonces P (j + 1) es trivialmente cierto. Supongamos que el loop tiene al menos j + 1 iteraciones. Entonces (por la condici on de t ermino del loop) fj < lj y por lo tanto (gracias al Lema) fj mj +1 < lj . Debido al programa, debe tenerse fj +1 = fj y lj +1 = mj +1 , o bien fj +1 = mj +1 + 1 y lj +1 = lj . En cualquiera de los dos casos, junto con la primera parte de la HI tenemos 1 fj +1 lj +1 n. Esta es la primera parte de P (j + 1). Supongamos ahora que x {A[1], . . . , A[n]}. Por la primera parte de P (j ), x {A[fj ], . . . , A[lj ]}. Debemos probar que x {A[fj +1 ], . . . , A[lj +1 ]}. Hay tres casos: A[mj +1 ] = x. En este caso, por el programa, fj +1 = fj y lj +1 = mj +1 , y as , obviamente x {A[fj +1 ], . . . , A[lj +1 ]}. A[mj +1 ] > x. En este caso, ya que A est a ordenado, A[t] > x para todo t tal que mj +1 t lj . Ya que x est a en {A[fj ], . . . , A[lj ]} pero no en {A[mj +1 ], . . . , A[lj ]}, debe tenerse x {A[fj ], . . . , A[mj +1 ]}. Como (por el programa) fj +1 = fj y lj +1 = mj +1 , se tiene x {A[fj +1 ], . . . , A[lj +1 ]}, que es lo que quer amos. A[mj +1 ] < x. Ya que A est a ordenado, A[t] < x para todo t tal que fj t mj +1 . Ya que x est a en {A[fj ], . . . , A[lj ]} pero no en {A[fj ], . . . , A[mj +1 ]}, debe tenerse x {A[mj +1 + 1], . . . , A[lj ]}. Como (por el programa) fj +1 = mj +1 + 1 y lj +1 = lj , se tiene x {A[fj +1 ], . . . , A[lj +1 ]}, que es lo que quer amos.

Hemos probado el lema del invariante del loop. Conclusi on: Nos falta probar que si se cumplen las precondiciones y el programa termina, entonces al terminar se cumple la postcondici on. Supongamos que el programa termina. As , el loop se ejecuta una cantidad nita de veces, digamos k . Por la condici on de t ermino del loop, fk = lk . Por el lema del invariante del loop, 1 fk n. Hay dos casos: 1. Hay alg un t tal que 1 t n tal que A[t] = x. Por lo tanto x {A[1], . . . , A[n]}, y por la primera parte de P (k ), x {A[fk ], . . . , A[lk ]}, o sea, x = A[fk ]. Pero el valor retornado es precisamente fk , que es lo que requiere la postcondici on en este caso. 65
P.U.C. Chile, 2004

c Luis Dissett.

DE PROGRAMAS RECURSIVOS DE PROGRAMAS 7.2. CORRECCION CAP ITULO 7. CORRECCION 2. Para todo t tal que 1 t n, se tiene A[t] = x. Por la primera parte de P (k ), 1 fk n, y por lo tanto A[fk ] = x. As , el programa retorna 0, que es lo que requiere la postcondici on en este caso.

Terminaci on En general, para demostrar que un loop termina, buscamos una expresi on entera E en t erminos de las variables del programa, que no es nunca negativa y que decrece en cada iteraci on. Por ejemplo, para demostrar que BinSearch(A, n, x) termina, consideramos E = l f . Claramente: Ej = lj fj 0, gracias al lema del invariante del loop, y Ej +1 < Ej , ya que o bien Ej +1 = lj fj ).
fj +lj 2

fj < lj fj , o bien Ej +1 = lj

fj +lj 2

+1 <

Note que, en el fondo, estamos usando el Principio del Buen Orden : el conjunto S = {E0 , E1 , E2 , . . . } es un subconjunto no vac o de los naturales, y por lo tanto tiene un primer elemento Ek . Como Ei decrece estrictamente en cada pasada, el loop se ejecuta exactamente k veces (si no, existir a Ek+1 < Ek lo que ser a una contradicci on).

7.2.

Correcci on de programas recursivos

Hemos aprendido a demostrar que un programa basado en un loop es correcto. Qu e hacer para demostrar que un programa recursivo es correcto? Ejemplo: Mergesort Considere el algoritmo RecMergeSort que se presenta a continuaci on. RecMergeSort ordena los elementos del arreglo A entre las posiciones 1 y n. Para esto llama al algoritmo recursivo AuxRecMergeSort, que ordena el arreglo entre los valores A[f ] y A[l]. Algorithm 3 RecMergeSort(A, f, l) AuxRecMergeSort(A, f, l) 1: if f < l then l 2: m f+ 2 3: AuxRecMergeSort(A, f, m) 4: AuxRecMergeSort(A, m + 1, l) 5: Mezclar(A[f . . . m], A[m + 1 . . . l], A[f . . . l]) 6: end if RecMergeSort(A, n) 1: returnAuxRecMergeSort(A, 1, n) Correcci on del algoritmo Para demostrar que RecMergeSort correctamente ordena A entre los ndices 1 y n, demostramos que para todo k N se satisface la siguiente armaci on: P (k ) : si l f = k entonces AuxRecM ergeSort(A, f, l) ordena correctamente A[f ] . . . A[l].

Demostraci on. La demostraci on de que k N(P (k )) es por inducci on sobre k (segundo principio). Nuestra hip otesis de de inducci on es que t N(0 t < k P (t)).
c Luis Dissett.

66

P.U.C. Chile, 2004

DE PROGRAMAS DE PROGRAMAS RECURSIVOS CAP ITULO 7. CORRECCION 7.2. CORRECCION En efecto: Base: si k = 0 entonces {A[f ] . . . A[l]} tiene un solo elemento, y como el algoritmo no hace nada en este caso, deja dicha porci on del arreglo ordenado. Paso inductivo l m y t = f (m + 1) son tales que 0 t, t < k , Sea k > 0. Entonces t = m f = f + 2 por lo que (HI) tanto AuxRecMergeSort(A, f, m) como AuxRecMergeSort(A, m + 1, f ) correctamente ordenan los sub-arreglos A[f ] . . . A[m] y A[m + 1] . . . A[l]. As , AuxRecMergeSort(A, f, m), al realizar las dos llamadas recursivas, deja ordenados los sub-arreglos A[f ] . . . A[m] y A[m + 1] . . . A[l], e inmediatamente despu es llama a M ezclar con par ametros adecuados para dejar ordenada la porci on de arreglo A[f ] . . . A[l] (recuerde que demostramos que M ezclar correctamente mezcla dos archivos ordenados generando uno nuevo; es trivial adaptar dicho algoritmo, y dicha demostraci on, al caso en que se tienen arreglos en lugar de archivos).

Ejemplo: Versi on recursiva de b usqueda binaria El siguiente algoritmo es una versi on recursiva del algoritmo de b usqueda binaria visto en la secci on anterior. De manera similar al ejemplo anterior, el algoritmo principal llama a un algoritmo auxiliar que hace el trabajo. Algorithm 4 BinSearch(A, n, x) AuxRecBinSearch(A, f, l, x) 1: if f = l then 2: if A[f ] = x then 3: return f 4: end if 5: return 0 6: end if f +l 7: m 2 8: if A[m] x then 9: returnAuxRecBinSearch(A, f, m, x) 10: else 11: returnAuxRecBinSearch(A, m + 1, l, x) 12: end if RecBinSearch(A, n, x) 1: returnAuxRecBinSearch(A, 1, n, x) Demostraci on de la correcci on de RecBinSearch Demostramos que, para todo i N, se cumple: P (i) : Si A satisface la precondici on y l f = i entonces AuxRecBinSearch(A, f, l, x) termina y retorna alg un t tal que f t l y A[t] = x (si existe tal t) o 0, en caso contrario.

Esto lo demostraremos por inducci on en i, usando PICV. Sea n N. Supongamos que se cumple P (k ) para todo k N, k < n. Hay dos casos: Base: Si n = l f = 0, entonces l = f y el algoritmo termina. Si A[f ] = x entonces existe el t buscado (t = f ) y el algoritmo retorna f ; si A[f ] = x entonces no existe el t buscado y el algoritmo retorna 0.
c Luis Dissett.

67

P.U.C. Chile, 2004

DE PROGRAMAS RECURSIVOS DE PROGRAMAS 7.2. CORRECCION CAP ITULO 7. CORRECCION Paso inductivo: Si n = l f > 0 entonces el algoritmo no termina en el primer if, y debe realizar una llamada recursiva. Si A[m] x entonces hay dos subcasos: Si A[m] = x entonces claramente hay un t entre f y m tal que A[t] = x (a saber, t = m); como k = m f < l f = n se cumple P (k ), y por lo tanto la llamada recursiva AuxRecBinSearch(A, f, m, x) retornar a un t como el buscado (aunque no necesariamente t = m). Si A[m] > x entonces todo A[t] con m t l es > x, y por lo tanto, si existe t tal que f t l y A[t] = x, entonces debe tenerse f t m. Por lo tanto, si existe dicho t, es retornado por AuxRecBinSearch(A, f, m, x); y si no existe dicho t entonces esta llamada recursiva retorna 0. En cualquier caso, AuxRecBinSearch(A, f, l, x) retorna lo que debe para cumplir la postcondici on. Supongamos ahora que A[m] < x. Entonces (como A est a ordenado) todos los A[t] con f t m son < x. Por lo tanto, si existe t tal que f t l y A[t] = x, entonces debe tenerse m < t l. Por lo tanto, si existe dicho t, es retornado por AuxRecBinSearch(A, m + 1, l, x); y si no existe dicho t entonces esta llamada recursiva retorna 0. En cualquier caso, AuxRecBinSearch(A, f, l, x) retorna lo que debe para cumplir la postcondici on. Conclusi on Hemos demostrado que la versi on recursiva de BinSearch es correcta? En realidad, falta demostrar que tras la llamada original AuxRecBinSearch(A, 1, n, x) se satisface la postcondici on. Pero esto es consecuencia de la propiedad demostrada, ya que es equivalente a P (n 1).

c Luis Dissett.

68

P.U.C. Chile, 2004

Cap tulo 8

Complejidad de algoritmos y programas


8.1. An alisis de la complejidad de mergesort

Nos interesa estudiar el tiempo que toma ordenar un archivo usando OM (ordenamiento por mezcla). Sea Tom (n) := tiempo de ejecuci on del algoritmoOM con un archivo de largo n (en el peor caso).

No tenemos una representaci on expl cita para la funci on de complejidad, pero s dos restricciones que debe satisfacer: Tom (1) c Tom (n) Tom n 2 + Tom n 2 + TM (n), n 2, (8.1) (8.2)

donde TM (n) es el tiempo que toma, en el peor caso, el algoritmo de mezcla M en mezclar dos archivos de largos que sumen n, y c es una constante que sirve de cota para el tiempo que mergesort se demora en ordenar una un archivo de largo 1. Nota: medimos el tiempo en t erminos de pasos b asicos, en este caso, comparaciones de dos elementos, las que consideramos de tiempo constante. En la ecuaci on anterior, podemos suponer que TM (n) dn, donde d 0 es alguna constante. As , nuestra inecuaci on de recurrencia queda Tom (1) c Tom (n) Tom n 2 + Tom n 2 + dn, n 2, (8.3) (8.4)

Es imposible resolver exactamente esta ecuaci on, pero s es posible demostrar que la soluci on de la siguiente ecuaci on de recurrencia es una cota superior para Tom (): T (1) T (n) = c = T n 2 +T n 2 + dn, n 2, (8.5) (8.6)

Tenemos una ecuaci on de recurrencia, pero no del tipo que asocia n con (n + 1) . . . Queremos hallar cotas para esta ecuaci on. Conjetura: existe alguna constante a 0 tal que, para todo n 1: T (n) a n log2 (n) . 69

CONSTRUCTIVA 8.2. INDUCCION CAP ITULO 8. COMPLEJIDAD DE ALGORITMOS Y PROGRAMAS

8.2.

Inducci on constructiva

Si tratamos de demostrar nuestra conjetura por inducci on, encontraremos que la hip otesis de inducci on no nos permite demostrar el paso inductivo como debiera, por lo que intentamos replantearla como sigue: Conjetura: existen algunas constantes a 0 y b R tales que, para todo n 1: T (n) a n log2 (n) + bn. Demostraci on. El proceso de demostraci on de la conjetura es relativamente largo. Partiremos demostrando que la inducci on es cierta (y determinando las constantes a y b) si n es una potencia de 2. O sea, partimos demostrando que, si n = 2k entonces T (n) a n k + bn. Esto puede hacerse por PSI o por PICV. Concluimos que debe tenerse b to , a c (por lo que podemos escoger a = c, b = to ). O sea, podemos probar por PSI o por PICV que, si n es una potencia de 2, entonces T (n) cn log2 (n) + to n. El siguiente paso es demostrar que T (n) es una funci on que no decrece, o sea, que T (n) T (n + 1) para todo n 1 (esto tambi en se hace por PICV). Finalmente, si n no es una potencia de 2, usamos el hecho de que n2
log2 (n)

log2 (n)+1

22

log2 (n)

para establecer la cota: como T () es no-decreciente, T (n) T 2 2


log2 (n) log2 (n)

2 c 2 log2 (n) log2 (n) + 1 + 2to 2 = 2 2 log2 (n) (c log2 (n) + 1 + to ) (2c)n log2 (n) + 2(1 + to )n.

8.3.

Notaci on asint otica

Una notaci on muy u til al estudiar el tiempo (u otros recursos, por ejemplo, memoria) es la notaci on O grande. Sea f : N R+ on cualquiera. Denimos O(f (n)) como el conjunto 1 o una funci
+ t : N R+ 0 | (c R )(n0 N)(n N)(n n0 t(n) c f (n)) .

Al valor n0 N lo llamaremos el umbral . A veces abusaremos de la notaci on, por ejemplo si t(n) < 0 o incluso t(n) no est a denida para ciertos valores de n < n0 . Ejemplo. Veamos que 3n2 + 5n + 6 O(n2 ). En efecto, vemos que, si n 6, tenemos 3n2 + 5n + 6 3n2 + n n + n n = 5n2 , por lo que tomando c = 5 y n0 = 6 se satisface la denici on de O(n2 ). Pero tambi en podemos satisfacerla tomando c = 14, n = 1. O tambi en c = 7, n = 2. Ejercicio. Demuestre que siempre es posible usar un umbral n0 = 1.
1 Note

que, por ejemplo, decimos g (n) O(f (n)), no g (n) = O(f (n)).

c Luis Dissett.

70

P.U.C. Chile, 2004

NOTACION ASINTOTICA CAP ITULO 8. COMPLEJIDAD DE ALGORITMOS Y 8.4. PROGRAMAS MAS

8.4.

M as notaci on asint otica


+ t : N R+ 0 | (c R )(n0 N)(n N)(n n0 t(n) c f (n)) .

Sea f : N R+ on cualquiera. Denimos (f (n)) como el conjunto o una funci

Finalmente, denimos (f (n)) como: (f (n)) = O(f (n)) (f (n)). Ejercicio. Demuestre que (f (n)) es el conjunto de todas las funciones t : N R+ 0 tales que (c1 , c2 R+ )(n0 N)(n N)(n n0 c1 f (n) t(n) c2 f (n)).

Ejemplo. Hemos probado que Tom (n) O(n log2 (n)). En realidad, la misma demostraci on puede ser adaptada para demostrar que Tom (n) (n log2 (n)). Ejercicio. Demuestre que, dados a y b dos n umeros reales cualesquiera mayores que 1, y f : N R+ una funci o n cualquiera, se tiene: 0 O(f (n) loga n) = O(f (n) logb n) (y lo mismo vale para y ). As , cuando tengamos una funci on g (n) O(f (n) loga n) escribiremos simplemente g (n) O(f (n) log n), ya que la base es irrelevante.

8.5.

El teorema fundamental de los algoritmos divide et regna

Es posible demostrar que, si a1 , a2 , b, c y d son constantes positivas, y T (n) satisface la ecuaci on de recurrencia b c0 , si 0 n < b 1 T (n) = b a1 T n + a2 T ( n ) + cnd si n , b b b1 entonces (llamando a = a1 + a2 ), se tiene: d (n ) T (n) (nd log n) (nlogb a )

si a < bd , si a = bd , si a > bd .

8.5.1.

Por qu e el umbral

b ? b1

b Pasamos a explicar el por qu e del valor b on. 1 que aparece en la ecuaci Para que la recurrencia corresponda a una funci on correctamente denida, las invocaciones recursivas de la funci on deben tener por argumentos a n umeros estrictamente menores que n. Visto desde el punto de vista algor tmico, si la recurrencia corresponde a un algoritmo recursivo correcto, es necesario que ninguna llamada recursiva (cuando se est a resolviendo una instancia de tama no n) se haga sobre una instancia de tama no n. O sea, se requiere que tanto n < n como n < n. Como n n b b b b , basta exigir que n n n n < n . Pero se sabe que < + 1, por lo que basta que + 1 n para que n b b b b b < n. n As , exigimos que b + 1 n. Pero esto es equivalente a exigir que n + b nb, o lo que es lo b mismo, que nb n b, de donde se deduce la condici on n b 1.
c Luis Dissett.

71

P.U.C. Chile, 2004

8.6. COMPLEJIDAD CAP DE UN ITULO ALGORITMO 8. COMPLEJIDAD DE ALGORITMOS Y PROGRAMAS

8.6.

Complejidad de un algoritmo

Dado un algoritmo A, nos interesa estudiar la funci on TA : N R+ 0 que indica el tiempo que toma A en resolver instancias de tama no n. Generalmente, no nos interesa encontrar la funci on espec ca sino hallar una funci on simple f (n) tal que TA (n) O(f (n)) (o, de preferencia, tal que TA (n) (f (n))). Por funci on simple entendemos una funci on elemental (potencia, logaritmo, parte entera) o que sea expresable como combinaci on de una peque a cantidad de estas.

8.7.

Complejidad de un problema
T (n) = m n {TA (n) : A es un algoritmo que resuelve } .

Dado un problema , llamamos la complejidad de a la funci on T : N R+ 0 dada por

Ejemplo. Se puede demostrar (t picamente visto, por ejemplo, en un curso de Estructuras de Datos) que, dado cualquier algoritmo de ordenaci on basado en comparaciones, su complejidad es por lo menos (n log n). As , como existen algoritmos para ordenar basados en comparaciones con complejidad (n log n) (por ejemplo, Heapsort o Mergesort ), decimos que el problema de ordenar un arreglo tiene complejidad (n log n).

8.8.

Problemas solubles ecientemente

Nos interesa estudiar qu e problemas pueden se resueltos ecientemente. En t erminos te oricos, decimos que un problema puede ser resuelto ecientemente si existe un algoritmo A que lo resuelve en tiempo polinomial , o sea, si existe un polinomio p(n) tal que TA (n) O(p(n)). Note que, en la pr actica, esto es relativo: un algoritmo exponencial con complejidad T (n) = 3 1,001n ser a, en la pr actica, mucho mejor que un algoritmo de complejidad T (n) = 100000000000n3 (constante demasiado grande) o T (n) = 2n40 (que aunque tiene una constante peque na, tiene un exponente muy grande). Pero como regla general, consideraremos que un problema es soluble ecientemente si puede ser resuelto en tiempo polinomial.

c Luis Dissett.

72

P.U.C. Chile, 2004

Cap tulo 9

Grafos
9.1. Motivaci on: los puentes de K onigsberg

La Teor a de Grafos naci o el a no 1736, en la ciudad de K onigsberg (hoy Khaliningrado). La ciudad era atravesada por el r o Pregel, el que daba lugar a dos islas, conectadas entre ellas y con las orillas por siete puentes.

Los habitantes de K onigsberg se preguntaban si era posible recorrer todos los puentes de la ciudad, sin repetir ninguno. 73

9.2. DEFINICIONES BASICAS

CAP ITULO 9. GRAFOS

En 1736, Leonhardt Euler resolvi o este problema, considerando la siguiente versi on simplicada de este:

C A
O, incluso m as simple a un:

D B

Al resolver este problema, Euler dio origen a la Teor a de Grafos . Antes de entrar a estudiar en detalle este y otros problemas, deniremos algunos conceptos b asicos del area.

9.2.

Deniciones b asicas

Denici on 33. Un grafo G es un par (V, E ) donde V es un conjunto (cuyos elementos son llamados v ertices ) y E es otro conjunto (o multiconjunto ), cuyos elementos son llamados aristas , y donde cada arista es i de la forma e = {x, y } con x, y V . Si e = {x, y } con x = y (o sea, si e = {x}) diremos que e es un lazo o rizo (en ingl es, loop 1 ). Los elementos de una arista e son llamados sus extremos . Una arista se dice incidente en sus extremos. Generalmente un grafo es dibujado en forma tal que cada v ertice queda representado por un punto en el plano, y cada arista por una curva que une los representantes de sus extremos.

9.2.1.

Multigrafos, grafos simples

Si consideramos un grafo G = (V, E ) tal que E es un multiconjunto (o sea, puede tener elementos repetidos), diremos que G es un multigrafo . Las aristas que tienen los mismos extremos son llamadas aristas m ultiples .
1 En general, despue es de dar el nombre de un concepto, trataremos de dar el nombre equivalente en ingl es, a menos que este sea obvio.

c Luis Dissett.

74

P.U.C. Chile, 2004

CAP ITULO 9. GRAFOS

9.3. ADYACENCIA, GRADOS, VERTICES AISLADOS

Si G = (V, E ) no tiene lazos ni aristas m ultiples, diremos que es un grafo simple . En un grafo simple, si los extremos de una arista e son u y v , anotamos e = uv (o e = vu). Desde ahora, supondremos que todos los grafos son simples, a menos que especiquemos lo contrario.

9.2.2.

El grafo nulo y los grafos triviales

El grafo G = (, ) es llamado el grafo nulo. Comentario. Desde ahora, todos menci on a un grafo supondr a impl citamente la condici on de que dicho grafo no es nulo. Un grafo no nulo G se dice trivial si no tiene aristas, es decir, si G = (V, ), con V = .

9.2.3.

Grafos nitos

Denici on 34. Un grafo G se dice nito si tanto V (G) como E (G) son nitos. Convenci on: en este curso todos los grafos son nitos, salvo que expl citamente se indique lo contrario.

9.3.

Adyacencia, grados, v ertices aislados

Denici on 35. Dos v ertices u y v de un grafo son adyacentes (o cada uno es vecino del otro) sii ambos son extremos de una misma arista. En este caso escribimos u v . La cantidad de aristas incidentes a un v ertice v es llamada el grado de v , y lo denotamos grado(v ). Nota: los lazos de la forma {v } son contados como dos aristas al calcular grado(v ).x Teorema. En todo grafo, grado(v ) = 2 |E | .
v V

Teorema. En todo grafo, la cantidad de v ertices de grado impar es par. Denici on 36. Un v ertice que no tiene vecinos se dice aislado . As , por ejemplo, un grafo es trivial si y s olo si todos sus v ertices son aislados.

9.3.1.

Matrices de adyacencia e incidencia

Denici on 37. Sea G = (V, E ) un grafo sin lazos2 , y sean V = {v1 , . . . , vn }, E = {e1 , . . . , em } sus conjuntos de v ertices y aristas. La matriz de adyacencia de G es la matriz de n n A(G) donde aij es el n umero de aristas que tienen a vi y a vj por extremos. La matriz de incidencia de G es la matriz de n m M (G) donde mij es 1 si vi es un extremo de ej , 0 si no. T picamente, en un programa un grafo es representado en memoria usando o su matriz de adyacencia o un arreglo de listas de adyacencia (donde cada v ertice tiene una lista ligada con cada uno de los v ertices vecinos). En general, las matrices de incidencia no son usadas computacionalmente, pero sirven como ayuda conceptual.
2 Pero

posiblemente con aristas m ultiples.

c Luis Dissett.

75

P.U.C. Chile, 2004

9.4. SUBGRAFOS, SUBGRAFOS INDUCIDOS

CAP ITULO 9. GRAFOS

9.3.2.

Complemento de un grafo. Cliques y conjuntos independientes.

Dado un grafo simple G = (V, E ), su complemento es el grafo G = (V, E ) donde uv E sii uv / E. Un clique 3 en un grafo es un conjunto de v ertices mutuamente adyacentes. Un conjunto independiente (o conjunto estable ) en un grafo es un conjunto de v ertices mutuamente no adyacentes. Note que U V es un conjunto independiente en G si y s olo si U es un clique en G.

9.4.

Subgrafos, subgrafos inducidos

Denici on 38. Un subgrafo de un grafo G = (V, E ) es un grafo H = (V , E ) tal que V V y E E . Si H es un subgrafo de G, decimos que G contiene a H , y anotamos H G. Si H = (V , E ) es un subgrafo de G = (V, E ) tal que x, y V ({x, y } E {x, y } E ) (o sea, si H tiene todas las aristas que se forman en G con v ertices de V ) entonces se dice que H es el subgrafo de G inducido por V .

9.5.

Grafos conexos

Denici on 39. Un grafo es conexo si cada par de v ertices en G pertenece a un camino en G. Si G no es conexo se dice disconexo . Una componente conexa de G = (V, E ) es un subconjunto X de V tal que: el subgrafo de G inducido por X es conexo, y si X V es tal que X X entonces el subgrafo de G inducido por X no es conexo.

O sea, una componente conexa de G es el conjunto de v ertices de alg un subgrafo conexo maximal de G.

9.6.

Propiedades estructurales, isomorsmo

Las matrices de incidencia y adyacencia denidas anteriormente dependen del orden en que tomemos los v ertices y las aristas; en otras palabras, dependen de los nombres que les demos a los v ertices y aristas. Nos interesa estudiar las propiedades estructurales de los grafos, i.e., aquellas que no cambian si cambiamos los nombres de sus v ertices y sus aristas. El concepto central aqu es el de isomorsmo . Denici on 40. Un isomorsmo entre dos grafos simples G = (V, E ) y H = (V , E ) es una biyecci on f : V V tal que uv E f (u)f (v ) E . Si existe un isomorsmo entre G y H decimos que ellos son isomorfos (lo que escribimos G = H ). Denici on 41. Un isomorsmo entre un grafo simple y s mismo es llamado un automorsmo .
3 Posibles

traducciones al castellano ser an banda o pandilla.

c Luis Dissett.

76

P.U.C. Chile, 2004

CAP ITULO 9. GRAFOS C omo chequear isomorsmo?

9.7. SUBGRAFOS

Para mostrar isomorsmo entre dos grafos, generalmente es necesario dar expl citamente la biyecci on que preserva incidencia. Par mostrar que dos grafos no son isomorfos, a veces es posible mostrar una propiedad estructural no compartida entre los dos grafos (o entre sus complementos!).

9.6.1.

Clases de isomorsmo

Teorema. La relaci on de isomorsmo (entre los grafos simples) es una relaci on de equivalencia. Las clases de equivalencia determinadas por la relaci on de isomorsmo son llamadas clases de isomorsmo . Informalmente, las clases de isomorsmo corresponden a la idea de grafos con v ertices an onimos. Cuando se dibuja un miembro particular de la clase de isomorsmo (para enfatizar alg un aspecto estructural), simplemente se est a eligiendo un representante m as conveniente de la clase, pero todav a se est a discutendo el mismo grafo con v ertices an onimos. Caminos y ciclos Denici on 42. Un camino (path) es un grafo simple, cuyos v ertices pueden ser ordenados de modo que dos v ertices son adyacentes sii son consecutivos en la lista. Para cada n 2, el u nico camino4 con n v ertices es denominado Pn . Denici on 43. Un ciclo es un grafo con el mismo n umero de aristas que de v ertices, cuyos v ertices pueden ser puestos alrededor de un c rculo de modo que dos v ertices son adyacentes sii son aparecen consecutivamente a lo largo del c rculo. Para cada n 3, el u nico ciclo5 con n v ertices es denominado Cn .

9.6.2.
te:

Algunas clases importantes

Le daremos nombres a los miembros de algunas clases de isomorsmo que aparecen com unmenEl camino y el ciclo con n v ertices son denotados por Pn y Cn respectivamente. Un grafo completo es un grafo simple cuyos v ertices son todos adyacentes entre s . Denotamos este grafo por Kn . Un grafo bipartito completo o biclique es un grafo simple bipartito donde dos v ertices son adyacentes sii est an en diferentes partes. Si los tama nos de las partes son r y s, denotamos este grafo por Kr,s . Nota: cuando se menciona un grafo sin nombrar expl citamente sus v ertices, en general nos referimos a su clase de isomorsmo.

9.7.

Subgrafos

T ecnicamente, decir que H es un subgrafo de G signica que alg un subgrafo de G es isomorfo a H (tambi en se dice que G contiene una copia de H ). Ejemplos. Un camino en un grafo G es un subgrafo de G isomorfo a alg un Pn . Un ciclo en un grafo G es un subgrafo de G isomorfo a alg un Cn . Un grafo sin ciclos es llamado (sorpresa!) ac clico. Un grafo ac clico conexo es llamado un a rbol .
4 Salvo 5 Salvo

isomorsmo. isomorsmo.

c Luis Dissett.

77

P.U.C. Chile, 2004

9.8. LOS GRAFOS CON 4 VERTICES Ejemplo. C3 es subgrafo de K5 pero no de K2,3 .

CAP ITULO 9. GRAFOS

9.8.

Los grafos con 4 v ertices


n

Hay 2( 2 ) grafos simples con n v ertices. As , con n = 4 vemos que hay 64 grafos simples con 4 v ertices. Estos grafos forman 11 clases de isomorsmos, de los cuales una (P4 ) corresponde a grafos auto-complementarios , o sea, isomorfos a su propio complemento. La siguiente gura muestra estas 11 clases, .

9.9.

Otros grafos comunes


el volant n (kite), la humita (bowtie),

el tri angulo,

el dardo, la garra (claw), la casa,

el grafo de Petersen. la pata (paw), el toro (bull),

9.10.

Grafos como modelos

Los grafos sirven para modelar diversas situaciones, por ejemplo:


c Luis Dissett.

78

P.U.C. Chile, 2004

CAP ITULO 9. GRAFOS relaciones, como por ejemplo ser conocido de ;

9.10. GRAFOS COMO MODELOS

calicaci on de empleados para la realizaci on de distintas tareas; programaci on de reuniones de comisiones del Senado (o de los ex amenes en una universidad peque na); coloraci on de mapas; rutas en una red de caminos;

9.10.1.

Conocidos mutuos y desconocidos mutuos

Se puede demostrar (ejercicicio!) que en todo grupo de seis personas hay, o bien tres conocidos mutuos, o bien tres desconocidos mutuos. Este es un caso particular de lo que se conoce con el nombre de Teorema de Ramsey , que arma lo siguiente: Teorema (Ramsey). Dados k, l N, existe un natural n0 tal que, dado cualquier n n0 , todo grafo con n v ertices tiene, o bien un clique de tama no k , o bien un conjunto independiente de tama no k . Demostraci on. Ejercicio.

9.10.2.

Asignaci on de tareas a distintos empleados

Se tiene un conjunto de tareas y un conjunto de empleados. Cada empleado puede realizar algunas (o incluso todas) las tareas. Ser a posible asignar tareas a los empleados de modo que cada uno realice a lo m as una tarea, y todas las tareas sean hechas por un empleado calicado? Idea: F ormese un grafo en que los empleados y las tareas son los v ertices, y donde una arista une al empleado x con la tarea t sii el empleado x est a calicado para desarrollar la tarea t. Un concepto de teor a de grafos relacionado con esta situaci on es el siguiente: Denici on 44. Un grafo G es bipartito si V es la uni on de dos conjuntos independientes (llamados las partes de G). As , el grafo formado por los empleados y las tareas es bipartito, con el conjunto de empleados como una parte y las tareas como la otra.

9.10.3.

Reuniones de comisiones del Senado

Se desea programar las reuniones de varias comisiones del senado, de modo que dos comisiones que tienen un miembro en com un no se reunan simult aneamente. Para simplicar, supongamos que cada comisi on sesionar a exactamente una hora. Cu al es el n umero m nimo de per odos de una hora que deben ser usadas en la programaci on? Idea: Esta situaci on puede ser modelada con un grafo en que los v ertices son las comisiones, y las aristas unen las comisiones que comparten miembros. La misma idea se aplica si se desea programar los ex amenes de los cursos de una universidad peque na, de modo que dos cursos no tengan ex amenes simult aneos si tienen alumnos comunes. Este ejemplo est a relacionado con los concepto de coloraci on y n umero crom atico de un grafo: Denici on 45. Una coloraci on de un grafo G = (V, E ) es una funci on c : V {1, . . . , n} (donde n N). Si esta funci on es tal que x, y V ({x, y } E c(x) = c(y )), decimos que esta coloraci on es propia . Los n umeros {1, . . . , n} son llamados los colores de la coloraci on, y decimos que G ha sido coloreado o pintado con los colores {1, . . . , n}. El n umero crom atico (G) de un grafo G es qel menor n umero de colores que puede tener una coloraci on propia.
c Luis Dissett.

79

P.U.C. Chile, 2004

9.11. ANALISIS DEL PROBLEMA DE KONIGSBERG (EULER) CAP ITULO 9. GRAFOS

9.10.4.

Grafos multipartitos y coloraci on

Denici on 46. Dado k > 1, decimos que un grafo G = (V, E ) es k -partito si V es la uni on de k conjuntos independientes. Vemos que, si un grafo G es k -partito entonces puede ser pintado con k (o m as) colores. Coloraci on de mapas Un caso particular del problema de coloraci on de grafos es el siguiente: Cu antos colores se necesitan para pintar un mapa (dividido en regiones o pa ses), de modo que no haya dos regiones con frontera com un pintadas del mismo color? Idea: Un mapa puede ser representado como un grafo, con las regiones como v ertices y donde regiones adyacentes son las que comparten un trozo de frontera. Los grafos correspondientes a los mapas satisfacen la siguiente denici on: Denici on 47. Un grafo es planar si puede ser dibujado en el plano de modo que sus aristas no se crucen. Cada dibujo (con estas caracter sticas) de un grafo es llamado grafo plano .

9.10.5.

Rutas en una red de caminos

Un grafo puede ser usado para modelar caminos entre distintos puntos de una red caminera (o el ectrica, o hidr aulica, etc.). Los v ertices son las intersecciones de caminos y las aristas son los tramos de caminos entre intersecciones. Un problema importante (y con mucha aplicaci on) en Teor a de Grafos es el de hallar el camino m as corto entre dos puntos. Por ejemplo: en Santiago, cu al es el camino m as corto entre el Apumanque y el Museo Interactivo Mirador? Un sitio web que resuelve este problema es http://www.mapcity.cl.

9.11.

An alisis del problema de K onigsberg (Euler)

El problema de los puentes de K onigsberg se puede expresar como sigue: Tiene el grafo de la gura un camino (o circuito) que pase por cada arista exactamente una vez ?

B
Un circuito con esta caracter stica se llama circuito Euleriano (en honor a Leonard Euler). Un grafo con un circuito Euleriano se dice grafo Euleriano . Supongamos que podemos recorrer las aristas de un grafo (los puentes de K onigsberg) en la forma pedida, y ordenemos el camino como sigue:

c Luis Dissett.

80

P.U.C. Chile, 2004

CAP ITULO 9. GRAFOS

9.12. CICLOS Y CAMINOS HAMILTONIANOS

En cada v ertice que no es ni el inicial ni el nal, el camino debe salir una vez por cada vez que entra. As , el grado de cualquier v ertice excepto, posiblemente, los extremos del camino debe ser par. Qu e pasa con los v ertices extremos? Si los extremos no coinciden (o sea, el camino no es un circuito) entonces la primera salida desde el v ertice inicial no es compensada por ninguna entrada. Asimismo, la u ltima entrada en el v ertice nal no es compensada por ninguna salida. As , si el camino no es un circuito, los v ertices inicial y nal deben tener grado impar. Si el camino es un circuito, la primera salida y la u ltima entrada se compensan mutuamente, y el v ertice inicial/nal tiene grado par, igual que los otros v ertices.

9.11.1.

An alisis del problema (Resumen)

Para que un grafo sea Euleriano, no puede haber m as que dos v ertices de grado impar en el grafo. Si el grafo tiene dos v ertices de grado impar, todo camino Euleriano debe comenzar en uno de ellos y terminar en el otro. Si el grafo no tiene v ertices de grado impar, todo camino Euleriano debe ser un circuito, y puede comenzar en cualquier v ertice.

9.11.2.

Dibujos sin levantar el l apiz

Una variante muy conocida del problema de determinar si un grafo es Euleriano es el de dibujar una gura de un solo trazo, o sea, sin levantar el l apiz del papel. Ejemplo: cu ales de las siguientes guras pueden ser dibujadas con s olo un trazo?

M as a un: si no es posible dibujar una gura dada con un solo trazo, cu antos trazos son necesarios? Si en una gura hay 2n v ertices de grado impar6 entonces se necesitan exactamente n trazos para dibujarla.

9.12.

Ciclos y caminos Hamiltonianos

Dado un grafo G, un ciclo de G que pasa por todos los v ertices de G es llamado un ciclo Hamiltoniano .
6 Se

puede demostrar que el n umero de v ertices de grado impar en un grafo siempre es par.

c Luis Dissett.

81

P.U.C. Chile, 2004

9.13. GRAFOS AUTOCOMPLEMENTARIOS

CAP ITULO 9. GRAFOS

An alogamente, un camino de G que pasa por todos los v ertices de G es llamado un camino Hamiltoniano . Un grafo con un ciclo Hamiltoniano se dice Hamiltoniano. Dado un grafo Hamiltoniano en el que cada arista tiene asociado un costo, el problema de hallar el ciclo Hamiltoniano de menor costo total es conocido como el problema del vendedor viajero (un problema cl asico de optimizaci on).

9.13.

Grafos autocomplementarios

Denici on 48. Un grafo es autocomplementario si es isomorfo a su propio complemento. Teorema. Un grafo simple G de n v ertices es auto-complementario sii Kn se descompone en dos copias de G. Ejemplos de grafos autocomplementarios: C5 . P4 . 4 Ejercicio. Demuestre que si un grafo de n v ertices es autocomplementario, entonces n = (m od n) o n 1 od n). = 4 (m M as a un: demuestre que para todo n Z+ tal que n od n) o n 1 od n), = 4 (m = 4 (m existe un grafo autocomplementario con n v ertices.

9.14.

Problemas computacionales relacionados con cliques y conjuntos independientes

Vimos que un clique en un grafo es un subgrafo isomorfo a alg un grafo completo Kn , y que un conjunto independiente es un subgrafo isomorfo a alg un grafo trivial Kn . Los siguientes problemas son importantes desde el punto de vista computacional: Dado un grafo G y un entero positivo n, tiene G un clique (o un conjunto independiente) de tama no n? Dado un grafo G, cu al es el m aximo tama no posible de un clique (o conjunto independiente) en G? Dado un grafo G, hallar un clique (o conjunto independiente) de tama no m aximo posible en G. Dado un grafo G, hallar todos los cliques (o conjuntos independientes) de tama no m aximo posible en G.

9.15.

Planaridad

Puede un grafo ser dibujado en el plano, sin que se crucen las aristas? Ejemplo. Es posible unir tres casas a las distribuidoras de TV Cable, tel efono e Internet sin que se crucen los cables ?
c Luis Dissett.

82

P.U.C. Chile, 2004

CAP ITULO 9. GRAFOS

9.16. LA CARACTER ISTICA DE EULER

9.16.

La caracter stica de Euler

Teorema (Euler, 1758). Si G es un grafo plano conexo con n v ertices, e aristas y f caras, entonces n e + f = 2. Demostraci on. Por inducci on en n.

9.16.1.

Comentarios

Las siguientes son algunas consecuencias de la f ormula de Euler: Debido a la f ormula de Euler, todas las representaciones planas de un grafo G tienen el mismo n umero de caras. Si G es un grafo plano disconexo, la f ormula de Euler tal como est a no es v alida. Si G tiene k componentes, entonces hay que agregar k 1 aristas para conectarlas todas y aplicar la f ormula original. Pero el agregar estas k 1 aristas no cambia la cantidad de caras en G, por lo que en este caso n e + f = k + 1. Una consecuencia particularmente u til es la siguiente: Teorema. Si G es un grafo plano que adem as es simple y tiene m as de dos v ertices, entonces e(G) 3n(G) 6. Si adem as G no tiene tri angulos, entonces e(G) 2n(G) 4. Demostraci on. Basta considerar el caso en que G es conexo (si no lo es, agr eguense aristas hasta que lo sea; el nuevo n umero de aristas satisface la cota y por lo tanto el original tambi en). Sea G simple y con al menos 3 v ertices, y sean n = n(G), e = e(G) y f = f (G). Por ser G es simple y tener al menos 3 v ertices, cada cara tiene largo 3, de donde
f

2e =
i=1

l(Fi ) 3f = 3(e n + 2),

de donde e 3n 6. An alogamente, si G no tiene tri angulos, l(Fi ) 4, de donde 2e 4(e n +2), o sea e 2n 4. Ejemplos. La no planaridad de K5 y de K3,3 puede ser demostrada usando el teorema reci en visto: para K5 , e = 10 > 9 = 3n 6. Como K3,3 no tiene tri angulos y e = 9 > 8 = 2n 4, estos grafos tienen demasiadas aristas para ser planares.

c Luis Dissett.

83

P.U.C. Chile, 2004

9.17. EJERCICIOS

CAP ITULO 9. GRAFOS

9.17.
1. 2.

Ejercicios

es conexo. Sea G un grafo simple. Demuestre que, si G es disconexo, entonces G El di ametro de un grafo es la m axima distancia (medida en n umero de aristas) entre sus v ertices. es 2. Demuestre que, si el di ametro de G es 4 entonces el di ametro de G Demuestre que un grafo G es bipartito si y s olo si G no tiene ciclos de largo impar. La cintura de un grafo es el tama no del menor ciclo inducido (o sea, del menor ciclo sin diagonales). Sea G un grafo con cintura 5. Demuestre que si todo v ertice de G tiene grado k , entonces G tiene por lo menos k 2 + 1 v ertices. Para k = 2 y k = 3, encuentre un grafo de cintura 5 y exactamente k 2 + 1 v ertices.

3. 4.

5.

Un v ertice de un grafo es aislado si no tiene vecinos. Un v ertice se dice de corte si su eliminaci on aumentar a la cantidad de componentes conexas del grafo. Demuestre o refute la siguiente armaci on: Si un grafo simple con di ametro 2 tiene un v ertice de corte, entonces su complemento tiene un v ertice aislado.

6.

Demuestre, o refute dando un contraejemplo, la siguiente armaci on: Si G es un grafo Euleriano en que las aristas e y f tienen un extremo com un, entonces G tiene un circuito Euleriano en que e y f aparecen en forma consecutiva.

7.

Ordene 7 ceros y 7 unos en forma c clica de modo que las 14 secuencias de 4 bits consecutivos que se forman sean todos las secuencias binarias de largo 4, excepto por 0101 y 1010. Ayuda: Forme un grafo y construya un ciclo Euleriano.

8.

Demuestre que el grafo de Petersen no tiene ciclos de largo 10. Ayuda: suponga que existe un ciclo de largo 10, y use las propiedades del grafo de Petersen para obtener una contradicci on.

9.

Demuestre, o d e un contraejemplo, para cada una de las siguientes armaciones: a) b) c) Todo grafo Euleriano bipartito tiene un n umero par de aristas. Todo grafo Euleriano simple con un n umero par de v ertices tiene un n umero par de aristas. Si G es un grafo Euleriano en que las aristas e y f tienen un extremo com un, entonces G tiene un circuito Euleriano en que e y f aparecen en forma consecutiva.

10. 11. 12. 13. 14. 15.

Si un grafo no es conexo, qu e forma tendr a su matriz de adyacencia? Muestre todas las posibles matrices de adyacencia para P3 (un camino con 3 v ertices). Escriba una matriz de incidencia para P6 (un camino con 6 v ertices) y para C6 (un ciclo con 6 v ertices). Demuestre que la relaci on = (denida como G1 = G2 sii G1 es isomorfo a G2 ) es una relaci on de equivalencia entre grafos. Sean G1 y G2 dos grafos. Demuestre que G1 = G2 . = G2 sii G1 Demuestre que C5 = C5 . 84
P.U.C. Chile, 2004

c Luis Dissett.

CAP ITULO 9. GRAFOS 16. 17. Demuestre que P4 = P4 .

9.17. EJERCICIOS

Demuestre que los siguientes grafos son isomorfos (de hecho, todos son isomorfos a K3,3 ):

18.

Demuestre que el siguiente grafo no es isomorfo a K3,3 :

19.

Demuestre que los siguientes grafos no son isomorfos:

Ayuda: Considere los complementos de los grafos dados. Qu e propiedad es satisfecha por s olo uno de los complementos? 20. Sea G un grafo simple, conexo, no completo (o sea, G un n). Demuestre que = Kn para ning todo v ertice de G pertenece a alg un subgrafo inducido de G con 3 v ertices que es isomorfo a P3 . Demuestre que Kn tiene n! automorsmos, y que Km,n tiene m!n! automorsmos si m = n, y 2(n!) si m = n. Cu antos automorsmos tiene Pn ? Cu antos automorsmos tiene Cn ? Demuestre o refute mediante un contraejemplo: si G es un grafo nito simple donde todo v ertice tiene grado 2, entonces G es un ciclo. 85
P.U.C. Chile, 2004

21. 22. 23.

c Luis Dissett.

9.17. EJERCICIOS 24. 25. 26. 27. 28.

CAP ITULO 9. GRAFOS

Demuestre que un grafo es bipartito si y s olo si su conjunto de v ertices puede ser partido en dos conjuntos independientes. Demuestre que un grafo es bipartito si y s olo si es 2-coloreable. Demuestre que un grafo es bipartito completo si y s olo si es bipartito y la adici on de cualquier arista har a que dejara de serlo. Demuestre que Km,n = K m + Kn . Dado un grafo G = (V, E ), la identidad es un automorsmo de G, pero no necesariamente el u nico. Demuestre que el conjunto Aut(G) de automorsmos de G forma un grupo con la composici on. Sea G = (V, E ) un grafo. Demuestre que la relaci on denida en V por x hay un camino en G entre x e y es una relaci on de equivalencia en V . Nota: las clases de equivalencia denidas en V por de G. y

29.

son llamadas componentes conexas

30.

Demuestre que las componentes conexas de G son subconjuntos maximales de v ertices que inducen subgrafos conexos (en otras palabras, S V es una componente conexa sii S induce un subgrafo conexo y todo S tal que S S V induce un subgrafo disconexo). Demuestre que las siguientes propiedades son invariantes bajo isomorsmos (o sea, si G = G entonces G tiene la propiedad sii G la tiene): a) b) c) d) ser conexo, ser bipartito, ser completo, ser k -coloreable (para k N).

31.

32.

Demuestre que las siguientes funciones son invariantes bajo isomorsmos (o sea, si G =G entonces f (G ) = f (G) para cada una de las siguientes funciones f ): a ) (G), b ) (G).

33.

Demuestre el Teorema de Euler: dada una inmersi on plana de G = (V, E ), y siendo R el conjunto de las regiones determinadas por ella en el plano, se tiene que |V | |E | + |R| = 2.

c Luis Dissett.

86

P.U.C. Chile, 2004

Cap tulo 10

P y NP
10.1. Introducci on a complejidad

Motivaci on: estudiar problemas computacionales (m as que algoritmos espec cos) con respecto a su dicultad relativa a ciertos recursos: tiempo; espacio; aleatoriedad; etc.

Generalmente, el recurso m as escaso es el tiempo , pero los otros recursos tambi en son importantes en ciertas circunstancias. La dicultad de un problema puede ser estudiada considerando: peor caso; casos particulares, p.e. aparici on en la pr actica; promedio (con una distribuci on probabil stica particular de las entradas); etc.

10.2.

Tipos de problemas

Los problemas computacionales pueden dividirse en varios tipos. Cuatro tipos importantes de problemas son: problemas de decisi on; problemas de b usqueda; problemas de evaluaci on; problemas de optimizaci on.

10.2.1.

Problemas de decisi on

Formalmente, un problema de decisi on est a formado por un dominio (conjunto de posibles instancias) D, y un subconjunto L de D, llamado lenguaje o problema. Se busca un algoritmo AD,L que, aplicado a cualquier w D, responde: SI si w L, NO si w D L. Ejemplo: Problema de decisi on: Dados tres n umeros enteros positivos (a, b, c), decidir si c es el mcd de a y b. Aqu , D = Z+ Z+ Z+ , L = {(a, b, c) D : c = mcd(a, b)}. 87

10.2. TIPOS DE PROBLEMAS

CAP ITULO 10. P Y N P

10.2.2.

Problemas de b usqueda

Formalmente, un problema de b usqueda est a formado por un dominio (conjunto de posibles instancias) D, y, para cada instancia I un conjunto F (I ) de soluciones factibles y un subconjunto no vac o A(I ) de F (I ) (las soluciones aceptables ). Se busca un algoritmo AD que, aplicado a cualquier I D, entregue un elemento de A(I ). Ejemplo: Problema de b usqueda: Dados dos n umeros enteros positivos (a, b), encontrar c tal que c = mcd(a, b). Aqu , D = Z+ Z+ , F (I ) = Z+ , A(I ) = {c Z+ : c = mcd(a, b)}.

10.2.3.

Problemas de evaluaci on

Formalmente, un problema de evaluaci on est a formado por un dominio (conjunto de posibles instancias) D, donde cada instancia I est a formada por un conjunto F (I ) de soluciones factibles y una funci on de costo c : F (I ) Z. Se busca un algoritmo AD que, aplicado a cualquier I D, entregue el valor de m n {c(x) : x F (I )} . Ejemplo: Problema de optimizaci on: dado un n umero entero n, determinar el m nimo valor de n m od k para k Z, 1 < k < n. Ejercicio. Qu e problema de decisi on puede ser resuelto a trav es de este problema de evaluaci on?

10.2.4.

Problemas de optimizaci on

Formalmente, un problema de optimizaci on est a formado por un dominio (conjunto de posibles instancias) D, donde cada instancia I est a formada por un conjunto F (I ) de soluciones factibles y una funci on de costo c : F (I ) Z. Se busca un algoritmo AD que, aplicado a cualquier I D, entregue alg un x F (I ) que minimice el valor de c(x). Ejemplo: Problema de optimizaci on: dado un n umero entero n, hallar k que minimice el valor de n m od k para k Z, 1 < k < n. Ejercicio. Qu e problema de b usqueda puede ser resuelto a trav es de este problema de optimizaci on?

10.2.5.

Ejemplos

Consideremos el problema del vendedor viajero. Podemos encontrar varias versiones de este problema, pertenecientes a cada uno de los tipos mencionados arriba. Versi on de decisi on Dada una matriz de distancias entre ciudades, y un n umero k , existe alg un recorrido del vendedor viajero con distancia total k ? Versi on de b usqueda Dada una matriz de distancias entre ciudades para cual existe un recorrido del vendedor viajero de largo total k , hallar un tal recorrido. Versi on de evaluaci on Dada una matriz de distancias entre ciudades, cu al es la distancia total m nima posible para un recorrido del vendedor viajero? Versi on de optimizaci on Dada una matriz de distancias entre ciudades, encontrar un recorrido del vendedor viajero de costo optimo.
c Luis Dissett.

88

P.U.C. Chile, 2004

CAP ITULO 10. P Y N P

10.3. COMPLEJIDAD DE ALGORITMOS Y PROBLEMAS

10.3.
10.3.1.

Complejidad de algoritmos y problemas


Tama no de una instancia

Fundamentalmente, nos interesa estudiar la complejidad temporal en el peor caso de algoritmos para diversos tipos de problemas. Dado un algoritmo A y una instancia I del problema que resuelve A, llamaremos TA (I ) al n umero de pasos ocupados por A al verse enfrentado a I . Dada una instancia I de un problema, nos interesa tener una medida de su tama no . En principio, quisi eramos medir la cantidad de bytes (o bits, o palabras) que ocupa la instancia, pero nos conformaremos con cualquier medida razonable de tama no (qu e exactamente es razonable lo discutiremos m as adelante). Nos referiremos al tama no de una instancia I por |I |.

10.3.2.

Complejidad de un algoritmo

Dado un algoritmo, diremos que su complejidad es la funci on CA : N N denida por CA (n) = m ax {TA (I ) : |I | = n.} (complejidad en el peor caso).

10.3.3.

Complejidad de un problema

Dado un problema y una funci on f : N N, diremos que la complejidad de es O(f ) si existe un algoritmo A para tal que CA O(f ).

10.3.4.

Algoritmos ecientes

Queremos identicar aquellos problemas que pueden ser resueltos ecientemente. Diremos que un problema puede ser resuelto ecientemente si existe un polinomio p(n) tal que su complejidad es O(p(n)). En particular, estamos interesados en la clase P denida como: P = {problemas de decisi on para los que existe un algoritmo polinomial } . Informalmente, diremos que los problemas de la clase P son tratables , mientras lo que no est an en P son intratables .

10.4.

Reducciones entre problemas

Un concepto que estudiaremos es el de reducci on de un problema a otro . En otras palabras, suponiendo que tenemos un algoritmo A que resuelve el problema , queremos dise nar un algoritmo A que resuelve . No estamos interesados en cualquier reducci on, sino en reducciones que, a partir de una instancia I de : 1. 2. utilicen A una cantidad polinomial de veces; y cada vez que utilicen A , la instancia I de pueda ser obtenida a partir de I en tiempo polinomial en |I |.

Es f acil ver que, si A es un algoritmo polinomial para resolver , entonces una reducci on de este tipo tomar a tiempo polinomial para resolver I .
c Luis Dissett.

89

P.U.C. Chile, 2004

10.5. LA CLASE N P (NON-DETERMINISTIC POLYNOMIAL)

CAP ITULO 10. P Y N P

10.4.1.

Problemas de decisi on vs otros problemas

Desde ahora en adelante, estudiaremos principalmente problemas de decisi on. Dado un problema de decisi on , nos interesa saber si P o no. En principio, esto puede parecer restrictivo. Sin embargo, en general es posible, dado un problema de optimizaci on, b usqueda o evaluaci on, reducirlo a un problema de decisi on (se ver an ejemplos en ayudant a).

10.4.2.

Ejemplo: coloraci on de mapas

Todo mapa puede ser coloreado con 4 colores (Appel & Haken, 1977). Decidir si un mapa puede ser colorado con 2 colores puede ser resuelto en tiempo polinomial (en el n umero de pa ses y fronteras). Qu e tan dif cil es decidir si un grafo arbitrario es coloreable con 3 colores (CG(3))? No se sabe si CG(3) P o no. Una respuesta tendr a muchas consecuencias te oricas y pr acticas, m as all a de CG(3). Por qu e?

10.4.3.

Otros problemas

Hay miles de problemas de decisi on, de importancia pr actica y te orica, que est an en el mismo estado del de colorabilidad de grafos con 3 colores: No se sabe si se pueden resolver de manera eciente o no. De hecho, est an en una misma clase de problemas de decisi on computacional denida matem aticamente: la clase N P . Se demostr o (S. Cook 1971, R. Karp 1972) que una respuesta positiva o negativa para el problema de colorabilidad con 3 colores se traspasa autom aticamente a los otros problemas de la clase N P . Esto fue posible gracias a una caracterizaci on matem atica de esta clase de problemas y de la relaci on entre estos. Veremos . . .

10.5.

La clase N P (Non-deterministic Polynomial)

Hay (al menos) dos maneras equivalentes de denir la clase N P : 1. Son los problemas de decisi on que pueden ser resueltos en tiempo polinomial por un algoritmo no determin stico . Son los problemas de decisi on para los que, asociado con cada instancia I para la que la respuesta es SI existe un certicado c(I ) de largo polinomial en |I | y que puede ser chequeado en tiempo polinomial en |I |.

2.

Muchos problemas de decisi on pertenecen a esta clase. Notaci on. Si = (D, L) es un problema de decisi on, dada una instancia I de (o sea, un elemento de D) anotaremos I para indicar I L.
c Luis Dissett.

90

P.U.C. Chile, 2004

CAP ITULO 10. P Y N P

10.6. PROBLEMAS N P -COMPLETOS

10.5.1.

Algoritmos no determin sticos

Un algoritmo no determin stico de tiempo polinomial para un problema consta de dos m odulos: un m odulo adivinador y un m odulo vericador , y se comporta as : dada una entrada w, el m odulo adivinador genera, en forma no determinista, una palabra c en tiempo polinomial (c.r. al largo de la entrada w). Entrega w y c al m odulo vericador, que responde SI o No (en forma determinista) en tiempo polinomial (c.r. al largo de w yc), seg un si c es un certicado de pertenencia de w a . Un problema de decisi on = (D, L) es soluble por un algoritmo no determin stico de tiempo polinomial A si, para cada instancia positiva w L, existe alguna computaci on con entrada w que termina en respuesta SI.

10.5.2.

Ejemplos de problemas en N P

CG(k ): grafos k -coloreables. Aqu el certicado es una k -coloraci on propia. P V VD : el problema del vendedor viajero, versi on de decisi on. Aqu el certicado es un circuito de costo k . CLIQU ED : dado un grafo G y un entero positivo k , tiene G un clique (subgrafo completo) de tama no k ? Aqu el certicado es la lista de los k v ertices. Compuesto : dado n N, un certicado de que n es compuesto es uno de sus factores. Ejercicio. Es posible dar un certicado eciente de que un n umero es primo?

10.6.
10.6.1.

Problemas N P -completos
Transformaciones entre problemas de decisi on

Dados dos problemas de decisi on = (D, L) y = (D , L ), diremos que es transformable en si existe un algoritmo polinomial en |I | que, dada una instancia I de genera una instancia I de de modo que ILI L. Si es transformable en , anotaremos . Para ejemplos de transformaciones, ver m as adelante. Estamos en condiciones de denir la clase de problemas N P -completos. Un problema se dice N P -completo si: 1. N P ; y 2. dado cualquier problema N P , existe una transformaci on .

Una consecuencia inmediata de que un problema de decisi on sea N P -completo es que, si hubiera un algoritmo polinomial para resolver , entonces dado cualquier problema N P , habr a un algoritmo polinomial para resolver . A su vez, esto implicar a que muchos problemas de b usqueda, optimizaci on y evaluaci on podr an ser resueltos en tiempo polinomial.
c Luis Dissett.

91

P.U.C. Chile, 2004

10.7. EL TEOREMA DE COOK

CAP ITULO 10. P Y N P

10.6.2.

Ejemplo de problema de decisi on: SAT

SAT: satisfactibilidad de f ormulas proposicionales. Problema: dada una f ormula proposicional , decidir si existe una asignaci on de valores de verdad (0 o 1) que la hace verdadera. Un posible algoritmo de decisi on: chequear la tabla de verdad de . Resp ondase SI o NO seg un haya una la que termine en 1. En el peor caso, este algoritmo es exponencial en el largo de la f ormula. No se conoce una soluci on de tiempo polinomial, i.e., no se sabe si SAT P .

10.6.3.

SAT en forma normal conjuntiva

Otro problema de decisi on (que denotaremos SAT -F N C ) es similar a SAT , pero exigiendo que todas las f ormulas est an expresadas en Forma Normal Conjuntiva . Dado F0 (el conjunto de proposiciones at omicas ), un literal es toda f ormula at omica (variable proposicional) o negaci on de una f ormula at omica. Por ejemplo, si F0 = {p, q, r}, entonces los literales son p, q, r, p, q y r. Recordemos que una f ormula proposicional est a en Forma Normal Conjuntiva (FNC) si es una conjunci on de disyunciones de literales:
n mi

(
i=0 j =0

lij ).

Por ejemplo, la f ormula (p q ) (p r s) (q t) est a en FNC. Cada disyunci on se llama cl ausula.

10.6.4.

Transformaciones entre SAT -F N C y SAT

Se sabe que SAT -F N C SAT y viceversa. Que SAT -F N C SAT es obvio: dada una instancia I de SAT -F N C , basta tomar I = I como instancia de SAT y vemos que I SAT -F N C I SAT . Para el rec proco, uno estar a tentado de usar el siguiente teorema: Teorema. Toda f ormula de un lenguaje L(P ) es l ogicamente equivalente a una f ormula que est a en FNC. Cu al ser a el problema? Mencionaremos una demostraci on un poco m as alambicada de que SAT SAT -F N C . . .

10.6.5.

Relaci on entre P y N P

Se tiene trivialmente P N P . Tenemos muchos problemas en N P que no sabemos si est an en P o no (SAT , CLIQU ED , P V VD , etc.). Conjetura de Steve Cook (1971): P NP , es decir, habr a problemas en NP que no est an en P . Candidatos? Todos los problemas N P -completos. ?Sabemos si existen problemas N P -completos? S : el primero fue SAT F N C ; despu es vinieron otros como CLIQU ED , CG(3), P V VD , . . .

10.7.

El teorema de Cook

Teorema (Cook, 1971). SAT -F N C es N P -completo. Recordemos que esto quiere decir que: SAT -F N C N P .
c Luis Dissett.

92

P.U.C. Chile, 2004

CAP ITULO 10. P Y N P

10.7. EL TEOREMA DE COOK

Dado un problema cualquiera N P , se tiene SAT -F N C (o sea, puede ser transformado en tiempo polinomial a SAT -F N C ). Es decir, SAT -F N C es el problema m as dif cil (o uno de los problemas m as dif ciles) en la clase NP. Si se pudiera resolver SAT -F N C en tiempo polinomial determinista, todo problema de la clase N P tambi en, autom aticamente . . . En particular, CG(3), P V VD , CLIQU ED , . . . , pueden ser transformados en tiempo polinomial a SAT -F N C . M as a un, se demostr o despu es (Richard Karp, 1972) que c/u de estos problemas tambi en es N P -completo.

10.7.1.

C omo se demostrar a que P = N P (o que P = N P )?

Esta es la pregunta del mill on de d olares1 . . . Para demostrar que P = N P , bastar a probar que existe alg un problema N P -completo que est a en P . Para demostrar que P = N P , bastar a probar que existe alg un problema N P -completo que no est a en P . Demostrar que un problema es N P -completo es dar un fuerte indicio de que es muy dif cil, de hecho, un indicio (pero no demostraci on) de que no es soluble en tiempo polinomial por algoritmos deterministas. Si se demuestra que uno de ellos est a (o no est a) en P , todos los otros problemas N P completos le siguen . . . Hay unos 10.000 problemas N P -completos esperando, entre ellos muchos de alta importancia pr actica.

10.7.2.
1. 2.

C omo se demuestra que un problema es N P -completo?

Demostrando que est a en N P , y Transformando a el, en tiempo polinomial, otro problema ya establecido como N P -completo.

En lugar de demostrar que todo problema N P puede ser transformado a nuestro candidato a problema N P -completo, basta probar (2), gracias a la transitividad de . Ejemplo: CLIQUE es N P -completo Soluci on: Por la transitividad de las reducciones polinomiales, y porque CLIQUE NP (por qu e?), basta con demostrar que: SAT CLIQUE . Es decir, hay que encontrar una funci on f computable en tiempo polinomial tal que, si x codica una f ormula en FNC, entonces f (x) codica un grafo G = (V, E ) y un entero k tales que: es satisfactible si y s olo si G tiene un subgrafo completo de tama no k (la misma construcci on que sigue funciona si pedimos de tama no k ). Veamos c omo construir G y k a partir de : primero, k es el n umero de cl ausulas en , es decir, es de la forma C1 Ck . Ahora, cada literal en (est e repetido o no) aporta un v ertice al grafo G, es decir, si Ci tiene m literales, esta cl asula aporta m v ertices a G. Con respecto a las aristas, colocamos una arista uniendo a los v ertices i y j si y s olo si: i y j provienen de diferentes cl asulas, y i y j (mejor dicho, sus correspondientes literales) no son complementarios, es decir, no es uno la negaci on del otro.
1 Literalmente.

c Luis Dissett.

93

P.U.C. Chile, 2004

10.7. EL TEOREMA DE COOK

CAP ITULO 10. P Y N P

Por ejemplo, la f ormula (x1 x2 ) (x2 x3 ) (x3 x1 ) da lugar a k = 3 y a un grafo con 6 v ertices:

x2 x1

x3

x1

x2

x3

Armaci on: G tiene un subgrafo completo de tama no k si y s olo si es satisfactible. En efecto: Primero demostramos . N otese que si i y j est an conectados por una arista en G, entonces se les puede dar el valor de verdad 1 en , sin conicto. Si hay un subgrafo completo de tama no k , entonces tiene al menos k literales, todos de cl ausulas diferentes, y a cada uno se le puede asignar el valor de verdad 1 en , sin entrar en conictos con los dem as. Como tiene exactamente k cl ausulas, esto da un literal en cada cl asula, y as , se puede hacer verdadera la f ormula completa. Esta es una asignaci on de verdad que satisface la f ormula. Ahora demostramos la implicaci on inversa . Supongamos que es satisfecha por una asignaci on . Fija , cada cl ausula Cj debe tener un literal lj tal, que (lj ) = 1. El conjunto de literales {l1 , . . . , lk } corresponde a un subgrafo completo en G de tama no k . Para probar esto, necesitamos s olo establecer que, para i y j arbitrarios, li y lj est an conectados por una arista en G. N otese que: li y lj provienen de cl ausulas diferentes (por construcci on), y li y lj no entran en conicto uno con otro (pues a ambos les da el valor de verdad 1). Esto demuestra la armaci on. Finalmente, hay que mencionar que esta construcci on puede ser hecha en tiempo polinomial en ||. Esto es f acil de ver, pues G tiene tantos v ertices como literales tiene , digamos n. Determinar cu ales son las aristas a colocar en G toma tiempo n2 .

10.7.3.

La demostraci on del teorema de Cook

Todo eso est a muy bien, pero cuando Cook demostr o que SAT -F N C es N P -completo lo hizo sin tener un problema N P -completo en el cual apoyarse. C omo lo hizo? Sea un problema en N P . Eso quiere decir que existe un polinomio p(n) y un algoritmo no determin stico A (modelado matem aticamente por una m aquina de Turing) que, dada una instancia I de de largo |I | = n, intenta adivinar un certicado c(I ) e intenta chequearlo en tiempo p(n). Cook mostr o que existe un polinomio q (n) tal que es posible, dada la instancia I , construir en tiempo q (|I |) una f ormula proposicional (I ) que es satisfactible si y s olo si existe una
c Luis Dissett.

94

P.U.C. Chile, 2004

CAP ITULO 10. P Y N P

10.8. OTROS PROBLEMAS N P COMPLETOS

computaci on de A que le permite demostrar que I (de hecho, la asignaci on de verdad que satisface (I ) corresponde a las distintas etapas y condiciones de dicha computaci on).

10.8.

Otros problemas N P completos

Recubrimiento de un Grafo por V ertices: Dado un grafo G y un entero positivo k , existe un recubrimiento de G de tama no a lo m as k ? Partici on: Dado un conjunto A de n umeros naturales, es posible encontrar un subconjunto S de A tal que x= x?
xS xAS

Suma de un subconjunto: Dado un conjunto A de n umeros naturales, y un natural, K es posible encontrar un subconjunto S de A tal que x = K?
xS

3-colorabilidad: Dado un grafo G, es posible pintar los v ertices de G con 3 colores de modo que v ertices adyacentes tengan colores distintos?

10.8.1.

Ejemplo: recubrimiento de un grafo por v ertices

Considere el siguiente problema: Problema de Recubrimiento de un Grafo por V ertices (RGV ). Dado un grafo G = (V, E ), tenemos las siguientes versiones: Problema de optimizaci on (RGVO ): encontrar un recubrimiento de tama no m nimo, es decir, un conjunto de v ertices de tama no m nimo tal, que cada arista tiene al menos un extremo en el subconjunto. Problema de decisi on (RGVD ): dado un entero positivo k , existe un recubrimiento de G de tama no a lo m as k ? (este problema es N P -completo). Demuestre que, si RGVD se puede resolver en tiempo polinomial, enton ces tambi en RGVO se puede resolver en tiempo polinomial (el rec proco es inmediato). Ayuda: primero determine el tama no N de un recubrimiento optimo de G. Cuidado con la tentaci on . . . ! Uno podr a sentirse tentado, una vez calculado el tama no N de un recubrimiento optimo de G, a chequear todos los posibles subconjuntos de v ertices de tama no N , para ver si forman un recubrimiento. Este algoritmo no es de tiempo polinomial: Primero que todo, chequear si un subconjunto de tama no N es recubrimiento toma (incluso usando fuerza bruta) tiempo O(N 3 ) O(n3 ), es decir, polinomial en n. Ah no est a el problema. n n Por otro lado, hay N subconjuntos a vericar. Esto da tiempo O(n3 N . El coeciente (N +1)n N a sugerir que, como N est a jo, que el binomial da 1 (nN ) que es menor o igual a n . Esto podr tiempo es polinomial en n. Sin embargo, el problema original es el de encontrar el recubrimiento optimo, y en ese problema no aparece el N como par ametro. El N sali o de manera intermedia y depende de n (y de la instancia), de hecho, N puede ser arbitrariamente cercano a n (en el peor caso). As , tenemos un tiempo O(nn ).

c Luis Dissett.

95

P.U.C. Chile, 2004

10.8. OTROS PROBLEMAS N P COMPLETOS

CAP ITULO 10. P Y N P

c Luis Dissett.

96

P.U.C. Chile, 2004

Cap tulo 11

Aritm etica modular y criptograf a


11.1. Divisibilidad. M aximo com un divisor

Denici on 49. Sean a, b Z. Decimos que b divide a a (o tambi en que a es divisible por b, o que a es un m ultiplo de b, o que b es un factor de a, o que b es un divisor de a) si y s olo si existe k Z tal que a = bk . Notaci on. Denotamos el que b divide a a por b | a.

11.1.1.

El algoritmo de la divisi on

El siguiente teorema es llamado el algoritmo de la divisi on ; aunque no es precisamente un algoritmo, sugiere (o m as bien dicho, su demostraci on sugiere) un algoritmo para calcular el cuociente y el resto de una divisi on entera: Teorema (Algoritmo de la divisi on). Sean a Z, b Z, b = 0. Entonces existen q, r Z tales que a = bq + r y 0 r < |b|. Estos enteros q y r son u nicos, y son llamados, respectivamente, el cuociente y el resto de la divisi on de a por b. Demostraci on. Consid erese el conjunto S = {a bx : x Z y a bx 0} . Si a 0 entonces a S , y si a < 0 entonces a |b| a S , por lo que en cualquier caso S = . Como adem as todos los elementos de S son 0, S es acotado inferiormente. Por el principio del menor entero, S debe tener un elemento m nimo. Llamemos a este r. Sea q Z alg un entero tal que a bq = r (dicho entero debe existir, por la denici on de S ). Claramente, r 0. Pasamos a demostrar que r < |b|. Si as no fuera, entonces r = r |b| = a bq |b| 0 y por lo tanto r S , r < r contradiciendo la minimalidad de r. As , existen q, r Z tales que a = bq + r, 0 r < |b|. Demostramos a continuaci on que q y r son los u nicos enteros con estas propiedades. Si a = bq + r con 0 r < |b|, entonces 0 = bq + r (bq + r ) = b(q q ) + (r r ), de donde r r = b(q q ), por lo que r r es divisible por b. Pero 0 r, r < |b| implica que |b| < r r < |b|, por lo que el u nico posible valor de r r divisible por b es r r = 0, o sea, r = r . Finalmente, como a = bq + r = bq + r y b = 0, debe tenerse q = q .

97

11.2. ARITMETICA MODULAR CAP ITULO 11. ARITMETICA MODULAR Y CRIPTOGRAF IA

11.1.2.

Divisores comunes. M aximo com un divisor

Sean a, b Z, no ambos cero. Consideremos el conjunto S = {n N : n divide a a y a b} . Sabemos que a y b no son ambos cero. SPG, supongamos a = 0. Entonces n S n |a|, por lo que S es acotado superiormente. Como adem as 1 S , S = , por lo que S debe tener un elemento m aximo . Sea d el m aximo elemento de S . Entonces tenemos: 1. d es un divisor com un de a y b; y 2. si d es un divisor com un de a y b, entonces d d.

La propiedad anterior nos permite dar la siguiente denici on: Denici on 50. El mayor elemento del conjunto S es llamado el m aximo com un divisor de a y b, y es denotado mcd(a, b); en algunos libros tambi en (a, b). Note que esta denici on no nos permite hallar en forma eciente el m aximo com un divisor entre dos enteros. Antes de dar un algoritmo para calcular el m aximo com un divisor entre dos enteros, veamos que mcd(a, b) = mcd(|a| , |b|). O sea, podemos siempre reducir el c alculo del m aximo com un divisor al caso en que ni a ni b son negativos.

11.1.3.

El algoritmo de Euclides.

PENDIENTE

11.1.4.

El algoritmo extendido de Euclides

Vimos que, dados a, b N, a, b > 0, se tiene mcd(a, b) = m n {ax + by : x, y Z}. Una modicaci on al algoritmo de Euclides nos permite hallar dos enteros x, y tales que ax + by = mcd(a, b). PENDIENTE

11.2.

Aritm etica modular

Consideramos Zn con las operaciones + mod n y mod n (suma y producto m odulo n). Se puede demostrar (hacerlo!) que [Zn , + mod n, mod n, 0, 1] es un anillo , es decir, como un cuerpo, pero puede fallar la existencia de inversos multiplicativos, dependiendo de n. La estructura de [Zn , + mod n, mod n, 0, 1] es como sigue: [Zn , + mod n, 0] es grupo conmutativo. [Zn , mod n, 1] es conmutativo, asociativo, 1 es neutro. mod n distribuye c.r.a. + mod n.
c Luis Dissett.

98

P.U.C. Chile, 2004

CAP ITULO 11. ARITMETICA MODULAR Y CRIPTOGRAF IA

11.3. CUERPOS

11.2.1.

Relaci on entre Z y Zn

Tanto Z como Zn son anillos. Qu e propiedades algebraicas se mantienen entre uno y otro? Consideremos f : Z Zn , denida por: a a mod n. (el resto de la divisi on de a por n).

Se tiene que f es homomorsmo de anillos (tambi en Z es anillo), o sea: f (a1 a2 ) = (f (a1 ) f (a2 )) mod n f (a1 + a2 ) = (f (a1 ) + f (a2 )) mod n Si escribimos x +n y en lugar de (x + y ) mod n, podemos escribir: f (a1 + a2 ) = f (a1 ) +n f (a2 ) f (a1 a2 ) = f (a1 ) n f (a2 ) Otra forma equivalente de escribir esto mismo es: (a1 + a2 ) mod n = ((a1 (a1 a2 ) mod n = ((a1 mod n) + (a2 mod n)) mod n mod n) (a2 mod n)) mod n

Obviamente f no es isomorsmo , ya que entonces Z y Zn tendr an la misma cardinalidad.

11.2.2.

Inversos en Zn

Dec amos que Zn es un anillo, o sea, tiene estructura similar a un cuerpo, pero no todo elemento = 0 tiene (necesariamente) un inverso multiplicativo. Qu e elementos en Zn {0} = {1, . . . , n 1} tienen inverso multiplicativo? Veamos: Teorema. a Zn {0} tiene inverso multiplicativo en Zn (o sea, existe x Zn tal que a x mod n = 1) si y s olo si mcd(a, n) = 1. Demostraci on. Sea d = mcd(a, n). Supondremos primero que x Zn es el inverso multiplicativo de a m odulo n. Entonces existe k Z tal que ax = kn + 1. Pero entonces 1 = ax kn, de donde d | 1 (ya que, como d | a y d | n, se tiene d | ax y d | kn). As , d = 1. Supongamos ahora que d = 1. Entonces podemos asegurar la existencia de dos n numeros enteros x, y tales que ax + ny = 1 (ver problema 2, I3)1 Pero entonces ax = ny + 1, o sea, ax od n), de donde x = a1 en Zn . = 1 (m

11.3.

Cuerpos

La propiedad demostrada en la u ltima secci on tiene el siguiente Corolario. Zn es un cuerpo si y s olo si n es primo. Demostraci on. Ejercicio. Ejemplo. n = 5. +5 0 1 2 3 4
1 M as

0 0 1 2 3 4

1 1 2 3 4 0

2 2 3 4 0 1

3 3 4 0 1 2

4 4 0 1 2 3

5 0 1 2 3 4

0 0 0 0 0 0

1 0 1 2 3 4

2 0 2 4 1 3

3 0 3 1 4 2

4 0 4 3 2 1

a un: el Algoritmo Extendido de Euclides nos da una forma eciente de calcular estos enteros.

c Luis Dissett.

99

P.U.C. Chile, 2004

A CAP 11.4. INTRODUCCION LA CRIPTOGRAF ITULO 11. ARITM IA ETICA MODULAR Y CRIPTOGRAF IA Ejemplo. n = 4, Z4 no es cuerpo +4 0 1 2 3 0 0 1 2 3 1 1 1 3 0 2 2 3 0 1 3 3 0 1 2 4 0 1 2 3 0 0 0 0 0 1 0 1 2 3 2 0 2 0 2 3 0 3 2 1

El 2 no tiene inverso multiplicativo: mcd(4, 2) = 2 = 1. A continuaci on enunciamos (sin demostraci on todav a) dos teoremas importantes. Daremos las demostraciones m as adelante.

11.3.1.

El peque no teorema de Fermat

Teorema (Peque no teorema de Fermat). Sea p primo. Para todo a {1, 2, . . . , p 1} se tiene ap1 m od p = 1. Ejemplo. Consideremos p = 11. Se tiene: 110 m od 11 = 210 m od 11 = = 1010 m od 11 = 1.

11.3.2.

El teorema chino de los restos

Sean a, b Z, a, b 1, con mcd(a, b) = 1. Para todo u, v N, con 0 u < a, 0 v < b, existe un u nico x N, tal que: 1. 0 x < ab

2. x mod a = u 3. x mod b = v Para demostrar el teorema hay que demostrar existencia y unicidad.

11.4.

Introducci on a la Criptograf a

Prop osito: poder codicar (encriptar) mensajes (informaci on) para ocultar su contenido. El proceso de codicaci on debe ser efectivo y eciente. La decodicaci on (desencriptaci on) debe ser computacionalmente intratable (cuando no se cuenta con cierta informaci on espec ca, propia del m etodo de encriptaci on). Se denomina criptograf a moderna a aquella basada en teor a computacional de n umeros. Hay varios protocolos criptogr acos, que tienen que ver con la forma en que se distribuye las funciones de encriptaci on (o sus claves), y con las funciones mismas.

11.4.1.

Un protocolo de encriptaci on de clave p ublica

1977: Rivest, Shamir & Adleman (RSA). Se supone que los mensajes (antes de la encriptaci on) ya son n umeros enteros. Agente A quiere recibir mensajes encriptados de otros agentes. Publica una clave que permite a los otros codicar los mensajes que le env an, pero s olo el puede leerlos.
c Luis Dissett.

100

P.U.C. Chile, 2004

A LA CRIPTOGRAF CAP ITULO 11. ARITMETICA MODULAR 11.4. Y CRIPTOGRAF INTRODUCCI IA ON IA

11.4.2.

Codicaci on en RSA

El agente A: Elige dos n umeros primos grandes p y q , y calcula N = p q . Elige e tal que: mcd(e, (p 1)(q 1)) = 1, primo relativo con (p 1)(q 1) (en particular, puede ser otro primo). Calcula s, t tales que: se + t(p 1)(q 1) = 1. Esto se puede hacer en tiempo polinomial con el algoritmo extendido de Euclides. Publica N y e Dice a los otros: al enviarme mensajes M , encr ptenlos usando la siguiente funci on de encriptaci on: E (M ) = M e m od n. El resto de la divisi on de M e por n se puede calcular en tiempo polinomial (pendiente)..

11.4.3.

Decodicaci on en RSA

A se guarda p, q, s, t!!!! Para leer el mensaje, A aplica la funci on de desencriptaci on: D(E (M )) = (E (M ))s m od n = M. Esto lo puede hacer en tiempo polinomial si conoce s y n.
?

11.4.4.

Supuestos para que RSA funcione

Se supone que s olo A conoce la funci on D. Se cree que, a no ser que sea f acil factorizar n umeros naturales en factores primos, una persona que conoce s olo n y e, no va a poder calcular ecientemente s (pues parece que requiere de p y q ). Tampoco se conoce otra forma eciente de calcular D a partir de n y e. La idea es que D no pueda ser obtenida f acilmente a partir de E (es lo que se llama funci on en un solo sentido, o funciones con puerta trampa). Uno de los supuestos b asicos es que factorizar n umeros enteros no puede ser hecho en tiempo polinomial (una suposici on base de la criptograf a, un problema abierto).

11.4.5.

Firma de mensajes

Lo anterior tambi en se puede usar para rmar mensajes. Ve amos que D(E (M )) = M para todo M . Supongamos que, adem as, E (D(M )) = M , para todo M . A puede rmar un mensaje M enviado a B : A
(M,D (M ))

B.

El n umero D(M ) es la rma del mensaje, (pero no env a la funci on D). S olo el que conoce D, es decir, A, puede aplicar D. A puede rmar ecientemente mensajes con D. C omo reconoce B que M fue enviado por A?
c Luis Dissett.

101

P.U.C. Chile, 2004

A CAP 11.4. INTRODUCCION LA CRIPTOGRAF ITULO 11. ARITM IA ETICA MODULAR Y CRIPTOGRAF IA

11.4.6.

Vericaci on de la rma

B ha recibido un par (M, M ). Para convencerse de que, efectivamente, este ha sido enviado por A, debe convencerse de que M = D(M ). C omo se convence de esto? Como B tiene E (que le fue enviado por A), B aplica E a la rma M . Si E (M ) = M = E (D(M )), entonces M = D(M ), y as B sabe que el mensaje fue enviado por A. B puede vericar ecientemente todo esto. Hay que probar que el protocolo es correcto, es decir, que 1. D(E (M )) = M ; 2. E (D(M )) = M .

Veremos la demostraci on de 1. (la otra es similar). D(E (M )) = (E (M ))s m od n e s = (M ) m od n e s = M m od n = M 1t(p1)(q1) m od n = M (t)(p1)(q1)+1 m od n = M m od n = M (si n es grande) Hay que probar que: M (t)(p1)(q1)+1 m od n = M m od n. Lema. Sean p primo, a, K Z, K 0. Entonces: aK (p1)+1 m od p = a m od p. (generalizaci on del peque no teorema de Fermat) Demostraci on. aK (p1)+1 m od p = (((aK m od p)p1 m od p) (a m od p)) m od p = (1 (a m od p)) m od p = a m od p.
?

Teorema. Para enteros M, k 0 y primos p1 , p2 : M k(p1 1)(p2 1)+1 m od (p1 p2 ) = M m od (p1 p2 ).

Demostraci on. Usar el lema anterior con a = M, K = k (p1 1) y p = p2 : M k(p1 1)(p2 1)+1 m od p2 = M m od p2 . Tambi en podemos aplicar el lema con a = M, k = K (p2 1) y p = p1 : M k(p1 1)(p2 1)+1 m od p1 = M m od p1 . Tenemos: M k(p1 1)(p2 1)+1 m od p2 k(p1 1)(p2 1)+1 M m od p1
c Luis Dissett.

= M m od p2 = M m od p1

(11.1) (11.2)
P.U.C. Chile, 2004

102

MODULAR CAP ITULO 11. ARITMETICA MODULAR Y CRIPTOGRAF 11.5. EXPONENCIACI IA ON C omo las combinamos para obtener lo deseado?. Por el Teorema Chino del Resto, como mcd(p1 , p2 ) = 1, la siguiente funci on es 1-1 y sobre: : Zp1 p2 Zp1 Zp2 x (x m od p1 , x m od p2 ) Es f acil vericar, usando (11.1) y (11.2), que od (p1 p2 )) = (M m od (p1 p2 )) (M k(p1 1)(p2 1)+1 m Como es 1-1, los argumentos son iguales. Volviendo a nuestro escenario criptogr aco, tenemos: M k(p1)(q1)+1 m od n = M m od n, para k 0. Problema: C omo podemos asegurar que M t(p1)(q1)+1 m od n = M m od n? Podemos asegurar que t = 0? El t Z sale del AEE. Podemos elegir t 0, tal que s e + t (p 1)(q 1) = 1? Si es as , tendremos nalmente: M (t)(p1)(q1)+1 m od n = M m od n. Se puede controlar el signo de t? No hay necesariamente unicidad en la CLE. Lema. Sean a, b Z, b > 1, mcd(a, b) = 1. Existen s, t Z, tales que a s + b t = 1 y t 0. Demostraci on. Ejercicio.

11.5.

Exponenciaci on modular

Un ingrediente fundamental para poder implementar ecientemente RSA es el poder calcular be m od n en forma eciente. Veremos dos implementaciones de esta funci on.

11.5.1.

Exponenciaci on modular (na ve )

Dados b, n Z+ , e N, el siguiente algoritmo calcula be m od n: Precondici on: b, n Z+ , e N. 1: x n; y b; z 1; 2: while x = 0 do 3: if x es impar then 4: z zy 5: end if 6: x x 2 7: y y2 8: end while 9: return z m od n
c Luis Dissett.

103

P.U.C. Chile, 2004

11.6. OTROS TEOREMASCAP IMPORTANTES, ITULO 11. ARITM Y DEMOSTRACIONES ETICA MODULAR PENDIENTES Y CRIPTOGRAF IA

11.5.2.

Complejidad del algoritmo anterior

Cu al es la complejidad del procedimiento anterior para calcular be m od n? Supondremos que sumar dos n umeros de k bits toma O(k ) operaciones y multiplicar dos n umeros de k bits toma O(k 2 ) operaciones (esta u ltima suposici on puede ser mejorada). Sean b, e y n tres n umeros de k bits c/u. Si llamamos xi , yi , zi a los valores de x, y , z despu es de i iteraciones, y |a| a la cantidad de bits de a, vemos que: i log2 n + 1 k . |yi | k 2i . |zi | k (1 + 2 + + 2i1 ) k 2i . El tiempo que toma, en cada iteraci on, calcular z y e y 2 es aproximadamente, O((k 2i )2 ) = 2 2i O(k 2 ). Al nal del loop, cada una de estas operaciones toma O(k 2 22k ). Esto es exponencial en k ! Es posible mejorar esto? Si en lugar de dejar crecer y y z indiscriminadamente, los mantenemos chicos (no m as de k bits en cada iteraci on), las multiplicaciones no ser an tan costosas.

11.5.3.

Exponenciaci on modular (m as astuta)

El siguiente algoritmo usa la idea anterior: Precondici on: b, n Z+ , e N. 1: x e; y b; z 1; 2: while x = 0 do 3: if x es impar then 4: z z y m od n 5: end if 6: x x 2 7: y y 2 m od n 8: end while 9: return z

11.5.4.

Complejidad del algoritmo anterior

La complejidad del algoritmo anterior es O(k k 2 ) + O(k Tm ) = O(k 3 ) + O(k Tm ), donde Tm es el tiempo que toma calcular a m od n, siendo a un n umero de 2k bits y n un n umero de k bits. Ejercicio. Demuestre que Tm es O(k 2 ). Con el resultado del ejercicio anterior, es posible demostrar que la complejidad del algoritmo completo es O(k 3 ).

11.6.
11.6.1.

Otros teoremas importantes, y demostraciones pendientes


Teorema fundamental de la aritm etica

Teorema. Todo n umero entero positivo N tiene una u nica representaci on como producto de potencias de n umeros primos (excepto por reordenamiento de los factores). En otras palabras, dado N Z+ , es posible escribir en forma u nica
es 1 N = pe 1 ps

con s 1, p1 , < p2 < . . . < ps primos.


c Luis Dissett.

104

P.U.C. Chile, 2004

CAP ITULO 11.6. 11. OTROS ARITM TEOREMAS ETICA MODULAR IMPORTANTES, Y CRIPTOGRAF Y DEMOSTRACIONES IA PENDIENTES Ejemplo. 2200 = 23 52 111 . El teorema se demuestra usando los siguientes tres siguientes resultados, m as inducci on por curso de valores: Lema. Sean a, b, c Z, tales que a = 0, a | bc. Si mcd(a, b) = 1, entonces a divide a c. Corolario. Sean p, a, b Z, p primo. Si p | ab, entonces p | a o p | b. Ejemplo. 3 | 12 3 | 2 6 3 | 2 o 3 | 6. El u ltimo ingrediente que necesitamos para demostrar el TFA es el siguiente: Lema. Sean n 1 y p1 , p2 , , pn primos; p primo. Si p divide al producto p1 pn , entonces, para alg un i, 1 i n, p = pi . Ejercicio. Usando los dos lemas y el corolario anterior, demuestre el TFA.

11.6.2.
1. 2.

Demostraci on del peque no teorema de Fermat


(m od p).

Algunos hechos ya conocidos: Para p primo, y todo a {1, . . . , p 1}, existe b {1, . . . , p 1} tal que ab 1

Para p primo, y todo a, c {1, . . . , p 1}, existe b {1, . . . , p 1} tal que ab c (m od p).

Adem as, se puede demostrar lo siguiente: 3. Para p primo, y cada a {1, . . . , p 1}, la funci on fa denida por: fa (b) = ab m od p, con , tiene las siguientes propiedades: b Z p Est a denida en todo Z p. Toma s olo valores en Z p , es decir, nunca fa (b) = 0.
Toma todos los valores en Zp , es decir, es una funci on sobreyectiva de Z p en Zp .

Luego, es tambi en 1-1 ah . Es una permutaci on de Z p. Ejemplo. Consideremos p = 3. Z 3 = {1, 2} f2 = (2 x) m od 3, x = 1, 2. f2 (1) = 2, f2 (2) = 1, una permutaci on de {1, 2}. on de Z Fijemos a Zp . Como fa (1), . . . , fa (p 1) es una permutaci p , se tiene
p1 p1

fa (b)
b=1 p1

=
b=1 p1

((ab)
b=1 p1

mod p)

=
b=1

b
p1

mod p

(
b=1

[(ab)

mod p])
p1

mod p

(
b=1 p1

b)

mod p

(
b=1

(ab))

mod p

(
b=1

b)

mod p

El u ltimo paso a la izquierda lo justica la propiedad de homomorsmo. Luego:


p1 p1

((
b=1
c Luis Dissett.

b) ap1 )

mod p = (
b=1

b)

mod p

105

P.U.C. Chile, 2004

11.6. OTROS TEOREMASCAP IMPORTANTES, ITULO 11. ARITM Y DEMOSTRACIONES ETICA MODULAR PENDIENTES Y CRIPTOGRAF IA
p1 p1

(((
b=1

b)
p1

mod p) ((ap1 )

mod p))

mod p =

(
b=1

b)

mod p.

Ahora, ( b=1 b) mod p Zp y es distinto de 0, es decir, pertenece a Z p (si lo fuera, el producto ser a divisible por p, luego, uno de los factores tendr a que ser divisible por p, lo que no es posible pues todos son menores que p). Otra manera de justicarlo, con un resultado general de la teor a de cuerpos (Zp es un cuerpo): en un cuerpo, no hay divisores del cero, es decir, si a b = 0, entonces a = 0 o b = 0. Entonces, existe el inverso multiplicativo del producto en Z p . Podemos multiplicar a ambos lados por el, como al lado izquierdo tenemos la multiplicacion en Z p , queda: ap1 mod p = 1.

El peque no teorema de Fermat sale como consecuencia inmediata de un resultado general de la teor a de grupos:. Teorema (Lagrange). Para todo grupo nito [G, , e] y para todo g G: g |G| = e. Caso Particular: [{1, . . . , p 1} , mod p, 1] es un grupo, su cardinalidad es p 1, luego, para todo a {1, . . . , p 1}, se tiene ap1 = 1. Notar el poder de resultados generales del algebra abstracta, en este caso, de la teor a de grupos!

11.6.3.

El (gran) teorema de Fermat


xn + y n = z n .

Dados x, y, z Z {0}, n N, n > 2, se tiene

11.6.4.
Unicidad

Demostraci on del teorema chino de los restos

Supongamos 0 x, x < ab, y que: 1. x mod a = u 2. x mod b = v 3. x mod a = u 4. x mod b = v

Hay que demostrar que x = x . De 1 y 3, x mod a = x mod a, de donde a | (x x ). As , (x x ) = c a para alg un c entero. An alogamente, b | (x x ), de donde b divide a c a. Pero mcd(a, b) = 1, de donde b | c, es decir, c = k b. Luego: (x x ) = k a b. Entonces, ab divide a (x x ). Pero x, x son no negativos y x, x < ab, por lo que necesariamente x x = 0. Existencia Daremos una demostraci on constructiva, es decir, un procedimiento para construir x. Este procedimiento puede entenderse como inspirado en el proceso de interpolaci on de Lagrange: si se quiere hallar un polinomio p(x) con valores v1 , v2 , . . . , vn en los puntos x1 , x2 , . . . , xn , podemos tomar
n

p(x) =
i=1

vi pi (x),

donde pi es un polinomio que vale 1 en xi y 0 en todos los xj con j = i.


c Luis Dissett.

106

P.U.C. Chile, 2004

CAP ITULO 11.6. 11. OTROS ARITM TEOREMAS ETICA MODULAR IMPORTANTES, Y CRIPTOGRAF Y DEMOSTRACIONES IA PENDIENTES Ejercicio. Encuentre una f ormula para pi (x). Sabemos que existe una CLE: s a + t b = 1, con s, t Z. Esta CLE es computable ecientemente . Los valores sa y tb juegan el rol de los pi en la interpolaci on de Lagrange: sa y tb satisfacen tb tb sa sa De aqu , obtenemos que x = (sav + tbu) mod ab (que es computable ecientemente) satisface las condiciones pedidas. mod a mod b mod a mod b = = = = 1, 0, 0, 1.

c Luis Dissett.

107

P.U.C. Chile, 2004