INTRODUCCIÓN
Entre las finalidades de la enseñanza universitaria se encuentran la de formar profesionales competentes que orienten y lideren el progreso intelectual, económico, industrial y cultural de la sociedad. Esto significa ir más allá de los conocimientos de base de una materia y trabajar en el desarrollo de competencias para la vida profesional e intelectual; para la formación de personas creativas e innovadoras que la sociedad actual requiere (Corona, 2009).
Hoy las instituciones educativas enfrentan la exigencia de una formación de calidad más acorde con los progresos científicos y tecnológicos, más competitiva ante la probabilidad de modificaciones en la propia exigencia profesional y para la vida (Pérez, 2013).
La matemática en particular tiene un carácter formativo para un ingeniero puesto que sirve de instrumento para desarrollar habilidades fundamentales en su formación como son: escribir con claridad, formalizar, adquirir destrezas para enfrentar situaciones nuevas, precisión y constancia.
Según Jonassen & Kwon (2001), en la medida en que los estudiantes van resolviendo problemas en Matemática, ganan confianza en el uso de los conocimientos, conceptos, lenguajes y habilidades propios del sector curricular, aumenta su capacidad de comunicación, tiende a aumentar su perseverancia, su control sobre situaciones nuevas y en el caso de trabajar en grupo, aumenta su capacidad de trabajo en equipo y de presentar y discutir sus ideas, entre otros aspectos.
Sin embargo, la Matemática como ciencia es vista en ocasiones con un enfoque pragmático y puramente técnico, lo que en ocasiones crea un rechazo entre las personas que, por una u otra causa, deben acudir a sus herramientas. Ello provoca que con frecuencia no se utilice en situaciones donde su empleo ofrecería una solución objetiva a determinados problemas (Prado, 2016).
Al área de la matemática que estudia los objetos discretos se le llama Matemática Discreta, o sea al estudio de la matemática limitada al conjunto de los enteros. La matemática discreta surge como una disciplina que unifica diversas áreas tradicionales de la matemática (combinatoria, probabilidad, geometría de polígonos, aritmética, grafos y otros). Esta disciplina presenta un especial interés para la informática y las telecomunicaciones.
Un aspecto significativo es la incorporación de la asignatura Matemáticas Discretas en el plan de estudio D de la carrera de Ingeniería Informática en el 2007, que además de incluir los conocimientos de la Lógica Matemática y sus sistemas formales, reúne también otros aspectos que, aunque son esenciales en la carrera, hasta ese momento no se impartían o se desarrollaban de forma limitada en otras asignaturas (Autores, 2007). Esta asignatura posee también gran importancia y es de habitual aplicación en la vida del profesional graduado de dicha carrera, se vincula e interrelaciona con otras disciplinas dentro de la propia carrera, y contribuye a la formación en los estudiantes de competencias genéricas tales como: capacidad de análisis y síntesis, capacidad de planificación y programación, comunicación oral y escrita, capacidad de gestión de la información, resolución de problemas, toma de decisiones, trabajo en equipo, razonamiento crítico, aprendizaje autónomo, adaptación a nuevas situaciones y creatividad, motivación por la calidad y la mejora continua y capacidad de aplicar los conocimientos a la práctica (Machinery-ACM & Society, 2013).
Los temas fundamentales que se tratan en esta asignatura son: Lógica Matemática, Teoría combinatoria y de números, Grafos, Autómatas, Teoría de Conjuntos, Recurrencias y Diseño y análisis de algoritmos. Cada uno de estos temas posee aspectos muy relacionados con la cultura general del profesional universitario y en particular de la profesión del ingeniero informático. En el presente trabajo se presenta un grupo de contenidos relacionados con la Matemática Discreta y su vinculación con la formación profesional del ingeniero informático a través de disciplinas de la carrera y los campos de actuación del especialista en esta rama.
DESARROLLO
La sociedad de este siglo necesita profesionales confiables desde lo ético y lo humano, pero fundamentalmente que solucionen problemas. La sociedad crea, desarrolla y convive con problemas que exigen soluciones eficientes y eficaces.
Con el desarrollo de la informática en Cuba y la necesidad de informatizar la sociedad se hace cada vez más importante desarrollar en el ingeniero informático habilidades que le permitan alcanzar una formación integral, en el sentido de que sea capaz de asumir y resolver problemas cuya solución sea a través de la integración y puesta en práctica de la mayoría de las áreas del conocimiento de la Informática.
En el mundo moderno la ingeniería informática se concibe como una disciplina cada vez más dominada por las técnicas de modelado, una práctica que requiere procesos como comprender el problema, abstraer, modelar y construir, así como evaluar los diseños antes del desarrollo de un producto. Además, la mayoría de los sectores productivos exigen a los informáticos habilidades especiales para su ejercicio profesional, como pensamiento lógico, resolución de problemas y capacidad de abstracción.
El ingeniero informático es un profesional de sólida formación tecnológica que se ocupa de la captación, transmisión, almacenamiento, procesamiento, protección y presentación de la información mediante el uso eficiente de computadoras y otros medios. Además, está dotado de un conocimiento tecnológico y de organización y dirección de procesos y entidades que le permitan desempeñarse en todos los sectores de la sociedad (MES, 2007).
La informática abarca muchas áreas del conocimiento, que incluyen, desde la propia programación para computadoras, hasta otros aspectos tales como el diseño de hardware y de sistemas operativos, con especial énfasis en la estructuración de bases de datos y la validación de modelos. A partir de todo ello, se puede afirmar que la informática es una disciplina tecnológica que encuentra sus fundamentos en las matemáticas y la ingeniería (Sacristán, 2013).
Una de las más prestigiosas instituciones que define el contenido de las técnicas informáticas en el mundo en la actualidad es la Association for Computer Machinery (ACM), junto con el Institute of Electrical and Electronic Engineering (IEEE). Según los informes que presentan estas organizaciones bajo las siglas conjuntas ACM-IEEE (IEEE, 2016) las nueve áreas de la informática son: los Algoritmos y estructuras de datos, Lenguajes de programación, Arquitectura, Computación numérica y simbólica, Sistemas operativos, Metodología e ingeniería del software, Bases de datos y sistemas de información, Inteligencia artificial y robótica, Comunicación hombre-ordenador.
En este sentido tiene un aspecto significativo la incorporación de la asignatura Matemáticas Discretas en el plan de estudio D de la carrera de Ingeniería Informática en 2007, debido en gran parte a su importancia y aplicación en la vida del profesional graduado de dicha carrera. Como muestra de lo anterior, en la Tabla 1 aparecen algunas de las asignaturas básicas en la formación del Ingeniero Informático y cuáles son los contenidos que se imparten en Matemáticas Discretas (MD) que tienen implicación en la formación del conocimiento precedente para ellas.
Los ingenieros requieren una sólida formación y comprensión de la lógica y la abstracción, de forma tal que se eviten ambigüedades e interpretaciones sin fundamento de los fenómenos de la naturaleza. La ingeniería trata los procesos necesarios para construir cosas, generalmente con un propósito preconcebido, y que en la práctica el profesional debe aplicar su ingenio para lograrlo. La abstracción es un proceso mental para eliminar detalles con el objetivo de centrarse en lo realmente importante del problema para generar un modelo abstracto de la solución. Por otro lado, la lógica se enfoca en la esfera de una verdad formal a priori, abarca las matemáticas y es crucial para la ingeniería porque es la base sobre la que se apoya la construcción y explotación de los modelos abstractos o matemáticos (Serna & Polo, 2014).
La afirmación anterior tiene fundamento en las habilidades que se desarrollan en los estudiantes. De acuerdo con Andrews (2002), ser lógico presupone tener:
- Sensibilidad para el lenguaje y habilidad para utilizarlo efectivamente, porque la lógica y el lenguaje son inseparables.
- Gran respeto por el escenario mundial, porque la lógica trata de la realidad.
- Conciencia viva de cómo los hechos -las ideas- se relacionan con los objetos en el mundo, porque la lógica trata de hallar la verdad.
Al recibir los contenidos de Lógica, mediante las temáticas de equivalencia lógica, reducción mediante equivalencias de unas operaciones a otras y aplicación de las leyes fundamentales y derivadas a la simplificación de expresiones lógicas, los estudiantes desarrollan el razonamiento deductivo y lógico, y comienzan a descubrir métodos formales para la verificación de los software, al mismo tiempo que potencian sus pensamientos mediante procesos, habilidades que le garantizarán poder expresar, interpretar y demostrar diversas situaciones relacionadas con las actividades y aplicaciones a desarrollar por el ingeniero en Informática.
Para la matemática los métodos de demostración y prueba son de suma importancia y para la Informática más aún, puesto que las pruebas se utilizan para verificar que los programas producen la salida correcta para todos los posibles valores de entrada, para demostrar que los algoritmos siempre producen el resultado correcto, para velar y garantizar la seguridad de un sistema y para crear productos informáticos que puedan ser considerados como parte de las técnicas de inteligencia artificial. Por otra parte, conocer cómo demostrar un teorema a menudo hace que sea posible modificar el resultado para adaptarse a nuevas situaciones (Rosen, 2014).
Desde el punto de vista estrictamente electrónico, el soporte tecnológico principal de los ordenadores lo constituyen los circuitos de conmutación o circuitos lógicos, denominados así por emplear las formas elementales de la lógica del modelo matemático conocido como Álgebra de Boole.
Otra relación de la lógica con la informática viene dada por el hecho de que el estudio matemático de los lenguajes es uno de los pilares de la informática, ya que un lenguaje es un sistema de símbolos y de convenios que se utiliza para la comunicación, sea ésta entre personas, entre personas y máquinas, o entre máquinas. La Lógica Formal puede considerarse como un lenguaje, el mejor hecho de los lenguajes, en palabras de Ferrater Mora (Rosen, 2014).
Este tema del lenguaje formal posee una vinculación especial con la forma de expresarse por parte de las personas y con la preparación y redacción de trabajos científicos (Telot González, 2008), por lo que se hace necesario insistir en los estudiantes acerca de las definiciones matemáticas de lenguaje y gramática y sus analogías con la lengua materna, así como con el idioma inglés. Se hace énfasis en la sintaxis de una oración, así como en su semántica.
A partir de este aspecto se aborda el tema de los lenguajes comunes, que pueden ser vistos como conjuntos de cadenas. Un ejemplo es el inglés, donde la colección de palabras válidas del inglés es un conjunto de cadenas sobre el alfabeto que consiste de todas las letras, momento en el que se hace énfasis en la necesidad de escribir y hablar correctamente, ya que puede existir una falta de comprensión por el interlocutor (que incluye la posibilidad de ser una computadora) o una incorrecta interpretación de lo expresado.
Además de la obvia contribución de la Lógica matemática al desarrollo del pensamiento lógico del estudiante (Johnsonbaugh, 2014), se hace referencia a vínculos de personalidades dentro del campo de la ciencia, como el propio George Boole, creador del álgebra booleana, cuya hija, Ethel Lyliam Voynich, fue autora de El Tábano (Voynich, 2012), un libro que se le recomienda a los estudiantes para contribuir de esta manera a su cultura general y formación integral.
En el caso de la teoría combinatoria, los estudiantes aprenden a organizar formas exactas de conteo que los llevan a dar soluciones menos complejas y que requieran de un menor número de recursos a problemas de cualquier índole en el sector de la economía donde se desarrollen profesionalmente.
Las técnicas de conteo son importantes en las ciencias de la computación particularmente en el análisis de algoritmos y programas de computadora, por ejemplo, para estimar el tiempo de corrida de un algoritmo, es necesario contar el número de veces que se ejecutan ciertos pasos o ciclos (Kolman, Busby, & Ross, 2013).
Al enfrentarse a la solución de un problema, el ingeniero informático ejecuta una serie de acciones para experimentar el modelado y reevaluar los resultados para mejorar sus conclusiones, lo que permite que sea capaz de juzgar la posibilidad o probabilidad de ocurrencia. Para lograrlo necesita utilizar las técnicas de la teoría de decisiones y combinar sus juicios de probabilidad y utilidad para elegir el curso de acción que le ofrezca la mayor posibilidad de éxito.
Por otro lado, con la asimilación de los conceptos de la teoría de grafos y árboles, los estudiantes desarrollan las habilidades necesarias para modelar las estructuras y procesos para dar la solución computacional a problemas, y estas habilidades les son de gran utilidad para el diseño, análisis y representación de los algoritmos que deberán implementar en la automatización de los procesos.
Los grafos tienen aplicación o se utilizan para construir modelos de redes de ordenadores y determinar si dos ordenadores están conectados en una red, para determinar si un circuito puede ser implementado sobre un tablero plano, para distinguir compuestos químicos con la misma fórmula molecular, para encontrar el camino más corto entre dos ciudades en una red de transporte (Bogart, Drysdale, & Stein, 2013).
La teoría de grafos, en resumen, permite que complejos problemas se simplifiquen en gráficos que constan de nodos y aristas. Un matemático o informático puede analizar estos gráficos de acuerdo con los métodos de la teoría de grafos y así determinar sus soluciones.
Importantes estructuras discretas son desarrolladas usando conjuntos, entre ellas están las combinaciones, donde colecciones de objetos desordenados son usados frecuentemente para contar. Para representar conjuntos de pares ordenados se usan las relaciones entre objetos, los grafos son un conjunto de vértices y aristas que conectan estos vértices (Rosen, 2014) y forman estructuras de datos muy útiles para el ingeniero informático.
Cuando los estudiantes asimilan adecuadamente el contenido relacionado con las operaciones entre conjuntos tienden a adquirir la capacidad para delimitar y organizar adecuadamente las relaciones entre clases u objetos de una aplicación informática, así como también les permite aplicar estos conocimientos para interactuar mediante consultas bien formadas con bases de datos, con lo que se puede lograr que el software que desarrollan alcance altos niveles de complejidad y calidad.
El análisis de la complejidad de los algoritmos fomenta en los estudiantes la optimización de pasos y esfuerzo para automatizar algún proceso. Las consideraciones sobre el tiempo y la complejidad del espacio que usa en memoria un algoritmo son esenciales cuando estos se implementan. Es por ello que, aunque la gran velocidad de los recursos informáticos contemporáneos a veces parece indicar que los procesos se desarrollan muy rápidamente, es importante conocer cuando un algoritmo producirá una respuesta en un microsegundo, un minuto o un millón de años. De igual manera la memoria requerida debe estar disponible para resolver un problema, por lo que la complejidad del espacio también debe ser tomado en cuenta (Rosen, 2014).
El tema relacionado con los automátas es de suma importancia en la formación del ingeniero informático debido a las aplicaciones de modelos matemáticos que son representados con estas herramientas. Un autómata es un dispositivo abstracto que es capaz de recibir información, cambiar de estado y transmitir información. Estos modelos son útiles para muchos elementos de hardware y software como, por ejemplo, software para diseñar y chequear la conducta de circuitos digitales, el analizador léxico de un compilador, software para escanear grandes volúmenes de texto para encontrar patrones, en redes neuronales, reconocimiento y procesado de lenguajes de programación, traducción de lenguajes y teoría de lenguajes formales, software para verificar sistemas que tengan un número finito de estados, tales como protocolos de comunicación o de intercambio seguro de información (Rojas & Matas, 2016).
En los últimos temas de la asignatura Matemáticas Discretas en la Universidad de Matanzas se abordan las ecuaciones recurrentes. Cuando se define un conjunto recursivamente, se especifican algunos elementos iniciales en un paso base y se suministra una regla para construir nuevos elementos a partir del paso recursivo que ya ha sido creado (Salcedo & Nieto, 2015).
Las relaciones recurrentes aparecen de forma natural en muchos problemas de conteo y en el análisis de problemas de la programación. La recursividad es un fenómeno que se presenta en muchos problemas, delegando la solución de un problema en la solución de otro más pequeño (Grimaldi, 2006).
En la Inteligencia Artificial, las estructuras de control (recursividad, unificación, reevaluación, predicados de control) utilizan los algoritmos recursivos para completar sus funciones.
Con todos estos elementos componentes de la matemática discreta, que pueden modificarse según el desarrollo de la ciencia y las necesidades del trabajo científico en el nivel de pregrado, se hace necesario sistemáticamente diseñar y desarrollar sistemáticamente acciones metodológicas que conduzcan al mejor aprovechamiento de los recursos y a un empleo más efectivo de la ciencia en las tareas prácticas que se llevan a cabo (Estopiñán Lantigua, 2017).
CONCLUSIONES
La matemática discreta es la base fundamental de la computación ya que se encarga de estudiar conjuntos finitos o infinitos numerables y explicar fenómenos discretos y/o procesos finitos involucrados con los mismos. Se ha demostrado la utilización de los conceptos y métodos empleados en esta área del conocimiento y su utilización para crear sistemas de software enfocados a resolver problemas de la vida real. Por tal motivo, el carácter formativo de esta asignatura se debe no sólo a los conceptos que tiene la matemática discreta en general, sino a que el lenguaje y las herramientas que se utilizan en esta área son los habituales en gran parte de las materias de la Ingeniería de Software, tales como programación, algoritmos, teoría de la computación (lenguajes formales y autómatas), bases de datos, métodos formales de verificación de software, inteligencia artificial, arquitectura de las computadoras, entre otras; pero primordialmente en el desarrollo mismo de los profesionales de la ingeniería informática.
REFERENCIAS BIBLIOGRÁFICAS
Andrews, P. B. (2002). An introduction to mathematical logic and type theory (Vol. 27): Springer Science & Business Media.
Bogart, K., Drysdale, S., & Stein, C. (2013). Discrete Math for Computer Science Students: Key College Publishing, CA, USA.
Corona, L. (2009). Aspectos didácticos acerca de las habilidades como contenido de aprendizaje: Una necesidad impostergable. Medisur, 7(3), 38-43.
Estopiñán Lantigua, M. (2017). Sistema de acciones para contribuir a la formación del Ingeniero Informático a partir de las relaciones interdisciplinarias de Matemáticas Discretas con otras asignaturas bases. (Maestría en Matemática Educativa Maestría), Universidad de Matanzas, Matanzas, Cuba. Recuperado de: http://cict.umcc.cu/repositorio/tesis/Tesis%20de%20Maestr%C3%ADa/Matem%C3%A1tica%20Educativa/2017/Sistema%20de%20acciones%20para%20contribuir%20%20formaci%C3%B3n%20del%20IngenieroInform%C3%A1tico(Maylin)%20.pdf
Grimaldi, R. P. (2006). Discrete and Combinatorial Mathematics, 5/e. India: Pearson Education
Johnsonbaugh, R. (2014). Matemáticas Discretas (7 ed. Vol. 1). La Habana, Cuba: Félix Varela.
Jonassen, D. H., & Kwon, H. (2001). Communication patterns in computer mediated versus face-to-face group problem solving. Educational technology research and development, 49(1), 35-51.
IEEE. (2016). Sitio Oficial de la IEEE. Recuperado15-abril-2017, 2017, de: http://ieeexplore.ieee.org
Kolman, B., Busby, R. C., & Ross, S. (2013). Estructuras de matemáticas discretas para la computación: Pearson Educación.
Machinery-ACM, A. f. C., & Society, I. C. (2013). Computer Science Curricula 2013 (pp. 514): ACM-IEEE.
MES. (2007). Plan de estudio D de la carrera Ingenieria Informatica. Ministerio de Educación Superior.
Pérez, T. (2013). Estrategia metodológica para el vínculo interdisciplinario entre la asignatura Econometría y la Práctica Profesional del Contador II. (Master en Matemática Educativa Master), Universidad de Matanzas, Matanzas.
Prado, N. (2016). La matemática: ¿Enseñar para que la aprueben o para que la aprendan y apliquen? Recuperado de : http://www.cubadebate.cu/opinion/2016/08/26/la-matematica-ensenar-para-que-la-aprueben
Rojas, A. C., & Matas, A. R. (2016). Autómatas celulares y aplicaciones. UNIÓN, Revista Iberoamericana de Educación Matemática(46), 33-48.
Rosen, K. H. (2014). Discrete mathematics and its applications. AMC, 10, 12.
Sacristán, V. (2013). Informatizar las matemáticas, matematizar la informática (una propuesta docente). Recuperado23-2-2017, 2017, de dccg.upc.edu/people/vera/wp-content/uploads/2013/03/rep.pdf
Salcedo, L. E. M., & Nieto, L. D. A. (2015). Técnica para solución de recurrencias, usada en el análisis de la complejidad de algoritmos recursivos. Tecnura, 19, 89.
Serna, M., & Polo, J. (2014). Logic and abstraction in engineering education: A necessary relationship. Revista Ingeniería Investigación y Tecnología XV (2), 299-310.
Telot González, J. A. (2008). Propuesta e implementación de un curso para estudiantes de informática con vista a la presentación de trabajos científicos. Monografías UMCC.
Voynich, E. L. (2012). El Tábano (M. H. Barroso, Trans. A. S. Ávila Ed. Especial ed.). México: