¿Qué temas de informática utilizan el cálculo? ¿Cuáles son algunos otros subcampos utilizados en informática?

Robótica Por un lado, la robótica tiene la noción de un jacobiano que está asociado con el movimiento lineal y angular de un mecanismo, y que también se utiliza para definir la relación entre las fuerzas aplicadas en un mecanismo y los pares necesarios para soportar estas fuerzas. El estudio de la dinámica, utilizado para desarrollar estructuras de control para la estabilidad y el rendimiento del robot, también utiliza el cálculo.

Aprendizaje automático. El término “aprendizaje automático” se usa de manera muy amplia (y a menudo incluye subcampos como la visión por computadora), pero en general, ML generalmente implica resolver ciertas condiciones de optimización o iterar hacia una solución con técnicas como el descenso de gradiente o la maximización de expectativas. Todo esto implica cálculo.

Análisis de red. Es probable que cualquier análisis relacionado con la dinámica de una red implique cálculos. Por ejemplo, para comprender el resultado de un modelo de creación de bordes como el apego preferencial, que dice que los nodos se conectan a otros nodos con probabilidad proporcional a sus grados existentes, requiere integración con el tiempo.

El cálculo aparece bastante en un montón de lugares “obvios”, la mayoría de los cuales se ocupan de temas como física (robótica, visión por computadora) o estadísticas (aprendizaje automático, IA) que naturalmente presentan muchos de ellos.

Sin embargo, hay algunos lugares más interesantes para usarlo. Matthew Mirman ya notó mi favorita, que aplica la idea básica de diferenciación y series de Taylor a tipos en lugar de números. Dado que los tipos solo funcionan vagamente como números, hay análogos razonables para 0, 1, + y × pero no realmente – o / (whoo semirings), esto es bastante sorprendente. Y, sin embargo, también es muy útil para generalizar las cremalleras a otros tipos que no sean listas.

Entonces, en cambio, solo voy a citar una de mis anécdotas favoritas sobre Richard Feynman. La idea central es que podemos usar cálculo y funciones continuas para analizar y aproximar sistemas discretos . Se siente un poco al revés, ¿no es cierto, proviene de una clase de cálculo normal? Pero a menudo, es mucho más fácil resolver un problema que involucra valores continuos y usarlo como un límite superior o inferior de lo que es resolver un problema discreto exactamente.

De todos modos, aquí hay un extracto de la historia contada por Daniel Hillis (Richard Feynman y The Connection Machine):

A fines de ese verano de 1983, Richard había completado su análisis del comportamiento del enrutador y, para nuestra sorpresa y diversión, presentó su respuesta en forma de un conjunto de ecuaciones diferenciales parciales. Para un físico, esto puede parecer natural, pero para un diseñador de computadoras, tratar un conjunto de circuitos booleanos como un sistema continuo y diferenciable es un poco extraño. Las ecuaciones de enrutador de Feynman se expresaron en términos de variables que representan cantidades continuas como “el número promedio de 1 bits en una dirección de mensaje”. Estaba mucho más acostumbrado a ver el análisis en términos de pruebas inductivas y análisis de casos que tomar la derivada de “el número de 1” con respecto al tiempo. Nuestro análisis discreto dijo que necesitábamos siete memorias intermedias por chip; Las ecuaciones de Feynman sugirieron que solo necesitábamos cinco. Decidimos ir a lo seguro e ignorar a Feynman.

La decisión de ignorar el análisis de Feynman se tomó en septiembre, pero para la próxima primavera estábamos frente a una pared. Los chips que habíamos diseñado eran demasiado grandes para fabricarlos y la única forma de resolver el problema era reducir el número de memorias intermedias por chip a cinco. Como las ecuaciones de Feynman afirmaban que podíamos hacer esto de manera segura, sus métodos de análisis no convencionales comenzaron a verse cada vez mejor para nosotros. Decidimos seguir adelante y hacer las fichas con el menor número de buffers.

Afortunadamente, tenía razón. Cuando juntamos las fichas, la máquina funcionaba. El primer programa que se ejecutó en la máquina en abril de 1985 fue el juego de la vida de Conway.

Siempre pensé que esta era una excelente manera de ilustrar cómo diferentes partes de las matemáticas pueden trabajar juntas de manera sorprendente. Esta es la verdadera belleza de las matemáticas y la CS: las cosas simplemente encajan, incluso si fueron derivadas de maneras completamente diferentes por personas con filosofías muy diferentes que intentan hacer cosas completamente diferentes. Descubrir una conexión inesperada como esta es la magia definitiva que he encontrado jugando con las matemáticas y la informática.

Puede usar el cálculo en la programación funcional para calcular “cremalleras” para estructuras de datos puros, es decir, puede crear una estructura de datos que le permita ver otra estructura de datos tomando la derivada de un tipo: http://strictlypositive.org/ diff …

¡Incluso puedes hacer esto con registros, exponentes y fracciones! ¿Cuál es el logaritmo o la operación raíz en type-space?

More Interesting

¿Qué habilidades matemáticas son necesarias para la programación de computadoras?

¿Cuál es la importancia de estudiar matemáticas discretas como informático?

¿Se puede producir música usando las matemáticas? En caso afirmativo, ¿cómo?

Estoy en mi último año como estudiante de ciencias de la computación y me encanta resolver problemas. Siempre trato de resolver los problemas, pero no logro crear soluciones rápidamente. Quiero mejorar para construir una lógica clara. ¿Dónde me estoy equivocando o qué debo hacer?

¿Qué tan probable es que las computadoras alienígenas se basen en algo equivalente a un UTM?

Cómo encontrar el número total de palíndromos diferentes de longitud k en una cadena dada usando una matriz de sufijos

Intuitivamente, ¿qué es una función computable?

¿Por qué el problema indecidible en las máquinas de Turing es interesante desde un sentido práctico?

¿Cuál es una explicación para esta ecuación de números de punto fijo con signo?

Me siento cómodo resolviendo problemas matemáticos. Sin embargo, cuando tengo que programar y derivar la respuesta para esos problemas, tengo dificultades para traducir mis pasos matemáticos en código. ¿Qué me recomiendan hacer para superar este problema?

¿Crees que una sólida formación en Matemáticas hará que un programador se destaque del resto? ¿Por qué o por qué no?

¿Cómo juegan las matemáticas un papel importante en la programación?

¿Existe algún software GRATUITO que pueda aumentar mi calidad o aptitud de inteligencia?

¿Cuál es la relevancia de la computación cuántica para el problema NP = P?

Cómo aprender la optimización matemática para el aprendizaje automático y el aprendizaje profundo