OBJETIVOS GENERALES DE LA DISCIPLINA
- Desarrollar, mediante las teorías y estructuras de la Matemática Computacional la capacidad de recepción y comprensión, de modo independiente, de teorías y algoritmos existentes y la utilización creativa de estos resultados en la producción de nuevos conocimientos.
- Evaluar en la práctica las teorías y modelos de la Matemática Computacional, aplicándolos a la representación y solución de problemas por computadoras.
- Aplicar los principales desarrollos de la Lógica en la representación y el procesamiento automático de la información.
- Aplicar en la representación de estructuras de información y en la modelación de procesos, los principales conceptos y desarrollos de la teoría de grafos.
- Utilizar en el diseño y análisis de algoritmos, los conceptos y métodos combinatorios fundamentales.
- Emplear los conceptos fundamentales de teoría de números en la solución de múltiples problemas computacionales donde una búsqueda exhaustiva resultaría intratable.
- Utilizar, creativa y críticamente, las diferentes técnicas de diseño de algoritmos en la solución de problemas computacionales.
- Evaluar la eficiencia y la complejidad computacional de un algoritmo para la solución de un determinado problema.
- Aplicar, en su labor profesional, los principios fundamentales de la teoría de NP-completitud.
Habilidades principales a dominar
- Utilizar tanto teórica como prácticamente los conceptos fundamentales de conjunto, relación, función, así como sus principales teoremas asociados.
- Analizar y desarrollar demostraciones de proposiciones y de fórmulas con la ocurrencia de cuantificadores.
- Aplicar creativamente los teoremas relacionados con el máximo común divisor y mínimo común múltiplo en la solución de problemas de teoría de números.
- Resolver problemas de la vida cotidiana que exigen el uso de ecuaciones diofantinas.
- Utilizar, adecuadamente, el repertorio de fórmulas para el cómputo de Permutaciones, Combinaciones y Variaciones, con o sin repetición, en la solución de múltiples problemas de conteo que emergen con naturalidad en la práctica.
- Resolver problemas combinatorios utilizando relaciones de recurrencia.
- Diseñar máquinas de Turing para el reconocimiento de lenguajes y el cómputo de funciones.
- Diseñar gramáticas, de tipos diferentes (regulares, libres del contexto, dependientes del contexto, de tipo 0) en la solución de problemas de teoría de lenguajes.
- Desarrollar autómatas finitos, deterministas o no, para el reconocimiento de lenguajes regulares.
- Utilizar el teorema del bombeo para la demostración definitiva de que ciertos lenguajes no son regulares.
- Aplicar creativamente los números y los teoremas de teoría de grafos que se enseñan en la solución de problemas prácticos.
- Aplicar los conceptos fundamentales de complejidad algorítmica, modelos de cómputo y cotas mínimas de problemas.
- Utilizar las técnicas de diseño adecuadas en la solución de problemas computaciones complejos.
- Aplicar los conceptos básicos de la teoría de NP-completitud.