¿Por qué las matemáticas en CS?

Lo primero es lo primero, CS significa Computer Science y en “computer” hay “compute”, que significa calcular.

¿Ahora me dices que puede existir el cálculo sin las matemáticas?

En segundo lugar, para responder a su pregunta de manera más profesional (ver dos puntos a continuación):

Las matemáticas son una parte importante de la informática. Pero, ¿qué matemática es más importante? A continuación se describe una descripción general de los temas matemáticos útiles en CS.

Matemáticas discretas

———————

Esta es una rama de las matemáticas que se ocupa principalmente de los usos de conjuntos y enteros, los cuales son “discretos”, separan los objetos unos de otros. La frase fue acuñada en la década de 1980 como un tema general para los temas de matemáticas que fueron útiles para los estudiantes de informática, y se ha convertido en un estudio sobre cómo pensar en la resolución de problemas en el mundo real utilizando modelos matemáticos (y por lo tanto computacionales).

Los temas matemáticos discretos a menudo están más relacionados con el razonamiento que con los números: muchas clases comienzan con enunciados lógicos, pruebas matemáticas e inducción, la capacidad importante de probar algo verdadero para cantidades infinitas de datos utilizando dos pasos finitos. Al diseñar programas que se ejecutarán en millones de máquinas en todo el mundo, esto le ayudará a sentirse seguro de que los algoritmos y la lógica que diseñó funcionarán correctamente, sin importar el entorno en el que se ejecuten.

Las matemáticas discretas ciertamente también tienen sus temas numéricos. El estudio de las sumas y sus formas algorítmicas cerradas lo ayudará con la optimización algorítmica mediante el uso de la notación big-O, y trabajar con matrices y vectores le dará una introducción a la lógica necesaria para trabajar con grandes conjuntos de datos ordenados en sus programas.

Cuando compañías como Google y Yahoo desarrollaron por primera vez sus algoritmos de Internet, recurrieron a la teoría de gráficos, otro componente importante de las matemáticas discretas. Los gráficos se pueden usar para modelar relaciones entre objetos y conjuntos de objetos. También se utilizan para modelar prácticamente cualquier problema algorítmico, y una vez que haya definido el problema como un gráfico, puede resolverlo mediante operaciones de gráficos como el recorrido o comprobando la conectividad y la circularidad.

Matemáticas discretas es un término amplio, pero se definió como una forma de agrupar los temas más importantes en matemáticas necesarios para la informática. Mientras más exposición tenga un estudiante a estos temas, mejor podrá manejar los desafíos de la ingeniería de software.

Si ha tomado una clase de cálculo, o tal vez incluso una clase de álgebra avanzada, puede haber estado expuesto a algunos temas de matemáticas discretos.

Probabilidad

—————

La probabilidad es un estudio de las probabilidades de que ocurra un evento en particular. Esta área de matemáticas a menudo se agrupa bajo el título de matemáticas discretas, pero también tiene una fuerte presencia fuera del mundo de las computadoras. La probabilidad juega un papel importante en determinar cómo predecir la forma en que actuará un programa de computadora.

Considere un algoritmo que ordena los números en orden descendente. La predicción de qué tan rápido se ejecutará este algoritmo depende de múltiples factores, y la forma en que está diseñado el algoritmo podría dar como resultado diferentes velocidades considerando los escenarios de mejor conjunto, peor caso o promedio de un conjunto de datos. La probabilidad lo ayudará a determinar las probabilidades de que los datos que ingresan al algoritmo estén en el mejor o peor caso, y lo guiará a su mejor solución.

Un buen ingeniero de software cuestiona todo cuando se trata de su diseño, y la teoría de la probabilidad es una herramienta excelente para ayudar a hacer esas preguntas. La probabilidad está cubierta en las clases de estadísticas de la escuela secundaria y hay muchos libros y sitios web que la exploran, a menudo utilizando tiradas de dados y barajas de cartas como ejemplos.

Álgebra Booleana y Binaria

—————————————-

El estado de una computadora, en su nivel más bajo, es una masa de lo que llamamos 1 y 0, y, sin embargo, las computadoras pueden hacer mucho por nosotros en nuestra vida diaria. ¿Cómo se acumulan los 1 y los 0 en sitios web, procesadores de texto y videojuegos? Una computadora combina y compara estos números mediante el uso de álgebra booleana, un tema que también puede ayudar a un ingeniero a construir una lógica efectiva en sus propios algoritmos.

Hay mucho valor en estudiar la interacción de los números binarios en la computadora. ¿Qué debe hacer una computadora si el resultado de la suma o la multiplicación no cabe en un valor de espacio limitado (a menudo de 32 bits)? ¿Sabía que el número 0.1 es un número decimal infinito cuando se utiliza un sistema de números binarios, al igual que 1/3 es infinito en nuestro sistema base 10 cotidiano? ¿Qué significa eso para un programador? Comprender cómo la precisión limitada de la computadora puede modelar la precisión infinita del mundo real le dará una ventaja importante en el mundo profesional.

Este tema se aborda a menudo en las primeras clases de ciencias de la computación, aunque un libro básico sobre sistemas informáticos o álgebra booleana también servirá como un gran recurso.

Recurrencias

——————

Un programa de computadora a menudo ve que una parte central de su código (aproximadamente el 20%) se ejecuta la mayor parte del tiempo (el otro 80%). Esta regla 80-20, como se la conoce a menudo, llevará a que ciertas funciones se llamen con frecuencia. Es posible que un ingeniero de software use una función para obtener un resultado y luego vuelva a pasar ese resultado directamente a la función. ¡Incluso pueden ver que una función se llama a sí misma! Este concepto se conoce como recursión, y su representación matemática se llama recurrencia.

El ejemplo más común de recurrencia es el problema de la Torre de Hanoi, donde el usuario debe mover una pila de discos de una publicación a otra (¡pruébelo en línea!). El número de pasos necesarios para mover una cantidad particular de discos se puede encontrar directamente aplicando un poco de álgebra simple a la respuesta por uno menos que esta cantidad de discos. En la computadora, puede resolver esto haciendo que la computadora llame a la misma función una y otra vez, hasta que llegue a un caso base que devuelva una solución simple, y luego agregaría desde allí.

La recursión es uno de los primeros problemas “difíciles” con los que se encontrará un estudiante de ciencias de la computación, pero comprender cómo funcionan las recurrencias matemáticas lo ayudará a comprender este tema vital y, en última instancia, será crucial para comprender el flujo de un programa. Un libro de matemáticas discreto puede brindarle ejercicios sobre cómo trabajar con sumas y recurrencias, aunque la recursión en sí misma se enseña mejor a través de ejercicios de programación, como en nuestra sesión de verano.

—————————————————————————————————————

Sí, no hay necesidad de matemática avanzada, si está programando comerciales, software estándar.

Sin embargo, cuando se trata de cosas difíciles como:

  • Cálculo de trayectorias para controlar un robot.
  • Crear aplicaciones similares a la IA para soportar la incertidumbre y el razonamiento automático
  • Jugando con movimiento 3D y gráficos

Algunos conocimientos avanzados de matemáticas pueden ser útiles. Y no es que sean problemas “fuera de este mundo”.

Tuve que crear un software para tratar de “predecir” la cantidad de papel necesaria para una oficina (y fue un infierno encontrar la mejor manera de aproximar los valores).

Sin embargo, debe tener cuidado, porque es fácil perderse cuando se usan cosas avanzadas: hay un amigo mío que recurrió a Turing para almacenar el estado de un menú dinámico solo para mostrarlo correctamente, humm … tal vez se fue demasiado lejos en su imaginación.

UPVOTE SI ENCUENTRA ESTE ÚTIL.

Como sugiere el nombre de informática, CS es la ciencia de la informática. Por lo tanto, normalmente se encuentra en la cima de las matemáticas.