Las matemáticas discretas son el estudio de las estructuras matemáticas que son discretas y no continuas. A diferencia de los números reales, que varían "suavemente", las matemáticas discretas estudian objetos como los números enteros, los gráficos y los enunciados de la lógica. Estos objetos no varían suavemente, sino que tienen valores distintos y separados; por tanto, las matemáticas discretas excluyen los temas de las "matemáticas continuas", como el cálculo y el análisis. Los objetos discretos pueden contarse a menudo con números enteros; los matemáticos suelen decir que es la rama de las matemáticas que se ocupa de los conjuntos contables (conjuntos que tienen la misma cardinalidad que los subconjuntos de los números naturales, incluidos los números racionales pero no los reales). Sin embargo, no existe una definición exacta y universalmente acordada del término "matemáticas discretas": muchas veces se describen menos por lo que se incluye que por lo que se excluye, es decir, por la ausencia de variación continua y las nociones asociadas.
Ámbitos y conceptos principales
- Combinatoria: estudio de conteos, permutaciones, combinaciones y métodos para contar estructuras complejas (principio de inclusión-exclusión, recursiones, conteo por recorridos).
- Teoría de grafos: análisis de vértices y aristas para modelar redes, rutas, flujos y relaciones discretas; incluye algoritmos como búsqueda en anchura (BFS), búsqueda en profundidad (DFS), caminos mínimos y emparejamientos.
- Lógica matemática y teoría de la computación: proposicional y de predicados, autómatas finitos, gramáticas formales y teoría de la decidibilidad; estudio de máquinas abstractas y lenguajes formales.
- Teoría de números: propiedades de los enteros, congruencias, primos y aplicaciones criptográficas.
- Teoría de la información y codificación: códigos correctores de errores, compresión y medidas discretas de entropía.
- Probabilidad discreta y procesos estocásticos: modelos probabilísticos con espacios de resultados finitos o numerables.
- Estructuras algebraicas finitas: grupos, anillos y cuerpos finitos que se usan en criptografía y teoría de códigos.
- Algoritmos y complejidad: diseño y análisis de algoritmos, medición de su eficiencia (tiempo y espacio) y clasificación según su complejidad computacional.
Aplicaciones en informática
La investigación y las técnicas de las matemáticas discretas crecieron notablemente en la segunda mitad del siglo XX, en parte por el desarrollo de los ordenadores digitales, que operan en pasos discretos y almacenan información en bits discretos. Sus conceptos y notaciones son esenciales en numerosas áreas de la informática:
- Algoritmos y estructuras de datos: diseño de algoritmos eficientes (ordenación, búsqueda, estructuras de datos como pilas, colas, árboles, tablas hash) y análisis de su complejidad.
- Lenguajes de programación y compiladores: teoría de autómatas y gramáticas para el análisis sintáctico y diseño de analizadores; ver también lenguajes de programación.
- Criptografía: la seguridad moderna se basa en la teoría de números, cuerpos finitos y problemas computacionales difíciles; ver criptografía, la.
- Verificación y demostración automática: lógica, satisfacibilidad (SAT), SMT y comprobación de modelos para garantizar corrección de programas y sistemas.
- Desarrollo de software y análisis: modelado de sistemas discretos, pruebas unitarias basadas en estados finitos y técnicas formales para la especificación y verificación; relacionado con desarrollo de software.
- Redes y teoría de grafos aplicada: enrutamiento, diseño de redes, análisis de redes sociales y optimización de flujos.
- Compresión y codificación: algoritmos de compresión sin pérdida y códigos de corrección de errores para comunicaciones fiables.
Métodos y técnicas comunes
- Inducción matemática: herramienta fundamental para demostrar propiedades sobre estructuras definidas recursivamente (por ejemplo, árboles, secuencias).
- Recurrencias y funciones generadoras: para estudiar y resolver relaciones de conteo y obtener fórmulas cerradas o estimaciones asintóticas.
- Análisis de algoritmos: uso de notaciones asintóticas (O, Ω, Θ), técnicas amortizadas y métodos probabilísticos.
- Técnicas algorítmicas: búsqueda, división y conquista, programación dinámica, greedy, backtracking, algoritmos probabilísticos y aproximación.
- Herramientas computacionales: implementaciones y simulaciones (por ejemplo, pruebas de algoritmos sobre instancias reales), SAT-solvers y bibliotecas para grafos.
Relación con las matemáticas continuas
Aunque el foco son objetos discretos, con frecuencia se emplean métodos analíticos procedentes de las matemáticas continuas. Ejemplos incluyen:
- uso de análisis asintótico y técnicas de análisis complejo en combinatoria (análisis combinatorio),
- aplicación de probabilidades continuas en límites y aproximaciones,
- herramientas de optimización y método de las derivadas para problemas discretos relajados (por ejemplo, relajaciones lineales en programación entera).
Ejemplos concretos y problemas típicos
- Encontrar el camino más corto en una red (algoritmos de Dijkstra o Bellman–Ford).
- Diseñar tablas hash eficientes y estructuras para búsquedas rápidas.
- Resolver problemas de asignación y emparejamiento (algoritmo de Hopcroft–Karp).
- Criptosistemas basados en propiedades de los enteros (por ejemplo RSA) y protocolos de intercambio de claves.
- Modelado de autómatas finitos para analizadores léxicos y controladores.
- Construcción de códigos correctores para comunicaciones y almacenamiento fiables.
Breve histórico y contexto
Si bien muchos temas de la combinatoria y la teoría de números son antiguos, el crecimiento explosivo de la informática y las necesidades prácticas de diseñar máquinas y programas eficientes impulsaron el desarrollo sistemático de las matemáticas discretas en el siglo XX. Las computadoras digitales hicieron evidente la necesidad de una teoría que describiera estructuras finitas y algorítmicas.
Consejos para el estudio
- Practicar resolución de problemas: la combinatoria y la teoría de grafos se dominan resolviendo muchos ejercicios prácticos.
- Implementar algoritmos: programar y probar algoritmos ayuda a comprender sus límites y costes.
- Estudiar pruebas formales: aprender a usar la inducción, contradicción y construcciones explícitas para demostrar propiedades.
- Relacionar teoría y aplicaciones: buscar ejemplos reales en redes, criptografía o desarrollo de software para ver la utilidad práctica.
En resumen, las matemáticas discretas son una disciplina amplia y diversa cuyo núcleo son estructuras no continuas y contables; su desarrollo y aplicación están estrechamente ligados a la informática y a multitud de problemas reales en los que las decisiones, estados y datos se representan de forma discreta.

