CONTENIDO v Contenido Contenido de la página Web de apoyo... xi Página Web de apoyo... xvii Prefacio... xix Capítulo I Sistemas numéricos 2 1.1 Introducción... 4 1.2 Sistema decimal... 5 1.3 Sistemas binario, octal y hexadecimal... 6 1.3.1 Sistema binario... 6 1.3.2 Sistema octal... 8 1.3.3 Sistema hexadecimal... 10 1.4 Generalización de las conversiones... 12 1.5 Operaciones básicas... 13 1.5.1 Suma... 14 1.5.2 Resta... 16 1.5.3 Multiplicación... 19 1.5.4 División... 21 1.6 Suma de dos cantidades en complemento a 2... 24 1.7 Aplicación de los sistemas numéricos... 30 1.8 Resumen... 32 1.9 Problemas... 34 Capítulo II Métodos de conteo 40 2.1 Introducción... 42 2.2 Principios fundamentales del conteo... 42 2.2.1 Principio fundamental del producto... 42 2.2.2 Principio fundamental de la adición... 45
vi CONTENIDO 2.3 Permutaciones... 46 2.4 Combinaciones... 52 2.5 Aplicaciones en la computación... 57 2.5.1 Binomio elevado a la potencia n... 57 2.5.2 Triángulo de Pascal... 60 2.5.3 Sort de la burbuja (bubble sort)... 61 2.6 Resumen... 62 2.7 Problemas... 64 Capítulo III Conjuntos 72 3.1 Introducción... 74 3.2 Concepto de conjunto... 74 3.3 Subconjuntos... 78 3.4 Diagramas de Venn... 79 3.5 Operaciones y leyes de conjuntos... 80 3.5.1 Unión (A B)... 80 3.5.2 Intersección (A B)... 82 3.5.3 Ley distributiva... 83 3.5.4 Complemento (A )... 84 3.5.5 Ley de Morgan... 85 3.5.6 Diferencia (A B)... 87 3.5.7 Diferencia simétrica (A B)... 87 3.6 Simplificación de expresiones usando leyes de conjuntos... 92 3.7 Relación entre teoría de conjuntos, lógica matemática y álgebra booleana... 97 3.8 Conjuntos finitos... 98 3.9 Aplicación de la teoría de conjuntos... 101 3.10 Resumen... 102 3.11 Problemas... 104
CONTENIDO vii Capítulo IV Lógica matemática 114 4.1 Introducción... 116 4.2 Proposiciones... 117 4.2.1 Proposiciones compuestas... 117 4.2.2 Proposición condicional ( )... 121 4.2.3 Proposición bicondicional ( )... 122 4.3 Tablas de verdad... 125 4.3.1 Tautología, contradicción y contingencia... 127 4.3.2 Contradicción... 129 4.3.3 Contingencia... 130 4.4 Inferencia lógica... 130 4.5 Equivalencia lógica... 133 4.6 Argumentos válidos y no válidos... 137 4.6.1 Tipos de argumentos... 141 4.7 Demostración formal... 142 4.7.1 Demostración por el método directo... 142 4.7.2 Demostración por contradicción... 147 4.8 Predicados y sus valores de verdad... 150 4.9 Inducción matemática... 159 4.10 Aplicación de la lógica matemática... 163 4.11 Resumen... 165 4.12 Problemas... 168 Capítulo V Álgebra booleana 176 5.1 Introducción... 178 5.2 Expresiones booleanas... 178 5.3 Propiedades de las expresiones booleanas... 180 5.4 Optimización de expresiones booleanas... 182 5.4.1 Simplificación de expresiones booleanas mediante teoremas del álgebra de Boole... 182 5.4.2 Simplificación de expresiones booleanas usando mapas de Karnaugh... 185
viii CONTENIDO 5.5 Compuertas lógicas... 197 5.6 Aplicaciones del álgebra booleana... 206 5.7 Resumen... 209 5.8 Problemas... 210 Capítulo VI Relaciones 218 6.1 Introducción... 220 6.2 Elementos de una relación... 220 6.2.1 Producto cartesiano... 222 6.2.2 Relación binaria... 223 6.2.3 Matriz de una relación... 224 6.2.4 Grafo de una relación... 225 6.3 Tipos de relaciones... 227 6.3.1 Relación reflexiva... 228 6.3.2 Relación irreflexiva... 228 6.3.3 Relación simétrica... 229 6.3.4 Relación asimétrica... 229 6.3.5 Relación antisimétrica... 230 6.3.6 Relación transitiva... 230 6.4 Relaciones de equivalencia, clases de equivalencia y particiones... 235 6.4.1 Cerraduras... 239 6.5 Operaciones entre relaciones... 242 6.6 Propiedades de las relaciones... 246 6.7 Aplicaciones de las relaciones... 248 6.7.1 Una lista enlazada es una relación... 248 6.7.2 Las relaciones en las bases de datos... 253 6.8 Funciones... 257 6.8.1 Composición de funciones... 261 6.8.2 Tipos de funciones... 262 6.8.3 Funciones invertibles... 265 6.9 Aplicación de las funciones... 267 6.10 Resumen... 268 6.11 Problemas... 272
CONTENIDO ix Capítulo VII Grafos 284 7.1 Introducción... 286 7.2 Partes de un grafo... 287 7.3 Tipos de grafos... 288 7.4 Representación matricial... 292 7.5 Caminos y circuitos... 294 7.6 Isomorfismo... 303 7.7 Grafos planos... 307 7.8 Coloración de grafos... 312 7.8.1 Número cromático... 313 7.8.2 Características del número cromático... 316 7.8.3 Coloración de grafos planos... 318 7.8.4 Polinomio cromático... 321 7.9 Aplicaciones de los grafos... 325 7.9.1 Reconocimiento de patrones mediante grafos de similaridad... 325 7.9.2 Determinación de la ruta más corta mediante grafos ponderados. 328 7.10 Resumen... 332 7.11 Problemas... 335 Capítulo VIII Árboles 350 8.1 Introducción... 352 8.2 Propiedades de los árboles... 353 8.3 Tipos de árboles... 354 8.3.1 Clasificación por número de nodos... 354 8.3.2 Clasificación por altura... 356 8.4 Bosques... 357 8.5 Árboles con pesos... 358 8.6 Árboles generadores... 363 8.6.1 Búsqueda a lo ancho... 363 8.6.2 Búsqueda en profundidad... 364
x CONTENIDO 8.6.3 Obtención de árboles generadores... 365 8.6.4 Árbol generador mínimo... 370 8.7 Recorrido de un árbol... 377 8.7.1 Recorridos en árboles etiquetados... 378 8.8 Búsquedas... 384 8.8.1 Árboles de búsqueda binarios... 384 8.9 Aplicación de los árboles... 387 8.10 Resumen... 390 8.11 Problemas... 392 Capítulo IX Introducción a los lenguajes formales 400 9.1 Introducción... 402 9.2 Gramáticas y lenguajes formales... 402 9.2.1 Estructuración de las gramáticas... 402 9.2.2 Clasificación de las gramáticas... 405 9.2.3 Representación de las gramáticas... 407 9.3 Autómatas finitos... 414 9.3.1 Terminología básica... 415 9.3.2 Autómatas finitos determinísticos (AFD)... 421 9.3.3 Autómatas finitos no determinísticos (AFN)... 422 9.3.4 Conversión de un AFN a un AFD... 424 9.4 Máquinas de estado finito... 427 9.4.1 Equivalencia entre autómatas finitos y máquinas de estado finito 430 9.4.2 Máquinas de Turing... 433 9.5 Teoría de la computabilidad... 441 9.5.1 Teoría de la complejidad... 442 9.6 Aplicación de los lenguajes formales... 445 9.7 Resumen... 450 9.8 Problemas... 452 Bibliografía... 464 Respuestas de problemas seleccionados... 465 Índice analítico... 491
Contenido de la página Web de apoyo El material marcado con asterisco (*) sólo está disponible para docentes. Capítulo 1. Sistemas numéricos Simulador: Herramienta interactiva para hacer conversiones y operaciones entre sistemas numéricos. Hoja de cálculo: Aplicación para convertir cantidades entre diferentes sistemas numéricos. Software: Programa para hacer operaciones aritméticas básicas en diferentes sitemas numéricos. Lecturas adicionales (41 págs.): Suma de dos cantidades en complemento a 2. Más ejemplos de operaciones aritméticas en diferentes sistemas numéricos. Sistemas numéricos y códigos binarios. Sistemas numéricos en el México prehispánico.
xii CONTENIDO DE LA PÁGINA WEB DE APOYO Capítulo 2. Métodos de conteo Simulador: Aplicación que permite calcular el número de combinaciones y/o permutaciones de n elementos en arreglos de tamaño r. Capítulo 3. Conjuntos Simulador: Herramienta interactiva para hacer operaciones entre conjuntos. Lectura adicional (30 págs.): Teoría de conjuntos y filosofía. Capítulo 4. Lógica matemática Lecturas adicionales (28 págs.):
CONTENIDO DE LA PÁGINA WEB DE APOYO xiii La obra de Gödel en lógica matemática y teoría de conjuntos. Sobre la inducción matemática. Capítulo 5. Álgebra booleana Simulador: Herramienta interactiva para hacer el diagrama lógico de una expresión booleana. Lecturas adicionales (72 págs.): Aplicación de álgebra booleana a circuitos de conmutación. Más aplicaciones del álgebra booleana. Álgebra booleana. Método de reducción de mapas de Karnaugh. Compuertas lógicas. Capítulo 6. Relaciones Lecturas adicionales (104 págs.): Relaciones como listas enlazadas. Funciones para localizar información. Relaciones y funciones.
xiv CONTENIDO DE LA PÁGINA WEB DE APOYO Relaciones (1). Relaciones (2). Relaciones. Apuntes de matemática discreta. Relaciones. Entre la epistemología y la lógica. Decisión y algoritmos de ordenación. Capítulo 7. Grafos Lecturas adicionales (56 págs.): Solución al problema de locura instantánea usando grafos. Circuitos de Euler y Hamilton. Coloración. Introducción a la teoría de grafos. Capítulo 8. Árboles Simulador: Simulador de árboles binarios. Lecturas adicionales (65 págs.): Árboles B. Árboles AVL.
CONTENIDO DE LA PÁGINA WEB DE APOYO xv Evaluación de expresiones matemáticas por medio de árboles. Fundamentos de inteligencia artificial. Capítulo 9. Introducción a los lenguajes formales Lecturas adicionales (313 págs.): Manipulación de cadenas y lenguajes. Lenguajes formales. Lenguajes formales. Sistemas informáticos. Lenguajes y autómatas. Gramáticas y lenguajes libres de contexto. Máquinas de Turing. Lenguajes. Autómatas de pila y lenguajes independientes del contexto. Gramáticas regulares. Expresiones regulares. Lenguajes regulares.